prekontoDokumentationAPIMCPFAQBlog

Dokumentation

Wie aus einer Eingangsrechnung ein Buchungssatz wird, den man verantworten kann: welche Stammdaten es braucht, wie der Lieferant und das Gegenkonto gefunden werden, wann prekonto selbst entscheidet und wann nicht — und was beim Korrigieren gelernt wird. Geschrieben für Menschen, die die Buchung am Ende unterschreiben.

Der Ablauf im Überblick

Stammdaten hinterlegen
Kreditorenliste und Gegenkontenliste je Mandant. Einmalig, danach nur noch bei Änderungen. Ohne Gegenkontenliste kann nicht kontiert werden — sie ist die Auswahl, aus der überhaupt gewählt werden darf.
Beleg einreichen
PDF, Scan, XRechnung-XML oder ZUGFeRD. Über die Oberfläche, die API oder den MCP-Server.
Vorschlag entsteht
Rechnungsdaten auslesen, Kreditor zuordnen, Gegenkonto bestimmen, Buchungssatz bilden — und alles nachrechnen, was nachrechenbar ist.
Prüfen
Die Ampel entscheidet, ob ein Mensch hinsehen muss. Was auf review steht, wird bestätigt oder korrigiert; was auf auto steht, hat alle Prüfungen bestanden.
Exportieren
DATEV-Buchungsstapel im EXTF-Format für den Zeitraum ziehen und in DATEV einlesen. Die Buchung selbst macht die Kanzlei.
Was prekonto nicht ist. Keine Buchhaltungssoftware — gebucht wird weiterhin in DATEV. Kein Ersatz für den Steuerberater: Ein Buchungsvorschlag ist ein Vorschlag, die fachliche Verantwortung bleibt bei dem, der die Buchung freigibt. Und prekonto bucht nichts selbst in DATEV ein: Es erzeugt einen Stapel, den die Kanzlei importiert — mit Festschreibung 0, also weiterhin korrigierbar.

1. Mandant und DATEV-Kopfdaten

Ein Mandant ist eine Firma, für die kontiert wird. In einer Kanzlei sind das die Mandanten, in einem Unternehmen mit eigener Buchhaltung meist genau einer. Alles ist mandantenbezogen: Stammdaten, Belege, Buchungssätze, Anweisungen, Exporte.

Beim Anlegen werden fünf Angaben verlangt, die alle im Kopf des DATEV-Buchungsstapels landen. Sie sind keine Formalität — mit falschen Kopfdaten importiert DATEV den Stapel entweder nicht oder in den falschen Mandanten.

Die Kopfdaten eines Mandanten samt der Wertebereiche, die geprüft werden.
AngabeErlaubtWofür sie gebraucht wird
Beraternummer1001 bis 9999999Identifiziert die Kanzlei bzw. den DATEV-Zugang. Steht im Header und muss zum Ziel-Bestand passen.
Mandantennummer1 bis 99999Identifiziert den Mandanten innerhalb dieser Beraternummer.
WirtschaftsjahresbeginnKalendertagGrenze jedes Buchungsstapels. Das Belegdatum trägt im EXTF-Format kein Jahr — DATEV leitet es aus dem Kopf ab.
Sachkontenlänge4 bis 8Wie viele Stellen die Sachkonten haben. Bestimmt gleichzeitig die Länge der Personenkonten: die ist immer eine Stelle mehr.
KontenrahmenSKR03 oder SKR04SKR03 gliedert nach Prozessen, SKR04 nach dem Abschluss. Geht in den Kopf und in den Kontierungs-Prompt.
Die Sachkontenlänge ist der häufigste Stolperstein. Bei vierstelligen Sachkonten (4930) sind die Personenkonten fünfstellig (70023). Wer sie falsch setzt, bekommt keine halb richtigen Ergebnisse, sondern eine harte Ablehnung: Die Kontolänge ist eine deterministische Prüfung, sie blockiert die automatische Buchung und verhindert den Export.

Das Wirtschaftsjahr reicht vom hinterlegten Beginn ein Jahr minus einen Tag. Ein Stapel darf diese Grenze nicht überschreiten — deshalb wird pro Periode exportiert, nicht über den Jahreswechsel hinweg. Warum das so sein muss, steht in der Export-Dokumentation.

