Skip to main content

Invoice-Level Rounding


Invoice-Level Rounding

By default, Zuora applies the rounding increment against every invoice item. Using these rules, every invoice and taxation item will be rounded separately. The invoice-level rounding feature allows you to apply the rounding increment once, at the invoice total level, instead of against each invoice item. For example, using this feature, invoice and taxation items can be rounded to the nearest one cent, but only the final invoice total will be rounded to the nearest five cents.

Setting the Invoice Rounding Rules

When using this feature, each individual invoice item and tax item will be rounded to nearest one cent. However, you can configure how Zuora will round the total value of the invoice. 

For example, you can configure Zuora to round the invoice total up to the nearest 5 cents:

  1. Click your username at the top right and navigate to Billing > Customize Currencies.
  2. Click add new currency (or Edit an existing currency).
  3. Select the Alphabetic Code for the currency and the Rounding Mode. See Customize Currencies for more information about these settings. 
  4. Set a value for the Rounding Increment. By default for most currencies, the Rounding Increment is 1 cent (0.01). If you change this value, Zuora displays the option to apply the rounding increment only to the invoice total. 

Set invoice rounding amount

  1. Optionally, set an Rate for currency conversion. 
  2. Click save.
  3. In the list of currencies, Zuora notes that for the currency that you just created, the rounding increment will be applied Applied to invoice total only.

Viewing the Rounding Data on Invoices

When using this feature, Zuora performs the following actions in generating an invoice: 

  1. First, Zuora will round all invoice items at the 1-unit increment using the rounding mode (up, down, half up) is specified for that currency.
  2. Next, Zuora calculates the Total (including tax) for the invoice. If the total does not match your desired rounding increment for the currency, then Zuora will create an additional Rounding Amount invoice item for the invoice that includes the amount required (either positive or negative) to achieve the rounding increment for your invoice total. 

Rounding amount on an invoice

The Rounding Amount appears as the last item in an invoice. It is generated as required, and is not tied to any subscription rate plan charge or product rate plan charge in Zuora. 

Querying the Rounding Amount in the Zuora API

As part of the invoice rounding feature, we have added a new value for ProcessingType of the InvoiceItem object. The value 4 represents a rounding object item.

If you want to use the Zuora API to query the rounding amount, you can use this value to query the invoice item (ProcessingType = '4').

Because the ChargeName for the rounding item is hard-coded to Rounding Amount, you can also query the rounding amount by ChargeName = 'Rounding Amount' or ChargeName like 'Rounding%'

SOAP Example

<soapenv:Envelope xmlns:soapenv="" xmlns:api="">
          SELECT ChargeName, ChargeAmount FROM InvoiceItem

Rounding Amount Invoice Item Object

The following values are stored for all invoice item fields associated with a rounding amount:

Field Value
AccountingCode No value
ChargeAmount The amount required to achieve the rounding increment.
ChargeDate The date that your invoice is generated
ChargeDescription Rounding Amount (this cannot be edited)
ChargeName Rounding Amount (this cannot be edited)
ChargeNumber No value
CreatedById Auto-generated
CreatedDate Auto-generated
InvoiceId Auto-generated to connect it to the correct invoice.
ProcessingType 4 (a rounding amount)
ProductDescription No value
ProductId No value
Quantity 1
RatePlanChargeId No value
RevRecCode, RevRecStartDate, RevRecTriggerCondition No value
ServiceStartDate Set to the invoice date
ServiceEndDate Set to the invoice date
SKU Empty string
SubscriptionId No value
TaxAmount No value
TaxCode No value
TaxExemptAmount No value
UnitPrice The amount required to achieve the rounding increment.
UOM Empty string
UpdatedById Auto-generated
UpdatedDate Auto-generated


The following limitations apply to the invoice rounding feature:

  • If you want to export these rounding amounts using Zuora data sources, we recommend that you export Invoice Items and filter for those items with a Processing Type equal to Rounding.
  • If you re-generate a draft invoice (for example, to add new charges), Zuora will update the Rounding Amount on that invoice automatically. However, if you make manual edits or adjustments to an existing invoice, Zuora will not perform rounding automatically after such changes are made, so it is your responsibility in this case to also update the Rounding Amount to achieve a properly rounded invoice total.