bookspec/spec holds the first edition: the model and the five laws (00-model.md) and one file per area, each B-rule a section with its status, a MUST/MAY statement, sources pinned either to a vendored source with a verbatim quotation or to an exact external paragraph, its symbolic form, its examples and its applicability. B-39, B-40, B-43 and B-45 are reserved sections (allocated, not yet stated in rules.md); B-44 is stated in rules.md and now carries its bookspec id and CONVENTION status. Eight new examples show the laws that had none, each figure worked by hand: an unbalanced entry is refused (Pacioli ch. 36, Pub. 583), a negative or zero line is refused, a fraction of a cent is refused (ISO 4217), a child account takes its parent's type, the trial balance and the accounting equation on one small book (cash 6550.25 = loan 2000 + capital 5000 + (sales 750.50 - rent 1200.25)), a reversal leaves the original standing and a second reversal is refused, a close sweeps revenue and expenses into Retained Earnings (3999) and the closed quarter takes no late entry, and cents add exactly. The refusal vocabulary gains unbalanced, negative_amount, zero_amount, too_few_lines, finer_than_minor_unit, parent_type_mismatch, already_reversed and period_closed; a refused entry may carry a non-positive amount. The checker's spec.rs fails the build on a rule without its section, a statement without MUST/SHOULD/MAY, a pin that is not verbatim in its vendored source, examples that differ from the catalogue, or more than 60 pages. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HS8WZziDnyxunC23MUxrLp
2.5 KiB
2.5 KiB
Area: period
Periods and closes, and what an omitted date means.
BS-period-1: Revenue and expenses close into profit and loss, and that into capital (B-11)
- Status: AUTHORITY (the mechanics); the account the net lands in depends on the entity
- Statement: Closing a period MUST post an entry that brings every revenue and expense account's balance through the period's last day to zero and credits equity with exactly revenue less expenses; the entry MUST balance. A corporation closes into retained earnings, a partnership into each partner's capital (BS-partner-1).
- Sources:
- vendored
sources/pacioli-1494.md: "must then be transferred for its closing (saldo) into the capital account" - external: OpenStax, Principles of Accounting, Volume 1, section 5.1: temporary accounts are closed at the end of each accounting period
- vendored
- Symbolic form: for nominal
n:bal_n(close) = 0;E' = E + (R - X)(Bookspec.law_net_income_articulates). - Examples:
period-a-close-sweeps-the-year-into-capital - Applicability: every entity; the target account differs by entity type.
BS-period-2: A closed period takes no new postings; periods close in order (B-12)
- Status: CONVENTION
- Statement: An entry dated within a closed period MUST be refused. Periods MUST close in order, and MUST nest (a month in a quarter in a year) and never partially overlap.
- Sources:
- vendored
sources/irs-periods-and-methods.md: "A tax year is an annual accounting period for keeping records and reporting income and expenses"
- vendored
- Symbolic form:
date(E) in closed(P) implies post(E)is refused;P, Qperiods: nested or disjoint. - Examples:
period-a-close-sweeps-the-year-into-capital - Applicability: every engine that closes.
BS-period-3: A report asked for without dates covers this fiscal year so far (B-30)
- Status: AUTHORITY (the period); CHOICE (the default, the owner, 2026-10-20)
- Statement: A report asked for with no dates MUST cover the fiscal year containing today, from its first day through today; an omitted start is the first day of the fiscal year holding the end; a start after today with no end MUST be refused; an end before the start MUST be refused.
- Sources:
- vendored
sources/irs-periods-and-methods.md: "A tax year is an annual accounting period for keeping records and reporting income and expenses"
- vendored
- Symbolic form:
to = today;from = fiscal_year_start(to);from <= to. - Examples:
default-period-fiscal-year-to-date - Applicability: every engine with a fiscal-year setting.