Invoices
Create, send, and manage invoices. Invoices post to the double-entry ledger when sent — debiting Accounts Receivable and crediting revenue accounts.
The Invoice Object
| Field | Type | Description |
|---|---|---|
| id | string | Invoice UUID |
| object | string | Always 'invoice' |
| invoice_number | string | Human-readable invoice number (e.g., INV-0001) |
| status | string | draft, sent, paid, partially_paid, overdue, or void |
| issue_date | string | ISO 8601 date |
| due_date | string | ISO 8601 date |
| currency | string | ISO currency code (e.g., USD) |
| subtotal_cents | number | Subtotal before tax, in cents |
| tax_amount_cents | number | Total tax in cents |
| total_cents | number | Total including tax, in cents |
| amount_due_cents | number | Remaining balance in cents |
| terms | string | Payment terms |
| memo | string | Internal memo |
| note_to_customer | string | Note visible to customer |
| customer | object | |
| line_items | string[] | Invoice line items |
| sent_at | string | ISO 8601 timestamp when sent (null if unsent) |
| created_at | string | ISO 8601 timestamp |
| updated_at | string | ISO 8601 timestamp |
Endpoints
GET
/api/v1/invoicesList invoices
Returns a paginated list of invoices for the current organization.
Path & Query Parameters
| Parameter | Type | Description |
|---|---|---|
| status | string | Filter by status (draft, sent, paid, overdue, void) |
| customer_id | string | Filter by customer UUID |
| search | string | Search by invoice number or memo |
| limit | number | Number of results (1-50, default 25) |
POST
/api/v1/invoicesCreate an invoice
Creates a new invoice with line items.
Body Parameters
| Parameter | Type | Description |
|---|---|---|
| customer_idrequired | string | Customer UUID |
| invoice_number | string | Custom invoice number |
| issue_date | string | Issue date (YYYY-MM-DD) |
| due_date | string | Due date (YYYY-MM-DD) |
| terms | string | Payment terms |
| note_to_customer | string | Note visible to customer |
| memo | string | Internal memo |
| line_items_attributes | array | Line items |
GET
/api/v1/invoices/:idRetrieve an invoice
Returns a single invoice with its payments.
Path & Query Parameters
| Parameter | Type | Description |
|---|---|---|
| idrequired | string | Invoice UUID |
PATCH
/api/v1/invoices/:idUpdate an invoice
Updates an invoice. Recalculates totals and reposts to ledger.
Path & Query Parameters
| Parameter | Type | Description |
|---|---|---|
| idrequired | string | Invoice UUID |
Body Parameters
| Parameter | Type | Description |
|---|---|---|
| customer_id | string | Customer UUID |
| invoice_number | string | Custom invoice number |
| issue_date | string | Issue date (YYYY-MM-DD) |
| due_date | string | Due date (YYYY-MM-DD) |
| terms | string | Payment terms |
| note_to_customer | string | Note visible to customer |
| memo | string | Internal memo |
| line_items_attributes | array | Line items |
POST
/api/v1/invoices/:id/sendSend an invoice
Sends the invoice to the customer via email. Posts to ledger if not already posted.
Path & Query Parameters
| Parameter | Type | Description |
|---|---|---|
| idrequired | string | Invoice UUID |
Body Parameters
| Parameter | Type | Description |
|---|---|---|
| dimension_values | object | Dimension tagging (dimension_id => value_id) |
POST
/api/v1/invoices/:id/remindSend payment reminder
Queues a payment reminder email to the customer.
Path & Query Parameters
| Parameter | Type | Description |
|---|---|---|
| idrequired | string | Invoice UUID |
POST
/api/v1/invoices/:id/voidVoid an invoice
Voids the invoice and reverses its ledger entry.
Path & Query Parameters
| Parameter | Type | Description |
|---|---|---|
| idrequired | string | Invoice UUID |
POST
/api/v1/invoices/:id/record_paymentRecord a payment
Records a payment against the invoice.
Path & Query Parameters
| Parameter | Type | Description |
|---|---|---|
| idrequired | string | Invoice UUID |
Body Parameters
| Parameter | Type | Description |
|---|---|---|
| amount_cents | number | Payment amount in cents (defaults to amount due) |
| date | string | Payment date (YYYY-MM-DD, defaults to today) |
| payment_method | string | Payment method (check, cash, credit_card, bank_transfer, other) |
| deposit_to_account_id | string | Account to deposit into |