Ein Mandant wird in der Oberfläche angelegt, nicht über die API. Das ist Absicht: Die Kopfdaten stammen vom Steuerberater und sind keine Angabe, die eine Automatisierung erraten sollte. Wird eine KRExport_MNDT_…-Datei hochgeladen, entsteht daraus ein Vorschlag für die Maske — geschrieben wird er erst, wenn ein Mensch ihn bestätigt.

2. Stammdaten hochladen

Zwei Listen je Mandant. An ihnen hängt, wie gut die Vorschläge von Anfang an sind: Steht in der Kreditorenliste schon ein Standard-Gegenkonto, ist die Hauskontierung des Mandanten ab dem ersten Beleg bekannt und muss nicht erraten werden.

ListeWas drinstehtPflichtfelder
KreditorenDie Lieferanten als Personenkonten — mit USt-IdNr., IBAN und, wenn vorhanden, dem Standard-Gegenkonto (der Hauskontierung).kontoNr, name
GegenkontenDie Sachkonten, auf die gebucht werden darf, mit Bezeichnung, erwartetem Steuersatz und dem Kennzeichen „Automatikkonto“.kontoNr, bezeichnung

Optional sind bei Kreditoren ustId, iban und defaultGegenkonto, bei Gegenkonten steuersatzHinweis, erwarteterSteuersatz und automatikkonto. Jedes optionale Feld, das vorhanden ist, macht die Zuordnung sicherer — die USt-IdNr. ist die stärkste Stufe der Matching-Kaskade, und ein Standard-Gegenkonto erspart den Umweg über ein Sprachmodell vollständig.

DATEV-KRexport: ohne KI erkannt

Wer aus DATEV heraus exportiert, bekommt Dateien, deren Aufbau bekannt ist. Solche Dateien werden deterministisch geparst — kein Sprachmodell, keine Heuristik, keine Vorschau nötig. Erkannt werden sie an zwei unabhängigen Merkmalen, eines genügt:

Widersprechen sich Dateiname und Kopfzeile, gewinnt die Kopfzeile, und der Widerspruch wird als Hinweis gemeldet — der Inhalt ist die verlässlichere Auskunft. Umbenennen schadet deshalb nicht: Eine KRexport-CSV mit unveränderter Kopfzeile wird auch als liste.csv deterministisch geparst. Der Dateiname ist der Rückfall, wenn die Kopfzeile nicht wiedererkannt wird, und liefert zusätzlich Mandantennummer und Wirtschaftsjahresbeginn — deshalb lohnt es trotzdem, den Originalnamen mitzugeben.

Beliebige Listen: KI-Spaltenmapping mit Vorschau

Nicht jede Liste kommt aus DATEV. Excel-Tabellen aus dem ERP, eine CSV-Datei aus einem Vorgängersystem, ein PDF-Ausdruck des Kontenplans — dafür ordnet ein Sprachmodell die Spalten den Zielfeldern zu. Wichtig ist, was es dabei nicht tut:

In der Oberfläche folgt darauf eine Vorschau: die erkannte Spaltenzuordnung, fünf fertig zugeordnete Beispielzeilen und der Probelauf-Fehlerbericht. Erst Ihre Bestätigung schreibt Daten — und die Bestätigung ruft kein Sprachmodell mehr auf, sie arbeitet mit dem Zwischenergebnis. Wer über die API importiert, bekommt keine Vorschau: Dort ist der Aufruf ausdrücklich die Anweisung „übernimm diese Liste“, und der Importbericht in der Antwort nennt hinterher, was übersprungen wurde.

FormatUnterstütztAnmerkung
CSV / TextjaTrennzeichen (; Tab , |) und Kodierung werden erkannt; bei geratener Kodierung erscheint ein Hinweis, die Umlaute in der Vorschau zu prüfen.
.xlsxjaEs wird ein Blatt gelesen — das erste mit genug Zeilen und Spalten, sonst das größte. Der Blattname steht in der Vorschau.
.xls (altes Format)neinVorher in .xlsx umspeichern.
PDFjaWird per Sprachmodell in eine Tabelle übertragen und läuft danach durch dasselbe Mapping.
XRechnung / ZUGFeRDneinDas sind Rechnungsformate, keine Stammdatenlisten — sie werden abgewiesen.

