Datenspezifikation
Felddefinitionen, Pflichtfelder, Formate und Clearing-Logik im Detail.
Überblick
Bilendo verarbeitet vier Datentypen. Die Feldnamen in Bilendo sind dynamisch konfigurierbar – es müssen keine Bilendo-spezifischen Spaltennamen berücksichtigt werden. Das Mapping wird im Onboarding festgelegt.
Diese Spezifikation gilt systemunabhängig (SAP, MS Dynamics, Oracle, Diamant, FibuNet etc.). SAP-spezifische Hinweise sind entsprechend markiert.
important: Feldspezifikation finalisieren Die in diesem Dokument aufgeführten Felder sind ein Ausgangspunkt. Die finale Feldspezifikation – welche Felder tatsächlich extrahiert, gemappt und in Bilendo verarbeitet werden – wird gemeinsam mit den Bilendo Integration Architects erarbeitet. Erst nach dieser Abstimmung sollte das SAP-seitige Customizing (Strukturerweiterungen, Feldbefüllung, Extractor-Anpassungen) erfolgen. Bilendo unterstützt bei der Analyse, dem Mapping und der Validierung der Daten.
1. Stammdaten (Masterdata)
Stammdaten bilden die Hülle für alle Bewegungsdaten. Jeder Buchungskreis-Debitor-Kombination muss ein eigener Datensatz entsprechen.
Aggregationsregel
Buchungskreisabhängige Felder (z. B. Zahlungsbedingung) erfordern je Buchungskreis eine eigene Zeile. Buchungskreisunabhängige Felder (z. B. Adresse) werden redundant in jede Zeile übernommen.
| KUNNR | BUKRS | ZTERM | NAME1 | ORT01 |
|---|---|---|---|---|
| 12345 | 001 | 14T | Beispiel GmbH | München |
| 12345 | 002 | 30T | Beispiel GmbH | München |
Feldtabelle Stammdaten
| Feld | Beschreibung | Pflicht | Format | Beispiel |
|---|---|---|---|---|
| KUNNR | Debitorennr. / Business Partner | Pflicht | string | 10000001 |
| BUKRS | Buchungskreis | empfohlen | string | 1001 |
| ANRED | Anrede | – | string | Herr |
| PSTLZ | Postleitzahl | – | int | 80331 |
| ORT01 | Ort | – | string | Munich |
| LAND1 | Länderkennzeichen (ISO 3166) | – | string | DE |
| STRAS | Straße + Hausnummer | – | string | Fürstenfelder Str. 9 |
| NAME1 | Name 1 (Firma) | – | string | Bilendo GmbH |
| NAME2 | Name 2 (Ansprechpartner) | – | string | John Doe |
| NAME3 | Name 3 | – | string | C/O Bilendo |
| NAME4 | Name 4 | – | string | – |
| TELF1 | Telefon 1 | – | string | +49 89 244 13 210-0 |
| TELF2 | Telefon 2 | – | string | – |
| STCEG | USt-IdNr. | – | string | DE123456789 |
| ZWELS | Zahlungswege | – | string | Z01 |
| INTAD | E-Mail Sachbearbeiter | – | string | kontakt@example.com |
| VRSNR | Versicherungsnummer | – | string | V9000000000Z1 |
| VLIBB | Versichertes Obligo | – | float | 10000.00 |
| KLIMK | Kreditlimit | – | float | 10000.00 |
| CTLPC | Risikokategorie | – | string | AAA |
| AKONT | Abstimmkonto | – | string | 84000001 |
| VKGRP | Verkäufergruppe | – | string | DE001 |
| ERDAT | Anlagedatum | – | date | 01.01.2020 |
| KDGRP | Debitorengruppe | – | string | DE01 |
| ... | Weitere Felder möglich | – | – | – |
2. Offene Posten (Open Items)
Offene Posten sind alle saldorelevanten, nicht ausgeglichenen Belege. Ihre Summe entspricht dem Forderungsbestand im Hauptbuch (Forderungen aus Lieferung und Leistung).
Ausgleichsmechanik
Bilendo unterstützt zwei Ausgleichsmodelle. Welches Modell zum Einsatz kommt, hängt vom Quellsystem ab:
Modell A – Nullsummenausgleich (SAP-typisch)
Werden Belege ausgeglichen, erhalten alle beteiligten Posten dieselbe Ausgleichsreferenz (AUGBL). Die Summe ist immer null. Teilauszifferungen erzeugen automatisch Restposten im Quellsystem.
Pflichtfelder: AUGBL, AUGGJ, AUGDT
Modell B – Innensaldoausgleich (z. B. MS Dynamics)
Zahlungen werden nicht als eigene Posten geliefert. Stattdessen enthält jede Rechnung einen aktualisierten offenen Betrag (OPAMT). Bilendo aktualisiert den Saldo der Rechnung.
Pflichtfeld: OPAMT
⚠️ SAP Extractor v2.1: OPAMT ist nicht implementiert. Für die Erweiterung → 04 - Extractor Report und 02 - DDIC Strukturen.
Feldtabelle Offene Posten
| Feld | Beschreibung | Pflicht | Format | Beispiel | Anmerkung |
|---|---|---|---|---|---|
| BUKRS | Buchungskreis | Pflicht | string | 1001 | Trennt Buchungen nach Gesellschaft |
| KUNNR | Debitorennummer | Pflicht | string | 10000001 | Wird mit BUKRS kombiniert |
| BELNR | Belegnummer | Pflicht | string | RE10000001 | Rechnungsnummer im Quellsystem |
| BLDAT | Belegdatum | Pflicht | date | 01.01.2025 | Rechnungsdatum zum Kunden |
| CPUDT | Erfassungsdatum | Pflicht | date | 01.01.2025 | Informativ + Unique Key |
| BLART | Belegart / Buchungsschlüssel | Pflicht | string | RV | Unterscheidet Forderung/Gutschrift |
| BUZEI | Positionsnummer | Pflicht | int | 2 | Für Duplikaterkennung |
| ZFBDT / DUEDATE | Fälligkeitsdatum (netto) | Pflicht | date | 01.01.2025 | Fälligkeitsprüfung |
| GJAHR | Geschäftsjahr | Pflicht | string | 2025 | – |
| DMBTR | Betrag in Hauswährung (± Vorzeichen) | Pflicht | float | 100000.00 | Forderung +, Zahlung − |
| HWAER | Hauswährung | Pflicht | string | EUR | ISO 4217 |
| WRBTR | Betrag in Belegwährung (± Vorzeichen) | Pflicht | float | 100000.00 | Nur bei Fremdwährung |
| WAERS | Belegwährung | Pflicht | string | USD | ISO 4217 |
| GSBER | Geschäftsbereich | Pflicht | string | 0815 | Business Area / Segment |
| AUGBL | Ausgleichsbelegnummer | Modell A | string | 1001 | Nullsummenausgleich |
| AUGGJ | Ausgleichsgeschäftsjahr | Modell A | string | 2025 | – |
| AUGDT | Ausgleichsdatum | Modell A | date | 01.01.2025 | Zahlungsverhaltensanalyse |
| OPAMT | Offener Betrag | Modell B | float | 100000.00 | Innensaldoausgleich |
| NAME | Kundenname (Fallback) | – | string | Bilendo GmbH | Falls kein Stammdatensatz vorhanden |
| MANST | Mahnstufe | – | int | 2 | Initiale Mahnstufe importieren |
| XBLNR | Referenzbelegnummer | – | string | 1001 | Cross-Referenz Rechnung ↔ Zahlung |
| ZUONR | Zuordnungsnummer | – | string | 1001 | Oft: Belegnr. der Rechnung bei Zahlung |
| SGTXT | Positionstext | – | string | Buchungstext | Informativ |
| VKORG | Verkaufsorganisation | – | string | V99 | Organisationszuordnung |
| VKGRP | Verkäufergruppe | – | string | G88 | Organisationszuordnung |
| XREF1 | Referenzschlüssel 1 | – | string | ABC123 | Beliebige Zuordnung |
| XREF2 | Referenzschlüssel 2 | – | string | ABC123 | – |
| XREF3 | Referenzschlüssel 3 | – | string | ABC123 | – |
| MANSP | Mahnsperre | – | string | M1 | Sperrkennzeichen |
| ZTERM | Zahlungsbedingung | – | string | T10 | Nur Anzeige (Mapping in Bilendo) |
| BKTXT | Belegkopftext | – | string | Text | Informativ |
| PENRC | Zahlungsdifferenzursache | – | string | T10 | ID wird in Bilendo gemappt |
| MADAT | Datum letzte Mahnung | – | date | 01.01.2025 | Für initiale History |
| BUSAB | Sachbearbeiter-ID | – | string | T10 | Zuordnung zu Bilendo-User |
| AKONT | Abstimmkonto | – | string | 8400000100 | HB-Identifikation |
| KKBER | Kreditkontrollbereich | – | string | KK10 | – |
| ... | Weitere Felder möglich | – | – | – | – |
3. Ausgeglichene Posten (Cleared Items)
Ausgeglichene Posten haben identische Felder wie Offene Posten. Der Unterschied: die Ausgleichsfelder (AUGBL, AUGDT, AUGGJ bzw. OPAMT) sind befüllt.
Pro ausgeglichenem Posten muss eine eigene Zeile generiert werden.
Besonderer Fokus bei der Extraktion:
| Feld | Pflicht bei |
|---|---|
| AUGBL | Modell A (Nullsummenausgleich) |
| AUGDT | Modell A |
| AUGGJ | Modell A |
| OPAMT = 0 | Modell B (Innensaldoausgleich) |
4. Aufträge (Sales Orders)
Aufträge werden aus SAP SD (Sales & Distribution) extrahiert und dienen in Bilendo zwei Zwecken:
Vertriebswertberechnung: Bilendo berechnet den aktuellen und prognostizierten Vertriebswert je Debitor anhand der Auftragsdaten.
Liefersperre-Management: Gesperrte Lieferbelege können aus Bilendo heraus freigegeben werden, wenn der Debitor seine Zahlungsverpflichtungen erfüllt hat.
Der Datenstrom ist one-way (SAP → Bilendo). Es erfolgt keine Rückschreibung von Auftragsdaten nach SAP.
Feldtabelle Aufträge
| Feld | Beschreibung | Pflicht | Format | Beispiel | Anmerkung |
|---|---|---|---|---|---|
| VBELN | Auftragsnummer | Pflicht | string | 0000012345 | SD-Belegnummer |
| POSNR | Positionsnummer | Pflicht | string | 000010 | Auftragsposition |
| AUART | Auftragsart | Pflicht | string | TA | Standard-Auftrag, Retoure etc. |
| BUKRS | Buchungskreis | Pflicht | string | 1001 | Zuordnung zur Gesellschaft |
| KUNNR | Debitorennummer (Auftraggeber) | Pflicht | string | 10000001 | AG-Nummer (VBAK-KUNNR) |
| KUNWE | Warenempfänger | – | string | 10000002 | WE-Nummer (VBPA) |
| VKORG | Verkaufsorganisation | Pflicht | string | DE01 | Organisationszuordnung |
| VTWEG | Vertriebsweg | – | string | 01 | – |
| SPART | Sparte | – | string | 00 | – |
| ERDAT | Anlagedatum Auftrag | Pflicht | date | 01.04.2026 | Wann der Auftrag angelegt wurde |
| NETWR | Nettowert | Pflicht | float | 15000.00 | Nettowert der Position / des Auftrags |
| WAERK | Auftragswährung | Pflicht | string | EUR | ISO 4217 |
| LIFSK | Liefersperre | – | string | 01 | Sperrkennzeichen auf Auftragsebene |
| FAKSK | Fakturasperre | – | string | 02 | Sperrkennzeichen Faktura |
| CMGST | Kreditprüfungsstatus | – | string | B | A=genehmigt, B=gesperrt, C=abgelehnt |
| LFDAT | Lieferdatum | – | date | 15.04.2026 | Geplantes Lieferdatum |
| MATNR | Materialnummer | – | string | MAT-001 | Artikelreferenz |
| KWMENG | Bestellmenge | – | float | 100.000 | Menge der Position |
| VRKME | Verkaufsmengeneinheit | – | string | ST | Stück, KG, etc. |
| BSTNK | Bestellnummer des Kunden | – | string | PO-2026-001 | Kunden-PO-Referenz |
| GBSTK | Gesamtbearbeitungsstatus | – | string | B | A=offen, B=in Bearbeitung, C=erledigt |
| ... | Weitere Felder möglich | – | – | – | – |
SAP-Quelle
| SAP-Tabelle | Beschreibung | Relevante Felder |
|---|---|---|
| VBAK | Auftragskopf | VBELN, AUART, KUNNR, VKORG, VTWEG, SPART, ERDAT, NETWR, WAERK, LIFSK, FAKSK, BSTNK |
| VBAP | Auftragsposition | VBELN, POSNR, MATNR, KWMENG, VRKME, NETWR |
| VBUK | Auftragsstatus | VBELN, CMGST, GBSTK |
| VBKD | Auftragsdaten (kaufm.) | VBELN, POSNR, ZTERM |
| VBPA | Auftragspartner | VBELN, PARVW='WE', KUNNR (Warenempfänger) |
5. Ausgleichsbeispiele (Offene/Ausgeglichene Posten)
Beispiel 1 – Vollständiger Nullsummenausgleich (SAP)
Ausgangslage:
RE10001 +1.000,00 EUR (Rechnung)
AVIS9001 -500,00 EUR (Zahlung 1)
AVIS9002 -500,00 EUR (Zahlung 2)
Saldo: 0,00 EUR
Ausgleich durchgeführt → alle 3 Posten erhalten AUGBL = AUSGL50001
Extraktion als Cleared Items:
RE10001 +1.000,00 EUR AUGBL=AUSGL50001
AVIS9001 -500,00 EUR AUGBL=AUSGL50001
AVIS9002 -500,00 EUR AUGBL=AUSGL50001
Ergebnis in Bilendo: keine offenen Posten, Saldo = 0Beispiel 2 – Nullsummenausgleich mit Restposten (SAP Teilauszifferung)
Ausgangslage:
RE10001 +1.000,00 EUR (Rechnung)
AVIS9001 -500,00 EUR (Zahlung 1)
AVIS9002 -250,00 EUR (Zahlung 2)
Saldo: +250,00 EUR
Teilausgleich → SAP erzeugt automatische Restposten:
RE10001 +1.000,00 EUR AUGBL=AUSGL50001 → Cleared
AVIS9001 -500,00 EUR AUGBL=AUSGL50001 → Cleared
AVIS9002 -250,00 EUR AUGBL=AUSGL50001 → Cleared
AVIS9002-1 -250,00 EUR AUGBL=AUSGL50001 → Cleared (autom. Rest)
RE10001-1 +250,00 EUR (kein AUGBL) → Open (Restforderung)
Ergebnis in Bilendo: 1 offener Posten (RE10001-1), Saldo = +250,00Beispiel 3 – Innensaldoausgleich, Teilzahlung (z. B. MS Dynamics)
Rechnung RE20001 über 1.000,00 EUR
Zahlung 600,00 EUR eingegangen
Datenlieferung:
RE20001 DMBTR=1.000,00 OPAMT=400,00
Bilendo erkennt RE20001, aktualisiert offenen Betrag auf 400,00 EURBeispiel 4 – Innensaldoausgleich, Vollausgleich
Rechnung RE20002 über 500,00 EUR
Zahlung 500,00 EUR eingegangen
Datenlieferung:
RE20002 DMBTR=500,00 OPAMT=0,00
OPAMT = 0 → Bilendo gleicht den Posten automatisch aus5. Datenformate
Dateiformat
| Eigenschaft | Wert |
|---|---|
| Dateiart | TXT oder CSV |
| Struktur | Flacher Datensatz, 1 Zeile = 1 Datensatz |
| Trennzeichen | Fest definiert: | oder ; oder , |
| Zeichenkodierung | UTF-8 |
Wichtig: Trennzeichen in Feldwerten müssen escaped werden. Beispiel: wenn
|das Trennzeichen ist, darf|nicht in einem Textfeld vorkommen.
Header-Zeile
Die erste Zeile der Datei sollte die Feldnamen enthalten:
BUKRS|KUNNR|BELNR|BLDAT|CPUDT|BLART|BUZEI|GJAHR|DMBTR|HWAER|WRBTR|WAERS|...
1001|10000001|RE10001|01.01.2025|02.01.2025|RV|1|2025|1000.00|EUR|1000.00|EUR|...