Invoices support deposit payments and automatic total calculations based on line items, taxes, and shipping.
You can configure a deposit to collect a partial upfront payment. Set the deposit as a fixed amount or a percentage of the invoice total. When a customer opens the payment checkout, the initial payment amount shown is limited to the deposit. Subsequent payments cover the remaining balance.
The totals object is populated at invoice creation and updated throughout the invoice lifecycle.
| Total field | When populated | Dependencies | Notes |
|---|---|---|---|
total | At creation. | subtotal - discount + tax + shipping. | Represents the final amount due. |
subtotal | At creation. | Sum of all lineItems. | Populated even if no taxes or discounts are applied. |
discount | When discounts apply. | Line item or invoice-level discounts. | Can be empty if no discounts are provided. |
shipping | When shipping or shipment is used. | shippingInfo.address or shipmentInfo.logistics.pickupDetails.address. | If shipmentInfo.logistics.pickupDetails.address isn't provided, the shippingInfo.address is used. |
exempt | When taxes apply. | Tax-exempt amounts from line items and shipping. | Can be empty if no tax exemptions apply. |
tax | When taxes apply. | Regional settings, business location. | Can be empty if no taxes apply to line items or shipping. |
paidAmount | After each payment. | Confirmed payments from eCommerce. | Updated asynchronously via order payment changes. |
balance | After each payment. | total - paidAmount. | Represents the outstanding amount. |
Last updated: 6 May 2026