Was ein Upload niemals tut

Übernommen wird per Upsert über Mandant und Kontonummer. Drei Fälle, und der dritte ist der wichtige:

Und: Ein Upload löscht nie. Konten, die in der neuen Liste fehlen, bleiben stehen. Kommt eine Kontonummer in der Datei mehrfach vor, gilt das erste Vorkommen; die übrigen werden gemeldet. Ein unbrauchbares Pflichtfeld lässt die Zeile ausfallen, ein unbrauchbares optionales Feld lässt die Zeile durch und bleibt leer. Kein einzelner Fehler bricht den ganzen Import ab.

3. Belegverarbeitung: XML zuerst, KI nur wenn nötig

Was mit einem Beleg passiert, entscheidet sein Inhalt — nicht der Dateiname und nicht der Content-Type. Bei einem PDF wird wirklich in den Anhangsbaum geschaut, ob eine Rechnungs-XML eingebettet ist.

XML gewinnt immer, wenn es eines gibt. Ein strukturiertes Feld ist keine Vermutung.
EingangWegSprachmodell beteiligt?
XRechnung (UBL oder CII)XML wird geparst: Beträge, Steuersätze, USt-IdNr., IBAN, Rechnungsnummer stehen als Felder da.nein
ZUGFeRD / Factur-X (PDF mit XML)Die eingebettete XML wird geparst, nicht das PDF-Bild.nein
PDF oder Scan ohne XMLDer Sichtbeleg wird von einem Sprachmodell ausgelesen.ja

Der Grund ist nicht Sparsamkeit, sondern Genauigkeit: Bei einer XRechnung steht der Betrag als Zahl in einem benannten Feld. Da gibt es nichts zu erkennen und nichts zu verwechseln. Der Anteil dieser Belege wächst von allein, und mit ihm verschiebt sich die Arbeit von der Erkennung zur Kontierung.

Erkannt und benannt werden die ZUGFeRD-Profile MINIMUM, BASIC-WL, BASIC, EN16931, EXTENDED und XRECHNUNG.

Ein Sonderfall mit Kreuzprobe. In den Profilen MINIMUM und BASIC-WL dürfen Positionen und Steueraufschlüsselung fehlen. Dann — und nur dann — wird der Sichtbeleg zusätzlich ausgelesen. Weichen XML und Sichtbeleg im Endbetrag voneinander ab, darf niemand automatisch buchen; der Beleg geht in die Prüfung. Scheitert dieser Zusatzschritt (kein KI-Zugang, Überlast), bleiben die XML-Kopfdaten gültig und der Beleg geht mit Hinweis in die Prüfung — er fällt nicht auf „Fehler“.

Was danach nachgerechnet wird, ist unabhängig von der Quelle: Netto plus Umsatzsteuer gegen Brutto und die Summe der Positionen gegen Netto, jeweils auf den Cent. Prüfziffer der USt-IdNr., Prüfsumme der IBAN nach mod 97, kalendarische Gültigkeit des Rechnungsdatums, Vorhandensein der Rechnungsnummer.

Optional kommt eine zweite, unabhängige Meinung hinzu: Ist ein Zugang zum Prüfdienst finisma konfiguriert, wird ein ZUGFeRD-PDF dort gegen EN 16931 geprüft. Das Ergebnis erscheint als eigener Prüfpunkt en16931_valide. Ein „ungültig“ ist ein Blocker und schickt den Beleg in die Prüfung — es bricht die Verarbeitung aber nie ab, und ein nicht gelaufener Check erscheint ausdrücklich nicht als bestandener. Ohne Zugang läuft alles unverändert weiter, der Punkt fehlt dann einfach. Was dabei übertragen wird und an wen, steht in den häufigen Fragen.

4. Kreditor finden: die Matching-Kaskade

Der Lieferant auf der Rechnung muss einem Personenkonto Ihrer Kreditorenliste zugeordnet werden. Vier Stufen, absteigend nach Beweiskraft. Die erste, die trifft, gewinnt.

