Invoices track billable amounts sent to companies. Each invoice moves through a lifecycle from draft to payment and includes line items, tax calculations, and payment records. You can filter the list by status and date, retrieve full detail with line items and payments, and update metadata fields via PATCH.Documentation Index
Fetch the complete documentation index at: https://developers.novala.ai/llms.txt
Use this file to discover all available pages before exploring further.
All invoice endpoints are scoped to your tenant. Pass your API key in the
Authorization: Bearer header on every request.Invoice statuses
| Status | Meaning |
|---|---|
draft | Created but not yet sent. |
sent | Sent to the customer. |
viewed | Customer has opened the invoice. |
partially_paid | Payment received but balance remains. |
paid | Fully paid. |
overdue | Past the due date and unpaid. |
voided | Cancelled; no payment expected. |
List invoices
GET /api/invoices
Returns a paginated list of invoices for the authenticated tenant, with company name included in each row.
Query parameters
Filter by invoice status. One of:
draft, sent, viewed, partially_paid, paid, overdue, voided.Search by invoice number or company name (case-insensitive).
Return invoices with
issuedDate on or after this date (YYYY-MM-DD).Return invoices with
issuedDate on or before this date (YYYY-MM-DD).1-based page index.
Results per page. Maximum
100.Response
Get an invoice
GET /api/invoices/{id}
Retrieves a full invoice record with company details, optional contact, all line items, and all payment records.
Path parameters
UUID of the invoice.
Response fields
UUID of the invoice.
Human-readable invoice number (for example,
INV-2024-0042).Current status of the invoice.
UUID of the billed company.
UUID of the associated contact.
UUID of the originating quote, if any.
Issue date (
YYYY-MM-DD).Payment due date (
YYYY-MM-DD).Subtotal before tax as a decimal string.
Tax rate as a decimal string (for example,
"0.08" for 8%).Calculated tax amount.
Total amount including tax.
Total amount paid to date.
Remaining balance.
Internal notes.
Notes visible to the customer on the invoice.
Custom field key-value pairs.
Timestamp when the invoice was sent.
Timestamp when the invoice was fully paid.
Update an invoice
PATCH /api/invoices/{id}
Updates metadata fields on an invoice. Status transitions (sending, voiding, recording payments) are handled by sub-routes not covered here; this endpoint is for notes, due date, and custom field overrides.
Path parameters
UUID of the invoice to update.
Request body
All fields are optional.Updated internal notes. Pass
null to clear.Updated customer-facing notes. Pass
null to clear.Updated due date (
YYYY-MM-DD). Pass null to clear.Replaces all custom field values with the provided map.
Response
Returns200 OK with the updated invoice object. Returns 404 Not Found if the invoice does not exist or belongs to a different tenant.