---
title: "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."
method: POST
path: "/api/Invoice/RemoveLineItems"
tags: ["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

- RemoveInvoiceLineItemsRequest — Request model for deleting specific line items from an invoice and releasing their linked records.
  - `InvoiceID` integer, required — The Transaction ID of the invoice to remove line items from. The invoice must not be Void.
  - `TransactionLineItemIDs` integer[], 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.
  - `SendWebhooks` boolean — If true, fires invoice_updated (plus timesheet_updated / expense_updated for released records) webhook events. Defaults to false.

## Response `200`

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

- RemoveInvoiceLineItemsResult — Result of removing line items from an invoice.
  - `Invoice` Invoice — A customer invoice including line items, status, amounts, issuer/recipient details, and web links.
    - `TransactionID` integer — Unique identifier for the invoice transaction.
    - `AccountIDFK` integer — The Avaza account this invoice belongs to.
    - `TransactionPrefix` string — Prefix used in the invoice number (e.g. 'INV').
    - `InvoiceNumber` string — The full invoice number including prefix.
    - `CompanyIDFK` integer — The customer company ID this invoice is for.
    - `CompanyName` string — Name of the customer company.
    - `ExternalContactUserIDFK` integer — The external contact user ID associated with this invoice.
    - `Subject` string — Subject line for the invoice.
    - `DateIssued` string, date-time — Date the invoice was issued.
    - `DateSent` string, date-time — Date the invoice was sent to the customer.
    - `DueDate` string, date-time — Payment due date.
    - `TransactionStatusCode` string — Current status. Values: Draft, Sent, Late, Paid, Partial, Void.
    - `TaxAmount` number, double — Total tax amount across all line items.
    - `TransactionTaxConfigCode` string — Tax configuration: 'EX' (exclusive) or 'INC' (inclusive).
    - `Balance` number, double — Outstanding balance remaining on the invoice.
    - `CurrencyCode` string — ISO 3-character currency code for the invoice.
    - `TotalAmount` number, double — Total amount of the invoice including tax.
    - `ExchangeRate` number, double — Exchange rate to the account's base currency. 1.0 if same currency.
    - `Notes` string — Additional notes or comments on the invoice.
    - `CustomerPONumber` string — Customer's purchase order number for reference.
    - `DateCreated` string, date-time — Date and time the record was created.
    - `DateUpdated` string, date-time — Date and time the record was last updated.
    - `LineItems` InvoiceLineItem[] — Line items on this invoice.
      - `TransactionLineItemID` integer — Unique identifier for the line item.
      - `InventoryItemIDFK` integer — The inventory/product item ID for this line item.
      - `InventoryItemName` string — Name of the inventory/product item.
      - `InventoryItemSKU` string — Stock Keeping Unit code for the inventory item.
      - `Description` string — Text description for the line item.
      - `Quantity` number, double — Quantity of items on this line.
      - `UnitPrice` number, double — Price per unit for this line item.
      - `TaxAmount` number, double — Calculated tax amount on this line item.
      - `TaxIDFK` integer — The tax rate ID applied to this line item.
      - `TaxCode` string — Short code for the applied tax rate.
      - `TaxName` string — Name of the applied tax rate.
      - `ProjectIDFK` integer — Optional project ID this line item is attributed to for reporting.
      - `ProjectTitle` string — Title of the associated project.
      - `Amount` number, double — Calculated line total (Quantity x UnitPrice less Discount).
      - `Discount` number, double — Discount percentage applied to this line item.
      - `TimesheetEntryIDs` integer[] — IDs of the Timesheet entries linked to (invoiced by) this line item. Empty when the line item has no linked timesheets.
      - `ExpenseIDs` integer[] — IDs of the Expenses linked to (invoiced by) this line item. Empty when the line item has no linked expenses.
      - `FixedAmountIDs` integer[] — IDs of the Fixed Amounts linked to (invoiced by) this line item. Empty when the line item has no linked fixed amounts.
    - `Links` InvoiceLinks — URLs for client-facing view, internal view, and editing an invoice in the Avaza web application.
      - `ClientView` string — URL for the customer to view and pay the invoice online.
      - `View` string — URL for viewing the invoice in the Avaza application.
      - `Edit` string — URL for editing the invoice in the Avaza application.
    - `Issuer` IssuerDetails — Billing address and tax details for the Avaza account (the party issuing an invoice or estimate).
      - `BillingAddress` string — Formatted multi-line billing address.
      - `BillingAddressLine` string — Street address line of the billing address.
      - `BillingAddressCity` string — City/suburb of the billing address.
      - `BillingAddressState` string — State/province of the billing address.
      - `BillingAddressPostCode` string — Postal/ZIP code of the billing address.
      - `BillingCountryCode` string — ISO 3166-1 alpha-2 country code of the billing address.
      - `TaxNumber` string — Tax registration number (e.g. VAT number, ABN, EIN).
    - `Recipient` RecipientDetails — Billing address details for the customer receiving an invoice or estimate.
      - `CompanyIDFK` integer — The customer company ID.
      - `CompanyName` string — Name of the customer company.
      - `RecipientFormattedBillingAddress` string — Pre-formatted multi-line billing address for the recipient.
      - `RecipientBillingAddressLine` string — Street address line for the recipient.
      - `RecipientBillingAddressCity` string — City/suburb for the recipient.
      - `RecipientBillingAddressState` string — State/province for the recipient.
      - `RecipientBillingAddressPostCode` string — Postal/ZIP code for the recipient.
      - `RecipientBillingAddressCountryCode` string — ISO country code for the recipient.
  - `UnlinkedTimesheetEntryIDs` integer[] — Timesheet entries released back to uninvoiced by the removal.
  - `UnlinkedExpenseIDs` integer[] — Expenses released back to uninvoiced by the removal.
  - `UnlinkedFixedAmountIDs` integer[] — Fixed amounts released back to uninvoiced by the removal.
  - `Warnings` string[] — Non-fatal notices about the operation.

## Other responses

- `400` — A line item ID does not belong to this invoice, the invoice is Void, or the removal is not allowed; nothing was changed.
- `404` — No invoice with that ID exists.

## Changes

- **2026-08-30** `e99843f3c878` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/avaza/apis/avaza-api-documentation/changes/api/Invoice/RemoveLineItems/post.md)

---

[API](https://skmtc.dev/avaza/apis/avaza-api-documentation.md) · [All operations](https://skmtc.dev/avaza/apis/avaza-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/avaza/avaza-api-documentation/revisions/e99843f3c878/schema)
