Ausgangsrechnung stellen

Ausgangsrechnung per KI-Agent stellen

Wiederkehrende Ausgangsrechnungen sind der Klassiker für einen KI-Agenten: Ein Ereignis in Ihrem Shop oder Ihrer eigenen Software löst den Rechnungslauf aus, der Agent stellt die Rechnung und verbucht sie sauber in Ihrer Buchhaltung. Über einen einzigen schreibenden Aufruf entstehen Nettoerlös, Umsatzsteuer und offene Forderung — nachvollziehbar und GoBD-konform. Der Agent ist dabei Ihr Werkzeug (Claude Code, ChatGPT, Cursor, n8n), nicht Teil unserer Software; wir liefern die API, den MCP-Server und den Buchungskern.

Was der Agent beim Stellen einer Ausgangsrechnung übernimmt

Eine Ausgangsrechnung ist kein einzelner Betrag, sondern ein vollständiger Geschäftsvorfall. Der Agent löst genau diesen aus.

Ein Aufruf, ein Geschäftsvorfall

Der Agent ruft das schreibende Werkzeug create_outgoing_invoice (bzw. POST /outgoing-invoices) mit Kunde, Rechnungsdatum, Positionen und Steuersatz auf. Im Hintergrund entsteht der komplette Buchungssatz — Sie müssen keine Konten von Hand vorgeben.

Erlös, Umsatzsteuer, Forderung

Der Nettobetrag landet als Erlös auf dem passenden Ertragskonto, die Umsatzsteuer wird nach dem angegebenen Satz getrennt ausgewiesen, und der Bruttobetrag steht als offene Forderung gegen den Kunden. Aus einer Rechnung wird so ein sauber gebuchter offener Posten.

Nur mit write-Scope

Eine Rechnung zu stellen verändert Daten. Der verwendete jab_live_-Schlüssel muss deshalb den write-Scope tragen. Ein reiner Lese-Schlüssel kann Salden und offene Posten abfragen, aber keine Rechnung anlegen — die Trennung ist bewusst und lässt sich nicht umgehen.

Vom Shop-Ereignis zur gebuchten Rechnung

Der Auslöser sitzt in Ihrer eigenen Umgebung, nicht bei uns.

Der typische Ablauf beginnt außerhalb der Buchhaltung: Ein Kunde schließt eine Bestellung in Ihrem Shop ab, ein Vertrag verlängert sich, oder Sie geben in Ihrer eigenen Software eine Leistung als abgerechnet frei. Dieses Ereignis nimmt Ihr KI-Agent als Prompt oder als strukturierten Datensatz entgegen — etwa über eine Automatisierung in n8n, Make oder Zapier, über Claude Code im Terminal oder über einen Custom GPT.

Der Agent übersetzt das Ereignis in einen fachlich korrekten Rechnungsaufruf: Er ermittelt den Kunden, gliedert die Positionen in Netto-Beträge, setzt den richtigen Umsatzsteuersatz (19 %, 7 % oder steuerfrei) und ruft anschließend den schreibenden Endpoint auf. Die Antwort der API enthält die vergebene Rechnungsnummer und den entstandenen offenen Posten, sodass der Agent das Ergebnis an Ihre Software zurückmeldet.

Weil der Agent Ihr Werkzeug ist, behalten Sie die volle Kontrolle über den Auslöser: Sie entscheiden, ob eine Bestätigung nötig ist, welche Kunden automatisch fakturiert werden und ab welchem Betrag ein Mensch gegenzeichnet. Angebunden wird direkt per REST oder über die gehostete MCP-URL — das npm-Paket @jahresabschluss/buchhaltung-mcp ist noch nicht veröffentlicht, die gehostete URL-Variante ist derzeit der verlässliche Weg. Unsere API prüft jeden Aufruf gegen Schlüssel, Scope und zugeordnete Gesellschaft, unabhängig davon, welcher Client ihn sendet.

Der Aufruf create_outgoing_invoice

Als REST-Aufruf mit Bearer-Schlüssel — der MCP-Server bildet dasselbe Werkzeug ab.

POST /outgoing-invoices
Authorization: Bearer jab_live_…
Content-Type: application/json

{
  "kunde": "Muster Handels GmbH",
  "rechnungsdatum": "2026-07-03",
  "positionen": [
    { "bezeichnung": "Beratung Juli", "netto": 1000.00, "ust_satz": 19 }
  ]
}

// Antwort: Rechnungsnummer + gebuchter offener Posten
// Erlös 1.000,00 · USt 190,00 · Forderung 1.190,00

Umsatzsteuer, Rechnungsnummer und Positionen

Was der Buchungskern beim Fakturieren automatisch richtig macht — und was der Agent liefern muss.

  • Fortlaufende Rechnungsnummer: Der Buchungskern vergibt eine lückenlose, fortlaufende Nummer nach § 14 Abs. 4 UStG. Der Agent muss selbst nicht hochzählen und kann keine Nummer doppelt vergeben — das schließt eine typische Fehlerquelle automatisierter Läufe aus.
  • Steuersatz je Position: 19 % Regelsteuersatz, 7 % ermäßigt oder steuerfrei (z. B. § 4 UStG) gibt der Agent pro Position an; die Umsatzsteuer wird daraufhin getrennt vom Erlös gebucht und im offenen Posten mitgeführt.
  • Reverse-Charge und Kleinunternehmer: Bei Steuerschuldumkehr nach § 13b UStG oder bei Kleinunternehmern nach § 19 UStG weist der Aufruf keine Umsatzsteuer aus — der Nettobetrag ist zugleich der Rechnungs- und Forderungsbetrag.
  • Netto-Positionen als Basis: Positionen werden netto übergeben (Bezeichnung und Betrag). Brutto und Forderung ergeben sich rechnerisch aus Netto plus Umsatzsteuer — nie umgekehrt, damit die Steuer immer sauber herausgerechnet ist.
  • Direkt in den offenen Posten: Die entstandene Forderung erscheint sofort in der OPOS-Übersicht; ein späterer Zahlungseingang oder eine Mahnung knüpft ohne Zwischenschritt an genau diesen Posten an.

