Federal regulation 7 CFR 278.2 prohibits rounding on EBT and SNAP transactions. Centsless enforces this automatically: any transaction submitted with payment_method: "ebt" passes through with rounding_delta_cents: 0 regardless of the merchant’s jurisdiction. Card and mobile transactions are also exempt — only cash transactions are subject to state rounding rules.
Payment method rounding rules
| Payment method | Rounding applied | Notes |
|---|
cash | Yes, per jurisdiction rule | Swedish, symmetrical, or other method as resolved |
card | Never | Passes through unrounded |
ebt | Never | 7 CFR 278.2 federal prohibition |
mobile | Never | Passes through unrounded |
EBT transaction example
A transaction submitted with payment_method: "ebt" in an Arizona merchant location — which normally uses mandatory Swedish rounding — will return a zero rounding delta and include the ebt_compliance_flag:
curl -X POST https://api.centsless.org/api/v1/transaction \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"merchant_id": "MERCHANT-001",
"subtotal_cents": 523,
"tax_total_cents": 200,
"payment_method": "ebt",
"state": "AZ"
}'
The response will include:
{
"transaction": {
"calculation": {
"rounding_delta_cents": 0,
"rounding_applied": false,
"cash_rounding_mode": "none",
"ebt_compliance_flag": "7 CFR 278.2 compliance flag for EBT transactions"
}
}
}
Split tender transactions
If a transaction uses both cash and EBT (split tender), only the cash portion is subject to rounding. Set is_split_tender: true and include both tenders in the tenders array. The engine isolates the cash amount for rounding and leaves the EBT portion untouched.
Overriding rounding on an EBT transaction is not permitted. If you submit a transaction with payment_method: "ebt" and also pass cash_rounding_mode with a non-none value, the API will reject the request with a validation error.