ledger-config: parse gets a sourced spec. A fiscal year starts on the first of a month (IRS Pub. 538); tax_classification is read by whole words (Treas. Reg. 301.7701-3, Schedule C instructions; "business corp" no longer reads as an S corp, "corporation or S corporation" is refused); duplicate or blank members and shared capital accounts are refused; a negative or non-grammatical receipt threshold is refused; codes trimmed. tests/spec_config.rs (65 spec-blind tests, 14 properties), fuzz target fuzz_config_parse (weekly). Mutation: 55 of 55 viable caught (from 25/38). The receipt policy moves to ledger-config, with one loader (effective_receipt_policy) and one decimal grammar, so the server and the viewer enforce and show the same rule (the viewer had its own: only expense-like debits, a silent $25 default, and no config.json). ledger-mcp: a module spec (MCP 2025-06-18 tools, JSON-RPC 2.0, the operating contract). Amounts in are exactly -?digits[.digits]; a number that is one account's code and another's id (vendors, classes alike) is refused, not guessed; the threshold is validated at startup. Fixed: add_line with a bad class journaled the line before refusing; profit_and_loss_by_class ignored `class`; aging buckets said "0". A wire in front of rmcp answers malformed JSON with -32700 and invalid requests with -32600 and their id (rmcp dropped the first, omitted the id). tests/spec_mcp.rs (26 spec-blind tests: every tool's result against its own outputSchema, a random-call state machine checking the journal is untouched by every refusal, amount grammar, previews, the receipt policy). ledger-gui: money, accounting, and dollars never round (they rounded to cents, banker's style); export file names avoid Windows device names, trailing dots and spaces, empty names, and 255-byte overflow; specs on attention, history, fuzzy search, and axis ticks. ledger-core: the lifetime profit_and_loss is renamed unclosed_earnings (docs/testing.md #3). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GWVo7x3UHw5kwCUaWxiejX
2.2 KiB
Entity classification: which return a business files
Governs ledger_config's reading of [company] tax_classification.
Fetched 2026-10-14.
Treas. Reg. §301.7701-3 (eCFR, via law.cornell.edu/cfr/text/26/301.7701-3)
(a) In general
A business entity that is not classified as a corporation under § 301.7701-2(b) (1), (3), (4), (5), (6), (7), or (8) (an eligible entity) can elect its classification for federal tax purposes as provided in this section. An eligible entity with at least two members can elect to be classified as either an association (and thus a corporation under § 301.7701-2(b)(2)) or a partnership, and an eligible entity with a single owner can elect to be classified as an association or to be disregarded as an entity separate from its owner.
(b)(1) Domestic eligible entities
Except as provided in paragraph (b)(3) of this section, unless the entity elects otherwise, a domestic eligible entity is— (i) A partnership if it has two or more members; or (ii) Disregarded as an entity separate from its owner if it has a single owner.
Instructions for Schedule C (Form 1040) (2025), "Single-member limited liability company (LLC)"
Generally, a single-member domestic LLC is not treated as a separate entity for federal income tax purposes. If you are the sole member of a domestic LLC, file Schedule C (or Schedule E or F, if applicable) unless you have elected to treat the domestic LLC as a corporation.
The returns (titles, from irs-tax-lines.md)
- Form 1065, U.S. Return of Partnership Income: a partnership.
- Form 1120-S, U.S. Income Tax Return for an S Corporation: an S corporation.
- Form 1120, U.S. Corporation Income Tax Return: a corporation (an association included) that is not an S corporation.
Derived (wanderbooks)
| classification says | return |
|---|---|
| partnership | Form 1065 |
| S corporation (S corp, S-corp) | Form 1120-S |
| C corporation; corporation, corp, or association alone | Form 1120 |
| disregarded entity, sole proprietor(ship), single-member | Schedule C |
A phrase naming two returns ("corporation or S corporation") and anything else names no return wanderbooks can be sure of, so it is refused rather than guessed.