GoBD bleibt erzwungen

Eine gestellte Rechnung ist ein Beleg — und bleibt es.

Jeder schreibende Aufruf läuft durch denselben Buchungskern wie eine manuelle Erfassung in der Anwendung. Buchungen sind append-only: Ein einmal festgeschriebener Vorfall wird nicht überschrieben und nicht gelöscht. Stellt der Agent eine fehlerhafte Rechnung, wird sie per Storno neutralisiert und anschließend korrekt neu gestellt — Soll gleich Haben, mit lückenloser Historie.

Damit bleibt die Belegkette auch dann prüfungssicher, wenn Rechnungen automatisiert entstehen. Für die Betriebsprüfung ist nicht erkennbar, ob ein Mensch oder ein Agent gebucht hat — entscheidend ist die Festschreibung, und die gilt unverändert. So können Sie die Fakturierung an einen Agenten übergeben, ohne die Ordnungsmäßigkeit Ihrer Buchführung zu gefährden.

Ein Schlüssel, eine Firma

Die Gesellschaft ergibt sich aus dem Schlüssel — nicht aus einem Parameter.

Keine Firmen-ID im Aufruf

Der jab_live_-Schlüssel ist genau einer Gesellschaft zugeordnet. Der Agent kann die Firma nicht per Parameter wechseln; eine Rechnung landet immer in der Buchhaltung, zu der der Schlüssel gehört. Verwechslungen zwischen Mandanten sind so ausgeschlossen.

14 Werkzeuge, klar getrennt

Insgesamt stehen 14 MCP-Werkzeuge bereit — 10 lesende und 4 schreibende. Das Stellen einer Rechnung gehört zu den vier schreibenden. Vergeben Sie für reine Auswertungen einen Lese-Schlüssel und nur für die Fakturierung einen Schlüssel mit write-Scope.

Häufige Fragen

Welche Berechtigung braucht der Agent, um eine Ausgangsrechnung zu stellen?

Einen jab_live_-Schlüssel mit write-Scope. Eine Rechnung zu stellen verändert Daten und zählt zu den vier schreibenden Werkzeugen. Ein Schlüssel mit nur Lese-Scope kann Kunden, Salden und offene Posten abfragen, aber keine Rechnung anlegen. Legen Sie für die Fakturierung deshalb bewusst einen eigenen Schlüssel mit Schreibrecht an.

Bucht der Aufruf automatisch Erlös, Umsatzsteuer und Forderung?

Ja. Aus Kunde, Positionen und Steuersatz entsteht der vollständige Geschäftsvorfall: Der Nettobetrag wird als Erlös gebucht, die Umsatzsteuer nach dem angegebenen Satz getrennt ausgewiesen und der Bruttobetrag als offene Forderung gegen den Kunden geführt. Sie müssen keine Konten von Hand vorgeben — der Buchungskern übernimmt die Kontierung.

Vergibt die API die Rechnungsnummer oder muss der Agent sie liefern?

Die API vergibt sie. Der Buchungskern setzt eine lückenlose, fortlaufende Rechnungsnummer nach § 14 Abs. 4 UStG; der Agent übergibt Kunde, Datum und Positionen, aber keine eigene Nummer. So kann ein automatisierter Lauf keine Nummer doppelt vergeben und keine Lücke reißen — die Nummernfolge bleibt prüfungssicher, auch wenn viele Rechnungen kurz hintereinander entstehen.

Kann der Agent damit meinen Jahresabschluss oder die E-Bilanz erstellen?

Nein. Die API ist ausschließlich Buchhaltung. Der Agent kann Ausgangsrechnungen stellen und damit Erlöse, Umsatzsteuer und Forderungen sauber erfassen — er bereitet also die Zahlen vor, die später zählen. Der Jahresabschluss, die E-Bilanz oder eine Steuererklärung entstehen daraus nicht über die API, sondern in der Anwendung selbst, mit einem eigenen Prüf- und Freigabeschritt.

Was passiert, wenn der Agent eine falsche Rechnung stellt?

Sie wird nicht gelöscht, sondern per Storno neutralisiert und anschließend korrekt neu gestellt. Buchungen sind append-only und werden festgeschrieben; Soll bleibt gleich Haben, die Historie bleibt lückenlos. Damit ist die Belegkette auch bei automatisierter Fakturierung prüfungssicher — genau wie bei einer manuellen Korrektur in der Anwendung.

Kann ein Schlüssel Rechnungen für mehrere Firmen stellen?

Nein. Ein jab_live_-Schlüssel ist genau einer Gesellschaft zugeordnet, und diese Zuordnung wird aus dem Schlüssel abgeleitet — nicht über einen Parameter im Aufruf. Der Agent kann die Firma also nicht wechseln. Wenn Sie mehrere Mandanten fakturieren, legen Sie je Gesellschaft einen eigenen Schlüssel an.