Brivio API reference
Invoices

Create an invoice

POST
/invoices

Authorization

bearerAuth
headerAuthorizationBearer <token>

API key as Bearer token

Request Body

application/json
  1. body

Exactly one of contact_id or contact_external_id is required. Issued documents are numbered by the same gapless per-(company, series, year) allocator the app uses (ADR-0208); the series defaults to BRV. Non-RON documents carry the BNR T-1 reference rate for issue_date unless a positive exchange_rate is supplied — when the rate cannot be obtained the request fails with 422 EXCHANGE_RATE_UNAVAILABLE, never a silent rate of 1.

type?string
Value in"INVOICE""PROFORMA""QUOTE""RECEIPT""CREDIT_NOTE"
direction?string
Default"ISSUED"
Value in"ISSUED""RECEIVED"
series?string

Numbering series; defaults to BRV for issued documents.

contact_id?string
Formatuuid
contact_external_id?string

Your own identifier for the contact, resolved through the external reference map (source api, entity contact). Used only when contact_id is absent; unknown → 404 CONTACT_NOT_FOUND.

Lengthlength <= 255
company_id?string

Issuing legal entity. Optional when the organization has a single active company; required (422) when it has several.

Formatuuid
project_id?string
issue_date*string
Formatdate
due_date*string
Formatdate
currency?string
Default"RON"
exchange_rate?number

RON per 1 unit of currency. Omit to have the BNR T-1 reference rate fetched server-side (recommended). A supplied value is persisted as-is; ignored for RON.

Range0 < value
vat_type?string

VAT regime of the document. When omitted it is derived from the contact: RO → TAXABLE; EU (non-RO) with a VAT number → INTRA_COMMUNITY (reverse charge, UBL category AE); EU without VAT number → TAXABLE; non-EU → EXPORT. Only TAXABLE carries line VAT.

Value in"TAXABLE""REVERSE_CHARGE""INTRA_COMMUNITY""EXPORT""VAT_EXEMPT""NON_TAXABLE""MARGIN"
vat_exemption_reason?string

Legal mention printed and emitted for non-TAXABLE regimes.

Lengthlength <= 500
notes?string
items*array<>

Response Body

OK

application/json
  1. response
data*
error*null
curl -X POST "https://example.com/invoices" \  -H "Content-Type: application/json" \  -d '{    "issue_date": "2019-08-24",    "due_date": "2019-08-24",    "items": [      {        "description": "string",        "quantity": 0,        "unit_price": 0      }    ]  }'
{  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "type": "string",    "direction": "string",    "series": "string",    "number": 0,    "status": "string",    "contact_id": "string",    "company_id": "b2e6a1c3-1a5e-44ae-a8fd-81f76fd715cf",    "currency": "string",    "exchange_rate": "string",    "vat_type": "TAXABLE",    "vat_exemption_reason": "string",    "subtotal": "string",    "vat_total": "string",    "total": "string",    "paid_amount": "string",    "credited_amount": "string"  },  "error": null}