Update an Invoice

Updates the details of an existing invoice such as line items, due date, or status.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Supported Apps


AppApp IDRemarks
Xeroxero

Provide lineItemId to update, omit lineItemId to create, or omit existing lineItemId to delete
status can be one of [DRAFT, SUBMITTED, AUTHORISED, VOIDED, DELETED]

Invoice Status Change Rules:
Current Status: DRAFT
→ Allowed: DRAFT, SUBMITTED, AUTHORISED, DELETED
Current Status: SUBMITTED
→ Allowed: SUBMITTED, AUTHORISED, DRAFT, DELETED
Current Status: AUTHORISED
→ Allowed: AUTHORISED, VOIDED

Invoice Update Rules
Whether an invoice can be updated depends on the invoice type and payment status:
Unpaid: INVOICE = Yes, BILL = Yes
Paid (part or full): INVOICE = Yes (with restrictions), BILL = No
Locked period: ACCREC = No, ACCPAY = No
For more details refer here [xero api docs].

ZohobookszohobookBy default Item level discount will be applied. Discounts are not supported for BILL type. Updating the status is not supported via API.
Microsoft Dynamics 365microsoft-dynamics-365
Sage IntacctsageIntacct
Quickbooksquickbooks
Netsuitenetsuite
Freshbooksfreshbooks
Wave FinancialwaveitemId, quantity and unitRate are required fields for each line item.
Odoo Accounting OnlineodooThe fields that are honored in Create Invoice are updatable.
status - allowed values are draft, posted
Body Params
string
enum
required
Allowed:
string
required
string
required
lineItems
array of objects

At least one line item is required for creating invoice.

lineItems
string
string

Status values can vary depending upon apps . It could be DRAFT, VOID, SUBMITTED, PAID etc.

date
date
date
string

Standard currency codes like USD, INR etc

string
string
string
double
double
double
string
string

JSON key value pairs to pass an extra fields depending on origin app.

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json