bimetricsEntwickler
Ausgangsrechnungen

Rechnung oder Angebot duplizieren

Als Markdown ansehen

Benötigte Berechtigung:invoices:draft(Rechnungsentwürfe verwalten)

Echte Wirkung

Ändert Daten der Firma; wird atomar mit Idempotenzbeleg und Herkunft protokolliert.
post/api/draft/{id}/copy

Kein Testversand aus der Dokumentation: Dieser Aufruf ist nicht als rein lesend gekennzeichnet. Nutze das Codebeispiel.

Legt wie „Duplizieren“ in der App einen neuen Entwurf derselben Art an, mit Käufer, Positionen und Texten des Originals und dem heutigen Datum. Eine Rechnung behält die Zahlungsfrist des Originals in Tagen; ohne Fälligkeit im Original gilt das Zahlungsziel der Firma, ohne Zahlungsziel 14 Tage. Ihr Leistungszeitraum beginnt heute, ein Ende vor heute entfällt. Skonto bleibt nur, wenn es zur neuen Fälligkeit passt. Ein Angebot gilt so viele Tage wie das Original, ab heute gezählt. Das alte Lieferdatum entfällt. Auftragsbestätigungen, Stornorechnungen und Rechnungskorrekturen lassen sich nicht duplizieren (400). Das Original bleibt unverändert; nichts wird ausgestellt, gebucht oder versendet.

Benötigt einen Schlüssel mit der Berechtigung invoices:draft.

Authentifizierung

headerAuthentifizierungBearer <bm_…>

Empfohlen: Authorization: Bearer bm_…. Der Schlüssel wird nur einmal angezeigt; nie in URLs, Logs oder Frontend-Code ablegen.

Pfadparameter

id*string

ID des Objekts in dieser Firma (UUID).

Formatuuid

Header-Parameter

Idempotency-Key*string

Stabiler Schlüssel für genau diese Änderung: 1–128 druckbare ASCII-Zeichen ohne Leerzeichen. Bei Wiederholungen denselben Schlüssel und unveränderten Inhalt senden; das Ergebnis wird nicht nochmals erzeugt.

Muster^[!-~]+$
Länge1 <= length <= 128

Antworten

Erfolg.

application/json
  1. response

Offener oder abgeschlossener Rechnungsentwurf mit Version und Referenz zum ausgestellten Beleg.

billing?

Nur getDraft eines ausgestellten Angebots oder einer ausgestellten Auftragsbestätigung: Abrechnung des Auftrags mit Abschlägen, abschließender Rechnung und Summen.

billingSummary?

Nur filterDrafts, an ausgestelltem Angebot und ausgestellter Auftragsbestätigung: Kurzform von billing.

companyId?string

ID der Firma.

Formatuuid
createdAt?string

Anlage in bimetrics.

Formatdate-time
creatorUserCompanyId?string

ID der erstellenden Mitgliedschaft.

Formatuuid
deductedBy?

Nur ausgestellter Abschlag: die ausgestellte, nicht stornierte Schlussrechnung, die ihn abzieht.

deletedAt?|

Gilt als gelöscht seit diesem Zeitpunkt; null, solange nicht gelöscht. Gesetzt ist es nur in der Antwort von deleteDraft und deleteOrderConfirmationDraft; gelöschte Entwürfe liefert keine andere Route, auch filterDrafts mit includeDeleted nicht.

Formatdate-time
documentId?|

ID des ausgestellten Rechnungsbelegs; null bei offenem Entwurf.

Formatuuid
documentMatched?boolean

Der ausgestellte Beleg ist bereits einer Zuordnung zugeordnet.

downPaymentOrdinal?integer

Nur Abschlag: seine Ordnungszahl im Auftrag, wie ordinal in billing.

draftBody?

Gespeicherter Rechnungsinhalt.

externalRef?string

Externe Bestellreferenz.

finalTotal?integer

Bruttosumme des ausgestellten Belegs in Cent.

id?string

ID des Entwurfs.

Formatuuid
invoiceCorrection?

Quellgebundener Grund und Bruttokorrekturbeträge je Position.

invoiceNumber?string

Arbeitsnummer; nach Abschluss endgültige Rechnungsnummer.

invoiceRole?string

