Invoices¶
Endpoints for listing and creating sales invoice documents.
GET /invoices¶
List invoices with optional filtering, searching, and pagination.
Request¶
Parameters¶
| Name | In | Type | Required | Description |
|---|---|---|---|---|
nonce |
query | integer (int64) | No | Client-generated unique sequential number |
filterDate |
query | string | No | Filter by date or interval. Format: YYYY-MM-DD or YYYY-MM-DD:YYYY-MM-DD |
searchString |
query | string | No | Search by document number. Example: searchString=123456 |
searchColumn |
query | string | No | Column to search instead of document number. Example: searchColumn=document_set&searchString=ORD |
searchOperator |
query | string | No | Comparison operator: lt (<), lte (<=), gt (>), gte (>=), ne (<>) |
skip |
query | integer | No | Number of records to skip (pagination) |
limit |
query | integer | No | Max records to return. Max: 1000, default: 50 |
Responses¶
200 — Success¶
Returns an array of customerDocument objects (empty array if none found).
[
{
"id": 1001,
"document_set": "FT",
"seq_number": "FT2024/1001",
"date": "2024-11-01",
"currency": "EUR",
"total_amount": 1230.00,
"customer": { "name": "Acme Corp", "vat_id": "PT123456789" },
"items": [ ... ]
}
]
400 — Invalid input parameters¶
POST /invoices¶
Create a new invoice document.
Request¶
POST /api/{account}/v4.0.0/invoices?nonce={nonce}
Authorization: Bearer <xa-token>
Content-Type: application/json
Parameters¶
| Name | In | Type | Required | Description |
|---|---|---|---|---|
nonce |
query | integer (int64) | Yes | Client-generated unique sequential number |
print |
query | integer | No | Pass 1 to receive the created document as a PDF. Default: 0 |
Request Body¶
A customerDocument object. Required fields: document_set, seq_number, date, currency, total_amount.
{
"document_set": "FT",
"seq_number": "FT2024/1002",
"date": "2024-11-15",
"currency": "EUR",
"total_amount": 500.00,
"customer": {
"name": "Acme Corp",
"vat_id": "PT123456789"
},
"items": [
{
"description": "Consulting Services",
"qty": 2,
"unit_price": 250.00,
"vat": 23.0
}
]
}
Responses¶
201 — Document created¶
Returns a documentCreated object by default, or a PDF binary when print=1.
{
"id": 1002,
"documentSeries": "FT",
"documentNumber": "FT2024/1002",
"url": "https://gestix.pt/.../FT2024-1002.pdf"
}
400 — Invalid input¶
Returns an apiError.
409 — Duplicate entry¶
Returned when a document with the same identifier already exists. Returns an apiError.