Invoices
Haltless invoices your company from QuickBooks Online and you pay by bank transfer. There is no payment or subscription API: billing happens outside the product. These endpoints let you read the invoices issued to your company and download each one as a PDF.
Both endpoints sit on the Billing settings tab: any signed-in user whose role can open that tab can call them. They are authenticated with a Bearer JWT (see Authentication).
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/v1/settings/organization/invoices | List your company's invoices, newest first |
GET | /api/v1/settings/organization/invoices/{invoice_id}/pdf | Download one invoice as a PDF |
List invoices
GET /api/v1/settings/organization/invoices
Response: 200 OK
{
"linked": true,
"invoices": [
{
"id": "1042",
"number": "INV-1042",
"issued_on": "2026-09-01",
"due_on": "2026-10-01",
"total": 1990.0,
"balance": 0.0,
"currency": "EUR",
"status": "paid"
}
],
"summary": {
"currency": "EUR",
"annual_cost": 23880.0,
"window_days": 365
}
}
| Field | Description |
|---|---|
linked | false until Haltless links your company to its billing record. The list is empty until then |
invoices[].total | The invoice total, in currency |
invoices[].balance | What is still owed; 0 once paid |
invoices[].status | paid, open, or overdue (unpaid and past due_on) |
summary.annual_cost | The total invoiced over the last window_days, in summary.currency. null when there are no invoices in that window |
Amounts are decimal numbers in the invoice's currency, not the smallest currency unit. Invoices that have not been sent to you yet, and voided invoices, are not listed. The list can lag QuickBooks by up to five minutes.
If QuickBooks cannot be reached, the endpoint returns 502 and you can retry shortly.
Download an invoice
GET /api/v1/settings/organization/invoices/{invoice_id}/pdf
Returns the invoice as QuickBooks renders it (Content-Type: application/pdf), as an attachment named invoice-{invoice_id}.pdf. Use an id from the list above.
Only invoices issued to your company can be downloaded. Any other id, or any id while your company is not yet linked, returns 404. A QuickBooks outage returns 502.