Line totals & rounding
Each line is rounded to the nearest cent, half a cent rounding up. The subtotal is the sum of those rounded lines, so it always equals what's printed. See also Money & rounding.
Who uses it
Everyone who reads an invoice. Suppliers mostly notice it when matching Clipp to their accounting software.
How it works
- Line total = unit price × quantity, rounded to the cent (half up).
- Subtotal = the sum of the rounded line totals. Never the other way round.
- Unit prices keep up to 4 decimals ($16.299/LB), because meat and seafood are quoted below the cent. They print with 2 to 4 decimals, trailing zeros dropped: $47.50, $16.299. Every other amount prints with 2.
- Quantity prints with at most 2 decimals.
- By-weight lines (catch weight) are priced on the weight, not the case count: 3 cases weighing 12.5 LB at $16.299/LB bills 12.5 × $16.299.
- A by-weight line with no weight entered yet totals $0.00. An order can't be marked Ready for Delivery or Delivered until every by-weight line has a weight: "{n} catch-weight line(s) have no weight recorded." See Catch-weight.
- No tax is charged on invoices.
Calculations
| Line | Unit price | Qty | Exact | Line total |
|---|---|---|---|---|
| Lamb rack | $16.299 / LB | 12.5 LB | 203.7375 | $203.74 |
| Olive oil | $4.125 | 3 | 12.375 | $12.38 |
| Bread | $2.50 | 7 | 17.50 | $17.50 |
| Subtotal | 233.6125 | $233.62 |
Adding first and rounding once would give $233.61. Rounding each line first gives $233.62, which is what the three printed lines add up to.
Rounding boundary: $4.125 × 3 = 12.375 is exactly half a cent, so it rounds up to $12.38. A line of exactly $12.374 would round down to $12.37.
Suppliers quote catch-weight rates below the cent (a real invoice prices lamb rack at $16.299/LB), and a buyer matching a case price back to a per-pound rate needs the fourth digit. Only unit prices get it; line totals, subtotals and balances stay at 2.
Where it shows up
Invoice page, PDF, emails, the pay page and the card and PayPal checkout lines. All use the same rule, so a buyer never reads $16.30/LB on one document and $16.299/LB on another.
Permissions
Not configurable.
Decisions
- Round each line, then add. The stored total always equals the sum of the printed lines, so invoices match QuickBooks. (#2160)
- Half up, never banker's rounding. Matches how suppliers and accounting tools round. (CLAUDE.md money rules)
- Unit prices up to 4 decimals on sales and purchase invoices. (#2150)
Known limitations
- Typing a 5th decimal in a unit price drops it rather than rounding (1.23456 becomes 1.2345) (QA bug log, Oct 2026).
FAQ
Why does the invoice say $25.99 and not $26.00? Each line is rounded on its own. $2.599 × 10 LB = $25.99 exactly.
My accounting software shows a one-cent difference. Check whether it rounds the total once instead of each line. Clipp rounds each line and adds them.