Skip to main content

Invoice Endpoints

Invoices & Billing

InvoiceHeader

GET /Invoice — List InvoiceHeader

Returns multiple InvoiceHeader records. Requires authentication.

Query Parameters

NameTypeDescription
advanced_searchstringAdvanced search string
asset_idintegerFilter by specified asset
awaiting_approvalbooleanFilter invoices awaiting approval
billing_datestringFilter on billing date
billingcategory_idsstringFilter by billing categories (comma-separated)
start_datestringFilter invoices with date greater than specified date (see datesearch)
end_datestringFilter invoices with date less than specified date (see datesearch)
datesearchstringDate field for start_date/end_date. Values: invoice_date, last_modified, duedate, schedulestartdate, scheduleenddate
client_idintegerFilter by specified client
client_idsstringFilter by multiple clients (comma-separated)
contract_idintegerFilter by specified contract
countintegerNumber of invoices to return
idonlybooleanInclude only Invoice ID in response
includecreditsbooleanInclude credit-type invoices in response
includeinvoicesbooleanInclude invoice-type invoices in response
includelinesbooleanInclude invoice lines in response
includepoinvoicesbooleanInclude PO invoices
invoicedateendbooleanInclude invoicedateend field in response
invoicedatestartbooleanInclude invoicedatestart field in response
my_approvalsbooleanFilter to invoices requiring current user's approval
notpostedonlybooleanFilter to invoices not yet posted
order / order2order5stringField name(s) to sort by
orderdesc / orderdesc2orderdesc5booleanWhether to sort descending for each order field
page_nointegerPage number (pagination)
page_sizeintegerPage size (pagination)
pageinatebooleanEnable pagination
paymentstatusesarray[integer]Filter by payment status codes (comma-separated)
postedonlybooleanFilter to posted invoices only
purchaseorder_idintegerFilter by purchase order
quote_statusstringFilter by quote status codes (comma-separated)
ready_for_invoicingbooleanFilter to invoices ready for invoicing
recurringinvoice_idintegerFilter by recurring invoice ID
reviewrequiredbooleanFilter to invoices requiring review
rinvoice_typestringFilter by invoice type: contracts, invoices, both
salesorder_idintegerFilter by sales order ID
searchstringText search string
sent_statusintegerFilter by sent status
site_idintegerFilter by site
stripeautopaymentrequiredbooleanFilter to invoices requiring Stripe auto-payment
ticket_idintegerFilter by ticket
toplevel_idintegerFilter by top-level entity
user_idintegerFilter by user
third_party_idstringFind invoice by third-party invoice number
xero_idstringFind invoice by Xero Online ID
quickbooks_idintegerFind invoice by QuickBooks Online ID
include_linked_item_detailsbooleanInclude linked item details on invoice lines

Response 200 OKInvoiceHeader_View


POST /Invoice — Create InvoiceHeader

Creates one or more invoice records.

Request Body — Array of InvoiceHeader

Response 201 CreatedInvoiceHeader


GET /Invoice/{id} — Get InvoiceHeader

Returns a single InvoiceHeader by ID. Requires authentication.

Path Parameters

NameTypeRequiredDescription
idintegerYesInvoice ID

Query Parameters

NameTypeDescription
includedetailsbooleanInclude extra related objects in response

Response 200 OKInvoiceHeader


DELETE /Invoice/{id} — Delete InvoiceHeader

Deletes a specific InvoiceHeader. Requires authentication.

Path Parameters

NameTypeRequiredDescription
idintegerYesInvoice ID

Query Parameters

NameTypeDescription
bypass_accounts_syncbooleanSkip syncing the deletion to accounting integrations

Response 200 OK


POST /Invoice/updatelines — Update Invoice Lines

Updates one or more invoice detail lines.

Request Body — Array of InvoiceDetail

Response 200 OK


GET /Invoice/lines — List Invoice Lines

Returns invoice line items.

Response 200 OKInvoiceHeader_View


POST /Invoice/{id}/void — Void Invoice

Voids a specific invoice.

Path Parameters

NameTypeRequiredDescription
idintegerYesInvoice ID

Response 200 OK


POST /Invoice/View — Record Invoice Viewers

Records that specified agents have viewed an invoice.

Request Body — Array of Viewers

Response 200 OK


POST /Invoice/PDF/{id} — Generate Invoice PDF

Generates a PDF for the specified invoice.

Path Parameters

NameTypeRequiredDescription
idintegerYesInvoice ID

Response 200 OK


InvoiceChange