StufeGrundlageConfidenceWo sie bricht
1. USt-IdNr.Umsatzsteuer-Identifikationsnummer des Verkäufers, normalisiert und mit Formatprüfung0,98Konzerne führen mehrere Gesellschaften unter einer Nummer. Passt sie auf zwei Kreditoren, ist der Treffer nicht eindeutig.
2. IBANIBAN der Rechnung gegen die im Stammsatz hinterlegten IBANs, Prüfsumme mod 970,95Zahlungsdienstleister und Factoring: Auf der Rechnung steht die IBAN des Dienstleisters. Die gehört nicht in den Stammsatz.
3. Name exaktNormalisierter Firmenname, identisch zum Stammsatz (Rechtsform und Schreibweise geglättet)0,90Zwei Gesellschaften mit demselben normalisierten Namen. Dann ist der Treffer nicht eindeutig und beide gehen in die Prüfung.
4. NamensähnlichkeitÄhnlichkeitsmaß über den Namen, Schwelle 0,90höchstens 0,80Der Deckel liegt unter der Auto-Schwelle — ein Ähnlichkeitstreffer bucht nie durch. Normalformen unter vier Zeichen gehen gar nicht erst in diese Stufe: „ABC“ und „ABD“ sind zu 0,83 ähnlich und haben nichts miteinander zu tun.

Zwei Regeln stehen über der Kaskade.

Ein ungültiger Schlüssel wird nicht verglichen. Vor Stufe 1 und 2 werden Prüfziffer bzw. Prüfsumme geprüft. Eine falsch gelesene USt-IdNr. könnte zufällig zu einem fremden Kreditor passen — und würde die Rechnung mit der höchsten Confidence der ganzen Kaskade auf ein falsches Konto buchen. Die Stufe wird deshalb übersprungen und nicht bloß schwächer bewertet.

Mehrdeutigkeit wird nie geraten. Passen zwei Kreditoren gleich gut — bei Ähnlichkeitswerten heißt „gleich gut“: sie liegen weniger als 0,01 auseinander — ist das Ergebnis „Prüfung“ mit beiden Kandidaten, nicht der erste in der Liste. Wird kein Kreditor gefunden, bekommt die Prüfliste bis zu drei Beinah-Treffer als unverbindliche Vorschläge.

Unbekannte Kreditoren werden niemals automatisch angelegt. Ein neuer Lieferant ist eine Entscheidung über Ihren Kontenplan, nicht ein Nebeneffekt eines Belegs. Der Beleg geht in die Prüfung, und dort wird der Kreditor zugeordnet — oder erst einmal in den Stammdaten angelegt.

5. Gegenkonto finden: drei Schichten

Das Gegenkonto — das Sachkonto für den Aufwand — steht nicht auf der Rechnung. Dass ein Lieferant in diesem Betrieb auf 4930 gebucht wird und nicht auf 4980, ist eine Konvention des Mandanten. Drei Schichten, von der stärksten zur schwächsten Aussage:

SchichtWoherConfidenceBraucht ein Sprachmodell?
a) Regeln und AnweisungenWas der Mandant selbst festgelegt hat. Freitext-Anweisungen wirken über den Prompt — das ist der Weg, der Ihnen heute offensteht. Strukturierte Regeln greifen deterministisch, entstehen im MVP aber nur programmatisch und sind in der Oberfläche noch nicht anlegbar.0,95 (strukturierte Regel)nein (strukturierte Regeln); ja, wenn nur eine Freitext-Anweisung vorliegt
b) Kreditor-DefaultDie Hauskontierung dieses Lieferanten — aus dem Stammdaten-Upload oder gelernt.0,90nein
c) SprachmodellNur wenn a und b nichts hergeben. Das Modell wählt aus der Gegenkontenliste des Mandanten.höchstens 0,84ja

Schicht (b) ist der wirtschaftliche Hebel: Greift das Kreditor-Default, wird gar kein Modell gefragt. Das senkt die Kosten je Beleg und macht die Ergebnisse stabil — derselbe Lieferant bekommt immer dasselbe Konto. Eine aktive Freitext-Anweisung schaltet diese Abkürzung ab: Solange eine Anweisung im Spiel ist, darf das Default nicht stillschweigend gewinnen, denn genau das könnte die Anweisung ja umstoßen wollen.

