id = "ledger-a-fraction-of-a-cent-is-refused" title = "A line finer than the currency's smallest unit is refused" rule = "A ledger kept in one currency MUST hold amounts in whole units of that currency's smallest unit, so a line finer than it MUST be refused, never rounded silently." status = "CHOICE" sources = [ "Pacioli, Summa (1494), ch. 36: \"the money that you reckon by at the beginning should be the same all through the Ledger\" (docs/spec/sources/pacioli-1494.md)", "ISO 4217: the US dollar has two minor-unit digits (docs/spec/sources/iso-4217.md)", "CHOICE, the owner, 2026-10-13 (docs/spec/rules.md B-3): books in the smallest unit, so cash can match a bank statement", ] tags = ["accrual", "book", "us", "ledger", "currency"] [setup] currency = "USD" fiscal_year_start = "01-01" basis = "accrual" rounding = "half-even" [[setup.accounts]] code = "1000" name = "Cash" type = "asset" [[setup.accounts]] code = "3000" name = "Capital" type = "equity" [[setup.accounts]] code = "4000" name = "Sales" type = "revenue" tax_category = "gross_receipts" [[setup.accounts]] code = "6000" name = "Rent" type = "expense" tax_category = "rent_property" # 10.005 dollars is no amount anyone can pay. [[events]] date = "2026-01-05" description = "Half a cent too fine" refused = "finer_than_minor_unit" lines = [ { account = "1000", side = "debit", amount = "10.005" }, { account = "4000", side = "credit", amount = "10.005" }, ] [[events]] date = "2026-01-06" description = "The same sale in cents" lines = [ { account = "1000", side = "debit", amount = "10.01" }, { account = "4000", side = "credit", amount = "10.01" }, ] [[expect]] query = "trial_balance" as_of = "2026-12-31" [expect.values] "1000" = "10.01" "3000" = "0.00" "4000" = "-10.01" "6000" = "0.00"