Skip to content

Verkaufschancen (CRM10) ​

Transaktion: CRM10 Verkaufschancen
UI-Pfad: /crmOpportunity

Business-Zweck ​

Verkaufschancen (CrmOpportunity) modellieren die Vertriebspipeline: erwarteter Umsatz, Eintrittswahrscheinlichkeit, Status, Gültigkeit und Positionen mit Materialbezug. Partner nutzen CRM10 für CRM-Pipeline-Sync und als Sprungbrett zu SAL-Angeboten und -Aufträgen.

Die Forecast-Berechnung erfolgt automatisch: customerBudget × probability / 100.

Kernbegriffe ​

BegriffBedeutung
CrmOpportunityVerkaufschance mit Name, Nummer, Kunde, Status
opportunityNoNummer aus Nummernkreis (automatisch wenn leer)
customerBudgetErwarteter Umsatz
probabilityWahrscheinlichkeit 0–100 %
statusOpportunityStatus (Pipeline-Phase)
companySourceHerkunft/Quelle der Chance
itemsPositionen (CrmOpportunityItem) mit Material, Menge, Preis
forecastBerechneter Erwartungswert
salesPersonVertriebsmitarbeiter (auto aus PLZ/Land wenn nicht gesetzt)
attributeCode / attributeSettingsFlexible Zusatzattribute (wie am Artikel)
contactPersonsVerknüpfte Ansprechpartner

Fachlicher Ablauf / Workflow ​

Verkaufschance anlegen ​

  1. Kunde zuordnen (qualifizierter Kontakt aus CRM02)
  2. Name, Budget, Wahrscheinlichkeit, Status setzen
  3. Positionen mit Material, Menge, optional Preis hinzufügen
  4. Speichern: POST /api/crmOpportunity/ – vergibt opportunityNo aus CRM-Nummernkreis
  5. CRM-Aktionen an der Chance dokumentieren

Pipeline pflegen ​

  • Statuswechsel (z. B. Qualifizierung → Verhandlung → Gewonnen/Verloren)
  • validFrom / validUntil für Gültigkeitszeitraum
  • Ansprechpartner verknüpfen: linkToContactPerson / unlinkToContactPerson

Angebot aus Chance erzeugen (SAL15) ​

  1. Chance muss Kunde und mindestens eine Position haben
  2. POST /api/crmOpportunity/createSalesHead
  3. System erstellt SalesHead als Angebot (erster aktiver SalesDocType mit isOffer = true)
  4. Positionen werden als SalesItem übernommen – Preis aus Chance oder Preisfindung
  5. Verknüpfung: SalesHead.crmOpportunity, SalesItem.crmOpportunityItem

Bestehendes Angebot verknüpfen ​

Alternativ ohne Neuanlage:

  • POST /api/crmOpportunity/addOpportunityToSalesHead
  • POST /api/crmOpportunity/removeOpportunityFromSalesHead
  • POST /api/crmOpportunity/addOpportunityToAllSalesHead – für offene Belege eines Kunden

CSV-Import ​

Massenimport über POST /api/crmOpportunity/importCSV mit dynamischem Spalten-Matching (getImportMatchingForDynamicCSV).

Partner-Szenarien ​

Pipeline aus externem CRM ​

POST /api/crmOpportunity/
json
{
  "name": "Projekt Alpha 2026",
  "customer": { "id": 9876543210987654 },
  "customerBudget": 50000,
  "probability": 60,
  "status": { "id": 1 },
  "validUntil": "2026-12-31",
  "items": [
    {
      "material": { "id": 5555666677778888 },
      "quantity": 10,
      "price": 1200.00,
      "description": "Lizenzpaket Premium"
    }
  ]
}

Angebot generieren und in SAL weiterverarbeiten ​

POST /api/crmOpportunity/createSalesHead
{ "crmOpportunityId": 1111222233334444 }

Response mit id, docNumber, docType – danach normaler SAL-Flow (Angebote, Aufträge).

Pipeline-Abgleich (Read) ​

GET /api/crmOpportunity/

Filter auf Status, Kunde, Attribute, Erstellungsdatum. Detail:

GET /api/crmOpportunity/{id}

Voraussetzungen ​

  • Kunde (CRM02) muss existieren; für Auftragserstellung als Debitor
  • CRM-Opportunity-Nummernkreis in Mandantenkonfiguration (configuration.crmOpportunityNumberRange)
  • Materialien (BAS02) für Positionen
  • Aktiver Angebots-Belegtyp (SalesDocType.isOffer) für createSalesHead
  • Partner-User mit Recht CRM10; für Angebotserstellung zusätzlich SAL-Rechte

Auswirkungen im ERP ​

AktionAuswirkung
Neue ChancePipeline-Eintrag, Forecast in Auswertungen
createSalesHeadNeues SAL-Angebot mit Positionen und Preisen
Status „Gewonnen“ + AuftragÜbergang Order-to-Cash über SAL
LöschenSoft-Delete (isDelete); Positionen mitgelöscht
revertRücknahme letzter Änderung (API)
CSV-ImportMassenanlage/Update je nach Mapping

Typische Fehlerquellen ​

  • Kein Nummernkreis – object.not.set für CRM Opportunity Number Range
  • createSalesHead ohne Positionen – crmOpportunity.createSalesHead.noItems
  • Kein Angebots-Belegtyp – edi.salesDocType.not.found.error
  • Material/Variante nicht gefunden – Position mit ungültigem matCode oder variantCode
  • Interessent statt Kunde – Kunde fehlt oder ist nicht konvertiert → customer.not.found.error
  • Hardcodierte Status-IDs – OpportunityStatus mandantenspezifisch
  • Preis 0 – ohne price in Position wird VK-Preisfindung genutzt; kann von Chance abweichen

Weiterlesen ​

Nur für reybex-Partner. Nicht für Endkunden bestimmt.