Update Invoice
You can update an invoice if no payment has been made.
If you update the customer's email in the customerInformation.email request field, the invoiceInformation.paymentLink URL in the response changes and the previous URL becomes invalid. You can either share the new URL with the customer, or resend the updated invoice using the Send Invoice endpoint.
You can include up to 30 line items in an updated invoice.
To allow customers to pay in installments, set invoiceInformation.allowPartialPayments to true and include orderInformation.amountDetails.minimumPartialAmount.
The {id} is the invoice number from the invoice creation response.
Follow-on operations: Send Invoice, Cancel Invoice, Get Invoice Details, Get Invoices
Endpoint
PUT /invoicing/v2/invoices/{id}
PUT /invoicing/v2/invoices/{id}
PUT /invoicing/v2/invoices/{id}
/invoicing/v2/invoices/98761{ "customerInformation": { "name": "Tanya Lee", "email": "[email protected]" }, "invoiceInformation": { "dueDate": "2019-07-15", "deliveryMode": "email" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD" }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "quantity": "20", "unitPrice": "12.05", "totalAmount": "247.86" } ] }}{ "_links": { "self": { "href": "/v2/invoices/2670", "method": "GET" }, "update": { "href": "/v2/invoices/2670", "method": "PUT" }, "deliver": { "href": "/v2/invoices/2670/delivery", "method": "POST" }, "cancel": { "href": "/v2/invoices/2670/cancelation", "method": "POST" } }, "id": "2670", "submitTimeUtc": "2024-07-24T19:40:37.289869220Z", "status": "SENT", "customerInformation": { "name": "Tanya Lee", "email": "[email protected]" }, "processingInformation": { "requestPhone": false, "requestShipping": false }, "invoiceInformation": { "invoiceNumber": "2670", "dueDate": "2019-07-15", "allowPartialPayments": false, "paymentLink": "/ebc2/invoicing/payInvoice/W447tdnINi5t5wu6QA0KUE2HYWY2rQQ0zXL5b5z6M50w4Ea9FFlcYrEmp09pFlzl?version=v2.1", "deliveryMode": "Email" }, "orderInformation": { "amountDetails": { "totalAmount": 2623.64, "currency": "USD", "balanceAmount": 2623.64 }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": 12.05, "quantity": 20, "totalAmount": 247.86 } ] }}{ "customerInformation": { "name": "Tanya Lee", "email": "[email protected]", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "description": "This is an updated test invoice", "dueDate": "2019-07-15", "allowPartialPayments": true, "deliveryMode": "none" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD", "discountAmount": "126.08", "discountPercent": 5, "subAmount": 2749.72, "minimumPartialAmount": 200, "taxDetails": { "type": "State Tax", "amount": "208.00", "rate": "8.25" }, "freight": { "amount": "20.00", "taxable": true, "taxRate": "0.01" } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "quantity": "20", "unitPrice": "12.05", "discountAmount": "13.04", "discountRate": "0.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] }}{ "_links": { "self": { "href": "/v2/invoices/2670", "method": "GET" }, "update": { "href": "/v2/invoices/2670", "method": "PUT" }, "deliver": { "href": "/v2/invoices/2670/delivery", "method": "POST" }, "cancel": { "href": "/v2/invoices/2670/cancelation", "method": "POST" } }, "id": "2670", "submitTimeUtc": "2024-07-24T19:46:18.914132825Z", "status": "SENT", "customerInformation": { "name": "Tanya Lee", "email": "[email protected]", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "processingInformation": { "requestPhone": false, "requestShipping": false }, "invoiceInformation": { "invoiceNumber": "2670", "description": "This is an updated test invoice", "dueDate": "2019-07-15", "allowPartialPayments": true, "paymentLink": "/ebc2/invoicing/payInvoice/W447tdnINi5t5wu6QA0KUE2HYWY2rQQ0zXL5b5z6M50w4Ea9FFlcYrEmp09pFlzl?version=v2.1", "deliveryMode": "None" }, "orderInformation": { "amountDetails": { "totalAmount": 2623.64, "currency": "USD", "balanceAmount": 2623.64, "discountAmount": 126.08, "discountPercent": 5, "subAmount": 2749.72, "minimumPartialAmount": 200, "taxDetails": { "type": "State Tax", "amount": 208, "rate": 8.25 }, "freight": { "amount": 20, "taxable": true, "taxRate": 0.01 } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": 12.05, "quantity": 20, "discountAmount": 13.04, "taxAmount": 0, "taxRate": 0, "totalAmount": 247.86 } ] }}Required Fields
Include these fields and any additional fields contained in the original request to update the invoice.
| Field | Type | Description |
|---|---|---|
invoiceInformation.description | string | This field becomes optional if the line item fields are present in the request message. |
invoiceInformation.dueDate | string | The date payment is due. Format: YYYY-MM-DD. |
orderInformation.amountDetails.currency | string | ISO 4217 three-letter currency code for the invoice. |
orderInformation.amountDetails.totalAmount | string | The total charge amount for the invoice, as a decimal string. |
orderInformation.lineItems[].productSku | string | Stock-keeping unit identifier for this line item. |
Optional Fields
Optional Fields
| Field | Type | Description |
|---|---|---|
clientReferenceInformation.partner.developerId | string | Set to your developer ID. |
clientReferenceInformation.partner.solutionId | string | Set to your partner solution ID (PSID). |
customerInformation.company.name | string | Customer's company name as it appears on the invoice. |
customerInformation.email | string | Customer's email address. |
customerInformation.merchantCustomerId | string | Your identifier for this customer in your system. |
customerInformation.name | string | Customer's full name as it appears on the invoice. |
invoiceInformation.allowPartialPayments | boolean | Set to true to allow installment payments, or false to require a single payment. |
invoiceInformation.deliveryMode | string | Set to email to email the invoice to the customer, or none to create a payable link without sending an email. |
invoiceInformation.description | string | This field is optional when either of these conditions is met: the invoiceInformation.deliveryMode request field is set to email, or the line item fields are present in the request message. |
invoiceInformation.expirationDate | string | Set to the expiration date. Format: YYYY-MM-DD. The invoice expires on this date at 00:00 UTC. |
invoiceInformation.invoiceNumber | string | Set to a unique number to create an invoice number. The invoice number is set at creation and cannot be changed on update. Pass through the original value to preserve it. You cannot update this invoice number after sending the API request. |
invoiceInformation.sendImmediately | boolean | Set to true to publish and send the invoice immediately after updating. |
orderInformation.amountDetails.discountAmount | number | Flat discount amount applied to the invoice total. |
orderInformation.amountDetails.discountPercent | number | Percentage discount applied to the invoice total. |
orderInformation.amountDetails.freight.amount | number | Freight or shipping amount added to the invoice total. |
orderInformation.amountDetails.freight.taxable | boolean | Set to true if freight is subject to tax. |
orderInformation.amountDetails.freight.taxRate | number | Tax rate applied to the freight amount. |
orderInformation.amountDetails.minimumPartialAmount | number | The minimum amount allowed for a single installment payment. Only applies when allowPartialPayments is true. |
orderInformation.amountDetails.subAmount | number | The subtotal before discounts or tax adjustments. |
orderInformation.amountDetails.taxDetails.amount | number | Tax amount applied to the invoice. |
orderInformation.amountDetails.taxDetails.rate | number | Tax rate applied to the invoice. |
orderInformation.amountDetails.taxDetails.type | string | Type of tax applied to the invoice. |
orderInformation.lineItems[].discountAmount | number | Discount amount applied to this line item. |
orderInformation.lineItems[].discountRate | number | Discount rate applied to this line item, as a percentage. |
orderInformation.lineItems[].productName | string | Display name of the line item as it appears on the invoice. |
orderInformation.lineItems[].productSku | string | Stock-keeping unit identifier for this line item. |
orderInformation.lineItems[].quantity | integer | Number of units for this line item. |
orderInformation.lineItems[].taxAmount | number | Tax amount applied to this line item. |
orderInformation.lineItems[].taxRate | number | Tax rate applied to this line item. |
orderInformation.lineItems[].totalAmount | number | Total amount for this line item. |
orderInformation.lineItems[].unitPrice | number | Price per unit for this line item. |
Thanks for your feedback!
Last published: September 29, 2026