Skip to main content

Cash transaction rounding for Point of Sale purchases in selected countries

For specific currencies, cash transactions on Point of Sale now automatically round to the nearest denomination. This applies to cash payments and refunds using the following currencies and regions: CAD (Canada), AUD (Australia), NZD (New Zealand), EUR (Switzerland, Belgium, Finland), DKK (Denmark), SEK (Sweden), NOK (Norway). Additional currencies may be supported in the future.

Additionally, in GraphQL Admin API versions 2024-10 and later, we’ve introduced new fields to simplify queries of cash rounding adjustments for both orders and transactions.

Order-level cash rounding adjustments

On the Order object, we've introduced the totalCashRoundingAdjustment field, which indicates the total cash rounding adjustments applied to all payment and refund transactions within a Point of Sale order.

To calculate rounded totals:

  • Rounded total payment: totalReceivedSet.presentmentMoney + totalCashRoundingAdjustment.paymentSet.presentmentMoney
  • Rounded total refund: totalRefundedSet.presentmentMoney + totalCashRoundingAdjustment.refundSet.presentmentMoney

Transaction-level cash rounding adjustments

On the OrderTransaction object, we've introduced the amountRoundingSet field, which indicates the cash rounding adjustment applied to an individual cash payment or refund transaction on Point of Sale.

To identify a cash transaction, check that the gateway field equals cash.

To calculate the rounded transaction amount:

Rounded transaction amount = amountSet.presentmentMoney + amountRoundingSet.presentmentMoney

Example

Consider an example Point of Sale order:

  • Cash payment: 9.99, rounded up by +0.01 to 10.00
  • Partial cash refund: 5.02, rounded down by -0.02 to 5.00

Order example

FieldValue
totalReceivedSet.presentmentMoney9.99
totalCashRoundingAdjustment.paymentSet.presentmentMoney+0.01
Rounded total payment10.00
totalRefundedSet.presentmentMoney5.02
totalCashRoundingAdjustment.refundSet.presentmentMoney-0.02
Rounded total refund5.00

Transaction example

Transaction TypeamountSet.presentmentMoneyamountRoundingSet.presentmentMoneyRounded Transaction Amount
Payment9.99+0.0110.00
Refund5.02-0.025.00
Was this section helpful?