Cash rounding in the orders API

Note

Cash rounding is in limited release and available for USA locations only.

Cash rounding for orders overview

Cash rounding is a feature used to simplify cash transactions. When a guest pays with cash, their total due is rounded and the rounded amount is added or subtracted from the check as a service charge. This service charge only applies to cash payments, where the total due is rounded to the nearest $0.05. The service charge is applied after taxes and discounts, making it a nontaxable cash adjustment.

In the orders API, cash rounding details are response-only. You cannot create orders with cash rounding service charges. Cash rounding service charges only appear in the orders API response when a cash payment is processed and the location has cash rounding enabled.

The orders API does not indicate which cash rounding option a location uses. In API responses, you see the resulting chargeAmount for each cash rounding service charge.

For more information about cash rounding options and configuring cash rounding, see Cash rounding.

Cash rounding service charges

Cash rounding service charges are applied to checks when a cash payment is processed and appear as AppliedServiceCharge object in the Checks object. The cash rounding service charge reflects rounding the total due to the nearest nickel. For more information about service charges, see Service charge overview.

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 total due was rounded up, or rounded down:

    • When the total due is rounded down, the guest pays less and the location loses the difference, which results in a negative chargeAmount.

    • When the total due is rounded up, the guest pays more and the location keeps the difference, which results in a positive chargeAmount.

  • 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) for the cash payment that the cash rounding service charge applies to.

Example: Cash rounding 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": "Cash Rounding",
          "chargeAmount": 0.023,
          "taxAmount": 0
        }
      ]
    }
  ]
}

1

The check total.

2

The amount the guest paid.

3

The rounded amount as a cash rounding service charge. This example represents a positive service charge where the guest total was rounded up, and the guest paid more.