Cash rounding for orders

Cash rounding for orders overview

Cash rounding is a service charge adjustment used to simplify transactions following the withdrawal of the penny from circulation. This charge applies only to cash payments, where the change due to the guest is rounded to the nearest 0.05. The adjustment is applied after taxes and discounts, making it a non-taxable cash adjustment.

Cash rounding is a service charge that applies when a cash payment is processed. The change due to the guest is rounded to the nearest 0.05. The adjustment is applied after tax and discounts, so it is a non-taxable cash adjustment.

You can configure one of three rounding strategies at your location:

  • Always round up (rounds in the location's favor)

  • Always round down (rounds in the guest's favor)

  • Round to the nearest nickel

Rounding only happens when the change due doesn't already end in 0 or 5 cents. The change is adjusted by a few cents (anywhere from $0.01 to $0.04) to reach the nearest nickel. A negative cash rounding service charge means more change was given (rounded in the guest's favor). A positive value means less change was given (rounded in the location's favor). For more information about rounding strategies, see Cash rounding strategies overview.

In the orders API, cash rounding is response-only. You cannot create orders with cash rounding service charges; they only appear in API responses when a cash payment is processed.

The orders API does not indicate which rounding strategy a location uses. In API responses you only see the resulting positive or negative chargeAmount for each cash rounding service charge.

Example cash rounding scenario 

A guest at a location that uses the always round down rounding strategy has a check total of $6.03. They pay with $10.00 cash. The exact change would be $3.97, but that doesn't end in 0 or 5 cents, so the Toast platform rounds the change to the nearest nickel. With always round down rounding, the guest receives $3.95 back. The location keeps the extra $0.02. That .02 is recorded on the check as a cash rounding service charge. The guest still owes $6.03, and the orders API response shows both the payment and the small adjustment. For the example JSON payload matching this scenario, see Example: Cash round on a check with change due.

Cash rounding service charges

Cash rounding service charges are applied to checks when a cash payment is processed and appear as AppliedServiceCharge objects on the check object. The service charge reflects the adjustment from rounding the change due to the nearest nickel.

Cash rounding service charges have the following characteristics:

  • The serviceChargeCategory value is set to CASH_ROUNDING.

  • The chargeAmount can be positive or negative, depending on whether the change due was rounded in the location's favor (less change given) or the guest's favor (more change given).

  • The destination value is set to CASH_DRAWER. Service charges with a destination value set to CASH_DRAWER don't contribute to net sales.

  • The paymentGuid value contains the globally unique identifier (GUID) of the cash payment that the rounding adjustment is linked to.

Example: Cash round on a check with change due

{
  "checks": [
    {
      "entityType": "Check",
      "guid": "5fa001b4-6a00-4a5e-8ed8-adaa21bd6a36",
      "amount": 6.031,
      "amountDue": 0,
      "payments": [
        {
          "guid": "5a70ee5a-1612-443a-871d-d663a6e905d2",
          "entityType": "OrderPayment",
          "type": "CASH",
          "amount": 6.03,
          "amountTendered": 102
        }
      ],
      "appliedServiceCharges": [
        {
          "guid": "4fe70ad1-c9dd-43e8-88b8-d10d1cdc1055",
          "entityType": "AppliedServiceCharge",
          "paymentGuid": "5a70ee5a-1612-443a-871d-d663a6e905d2",
          "destination": "CASH_DRAWER",
          "serviceChargeCategory": "CASH_ROUNDING",
          "serviceCharge": {
            "guid": "29701aad-dabd-4ba7-9db8-97830968733e",
            "entityType": "ServiceCharge"
          },
          "name": "Toast Cash Rounding",
          "chargeAmount": 0.023,
          "taxAmount": 0
        }
      ]
    }
  ]
}

1

The check total. — amount: 6.03

2

What the guest paid. — amountTendered: 10

3

The rounded amount as a cash rounding service charge. — chargeAmount: 0.02