Rechnung erzeugen
bb_invoices_createCreates a final outgoing invoice, credit note, or quote in BuchhaltungsButler — numbered, as PDF, and as an accounting document. Use once a transaction is finalized.
Instructions
Erzeugt in BuchhaltungsButler eine endgültige Ausgangsrechnung, eine Gutschrift oder ein Angebot: nummeriert, als PDF und als Ausgangsbeleg der Buchhaltung. Zu nehmen, sobald der Vorgang final ist, etwa 10 Std. Beratung zu 120.00 je Stunde; bb_invoices_create_draft erzeugt stattdessen einen Entwurf ohne Nummernvergabe, bb_invoices_create_einvoice eine E-Rechnung mit Steuerart je Position. Die API kennt keinen Pfad, eine Rechnung oder ihr PDF zu lesen; nachsehen lässt sich das Ergebnis nur in der Weboberfläche. Einen Währungsparameter gibt es nicht, Rechnungen über die API laufen in Euro. Schreibt in die echten Buchhaltungsdaten von BuchhaltungsButler. Die API bietet keinen Endpunkt, das rückgängig zu machen.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| zip | No | Postleitzahl, zum Beispiel "28195". | |
| city | No | Ort, zum Beispiel Bremen. | |
| date | Yes | Rechnungsdatum als YYYY-MM-DD, zum Beispiel 2026-04-26. Ein leerer String wird abgelehnt; das Feld stattdessen weglassen. Die Spezifikation nennt hier kein Format; YYYY-MM-DD gilt überall sonst in dieser API. | |
| No | E-Mail-Adresse, zum Beispiel rechnung@beispiel.de. | ||
| items | Yes | Die Rechnungspositionen, je Eintrag eine Zeile des Dokuments. item_amount ist die Menge und nicht der Betrag; der Preis einer Einheit steht in item_single_price. Die BuchhaltungsButler-API nimmt diese Werte als parallele Arrays entgegen (item_name, item_amount, item_unit, item_vat, item_single_price, item_description); dieses Werkzeug nimmt eine Positionsliste und rechnet sie um, wodurch die Arrays zwingend gleich lang sind. | |
| street | No | Straße und Hausnummer, zum Beispiel Hauptstraße 12. | |
| country | No | Land des Empfängers, deutscher Ländername oder ISO-Code, zum Beispiel DK. | |
| due_days | No | Tage bis zur Fälligkeit, Ziffernfolge, zum Beispiel 14. Nur dieses Feld erzeugt ein Fälligkeitsdatum. Die Vorgabe ohne Angabe ist hier nicht dokumentiert. | |
| language | No | Sprache der festen Beschriftungen: 'de_DE' oder 'en_US', ohne Angabe 'de_DE'. Positionstexte werden nicht übersetzt. | |
| company_name | Yes | Firmenname des Empfängers, wie er auf dem Dokument erscheint. | |
| invoice_type | Yes | Art des Dokuments: 'invoice' Rechnung, 'credit' Gutschrift, 'offer' Angebot. Heißt in der API type, hier umbenannt: type ist dort siebenfach belegt. | |
| discount_type | No | Rabatt auf die gesamte Rechnung: 'percent' Prozent, 'EUR' Euro. Positionsrabatte kennt die API nicht; gemeinsam mit discount_value setzen. | |
| invoicenumber | No | Rechnungsnummer. Ohne Angabe vergibt BuchhaltungsButler sie aus dem eigenen Nummernkreis. | |
| show_bankdata | No | true zeigt die im Mandanten hinterlegte Bankverbindung auf dem Dokument. Die Bankdaten selbst stammen aus den Mandanteneinstellungen. | |
| correspondence | No | Anschreiben an den Empfänger, erscheint vor den Positionen. | |
| date_of_supply | No | Liefer- oder Leistungsdatum, freier Text oder YYYY-MM-DD. Nur im Format YYYY-MM-DD wird der Wert zusätzlich date_delivery des entstehenden Belegs. Ein Datum nach date verwirft BuchhaltungsButler wegen der DATEV-Regel stillschweigend. | |
| discount_value | No | Höhe des Rabatts mit Dezimalpunkt, zum Beispiel 10 oder 49.50. Die Bedeutung entscheidet discount_type. | |
| customer_number | No | Kunden- oder Lieferantennummer des Mandanten. | |
| final_provisions | No | Schlusstext des Dokuments, erscheint nach den Positionen. | |
| show_contactdata | No | true zeigt die im Mandanten hinterlegten Kontaktdaten auf dem Dokument. | |
| show_prices_type | Yes | Preisdarstellung: 'net' Nettopreise, 'gross' Bruttopreise. Danach werden die Werte in item_single_price gelesen. | |
| payment_reference | No | Zahlungsreferenz für die spätere Zuordnung zu einer Zahlung: Amazon-Bestellnummer oder Vorgangsnummer von PayPal oder Stripe. | |
| payment_conditions | No | Zahlungsbedingungen als Text auf dem Dokument. Erzeugt kein Fälligkeitsdatum, dafür ist due_days da. | |
| recurring_interval | No | Rhythmus eines Rechnungsplans: 'weekly', 'monthly', 'quarterly' oder 'yearly'. Es entsteht ein dauerhafter Plan, der selbsttätig weitere Rechnungen erzeugt und über die API weder lesbar noch zu beenden ist. | |
| contact_person_name | No | Name der Ansprechperson, zum Beispiel Maria Schmidt. | |
| recurring_date_next | No | Nächster Termin des Rechnungsplans als YYYY-MM-DD. Ein leerer String wird abgelehnt; das Feld stattdessen weglassen. Pflicht, sobald recurring_interval gesetzt ist. | |
| additional_addressline | No | Zusätzliche Adresszeile, zum Beispiel Gebäude B. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| created | No | ||
| message | No | ||
| success | Yes | ||
| endpoint | No | ||
| reversal | No | ||
| _contract_warnings | No | ||
| fields_not_returned | No |