Für Schicht (c) ist entscheidend, wie gefragt wird. Das Modell bekommt die Gegenkontenliste des Mandanten als abgeschlossene Auswahl — technisch ein Enum im Antwortschema — und danach prüft ein deterministischer Check die Antwort noch einmal gegen dieselbe Liste. Ein Konto außerhalb der Liste führt nie zu einer Buchung, sondern in die Prüfung. Eine erfundene Kontonummer kann also nicht in einem Stapel landen.

Und der Deckel bei 0,84 ist mit Bedacht knapp unter der Auto-Schwelle von 0,85 gesetzt. Die Begründung ist eine sicherheitstechnische: Der Beleg gehört dem Absender. Freitextfelder — Notizen, Positionsbezeichnungen, Verwendungszweck — stehen wörtlich im Prompt. Wer sie füllt, könnte darin Anweisungen unterbringen und damit beides steuern: das vorgeschlagene Konto und die gemeldete Sicherheit. Läge der Deckel über der Schwelle, wäre die menschliche Prüfung durch einen präparierten Beleg abschaltbar. Ein Modell, das „1,0“ meldet, hat damit nichts bewiesen.

Strukturierte Regel (0,95) und Kreditor-Default (0,90) bleiben dagegen auto-fähig: Beide entstehen aus Ihren eigenen Daten und wirken deterministisch, ohne dass Belegtext ihre Höhe beeinflussen könnte.

Was das für Anweisungen heißt. Eine Freitext-Anweisung ändert nicht die Confidence, sondern die Frage an das Modell — sie wirkt also innerhalb von Schicht (c) und damit unter dem Deckel von 0,84. Ein Beleg, dessen Konto aus einer Anweisung folgt, geht deshalb trotzdem einmal durch die Prüfung. Nach der ersten Bestätigung greift beim nächsten Beleg desselben Lieferanten das Kreditor-Default und der Satz ist auto-fähig.

Trägt ein Gegenkonto das Kennzeichen Automatikkonto, ist der Steuerschlüssel darin schon enthalten — dann darf kein BU-Schlüssel gesetzt sein. Ein Widerspruch wird beim Bestätigen und beim Export abgewiesen, nicht stillschweigend geglättet.

6. Confidence, Prüfungen und die Ampel

Hier steht die Regel, die das Verhältnis von KI und Verantwortung bestimmt: Die Selbsteinschätzung eines Sprachmodells allein setzt einen Buchungssatz nie auf „automatisch“. Ein Modell ist bei einer falsch gelesenen Zahl genauso überzeugt wie bei einer richtigen. Über „automatisch“ entscheiden ausschließlich nachrechenbare Prüfungen.

Die Ampel

StatusWas er heißtKommt in den Export?
autoAlle blockierenden Prüfungen sind grün und die Gesamtconfidence liegt bei mindestens 0,85. Ein Mensch muss nicht hinsehen.ja
reviewMindestens eine blockierende Prüfung ist offen oder die Confidence liegt unter der Schwelle. Braucht eine menschliche Entscheidung.nein
bestaetigtEin Mensch hat den Satz freigegeben — bestätigt oder korrigiert und bestätigt.ja

Die Gesamtconfidence ist das Minimum der bewerteten Einzelfelder, nicht ihr Durchschnitt. Ein Durchschnitt würde ein einzelnes unsicheres Feld hinter acht sicheren verstecken — genau der Fall, den die Prüfung abfangen soll.

Die Prüfungen

Ein Prüfergebnis hat eine Schwere: blocker verhindert „automatisch“, hinweis wird nur angezeigt. Die Schwere hängt am konkreten Ergebnis, nicht am Namen der Prüfung — eine fehlende IBAN ist ein Hinweis, eine vorhandene mit falscher Prüfsumme ein Blocker. Das ist der Unterschied zwischen „steht nicht drauf“ und „ist falsch“.

