Octibiz
Demo

Durchsucht Website und Dokumentation gemeinsam. Enter zeigt alle Treffer, Esc schließt.

Faktura — API und MCP

Überblick

Dieser Bereich stellt 52 Operationen bereit. Jede davon ist zugleich ein MCP-Werkzeug.

Der Bereich hängt am Modul-Schalter module.invoicing. Ist das Modul aus, antworten diese Operationen mit 404.

Operationen

MethodePfadZweckRechtParameter
GET/api/v1/dunning-levelsListe der DunningLevelinvoicing.dunning.manage · invoicing.config.managepage, brandId
POST/api/v1/dunning-levelsEine DunningLevel anlegeninvoicing.config.manage+ Rumpf
DELETE/api/v1/dunning-levels/{ulid}Eine DunningLevel löscheninvoicing.config.manageulid
GET/api/v1/dunning-levels/{ulid}Eine DunningLevel leseninvoicing.dunning.manage · invoicing.config.manageulid
PATCH/api/v1/dunning-levels/{ulid}Eine DunningLevel änderninvoicing.config.manageulid, + Rumpf
GET/api/v1/invoice-correction-summaryListe der InvoiceCorrectionSummaryinvoicing.invoice.view—
GET/api/v1/invoice-paymentsListe der InvoicePaymentinvoicing.payment.record · invoicing.invoice.viewpage, customerId, source, invoiceUlid
POST/api/v1/invoice-paymentsEine InvoicePayment anlegeninvoicing.payment.record+ Rumpf
POST/api/v1/invoice-payments/lexoffice-syncZahlungseingänge mit lexoffice abgleichen — Fragt für offene, an lexoffice übergebene Rechnungen den Zahlungsstand in lexoffice ab und bucht die noch fehlenden Zahlungseingänge (Quelle lexoffice, maschinell zugeordnet). Gebucht wird nur die Differenz zu den bereits verbuchten Zahlungen — ein zweiter Lauf bucht nichts doppelt. Derselbe Lauf läuft stündlich im Zeitplan; ohne lexoffice-Zugang oder bei abgeschaltetem Schalter invoicing.lexoffice.payment_sync bucht er nichts. Antwortet mit dem Bericht des Laufs; läuft gerade ein Zeitplan-Lauf, 409.finance.lexoffice.sync+ Rumpf
GET/api/v1/invoicesListe der Invoiceinvoicing.invoice.viewpage, status, type, creditKind, recurringInvoiceId, sourceOrderId, customerId, brandId, ownerId, q, receivable, exportStatus, order[number], order[status], order[issueDate], order[dueDate], order[totalAmount], order[createdAt]
POST/api/v1/invoicesEine Invoice anlegeninvoicing.invoice.create+ Rumpf
POST/api/v1/invoices/bulk-sendRechnungen gesammelt versenden — Payload {invoiceUlids: [...]} (höchstens 100). Antwort {results: [{ulid, number, ok, reason}]} — reason ist der Fehlerschlüssel, wenn eine Rechnung nicht hinausging (Entwurf, storniert, kein Empfänger, fremde Marke).invoicing.invoice.send+ Rumpf
GET/api/v1/invoices/dunning-boardMahnwesen-Board und Mahnlauf-Vorschau — Überfällige offene Rechnungen mit aktueller Mahnstufe und der Wirkung des nächsten Mahnlaufs (nextLevel, nextFeeAmount, nextInterestAmount; null = keine neue Stufe fällig oder pausiert). Höchstens 500 Zeilen.invoicing.dunning.managebrandId
POST/api/v1/invoices/dunning-runEine InvoiceDunning anlegeninvoicing.dunning.manage+ Rumpf
POST/api/v1/invoices/from-orderCreate invoice from an order — Create invoice from an order. Dedicated action endpoint — not a standard CRUD create.invoicing.invoice.create+ Rumpf
GET/api/v1/invoices/legacy-documentsAltbelege (Lese-Archiv) — Kopfdaten übernommener Altbelege, neueste zuerst. Ohne Buchungswirkung.invoicing.invoice.viewpage, q, customerId, documentType, brandId, sourceSystem, dateFrom, dateTo, order[number], order[documentDate], order[customerName], order[grossAmount]
POST/api/v1/invoices/legacy-documentsAltbeleg einspielen — Legt einen Altbeleg im Lese-Archiv an — Kopfdaten, optional das PDF als pdfBase64. Gleiche Herkunft (sourceSystem + externalId) ein zweites Mal liefert den vorhandenen Beleg (created: false). Netto + Steuer muss Brutto ergeben.invoicing.config.manage+ Rumpf
DELETE/api/v1/invoices/legacy-documents/{ulid}Fehlimport entfernen — Entfernt einen falsch eingespielten Altbeleg samt PDF; danach ist dieselbe Herkunft neu einspielbar.invoicing.config.manageulid
GET/api/v1/invoices/legacy-documents/{ulid}Eine LegacyDocument leseninvoicing.invoice.viewulid
GET/api/v1/invoices/legacy-documents/{ulid}/pdfPDF eines Altbelegs — Liefert das archivierte PDF; 404, solange keines angehängt ist.invoicing.invoice.viewulid
POST/api/v1/invoices/legacy-documents/{ulid}/pdfPDF an Altbeleg hängen — Hängt das PDF (pdfBase64, max. 10 MB) an einen Altbeleg ohne PDF. Ein vorhandenes PDF wird nie ersetzt (409).invoicing.config.manageulid, + Rumpf
POST/api/v1/invoices/owner-reassignmentInhaber von Rechnungen ändern — Setzt den Inhaber (ownerId, User-Id) an einem oder vielen Belegen (ulids, max. 500) — auch festgeschrieben, z. B. beim Ausscheiden eines Mitarbeiters. Der Beleginhalt bleibt unverändert; jede Änderung steht im Änderungsprotokoll (Herkunft owner_reassignment). Entwürfe genügen mit invoicing.invoice.create, alle anderen Belege brauchen invoicing.invoice.reassign_owner. Belege ohne dieses Recht in ihrer Marke oder außerhalb der Sichtbarkeit: not_found; Ziel-Nutzer ohne invoicing.invoice.view in der Beleg-Marke: target_not_allowed; schon Inhaber: unchanged. Ausgeschiedener/unbekannter Ziel-Nutzer: 422.invoicing.invoice.reassign_owner · invoicing.invoice.create+ Rumpf
DELETE/api/v1/invoices/{ulid}Eine Invoice löscheninvoicing.invoice.createulid
GET/api/v1/invoices/{ulid}Eine Invoice leseninvoicing.invoice.viewulid
PATCH/api/v1/invoices/{ulid}Eine Invoice änderninvoicing.invoice.createulid, + Rumpf
POST/api/v1/invoices/{ulid}/cancelCancel invoice — Cancel invoice. Dedicated action endpoint — not a standard CRUD create.invoicing.invoice.cancelulid, + Rumpf
POST/api/v1/invoices/{ulid}/correctCorrect invoice — Correct invoice. Dedicated action endpoint — not a standard CRUD create.invoicing.invoice.cancelulid, + Rumpf
POST/api/v1/invoices/{ulid}/dunning-pauseRechnung aus dem Mahnlauf nehmen — Payload {until: Y-m-d, reason}. Bis einschließlich until entsteht keine neue Mahnstufe (Zahlungsvereinbarung, Kulanz); die Überfälligkeit wird weiter festgestellt. reason ist Pflicht (Prüfpfad). Nur an festgeschriebenen, offenen Rechnungen (409 sonst).invoicing.dunning.manageulid, + Rumpf
POST/api/v1/invoices/{ulid}/dunning-resumeMahnpause aufheben — Die Rechnung nimmt wieder am Mahnlauf teil.invoicing.dunning.manageulid, + Rumpf
GET/api/v1/invoices/{ulid}/dunningsListe der InvoiceDunninginvoicing.invoice.view · invoicing.dunning.manageulid
POST/api/v1/invoices/{ulid}/dunnings/{dunningUlid}/mark-sentMahnung als postalisch versendet vermerken — Vermerkt die Mahnung als auf dem Postweg versendet (setzt sentAt). Es wird keine Mail verschickt.invoicing.dunning.manageulid, dunningUlid, + Rumpf
GET/api/v1/invoices/{ulid}/dunnings/{dunningUlid}/pdfEine InvoiceDunning leseninvoicing.invoice.view · invoicing.dunning.manageulid, dunningUlid
POST/api/v1/invoices/{ulid}/dunnings/{dunningUlid}/resolveMahnvorgang abschließen — Schließt den Mahnvorgang als erledigt ab; die Mahnstufe läuft nicht weiter.invoicing.dunning.manageulid, dunningUlid, + Rumpf
POST/api/v1/invoices/{ulid}/dunnings/{dunningUlid}/sendSend dunning — Send dunning. Dedicated action endpoint — not a standard CRUD create.invoicing.dunning.manageulid, dunningUlid, + Rumpf
GET/api/v1/invoices/{ulid}/e-invoiceEine Invoice leseninvoicing.invoice.viewulid
POST/api/v1/invoices/{ulid}/e-invoiceE-Rechnung erzeugen — Erzeugt idempotent die E-Rechnung zur FESTGESCHRIEBENEN Rechnung. Format aus eInvoiceFormat, sonst vom Beleg, dann vom Kunden, sonst XRechnung.invoicing.invoice.einvoiceulid, + Rumpf
POST/api/v1/invoices/{ulid}/export-retryÜbergabe an lexoffice wiederholen — Legt die Übergabe der festgeschriebenen Rechnung an (falls sie fehlt) und fährt sie sofort; ein Fehler oder Konflikt wird dabei zurückgesetzt. Ohne eingerichtete lexoffice-Anbindung bleibt der Stand pending und der nächste Lauf holt ihn nach. Antwort trägt exportStatus/exportError.finance.lexoffice.synculid, + Rumpf
POST/api/v1/invoices/{ulid}/issueIssue invoice — Issue invoice. Dedicated action endpoint — not a standard CRUD create.invoicing.invoice.issueulid, + Rumpf
GET/api/v1/invoices/{ulid}/pdfEine Invoice leseninvoicing.invoice.viewulid
POST/api/v1/invoices/{ulid}/redeem-voucherGutschein auf der Rechnung einlösen — Löst einen Rabattgutschein auf der Rechnung ein und schreibt ihn als Position — bei mehreren Steuersätzen je Satz eine Zeile. Nur im Entwurf; nicht auf Gutschrift oder Kostenbeleg. Derselbe Code ein zweites Mal: 422.invoicing.invoice.createulid, + Rumpf
POST/api/v1/invoices/{ulid}/revoke-voucherGutschein-Einlösung der Rechnung zurücknehmen — Entfernt die Gutschein-Positionen und gibt den Wert an den Gutschein zurück.invoicing.invoice.createulid, + Rumpf
POST/api/v1/invoices/{ulid}/sendSend invoice — Send invoice. Dedicated action endpoint — not a standard CRUD create.invoicing.invoice.sendulid, + Rumpf
GET/api/v1/invoices/{ulid}/vouchersEingelöste Gutscheine der Rechnung — Welche Gutscheine liegen offen auf der Rechnung? Auskunft aus dem Gutschein-Hauptbuch. Ohne Gutschein-Plugin eine leere Liste.invoicing.invoice.viewulid
GET/api/v1/recurring-invoicesListe der RecurringInvoiceinvoicing.recurring.viewpage, status, cycle, customerId, brandId, q, order[title], order[status], order[nextRunAt], order[totalAmount], order[createdAt]
POST/api/v1/recurring-invoicesEine RecurringInvoice anlegeninvoicing.recurring.manage+ Rumpf
DELETE/api/v1/recurring-invoices/{ulid}Eine RecurringInvoice löscheninvoicing.recurring.manageulid
GET/api/v1/recurring-invoices/{ulid}Eine RecurringInvoice leseninvoicing.recurring.viewulid
PATCH/api/v1/recurring-invoices/{ulid}Eine RecurringInvoice änderninvoicing.recurring.manageulid, + Rumpf
POST/api/v1/recurring-invoices/{ulid}/endEnd recurring invoice — End recurring invoice. Dedicated action endpoint — not a standard CRUD create.invoicing.recurring.manageulid, + Rumpf
POST/api/v1/recurring-invoices/{ulid}/pausePause recurring invoice — Pause recurring invoice. Dedicated action endpoint — not a standard CRUD create.invoicing.recurring.manageulid, + Rumpf
POST/api/v1/recurring-invoices/{ulid}/resumeResume recurring invoice — Resume recurring invoice. Dedicated action endpoint — not a standard CRUD create.invoicing.recurring.manageulid, + Rumpf
POST/api/v1/recurring-invoices/{ulid}/run-nowFällige Rechnung sofort erzeugen — Erzeugt sofort die fällige Rechnung aus der Serienrechnung (respektiert runMode), idempotent je Leistungszeitraum. Die Antwort trägt generatedInvoiceUlid.invoicing.recurring.manageulid, + Rumpf

Zweckangaben, die nicht dem Standardmuster folgen, stammen unverändert aus der Schnittstellen-Beschreibung im Code.

referenz.api-invoicing · Gilt ab Version 0.5.4