Skip to main content

Outgoing invoices

Create a draft​

POST /public/v1/outgoing-invoices accepts structured JSON or raw UBL. Without issue: true, it creates a draft and returns 201 Created. Automatic issuance returns 202 Accepted and an operation resource.

Structured input inherits the issuer, operator, and default revenue account from the API client profile. A caller cannot switch organizations by sending a different OIB.

Update a structured draft​

PATCH /public/v1/outgoing-invoices/{invoiceId} updates a structured draft. A raw UBL draft is immutable through this route; create a new draft when its source XML must change.

Validate without issuing​

POST /public/v1/outgoing-invoices/{invoiceId}/validate runs exchange and fiscalization validation over the effective UBL without transmitting it.

Issue​

POST /public/v1/outgoing-invoices/{invoiceId}/issue locks settlement and the document chain, selects the authoritative route, revalidates the UBL, performs delivery and fiscalization in the required order, and persists external identifiers and the terminal outcome.

Read and filter​

GET /public/v1/outgoing-invoices?status=ISSUED&from=2026-09-01&to=2026-09-30&limit=100
GET /public/v1/outgoing-invoices/{invoiceId}
GET /public/v1/outgoing-invoices/{invoiceId}/status
GET /public/v1/outgoing-invoices/{invoiceId}/extract-xml/ubl