Die geschlossene Liste der Prüfungen. Nach diesen Namen lässt sich die Prüfliste filtern.
PrüfungFrage
summenNetto + Umsatzsteuer = Brutto, und Summe der Positionen = Netto — auf den Cent.
ust_idPrüfziffer und Format der USt-IdNr. des Verkäufers.
ibanIBAN-Prüfsumme nach mod 97.
belegdatumRechnungsdatum vorhanden, plausibel und kalendarisch gültig.
rechnungsnummerRechnungsnummer vorhanden — Belegfeld 1 ist für die offene-Posten-Verwaltung Pflicht.
kreditor_eindeutigGenau ein Kreditor der Mandantenliste getroffen?
gegenkonto_bekanntSteht das vorgeschlagene Gegenkonto in der Gegenkontenliste?
kontolaengePasst die Stellenzahl zur Sachkontenlänge des Mandanten?
steuersatz_plausibelPasst der Steuersatz der Rechnung zu Gegenkonto und BU-Schlüssel?
wirtschaftsjahrLiegt das Belegdatum im Wirtschaftsjahr des Stapels?
en16931_valideUrteil des externen Prüfdienstes. Erscheint nur, wenn er tatsächlich gelaufen ist.

Warum ein KI-Vorschlag immer in die Prüfung geht

Weil die Obergrenzen es erzwingen. Ein Gegenkonto aus dem Sprachmodell trägt höchstens 0,84, ein Kreditor aus der Namensähnlichkeit höchstens 0,80 — beide unter der Schwelle von 0,85. Und weil die Gesamtconfidence das Minimum ist, zieht ein solches Feld den ganzen Satz unter die Schwelle. Das ist keine Einstellung, die man versehentlich verschiebt: Der Vorschlag kann seine eigene Bewertung nicht anheben, weil die Grenze nach der Antwort angewendet wird.

Der praktische Nebeneffekt: Der Aufwand fällt einmal je Lieferant an, nicht einmal je Beleg. Nach der ersten Prüfung ist die Zuordnung bekannt, und der nächste Beleg desselben Lieferanten läuft über Schicht (b) — deterministisch und auto-fähig.

7. Korrigieren und Lernen

In der Prüfliste stehen die Sätze, die eine Entscheidung brauchen — mit der Begründung, warum. Zwei Handlungen:

Der Unterschied wird festgehalten, und zwar aus einem handfesten Grund: Er ist die einzige ehrliche Grundlage für die Frage, wie gut die Automatik wirklich arbeitet. Eine Oberfläche, die beides über einen Knopf abbildet, macht die Fälle im Nachhinein ununterscheidbar. Deshalb sind Korrigieren und Freigeben in der Oberfläche auch zwei Schritte: Wer etwas geändert hat, soll die Änderung noch einmal ansehen.

Nicht korrigierbar sind Betrag und Belegdatum. Sie stehen so auf der Rechnung. Stimmt der Betrag nicht, ist die Extraktion falsch, und die Antwort darauf ist ein neuer Verarbeitungslauf — nicht ein überschriebener Wert, der nirgends mehr mit dem Beleg übereinstimmt.

Was gelernt wird

Bewusst simpel und erklärbar: kein Training, kein zweites Modell, keine Statistik, die niemand nachvollziehen kann. Zwei Mechanismen, die man in einem Satz versteht.

1. Das Kreditor-Default. Tragen die letzten zwei bestätigten Buchungssätze eines Kreditors dasselbe Gegenkonto und weicht es vom bisherigen Default ab, wird das Default nachgezogen und als gelernt gekennzeichnet.

Warum erst ab der zweiten konsistenten Korrektur? Eine einzelne Korrektur ist oft belegspezifisch — „diesmal war es eine Anlage, nicht Aufwand“. Würde sie schon das Default setzen, würde die Automatik nach jeder Ausnahme umschwenken, und Sie müssten gegen Ihr eigenes System anarbeiten. Zwei gleiche Entscheidungen hintereinander sind dagegen ein Muster.

2. Beispiele im Prompt. Bestätigte Sätze desselben Kreditors — sonst die mit dem ähnlichsten Belegtext — gehen als Beispiele in die Kontierung: höchstens zehn insgesamt, höchstens fünf davon vom gleichen Kreditor. So sieht das Modell Ihre Konvention, statt sie zu erraten.

