Tabba.
IntegrationerSådan virker TabbaFeatures

© 2026 Tabba. Alle rettigheder forbeholdes.

Udviklere
Udviklere
Udviklere
Overview
Delete a draft invoice DELETEList the invoices of the company GETRead one invoice GETList the credit notes booked against an invoice GETRead the revenue recognition of one invoice GETCreate a draft invoice POSTIssue an invoice now POSTReplace a draft invoice PUT

Andre spor

AI clientsREST API
Invoices

Delete a draft invoice

The draft goes with its lines and the work registered on them. Refused with INVOICE_ALREADY_ISSUED (409) once the invoice is issued, and with INVOICE_IS_OCCURRENCE (409) for an occurrence of a recurring series.

DELETE
/invoices/{ref}

Authorization

bearerAuth
AuthorizationBearer <token>

An API key minted by an admin under Settings → Developers. It is bound to one company and has a scope: read, or read_write. A request without one, or with one that is not ours, is answered 401 and metered by its client address (x-rate-limits).

In: header

Path Parameters

ref*string

The record's id, or ext:<external_id> for the record that carries your own key.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/invoices/string"
{  "object": "invoice",  "id": "string",  "deleted": true}

Create a customer POST

The customer is written to the accounting platform first. With an `external_id` that a customer already carries, that customer is updated and the answer is 200; otherwise a customer is created and the answer is 201. An update replaces what the body states and keeps a choice from the platform's own lists (`vat_zone_ref`, `payment_terms_ref`, `layout_ref`, `customer_group_ref`) that the body leaves out. One create runs at a time under an `external_id`: a second while the first is still running is answered 409 `CREATE_IN_PROGRESS` with `Retry-After`, and the same request after that interval answers the customer the first created. A create under an `external_id` is safe to send again after a 502: where the first request made the customer, the same request, with the same body and within the hour, is answered that customer. A create with no `external_id` sent again makes a second customer. Where the platform made the customer and the create did not finish, the answer is 502 `CREATE_UNFINISHED` with the customer's `record_id`: the customer is in the catalog, and the same request again updates it.

List the invoices of the company GET

Every invoice, a draft or issued, the occurrences of recurring series among them (each states its `series_id`). Oldest change first. `updated_since` narrows the list to what changed at or after an instant; the stamp is taken when the invoice is written, so a list is followed from the instant the last walk started, with no overlap.