FiBu CSV/ZIP-Schnittstelle¶
1. Zweck¶
Der CSV/ZIP-Export ist eine transportneutrale Übergabe gebuchter Fremdrechnungen. Ein ZIP enthält Rechnungskopf, Lieferanten-Snapshot, alle Fahrzeugpositionen, Manifest und sämtliche verifizierten Originalbelege.
2. Fremdrechnungsablauf in FLEET Mira¶
- Lieferant und Kostenarten anlegen.
- Rechnungsentwurf mit Nummer/Datum, Summen und Zahlungsdaten anlegen.
- Eine oder mehrere fahrzeugbezogene Kosten-/Gutschriftpositionen erfassen.
- Empfangene Originale hinzufügen; das Belegarchiv lädt hoch und verifiziert jeden Hash.
- Brutto-/Splitdifferenz auf exakt null Cent bringen.
- Rechnung prüfen und buchen.
- Einmal exportieren oder per REST übertragen. Korrekturen über Storno/Gutschrift, niemals Änderung gebuchter Zeilen.
flowchart LR
H[Rechnungskopf] --> P[Fahrzeugpositionen]
P --> D[Originalbelege]
D --> V[Cloudverifikation]
V --> C[Centgenaue Prüfung]
C --> B[Buchung]
B --> Z[CSV/ZIP-Export]
3. Archivaufbau¶
Dateiname: Accounting_<Belegnummer>_<Rechnungs-ID>.zip (ungültige Dateisystemzeichen werden ersetzt).
manifest.json
invoice.csv
supplier.csv
positions.csv
documents/
<Dokument-ID>_<Originaldateiname>
CSV ist UTF-8 mit BOM, Semikolontrennung und CRLF. Erste Zeile: stabile Feldnamen. Trennzeichen, Anführungszeichen oder Zeilenumbrüche werden RFC-4180-gequotet.
4. manifest.json¶
| Feld | Bedeutung |
|---|---|
format |
Legacy-Vertragstoken DLTNG-ACCOUNTING-EXPORT |
version |
Exportformatversion |
idempotency_key |
stabiler Dublettenvermeidungsschlüssel |
invoice_id |
Rechnungs-UUID von FLEET Mira |
documents[] |
geordnete Archivnamen der Originalbelege |
5. invoice.csv¶
Genau eine Datenzeile.
| Feld | Bedeutung/Funktion |
|---|---|
id |
unveränderliche Rechnungs-UUID |
document_type |
INVOICE oder CREDIT_NOTE |
correction_of_invoice_id |
korrigierte Rechnung, optional |
document_number |
Lieferanten-Belegnummer |
document_date |
ISO-Belegdatum |
delivery_date |
Leistungs-/Lieferdatum, optional |
delivery_note_number |
Lieferscheinnummer, optional |
cost_center |
Kostenstelle, optional |
payable_until |
Fälligkeit |
payment_term_days |
Nettozahlungsziel |
discount_term_days |
Skontofrist |
discount_rate_bp |
Skonto in Basispunkten |
net_cents |
deklarierter Nettobetrag |
tax_cents |
deklarierte Umsatzsteuer |
gross_cents |
berechnet Netto + Steuer |
currency |
aktuell EUR |
status |
muss BOOKED sein |
booked_at_utc, booked_by |
Buchungsnachweis |
created_at_utc, updated_at_utc |
technische Historie |
description, note |
optionale Fachtexte |
6. supplier.csv¶
Genau ein Snapshot.
| Feld | Bedeutung/Funktion |
|---|---|
id |
Lieferanten-UUID |
supplier_number |
interne Lieferantennummer |
name |
Name |
creditor_number |
FiBu-Kreditorennummer |
street, postal_code, city, country |
Postanschrift |
tax_id |
Steuer-/USt-ID |
phone, email |
validierte Kontaktdaten |
payment_term_days |
Lieferantenstandard |
Es handelt sich um den aktuellen Stammsnapshot zum Export; Rechnungs-ID und Originale bleiben Auditanker.
7. positions.csv¶
Eine Zeile je aktiver Rechnungsposition.
| Feld | Bedeutung/Funktion |
|---|---|
id |
Positions-UUID |
invoice_id |
Rechnungs-UUID |
vehicle_id |
Fahrzeug-UUID |
vehicle_internal_number |
interne Fuhrparknummer |
vehicle_registration |
Kennzeichen-Snapshot |
vehicle_vin |
FIN-Snapshot |
cost_category_id, cost_category_code, cost_category_name |
Kostenklassifikation |
entry_type |
COST oder CREDIT |
description |
Buchungstext |
valid_from, valid_to, document_date |
bei Rechnungspositionen das Belegdatum |
net_cents, tax_cents, gross_cents |
Centbeträge |
tax_rate_bp |
USt in Basispunkten |
variable |
bei Rechnungspositionen immer wahr |
note |
optionaler Text |
Für den Vergleich zählen Kosten positiv, Gutschriften negativ. Bei Gutschriftrechnung wird das Vorzeichen des Rechnungskopfs normalisiert.
8. Originalbelege¶
Enthalten sind nur lokal verifizierte Originale. Bytes müssen zum gespeicherten SHA-256 passen; erzeugte Vorschauen ersetzen nie XML-/Hybridoriginale. Das ZIP ist Übergabepaket, nicht führendes Aufbewahrungsarchiv; dieses bleibt das lokale Finanzarchiv. Ein externes Backup ist optional.
9. Prüfregeln¶
gross_cents = net_cents + tax_cents;- vorzeichenbehaftete Summe aktiver Positionen entspricht Rechnungsbrutto;
- jede Position referenziert genau ein Fahrzeug;
- jedes Manifestdokument existiert unter
documents/; - Dublette aus Lieferant/Nummer/Datum oder Dokumenthash benötigt Adminfreigabe vor Buchung;
- je Idempotenzschlüssel höchstens ein erfolgreicher Export.
10. Audit und Importhinweise¶
FLEET Mira auditiert Start/Ergebnis, Rechnungs-/Dokument-IDs und Korrelations-ID, nicht den Beleginhalt. Importer müssen Manifestversion prüfen, Path Traversal verhindern, transaktional/staged verarbeiten, Idempotenzschlüssel speichern und einen Abgleich mit Rechnung/FiBu-ID liefern.
11. Kompatibilität¶
Konsumenten ignorieren unbekannte additive Spalten. Entfernen/Umbenennen, Typ- oder Vorzeichenänderung erfordert neue Formatversion. DLTNG-... bleibt technische Legacy-Kennung.