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
35 lines
2.5 KiB
Markdown
35 lines
2.5 KiB
Markdown
# 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
|
|
- **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"
|
|
- **Symbolic form:** `date(E) in closed(P) implies post(E)` is refused; `P, Q` periods: 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"
|
|
- **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.
|