Rechnungen
/api/v1/invoice-settingsStandardtexte, GiroCode, Gültigkeit von Angeboten, E-Mail-Vorlagen, eigene Steuerhinweise und automatische Übergabe ans Mahnwesen.
Berechtigung: invoices:read
Antwort 200 · InvoiceSettings
collectionobjectPflichtenabledbooleanPflichtÜberfällige Rechnungen automatisch als Forderung ins Mahnwesen übergebendaysAfterDueintegerPflichtTage nach Fälligkeit bis zur Übergabe0–365
invoiceobjectPflichtintroTextstringPflichtmax. 5000 ZeichenclosingTextstringPflichtmax. 5000 ZeichenshowGiroCodebooleanPflichtpaymentTermsDaysinteger | nullPflichtleer = aus Firma & Rechnung0–365
offerobjectPflichtintroTextstringPflichtmax. 5000 ZeichenclosingTextstringPflichtmax. 5000 ZeichenvalidityDaysintegerPflicht1–365
emailobjectPflichtinvoiceSubjectstringPflichtmax. 200 ZeicheninvoiceMessagestringPflichtmax. 5000 ZeichenofferSubjectstringPflichtmax. 200 ZeichenofferMessagestringPflichtmax. 5000 ZeichencopyToSelfbooleanPflicht
taxNoticesobjectPflichteigene Pflichthinweise (leer = Standardtext)small_businessstringmax. 500 Zeichenreverse_chargestringmax. 500 Zeichenintra_eu_supplystringmax. 500 Zeichenexportstringmax. 500 Zeichennon_taxablestringmax. 500 Zeichen
curl 'https://www.debt-flow.io/api/v1/invoice-settings' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"collection": {
"enabled": false,
"daysAfterDue": 0
},
"invoice": {
"introText": "string",
"closingText": "string",
"showGiroCode": false,
"paymentTermsDays": 0
},
"offer": {
"introText": "string",
"closingText": "string",
"validityDays": 1
},
"email": {
"invoiceSubject": "string",
"invoiceMessage": "string",
"offerSubject": "string",
"offerMessage": "string",
"copyToSelf": false
},
"taxNotices": {
"small_business": "string",
"reverse_charge": "string",
"intra_eu_supply": "string",
"export": "string",
"non_taxable": "string"
}
}/api/v1/invoice-settingsBerechtigung: invoices:write
Body (JSON) · InvoiceSettingsUpdate
collectionobjectenabledbooleanÜberfällige Rechnungen automatisch als Forderung ins Mahnwesen übergebendaysAfterDueintegerTage nach Fälligkeit bis zur Übergabe0–365
invoiceobjectintroTextstringmax. 5000 ZeichenclosingTextstringmax. 5000 ZeichenshowGiroCodebooleanpaymentTermsDaysinteger | nullleer = aus Firma & Rechnung0–365
offerobjectintroTextstringmax. 5000 ZeichenclosingTextstringmax. 5000 ZeichenvalidityDaysinteger1–365
emailobjectinvoiceSubjectstringmax. 200 ZeicheninvoiceMessagestringmax. 5000 ZeichenofferSubjectstringmax. 200 ZeichenofferMessagestringmax. 5000 ZeichencopyToSelfboolean
taxNoticesobjecteigene Pflichthinweise (leer = Standardtext)small_businessstringmax. 500 Zeichenreverse_chargestringmax. 500 Zeichenintra_eu_supplystringmax. 500 Zeichenexportstringmax. 500 Zeichennon_taxablestringmax. 500 Zeichen
Antwort 200 · InvoiceSettings
collectionobjectPflichtenabledbooleanPflichtÜberfällige Rechnungen automatisch als Forderung ins Mahnwesen übergebendaysAfterDueintegerPflichtTage nach Fälligkeit bis zur Übergabe0–365
invoiceobjectPflichtintroTextstringPflichtmax. 5000 ZeichenclosingTextstringPflichtmax. 5000 ZeichenshowGiroCodebooleanPflichtpaymentTermsDaysinteger | nullPflichtleer = aus Firma & Rechnung0–365
offerobjectPflichtintroTextstringPflichtmax. 5000 ZeichenclosingTextstringPflichtmax. 5000 ZeichenvalidityDaysintegerPflicht1–365
emailobjectPflichtinvoiceSubjectstringPflichtmax. 200 ZeicheninvoiceMessagestringPflichtmax. 5000 ZeichenofferSubjectstringPflichtmax. 200 ZeichenofferMessagestringPflichtmax. 5000 ZeichencopyToSelfbooleanPflicht
taxNoticesobjectPflichteigene Pflichthinweise (leer = Standardtext)small_businessstringmax. 500 Zeichenreverse_chargestringmax. 500 Zeichenintra_eu_supplystringmax. 500 Zeichenexportstringmax. 500 Zeichennon_taxablestringmax. 500 Zeichen
curl -X PATCH 'https://www.debt-flow.io/api/v1/invoice-settings' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"collection": {
"enabled": false,
"daysAfterDue": 0
},
"invoice": {
"introText": "string",
"closingText": "string",
"showGiroCode": false,
"paymentTermsDays": 0
},
"offer": {
"introText": "string",
"closingText": "string",
"validityDays": 1
},
"email": {
"invoiceSubject": "string",
"invoiceMessage": "string",
"offerSubject": "string",
"offerMessage": "string",
"copyToSelf": false
},
"taxNotices": {
"small_business": "string",
"reverse_charge": "string",
"intra_eu_supply": "string",
"export": "string",
"non_taxable": "string"
}
}'{
"collection": {
"enabled": false,
"daysAfterDue": 0
},
"invoice": {
"introText": "string",
"closingText": "string",
"showGiroCode": false,
"paymentTermsDays": 0
},
"offer": {
"introText": "string",
"closingText": "string",
"validityDays": 1
},
"email": {
"invoiceSubject": "string",
"invoiceMessage": "string",
"offerSubject": "string",
"offerMessage": "string",
"copyToSelf": false
},
"taxNotices": {
"small_business": "string",
"reverse_charge": "string",
"intra_eu_supply": "string",
"export": "string",
"non_taxable": "string"
}
}/api/v1/invoicesRechnungen, Gutschriften und Stornorechnungen, neueste zuerst. Filter nach Status, Belegart und Kontakt.
Berechtigung: invoices:read
Query-Parameter
status"draft" | "open" | "partially_paid" | "paid" | "overdue" | "canceled"type"invoice" | "credit_note" | "cancellation"contactIdstringmax. 128 ZeichenlimitintegerAnzahl Einträge (1–100)1–100 · Standard: 25cursorstring`nextCursor` der vorherigen Seitemax. 500 Zeichen
Antwort 200
object"list"PflichtdataArray<Invoice>PflichtidstringPflichtmax. 128 Zeichenobject"invoice"Pflichttype"invoice" | "credit_note" | "cancellation"Pflichtkind"standard" | "advance" | "final"Pflichtstatus"draft" | "open" | "partially_paid" | "paid" | "overdue" | "canceled"Pflichtnumberstring | nullPflichtBelegnummer; erst beim Festschreiben vergebencontactIdstring | nullPflichtmax. 128 ZeichenrecipientDocumentRecipientPflichtnamestringPflichtFirma oder Namemax. 160 ZeichenadditionstringZusatz, z. B. z. Hd. Frau Mustermax. 160 ZeichenstreetstringPflichtmax. 160 Zeichen · Standard: ""zipCodestringPflichtmax. 10 Zeichen · Standard: ""citystringPflichtmax. 80 Zeichen · Standard: ""countrystringPflichtLändercode ISO 3166-1 alpha-2max. 2 Zeichen · Standard: "DE"emailstring (email)Rechnungsempfänger (E-Mail)max. 254 ZeichenvatIdstringUSt-IdNr. des Empfängers (Pflicht bei Reverse Charge/ig. Lieferung)leitwegIdstringLeitweg-ID (XRechnung an Behörden)max. 60 ZeichencustomerNumberstringKundennummer (beim Festschreiben vergeben)max. 40 Zeichen
senderSenderSnapshot | nullPflichtAbsender-Schnappschuss (ab Festschreiben)companyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectbankobjectinvoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)serviceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodServicePeriod | nullPflichtfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
dueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)paymentTermsDaysintegerPflicht-9007199254740991–9007199254740991priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtPflichthinweis (§ 19, § 13b, ig. Lieferung …)currency"EUR"PflichtsubjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectprojectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>Pflicht
deductionsArray<InvoiceDeduction>PflichtSchlussrechnung: abgezogene AbschlagsrechnungeninvoiceIdstringPflichtmax. 128 ZeichennumberstringPflichtissueDatestring (date)PflichtDatum (YYYY-MM-DD)netCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>Pflicht
amountDueCentsintegerPflichtZahlbetrag (Brutto abzüglich Abschläge)-100000000000–100000000000paidCentsintegerPflichtBetrag in Cent-100000000000–100000000000creditedCentsintegerPflichtdurch Gutschriften gemindert-100000000000–100000000000openCentsintegerPflichtBetrag in Cent-100000000000–100000000000relatedInvoiceIdstring | nullPflichtmax. 128 ZeichenadvanceInvoiceIdsArray<string>Pflichtmax. 128 ZeichenofferIdstring | nullPflichtmax. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichenrecurringInvoiceIdstring | nullPflichtmax. 128 ZeichencanceledByInvoiceIdstring | nullPflichtStornorechnung zu dieser Rechnungmax. 128 ZeichendebtIdstring | nullPflichtForderung im Mahnwesen (nach Übergabe)max. 128 ZeichenshowGiroCodebooleanPflichteinvoiceFormat"none" | "zugferd" | "xrechnung"Pflichtlanguage"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
pdfobject | nullPflichtarchiviertes PDF (nach Festschreiben)sha256stringPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)paidAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)handedOverAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
hasMorebooleanPflichtnextCursorstring | nullPflicht
curl 'https://www.debt-flow.io/api/v1/invoices' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"object": "invoice",
"type": "invoice",
"kind": "standard",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"customerNumber": "string"
},
"sender": {
"companyName": null,
"ownerName": null,
"legalForm": null,
"managingDirectors": null,
"street": null,
"zipCode": null,
"city": null,
"countryCode": null,
"phone": null,
"email": null,
"website": null,
"taxNumber": null,
"vatId": null,
"smallBusiness": null,
"commercialRegister": null,
"bank": null,
"invoiceFooter": null
},
"issueDate": "2026-11-01",
"serviceDate": "2026-11-01",
"servicePeriod": {
"from": null,
"to": null
},
"dueDate": "2026-11-01",
"paymentTermsDays": 0,
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": null,
"type": null,
"articleId": null,
"title": null,
"description": null,
"quantity": null,
"unit": null,
"unitPriceCents": null,
"discountPercent": null,
"taxRate": null,
"totalCents": null,
"servicePeriod": null,
"projectId": null,
"timeEntryIds": null
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
null
]
},
"deductions": [
{
"invoiceId": null,
"number": null,
"issueDate": null,
"netCents": null,
"taxCents": null,
"grossCents": null,
"groups": null
}
],
"amountDueCents": 0,
"paidCents": 0,
"creditedCents": 0,
"openCents": 0,
"relatedInvoiceId": "string",
"advanceInvoiceIds": [
"string"
],
"offerId": "string",
"projectId": "string",
"recurringInvoiceId": "string",
"canceledByInvoiceId": "string",
"debtId": "string",
"showGiroCode": false,
"einvoiceFormat": "none",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"pdf": {
"sha256": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"paidAt": "2026-11-01T09:30:00.000Z",
"handedOverAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}
],
"hasMore": false,
"nextCursor": "string"
}/api/v1/invoicesLegt einen Entwurf an (ohne Nummer). Empfänger, Zahlungsziel, Steuerbehandlung und Preismodus werden – wenn nicht angegeben – aus dem Kontakt bzw. aus Firma & Rechnung übernommen. Summen berechnet der Server. type: credit_note mit relatedInvoiceId legt eine Gutschrift (Rechnungskorrektur) an; ohne Positionen werden die der Rechnung übernommen.
Berechtigung: invoices:write
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Body (JSON) · InvoiceCreate
type"invoice" | "credit_note"Stornorechnungen entstehen über POST /invoices/{id}/cancelStandard: "invoice"kind"standard" | "advance" | "final"standard = Rechnung, advance = Abschlagsrechnung, final = SchlussrechnungcontactIdstring | nullKontakt (Kunde) aus /contactsmax. 128 ZeichenrecipientDocumentRecipientEmpfänger; ohne Angabe aus dem Kontakt übernommennamestringPflichtFirma oder Namemax. 160 ZeichenadditionstringZusatz, z. B. z. Hd. Frau Mustermax. 160 ZeichenstreetstringPflichtmax. 160 Zeichen · Standard: ""zipCodestringPflichtmax. 10 Zeichen · Standard: ""citystringPflichtmax. 80 Zeichen · Standard: ""countrystringPflichtLändercode ISO 3166-1 alpha-2max. 2 Zeichen · Standard: "DE"emailstring (email)Rechnungsempfänger (E-Mail)max. 254 ZeichenvatIdstringUSt-IdNr. des Empfängers (Pflicht bei Reverse Charge/ig. Lieferung)leitwegIdstringLeitweg-ID (XRechnung an Behörden)max. 60 ZeichencustomerNumberstringKundennummer (beim Festschreiben vergeben)max. 40 Zeichen
issueDatestring (date) | nullRechnungsdatum; leer = Tag des FestschreibensserviceDatestring (date) | nullLiefer-/LeistungsdatumservicePeriodServicePeriod | nullLeistungszeitraum (statt Leistungsdatum)fromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
dueDatestring (date) | nullFälligkeit; leer = Rechnungsdatum + ZahlungszielpaymentTermsDaysintegerZahlungsziel in Tagen0–365priceMode"net" | "gross"Einzelpreise netto (B2B) oder brutto (B2C)taxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"Steuerbehandlung des BelegssubjectstringBetreff; leer = „Rechnung <Nummer>“max. 200 ZeichenintroTextstringmax. 5000 ZeichenclosingTextstringmax. 5000 ZeichenreferencestringBestellnummer/Referenz des Kundenmax. 100 ZeichenlinesArray<DocumentLine>idstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
relatedInvoiceIdstring | nullGutschrift: korrigierte Rechnungmax. 128 ZeichenadvanceInvoiceIdsArray<string>Schlussrechnung: abzuziehende Abschlagsrechnungenmax. 128 ZeichenofferIdstring | nullmax. 128 ZeichenprojectIdstring | nullmax. 128 ZeichenshowGiroCodebooleanGiroCode (EPC-QR) auf das PDF druckeneinvoiceFormat"none" | "zugferd" | "xrechnung"E-Rechnungsformat (Erzeugung: Modul E-Rechnung)language"de" | "en" | nullBelegsprache (PDF, E-Mail, Freitexte der E-Rechnung); leer/null = Sprache des Kontakts. Wird beim Festschreiben fixiert.
Antwort 201 · Invoice
idstringPflichtmax. 128 Zeichenobject"invoice"Pflichttype"invoice" | "credit_note" | "cancellation"Pflichtkind"standard" | "advance" | "final"Pflichtstatus"draft" | "open" | "partially_paid" | "paid" | "overdue" | "canceled"Pflichtnumberstring | nullPflichtBelegnummer; erst beim Festschreiben vergebencontactIdstring | nullPflichtmax. 128 ZeichenrecipientDocumentRecipientPflichtnamestringPflichtFirma oder Namemax. 160 ZeichenadditionstringZusatz, z. B. z. Hd. Frau Mustermax. 160 ZeichenstreetstringPflichtmax. 160 Zeichen · Standard: ""zipCodestringPflichtmax. 10 Zeichen · Standard: ""citystringPflichtmax. 80 Zeichen · Standard: ""countrystringPflichtLändercode ISO 3166-1 alpha-2max. 2 Zeichen · Standard: "DE"emailstring (email)Rechnungsempfänger (E-Mail)max. 254 ZeichenvatIdstringUSt-IdNr. des Empfängers (Pflicht bei Reverse Charge/ig. Lieferung)leitwegIdstringLeitweg-ID (XRechnung an Behörden)max. 60 ZeichencustomerNumberstringKundennummer (beim Festschreiben vergeben)max. 40 Zeichen
senderSenderSnapshot | nullPflichtAbsender-Schnappschuss (ab Festschreiben)companyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)serviceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodServicePeriod | nullPflichtfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
dueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)paymentTermsDaysintegerPflicht-9007199254740991–9007199254740991priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtPflichthinweis (§ 19, § 13b, ig. Lieferung …)currency"EUR"PflichtsubjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtcategorystringPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000
deductionsArray<InvoiceDeduction>PflichtSchlussrechnung: abgezogene AbschlagsrechnungeninvoiceIdstringPflichtmax. 128 ZeichennumberstringPflichtissueDatestring (date)PflichtDatum (YYYY-MM-DD)netCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000
amountDueCentsintegerPflichtZahlbetrag (Brutto abzüglich Abschläge)-100000000000–100000000000paidCentsintegerPflichtBetrag in Cent-100000000000–100000000000creditedCentsintegerPflichtdurch Gutschriften gemindert-100000000000–100000000000openCentsintegerPflichtBetrag in Cent-100000000000–100000000000relatedInvoiceIdstring | nullPflichtmax. 128 ZeichenadvanceInvoiceIdsArray<string>Pflichtmax. 128 ZeichenofferIdstring | nullPflichtmax. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichenrecurringInvoiceIdstring | nullPflichtmax. 128 ZeichencanceledByInvoiceIdstring | nullPflichtStornorechnung zu dieser Rechnungmax. 128 ZeichendebtIdstring | nullPflichtForderung im Mahnwesen (nach Übergabe)max. 128 ZeichenshowGiroCodebooleanPflichteinvoiceFormat"none" | "zugferd" | "xrechnung"Pflichtlanguage"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
pdfobject | nullPflichtarchiviertes PDF (nach Festschreiben)sha256stringPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)paidAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)handedOverAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/invoices' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"type": "invoice",
"kind": "standard",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"customerNumber": "string"
},
"issueDate": "2026-11-01",
"serviceDate": "2026-11-01",
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"dueDate": "2026-11-01",
"paymentTermsDays": 0,
"priceMode": "net",
"taxTreatment": "regular",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [],
"relatedInvoiceId": "string",
"advanceInvoiceIds": [
"string"
],
"offerId": "string",
"projectId": "string",
"showGiroCode": false,
"einvoiceFormat": "none",
"language": "de"
}'{
"id": "string",
"object": "invoice",
"type": "invoice",
"kind": "standard",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"serviceDate": "2026-11-01",
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"dueDate": "2026-11-01",
"paymentTermsDays": 0,
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"deductions": [
{
"invoiceId": "string",
"number": "string",
"issueDate": "2026-11-01",
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": null,
"netCents": null,
"taxCents": null
}
]
}
],
"amountDueCents": 0,
"paidCents": 0,
"creditedCents": 0,
"openCents": 0,
"relatedInvoiceId": "string",
"advanceInvoiceIds": [
"string"
],
"offerId": "string",
"projectId": "string",
"recurringInvoiceId": "string",
"canceledByInvoiceId": "string",
"debtId": "string",
"showGiroCode": false,
"einvoiceFormat": "none",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"pdf": {
"sha256": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"paidAt": "2026-11-01T09:30:00.000Z",
"handedOverAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/invoices/{id}Berechtigung: invoices:read
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Antwort 200 · Invoice
idstringPflichtmax. 128 Zeichenobject"invoice"Pflichttype"invoice" | "credit_note" | "cancellation"Pflichtkind"standard" | "advance" | "final"Pflichtstatus"draft" | "open" | "partially_paid" | "paid" | "overdue" | "canceled"Pflichtnumberstring | nullPflichtBelegnummer; erst beim Festschreiben vergebencontactIdstring | nullPflichtmax. 128 ZeichenrecipientDocumentRecipientPflichtnamestringPflichtFirma oder Namemax. 160 ZeichenadditionstringZusatz, z. B. z. Hd. Frau Mustermax. 160 ZeichenstreetstringPflichtmax. 160 Zeichen · Standard: ""zipCodestringPflichtmax. 10 Zeichen · Standard: ""citystringPflichtmax. 80 Zeichen · Standard: ""countrystringPflichtLändercode ISO 3166-1 alpha-2max. 2 Zeichen · Standard: "DE"emailstring (email)Rechnungsempfänger (E-Mail)max. 254 ZeichenvatIdstringUSt-IdNr. des Empfängers (Pflicht bei Reverse Charge/ig. Lieferung)leitwegIdstringLeitweg-ID (XRechnung an Behörden)max. 60 ZeichencustomerNumberstringKundennummer (beim Festschreiben vergeben)max. 40 Zeichen
senderSenderSnapshot | nullPflichtAbsender-Schnappschuss (ab Festschreiben)companyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)serviceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodServicePeriod | nullPflichtfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
dueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)paymentTermsDaysintegerPflicht-9007199254740991–9007199254740991priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtPflichthinweis (§ 19, § 13b, ig. Lieferung …)currency"EUR"PflichtsubjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtcategorystringPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000
deductionsArray<InvoiceDeduction>PflichtSchlussrechnung: abgezogene AbschlagsrechnungeninvoiceIdstringPflichtmax. 128 ZeichennumberstringPflichtissueDatestring (date)PflichtDatum (YYYY-MM-DD)netCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000
amountDueCentsintegerPflichtZahlbetrag (Brutto abzüglich Abschläge)-100000000000–100000000000paidCentsintegerPflichtBetrag in Cent-100000000000–100000000000creditedCentsintegerPflichtdurch Gutschriften gemindert-100000000000–100000000000openCentsintegerPflichtBetrag in Cent-100000000000–100000000000relatedInvoiceIdstring | nullPflichtmax. 128 ZeichenadvanceInvoiceIdsArray<string>Pflichtmax. 128 ZeichenofferIdstring | nullPflichtmax. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichenrecurringInvoiceIdstring | nullPflichtmax. 128 ZeichencanceledByInvoiceIdstring | nullPflichtStornorechnung zu dieser Rechnungmax. 128 ZeichendebtIdstring | nullPflichtForderung im Mahnwesen (nach Übergabe)max. 128 ZeichenshowGiroCodebooleanPflichteinvoiceFormat"none" | "zugferd" | "xrechnung"Pflichtlanguage"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
pdfobject | nullPflichtarchiviertes PDF (nach Festschreiben)sha256stringPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)paidAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)handedOverAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl 'https://www.debt-flow.io/api/v1/invoices/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "invoice",
"type": "invoice",
"kind": "standard",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"serviceDate": "2026-11-01",
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"dueDate": "2026-11-01",
"paymentTermsDays": 0,
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"deductions": [
{
"invoiceId": "string",
"number": "string",
"issueDate": "2026-11-01",
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": null,
"netCents": null,
"taxCents": null
}
]
}
],
"amountDueCents": 0,
"paidCents": 0,
"creditedCents": 0,
"openCents": 0,
"relatedInvoiceId": "string",
"advanceInvoiceIds": [
"string"
],
"offerId": "string",
"projectId": "string",
"recurringInvoiceId": "string",
"canceledByInvoiceId": "string",
"debtId": "string",
"showGiroCode": false,
"einvoiceFormat": "none",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"pdf": {
"sha256": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"paidAt": "2026-11-01T09:30:00.000Z",
"handedOverAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/invoices/{id}Nur Entwürfe sind änderbar. Festgeschriebene Belege liefern 409 document_locked – Korrekturen per Gutschrift oder Storno. Wird lines übergeben, ersetzt es alle Positionen.
Berechtigung: invoices:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Body (JSON) · InvoiceUpdate
kind"standard" | "advance" | "final"standard = Rechnung, advance = Abschlagsrechnung, final = SchlussrechnungcontactIdstring | nullKontakt (Kunde) aus /contactsmax. 128 ZeichenrecipientDocumentRecipientEmpfänger; ohne Angabe aus dem Kontakt übernommennamestringPflichtFirma oder Namemax. 160 ZeichenadditionstringZusatz, z. B. z. Hd. Frau Mustermax. 160 ZeichenstreetstringPflichtmax. 160 Zeichen · Standard: ""zipCodestringPflichtmax. 10 Zeichen · Standard: ""citystringPflichtmax. 80 Zeichen · Standard: ""countrystringPflichtLändercode ISO 3166-1 alpha-2max. 2 Zeichen · Standard: "DE"emailstring (email)Rechnungsempfänger (E-Mail)max. 254 ZeichenvatIdstringUSt-IdNr. des Empfängers (Pflicht bei Reverse Charge/ig. Lieferung)leitwegIdstringLeitweg-ID (XRechnung an Behörden)max. 60 ZeichencustomerNumberstringKundennummer (beim Festschreiben vergeben)max. 40 Zeichen
issueDatestring (date) | nullRechnungsdatum; leer = Tag des FestschreibensserviceDatestring (date) | nullLiefer-/LeistungsdatumservicePeriodServicePeriod | nullLeistungszeitraum (statt Leistungsdatum)fromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
dueDatestring (date) | nullFälligkeit; leer = Rechnungsdatum + ZahlungszielpaymentTermsDaysintegerZahlungsziel in Tagen0–365priceMode"net" | "gross"Einzelpreise netto (B2B) oder brutto (B2C)taxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"Steuerbehandlung des BelegssubjectstringBetreff; leer = „Rechnung <Nummer>“max. 200 ZeichenintroTextstringmax. 5000 ZeichenclosingTextstringmax. 5000 ZeichenreferencestringBestellnummer/Referenz des Kundenmax. 100 ZeichenlinesArray<DocumentLine>idstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
relatedInvoiceIdstring | nullGutschrift: korrigierte Rechnungmax. 128 ZeichenadvanceInvoiceIdsArray<string>Schlussrechnung: abzuziehende Abschlagsrechnungenmax. 128 ZeichenofferIdstring | nullmax. 128 ZeichenprojectIdstring | nullmax. 128 ZeichenshowGiroCodebooleanGiroCode (EPC-QR) auf das PDF druckeneinvoiceFormat"none" | "zugferd" | "xrechnung"E-Rechnungsformat (Erzeugung: Modul E-Rechnung)language"de" | "en" | nullBelegsprache (PDF, E-Mail, Freitexte der E-Rechnung); leer/null = Sprache des Kontakts. Wird beim Festschreiben fixiert.
Antwort 200 · Invoice
idstringPflichtmax. 128 Zeichenobject"invoice"Pflichttype"invoice" | "credit_note" | "cancellation"Pflichtkind"standard" | "advance" | "final"Pflichtstatus"draft" | "open" | "partially_paid" | "paid" | "overdue" | "canceled"Pflichtnumberstring | nullPflichtBelegnummer; erst beim Festschreiben vergebencontactIdstring | nullPflichtmax. 128 ZeichenrecipientDocumentRecipientPflichtnamestringPflichtFirma oder Namemax. 160 ZeichenadditionstringZusatz, z. B. z. Hd. Frau Mustermax. 160 ZeichenstreetstringPflichtmax. 160 Zeichen · Standard: ""zipCodestringPflichtmax. 10 Zeichen · Standard: ""citystringPflichtmax. 80 Zeichen · Standard: ""countrystringPflichtLändercode ISO 3166-1 alpha-2max. 2 Zeichen · Standard: "DE"emailstring (email)Rechnungsempfänger (E-Mail)max. 254 ZeichenvatIdstringUSt-IdNr. des Empfängers (Pflicht bei Reverse Charge/ig. Lieferung)leitwegIdstringLeitweg-ID (XRechnung an Behörden)max. 60 ZeichencustomerNumberstringKundennummer (beim Festschreiben vergeben)max. 40 Zeichen
senderSenderSnapshot | nullPflichtAbsender-Schnappschuss (ab Festschreiben)companyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)serviceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodServicePeriod | nullPflichtfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
dueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)paymentTermsDaysintegerPflicht-9007199254740991–9007199254740991priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtPflichthinweis (§ 19, § 13b, ig. Lieferung …)currency"EUR"PflichtsubjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtcategorystringPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000
deductionsArray<InvoiceDeduction>PflichtSchlussrechnung: abgezogene AbschlagsrechnungeninvoiceIdstringPflichtmax. 128 ZeichennumberstringPflichtissueDatestring (date)PflichtDatum (YYYY-MM-DD)netCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000
amountDueCentsintegerPflichtZahlbetrag (Brutto abzüglich Abschläge)-100000000000–100000000000paidCentsintegerPflichtBetrag in Cent-100000000000–100000000000creditedCentsintegerPflichtdurch Gutschriften gemindert-100000000000–100000000000openCentsintegerPflichtBetrag in Cent-100000000000–100000000000relatedInvoiceIdstring | nullPflichtmax. 128 ZeichenadvanceInvoiceIdsArray<string>Pflichtmax. 128 ZeichenofferIdstring | nullPflichtmax. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichenrecurringInvoiceIdstring | nullPflichtmax. 128 ZeichencanceledByInvoiceIdstring | nullPflichtStornorechnung zu dieser Rechnungmax. 128 ZeichendebtIdstring | nullPflichtForderung im Mahnwesen (nach Übergabe)max. 128 ZeichenshowGiroCodebooleanPflichteinvoiceFormat"none" | "zugferd" | "xrechnung"Pflichtlanguage"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
pdfobject | nullPflichtarchiviertes PDF (nach Festschreiben)sha256stringPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)paidAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)handedOverAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X PATCH 'https://www.debt-flow.io/api/v1/invoices/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"kind": "standard",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"customerNumber": "string"
},
"issueDate": "2026-11-01",
"serviceDate": "2026-11-01",
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"dueDate": "2026-11-01",
"paymentTermsDays": 0,
"priceMode": "net",
"taxTreatment": "regular",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"relatedInvoiceId": "string",
"advanceInvoiceIds": [
"string"
],
"offerId": "string",
"projectId": "string",
"showGiroCode": false,
"einvoiceFormat": "none",
"language": "de"
}'{
"id": "string",
"object": "invoice",
"type": "invoice",
"kind": "standard",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"serviceDate": "2026-11-01",
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"dueDate": "2026-11-01",
"paymentTermsDays": 0,
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"deductions": [
{
"invoiceId": "string",
"number": "string",
"issueDate": "2026-11-01",
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": null,
"netCents": null,
"taxCents": null
}
]
}
],
"amountDueCents": 0,
"paidCents": 0,
"creditedCents": 0,
"openCents": 0,
"relatedInvoiceId": "string",
"advanceInvoiceIds": [
"string"
],
"offerId": "string",
"projectId": "string",
"recurringInvoiceId": "string",
"canceledByInvoiceId": "string",
"debtId": "string",
"showGiroCode": false,
"einvoiceFormat": "none",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"pdf": {
"sha256": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"paidAt": "2026-11-01T09:30:00.000Z",
"handedOverAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/invoices/{id}Nur Entwürfe. Festgeschriebene Belege bleiben erhalten (GoBD).
Berechtigung: invoices:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Antwort 204
Erfolg, keine Antwort
curl -X DELETE 'https://www.debt-flow.io/api/v1/invoices/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"/api/v1/invoices/{id}/audit-logAlle Änderungen (GoBD) mit Akteur, Zeitpunkt, geänderten Feldern und Hash der Protokollkette.
Berechtigung: invoices:read
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Query-Parameter
limitintegerAnzahl Einträge (1–100)1–100 · Standard: 25cursorstring`nextCursor` der vorherigen Seitemax. 500 Zeichen
Antwort 200
object"list"PflichtdataArray<AuditEntry>PflichtidstringPflichtlaufende Nummer im ÄnderungsprotokollseqintegerPflicht-9007199254740991–9007199254740991atstring (date-time)PflichtZeitpunkt (ISO 8601)actorActorPflichttype"user" | "api_key" | "oauth" | "system"PflichtidstringPflichtlabelstring
actionstringPflichtchangesobjectPflichtmetaobject | nullPflichthashstringPflicht
hasMorebooleanPflichtnextCursorstring | nullPflicht
curl 'https://www.debt-flow.io/api/v1/invoices/ID/audit-log' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"seq": 0,
"at": "2026-11-01T09:30:00.000Z",
"actor": {
"type": "user",
"id": "string",
"label": "string"
},
"action": "string",
"changes": {},
"meta": {},
"hash": "string"
}
],
"hasMore": false,
"nextCursor": "string"
}/api/v1/invoices/{id}/cancelErzeugt und schreibt eine Stornorechnung über den vollen Betrag fest (Nummernkreis Gutschriften/Stornos) und setzt die Rechnung auf canceled. Bereits gezahlte Beträge stehen als zu erstattender Betrag auf der Stornorechnung. Bei vorhandenen Gutschriften: 409.
Berechtigung: invoices:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Body (JSON) · InvoiceCancel
reasonstringGrund (erscheint auf der Stornorechnung)max. 500 ZeichenissueDatestring (date)Datum der Stornorechnung; Standard heute
Antwort 201 · InvoiceCancelResult
invoiceInvoicePflichtidstringPflichtmax. 128 Zeichenobject"invoice"Pflichttype"invoice" | "credit_note" | "cancellation"Pflichtkind"standard" | "advance" | "final"Pflichtstatus"draft" | "open" | "partially_paid" | "paid" | "overdue" | "canceled"Pflichtnumberstring | nullPflichtBelegnummer; erst beim Festschreiben vergebencontactIdstring | nullPflichtmax. 128 ZeichenrecipientDocumentRecipientPflichtnamestringPflichtFirma oder Namemax. 160 ZeichenadditionstringZusatz, z. B. z. Hd. Frau Mustermax. 160 ZeichenstreetstringPflichtmax. 160 Zeichen · Standard: ""zipCodestringPflichtmax. 10 Zeichen · Standard: ""citystringPflichtmax. 80 Zeichen · Standard: ""countrystringPflichtLändercode ISO 3166-1 alpha-2max. 2 Zeichen · Standard: "DE"emailstring (email)Rechnungsempfänger (E-Mail)max. 254 ZeichenvatIdstringUSt-IdNr. des Empfängers (Pflicht bei Reverse Charge/ig. Lieferung)leitwegIdstringLeitweg-ID (XRechnung an Behörden)max. 60 ZeichencustomerNumberstringKundennummer (beim Festschreiben vergeben)max. 40 Zeichen
senderSenderSnapshot | nullPflichtAbsender-Schnappschuss (ab Festschreiben)companyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectbankobjectinvoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)serviceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodServicePeriod | nullPflichtfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
dueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)paymentTermsDaysintegerPflicht-9007199254740991–9007199254740991priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtPflichthinweis (§ 19, § 13b, ig. Lieferung …)currency"EUR"PflichtsubjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectprojectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>Pflicht
deductionsArray<InvoiceDeduction>PflichtSchlussrechnung: abgezogene AbschlagsrechnungeninvoiceIdstringPflichtmax. 128 ZeichennumberstringPflichtissueDatestring (date)PflichtDatum (YYYY-MM-DD)netCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>Pflicht
amountDueCentsintegerPflichtZahlbetrag (Brutto abzüglich Abschläge)-100000000000–100000000000paidCentsintegerPflichtBetrag in Cent-100000000000–100000000000creditedCentsintegerPflichtdurch Gutschriften gemindert-100000000000–100000000000openCentsintegerPflichtBetrag in Cent-100000000000–100000000000relatedInvoiceIdstring | nullPflichtmax. 128 ZeichenadvanceInvoiceIdsArray<string>Pflichtmax. 128 ZeichenofferIdstring | nullPflichtmax. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichenrecurringInvoiceIdstring | nullPflichtmax. 128 ZeichencanceledByInvoiceIdstring | nullPflichtStornorechnung zu dieser Rechnungmax. 128 ZeichendebtIdstring | nullPflichtForderung im Mahnwesen (nach Übergabe)max. 128 ZeichenshowGiroCodebooleanPflichteinvoiceFormat"none" | "zugferd" | "xrechnung"Pflichtlanguage"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
pdfobject | nullPflichtarchiviertes PDF (nach Festschreiben)sha256stringPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)paidAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)handedOverAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
cancellationInvoicePflichtfestgeschriebene StornorechnungidstringPflichtmax. 128 Zeichenobject"invoice"Pflichttype"invoice" | "credit_note" | "cancellation"Pflichtkind"standard" | "advance" | "final"Pflichtstatus"draft" | "open" | "partially_paid" | "paid" | "overdue" | "canceled"Pflichtnumberstring | nullPflichtBelegnummer; erst beim Festschreiben vergebencontactIdstring | nullPflichtmax. 128 ZeichenrecipientDocumentRecipientPflichtnamestringPflichtFirma oder Namemax. 160 ZeichenadditionstringZusatz, z. B. z. Hd. Frau Mustermax. 160 ZeichenstreetstringPflichtmax. 160 Zeichen · Standard: ""zipCodestringPflichtmax. 10 Zeichen · Standard: ""citystringPflichtmax. 80 Zeichen · Standard: ""countrystringPflichtLändercode ISO 3166-1 alpha-2max. 2 Zeichen · Standard: "DE"emailstring (email)Rechnungsempfänger (E-Mail)max. 254 ZeichenvatIdstringUSt-IdNr. des Empfängers (Pflicht bei Reverse Charge/ig. Lieferung)leitwegIdstringLeitweg-ID (XRechnung an Behörden)max. 60 ZeichencustomerNumberstringKundennummer (beim Festschreiben vergeben)max. 40 Zeichen
senderSenderSnapshot | nullPflichtAbsender-Schnappschuss (ab Festschreiben)companyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectbankobjectinvoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)serviceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodServicePeriod | nullPflichtfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
dueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)paymentTermsDaysintegerPflicht-9007199254740991–9007199254740991priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtPflichthinweis (§ 19, § 13b, ig. Lieferung …)currency"EUR"PflichtsubjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectprojectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>Pflicht
deductionsArray<InvoiceDeduction>PflichtSchlussrechnung: abgezogene AbschlagsrechnungeninvoiceIdstringPflichtmax. 128 ZeichennumberstringPflichtissueDatestring (date)PflichtDatum (YYYY-MM-DD)netCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>Pflicht
amountDueCentsintegerPflichtZahlbetrag (Brutto abzüglich Abschläge)-100000000000–100000000000paidCentsintegerPflichtBetrag in Cent-100000000000–100000000000creditedCentsintegerPflichtdurch Gutschriften gemindert-100000000000–100000000000openCentsintegerPflichtBetrag in Cent-100000000000–100000000000relatedInvoiceIdstring | nullPflichtmax. 128 ZeichenadvanceInvoiceIdsArray<string>Pflichtmax. 128 ZeichenofferIdstring | nullPflichtmax. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichenrecurringInvoiceIdstring | nullPflichtmax. 128 ZeichencanceledByInvoiceIdstring | nullPflichtStornorechnung zu dieser Rechnungmax. 128 ZeichendebtIdstring | nullPflichtForderung im Mahnwesen (nach Übergabe)max. 128 ZeichenshowGiroCodebooleanPflichteinvoiceFormat"none" | "zugferd" | "xrechnung"Pflichtlanguage"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
pdfobject | nullPflichtarchiviertes PDF (nach Festschreiben)sha256stringPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)paidAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)handedOverAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/invoices/ID/cancel' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"reason": "string",
"issueDate": "2026-11-01"
}'{
"invoice": {
"id": "string",
"object": "invoice",
"type": "invoice",
"kind": "standard",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"customerNumber": "string"
},
"sender": {
"companyName": null,
"ownerName": null,
"legalForm": null,
"managingDirectors": null,
"street": null,
"zipCode": null,
"city": null,
"countryCode": null,
"phone": null,
"email": null,
"website": null,
"taxNumber": null,
"vatId": null,
"smallBusiness": null,
"commercialRegister": null,
"bank": null,
"invoiceFooter": null
},
"issueDate": "2026-11-01",
"serviceDate": "2026-11-01",
"servicePeriod": {
"from": null,
"to": null
},
"dueDate": "2026-11-01",
"paymentTermsDays": 0,
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": null,
"type": null,
"articleId": null,
"title": null,
"description": null,
"quantity": null,
"unit": null,
"unitPriceCents": null,
"discountPercent": null,
"taxRate": null,
"totalCents": null,
"servicePeriod": null,
"projectId": null,
"timeEntryIds": null
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
null
]
},
"deductions": [
{
"invoiceId": null,
"number": null,
"issueDate": null,
"netCents": null,
"taxCents": null,
"grossCents": null,
"groups": null
}
],
"amountDueCents": 0,
"paidCents": 0,
"creditedCents": 0,
"openCents": 0,
"relatedInvoiceId": "string",
"advanceInvoiceIds": [
"string"
],
"offerId": "string",
"projectId": "string",
"recurringInvoiceId": "string",
"canceledByInvoiceId": "string",
"debtId": "string",
"showGiroCode": false,
"einvoiceFormat": "none",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"pdf": {
"sha256": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"paidAt": "2026-11-01T09:30:00.000Z",
"handedOverAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
},
"cancellation": {
"id": "string",
"object": "invoice",
"type": "invoice",
"kind": "standard",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"customerNumber": "string"
},
"sender": {
"companyName": null,
"ownerName": null,
"legalForm": null,
"managingDirectors": null,
"street": null,
"zipCode": null,
"city": null,
"countryCode": null,
"phone": null,
"email": null,
"website": null,
"taxNumber": null,
"vatId": null,
"smallBusiness": null,
"commercialRegister": null,
"bank": null,
"invoiceFooter": null
},
"issueDate": "2026-11-01",
"serviceDate": "2026-11-01",
"servicePeriod": {
"from": null,
"to": null
},
"dueDate": "2026-11-01",
"paymentTermsDays": 0,
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": null,
"type": null,
"articleId": null,
"title": null,
"description": null,
"quantity": null,
"unit": null,
"unitPriceCents": null,
"discountPercent": null,
"taxRate": null,
"totalCents": null,
"servicePeriod": null,
"projectId": null,
"timeEntryIds": null
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
null
]
},
"deductions": [
{
"invoiceId": null,
"number": null,
"issueDate": null,
"netCents": null,
"taxCents": null,
"grossCents": null,
"groups": null
}
],
"amountDueCents": 0,
"paidCents": 0,
"creditedCents": 0,
"openCents": 0,
"relatedInvoiceId": "string",
"advanceInvoiceIds": [
"string"
],
"offerId": "string",
"projectId": "string",
"recurringInvoiceId": "string",
"canceledByInvoiceId": "string",
"debtId": "string",
"showGiroCode": false,
"einvoiceFormat": "none",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"pdf": {
"sha256": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"paidAt": "2026-11-01T09:30:00.000Z",
"handedOverAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}
}/api/v1/invoices/{id}/dispatchesBerechtigung: invoices:read
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Query-Parameter
limitintegerAnzahl Einträge (1–100)1–100 · Standard: 25cursorstring`nextCursor` der vorherigen Seitemax. 500 Zeichen
Antwort 200
object"list"PflichtdataArray<InvoiceDispatch>PflichtidstringPflichtmax. 128 ZeicheninvoiceIdstringPflichtmax. 128 Zeichenchannel"email" | "post"Pflichtstatus"sending" | "sent" | "failed"PflichttoArray<string>Pflichtsubjectstring | nullPflichtregisteredbooleanPflichtletterIdstring | nullPflichttrackingRefstring | nullPflichtpageCountinteger | nullPflicht-9007199254740991–9007199254740991priceEurostring | nullPflichterrorstring | nullPflichtactorActor | nullPflichttype"user" | "api_key" | "oauth" | "system"PflichtidstringPflichtlabelstring
createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)sentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
hasMorebooleanPflichtnextCursorstring | nullPflicht
curl 'https://www.debt-flow.io/api/v1/invoices/ID/dispatches' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"invoiceId": "string",
"channel": "email",
"status": "sending",
"to": [
"string"
],
"subject": "string",
"registered": false,
"letterId": "string",
"trackingRef": "string",
"pageCount": 0,
"priceEuro": "string",
"error": "string",
"actor": {
"type": null,
"id": null,
"label": null
},
"createdAt": "2026-11-01T09:30:00.000Z",
"sentAt": "2026-11-01T09:30:00.000Z"
}
],
"hasMore": false,
"nextCursor": "string"
}/api/v1/invoices/{id}/duplicateÜbernimmt Kunde, Texte und Positionen in einen neuen Entwurf (ohne Nummer und Datum).
Berechtigung: invoices:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Antwort 201 · Invoice
idstringPflichtmax. 128 Zeichenobject"invoice"Pflichttype"invoice" | "credit_note" | "cancellation"Pflichtkind"standard" | "advance" | "final"Pflichtstatus"draft" | "open" | "partially_paid" | "paid" | "overdue" | "canceled"Pflichtnumberstring | nullPflichtBelegnummer; erst beim Festschreiben vergebencontactIdstring | nullPflichtmax. 128 ZeichenrecipientDocumentRecipientPflichtnamestringPflichtFirma oder Namemax. 160 ZeichenadditionstringZusatz, z. B. z. Hd. Frau Mustermax. 160 ZeichenstreetstringPflichtmax. 160 Zeichen · Standard: ""zipCodestringPflichtmax. 10 Zeichen · Standard: ""citystringPflichtmax. 80 Zeichen · Standard: ""countrystringPflichtLändercode ISO 3166-1 alpha-2max. 2 Zeichen · Standard: "DE"emailstring (email)Rechnungsempfänger (E-Mail)max. 254 ZeichenvatIdstringUSt-IdNr. des Empfängers (Pflicht bei Reverse Charge/ig. Lieferung)leitwegIdstringLeitweg-ID (XRechnung an Behörden)max. 60 ZeichencustomerNumberstringKundennummer (beim Festschreiben vergeben)max. 40 Zeichen
senderSenderSnapshot | nullPflichtAbsender-Schnappschuss (ab Festschreiben)companyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)serviceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodServicePeriod | nullPflichtfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
dueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)paymentTermsDaysintegerPflicht-9007199254740991–9007199254740991priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtPflichthinweis (§ 19, § 13b, ig. Lieferung …)currency"EUR"PflichtsubjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtcategorystringPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000
deductionsArray<InvoiceDeduction>PflichtSchlussrechnung: abgezogene AbschlagsrechnungeninvoiceIdstringPflichtmax. 128 ZeichennumberstringPflichtissueDatestring (date)PflichtDatum (YYYY-MM-DD)netCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000
amountDueCentsintegerPflichtZahlbetrag (Brutto abzüglich Abschläge)-100000000000–100000000000paidCentsintegerPflichtBetrag in Cent-100000000000–100000000000creditedCentsintegerPflichtdurch Gutschriften gemindert-100000000000–100000000000openCentsintegerPflichtBetrag in Cent-100000000000–100000000000relatedInvoiceIdstring | nullPflichtmax. 128 ZeichenadvanceInvoiceIdsArray<string>Pflichtmax. 128 ZeichenofferIdstring | nullPflichtmax. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichenrecurringInvoiceIdstring | nullPflichtmax. 128 ZeichencanceledByInvoiceIdstring | nullPflichtStornorechnung zu dieser Rechnungmax. 128 ZeichendebtIdstring | nullPflichtForderung im Mahnwesen (nach Übergabe)max. 128 ZeichenshowGiroCodebooleanPflichteinvoiceFormat"none" | "zugferd" | "xrechnung"Pflichtlanguage"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
pdfobject | nullPflichtarchiviertes PDF (nach Festschreiben)sha256stringPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)paidAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)handedOverAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/invoices/ID/duplicate' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "invoice",
"type": "invoice",
"kind": "standard",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"serviceDate": "2026-11-01",
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"dueDate": "2026-11-01",
"paymentTermsDays": 0,
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"deductions": [
{
"invoiceId": "string",
"number": "string",
"issueDate": "2026-11-01",
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": null,
"netCents": null,
"taxCents": null
}
]
}
],
"amountDueCents": 0,
"paidCents": 0,
"creditedCents": 0,
"openCents": 0,
"relatedInvoiceId": "string",
"advanceInvoiceIds": [
"string"
],
"offerId": "string",
"projectId": "string",
"recurringInvoiceId": "string",
"canceledByInvoiceId": "string",
"debtId": "string",
"showGiroCode": false,
"einvoiceFormat": "none",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"pdf": {
"sha256": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"paidAt": "2026-11-01T09:30:00.000Z",
"handedOverAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/invoices/{id}/e-invoiceformat=xrechnung liefert XRechnung 3.0 (UBL, application/xml) – beim ersten Abruf erzeugt und unverändert archiviert. format=zugferd liefert das archivierte Rechnungs-PDF mit eingebetteter factur-x.xml (PDF/A-3, Profil EN 16931); nur für Rechnungen, die mit einvoiceFormat: "zugferd" festgeschrieben wurden. Ohne Angabe: Format der Rechnung, sonst XRechnung.
Berechtigung: invoices:read
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Query-Parameter
format"xrechnung" | "zugferd"xrechnung (XML) oder zugferd (PDF)
Antwort 200
Datei (application/xml).
curl 'https://www.debt-flow.io/api/v1/invoices/ID/e-invoice' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"/api/v1/invoices/{id}/finalizePrüft die Pflichtangaben nach § 14 UStG, vergibt die nächste Nummer aus dem Nummernkreis (lückenlos), übernimmt die Firmenstammdaten als Absender, setzt Rechnungs-, Leistungs- und Fälligkeitsdatum und sperrt den Beleg (Inhalts-Hash, Änderungsprotokoll). Fehlende Angaben: 422 invoice_incomplete mit details.problems.
Berechtigung: invoices:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Antwort 200 · Invoice
idstringPflichtmax. 128 Zeichenobject"invoice"Pflichttype"invoice" | "credit_note" | "cancellation"Pflichtkind"standard" | "advance" | "final"Pflichtstatus"draft" | "open" | "partially_paid" | "paid" | "overdue" | "canceled"Pflichtnumberstring | nullPflichtBelegnummer; erst beim Festschreiben vergebencontactIdstring | nullPflichtmax. 128 ZeichenrecipientDocumentRecipientPflichtnamestringPflichtFirma oder Namemax. 160 ZeichenadditionstringZusatz, z. B. z. Hd. Frau Mustermax. 160 ZeichenstreetstringPflichtmax. 160 Zeichen · Standard: ""zipCodestringPflichtmax. 10 Zeichen · Standard: ""citystringPflichtmax. 80 Zeichen · Standard: ""countrystringPflichtLändercode ISO 3166-1 alpha-2max. 2 Zeichen · Standard: "DE"emailstring (email)Rechnungsempfänger (E-Mail)max. 254 ZeichenvatIdstringUSt-IdNr. des Empfängers (Pflicht bei Reverse Charge/ig. Lieferung)leitwegIdstringLeitweg-ID (XRechnung an Behörden)max. 60 ZeichencustomerNumberstringKundennummer (beim Festschreiben vergeben)max. 40 Zeichen
senderSenderSnapshot | nullPflichtAbsender-Schnappschuss (ab Festschreiben)companyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)serviceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodServicePeriod | nullPflichtfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
dueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)paymentTermsDaysintegerPflicht-9007199254740991–9007199254740991priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtPflichthinweis (§ 19, § 13b, ig. Lieferung …)currency"EUR"PflichtsubjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtcategorystringPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000
deductionsArray<InvoiceDeduction>PflichtSchlussrechnung: abgezogene AbschlagsrechnungeninvoiceIdstringPflichtmax. 128 ZeichennumberstringPflichtissueDatestring (date)PflichtDatum (YYYY-MM-DD)netCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000
amountDueCentsintegerPflichtZahlbetrag (Brutto abzüglich Abschläge)-100000000000–100000000000paidCentsintegerPflichtBetrag in Cent-100000000000–100000000000creditedCentsintegerPflichtdurch Gutschriften gemindert-100000000000–100000000000openCentsintegerPflichtBetrag in Cent-100000000000–100000000000relatedInvoiceIdstring | nullPflichtmax. 128 ZeichenadvanceInvoiceIdsArray<string>Pflichtmax. 128 ZeichenofferIdstring | nullPflichtmax. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichenrecurringInvoiceIdstring | nullPflichtmax. 128 ZeichencanceledByInvoiceIdstring | nullPflichtStornorechnung zu dieser Rechnungmax. 128 ZeichendebtIdstring | nullPflichtForderung im Mahnwesen (nach Übergabe)max. 128 ZeichenshowGiroCodebooleanPflichteinvoiceFormat"none" | "zugferd" | "xrechnung"Pflichtlanguage"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
pdfobject | nullPflichtarchiviertes PDF (nach Festschreiben)sha256stringPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)paidAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)handedOverAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/invoices/ID/finalize' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "invoice",
"type": "invoice",
"kind": "standard",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"serviceDate": "2026-11-01",
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"dueDate": "2026-11-01",
"paymentTermsDays": 0,
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"deductions": [
{
"invoiceId": "string",
"number": "string",
"issueDate": "2026-11-01",
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": null,
"netCents": null,
"taxCents": null
}
]
}
],
"amountDueCents": 0,
"paidCents": 0,
"creditedCents": 0,
"openCents": 0,
"relatedInvoiceId": "string",
"advanceInvoiceIds": [
"string"
],
"offerId": "string",
"projectId": "string",
"recurringInvoiceId": "string",
"canceledByInvoiceId": "string",
"debtId": "string",
"showGiroCode": false,
"einvoiceFormat": "none",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"pdf": {
"sha256": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"paidAt": "2026-11-01T09:30:00.000Z",
"handedOverAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/invoices/{id}/hand-overLegt eine Forderung (/debts) über den offenen Betrag mit Verweis auf die Rechnung an; ab dann greift der Mahnlauf. Voraussetzung: festgeschrieben, offener Betrag, Kontakt zugeordnet. Automatisch per Einstellung (collection.enabled).
Berechtigung: invoices:write, debts:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Antwort 200 · Invoice
idstringPflichtmax. 128 Zeichenobject"invoice"Pflichttype"invoice" | "credit_note" | "cancellation"Pflichtkind"standard" | "advance" | "final"Pflichtstatus"draft" | "open" | "partially_paid" | "paid" | "overdue" | "canceled"Pflichtnumberstring | nullPflichtBelegnummer; erst beim Festschreiben vergebencontactIdstring | nullPflichtmax. 128 ZeichenrecipientDocumentRecipientPflichtnamestringPflichtFirma oder Namemax. 160 ZeichenadditionstringZusatz, z. B. z. Hd. Frau Mustermax. 160 ZeichenstreetstringPflichtmax. 160 Zeichen · Standard: ""zipCodestringPflichtmax. 10 Zeichen · Standard: ""citystringPflichtmax. 80 Zeichen · Standard: ""countrystringPflichtLändercode ISO 3166-1 alpha-2max. 2 Zeichen · Standard: "DE"emailstring (email)Rechnungsempfänger (E-Mail)max. 254 ZeichenvatIdstringUSt-IdNr. des Empfängers (Pflicht bei Reverse Charge/ig. Lieferung)leitwegIdstringLeitweg-ID (XRechnung an Behörden)max. 60 ZeichencustomerNumberstringKundennummer (beim Festschreiben vergeben)max. 40 Zeichen
senderSenderSnapshot | nullPflichtAbsender-Schnappschuss (ab Festschreiben)companyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)serviceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodServicePeriod | nullPflichtfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
dueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)paymentTermsDaysintegerPflicht-9007199254740991–9007199254740991priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtPflichthinweis (§ 19, § 13b, ig. Lieferung …)currency"EUR"PflichtsubjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtcategorystringPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000
deductionsArray<InvoiceDeduction>PflichtSchlussrechnung: abgezogene AbschlagsrechnungeninvoiceIdstringPflichtmax. 128 ZeichennumberstringPflichtissueDatestring (date)PflichtDatum (YYYY-MM-DD)netCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000
amountDueCentsintegerPflichtZahlbetrag (Brutto abzüglich Abschläge)-100000000000–100000000000paidCentsintegerPflichtBetrag in Cent-100000000000–100000000000creditedCentsintegerPflichtdurch Gutschriften gemindert-100000000000–100000000000openCentsintegerPflichtBetrag in Cent-100000000000–100000000000relatedInvoiceIdstring | nullPflichtmax. 128 ZeichenadvanceInvoiceIdsArray<string>Pflichtmax. 128 ZeichenofferIdstring | nullPflichtmax. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichenrecurringInvoiceIdstring | nullPflichtmax. 128 ZeichencanceledByInvoiceIdstring | nullPflichtStornorechnung zu dieser Rechnungmax. 128 ZeichendebtIdstring | nullPflichtForderung im Mahnwesen (nach Übergabe)max. 128 ZeichenshowGiroCodebooleanPflichteinvoiceFormat"none" | "zugferd" | "xrechnung"Pflichtlanguage"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
pdfobject | nullPflichtarchiviertes PDF (nach Festschreiben)sha256stringPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)paidAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)handedOverAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/invoices/ID/hand-over' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "invoice",
"type": "invoice",
"kind": "standard",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"serviceDate": "2026-11-01",
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"dueDate": "2026-11-01",
"paymentTermsDays": 0,
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"deductions": [
{
"invoiceId": "string",
"number": "string",
"issueDate": "2026-11-01",
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": null,
"netCents": null,
"taxCents": null
}
]
}
],
"amountDueCents": 0,
"paidCents": 0,
"creditedCents": 0,
"openCents": 0,
"relatedInvoiceId": "string",
"advanceInvoiceIds": [
"string"
],
"offerId": "string",
"projectId": "string",
"recurringInvoiceId": "string",
"canceledByInvoiceId": "string",
"debtId": "string",
"showGiroCode": false,
"einvoiceFormat": "none",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"pdf": {
"sha256": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"paidAt": "2026-11-01T09:30:00.000Z",
"handedOverAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/invoices/{id}/paymentsBei Gutschriften und Stornorechnungen: Erstattungen an den Kunden.
Berechtigung: invoices:read
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Query-Parameter
limitintegerAnzahl Einträge (1–100)1–100 · Standard: 25cursorstring`nextCursor` der vorherigen Seitemax. 500 Zeichen
Antwort 200
object"list"PflichtdataArray<InvoicePayment>PflichtidstringPflichtmax. 128 ZeicheninvoiceIdstringPflichtmax. 128 ZeichenamountCentsintegerPflichtBetrag in Cent-100000000000–100000000000datestring (date)PflichtDatum (YYYY-MM-DD)method"bank" | "cash" | "stripe" | "paypal" | "offset" | "other"PflichtbankTransactionIdstring | nullPflichtmax. 128 Zeichennotestring | nullPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
hasMorebooleanPflichtnextCursorstring | nullPflicht
curl 'https://www.debt-flow.io/api/v1/invoices/ID/payments' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"invoiceId": "string",
"amountCents": 0,
"date": "2026-11-01",
"method": "bank",
"bankTransactionId": "string",
"note": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
}
],
"hasMore": false,
"nextCursor": "string"
}/api/v1/invoices/{id}/paymentsErfasst einen Zahlungseingang und berechnet offenen Betrag und Status neu (teilbezahlt/bezahlt). Beträge über dem offenen Betrag: 422 overpayment. Löst invoice.partially_paid bzw. invoice.paid aus.
Berechtigung: invoices:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Body (JSON) · InvoicePaymentCreate
amountCentsintegerPflichtBetrag in Cent0–100000000000datestring (date)PflichtDatum (YYYY-MM-DD)method"bank" | "cash" | "stripe" | "paypal" | "offset" | "other"Standard: "bank"bankTransactionIdstringmax. 128 Zeichennotestringmax. 500 Zeichen
Antwort 201 · InvoicePaymentResult
paymentInvoicePaymentPflichtidstringPflichtmax. 128 ZeicheninvoiceIdstringPflichtmax. 128 ZeichenamountCentsintegerPflichtBetrag in Cent-100000000000–100000000000datestring (date)PflichtDatum (YYYY-MM-DD)method"bank" | "cash" | "stripe" | "paypal" | "offset" | "other"PflichtbankTransactionIdstring | nullPflichtmax. 128 Zeichennotestring | nullPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
invoiceInvoicePflichtidstringPflichtmax. 128 Zeichenobject"invoice"Pflichttype"invoice" | "credit_note" | "cancellation"Pflichtkind"standard" | "advance" | "final"Pflichtstatus"draft" | "open" | "partially_paid" | "paid" | "overdue" | "canceled"Pflichtnumberstring | nullPflichtBelegnummer; erst beim Festschreiben vergebencontactIdstring | nullPflichtmax. 128 ZeichenrecipientDocumentRecipientPflichtnamestringPflichtFirma oder Namemax. 160 ZeichenadditionstringZusatz, z. B. z. Hd. Frau Mustermax. 160 ZeichenstreetstringPflichtmax. 160 Zeichen · Standard: ""zipCodestringPflichtmax. 10 Zeichen · Standard: ""citystringPflichtmax. 80 Zeichen · Standard: ""countrystringPflichtLändercode ISO 3166-1 alpha-2max. 2 Zeichen · Standard: "DE"emailstring (email)Rechnungsempfänger (E-Mail)max. 254 ZeichenvatIdstringUSt-IdNr. des Empfängers (Pflicht bei Reverse Charge/ig. Lieferung)leitwegIdstringLeitweg-ID (XRechnung an Behörden)max. 60 ZeichencustomerNumberstringKundennummer (beim Festschreiben vergeben)max. 40 Zeichen
senderSenderSnapshot | nullPflichtAbsender-Schnappschuss (ab Festschreiben)companyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectbankobjectinvoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)serviceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodServicePeriod | nullPflichtfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
dueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)paymentTermsDaysintegerPflicht-9007199254740991–9007199254740991priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtPflichthinweis (§ 19, § 13b, ig. Lieferung …)currency"EUR"PflichtsubjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectprojectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>Pflicht
deductionsArray<InvoiceDeduction>PflichtSchlussrechnung: abgezogene AbschlagsrechnungeninvoiceIdstringPflichtmax. 128 ZeichennumberstringPflichtissueDatestring (date)PflichtDatum (YYYY-MM-DD)netCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>Pflicht
amountDueCentsintegerPflichtZahlbetrag (Brutto abzüglich Abschläge)-100000000000–100000000000paidCentsintegerPflichtBetrag in Cent-100000000000–100000000000creditedCentsintegerPflichtdurch Gutschriften gemindert-100000000000–100000000000openCentsintegerPflichtBetrag in Cent-100000000000–100000000000relatedInvoiceIdstring | nullPflichtmax. 128 ZeichenadvanceInvoiceIdsArray<string>Pflichtmax. 128 ZeichenofferIdstring | nullPflichtmax. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichenrecurringInvoiceIdstring | nullPflichtmax. 128 ZeichencanceledByInvoiceIdstring | nullPflichtStornorechnung zu dieser Rechnungmax. 128 ZeichendebtIdstring | nullPflichtForderung im Mahnwesen (nach Übergabe)max. 128 ZeichenshowGiroCodebooleanPflichteinvoiceFormat"none" | "zugferd" | "xrechnung"Pflichtlanguage"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
pdfobject | nullPflichtarchiviertes PDF (nach Festschreiben)sha256stringPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)paidAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)handedOverAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/invoices/ID/payments' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"amountCents": 0,
"date": "2026-11-01",
"method": "bank",
"bankTransactionId": "string",
"note": "string"
}'{
"payment": {
"id": "string",
"invoiceId": "string",
"amountCents": 0,
"date": "2026-11-01",
"method": "bank",
"bankTransactionId": "string",
"note": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
},
"invoice": {
"id": "string",
"object": "invoice",
"type": "invoice",
"kind": "standard",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"customerNumber": "string"
},
"sender": {
"companyName": null,
"ownerName": null,
"legalForm": null,
"managingDirectors": null,
"street": null,
"zipCode": null,
"city": null,
"countryCode": null,
"phone": null,
"email": null,
"website": null,
"taxNumber": null,
"vatId": null,
"smallBusiness": null,
"commercialRegister": null,
"bank": null,
"invoiceFooter": null
},
"issueDate": "2026-11-01",
"serviceDate": "2026-11-01",
"servicePeriod": {
"from": null,
"to": null
},
"dueDate": "2026-11-01",
"paymentTermsDays": 0,
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": null,
"type": null,
"articleId": null,
"title": null,
"description": null,
"quantity": null,
"unit": null,
"unitPriceCents": null,
"discountPercent": null,
"taxRate": null,
"totalCents": null,
"servicePeriod": null,
"projectId": null,
"timeEntryIds": null
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
null
]
},
"deductions": [
{
"invoiceId": null,
"number": null,
"issueDate": null,
"netCents": null,
"taxCents": null,
"grossCents": null,
"groups": null
}
],
"amountDueCents": 0,
"paidCents": 0,
"creditedCents": 0,
"openCents": 0,
"relatedInvoiceId": "string",
"advanceInvoiceIds": [
"string"
],
"offerId": "string",
"projectId": "string",
"recurringInvoiceId": "string",
"canceledByInvoiceId": "string",
"debtId": "string",
"showGiroCode": false,
"einvoiceFormat": "none",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"pdf": {
"sha256": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"paidAt": "2026-11-01T09:30:00.000Z",
"handedOverAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}
}/api/v1/invoices/{id}/payments/{paymentId}Entfernt eine irrtümlich erfasste Zahlung (protokolliert) und liefert die Rechnung mit neu berechnetem Status.
Berechtigung: invoices:write
Pfadparameter
idstringPflichtmax. 128 ZeichenpaymentIdstringPflichtmax. 128 Zeichen
Antwort 200 · Invoice
idstringPflichtmax. 128 Zeichenobject"invoice"Pflichttype"invoice" | "credit_note" | "cancellation"Pflichtkind"standard" | "advance" | "final"Pflichtstatus"draft" | "open" | "partially_paid" | "paid" | "overdue" | "canceled"Pflichtnumberstring | nullPflichtBelegnummer; erst beim Festschreiben vergebencontactIdstring | nullPflichtmax. 128 ZeichenrecipientDocumentRecipientPflichtnamestringPflichtFirma oder Namemax. 160 ZeichenadditionstringZusatz, z. B. z. Hd. Frau Mustermax. 160 ZeichenstreetstringPflichtmax. 160 Zeichen · Standard: ""zipCodestringPflichtmax. 10 Zeichen · Standard: ""citystringPflichtmax. 80 Zeichen · Standard: ""countrystringPflichtLändercode ISO 3166-1 alpha-2max. 2 Zeichen · Standard: "DE"emailstring (email)Rechnungsempfänger (E-Mail)max. 254 ZeichenvatIdstringUSt-IdNr. des Empfängers (Pflicht bei Reverse Charge/ig. Lieferung)leitwegIdstringLeitweg-ID (XRechnung an Behörden)max. 60 ZeichencustomerNumberstringKundennummer (beim Festschreiben vergeben)max. 40 Zeichen
senderSenderSnapshot | nullPflichtAbsender-Schnappschuss (ab Festschreiben)companyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)serviceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodServicePeriod | nullPflichtfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
dueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)paymentTermsDaysintegerPflicht-9007199254740991–9007199254740991priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtPflichthinweis (§ 19, § 13b, ig. Lieferung …)currency"EUR"PflichtsubjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtcategorystringPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000
deductionsArray<InvoiceDeduction>PflichtSchlussrechnung: abgezogene AbschlagsrechnungeninvoiceIdstringPflichtmax. 128 ZeichennumberstringPflichtissueDatestring (date)PflichtDatum (YYYY-MM-DD)netCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000
amountDueCentsintegerPflichtZahlbetrag (Brutto abzüglich Abschläge)-100000000000–100000000000paidCentsintegerPflichtBetrag in Cent-100000000000–100000000000creditedCentsintegerPflichtdurch Gutschriften gemindert-100000000000–100000000000openCentsintegerPflichtBetrag in Cent-100000000000–100000000000relatedInvoiceIdstring | nullPflichtmax. 128 ZeichenadvanceInvoiceIdsArray<string>Pflichtmax. 128 ZeichenofferIdstring | nullPflichtmax. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichenrecurringInvoiceIdstring | nullPflichtmax. 128 ZeichencanceledByInvoiceIdstring | nullPflichtStornorechnung zu dieser Rechnungmax. 128 ZeichendebtIdstring | nullPflichtForderung im Mahnwesen (nach Übergabe)max. 128 ZeichenshowGiroCodebooleanPflichteinvoiceFormat"none" | "zugferd" | "xrechnung"Pflichtlanguage"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
pdfobject | nullPflichtarchiviertes PDF (nach Festschreiben)sha256stringPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)paidAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)handedOverAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X DELETE 'https://www.debt-flow.io/api/v1/invoices/ID/payments/PAYMENTID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "invoice",
"type": "invoice",
"kind": "standard",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"serviceDate": "2026-11-01",
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"dueDate": "2026-11-01",
"paymentTermsDays": 0,
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"deductions": [
{
"invoiceId": "string",
"number": "string",
"issueDate": "2026-11-01",
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": null,
"netCents": null,
"taxCents": null
}
]
}
],
"amountDueCents": 0,
"paidCents": 0,
"creditedCents": 0,
"openCents": 0,
"relatedInvoiceId": "string",
"advanceInvoiceIds": [
"string"
],
"offerId": "string",
"projectId": "string",
"recurringInvoiceId": "string",
"canceledByInvoiceId": "string",
"debtId": "string",
"showGiroCode": false,
"einvoiceFormat": "none",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"pdf": {
"sha256": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"paidAt": "2026-11-01T09:30:00.000Z",
"handedOverAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/invoices/{id}/pdfFestgeschriebene Belege: das beim ersten Abruf archivierte, unveränderte PDF (SHA-256 in pdf.sha256). Entwürfe: Vorschau mit Kennzeichnung „Entwurf“.
Berechtigung: invoices:read
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Antwort 200
Datei (application/pdf).
curl 'https://www.debt-flow.io/api/v1/invoices/ID/pdf' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"/api/v1/invoices/{id}/sendchannel: email sendet das PDF als Anhang im Namen Ihrer Firma (Antworten an Ihre Rechnungs-E-Mail). channel: post druckt und versendet das PDF über Briefdiener (kostenpflichtig bzw. Monatskontingent, optional als Einschreiben) und verlangt zusätzlich den Scope letters:write. Nur festgeschriebene Belege; mit finalize: true wird ein Entwurf vorher festgeschrieben.
Berechtigung: invoices:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Body (JSON) · InvoiceSend
channel"email" | "post"PflichttoArray<string (email)>E-Mail: Empfänger; Standard Rechnungs-E-Mail des Kontaktsmax. 254 ZeichenccArray<string (email)>max. 254 ZeichencopyToSelfbooleanE-Mail: Kopie an die eigene Rechnungs-E-Mailsubjectstringmax. 200 ZeichenmessagestringE-Mail-Text; Platzhalter {nummer} {betrag} {faellig} {kunde} {firma}max. 5000 ZeichenregisteredbooleanPost: als EinschreibenfinalizebooleanEntwurf vor dem Versand festschreiben
Antwort 201 · InvoiceDispatch
idstringPflichtmax. 128 ZeicheninvoiceIdstringPflichtmax. 128 Zeichenchannel"email" | "post"Pflichtstatus"sending" | "sent" | "failed"PflichttoArray<string>Pflichtsubjectstring | nullPflichtregisteredbooleanPflichtletterIdstring | nullPflichttrackingRefstring | nullPflichtpageCountinteger | nullPflicht-9007199254740991–9007199254740991priceEurostring | nullPflichterrorstring | nullPflichtactorActor | nullPflichttype"user" | "api_key" | "oauth" | "system"PflichtidstringPflichtlabelstring
createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)sentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
Mögliche Fehler: 400, 401, 402, 403, 404, 409, 422, 429, 500, 502
curl -X POST 'https://www.debt-flow.io/api/v1/invoices/ID/send' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"channel": "email",
"to": [
"[email protected]"
],
"cc": [
"[email protected]"
],
"copyToSelf": false,
"subject": "string",
"message": "string",
"registered": false,
"finalize": false
}'{
"id": "string",
"invoiceId": "string",
"channel": "email",
"status": "sending",
"to": [
"string"
],
"subject": "string",
"registered": false,
"letterId": "string",
"trackingRef": "string",
"pageCount": 0,
"priceEuro": "string",
"error": "string",
"actor": {
"type": "user",
"id": "string",
"label": "string"
},
"createdAt": "2026-11-01T09:30:00.000Z",
"sentAt": "2026-11-01T09:30:00.000Z"
}/api/v1/invoices/summaryAnzahl der Entwürfe sowie Anzahl und offener Betrag der offenen und überfälligen Rechnungen.
Berechtigung: invoices:read
Antwort 200 · InvoiceSummary
draftobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991
openobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991openCentsintegerPflichtBetrag in Cent-100000000000–100000000000
overdueobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991openCentsintegerPflichtBetrag in Cent-100000000000–100000000000
curl 'https://www.debt-flow.io/api/v1/invoices/summary' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"draft": {
"count": 0
},
"open": {
"count": 0,
"openCents": 0
},
"overdue": {
"count": 0,
"openCents": 0
}
}/api/v1/recurring-invoicesBerechtigung: invoices:read
Query-Parameter
limitintegerAnzahl Einträge (1–100)1–100 · Standard: 25cursorstring`nextCursor` der vorherigen Seitemax. 500 Zeichen
Antwort 200
object"list"PflichtdataArray<RecurringInvoice>PflichtidstringPflichtmax. 128 Zeichenobject"recurring_invoice"PflichtnamestringPflichtactivebooleanPflichtcontactIdstringPflichtmax. 128 Zeicheninterval"weekly" | "monthly" | "quarterly" | "half_yearly" | "yearly"PflichtnextRunDatestring (date)PflichtDatum (YYYY-MM-DD)endDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodMode"none" | "current_period" | "previous_period"PflichtautoFinalizebooleanPflichtautoSendbooleanPflichtpriceMode"net" | "gross" | nullPflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable" | nullPflichtSteuerbehandlung des BelegspaymentTermsDaysinteger | nullPflicht-9007199254740991–9007199254740991subjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectprojectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtVorschau mit den aktuellen PositionennetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>Pflicht
invoiceCountintegerPflicht-9007199254740991–9007199254740991lastRunAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)lastInvoiceIdstring | nullPflichtmax. 128 ZeichenlastErrorstring | nullPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
hasMorebooleanPflichtnextCursorstring | nullPflicht
curl 'https://www.debt-flow.io/api/v1/recurring-invoices' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"object": "recurring_invoice",
"name": "string",
"active": false,
"contactId": "string",
"interval": "weekly",
"nextRunDate": "2026-11-01",
"endDate": "2026-11-01",
"servicePeriodMode": "none",
"autoFinalize": false,
"autoSend": false,
"priceMode": "net",
"taxTreatment": "regular",
"paymentTermsDays": 0,
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": null,
"type": null,
"articleId": null,
"title": null,
"description": null,
"quantity": null,
"unit": null,
"unitPriceCents": null,
"discountPercent": null,
"taxRate": null,
"totalCents": null,
"servicePeriod": null,
"projectId": null,
"timeEntryIds": null
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
null
]
},
"invoiceCount": 0,
"lastRunAt": "2026-11-01T09:30:00.000Z",
"lastInvoiceId": "string",
"lastError": "string",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}
],
"hasMore": false,
"nextCursor": "string"
}/api/v1/recurring-invoicesVorlage mit Kunde, Positionen und Intervall. Der tägliche Lauf erzeugt am Termin eine Rechnung (Entwurf oder festgeschrieben, optional per E-Mail versendet). Platzhalter in Betreff/Einleitung/Positionen: {zeitraum} {monat} {jahr}.
Berechtigung: invoices:write
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Body (JSON) · RecurringInvoiceCreate
namestringPflichtmax. 120 ZeichenactivebooleanStandard: truecontactIdstringPflichtmax. 128 Zeicheninterval"weekly" | "monthly" | "quarterly" | "half_yearly" | "yearly"PflichtnextRunDatestring (date)PflichtNächstes RechnungsdatumendDatestring (date) | nullletztes mögliches Rechnungsdatum (leer = unbegrenzt)servicePeriodMode"none" | "current_period" | "previous_period"Standard: "none"autoFinalizebooleanRechnung sofort festschreiben (sonst Entwurf zur Prüfung)Standard: falseautoSendbooleanfestgeschriebene Rechnung per E-Mail sendenStandard: falsepriceMode"net" | "gross"taxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"Steuerbehandlung des BelegspaymentTermsDaysinteger0–365subjectstringPlatzhalter {zeitraum} {monat} {jahr}max. 200 ZeichenintroTextstringmax. 5000 ZeichenclosingTextstringmax. 5000 Zeichenreferencestringmax. 100 ZeichenlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
Antwort 201 · RecurringInvoice
idstringPflichtmax. 128 Zeichenobject"recurring_invoice"PflichtnamestringPflichtactivebooleanPflichtcontactIdstringPflichtmax. 128 Zeicheninterval"weekly" | "monthly" | "quarterly" | "half_yearly" | "yearly"PflichtnextRunDatestring (date)PflichtDatum (YYYY-MM-DD)endDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodMode"none" | "current_period" | "previous_period"PflichtautoFinalizebooleanPflichtautoSendbooleanPflichtpriceMode"net" | "gross" | nullPflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable" | nullPflichtSteuerbehandlung des BelegspaymentTermsDaysinteger | nullPflicht-9007199254740991–9007199254740991subjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtVorschau mit den aktuellen PositionennetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtcategorystringPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000
invoiceCountintegerPflicht-9007199254740991–9007199254740991lastRunAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)lastInvoiceIdstring | nullPflichtmax. 128 ZeichenlastErrorstring | nullPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/recurring-invoices' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"active": true,
"contactId": "string",
"interval": "weekly",
"nextRunDate": "2026-11-01",
"endDate": "2026-11-01",
"servicePeriodMode": "none",
"autoFinalize": false,
"autoSend": false,
"priceMode": "net",
"taxTreatment": "regular",
"paymentTermsDays": 0,
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
]
}'{
"id": "string",
"object": "recurring_invoice",
"name": "string",
"active": false,
"contactId": "string",
"interval": "weekly",
"nextRunDate": "2026-11-01",
"endDate": "2026-11-01",
"servicePeriodMode": "none",
"autoFinalize": false,
"autoSend": false,
"priceMode": "net",
"taxTreatment": "regular",
"paymentTermsDays": 0,
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"invoiceCount": 0,
"lastRunAt": "2026-11-01T09:30:00.000Z",
"lastInvoiceId": "string",
"lastError": "string",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/recurring-invoices/{id}Berechtigung: invoices:read
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Antwort 200 · RecurringInvoice
idstringPflichtmax. 128 Zeichenobject"recurring_invoice"PflichtnamestringPflichtactivebooleanPflichtcontactIdstringPflichtmax. 128 Zeicheninterval"weekly" | "monthly" | "quarterly" | "half_yearly" | "yearly"PflichtnextRunDatestring (date)PflichtDatum (YYYY-MM-DD)endDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodMode"none" | "current_period" | "previous_period"PflichtautoFinalizebooleanPflichtautoSendbooleanPflichtpriceMode"net" | "gross" | nullPflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable" | nullPflichtSteuerbehandlung des BelegspaymentTermsDaysinteger | nullPflicht-9007199254740991–9007199254740991subjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtVorschau mit den aktuellen PositionennetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtcategorystringPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000
invoiceCountintegerPflicht-9007199254740991–9007199254740991lastRunAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)lastInvoiceIdstring | nullPflichtmax. 128 ZeichenlastErrorstring | nullPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl 'https://www.debt-flow.io/api/v1/recurring-invoices/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "recurring_invoice",
"name": "string",
"active": false,
"contactId": "string",
"interval": "weekly",
"nextRunDate": "2026-11-01",
"endDate": "2026-11-01",
"servicePeriodMode": "none",
"autoFinalize": false,
"autoSend": false,
"priceMode": "net",
"taxTreatment": "regular",
"paymentTermsDays": 0,
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"invoiceCount": 0,
"lastRunAt": "2026-11-01T09:30:00.000Z",
"lastInvoiceId": "string",
"lastError": "string",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/recurring-invoices/{id}Änderungen gelten ab dem nächsten Termin. active: false pausiert die Vorlage.
Berechtigung: invoices:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Body (JSON) · RecurringInvoiceUpdate
namestringmax. 120 ZeichenactivebooleancontactIdstringmax. 128 Zeicheninterval"weekly" | "monthly" | "quarterly" | "half_yearly" | "yearly"nextRunDatestring (date)Nächstes RechnungsdatumendDatestring (date) | nullletztes mögliches Rechnungsdatum (leer = unbegrenzt)servicePeriodMode"none" | "current_period" | "previous_period"autoFinalizebooleanRechnung sofort festschreiben (sonst Entwurf zur Prüfung)autoSendbooleanfestgeschriebene Rechnung per E-Mail sendenpriceMode"net" | "gross"taxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"Steuerbehandlung des BelegspaymentTermsDaysinteger0–365subjectstringPlatzhalter {zeitraum} {monat} {jahr}max. 200 ZeichenintroTextstringmax. 5000 ZeichenclosingTextstringmax. 5000 Zeichenreferencestringmax. 100 ZeichenlinesArray<DocumentLine>idstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
Antwort 200 · RecurringInvoice
idstringPflichtmax. 128 Zeichenobject"recurring_invoice"PflichtnamestringPflichtactivebooleanPflichtcontactIdstringPflichtmax. 128 Zeicheninterval"weekly" | "monthly" | "quarterly" | "half_yearly" | "yearly"PflichtnextRunDatestring (date)PflichtDatum (YYYY-MM-DD)endDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodMode"none" | "current_period" | "previous_period"PflichtautoFinalizebooleanPflichtautoSendbooleanPflichtpriceMode"net" | "gross" | nullPflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable" | nullPflichtSteuerbehandlung des BelegspaymentTermsDaysinteger | nullPflicht-9007199254740991–9007199254740991subjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtVorschau mit den aktuellen PositionennetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtcategorystringPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000
invoiceCountintegerPflicht-9007199254740991–9007199254740991lastRunAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)lastInvoiceIdstring | nullPflichtmax. 128 ZeichenlastErrorstring | nullPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X PATCH 'https://www.debt-flow.io/api/v1/recurring-invoices/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"name": "string",
"active": false,
"contactId": "string",
"interval": "weekly",
"nextRunDate": "2026-11-01",
"endDate": "2026-11-01",
"servicePeriodMode": "none",
"autoFinalize": false,
"autoSend": false,
"priceMode": "net",
"taxTreatment": "regular",
"paymentTermsDays": 0,
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
]
}'{
"id": "string",
"object": "recurring_invoice",
"name": "string",
"active": false,
"contactId": "string",
"interval": "weekly",
"nextRunDate": "2026-11-01",
"endDate": "2026-11-01",
"servicePeriodMode": "none",
"autoFinalize": false,
"autoSend": false,
"priceMode": "net",
"taxTreatment": "regular",
"paymentTermsDays": 0,
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"invoiceCount": 0,
"lastRunAt": "2026-11-01T09:30:00.000Z",
"lastInvoiceId": "string",
"lastError": "string",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/recurring-invoices/{id}Bereits erzeugte Rechnungen bleiben erhalten.
Berechtigung: invoices:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Antwort 204
Erfolg, keine Antwort
curl -X DELETE 'https://www.debt-flow.io/api/v1/recurring-invoices/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"/api/v1/recurring-invoices/{id}/runErzeugt die Rechnung für den nächsten Termin sofort und schaltet die Vorlage auf den folgenden Termin weiter.
Berechtigung: invoices:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Header
Idempotency-KeystringEindeutiger Schlüssel (8–255 Zeichen). Wiederholte Anfragen mit gleichem Schlüssel liefern 24 h lang dieselbe Antwort.max. 255 Zeichen
Antwort 201 · Invoice
idstringPflichtmax. 128 Zeichenobject"invoice"Pflichttype"invoice" | "credit_note" | "cancellation"Pflichtkind"standard" | "advance" | "final"Pflichtstatus"draft" | "open" | "partially_paid" | "paid" | "overdue" | "canceled"Pflichtnumberstring | nullPflichtBelegnummer; erst beim Festschreiben vergebencontactIdstring | nullPflichtmax. 128 ZeichenrecipientDocumentRecipientPflichtnamestringPflichtFirma oder Namemax. 160 ZeichenadditionstringZusatz, z. B. z. Hd. Frau Mustermax. 160 ZeichenstreetstringPflichtmax. 160 Zeichen · Standard: ""zipCodestringPflichtmax. 10 Zeichen · Standard: ""citystringPflichtmax. 80 Zeichen · Standard: ""countrystringPflichtLändercode ISO 3166-1 alpha-2max. 2 Zeichen · Standard: "DE"emailstring (email)Rechnungsempfänger (E-Mail)max. 254 ZeichenvatIdstringUSt-IdNr. des Empfängers (Pflicht bei Reverse Charge/ig. Lieferung)leitwegIdstringLeitweg-ID (XRechnung an Behörden)max. 60 ZeichencustomerNumberstringKundennummer (beim Festschreiben vergeben)max. 40 Zeichen
senderSenderSnapshot | nullPflichtAbsender-Schnappschuss (ab Festschreiben)companyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)serviceDatestring (date) | nullPflichtDatum (YYYY-MM-DD)servicePeriodServicePeriod | nullPflichtfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
dueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)paymentTermsDaysintegerPflicht-9007199254740991–9007199254740991priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtPflichthinweis (§ 19, § 13b, ig. Lieferung …)currency"EUR"PflichtsubjectstringPflichtintroTextstringPflichtclosingTextstringPflichtreferencestringPflichtlinesArray<DocumentLine>Pflichtidstringstabile Positions-ID (vom Server vergeben, wenn leer)max. 40 Zeichentype"item" | "text" | "subtotal"Position, reine Textzeile oder ZwischensummeStandard: "item"articleIdstringBezug zum Artikelstammmax. 128 ZeichentitlestringPflichtmax. 300 Zeichendescriptionstringmax. 5000 Zeichenquantitynumber-1000000–1000000 · Standard: 1unitstringEinheit, z. B. Stk, Std, pauschal (UN/ECE Rec 20 für E-Rechnung: Modul)max. 20 ZeichenunitPriceCentsintegerBetrag in Cent-100000000000–100000000000 · Standard: 0discountPercentnumber0–100taxRatenumberSteuersatz in Prozent (19, 7, 0 …)0–100 · Standard: 19totalCentsintegerBetrag in Cent-100000000000–100000000000servicePeriodobjectfromstring (date)PflichtDatum (YYYY-MM-DD)tostring (date)PflichtDatum (YYYY-MM-DD)
projectIdstringmax. 128 ZeichentimeEntryIdsArray<string>max. 128 Zeichen
totalsDocumentTotalsPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtcategorystringPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000
deductionsArray<InvoiceDeduction>PflichtSchlussrechnung: abgezogene AbschlagsrechnungeninvoiceIdstringPflichtmax. 128 ZeichennumberstringPflichtissueDatestring (date)PflichtDatum (YYYY-MM-DD)netCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000grossCentsintegerPflichtBetrag in Cent-100000000000–100000000000groupsArray<object>PflichttaxRatenumberPflichtnetCentsintegerPflichtBetrag in Cent-100000000000–100000000000taxCentsintegerPflichtBetrag in Cent-100000000000–100000000000
amountDueCentsintegerPflichtZahlbetrag (Brutto abzüglich Abschläge)-100000000000–100000000000paidCentsintegerPflichtBetrag in Cent-100000000000–100000000000creditedCentsintegerPflichtdurch Gutschriften gemindert-100000000000–100000000000openCentsintegerPflichtBetrag in Cent-100000000000–100000000000relatedInvoiceIdstring | nullPflichtmax. 128 ZeichenadvanceInvoiceIdsArray<string>Pflichtmax. 128 ZeichenofferIdstring | nullPflichtmax. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichenrecurringInvoiceIdstring | nullPflichtmax. 128 ZeichencanceledByInvoiceIdstring | nullPflichtStornorechnung zu dieser Rechnungmax. 128 ZeichendebtIdstring | nullPflichtForderung im Mahnwesen (nach Übergabe)max. 128 ZeichenshowGiroCodebooleanPflichteinvoiceFormat"none" | "zugferd" | "xrechnung"Pflichtlanguage"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
pdfobject | nullPflichtarchiviertes PDF (nach Festschreiben)sha256stringPflichtcreatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)paidAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)handedOverAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/recurring-invoices/ID/run' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "invoice",
"type": "invoice",
"kind": "standard",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"serviceDate": "2026-11-01",
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"dueDate": "2026-11-01",
"paymentTermsDays": 0,
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"deductions": [
{
"invoiceId": "string",
"number": "string",
"issueDate": "2026-11-01",
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": null,
"netCents": null,
"taxCents": null
}
]
}
],
"amountDueCents": 0,
"paidCents": 0,
"creditedCents": 0,
"openCents": 0,
"relatedInvoiceId": "string",
"advanceInvoiceIds": [
"string"
],
"offerId": "string",
"projectId": "string",
"recurringInvoiceId": "string",
"canceledByInvoiceId": "string",
"debtId": "string",
"showGiroCode": false,
"einvoiceFormat": "none",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"pdf": {
"sha256": "string",
"createdAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"paidAt": "2026-11-01T09:30:00.000Z",
"handedOverAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}