GET /InvoiceChange — List InvoiceChange

Returns invoice change audit records. Requires authentication.

Query Parameters

NameTypeDescription
countintegerNumber of records to return
idonlybooleanReturn only IDs
invoice_idintegerFilter by invoice ID
line_idintegerFilter by invoice line ID
order / order2order5stringSort field(s)
orderdesc / orderdesc2orderdesc5booleanDescending sort flags
page_nointegerPage number
page_sizeintegerPage size
pageinatebooleanEnable pagination
searchstringSearch string
type_idintegerFilter by change type

Response 200 OK


POST /InvoiceChange — Create InvoiceChange

Creates invoice change records.

Request Body — Array of InvoiceChange

Response 200 OK


InvoiceDetailProRata

GET /InvoiceDetailProRata — List Pro Rata Details

Returns pro rata invoice detail records.

Response 200 OK


InvoicePayment

GET /InvoicePayment — List InvoicePayment

Returns multiple InvoicePayment records. Requires authentication.

Query Parameters

NameTypeDescription
client_idintegerFilter by client
countintegerNumber of records to return
intent_idstringFilter by payment intent ID (e.g. Stripe intent)
invoice_idintegerFilter by invoice
order / order2order5stringSort field(s)
orderdesc / orderdesc2orderdesc5booleanDescending sort flags
page_nointegerPage number
page_sizeintegerPage size
pageinatebooleanEnable pagination
searchstringSearch string

Response 200 OK


POST /InvoicePayment — Create InvoicePayment

Records one or more invoice payments.

Request Body — Array of InvoicePayment_List

Response 200 OK


GET /InvoicePayment/{id} — Get InvoicePayment

Returns a single InvoicePayment by ID. Requires authentication.

Path Parameters

NameTypeRequiredDescription
idintegerYesPayment ID

Query Parameters

NameTypeDescription
includedetailsbooleanInclude extra details in response

Response 200 OK


DELETE /InvoicePayment/{id} — Delete InvoicePayment

Deletes a specific InvoicePayment.

Path Parameters

NameTypeRequiredDescription
idintegerYesPayment ID

Response 200 OK


RecurringInvoiceHeader

GET /RecurringInvoice — List Recurring Invoices

Returns recurring InvoiceHeader records. Accepts the same query parameters as GET /Invoice.

Key Query Parameters

NameTypeDescription
client_idintegerFilter by client
contract_idintegerFilter by contract
start_date / end_datestringDate range filter (controlled by datesearch)
datesearchstringDate field: invoice_date, last_modified, duedate, schedulestartdate, scheduleenddate
paymentstatusesarray[integer]Filter by payment status
searchstringText search
pageinate / page_no / page_sizeboolean/integerPagination controls
include_linked_item_detailsbooleanInclude linked item details on lines

Response 200 OKInvoiceHeader_View


POST /RecurringInvoice — Create Recurring Invoice

Creates a recurring invoice template.

Request Body — Array of InvoiceHeader

Response 201 CreatedInvoiceHeader


GET /RecurringInvoice/{id} — Get Recurring Invoice

Returns a single recurring InvoiceHeader. Requires authentication.

Path Parameters

NameTypeRequiredDescription
idintegerYesRecurring invoice ID

Query Parameters

NameTypeDescription
includedetailsbooleanInclude extra objects in response

Response 200 OKInvoiceHeader


DELETE /RecurringInvoice/{id} — Delete Recurring Invoice

Deletes a recurring InvoiceHeader. Requires authentication.

Path Parameters

NameTypeRequiredDescription
idintegerYesRecurring invoice ID

Query Parameters

NameTypeDescription
bypass_accounts_syncbooleanSkip accounting integration sync

Response 200 OK


POST /RecurringInvoice/updatelines — Update Recurring Invoice Lines

Updates lines on a recurring invoice.

Request Body — Array of InvoiceDetail

Response 200 OK


POST /RecurringInvoice/process — Process Recurring Invoices

Triggers processing of specified recurring invoices.

Request Body — Array of integers (recurring invoice IDs)

Response 200 OK


POST /RecurringInvoice/Lines — Add Recurring Invoice Lines

Adds lines to a recurring invoice.

Request Body — Array of InvoiceDetail

Response 200 OK


Tax

GET /Tax — List Tax Rates

Returns all tax rate records. Requires authentication.

Query Parameters

NameTypeDescription
kashflowtenantidintegerFilter by KashFlow tenant
qbocompanyidstringFilter by QuickBooks Online company ID
related_tointegerFilter by related entity ID
xerotenantidstringFilter by Xero tenant ID

