Endpoint Issuing
API invoice creation is used when you need to issue invoices programmatically by integrating Brinta with your system or ERP.
This option is ideal when you:
- Want to automate invoice issuance
- Issue invoices in real time from your own system
- Work with large or continuous invoice volumes
- Need a scalable and fully integrated solution
With API invoice creation, you can:
- Send invoice data directly to Brinta via API
- Issue invoices without using the dashboard
- Handle multiple document types programmatically
- Receive real-time responses and validation results
This method follows the same validation rules as manual and bulk invoicing, including country-specific electronic invoicing requirements.
How it works
All invoice creation goes through a single endpoint:
POST https://api.brinta.com/invoices
The payload structure is the same across all countries and document types. What changes is which fields are required depending on the country and document type you're issuing.
The general flow is:
- Authenticate — include your API key in the request header.
- Build the payload — set
invoice_type,document_type, and the fields required for your country. - Send the request — Brinta validates, stamps, and returns the signed document.
- Handle the response — check the status and store the invoice ID and fiscal UUID returned.
Payload structure
Every request shares the same root structure:
| Field | Type | Required | Description |
|---|---|---|---|
supplier_company_id | string | Yes | UUID of the issuing company registered in Brinta. |
invoice_type | string | Yes | Type of document. Possible values: debit, payment, transport. |
document_type | string | Yes | Specific document format. Varies by country — see Invoice Document Types. |
invoice_date | string | Yes | Issuance date in YYYY-MM-DD format. |
invoice_serie | string | Varies | Invoice series or prefix. |
invoice_number | string | Varies | Invoice number or folio. |
currency | string | Yes | ISO 4217 currency code (e.g. MXN, PEN, COP). |
exchange_rate | number | Varies | Required when currency is not the country's local currency. |
e_invoice | boolean | Yes | Set to true to issue as an electronic invoice. |
reason | string | Varies | Usage or transport reason code. Country-specific SAT/SUNAT catalog. |
export_reason | string | Varies | Export or transfer reason. Required for MX transport documents. |
fiscal_status | string | Varies | Fiscal object code. Required for MX payment invoices (SAT c_ObjetoImp). |
additional_info | string | No | Free-text field appended to the document. Used for PE transport. |
payment_method | object | Varies | Payment form. Required for MX payment invoices. |
buyer | object | Yes | Buyer information including tax registrations and address. |
items | array | Varies | Line items. Required for standard invoices. |
senders | array | Varies | Origin locations. Required for MX and PE transport documents. |
beneficiaries | array | Varies | Destination locations. Required for MX and PE transport documents. |
transportation_companies | array | Varies | Drivers, owners, and carriers. Required for MX and PE transport documents. |
vehicle | object | Varies | Vehicle information. Required for all transport documents. |
amounts | array | Varies | Document-level payment amounts. Required for MX Payment Invoice Mode A. |
taxes | array | Varies | Document-level taxes. Required for MX Payment Invoice Mode A. |
relations | array | Varies | Related documents. Used for MX payment invoices and PE transport. |
Authentication
Include your API key in every request:
curl --request POST \
--url https://api.brinta.com/invoices \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data '{...}'Document types by country
| Country | Document | invoice_type | document_type |
|---|---|---|---|
| ALL | Standard Invoice | debit | invoice |
| MX | Payment Complement | payment | payment invoice |
| MX | Bill of Lading — Road | transport | bill of lading road |
| MX | Bill of Lading — Air | transport | bill of lading air |
| MX | Bill of Lading — Sea | transport | bill of lading sea |
| MX | Bill of Lading — Rail | transport | bill of lading rail |
| PE | Transport (Guia de Remision) | transport | transport |
For a complete list see Invoice Document Types.
Response
A successful request returns 201 with the created invoice object, including:
id— Brinta invoice UUIDinvoice_key— Fiscal UUID (folio fiscal) stamped by the tax authoritystatus— Current invoice statusxml/pdf— Signed document links (where applicable)
For error codes and status descriptions see Invoice Status Codes and Invoice Errors.
Useful Links
Updated 4 days ago
