---
title: >-
  Cash transaction rounding for Point of Sale purchases in selected countries -
  Shopify developer changelog
description: >-
  Shopify’s developer changelog documents all changes to Shopify’s platform.
  Find the latest news and learn about new platform opportunities.
source_url:
  html: >-
    https://shopify.dev/changelog/new-cash-rounding-on-order-and-order-transaction
  md: >-
    https://shopify.dev/changelog/new-cash-rounding-on-order-and-order-transaction.md
metadata:
  effectiveApiVersion: ''
  affectedApi:
    - displayName: Admin GraphQL API
      handle: admin-graphql
  primaryTag:
    displayName: API
    handle: api
  secondaryTag:
    displayName: New
    handle: new
  indicatesActionRequired: true
  createdAt: '2024-08-23T18:41:16-04:00'
  postedAt: '2025-04-24T12:00:00-04:00'
  updatedAt: '2025-04-23T23:48:34-04:00'
  effectiveAt: '2025-01-06T00:00:00-05:00'
---

April 24, 2025

Tags:

* Action Required
* Admin GraphQL API

# 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`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Order#field-totalCashRoundingAdjustment) field, which indicates the total cash rounding adjustments applied to all payment and refund transactions within a Point of Sale order.

* **Payments**: Use [`totalCashRoundingAdjustment.paymentSet`](https://shopify.dev/docs/api/admin-graphql/latest/objects/CashRoundingAdjustment#field-paymentset).
* **Refunds**: Use [`totalCashRoundingAdjustment.refundSet`](https://shopify.dev/docs/api/admin-graphql/latest/objects/CashRoundingAdjustment#field-refundset).

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`](https://shopify.dev/docs/api/admin-graphql/latest/objects/OrderTransaction#field-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`](https://shopify.dev/docs/api/admin-graphql/latest/objects/OrderTransaction#field-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

| Field | Value |
| - | - |
| `totalReceivedSet.presentmentMoney` | 9.99 |
| `totalCashRoundingAdjustment.paymentSet.presentmentMoney` | +0.01 |
| **Rounded total payment** | 10.00 |
| `totalRefundedSet.presentmentMoney` | 5.02 |
| `totalCashRoundingAdjustment.refundSet.presentmentMoney` | -0.02 |
| **Rounded total refund** | 5.00 |

#### Transaction example

| Transaction Type | `amountSet.presentmentMoney` | `amountRoundingSet.presentmentMoney` | Rounded Transaction Amount |
| - | - | - | - |
| Payment | 9.99 | +0.01 | 10.00 |
| Refund | 5.02 | -0.02 | 5.00 |
