What cash rounding is actually worth across a price list
rounding_impactCompute what cash rounding is actually worth across a list of prices: mean delta per transaction, the up/down/unchanged split, and a per-thousand figure.
Use this whenever someone asks whether rounding costs or earns money — a very common question and one usually answered with a guess. Do not guess. Symmetric rounding nets to EXACTLY zero over evenly spread totals, because that is what it was designed to do. Real price lists all end in .99 and are not evenly spread, so the true figure is small but not always zero and it moves with the tax rate. This computes it for the actual prices given.
Input: prices is a list of dollar strings or integer cents. taxRatePercent matters, because tax decides which nickel each total lands on. rule defaults to symmetric; pass always-up to quantify what the "just round everything up" idea would be worth (about 2 cents a sale, and no jurisdiction has adopted it for retail).
Returns: mean and total delta in cents, the split, a per-thousand transaction figure, a per-price breakdown, and a plain-language verdict. Report the verdict — the size of the number is the answer.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rule | No | symmetric (default) is the Common Cents Act and Canadian method. always-down is Indiana's rule for cash payments of TAX, not a retail rule. always-up is not law anywhere for retail and is here only to quantify it. none is what a card gets. | |
| prices | Yes | The prices actually charged. | |
| taxRatePercent | No | Percentage, e.g. 8.25 — not 0.0825. Supply it whenever it is known: rounding happens after tax, so the rate decides which nickel the total lands on. |