Response 200 OK


POST /Tax — Create Tax Rate

Creates one or more tax rate records.

Request Body — Array of Tax

Response 200 OK


GET /Tax/{id} — Get Tax Rate

Returns a single tax rate by ID. Requires authentication.

Path Parameters

NameTypeRequiredDescription
idintegerYesTax rate ID

Query Parameters

NameTypeDescription
includedetailsbooleanInclude extra details
includeqbotaxratesbooleanInclude QuickBooks Online tax rates

Response 200 OK


DELETE /Tax/{id} — Delete Tax Rate

Deletes a specific tax rate.

Path Parameters

NameTypeRequiredDescription
idintegerYesTax rate ID

Response 200 OK


TaxRule

GET /TaxRule — List Tax Rules

Returns all tax rule records.

Response 200 OK


POST /TaxRule — Create Tax Rule

Creates one or more tax rule records.

Request Body — Array of TaxRule

Response 200 OK


GET /TaxRule/{id} — Get Tax Rule

Returns a single tax rule by ID.

Path Parameters

NameTypeRequiredDescription
idintegerYesTax rule ID

Response 200 OK


DELETE /TaxRule/{id} — Delete Tax Rule

Deletes a specific tax rule.

Path Parameters

NameTypeRequiredDescription
idintegerYesTax rule ID

Response 200 OK


Currency

GET /Currency — List Currencies

Returns all currency records.

Response 200 OK


POST /Currency — Create Currency

Creates one or more currency records.

Request Body — Array of Currency

Response 200 OK


GET /Currency/{id} — Get Currency

Returns a single currency by ID. Requires authentication.

Path Parameters

NameTypeRequiredDescription
idintegerYesCurrency ID

Query Parameters

NameTypeDescription
includedetailsbooleanInclude extra details

Response 200 OK


DELETE /Currency/{id} — Delete Currency

Deletes a specific currency.

Path Parameters

NameTypeRequiredDescription
idintegerYesCurrency ID

Response 200 OK


ChargeRate

GET /ChargeRate — List Charge Rates

Returns charge rate records. Requires authentication.

Query Parameters

NameTypeDescription
chargerate_idintegerFilter by specific charge rate ID
client_idintegerFilter by client
contract_idintegerFilter by contract
currentonlybooleanReturn only current/active charge rates
globalonlybooleanReturn only global (non-client-specific) rates

Response 200 OK


GET /ChargeRate/{id} — Get Charge Rate

Returns a single charge rate by ID. Requires authentication.

Path Parameters

NameTypeRequiredDescription
idintegerYesCharge rate ID

Query Parameters

NameTypeDescription
includedetailsbooleanInclude extra details

Response 200 OK


Costcentres

GET /CostCentres — List Cost Centres

Returns all cost centre records.

Response 200 OK


POST /CostCentres — Create Cost Centre

Creates one or more cost centre records.

Request Body — Array of Costcentres

Response 200 OK


GET /CostCentres/{id} — Get Cost Centre

Returns a single cost centre by ID. Requires authentication.

Path Parameters

NameTypeRequiredDescription
idintegerYesCost centre ID

Query Parameters

NameTypeDescription
includedetailsbooleanInclude extra details

Response 200 OK


DELETE /CostCentres/{id} — Delete Cost Centre

Deletes a specific cost centre.

Path Parameters

NameTypeRequiredDescription
idintegerYesCost centre ID

Response 200 OK


Expense

GET /Expense — List Expenses

Returns expense records.

Response 200 OK


POST /Expense — Create Expense

Creates one or more expense records.

Request Body — Array of Expense

Response 200 OK


BudgetType

GET /BudgetType — List Budget Types

Returns budget type records. Requires authentication.

Query Parameters

NameTypeDescription
ticket_idintegerFilter by ticket

Response 200 OK


POST /BudgetType — Create Budget Type

Creates one or more budget type records.

Request Body — Array of BudgetType

Response 200 OK


GET /BudgetType/{id} — Get Budget Type

Returns a single budget type by ID. Requires authentication.

Path Parameters

NameTypeRequiredDescription
idintegerYesBudget type ID

Query Parameters

NameTypeDescription
includedetailsbooleanInclude extra details

Response 200 OK


DELETE /BudgetType/{id} — Delete Budget Type

Deletes a specific budget type.

Path Parameters

NameTypeRequiredDescription
idintegerYesBudget type ID

Response 200 OK