Lernsignale sind ausschließlich bestätigte Sätze. Ein Entwurf in der Prüfliste sagt nichts, solange ihn niemand freigegeben hat. Und beide Mechanismen ändern nur das, was ein Mensch mit einer Freigabe bestätigt hat — Sie können jedes gelernte Default in den Stammdaten von Hand überschreiben, und ein solcher Eintrag wird von späteren Uploads nicht wieder plattgemacht.

8. Anweisungen: nachschärfen ohne Programmieren

Manche Konventionen kann man aus keiner Historie ablesen und in keine Kontenliste schreiben. Für die gibt es Anweisungen: Freitext-Regeln je Mandant, in normalen Sätzen.

Wenn es eine Reisekostenabrechnung ist, muss immer die Person
auf der ersten Seite als Kreditor eingetragen werden.

Das Beispiel ist der Musterfall, weil es ein Problem löst, an dem sonst jede Automatik scheitert. Auf einer Reisekostenabrechnung stehen viele Firmennamen — Hotel, Bahn, Restaurant. Der Kreditor ist aber keiner davon, sondern der Mitarbeiter, der die Auslagen ersetzt bekommt. Es gibt kein Merkmal auf dem Beleg, aus dem sich diese Konvention ableiten ließe; sie muss jemand hinschreiben. Danach gilt sie für jeden solchen Beleg dieses Mandanten.

EigenschaftRegel
GeltungsbereichExtraktion, Kontierung oder beides — wählbar je Anweisung.
VorrangAnweisungen stehen am Ende des Prompts und gehen den allgemeinen Regeln vor, wo sie ihnen widersprechen.
Längehöchstens 2000 Zeichen je Anweisung
Anzahlhöchstens 100 je Mandant
AbschaltenDeaktivieren ist der vorgesehene Weg: Die Regel bleibt gespeichert und wirkt nicht mehr — so bleibt nachvollziehbar, unter welcher Regel ein alter Buchungssatz entstand. Endgültiges Löschen ist möglich, aber ein eigener Schritt hinter einer Rückfrage.
Anweisungen kommen nur aus der Mandantenkonfiguration. Niemals aus einem hochgeladenen Dokument. Text auf einer Rechnung als Anweisung zu behandeln, wäre eine offene Tür: Wer die Rechnung schreibt, könnte damit Ihre Kontierung steuern. Deshalb ist die Grenze architektonisch und nicht eine Frage der Formulierung — und deshalb liegt die Obergrenze für einen KI-Vorschlag unter der Auto-Schwelle.

Eine gute Anweisung nennt eine Bedingung und eine Folge und ist so knapp wie möglich. Je Beleg wird protokolliert, wie viele Anweisungen wirksam waren — bei einem überraschenden Vorschlag ist das der erste Ort, an dem man nachsieht.

9. Export nach DATEV

Am Ende steht eine Datei: ein DATEV-Buchungsstapel im EXTF-Format für einen Zeitraum. Enthalten sind alle Sätze mit Status auto und bestaetigt; alles auf review bleibt liegen.

Vor dem Schreiben läuft die strengste Prüfung der ganzen Kette — Kontolängen des Mandanten, Gegenkonto in der Kontenliste, „Automatikkonto ⇒ kein BU-Schlüssel“, Wirtschaftsjahr-Grenze. Der Grund ist einfach: Was hier durchgeht, merkt vor dem DATEV-Import niemand mehr.

Festschreibung bleibt ausnahmslos 0. Ein festgeschriebener Stapel ist in DATEV nicht mehr korrigierbar; diese Entscheidung gehört dem Steuerberater und nicht einem Export. Deshalb ist es eine Konstante und keine Option.

Das EXTF-Format hat eigene Fallstricke — Feldpositionen, ein Belegdatum ohne Jahr, ISO-8859-1 statt UTF-8.

Weiter zur Export-Dokumentation →

Weiterlesen

  • DATEV-Export — EXTF-Format, Feldlängen, GoBD und Festschreibung.
  • API-Referenz — derselbe Ablauf programmgesteuert.
  • MCP-Server — derselbe Ablauf im KI-Chat.
  • Häufige Fragen — Abgrenzung, Datenschutz, Haftung.
  • Blog — Hintergründe zu Matching, Gegenkonten und EXTF.