Skip to content

Auftrag → Rechnung ​

Transaktionen: SAL16 Aufträge, SAL17 Lieferscheine, SAL18 Rechnungen
Zentraler Endpoint: POST /api/salesHead/referencingDocuments

Business-Zweck ​

Partner müssen zwischen drei Rechnungswegen wählen – abhängig von Geschäftsmodell und DocType-Konfiguration:

PfadBeschreibungTypisch für
A – DirektAuftrag → RechnungB2C, Dienstleistung, sofortige Faktura
B – über LSAuftrag → Lieferschein → RechnungB2B, Warenwirtschaft
C – SammelMehrere LS → eine RechnungRechnungslauf, Großhandel

Master-Doku: Order-to-Cash

Kernbegriffe ​

BegriffBedeutung
referencingDocumentsUniverselle Folgedokument-API
docType1 / docType2Ziel-DocTypes (max. 2 pro Call)
isDocument1Createdtrue = neu erzeugen
salesItemsToCopyTeilmengen / Teillieferung
closeRefDocAsManuelQuellbeleg schließen
createInvoicesFromDelNotesAlternative für Pfad C

Fachlicher Ablauf – Multi-Path ​

Partner-Szenarien ​

Pfad A – Direkt Auftrag → Rechnung ​

Schritt 1 – Order-ID ermitteln:

bash
curl -G "$BASE_URL/api/salesHead/salesOrders" \
  -H "Authorization: Bearer $TOKEN" \
  --data-urlencode "filter=docNumber~eq~AU-2026-00456"

Schritt 2 – Rechnung erzeugen:

json
POST /api/salesHead/referencingDocuments
{
  "salesHeadIds": [1234567890123456],
  "docType1": { "id": 300003 },
  "isDocument1Created": true,
  "isDocument2Created": false,
  "closeRefDocAsManuel": false
}

Response:

json
{
  "document1Ids": [2222333344445555],
  "document2Ids": [],
  "blockedSalesHeads": [],
  "documentsWithErrors1": [],
  "allDocuments": [
    { "id": 2222333344445555, "docNumber": "RE-2026-00123" }
  ]
}

Pfad B – Zwei-Schritt Order → DN → Invoice ​

Schritt 1 – Lieferschein:

json
POST /api/salesHead/referencingDocuments
{
  "salesHeadIds": [1234567890123456],
  "docType1": { "id": 300002 },
  "isDocument1Created": true,
  "isDocument2Created": false
}

→ document1Ids[0] = Lieferschein-ID 1111222233334444

Schritt 2 – Rechnung aus Lieferschein:

json
POST /api/salesHead/referencingDocuments
{
  "salesHeadIds": [1111222233334444],
  "docType1": { "id": 300003 },
  "isDocument1Created": true,
  "isDocument2Created": false
}

Pfad B – Teillieferung + Teilsrechnung ​

json
{
  "salesHeadIds": [1234567890123456],
  "docType1": { "id": 300002 },
  "isDocument1Created": true,
  "isDocument2Created": false,
  "salesItemsToCopy": [
    { "salesItemId": 9876543210, "quantity": 1 }
  ]
}

Danach Rechnung nur über erzeugten LS (nur gelieferte Positionen).

Pfad C – Sammelrechnung ​

bash
curl -G "$BASE_URL/api/salesHead/createInvoicesFromDelNotes" \
  -H "Authorization: Bearer $TOKEN" \
  --data-urlencode "salesHeadIds=1111222233334444,1111222233334445,1111222233334446"

Connector – alles in einem Schritt ​

json
POST /api/salesHead/connector
{
  "salesHeads": [{
    "id": 1234567890123456,
    "referencingDocuments": {
      "deliveryNoteDocTypeName": "Lieferschein Standard",
      "invoiceDocTypeName": "Rechnung Standard",
      "sendPackDocTypeName": "Lieferschein Standard",
      "trackingNumber": "00340434161234567890",
      "carrierName": "DHL Paket"
    }
  }]
}

Voraussetzungen ​

  • SalesHeadDocRules für gewählten Pfad
  • DocType-IDs aus Onboarding (nicht raten)
  • Auftrag nicht gesperrt (blockedDelivery=false)
  • Positionen mit offener Menge / Fakturastatus

Auswirkungen im ERP ​

PfadINVForderungPosition-Status
A direktAbgang bei LS-Regel ggf. übersprungensofortinvoiceStatus
B über LSAbgang bei LSbei REdelivery + invoice
C Sammelwie Beine RE für n LSaggregiert

Typische Fehlerquellen ​

FehlerResponse-Feld / Verhalten
LiefersperreblockedSalesHeads
DocRule fehltdocumentsWithErrors1[].message
Falsche IDBusinessException
Teilmengequantity > openQuantity

Fehlerbehandlung – Beispiel ​

json
{
  "document1Ids": [],
  "blockedSalesHeads": [
    { "id": 1234567890123456, "docNumber": "AU-2026-00456" }
  ],
  "documentsWithErrors1": [
    {
      "id": 1234567890123457,
      "docNumber": "AU-2026-00457",
      "message": "salesHeadDocRule.not.found"
    }
  ]
}

Partner-Logik: blockedSalesHeads → Sperre aufheben; documentsWithErrors1 → DocRule/Konfiguration prüfen.

Weiterlesen ​

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