id = "entry-a-line-amount-is-positive" title = "A negative or zero line amount is refused; the side gives the direction" rule = "A line's amount MUST be greater than zero, and its side, not its sign, MUST give the direction money moves; an entry with a negative or zero line MUST be refused." status = "CONVENTION" sources = [ "Pacioli, Summa (1494), ch. 36: debtors at the left, creditors at the right (docs/spec/sources/pacioli-1494.md)", "CONVENTION, the owner, 2026-10-13 (docs/spec/rules.md B-2): no authority forbids a negative amount outright; one reading of every line is chosen", ] tags = ["accrual", "book", "us", "entry"] [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" # A credit of minus 100.00 would be a debit of 100.00 written the other # way; the books keep one way to write it. [[events]] date = "2026-01-05" description = "A negative credit" refused = "negative_amount" lines = [ { account = "1000", side = "debit", amount = "100.00" }, { account = "4000", side = "credit", amount = "-100.00" }, ] [[events]] date = "2026-01-06" description = "A zero line" refused = "zero_amount" lines = [ { account = "1000", side = "debit", amount = "0.00" }, { account = "4000", side = "credit", amount = "0.00" }, ] # The same 100.00 written with the sides doing the work is accepted. [[events]] date = "2026-01-07" description = "A sale" lines = [ { account = "1000", side = "debit", amount = "100.00" }, { account = "4000", side = "credit", amount = "100.00" }, ] [[expect]] query = "trial_balance" as_of = "2026-12-31" [expect.values] "1000" = "100.00" "3000" = "0.00" "4000" = "-100.00" "6000" = "0.00"