Rolle der Rechnung im Auftrag: down_payment (Abschlag) oder final (Schlussrechnung), fest ab dem Ableiten; fehlt bei allen anderen Entwürfen. Filterbar in filterDrafts.

Wert in"down_payment""final"
kind?string

Dokumentart invoice, proposal, order_confirmation, cancellation, invoice_correction oder correction_reversal.

legacyProposalTotal?boolean

Angebot vor dem 21.09.2026 ausgestellt: Summe je Zeile gerundet wie sein PDF.

orderConfirmationId?|

Ausgestellte Auftragsbestätigung; null bei offenem Entwurf.

Formatuuid
originalInvoiceId?|

Originalentwurf für eine Stornorechnung; sonst null.

Formatuuid
originalTotal?integer

Bruttosumme des Storno-Originals in Cent.

payment?

Zahlstand einer ausgestellten Rechnung (Typ 380); fehlt bei allen anderen Entwürfen.

proposal?

Ergebnis eines ausgestellten Angebots; fehlt bei allen anderen Entwürfen.

reversesCorrectionDocumentId?string

Ausgestellte Korrektur, die dieser Gegenbeleg aufhebt.

Formatuuid
salesProposalId?|

ID eines erstellten Angebots, falls vorhanden.

Formatuuid
settledByFinalDraftId?string

Nur Storno oder Korrektur eines Abschlags: die Schlussrechnung, deren Ausstellen diesen Beleg erzeugt hat.

Formatuuid
source?string

Zugang bei Anlage: web, api, mcp oder series für erzeugte Serienrechnungen.

sourceInvoiceDocumentId?string

Unverändertes Original einer Rechnungskorrektur.

Formatuuid
sourceOrderConfirmationId?|

Ausdrücklich gewählte finale AB als Rechnungsquelle; sonst null.

Formatuuid
sourceSalesProposalId?|

Ursprüngliches Angebot, falls vorhanden.

Formatuuid
taxCase?

Beim Abschluss eingefrorener Steuerfall.

typeCode?string

EN-16931-Dokumenttyp: Rechnung 380, Rechnungskorrektur 381, Vollstorno oder Korrektur-Gegenbeleg 384.

updatedAt?string

Letzte Änderung.

Formatdate-time
Beispielanfrage
curl --fail-with-body "https://app.bimetrics.de/api/draft/497f6eca-6276-4993-bfeb-53cbbbba6f08/copy" -X POST \  -H "Authorization: Bearer $BIMETRICS_API_KEY" \  -H "Idempotency-Key: rechnung-2026-001"
Beispielantwort
{  "companyId": "9c388e1f-04a6-4770-80bd-66cd98dd00d5",  "createdAt": "2026-09-01T08:00:00Z",  "creatorUserCompanyId": "53cd10a9-c864-4dc3-a777-9860d59efe6c",  "deletedAt": null,  "documentId": null,  "draftBody": {    "buyer": {      "address": {        "city": "Hamburg",        "countryId": "DE",        "line1": "Am Hafen 12",        "postcode": "20457"      },      "contactId": "b17e8812-eae4-49b6-b5dc-30510635cb07",      "customerNumber": 1004,      "email": "",      "name": "Brauhaus Elbwiese GmbH",      "vatId": ""    },    "dueDate": {      "day": 15,      "month": 9,      "year": 2026    },    "issueDate": {      "day": 1,      "month": 9,      "year": 2026    },    "items": [      {        "description": "Gestaltung einer Geschäftsausstattung",        "discount": "0",        "name": "Gestaltung",        "position": "1",        "quantity": "1",        "taxRate": "19",        "unit": "C62",        "unitPrice": "100"      }    ],    "notes": "",    "performancePeriodFrom": {      "day": 1,      "month": 9,      "year": 2026    },    "priceType": "net",    "remark": "",    "showQRCode": false,    "strict": false,    "taxRateReason": "none",    "validUntil": null  },  "id": "821c3664-640a-4e10-b120-a4ff713532f8",  "invoiceNumber": "Entwurf 1042",  "kind": "invoice",  "orderConfirmationId": null,  "originalInvoiceId": null,  "salesProposalId": null,  "source": "api",  "sourceOrderConfirmationId": null,  "sourceSalesProposalId": null,  "typeCode": "380",  "updatedAt": "2026-09-01T08:01:02.123456Z"}