Invoice

Deletes specific line items from an invoice and releases any timesheets, expenses or fixed amounts linked to them back to uninvoiced. Unlike PUT /api/Invoice (which replaces the whole line item collection), this endpoint only touches the line items you name. The invoice must not be Void and must retain at least one line item; totals, balance and status are recalculated.

post/api/Invoice/RemoveLineItems

Request body

InvoiceIDinteger required

The Transaction ID of the invoice to remove line items from. The invoice must not be Void.

TransactionLineItemIDsinteger[] required

The TransactionLineItemIDs to delete (1-100). Every ID must belong to this invoice. Any timesheets, expenses or fixed amounts linked to the deleted lines are released back to uninvoiced.

SendWebhooksboolean

If true, fires invoice_updated (plus timesheet_updated / expense_updated for released records) webhook events. Defaults to false.

Response

Returns the updated invoice and the IDs of the released source records.

UnlinkedTimesheetEntryIDsinteger[]

Timesheet entries released back to uninvoiced by the removal.

UnlinkedExpenseIDsinteger[]

Expenses released back to uninvoiced by the removal.

UnlinkedFixedAmountIDsinteger[]

Fixed amounts released back to uninvoiced by the removal.

Warningsstring[]

Non-fatal notices about the operation.

Changes