1. Dateiformat
| Eigenschaft | Vorgabe |
|---|---|
| Trennzeichen | Semikolon ; |
| Zeichensatz | UTF-8 (BOM erlaubt) |
| Zeilenende | CRLF oder LF |
| Zahlenformat | deutsch: Punkt als Tausender-, Komma als Dezimaltrennzeichen – 1.234,56 |
| Datumsformat | TT.MM.JJJJ – 31.01.2026, vierstelliges Jahr |
| Erste Zeile | Kopfzeile mit den Spaltennamen |
| Anführungszeichen | Nur nötig, wenn ein Feld ein Semikolon enthält – dann das ganze Feld einschließen |
| Dateiendung | .csv |
Zusätzliche Spalten, die hier nicht aufgeführt sind, sind erlaubt. Sie werden ignoriert. Ein Export muss also nicht extra beschnitten werden.
Die Reihenfolge der Spalten ist frei – wir lesen sie über die Kopfzeile. Wenn Sie es sich aussuchen können, stellen Sie Sachkonto, Belegdatum, Soll und Haben nach vorn. Das ist die Reihenfolge unserer Beispieldatei.
2. Pflichtspalten
Fehlt eine dieser Spalten, gilt die Datei nicht als spezifikationskonform und muss über den Buchungsjournal-Import von Hand eingelesen werden.
| Spalte | Bedeutung | Beispiel |
|---|---|---|
Sachkonto | Nummer des Sachkontos, auf das gebucht wurde. | 4100 |
Belegdatum | Datum der Buchung im Format TT.MM.JJJJ. | 31.01.2026 |
Soll | Sollbetrag der Zeile. Leer oder 0, wenn im Haben gebucht wurde. | 1.070,00 |
Haben | Habenbetrag der Zeile. Leer oder 0, wenn im Soll gebucht wurde. | 0,00 |
3. Optionale Spalten
Jede davon kann fehlen. Was fehlt, fehlt dann aber auch in der Auswertung – die Hinweise in der Spalte „Bedeutung“ sagen, was konkret.
| Spalte | Bedeutung | Beispiel |
|---|---|---|
Sachkontobezeichnung | Klarname des Sachkontos. Ohne ihn zeigen die Auswertungen nur die Kontonummer. | Umsatzerlöse Beherbergung 7 % |
Buchungstext | Freitext zur Buchung. Erscheint im Journal und im Drilldown. | Zimmererlös Januar |
Personenkonto | Nummer des Debitoren- oder Kreditorenkontos. Basis für Offene Posten. Gehört auf die Gegenbuchung – die Forderungs- oder Verbindlichkeitszeile –, nicht auf die Erlös- oder Aufwandszeile. Debitoren erwarten wir im Bereich 10000 bis 69999, Kreditoren im Bereich 70000 bis 99999. Nur Ziffern, ohne Präfix und ohne Punkt. | 70015 |
Belegnummer | Rechnungs- oder Belegnummer. Verknüpft Buchung und Beleg. | ER-2026-0031 |
Steuersatz | Umsatzsteuersatz als Prozentwert. Rein informativ – die Steuer wird daraus nicht berechnet. Der Steuerbetrag gehört als eigene Buchungszeile in die Datei. Fehlt die Spalte ganz, meldet das Datenprofil, dass Netto und Brutto nicht sicher unterscheidbar sind – geliefert werden sollte sie deshalb trotzdem. | 7 |
Kostenstelle | Kostenstelle oder Abteilung. Basis für den USALI-Abteilungs-Split. Welche Kostenstellen-Codes Sie verwenden, stimmen wir einmalig ab – nennen Sie sie uns vor der ersten Lieferung. Danach müssen sie in jeder Lieferung genau so geschrieben sein, Groß- und Kleinschreibung eingeschlossen. Ein unbekannter Code führt nicht zu einer Fehlermeldung: die Buchung fällt still aus der Abteilungs-Auswertung heraus, und die Abteilung zeigt zu wenig Kosten. | LOGIS |
Die Beispielwerte LOGIS und KUECHE sind Platzhalter, kein Standard – verwendet wird der Code, der mit uns abgestimmt ist.
4. Erlaubte Schreibweisen der Spaltennamen
Groß- und Kleinschreibung spielt keine Rolle. Führende und abschließende Leerzeichen sowie Anführungszeichen werden entfernt. Darüber hinaus sind je Spalte diese Schreibweisen erlaubt:
| Spalte | Erlaubte Schreibweisen |
|---|---|
Sachkonto | Sachkonto, Konto, Kontonummer, Konto-Nr, KontoNr |
Belegdatum | Belegdatum, Buchungsdatum, Datum, Belegdat, Buchdat |
Soll | Soll, Sollbetrag, Debit |
Haben | Haben, Habenbetrag, Credit |
Sachkontobezeichnung | Sachkontobezeichnung, Kontobezeichnung, Kontoname, Bezeichnung |
Buchungstext | Buchungstext, Buchungs-Text, Beschreibung, Verwendungszweck |
Personenkonto | Personenkonto, Debitor, Kreditor, Debitorenkonto, Kreditorenkonto |
Belegnummer | Belegnummer, Belegnr, Beleg-Nr, Rechnungsnummer, Referenz |
Steuersatz | Steuersatz, USt-Satz, MwSt-Satz, Steuerschlüssel, Steuerschluessel |
Kostenstelle | Kostenstelle, Kostenstellen, Kost1, KST |
Eine Schreibweise, die hier nicht steht, wird nicht erkannt. Das ist Absicht: geraten wird nach dem Eingang nicht mehr.
Das gilt auch für naheliegende Kurzformen. Eine Spalte namens Text etwa wird nicht als Buchungstext gelesen – dafür heißt sie Buchungstext, Beschreibung oder Verwendungszweck. Der Grund: als exakter Spaltenname ist Text in einer fremden Datei nicht eindeutig. Wird eine Pflichtspalte in einer unbekannten Schreibweise geliefert, ist die Datei nicht spezifikationskonform und läuft über den Administrator. Bei einer optionalen Spalte bleibt der Inhalt einfach leer – das Import-Protokoll weist darauf hin.
5. Regeln je Zeile
- Eine Zeile ist eine Buchungszeile. Ein Buchungssatz besteht aus mindestens zwei Zeilen – einer im Soll, einer im Haben.
- In jeder Zeile muss entweder
SolloderHabengefüllt sein. Sind beide leer oder 0, wird die Zeile übersprungen und im Import-Protokoll mit Zeilennummer benannt. - Die Richtung ergibt sich aus der Spalte. Am klarsten ist es, wenn Sie ganz ohne Vorzeichen arbeiten: Eine Habenbuchung von 1.000,00 wird durch eine Sollbuchung von 1.000,00 aufgehoben.
- Ein Minus ist trotzdem erlaubt – vorn oder hinten.
-1.000,00und1.000,00-bedeuten dasselbe, und beide werden richtig gelesen: Der Betrag wandert in die jeweils andere Spalte, das Storno hebt also auf, statt zu verdoppeln. Die nachgestellte Schreibweise ist der Standard in DATEV und BMD – wenn Ihr System sie so ausgibt, lassen Sie sie stehen. - Aber nie beides zugleich.
-1.000,00-trägt zwei Vorzeichen und wird abgelehnt – bei einem doppelten Minus ist nicht zu erkennen, was gemeint war. - Eine leere Zelle und
0,00bedeuten dasselbe. Ob Ihr Export die Gegenspalte leer lässt oder eine Null hineinschreibt, spielt keine Rolle – beides heißt „hier steht kein Betrag“. Auch dann, wenn die Zeile ein Minus trägt. - Jede Zeile hat gleich viele Felder. Jede Datenzeile hat genau so viele Felder wie die Kopfzeile; leere Felder bleiben als leere Felder stehen. Ein Semikolon ohne Anführungszeichen erzeugt ein Feld zu viel, ein abgeschnittenes Feld am Zeilenende eines zu wenig – in beiden Fällen rutschen die Spalten dahinter um eine Position, und Personenkonto, Belegnummer oder Kostenstelle stehen in der falschen Spalte. Wir lehnen die ganze Datei ab. Schneidet Ihr Export leere Felder am Zeilenende ab, stellen Sie ihn bitte um. Bei vier Spalten hat
4010;31.01.2026;1.000,00-nur drei Felder – diese Datei lehnen wir ab. Richtig ist4010;31.01.2026;1.000,00-;mit dem abschließenden Semikolon. - Nie beide Betragsspalten zugleich füllen. Jede Zeile gehört auf eine Seite: entweder Soll oder Haben. Stehen in beiden Spalten Beträge und einer davon trägt ein Minus, ist nicht mehr erkennbar, was gemeint war – dann lehnen wir die ganze Datei ab, mit Zeilennummer und beiden Spaltennamen.
- Semikolon im Text? Dann Anführungszeichen. Anführungszeichen sind erlaubt, aber nur nötig, wenn ein Feld ein Semikolon enthält. Dann gehört das ganze Feld in Anführungszeichen, und ein Anführungszeichen im Text selbst wird verdoppelt. Ohne das zerfällt die Zeile beim Einlesen, und die Beträge stehen danach in der falschen Spalte. Ein Buchungstext wie
"Rechnung 4711; Teilzahlung 2"ist damit problemlos möglich. - Das Personenkonto ist eine reine Nummer. Das Personenkonto trägt nur Ziffern – kein Präfix, kein Punkt, kein Leerzeichen. Sonst geht die Nummer in den Offenen Posten verloren, und wir lehnen die ganze Datei ab, mit Zeilennummer und Spaltenname.
10001ist richtig,D10001,K-70015und10.001sind es nicht. - Einzelkonten, keine Summenzeilen.
4100stattErlöse gesamt. Summenzeilen würden doppelt zählen. - Erlöse und Aufwendungen bitte netto buchen, die Umsatz- beziehungsweise Vorsteuer als eigene Zeile. Steht der Bruttobetrag auf dem Erlöskonto, ist der ausgewiesene Umsatz um den Steuersatz zu hoch – bei 19 % um rund ein Sechstel. Und wie beim Storno bleibt die Datei dabei ausgeglichen, die Prüfung schlägt also nicht an. Betroffen sind dann auch alle Kennzahlen darauf: RevPAR, ADR, GOP, jede Quote. Die Umsatzsteuer ist eine Verbindlichkeit gegenüber dem Finanzamt, kein Ertrag; die Vorsteuer eine Forderung, kein Aufwand.
- Das Personenkonto gehört auf die Gegenbuchung – die Forderungs- oder Verbindlichkeitszeile –, nicht auf die Erlös- oder Aufwandszeile. Aus ihr entstehen die Offenen Posten: die Forderung wird im Soll auf
1100gebucht, die Verbindlichkeit im Haben auf3000, jeweils mit dem Personenkonto. Steht es auf der Erlös- oder Aufwandszeile, kehrt sich das Vorzeichen um – eine offene Forderung erscheint dann als Guthaben, und in den Offenen Posten taucht sie gar nicht auf. Steht es auf beiden Zeilen, heben sich Soll und Haben auf und der Posten sieht ausgeglichen aus, obwohl er offen ist. So macht es die Beispieldatei: Personenkonto auf1100und3000, die Erlös-, Aufwands- und Steuerzeilen tragen keines. - Für Beträge gilt eine feste Schreibweise – und nur sie. Erlaubt sind vier Schreibweisen: 1.234,56 mit Tausenderpunkt, 1234,56 ohne, -1.234,56 mit Minus vorn und 1.234,56- mit Minus hinten (so schreiben es DATEV und BMD). Dazu die leere Zelle, wenn der Betrag in der anderen Spalte steht. Immer genau zwei Nachkommastellen.
- Alles andere wird abgelehnt, mit Zeilennummer und Spaltenname. Kein Währungszeichen (
1.234,56 EUR), keine Klammern ((1.234,56)), kein Soll-/Haben-Kürzel am Betrag (1.234,56 S), kein Leerzeichen als Tausendertrenner (1 234,56), kein Pluszeichen und keine andere Zahl von Nachkommastellen (1.234,5oder1.234,567). Auch das englische (1,234.56) und das Schweizer Format (1'234.56) fallen darunter. - Eine einzige abweichende Zelle lehnt die ganze Datei ab. Das ist Absicht und keine Strenge um ihrer selbst willen: Ein falsch geschriebener Betrag kommt sonst um den Faktor 100 oder 1.000 daneben an, und die Datei bleibt dabei ausgeglichen – die Prüfung schlägt also nicht an, und niemand merkt es. Geprüft wird jede Zeile, nicht eine Stichprobe. Die Meldung nennt Zeile und Spalte, nie den Betrag selbst.
Buchungsjournal, keine Saldenliste
Eine Summen-/Saldenliste trägt dieselben vier Pflichtspalten wie ein Journal und wird deshalb auch eingelesen. Nur stünde dann je Konto ein Monatssaldo als einzelne Buchung in der Auswertung – Drilldown, Kostenstellen und jede Tagesbetrachtung wären wertlos.
Sieht eine Datei danach aus – jedes Konto kommt nur einmal vor, und alle Buchungen tragen dasselbe Datum –, weist das Import-Protokoll darauf hin. Abgelehnt wird sie nicht: ein kleines Haus, das einen einzelnen Tag mit wenigen Zeilen liefert, sieht genauso aus.
Was diese Spezifikation nicht abdeckt
- Buchungssatz-Exporte mit Konto und Gegenkonto – also ein Betrag je Zeile statt Soll und Haben getrennt – erfüllen die Spezifikation nicht, und zwar strukturell: sie tragen die Richtung im Gegenkonto statt in zwei Spalten. Betroffen sind unter anderem BMD, Lexware und Agenda. Diese Dateien laufen deshalb immer über den Buchungsjournal-Import: Ihr Ansprechpartner liest die Datei dort einmalig ein und ordnet die Spalten zu. Danach kommen die Lieferungen wie gewohnt an. Eine zweite Spezifikationsform für dieses Format gibt es bewusst nicht – sie hätte dieselbe Mehrdeutigkeit, die der Weg mit menschlicher Kontrolle auflöst.
- Ein Leistungsdatum wird in dieser Fassung nicht eingelesen. Auswertungen laufen für diese Dateien immer nach Buchungsdatum.
6. Was passiert mit fehlerhaften Zeilen
Eine Zeile wird übersprungen, wenn eines davon zutrifft:
| Fall | Meldung im Import-Protokoll |
|---|---|
Sachkonto leer | Zeile N übersprungen – Spalte „Sachkonto“: Sachkonto fehlt. |
Sachkonto ohne Ziffern | Zeile N übersprungen – Spalte „Sachkonto“: Sachkonto enthält keine Kontonummer. |
Belegdatum nicht lesbar | Zeile N übersprungen – Spalte „Belegdatum“: Datum nicht lesbar. |
Soll und Haben beide leer oder 0 | Zeile N übersprungen – Spalten „Soll“ / „Haben“: weder Soll- noch Habenbetrag gefüllt. |
Die Meldungen nennen Zeilennummer und Spaltenname, nie den Zellinhalt. Der Grund ist Datenschutz: die Meldungen werden gespeichert und im Admin angezeigt, Buchungsinhalte gehören dort nicht hinein. Wer die Zeilennummer hat, sieht in seiner eigenen Datei selbst nach.
Einzeln aufgeführt werden höchstens 20 Zeilen. Die Gesamtzahl der übersprungenen Zeilen steht immer dabei, auch wenn es mehr waren.
Davon zu unterscheiden sind vier Fälle, in denen nicht die Zeile übersprungen, sondern die ganze Datei abgelehnt wird. In allen vieren würde stillschweigend eine falsche Zahl ankommen – wir raten dann nicht, sondern sagen es:
| Fall | Was passiert |
|---|---|
| Ein Betrag entspricht nicht der festen Schreibweise | Die Datei wird abgelehnt, mit Zeilennummer und Spaltenname. |
Soll und Haben tragen beide einen Betrag und einer davon ein Minus | Die Datei wird abgelehnt, mit Zeilennummer und beiden Spaltennamen. |
| Eine Zeile hat mehr oder weniger Felder als die Kopfzeile | Die Datei wird abgelehnt, mit Zeilennummer sowie Ist- und Soll-Feldzahl. |
| Ein Personenkonto trägt etwas anderes als Ziffern | Die Datei wird abgelehnt, mit Zeilennummer und Spaltenname. |
7. Beispieldatei
Die Beispieldatei zum Herunterladen – neun Zeilen, drei vollständige Buchungssätze (Logis-Erlös gegen Forderung, F&B-Wareneinsatz gegen Verbindlichkeit, F&B-Erlös gegen Forderung). Soll- und Habensumme sind gleich.
Jeder Buchungssatz hat drei Zeilen: den Netto-Betrag auf dem Erfolgskonto, die Steuer auf ihrem eigenen Konto und den Brutto-Betrag auf der Forderung beziehungsweise Verbindlichkeit. 1.000,00 auf 4010 plus 70,00 auf 3510 ergeben die Forderung von 1.070,00 auf 1100.
Die Datei zeigt auch, wo das Personenkonto steht: auf der Gegenbuchung – 1100 für die Forderung, 3000 für die Verbindlichkeit –, während die Erlös-, Aufwands- und Steuerzeilen keines tragen. Die Belegnummer steht auf allen Zeilen eines Satzes; sie ist die Klammer zwischen ihnen.
Die Kostenstellen LOGIS und KUECHE sind Platzhalter, kein Standard – sie zeigen nur, wohin der Code gehört. Verwendet wird der Code, der mit uns abgestimmt ist.
Die Datei ist ein Generat aus der Spezifikation im Code, keine zweite, von Hand gepflegte Fassung.
8. Wie die Datei zu uns kommt
Über den Datei-Eingang – dafür gibt es zwei Wege: den E-Mail-Eingang (die Datei als Anhang an die Eingangsadresse) oder den Upload-Link. Beide enden in derselben Verarbeitung. Welchen Weg ein Kunde nutzt, steht im Admin unter „Dateneingang“.
Zum Zeitraum einer Lieferung. Bitte liefern Sie immer den ganzen Zeitraum seit Beginn des Wirtschaftsjahres, nicht nur den letzten Monat. Grund: nachträgliche Buchungen in einen bereits gelieferten Monat kommen sonst nicht bei uns an, und dieser Monat bleibt in der Auswertung auf dem alten Stand.
Eine kumulative Lieferung löst die vorige ab – eine Korrektur für einen früheren Monat reist dabei automatisch mit. Bei reinen Monatslieferungen kann genau diese Korrektur einen bereits gelieferten Monat aus der Auswertung nehmen: Er fehlt dann vollständig, ohne Fehlermeldung und ohne Warnung.
Passt die Datei nicht zum eingestellten Buchhaltungssystem – zum Beispiel ein Scopevisio-Export bei einem Kunden, der auf „Anderes System“ steht –, wird sie abgelehnt und der Grund im Admin angezeigt. Ein stiller Import mit 0 Buchungen ist damit ausgeschlossen.
9. Die Beispieldatei zum Kopieren
Neun Zeilen, drei vollständige Buchungssätze. Soll- und Habensumme sind gleich. Wenn Sie die Datei in Excel öffnen, prüfen Sie die Betragsspalten: Excel formatiert sie beim Öffnen gern um, und dann steht dort genau die Schreibweise, die wir ablehnen.
Sachkonto;Belegdatum;Soll;Haben;Sachkontobezeichnung;Buchungstext;Personenkonto;Belegnummer;Steuersatz;Kostenstelle
4010;31.01.2026;;1.000,00;Umsatzerlöse Beherbergung 7 %;Zimmererlös Januar;;AR-2026-0007;7;LOGIS
3510;31.01.2026;;70,00;Umsatzsteuer 7 %;Zimmererlös Januar;;AR-2026-0007;7;
1100;31.01.2026;1.070,00;;Debitoren (Forderungen aus Lieferungen/Leistungen);Zimmererlös Januar;10001;AR-2026-0007;;
5000;15.01.2026;800,00;;Wareneinsatz Speisen;Wareneingang Metzgerei;;ER-2026-0031;7;KUECHE
1320;15.01.2026;56,00;;Vorsteuer 7 %;Wareneingang Metzgerei;;ER-2026-0031;7;
3000;15.01.2026;;856,00;Verbindlichkeiten aus Lieferungen und Leistungen;Wareneingang Metzgerei;70015;ER-2026-0031;;
4100;31.01.2026;;2.000,00;Umsatzerlöse Speisen 19 %;Restaurantumsatz Januar;;AR-2026-0012;19;KUECHE
3500;31.01.2026;;380,00;Umsatzsteuer 19 %;Restaurantumsatz Januar;;AR-2026-0012;19;
1100;31.01.2026;2.380,00;;Debitoren (Forderungen aus Lieferungen/Leistungen);Restaurantumsatz Januar;10001;AR-2026-0012;;