Skip to main content

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.

FieldTypeDescription
invoiceInformation.descriptionstringThis field becomes optional if the line item fields are present in the request message.
invoiceInformation.dueDatestringThe date payment is due. Format: YYYY-MM-DD.
orderInformation.amountDetails.currencystringISO 4217 three-letter currency code for the invoice.
orderInformation.amountDetails.totalAmountstringThe total charge amount for the invoice, as a decimal string.
orderInformation.lineItems[].productSkustringStock-keeping unit identifier for this line item.

Optional Fields

Optional Fields
FieldTypeDescription
clientReferenceInformation.partner.developerIdstringSet to your developer ID.
clientReferenceInformation.partner.solutionIdstringSet to your partner solution ID (PSID).
customerInformation.company.namestringCustomer's company name as it appears on the invoice.
customerInformation.emailstringCustomer's email address.
customerInformation.merchantCustomerIdstringYour identifier for this customer in your system.
customerInformation.namestringCustomer's full name as it appears on the invoice.
invoiceInformation.allowPartialPaymentsbooleanSet to true to allow installment payments, or false to require a single payment.
invoiceInformation.deliveryModestringSet to email to email the invoice to the customer, or none to create a payable link without sending an email.
invoiceInformation.descriptionstringThis 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.expirationDatestringSet to the expiration date. Format: YYYY-MM-DD. The invoice expires on this date at 00:00 UTC.
invoiceInformation.invoiceNumberstringSet 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.sendImmediatelybooleanSet to true to publish and send the invoice immediately after updating.
orderInformation.amountDetails.discountAmountnumberFlat discount amount applied to the invoice total.
orderInformation.amountDetails.discountPercentnumberPercentage discount applied to the invoice total.
orderInformation.amountDetails.freight.amountnumberFreight or shipping amount added to the invoice total.
orderInformation.amountDetails.freight.taxablebooleanSet to true if freight is subject to tax.
orderInformation.amountDetails.freight.taxRatenumberTax rate applied to the freight amount.
orderInformation.amountDetails.minimumPartialAmountnumberThe minimum amount allowed for a single installment payment. Only applies when allowPartialPayments is true.
orderInformation.amountDetails.subAmountnumberThe subtotal before discounts or tax adjustments.
orderInformation.amountDetails.taxDetails.amountnumberTax amount applied to the invoice.
orderInformation.amountDetails.taxDetails.ratenumberTax rate applied to the invoice.
orderInformation.amountDetails.taxDetails.typestringType of tax applied to the invoice.
orderInformation.lineItems[].discountAmountnumberDiscount amount applied to this line item.
orderInformation.lineItems[].discountRatenumberDiscount rate applied to this line item, as a percentage.
orderInformation.lineItems[].productNamestringDisplay name of the line item as it appears on the invoice.
orderInformation.lineItems[].productSkustringStock-keeping unit identifier for this line item.
orderInformation.lineItems[].quantityintegerNumber of units for this line item.
orderInformation.lineItems[].taxAmountnumberTax amount applied to this line item.
orderInformation.lineItems[].taxRatenumberTax rate applied to this line item.
orderInformation.lineItems[].totalAmountnumberTotal amount for this line item.
orderInformation.lineItems[].unitPricenumberPrice per unit for this line item.

Last published: September 29, 2026