diff --git a/AGENTS.md b/AGENTS.md index 39236d7..8282634 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -93,6 +93,16 @@ property tests, mutation testing, and 11.5M fuzz executions: So the bar, for every agent, every change: +0. **Specs come from authorities, not memory.** Every rule the engine + enforces is in `docs/spec/rules.md` with its source: Pacioli for the + mechanics of double entry, the IRS (vendored verbatim, public domain) + for records, periods, 1099s, capitalization, partnerships, and payroll, + FASB's Codification (cited, never copied) for GAAP. A rule no authority + states is marked CONVENTION or DECISION, with who decided and when. + Spec blocks in the code (```text GOAL/SOURCE/INVARIANTS/SCENARIOS) + carry a `SOURCE:` line. Never write a spec from what the code happens + to do, or from what you remember; find the document, or ask. + 1. **Money arithmetic goes in `kernel.rs`, generic over `Amount`.** If you write a sum, a sign flip, a split, or a rounding plug anywhere else, move it into the kernel. The engine calls the kernel. It never @@ -166,6 +176,7 @@ clone, with status. Rules: | `docs/requirements.md` | What the engine must do (R-1…), what is future work | | `docs/architecture.md` | Crate layout, command pattern, dependency rules | | `docs/oracle.md` | How we check correctness: golden files, property tests, fuzzing, cross-checks against other implementations (and who is right) | +| `docs/spec/` | The authorities every rule comes from (`rules.md`), with public-domain sources vendored verbatim | | `docs/verification.md` | The formal proofs: every accounting law, its Kani harness and Lean theorem, what they found | | `docs/parity.md` | Feature catalog and the non-regression floor | | `docs/capability-parity.md` | Parity vs the GSheet+GDrive system + the cutover rule | diff --git a/crates/ledger-core/src/arap.rs b/crates/ledger-core/src/arap.rs index e261c30..4635a76 100644 --- a/crates/ledger-core/src/arap.rs +++ b/crates/ledger-core/src/arap.rs @@ -198,6 +198,9 @@ impl AgingRow { /// /// ```text /// GOAL: say how overdue a balance is, as of a date. +/// SOURCE: docs/spec/rules.md B-18 (bucket edges: CONVENTION, ASC +/// 326-20-55-38 illustrative; due today is Current: DECISION, +/// Stephen 2026-10-13). /// INVARIANTS: /// 1. MUST put the whole balance in exactly one bucket; the others are /// zero. diff --git a/crates/ledger-core/src/kernel.rs b/crates/ledger-core/src/kernel.rs index a77d571..eefccd3 100644 --- a/crates/ledger-core/src/kernel.rs +++ b/crates/ledger-core/src/kernel.rs @@ -8,21 +8,25 @@ //! laws it implements hold for books of any size. See //! `docs/verification.md` for which proof covers which law. //! -//! The laws, in the order they appear: +//! The laws, in the order they appear (each traced to its authority in +//! `docs/spec/rules.md`): //! -//! * a line's signed amount is `+amount` for a debit, `-amount` for a credit; +//! * a line's signed amount is `+amount` for a debit, `-amount` for a credit +//! (B-2); //! * an entry is acceptable when it has two or more lines, every amount is -//! positive and in range, and its debits equal its credits exactly; -//! * an acceptable entry nets to zero, account by account summed; +//! positive and in range, and its debits equal its credits exactly (B-1, +//! B-2, B-21); +//! * an acceptable entry nets to zero, account by account summed (B-1); //! * a reversal flips every side, so it is acceptable exactly when the -//! original is, and the two together net every account to zero; +//! original is, and the two together net every account to zero (B-9); //! * an account's balance is its movement read on its normal side, so the //! balances satisfy the accounting equation whenever movements net to -//! zero; +//! zero (B-5, B-7); //! * a trial balance puts each movement in exactly one column, so its -//! columns differ by the net of all movements; -//! * a closing line zeroes the account it closes; -//! * an allocation's parts sum to the whole, to the last unit. +//! columns differ by the net of all movements (B-6); +//! * a closing line zeroes the account it closes (B-11); +//! * an allocation's parts sum to the whole, to the last unit, by largest +//! remainder (B-13). use crate::{AccountType, Side}; use rust_decimal::Decimal; @@ -277,6 +281,8 @@ pub fn plug_last(whole: T, parts: &mut [T]) -> Option<()> { /// ```text /// GOAL: split a whole into parts, each a whole number of units where /// possible, summing to the whole exactly, without favoring anyone. +/// SOURCE: docs/spec/rules.md B-13 (shares: 26 U.S.C. §704(a); cent +/// rounding: DECISION, Stephen 2026-10-13), B-21 (exact totals). /// INVARIANTS: /// 1. MUST make the parts sum to `whole` exactly. /// 2. MUST change each part by zero or one unit (the first in order diff --git a/crates/ledger-core/src/ledger.rs b/crates/ledger-core/src/ledger.rs index 7474bf7..bcd241f 100644 --- a/crates/ledger-core/src/ledger.rs +++ b/crates/ledger-core/src/ledger.rs @@ -612,6 +612,8 @@ impl Ledger { /// /// ```text /// GOAL: decide whether `entry` may be reversed on `date`. + /// SOURCE: docs/spec/rules.md B-9 (Pacioli ch. 31, 36), B-10 (DECISION, + /// Stephen 2026-10-13), B-12 (closed periods). /// INVARIANTS: /// 1. MUST NOT mutate anything. /// 2. NEVER accepts a reversal that `reverse_entry` would then refuse. diff --git a/docs/spec/README.md b/docs/spec/README.md new file mode 100644 index 0000000..3a519c8 --- /dev/null +++ b/docs/spec/README.md @@ -0,0 +1,52 @@ +# Specification sources + +wanderbooks' rules come from documents, not from anyone's memory. This +directory holds the authorities the engine's specs cite (`docs/spec/rules.md` +is the rule catalog), and every spec block in the code carries a `SOURCE:` +line pointing into it. + +## The authority stack + +There is no single "bible" of US bookkeeping. Authority is layered, and the +layers differ in what they cover and in whether we may copy them: + +| Layer | What it governs | Copyright | Here | +|---|---|---|---| +| **Pacioli (1494), Geijsbeek translation (1914)** | The mechanics of double entry: debits equal credits, the trial balance, one money, writing only forward, correcting by opposite entry, closing into capital. No modern standard restates these; they predate every regulator. | Public domain | Vendored verbatim: `sources/pacioli-1494.md` | +| **IRS: Internal Revenue Code, Treasury Regulations, publications, form instructions** | Records and supporting documents, retention, accounting periods and methods, information returns (1099), capitalization (de minimis, 12-month rule), partners' capital, payroll taxes, rounding on returns | Public domain (17 U.S.C. §105; IRS.gov's content policy) | Vendored verbatim: `sources/irs-*.md`, `sources/us-public-domain-status.md` | +| **FASB Accounting Standards Codification (ASC)** | Authoritative US GAAP: cash flows (ASC 230), revenue and principal vs agent (ASC 606), foreign currency (ASC 830), credit losses and aging (ASC 326), property and depreciation (ASC 360) | © Financial Accounting Foundation | Cited by paragraph with short quotes only (in `rules.md`) | +| **FASB Concepts Statement No. 8, Chapter 4 (2021)** | Definitions of the five elements (it replaced Concepts Statement 6) | © Financial Accounting Foundation; non-authoritative | Cited with short quotes only | +| **Textbooks (OpenStax *Principles of Accounting, Vol. 1*)** | Conventions no standard states: normal balances, closing-entry mechanics, straight-line depreciation arithmetic | CC BY-NC-SA 4.0 (incompatible with this repo's license) | Cited with short quotes and attribution only | +| **Convention or decision** | Where no authority speaks: aging bucket edges, cent rounding among members, closed-period locks | — | Stated as CONVENTION or DECISION, with who decided and when | + +## How to read a SOURCE line + +```text +SOURCE: Pacioli ch. 36 (sources/pacioli-1494.md); IRS Pub. 583 (sources/irs-records.md) +SOURCE: ASC 830-20-30-1 (cited, rules.md B-3) +SOURCE: DECISION (Stephen, 2026-10-13) +SOURCE: CONVENTION (QuickBooks aging); nearest authority ASC 326-20-55-38 (illustrative) +``` + +A rule whose only source is CONVENTION or DECISION is a candidate for a +human to confirm or overturn; nothing else is. + +## Vendoring rules + +- Public-domain texts are copied **verbatim** (whitespace normalized), each + with its URL, retrieval date, and the SHA-256 of the retrieved file, so + anyone can check the excerpt against the original. +- Copyrighted sources are cited by paragraph, quoted briefly, never copied. +- When an authority changes (the IRS revises a publication; a statute is + amended), add the new text beside the old with its effective date. Rules + that depend on dates (1099 thresholds) must say which text applies when. + +## Open: sources we could not verify + +Read on 2026-10-13 through Deloitte's free DART roadmaps, which reproduce +ASC text: ASC 230-10-45-16 and -28, 326-20-55-37/38, 606-10-25-23, 45-2, +55-37/38, 830-20-30-1. Not yet verified (the ASC's free basic view needs a +login): ASC 360-10-35-4 (depreciation), 340-10 (prepaids), 230-10-45-10, +606-10-55-37B, 210 (balance sheet). Until someone with a FASB basic-view +account reads them, the rules that would cite them cite the textbook and +say so. diff --git a/docs/spec/rules.md b/docs/spec/rules.md new file mode 100644 index 0000000..9a76496 --- /dev/null +++ b/docs/spec/rules.md @@ -0,0 +1,329 @@ +# Rule catalog + +Every rule the engine enforces, the authority for it, and what checks it. +Status is **AUTHORITY** (a source states the rule), **CONVENTION** (common +practice no authority states; the best reference is given), or +**DECISION** (a human chose, and when). Vendored sources are in +`sources/`; FASB and OpenStax are quoted briefly under their copyright and +license (see `README.md`). Quotes from FASB's Codification were read in +Deloitte's DART roadmaps, which reproduce it ("FASB Accounting Standards +Codification: Copyright © 2005 - 2026 by Financial Accounting +Foundation"). + +Spec blocks in the code cite these as `SOURCE: rules.md B-n`. + +--- + +## B-1 Every entry is a double entry: debits equal credits + +**Status:** AUTHORITY + +- Pacioli ch. 36 (`sources/pacioli-1494.md`): "All entries made in the + ledger have to be double entries — that is, if you make one creditor, + you must make some one debtor." +- IRS Pub. 583 (`sources/irs-records.md`): "It is self-balancing because you + record every transaction as a debit entry in one account and as a credit + entry in another. Under this system, the total debits must equal the + total credits after you post the journal entries to the ledger accounts." + +**Enforced:** `kernel::check_lines` via `JournalEntry::validate` (two or +more lines, debits = credits exactly). **Checked:** Kani +`check_lines_is_exact`, `accepted_entry_nets_to_zero`; Lean +`Accepted.net_zero`; property `prop_posted_entries_balance`. + +## B-2 A line's amount is positive; its side gives the direction + +**Status:** CONVENTION + +Pacioli keeps amounts in a debit column and a credit column (ch. 36: "All +the creditors must appear in the Ledger at the right hand side, and all the +debtors at the left"); the side, not a sign, says which way money moves. No +authority forbids a negative amount outright; wanderbooks refuses them so +that every line reads one way (2026-10-13, found by the formal pass). + +**Enforced:** `kernel::check_lines` (`NegativeAmountLine`, `ZeroAmountLine`). +**Checked:** Kani `check_lines_is_exact`; test +`negative_amount_line_is_rejected`. + +## B-3 One money through the ledger; foreign amounts at the transaction-date rate + +**Status:** AUTHORITY + +- Pacioli ch. 36: "the money that you reckon by at the beginning should be + the same all through the Ledger." +- ASC 830-20-30-1 (cited): "each asset, liability, revenue, expense, gain, + or loss arising from the transaction shall be measured initially in the + functional currency of the recording entity by use of the exchange rate + in effect at that date." + +**Enforced:** `Ledger::add_line` (base currency only), +`Ledger::add_line_fx` (base amount = foreign amount × rate, original kept). +**Checked:** `foreign_currency_line_is_rejected`, `fx_overflow_is_an_error`. + +## B-4 Five elements, closed list + +**Status:** AUTHORITY (definitions); the five-type chart is CONVENTION + +FASB Concepts Statement No. 8, Ch. 4 (2021), which replaced Concepts +Statement 6 (cited): E16 "An asset is a present right of an entity to an +economic benefit." E37 "A liability is a present obligation of an entity to +transfer an economic benefit." E61 equity is "the residual interest in the +assets of an entity that remains after deducting its liabilities." E80 +revenues "are inflows or other enhancements of assets … or settlements of +its liabilities … from delivering or producing goods, rendering services, +or carrying out other activities." E81 expenses "are outflows or other +using up of assets … or incurrences of its liabilities …". + +**Enforced:** `AccountType` (five variants). **Checked:** by type. + +## B-5 Normal balances + +**Status:** CONVENTION + +No standard defines normal balances. OpenStax, *Principles of Accounting, +Vol. 1* §3.1 (cited; "Access for free at openstax.org"): "As assets and +expenses increase on the debit side, their normal balance is a debit… +Since liabilities, equity (such as common stock), and revenues increase +with a credit, their 'normal' balance is a credit." Pacioli ch. 12: capital +"must always be placed as creditor … and the cash always debtor." + +**Enforced:** `AccountType::normal_side`, `kernel::normal_balance`. +**Checked:** Kani `normal_balance_is_signed`, `normal_side_increases`; Lean +`balance_after_line`. + +## B-6 The trial balance balances + +**Status:** AUTHORITY + +Pacioli ch. 36: "the total of the credits — I do not say creditors — +should be equal to the total of the debits — I do not say debtors. If they +were not equal there would be a mistake in the Ledger." IRS Pub. 583 (B-1). + +**Enforced:** follows from B-1. **Checked:** Kani `trial_balance_columns`; +Lean `trial_balance_iff`, `Reachable.trial_balance`, +`Reachable.trial_balance_through`; properties. + +## B-7 The accounting equation + +**Status:** AUTHORITY + +CON 8 Ch. 4 ¶E62 (cited): equity "is the difference between the entity's +assets and its liabilities." On a live book, income not yet closed is part +of equity (B-11). + +**Checked:** Kani `accounting_equation`; Lean `accounting_equation`, +`Reachable.accounting_equation[_through]`; property +`prop_balance_sheet_balances`. + +## B-8 Posted is forever: the book is written only forward + +**Status:** AUTHORITY + +- Pacioli ch. 36: "You should not write backward, but always forward — + that is, go forward as the days go, which never come back. If you do + otherwise, the book would be untrue." +- German Commercial Code (HGB) §239(3) (cited; official English + translation): "An entry or a documented record may not be modified such + that it is no longer possible to establish its original content." +- Rev. Proc. 98-25 (`sources/irs-records.md`): machine-sensible records + must keep the audit trail. + +**Enforced:** posted entries immutable; the journal is append-only and +hash-chained. **Checked:** Lean `Step.extends`, `Steps.extends`; property +`prop_posted_entries_immutable`; store `journal_tamper_is_detected`. + +## B-9 A mistake is corrected by an opposite entry, never erased + +**Status:** AUTHORITY + +Pacioli ch. 31 (the *storno*): "you shall make another entry opposite this +one in the credit for the same amount … After you have made this +correction it is just as if you had written nothing in the debit column." +Ch. 36: "Mark with a cross or with an "H" that special entry, and then make +an entry on the opposite side under the same account." + +**Enforced:** `Ledger::reverse_entry` (same lines, sides flipped, linked by +`reversal_of`). **Checked:** Kani `reversal_mirrors`, `reversal_cancels`; +Lean `accepted_reversal_iff`, `movement_with_reversal`. + +## B-10 An entry is reversed at most once; a closing entry never + +**Status:** DECISION (Stephen, 2026-10-13) + +Follows from B-9 (a correction corrects once) and B-11 (a closed period +stays closed). **Enforced:** `Ledger::check_reversal`. **Checked:** +`an_entry_is_reversed_at_most_once`, `a_closing_entry_is_never_reversed`. + +## B-11 Revenue and expenses close into profit and loss, and that into capital + +**Status:** AUTHORITY (mechanics); the account the net lands in depends on +the entity + +- Pacioli ch. 34: "you shall close this account into the capital account"; + ch. 27: profit and loss "must then be transferred for its closing (saldo) + into the capital account." +- OpenStax §5.1 (cited): "Temporary (nominal) accounts are accounts that + are closed at the end of each accounting period." Corporations close into + retained earnings; partnerships into each partner's capital (B-13). + +**Enforced:** `Ledger::close_period_to`. **Checked:** Kani +`closing_line_zeroes`, `closing_entry_balances`; Lean +`closingEntry_zeroes`, `closingEntry_accepted`, `close_zeroes`, +`close_credits_net_income`; `a_close_sweeps_only_through_the_period_end`. + +## B-12 A closed period takes no new postings; periods close in order + +**Status:** CONVENTION + +Periods themselves: IRS Pub. 538 (`sources/irs-periods-and-methods.md`) +defines the tax year, calendar and fiscal. Locking a closed period and +closing in order are practice (and follow from B-8: a closed period's +book is not rewritten). **Enforced:** `closed_period_containing`, +`CloseOutOfOrder`, `Store::rehearse`. **Checked:** Lean `Steps.frozen`; +store property `refused_commands_never_reach_the_journal` (no draft in a +closed period). + +## B-13 Partners share income by the partnership agreement; capital accounts carry it + +**Status:** AUTHORITY (shares); DECISION (cent rounding) + +- 26 U.S.C. §704(a) (`sources/irs-partnerships.md`): "A partner's + distributive share of income, gain, loss, deduction, or credit shall, + except as otherwise provided in this chapter, be determined by the + partnership agreement." +- Form 1065 Schedule M-2: "Show what caused changes during the tax year in + the partners' tax-basis capital accounts." +- **No authority** says how to round a share to the cent. Largest + remainder, ties to the earlier member: DECISION (Stephen, 2026-10-13). + Closes made before then replay with the last member absorbing it. + +**Enforced:** `CloseTo::Members`, `periods::allocate`, +`kernel::apportion`, `members_equity`. **Checked:** Kani +`apportion_is_exact`, `apportion_is_fair`; properties `prop_split_*`; +`closes_journaled_under_the_old_rule_replay_with_it`. + +## B-14 Statements: P&L for a period; cash flow by the indirect method + +**Status:** AUTHORITY + +ASC 230-10-45-28 (cited): an entity not using the direct method "shall +determine and report the same amount for net cash flow from operating +activities indirectly by adjusting net income … (the indirect or +reconciliation method)." ASC 230-10-45-16: "All of the following are cash +inflows from operating activities: Cash receipts from sales of goods or +services…". A closing entry is not income or spending (B-11), so period +statements exclude it. + +**Enforced:** `profit_and_loss_for_period`, `cash_flow`. **Checked:** Lean +`statements_add_up`; `prop_period_pnl_partitions`; +`cash_flow_reconciles_to_change_in_cash`. + +## B-15 Depreciation: straight line, salvage never depreciated, partial months by days + +**Status:** CONVENTION (book method); AUTHORITY for tax conventions, which +wanderbooks does not apply + +OpenStax §11.3 (cited): "Straight-line depreciation is a method of +depreciation that evenly splits the depreciable amount across the useful +life of the asset," with "(Cost – salvage value)/Useful life"; partial +periods: "A common method is to allocate depreciation expense based on the +number of months the asset is owned in a year." wanderbooks prorates +partial months by days. ASC 360-10-35-4 not yet verified (see README). +Tax conventions (half-year, mid-month, mid-quarter): IRS Pub. 946 +(`sources/irs-depreciation.md`), for the CPA. + +**Enforced:** `assets::depreciation_schedule`. **Checked:** +`schedule_sums_exactly_to_depreciable_amount`, +`salvage_value_is_never_depreciated`, `prop_depreciation_schedule_exact`. + +## B-16 Prepaid expenses and deferred revenue are recognized over the period benefited or earned + +**Status:** AUTHORITY (revenue); CONVENTION (prepaids) + +ASC 606-10-45-2 (cited): payment before transfer → "the entity shall +present the contract as a contract liability"; 606-10-25-23: "An entity +shall recognize revenue when (or as) the entity satisfies a performance +obligation by transferring a promised good or service." Prepaids: OpenStax +§4.2 (cited). Tax: the 12-month rule, Treas. Reg. §1.263(a)-4(f) +(`sources/irs-capitalization.md`). + +**Enforced:** `schedules`. **Checked:** `a_prepaid_expense_is_expensed_month_by_month`, +`deferred_revenue_is_earned_to_the_cent`. + +## B-17 Platform payouts are recorded gross when the business is the principal + +**Status:** AUTHORITY + +ASC 606-10-55-37 (cited): "An entity is a principal if it controls the +specified good or service before that good or service is transferred to a +customer." 606-10-55-38: an agent "recognizes revenue in the amount of any +fee or commission to which it expects to be entitled." Whether an app +developer is principal for app-store sales is a judgment under 55-39; the +CPA confirms. + +**Enforced:** `payouts::payout_plan`. **Checked:** +`a_payout_is_grossed_up_to_revenue_and_fees`. + +## B-18 Aging buckets: Current, 1–30, 31–60, 61–90, 90+ days past due + +**Status:** CONVENTION (bucket edges); DECISION (due today is Current) + +ASC 326-20-55-37/38 (cited) illustrates "one way" to age trade +receivables with buckets "current … 1–30 days past due … 31–60 … 61–90 … +more than 90 days past due"; it is illustrative, not a rule. The FFIEC +Call Report instructions (bank regulators, not binding here): "The past +due status … should be determined in accordance with its contractual +repayment terms." A document due today is not yet past due: DECISION +(Stephen, 2026-10-13). + +**Enforced:** `arap::aging_bucket`. **Checked:** `aging_boundaries`, +`aging_is_exclusive_and_only_ages`. + +## B-19 1099 reporting thresholds + +**Status:** AUTHORITY (`sources/irs-1099-thresholds.md`) + +$600 through 2025; $2,000 for payments made after Dec. 31, 2025 (26 U.S.C. +§6041(a), §6041A(a)(2), as amended by Pub. L. 119-21 §70433); for calendar +years after 2026, indexed to inflation and rounded to the nearest $100 +(§6041(h)). Card payments are reported on Form 1099-K, not 1099-NEC/MISC. +Attorneys' gross proceeds stay at $600 (not modeled). + +**Enforced:** `form1099::default_threshold`. **Open:** for 2027 and later +the indexed amount is not yet published; the engine must not silently +assume $2,000 (see the open-questions list in the strategy note). + +## B-20 Every transaction has supporting documents; records are kept + +**Status:** AUTHORITY (`sources/irs-records.md`) + +IRS Pub. 583: "In addition, you must keep supporting documents"; they +"support the entries in your books and on your tax return"; keep records +"until the period of limitations for that return runs out" (3 years +generally; 7 for bad debts). + +**Enforced:** the MCP receipt policy (not the engine; R-13). + +## B-21 Exact amounts in the books; rounding only on returns + +**Status:** AUTHORITY (for where rounding happens) + +Form 1065 instructions (`sources/irs-partnerships.md`): "If two or more +amounts are added to figure the amount to enter on a line, include cents +when adding the amounts and round off only the total." The books keep +cents (and FX precision) exactly (R-2). + +**Enforced:** `Decimal` money, `Amount` checked arithmetic, line range. +**Checked:** Kani `sums_are_exact`; bridge tests. + +## B-22 Expense or capitalize (book policy, mirrors tax) + +**Status:** AUTHORITY (`sources/irs-capitalization.md`) + +Treas. Reg. §1.263(a)-1(f)(1)(ii)(D) sets $500 per invoice or item for a +taxpayer without an applicable financial statement "or other amount as +identified in published guidance"; Notice 2015-82 raised it to $2,500 for +taxable years beginning on or after January 1, 2016. The 12-month rule: +§1.263(a)-4(f)(1). The election is made yearly on the return. + +**Enforced:** bookkeeper policy (books' AGENTS.md), not the engine. diff --git a/docs/spec/sources/irs-1099-thresholds.md b/docs/spec/sources/irs-1099-thresholds.md new file mode 100644 index 0000000..cbd8bb5 --- /dev/null +++ b/docs/spec/sources/irs-1099-thresholds.md @@ -0,0 +1,52 @@ +# Information returns: Forms 1099-NEC and 1099-MISC +Governs `form1099::default_threshold` and `vendor_1099_report`. Payments made after Dec. 31, 2025: $2,000 (26 U.S.C. §6041(a) as amended by Pub. L. 119-21 §70433), inflation-indexed for calendar years after 2026 (§6041(h)), rounded to the nearest $100. Through 2025: $600. Attorneys' gross proceeds (1099-MISC box 10) stay at $600. Card payments go on Form 1099-K, not 1099-NEC/MISC. + +## 26 U.S.C. §6041(a) and (h), as amended +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`usc6041.txt`): `416a56991ae517b5dbccd95400017c0e5b81ed126d56ba49f6fac5c270e49aa3` + +**§6041(a)** + +> All persons engaged in a trade or business and making payment in the course of such trade or business to another person, of rent, salaries, wages, premiums, annuities, compensations, remunerations, emoluments, or other fixed or determinable gains, profits, and income (other than payments to which section 6042(a)(1), 6044(a)(1), 6047(e), 6049(a), or 6050N(a) applies, and other than payments with respect to which a statement is required under the authority of section 6042(a)(2), 6044(a)(2), or 6045), of $2,000 or more in any calendar year, or, in the case of such payments made by the United States, the officers or employees of the United States having information as to such payments and required to make returns in regard thereto by the regulations hereinafter provided for, shall render a true and accurate return to the Secretary + +**§6041(h)** + +> In the case of any calendar year after 2026, the dollar amount in subsection (a) shall be increased by an amount equal to— (1) such dollar amount, multiplied by (2) the cost-of-living adjustment determined under section 1(f)(3) for such calendar year, determined by substituting “calendar year 2025” for “calendar year 2016” in subparagraph (A)(ii) thereof. If any increase under the preceding sentence is not a multiple of $100, such increase shall be rounded to the nearest multiple of $100. + +**Amendment note** + +> Pub. L. 119–21, § 70433(a), substituted “$2,000” for “$600” + +## 26 U.S.C. §6041A(a)(2) (nonemployee compensation, as amended) +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`usc6041a.txt`): `0e210cc4bcf50a6e073ad0dab1f7170844ac953fd96f598e6ddd4ce89adaa54e` + +> the aggregate of such remuneration paid to such person during such calendar year equals or exceeds the dollar amount in effect for such calendar year under section 6041(a) + +## Instructions for Forms 1099-MISC and 1099-NEC (Rev. December 2026) +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`i1099mec.txt`): `8901885d8ee19b9d61ebdad7a437a96f20876654b2322114e47aaf77945f7f77` + +**What's New** + +> For tax years beginning after 2025, the minimum threshold amount for reporting certain payments required to be reported on certain information returns and/or perform backup withholding on those payments increased to $2,000 and may be adjusted for inflation beginning in calendar year 2027. + +**Trade or business only** + +> Report on Form 1099-MISC or Form 1099-NEC only when payments are made in the course of your trade or business. Personal payments are not reportable. + +**Form 1099-K** + +> Payments made with a credit card or payment card and certain other types of payments, including third-party network transactions, must be reported on Form 1099-K by the payment settlement entity under section 6050W and are not subject to reporting on Form 1099-MISC or Form 1099-NEC. + +## Instructions for Forms 1099-MISC and 1099-NEC (Rev. April 2025, the $600 rule) +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`i1099mec-2025.txt`): `37be5b9ea8092681c606e6e0b5f94ce21a2ff52111eac4b3da33e4087373a62c` + +**Box 1, Rents** + +> Enter amounts of $600 or more for all types of rents diff --git a/docs/spec/sources/irs-capitalization.md b/docs/spec/sources/irs-capitalization.md new file mode 100644 index 0000000..8469350 --- /dev/null +++ b/docs/spec/sources/irs-capitalization.md @@ -0,0 +1,25 @@ +# Expense or capitalize: the de minimis safe harbor and the 12-month rule +Governs the books' materiality policy (Wanderland's AGENTS.md) and prepaid-expense schedules. Note the dollar limit: the regulation says $500 for a taxpayer without an applicable financial statement; Notice 2015-82 raised it to $2,500 for taxable years beginning on or after January 1, 2016. The election is made yearly on the return. + +## Treas. Reg. §1.263(a)-1(f)(1)(ii) +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`ecfr263a1.txt`): `ec4f68a4aadc00807ea7e2f55ae6340d0cadd2d8866c0940e851e34d7771abed` + +> Taxpayer without applicable financial statement. A taxpayer electing to apply the de minimis safe harbor may not capitalize under § 1.263(a)-2(d)(1) or § 1.263(a)-3(d) nor treat as a material or supply under § 1.162-3(a) any amount paid in the taxable year for property described in paragraph (f)(1) of this section if— (A) The taxpayer does not have an applicable financial statement (as defined in paragraph (f)(4) of this section); (B) The taxpayer has at the beginning of the taxable year accounting procedures treating as an expense for non-tax purposes— (1) Amounts paid for property costing less than a specified dollar amount; or (2) Amounts paid for property with an economic useful life (as defined in § 1.162-3(c)(4)) of 12 months or less; (C) The taxpayer treats the amount paid for the property as an expense on its books and records in accordance with these accounting procedures; and (D) The amount paid for the property does not exceed $500 per invoice (or per item as substantiated by the invoice) or other amount as identified in published guidance in the Federal Register or in the Internal Revenue Bulletin + +## Notice 2015-82, I.R.B. 2015-50 +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`irb.txt`): `d08df482a882a7b08484df28686c7ee9bafa3e00c705acbe031b1dbf880295e1` + +> This notice increases the de minimis safe harbor limit provided in regulations § 1.263(a)–1(f)(1)(ii)(D) for a taxpayer without an applicable financial statement from $500 to $2,500. + +> This Notice is effective for costs incurred during taxable years beginning on or after January 1, 2016. + +## Treas. Reg. §1.263(a)-4(f)(1): the 12-month rule +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`ecfr263a4.txt`): `da643efdbd84756e67e6a88c7bdee8daae653c420d8252b92d4fe19ae539339a` + +> In general. Except as otherwise provided in this paragraph (f), a taxpayer is not required to capitalize under this section amounts paid to create (or to facilitate the creation of) any right or benefit for the taxpayer that does not extend beyond the earlier of— (i) 12 months after the first date on which the taxpayer realizes the right or benefit; or (ii) The end of the taxable year following the taxable year in which the payment is made. diff --git a/docs/spec/sources/irs-depreciation.md b/docs/spec/sources/irs-depreciation.md new file mode 100644 index 0000000..ea3c9e5 --- /dev/null +++ b/docs/spec/sources/irs-depreciation.md @@ -0,0 +1,19 @@ +# Depreciation conventions (tax) +IRS Publication 946 (2025). wanderbooks depreciates on the book basis (straight line, prorated by days for partial months); tax depreciation stays with the CPA. These are the tax conventions the book method is distinct from. + +## IRS Publication 946 +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`p946.txt`): `b86506e17ebbb3ab4a920ad9ded15da9327e85a61ebede243031d152a5283134` + +**Conventions** + +> Under MACRS, averaging conventions establish when the recovery period begins and ends. The convention you use determines the number of months for which you can claim depreciation in the year you place property in service and in the year you dispose of the property. + +**Mid-month** + +> Under this convention, you treat all property placed in service or disposed of during a month as placed in service or disposed of at the midpoint of the month. This means that a one-half month of depreciation is allowed for the month the property is placed in service or disposed of. + +**Straight line rate** + +> You determine the straight line depreciation rate for any tax year by dividing the number 1 by the years remaining in the recovery period at the beginning of that year. When figuring the number of years remaining, you must take into account the convention used in the year you placed the property in service. If the number of years remaining is less than 1, the depreciation rate for that tax year is 1.0 (100%). diff --git a/docs/spec/sources/irs-partnerships.md b/docs/spec/sources/irs-partnerships.md new file mode 100644 index 0000000..00cd710 --- /dev/null +++ b/docs/spec/sources/irs-partnerships.md @@ -0,0 +1,26 @@ +# Partnerships: shares of income and capital accounts +Governs `CloseTo::Members` and the members' equity statement. Partners' shares come from the partnership agreement (IRC §704(a)); Form 1065 reports each partner's capital account (Schedule K-1 item L) and the changes in them (Schedule M-2). No authority prescribes how to round a share to the cent: that rule is Stephen's decision (largest remainder, 2026-10-13). + +## 26 U.S.C. §704(a)-(b) +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`usc704.txt`): `e596d36039cb451fe9c5bef5eb6b4c36d2451ab83b06e642a8bf44f3697cf3ee` + +> A partner’s distributive share of income, gain, loss, deduction, or credit shall, except as otherwise provided in this chapter, be determined by the partnership agreement. + +## Instructions for Form 1065 (2025) +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`i1065.txt`): `364ec05f6a688447def50169604ec0aa976edb2532b110e2736759213a02da78` + +**Allocating among partners** + +> Allocate shares of income, gain, loss, deduction, or credit among the partners according to the partnership agreement for sharing income or loss generally. + +**Schedule M-2** + +> Show what caused changes during the tax year in the partners’ tax-basis capital accounts. + +**Rounding on the return (not in the books)** + +> The partnership may enter decimal points and cents when preparing its return. However, it should round off cents to whole dollars on its return, forms, and schedules to make completing its return easier. The partnership must either round off all amounts on the return to whole dollars, or use cents for all amounts. To round, drop amounts under 50 cents and increase amounts from 50 to 99 cents to the next dollar. For example, $8.40 rounds to $8 and $8.50 rounds to $9. If two or more amounts are added to figure the amount to enter on a line, include cents when adding the amounts and round off only the total. diff --git a/docs/spec/sources/irs-payroll.md b/docs/spec/sources/irs-payroll.md new file mode 100644 index 0000000..7fff729 --- /dev/null +++ b/docs/spec/sources/irs-payroll.md @@ -0,0 +1,15 @@ +# Payroll taxes +IRS Publication 15 (2026), Circular E. Governs the payroll entries (employer and employee FICA). wanderbooks records payroll; the withholding numbers come from the caller. + +## IRS Publication 15 (2026) +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`p15.txt`): `ddc1260a4b24e4f9a476f6b9485ee9bbba5cc3be545e6014c51c7f65019a1efc` + +**Rates** + +> For 2026, the social security tax rate is 6.2% (amount withheld) each for the employer and employee (12.4% total). The social security wage base limit is $184,500. The tax rate for Medicare is 1.45% (amount withheld) each for the employee and employer (2.9% total). There is no wage base limit for Medicare tax; all covered wages are subject to Medicare tax. + +**Deposits** + +> Generally, you must deposit federal income tax withheld and both the employer and employee social security and Medicare taxes. diff --git a/docs/spec/sources/irs-periods-and-methods.md b/docs/spec/sources/irs-periods-and-methods.md new file mode 100644 index 0000000..caf2bef --- /dev/null +++ b/docs/spec/sources/irs-periods-and-methods.md @@ -0,0 +1,27 @@ +# Accounting periods and methods +IRS Publication 538 (Rev. January 2022). Governs fiscal years, periods, and the consistency of method. + +## IRS Publication 538 +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`p538.txt`): `dfaf00c55253ef28c3311e6767230365b60e13c22c87a87bb6a6bcc41bd2fa06` + +**Tax year** + +> A tax year is an annual accounting period for keeping records and reporting income and expenses. + +**Calendar year** + +> A calendar year is 12 consecutive months beginning on January 1st and ending on December 31st. + +**Fiscal year** + +> A fiscal year is 12 consecutive months ending on the last day of any month except December 31st. + +**Accounting methods** + +> No single accounting method is required of all taxpayers. You must use a system that clearly reflects your income and expenses and you must maintain records that will enable you to file a correct return. In addition to your permanent accounting books, you must keep any other records necessary to support the entries on your books and tax returns. You must use the same accounting method from year to year. + +**Accrual method** + +> Under an accrual method of accounting, you generally report income in the year it is earned and deduct or capitalize expenses in the year incurred. diff --git a/docs/spec/sources/irs-records.md b/docs/spec/sources/irs-records.md new file mode 100644 index 0000000..862b4d1 --- /dev/null +++ b/docs/spec/sources/irs-records.md @@ -0,0 +1,34 @@ +# Records, supporting documents, and the audit trail +Governs the receipt policy, the append-only journal, and retention. IRS Publication 583 (Rev. December 2024) and Rev. Proc. 98-25. + +## IRS Publication 583, Recordkeeping +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`p583.txt`): `9600ce300b4dad2e2dd69fcee64a0f807e0fa54dc13e512606294b66cc694cce` + +**What records to keep** + +> Except in a few cases, the law does not require any specific kind of records. You can choose any recordkeeping system suited to your business that clearly shows your income and expenses. The business you are in affects the type of records you need to keep for federal tax purposes. You should set up your recordkeeping system using an accounting method that clearly shows your income for your tax year. See Choosing an Accounting Method, earlier. If you are in more than one business, you should keep a complete and separate set of records for each business. A corporation should keep minutes of board of directors' meetings. Your recordkeeping system should include a summary of your business transactions. This summary is ordinarily made in your books (for example, accounting journals and ledgers). Your books must show your gross income, as well as your deductions and credits. + +**Supporting documents required** + +> In addition, you must keep supporting documents, explained later. + +**Supporting documents** + +> Purchases, sales, payroll, and other transactions you have in your business generate supporting documents. Supporting documents include sales slips, paid bills, invoices, receipts, deposit slips, and canceled checks. These documents contain information you need to record in your books. It is important to keep these documents because they support the entries in your books and on your tax return. + +**Double-entry** + +> It is self-balancing because you record every transaction as a debit entry in one account and as a credit entry in another. Under this system, the total debits must equal the total credits after you post the journal entries to the ledger accounts. If the amounts do not balance, you have made an error and you must find and correct it. + +**How long to keep records** + +> You must keep your records as long as they may be needed for the administration of any provision of the Internal Revenue Code. Generally, this means you must keep records that support an item of income or deduction on a return until the period of limitations for that return runs out. + +## Rev. Proc. 98-25 (machine-sensible records) +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`rp.txt`): `e8287ab9b57cd0d18ad929c3ab63f6cccf95cb550219280fce27a571e83329e7` + +> A taxpayer establishes this reconciliation by demonstrating the relationship (i.e., audit -8- trail): (a) between the total of the amounts in the taxpayer’s machine-sensible records by account and the account totals in the taxpayer’s books; and (b) between the total of the amounts in the taxpayer’s machine-sensible records by account and the taxpayer’s return. (3) The taxpayer must ensure that its machine-sensible records contain sufficient transaction-level detail so that the information and the source documents underlying the machine- sensible records can be identified. (4) All machine-sensible records required to be retained by this revenue procedure must be made available to the Service upon request and must be capable of being processed. (5) Except as otherwise required by sections 5.01(2) or (3) of this revenue procedure, a taxpayer is not required to create any machine-sensible record other than that created either in the ordinary course of its business or to establish return entries. For example, a taxpayer who does not create, in the ordinary course of its business, the electronic equivalent of a traditional paper document (such as an invoice) is not required by this revenue procedure to construct such a record, provided that the requirements of sections 5.01(2) and (3) are met. For requirements relating to hardcopy records, see section 11 of this revenue procedure. (6) A taxpayer’s disposition of a subsidiary company -9- does not relieve the taxpayer of its responsibilities under this revenue procedure. The files and documentation retained for the Service by, or for, a disposed subsidiary must be retained as otherwise required by this revenue procedure. .02 DBMS. (1) A taxpayer has the discretion to create files solely for the use of the Service. For example, a taxpayer that uses a DBMS may satisfy the provisions of this revenue procedure by creating and retaining a sequential file that contains the transaction-level detail from the DBMS and otherwise meets the requirements of this revenue procedure. (2) A taxpayer that creates a file described in section 5.02(1) of this revenue procedure must document the process that created the sequential file in order to establish the relationship between the file created and the original DBMS records. .03 EDI. (1) A taxpayer that uses EDI technology must retain machine-sensible records that alone, or in combination with any other records (e.g., underlying contracts, price lists, and price changes), contain all the information that § 6001 requires of hardcopy books and records. For example, a taxpayer that uses EDI technology receives electronic invoices from its suppliers. The taxpayer decides to retain the invoice data from completed and verified EDI transactions in its accounts payable system rather than retain the incoming EDI transactions. Neither the -10- EDI transactions, nor the accounts payable system, contain product descriptions or vendor names. To satisfy the requirements of § 6001, the taxpayer must supplement its EDI records with product code description lists and a vendor master file. (2) A taxpayer may capture the required detail for an EDI transaction at any level within its accounting system. However, the taxpayer must establish audit trail diff --git a/docs/spec/sources/pacioli-1494.md b/docs/spec/sources/pacioli-1494.md new file mode 100644 index 0000000..b351330 --- /dev/null +++ b/docs/spec/sources/pacioli-1494.md @@ -0,0 +1,230 @@ +# Pacioli, *Particularis de computis et scripturis* (1494) + +The first published description of double-entry bookkeeping: Treatise XI of +Luca Pacioli's *Summa de arithmetica, geometria, proportioni et +proportionalita* (Venice, 1494), in John B. Geijsbeek's English translation, +*Ancient Double-Entry Bookkeeping* (Denver, 1914). Both are in the public +domain in the United States (published 1494 and 1914); archive.org's +metadata for its other copy of the book (`ancientdoubleent00geijuoft`) +reads `NOT_IN_COPYRIGHT`. + +These are the rules wanderbooks' engine still enforces: every entry is a +double entry; the trial balance's debits equal its credits; one money +throughout the ledger; the book is written only forward; a mistake is +corrected by an equal entry on the opposite side, never erased; expense and +income accounts close into profit and loss, and profit and loss into +capital. + +Source: Internet Archive item `cu31924030162147` (Cornell University +Library scan), OCR full text +, +retrieved 2026-10-13, SHA-256 `241b39da6d18a01db80c0239c6ab42d632b614754b7df00dee86ff3afa9b0af9`. +The excerpts below are that OCR text **verbatim**, by line range, OCR +artifacts included (e.g. `{bUancio}` for *bilancio*). Geijsbeek printed the +1494 Italian in facsimile beside his translation; where the OCR of a +facsimile page falls inside a range it is kept as is. + +## Chapter 12: cash and capital + +OCR lines 4403–4417: + +```text +CHAPTER 12. + +HOW THE ENTRY SHOULD BE MADE INTO THE JOURNAL BY MEANS OF THE DEBIT +AND THE CREDIT, WITH MANY EXAMPLES. THE TWO OTHER EXPRESSIONS USED IN +THE LEDGER, THE ONE CALLED "CASH," AND THE OTHER "CAPITAL," AND WHAT +SHOULD BE UNDERSTOOD BY THEM. + +With the name of God you shall begin to enter into your Journal the first item of your Inventory, +that is, the quantity of cash that you possess, and in order to know how to enter this Inventory into the +Ledger and Journal, you must make use of the two other expressions {termini) ; the one called "cash" +{cassa) and the other "capital" {cavedale). By cash is understood your property or pocketbook {borscia: +from bursa, or bag) ; by capital is understood the entire amount of what you now possess. + +This capital must always be placed as creditor {creditore) in all the principal mercantile Ledgers and +Journals and the cash always debtor. Never at any time in the management of your business may cash be +``` + +## Chapter 27: the profit and loss account, closed into capital + +OCR lines 6355–6380: + +```text +After the other accounts, there must follow one which is named variously, according to different localities. Favor +and Damage (Pro o Danwo), or Profit and Damage {Utile a Danno) , or Increase and Deficit (.Avanzi e Desavanzi). +Into this other accounts in the Ledger have their remainders, as we will show when we speak of the trial balance. +You should not put these entries in the Journal, but only in the Ledger, as they originate from overs or shorts In the +debits and credits, and not from actual transactions. You shall open the account this way: + +Profit and Loss debit (dee dare — shall give), and Profit and Loss credit (dee havere — shall have). + +That is, if you had sustained a loss in a special line of merchandise and In this account in your Ledger would +show less in the credit than the debit, then you will add the difference (soldo) to the credit so as to make it balance, +and you shall enter as follows: + +Credit (dee havere — shall have), per Profit and Loss, so much, which I enter here in order to balance on account +of loss sustained — and so on, and you will mark the page of the Profit and Loss account where you write down the +entry. Then you go to the Profit and Loss account and In the debit column you shall enter as follows: + +Profit and Loss debit (dee dare — shall give), on this day, to such and such loss sustained, so much — which has +been entered in the credit of said merchandise account in order to balance it at page so and so. If the account of this +special merchandise would show a profit instead of loss — that Is, more In the credit than in the debit — then you will +proceed In the opposite way. The same you shall do one by one for all accounts with merchandise or different things, +whether they show good or bad results, so that your Ledger always shows the accounts in balance — that is, as much +In the debit as in the credit. This is the condition the Ledger will be in if it is correct, as I will explain to you when +I am talking of the balance. In this way you will see at a glance whether you are gaining or losing, and how much. +And this account must then be transferred for its closing (saldo) into the capital account, which Is always the last +in all the ledgers and is consequently the receptacle of all other accounts, as you will understand. +``` + +## Chapter 31: correcting a mistaken entry (storno) + +OCR lines 6534–6560: + +```text +CHAPTER 31. + +HOW TO TAKE OUT ONE OR MORE ENTRIES WHICH BY MISTAKE YOU MIGHT HAVE +ENTERED IN A DIFFERENT PLACE FROM THE RIGHT ONE, WHICH MAY HAPPEN THROUGH +ABSENTMINDEDNESS. + +The good bookkeeper should also know how to take out — or as they call it in Florence "stornare" — +an entry which by mistake you might have written down in the wrong place as, for instance, if you had +entered it as a debit instead of a credit entry ; or when you have to enter it in the account of Mr. Mar- +tino and you put it in the account of Mr. Giovanni. + +For at times you cannot be so diligent that you are unable to make mistakes. The proverb says : +He who does nothing, makes no mistakes : he who makes no mistakes, learns nothing. + +And you shall correct this entry as follows: If you had placed this entry in the debit column +while you should have put it in the credit column, in order to correct this, you shall make another +entry opposite this one in the credit for the same amount. And you shall say thus : On such and such +day for the amount which has been entered opposite here under the debit and should have been put in + +the credit, see page, etc., and you shall write down in the column of figures: L S G P + +which you wrote down by mistake in the other column. In front of these two entries you shall mark +a cross or any other mark so that when you make out an abstract or statement of the account you +should leave these entries out. After you have made this correction it is just as if you had written +nothing in the debit column. You then make the entry in the credit column as it should have been +and everything will be as it should have been. +``` + +## Chapter 34: closing expenses into profit and loss, and profit and loss into capital + +OCR lines 6838–6875: + +```text +to those accounts which you should not care to transfer to Ledger A, as, for instance, your own personal +accounts of which you are not obliged to give an account to another, as, for instance, small mercantile ex- +penses, household expenses, income and expenses and all extraordinary expenses — rentals, pescioni, feudi or +livelU, etc. All these accounts should be closed {saldore) in the Cross Ledger into the favor and damage ac- +count, or increase and deficit, or profit and damage account, as it is sometimes called. You shall enter them +in the debit column, as it is rare that these expense accounts should show anything in the credit side. As +I often have told you, add the difference to the column, either debit or credit, which shows a smaller total, +saying: Per profit and loss in this account, see page, etc. By doing so, you shall have closed {saldore) all +these different accounts iu the profit and loss account through which then, by adding all the debit and all +the credit entries, you will be able to know what is your gain or loss, for with this balance aU entries are +equalized ; the things that had to be deducted were deducted, and the things that had to be added were +added proportionately in their respective places. If this account shows more in the debit than in the credit, +that means that you have lost that much in your business since you began. If the credit is more than the +debit, that means that in the same period of time you have gained. + +After you know by the closing {saldorai) of this account what your profit or loss is, then you shall close +this account into the capital account in which, at the beginning of your management of your business, you +entered the inventory of aU your worldly goods. You shall close the account in this way : If the losses +are in excess — ^from which state of affairs may God keep every one who really lives as a good Christian — +then you have to add to the credit in the usual manner, saying : On such and such day, Per capital on +account of losses in this account, see page so and so, value, etc. Then you shall cancel the account with a +diagonal line in debit and credit, and put in the total amount of aU the debit entries, as well as of the credit +entries, which should be equal. And then in the capital account, you shall write in the debit column: +Capital debit {dee dare — shall give) on such and sueh day, per profit and loss account on account of losses +as marked down in the credit column of said account in order to close {per saldo), value, etc. : + +L , S , G , P + +If instead there should be a profit, which wiU happen when the profit and loss account would show +more in the credit than in the debit, then you shoixld add the difference to the debit side to make the equali- +zation, referring to the capital account and respective page. You should credit the same amount to the capi- +tal account, making the entry on the credit side where all the other goods of yours have been entered, per- +sonal or real. Therefore, from the capital account, which always must be the last account in the entire +Ledger, you may always learn what your fortune is, by adding together aU the debits and all the credits, +which you have transferred in Ledger A. + +Then this capital account should be closed and carried forward with the other accounts to Ledger +A, either in total or entry by entry. You can do either way, but it is customary to transfer only the total +``` + +## Chapter 36: summary of the rules for keeping a ledger + +OCR lines 7150–7215: + +```text +CHAPTER 36. + +SUMMARY OF THE RULES AND WAYS FOR KEEPING A LEDGER. + +All the creditors must appear in the Ledger at the right hand side, and all the debtors at the left. +All entries made in the ledger have to be double entries — that is, if you make one creditor, you must +make some one debtor. + +Each debit (shall give — dee dare) and credit (shall have — dee havere) entry must contain three things, +namely : the day, the amount and the reason for the entry. + +The last name in the entry of the debit (in the Ledger) must be the first name in the entry of the +credit. On the same day that you make the debit entry, you should make the credit entry. + +By a trial balance {bUancio) of the Ledger we mean a sheet of paper folded lengthwise in the middle, +on which we write down all the creditors of the Ledger at the right side and the debtors at the left side. +"We see whether the total of the debits is equal to that of the credits, and if so, the Ledger is in order. + +The trial balance of the Ledger should be equal — that is, the total of the credits — I do not say creditors +— should be equal to the total of the debits — I do not say debtors. If they were not equal there would be a +mistake in the Ledger. + +The cash account should always be a debtor or equal. If it were different, there would be a mistake +in the ledger. + +You must not and cannot make any one debtor in your book without permission or consent of the per- +son that has to appear as debtor ; if you should, that account would be considered false. Likewise you can- +not add terms or conditions to a credit without permission and consent of the creditor. If you should, +that statement would be untrue. + +The values in the Ledger must be reckoned in one kind of money. In the explanation of the entries, +you may name all sorts of money, either ducats, or lire, or Florence, or gold scudi, or anything +else ; but in writing the amount in the column, you should always use the same kind of money through- +out — that is, the money that you reckon by at the beginning should be the same all through the Ledger. + +The debit or credit entries of the cash account may be shortened, if you desire, by not giving the rea- +son for the entry ; you may simply say from so and so, for so and so, because the reason for the entry is +stated in the opposite entry. + +If a new account should be opened, you must use a new page and must not go back even if there was +room enough to place the new account. You should not write backward, but always forward — that is, go +forward as the days go, which never come back. If you do otherwise, the book would be untrue. + +If you should make an entry in the Ledger by mistake which should not have been made, as it happens +at times through absentmindedness, and if you wanted to correct it, you shall do as follows: Mark with +a cross or with an "H" that special entry, and then make an entry on the opposite side under the same +account. That is, if the erroneous entry was on the credit side — say, for instance, for L 50, S 10, D 6 — +you make an entry in the debit side, saying: Debit (dee dare) L 50, S 10, D 6, for the opposite entry +cross marked which is hereby corrected, because it was put in through a mistake and should not have +been made. Then mark with a cross this new entry. This is all. + +When the spaces given to any particular account are all filled so that no more entries can be made +and you want to carry forward that account, do in this way : Figure out the remainder of the said ac- +count — that is, whether it is debit or credit remainder. Now let us say that there is a credit remainder +of L 20, S 4, D 2. You should write on the opposite side, without mentioning any date, as follows : Debit +L 28, S 4, D 2, per remainder (per resto) of this account carried forward in the credit at page so and so. +And it is done. The said entry is to be marked in the margin so, namely: Bo, which means "resto" (re- +mainder) , but this does not mean that it is a true debit entry although it is on the debit side. It is rather +the credit which is transferred through the debit side. Now you must turn the pages and keep on turn- +ing them until you find a new page where you shall credit that account by naming the account and mak- +ing a new entry without putting down any day. And you shall say in the following manner : So and so +is credit (dee havere) L 28, S 4, D 2, per remainder (per resto) of account transferred from page so and so, +and you should mark this entry in the margin by Ro, which means "resto" remainder, and that is done. + +In the same way, as I have shown you, you shall proceed if the account has a debit remainder — that is, +what you enter on the credit side you should transfer to the debit side. +``` diff --git a/docs/spec/sources/us-public-domain-status.md b/docs/spec/sources/us-public-domain-status.md new file mode 100644 index 0000000..1e8b059 --- /dev/null +++ b/docs/spec/sources/us-public-domain-status.md @@ -0,0 +1,9 @@ +# Why these texts can be copied here +Works of the United States Government are not protected by copyright, and IRS.gov says its content may be freely copied. That is why the IRS, Treasury, and U.S. Code texts in this directory are reproduced verbatim (whitespace normalized), while copyrighted standards (FASB) are only cited. Each excerpt records where it was fetched (2026-10-13) and the SHA-256 of the fetched file. + +## 17 U.S.C. §105(a) +Source: +Retrieved: 2026-10-13 +SHA-256 of the retrieved file (`usc105.txt`): `f3c763446cd8f4e2e0d3d7ec2dd0b1d79fc2e11452e0a417dd2009427797d4be` + +> Copyright protection under this title is not available for any work of the United States Government, but the United States Government is not precluded from receiving and holding copyrights transferred to it by assignment, bequest, or otherwise.