Angebote
/api/v1/offersAngebote und Auftragsbestätigungen, neueste zuerst.
Berechtigung: offers:read
Query-Parameter
status"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"type"offer" | "order_confirmation"contactIdstringmax. 128 ZeichenlimitintegerAnzahl Einträge (1–100)1–100 · Standard: 25cursorstring`nextCursor` der vorherigen Seitemax. 500 Zeichen
Antwort 200
object"list"PflichtdataArray<Offer>PflichtidstringPflichtmax. 128 Zeichenobject"offer"Pflichttype"offer" | "order_confirmation"Pflichtstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"Pflichtnumberstring | nullPflichtcontactIdstring | 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 | nullPflichtcompanyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectbankobjectinvoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)validUntilstring (date) | nullPflichtDatum (YYYY-MM-DD)priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtcurrency"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
relatedOfferIdstring | nullPflichtAuftragsbestätigung: zugrunde liegendes Angebotmax. 128 ZeichenorderConfirmationIdstring | nullPflichtmax. 128 ZeichenconvertedInvoiceIdsArray<string>Pflichtdaraus erzeugte Rechnungen (Abschlag/Schluss/Rechnung)max. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichendecisionNotestring | nullPflichtacceptedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)rejectedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)language"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (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/offers' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"object": "offer",
"type": "offer",
"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",
"validUntil": "2026-11-01",
"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
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "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/offersEmpfänger, Steuerbehandlung und Preismodus werden – wenn nicht angegeben – aus dem Kontakt bzw. Firma & Rechnung übernommen.
Berechtigung: offers: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) · OfferCreate
type"offer" | "order_confirmation"Standard: "offer"contactIdstring | nullmax. 128 ZeichenrecipientDocumentRecipientnamestringPflichtFirma 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) | nullAngebotsdatum; leer = Tag des FestschreibensvalidUntilstring (date) | nullgültig bis; leer = Datum + Gültigkeit aus den EinstellungenpriceMode"net" | "gross"taxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"Steuerbehandlung des Belegssubjectstringmax. 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
projectIdstring | nullmax. 128 Zeichenlanguage"de" | "en" | nullBelegsprache (PDF, E-Mail); leer/null = Sprache des Kontakts. Wird beim Festschreiben fixiert.
Antwort 201 · Offer
idstringPflichtmax. 128 Zeichenobject"offer"Pflichttype"offer" | "order_confirmation"Pflichtstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"Pflichtnumberstring | nullPflichtcontactIdstring | 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 | nullPflichtcompanyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)validUntilstring (date) | nullPflichtDatum (YYYY-MM-DD)priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtcurrency"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
relatedOfferIdstring | nullPflichtAuftragsbestätigung: zugrunde liegendes Angebotmax. 128 ZeichenorderConfirmationIdstring | nullPflichtmax. 128 ZeichenconvertedInvoiceIdsArray<string>Pflichtdaraus erzeugte Rechnungen (Abschlag/Schluss/Rechnung)max. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichendecisionNotestring | nullPflichtacceptedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)rejectedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)language"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (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/offers' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"type": "offer",
"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",
"validUntil": "2026-11-01",
"priceMode": "net",
"taxTreatment": "regular",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [],
"projectId": "string",
"language": "de"
}'{
"id": "string",
"object": "offer",
"type": "offer",
"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",
"validUntil": "2026-11-01",
"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
}
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/offers/{id}Berechtigung: offers:read
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Antwort 200 · Offer
idstringPflichtmax. 128 Zeichenobject"offer"Pflichttype"offer" | "order_confirmation"Pflichtstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"Pflichtnumberstring | nullPflichtcontactIdstring | 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 | nullPflichtcompanyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)validUntilstring (date) | nullPflichtDatum (YYYY-MM-DD)priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtcurrency"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
relatedOfferIdstring | nullPflichtAuftragsbestätigung: zugrunde liegendes Angebotmax. 128 ZeichenorderConfirmationIdstring | nullPflichtmax. 128 ZeichenconvertedInvoiceIdsArray<string>Pflichtdaraus erzeugte Rechnungen (Abschlag/Schluss/Rechnung)max. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichendecisionNotestring | nullPflichtacceptedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)rejectedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)language"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (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/offers/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "offer",
"type": "offer",
"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",
"validUntil": "2026-11-01",
"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
}
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/offers/{id}Nur Entwürfe. Festgeschriebene Angebote: 409 document_locked – bitte kopieren und neu ausstellen.
Berechtigung: offers:write
Pfadparameter
idstringPflichtID der Ressourcemax. 128 Zeichen
Body (JSON) · OfferUpdate
contactIdstring | nullmax. 128 ZeichenrecipientDocumentRecipientnamestringPflichtFirma 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) | nullAngebotsdatum; leer = Tag des FestschreibensvalidUntilstring (date) | nullgültig bis; leer = Datum + Gültigkeit aus den EinstellungenpriceMode"net" | "gross"taxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"Steuerbehandlung des Belegssubjectstringmax. 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
projectIdstring | nullmax. 128 Zeichenlanguage"de" | "en" | nullBelegsprache (PDF, E-Mail); leer/null = Sprache des Kontakts. Wird beim Festschreiben fixiert.
Antwort 200 · Offer
idstringPflichtmax. 128 Zeichenobject"offer"Pflichttype"offer" | "order_confirmation"Pflichtstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"Pflichtnumberstring | nullPflichtcontactIdstring | 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 | nullPflichtcompanyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)validUntilstring (date) | nullPflichtDatum (YYYY-MM-DD)priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtcurrency"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
relatedOfferIdstring | nullPflichtAuftragsbestätigung: zugrunde liegendes Angebotmax. 128 ZeichenorderConfirmationIdstring | nullPflichtmax. 128 ZeichenconvertedInvoiceIdsArray<string>Pflichtdaraus erzeugte Rechnungen (Abschlag/Schluss/Rechnung)max. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichendecisionNotestring | nullPflichtacceptedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)rejectedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)language"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (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/offers/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"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",
"validUntil": "2026-11-01",
"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"
]
}
],
"projectId": "string",
"language": "de"
}'{
"id": "string",
"object": "offer",
"type": "offer",
"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",
"validUntil": "2026-11-01",
"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
}
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/offers/{id}/api/v1/offers/{id}/acceptBerechtigung: offers: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) · OfferDecision
notestringNotiz, z. B. Grund der Ablehnungmax. 1000 Zeichen
Antwort 200 · Offer
idstringPflichtmax. 128 Zeichenobject"offer"Pflichttype"offer" | "order_confirmation"Pflichtstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"Pflichtnumberstring | nullPflichtcontactIdstring | 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 | nullPflichtcompanyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)validUntilstring (date) | nullPflichtDatum (YYYY-MM-DD)priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtcurrency"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
relatedOfferIdstring | nullPflichtAuftragsbestätigung: zugrunde liegendes Angebotmax. 128 ZeichenorderConfirmationIdstring | nullPflichtmax. 128 ZeichenconvertedInvoiceIdsArray<string>Pflichtdaraus erzeugte Rechnungen (Abschlag/Schluss/Rechnung)max. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichendecisionNotestring | nullPflichtacceptedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)rejectedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)language"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (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/offers/ID/accept' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"note": "string"
}'{
"id": "string",
"object": "offer",
"type": "offer",
"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",
"validUntil": "2026-11-01",
"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
}
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/offers/{id}/audit-logBerechtigung: offers: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/offers/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/offers/{id}/convertinvoice: Rechnungsentwurf mit allen Positionen. advance_invoice + percent: Abschlagsrechnung (je Steuersatz eine Position). final_invoice: Schlussrechnung, die alle festgeschriebenen Abschlagsrechnungen zu diesem Angebot abzieht. order_confirmation: Auftragsbestätigung als Entwurf. Das Angebot gilt danach als angenommen bzw. abgerechnet.
Berechtigung: offers:write, 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) · OfferConvert
target"invoice" | "advance_invoice" | "final_invoice" | "order_confirmation"Pflichtinvoice = Rechnung über alles, advance_invoice = Abschlag, final_invoice = Schlussrechnung abzgl. AbschlägenpercentnumberAbschlag in Prozent (nur advance_invoice)0.01–100
Antwort 201 · OfferConvertResult
offerOfferPflichtidstringPflichtmax. 128 Zeichenobject"offer"Pflichttype"offer" | "order_confirmation"Pflichtstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"Pflichtnumberstring | nullPflichtcontactIdstring | 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 | nullPflichtcompanyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectbankobjectinvoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)validUntilstring (date) | nullPflichtDatum (YYYY-MM-DD)priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtcurrency"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
relatedOfferIdstring | nullPflichtAuftragsbestätigung: zugrunde liegendes Angebotmax. 128 ZeichenorderConfirmationIdstring | nullPflichtmax. 128 ZeichenconvertedInvoiceIdsArray<string>Pflichtdaraus erzeugte Rechnungen (Abschlag/Schluss/Rechnung)max. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichendecisionNotestring | nullPflichtacceptedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)rejectedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)language"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)createdAtstring (date-time)PflichtZeitpunkt (ISO 8601)updatedAtstring (date-time)PflichtZeitpunkt (ISO 8601)
createdIdstringPflichtID der erzeugten Rechnung bzw. Auftragsbestätigungmax. 128 ZeichencreatedObject"invoice" | "offer"Pflicht
curl -X POST 'https://www.debt-flow.io/api/v1/offers/ID/convert' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"target": "invoice",
"percent": 0.01
}'{
"offer": {
"id": "string",
"object": "offer",
"type": "offer",
"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",
"validUntil": "2026-11-01",
"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
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
},
"createdId": "string",
"createdObject": "invoice"
}/api/v1/offers/{id}/dispatchesBerechtigung: offers: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/offers/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/offers/{id}/duplicateBerechtigung: offers: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 · Offer
idstringPflichtmax. 128 Zeichenobject"offer"Pflichttype"offer" | "order_confirmation"Pflichtstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"Pflichtnumberstring | nullPflichtcontactIdstring | 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 | nullPflichtcompanyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)validUntilstring (date) | nullPflichtDatum (YYYY-MM-DD)priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtcurrency"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
relatedOfferIdstring | nullPflichtAuftragsbestätigung: zugrunde liegendes Angebotmax. 128 ZeichenorderConfirmationIdstring | nullPflichtmax. 128 ZeichenconvertedInvoiceIdsArray<string>Pflichtdaraus erzeugte Rechnungen (Abschlag/Schluss/Rechnung)max. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichendecisionNotestring | nullPflichtacceptedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)rejectedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)language"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (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/offers/ID/duplicate' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "offer",
"type": "offer",
"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",
"validUntil": "2026-11-01",
"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
}
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/offers/{id}/finalizeVergibt die Angebots- bzw. Auftragsnummer, setzt Datum und „gültig bis“ und sperrt den Inhalt. Status danach sent (ausgestellt).
Berechtigung: offers: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 · Offer
idstringPflichtmax. 128 Zeichenobject"offer"Pflichttype"offer" | "order_confirmation"Pflichtstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"Pflichtnumberstring | nullPflichtcontactIdstring | 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 | nullPflichtcompanyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)validUntilstring (date) | nullPflichtDatum (YYYY-MM-DD)priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtcurrency"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
relatedOfferIdstring | nullPflichtAuftragsbestätigung: zugrunde liegendes Angebotmax. 128 ZeichenorderConfirmationIdstring | nullPflichtmax. 128 ZeichenconvertedInvoiceIdsArray<string>Pflichtdaraus erzeugte Rechnungen (Abschlag/Schluss/Rechnung)max. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichendecisionNotestring | nullPflichtacceptedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)rejectedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)language"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (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/offers/ID/finalize' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "offer",
"type": "offer",
"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",
"validUntil": "2026-11-01",
"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
}
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/offers/{id}/pdf/api/v1/offers/{id}/rejectBerechtigung: offers: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) · OfferDecision
notestringNotiz, z. B. Grund der Ablehnungmax. 1000 Zeichen
Antwort 200 · Offer
idstringPflichtmax. 128 Zeichenobject"offer"Pflichttype"offer" | "order_confirmation"Pflichtstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"Pflichtnumberstring | nullPflichtcontactIdstring | 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 | nullPflichtcompanyNamestringPflichtownerNamestringlegalFormstringmanagingDirectorsstringstreetstringPflichtzipCodestringPflichtcitystringPflichtcountryCodestringPflichtphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanPflichtcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullPflichtDatum (YYYY-MM-DD)validUntilstring (date) | nullPflichtDatum (YYYY-MM-DD)priceMode"net" | "gross"PflichttaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"PflichtSteuerbehandlung des BelegstaxNoticestring | nullPflichtcurrency"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
relatedOfferIdstring | nullPflichtAuftragsbestätigung: zugrunde liegendes Angebotmax. 128 ZeichenorderConfirmationIdstring | nullPflichtmax. 128 ZeichenconvertedInvoiceIdsArray<string>Pflichtdaraus erzeugte Rechnungen (Abschlag/Schluss/Rechnung)max. 128 ZeichenprojectIdstring | nullPflichtmax. 128 ZeichendecisionNotestring | nullPflichtacceptedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)rejectedAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)language"de" | "en"PflichtBelegsprache (beim Festschreiben fixiert)dispatchobjectPflichtcountintegerPflicht-9007199254740991–9007199254740991lastChannel"email" | "post" | nullPflichtlastSentAtstring (date-time) | nullPflichtZeitpunkt (ISO 8601)
lockedbooleanPflichtlockedAtstring (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/offers/ID/reject' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"note": "string"
}'{
"id": "string",
"object": "offer",
"type": "offer",
"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",
"validUntil": "2026-11-01",
"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
}
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/offers/{id}/sendWie /invoices/{id}/send. Platzhalter im E-Mail-Text zusätzlich {gueltig}.
Berechtigung: offers: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/offers/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"
}