Files
bookspec/examples/members-close.odd-cent-across-closes.toml
T
swaitsandClaude Opus 5.5 01c920c4a7 P3 review: the surface, docs and proofs
Split kernel::entry_flows into entry_movements and flows_of so the
reversal-mirror proof fits CI; prove runs the fast harnesses, prove-slow
the 8 slow ones (own job in scheduled CI), prove-all both. Laws in
verification.md renumbered 1-31 with a table of all 55 harnesses.

MCP docs checked against the 115 tools (about 60 fixes) with a test that
every tool is documented; rules.md cross-references fixed; bookspec
statuses and loader tightened; viewer notes wrap and accounts sort by
code; STATUS.md says P3 is built, cutover pending.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T3gXMVt7XJPi6ens1or9Dj
2026-10-22 02:13:08 -06:00

134 lines
3.7 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
id = "members-close.odd-cent-across-closes"
title = "An odd cent split cumulatively across closes, a close to retained earnings between"
rule = "Each close to the members MUST give each member their largest-remainder split of everything closed to the same members and shares so far, to the minor unit, less what earlier closes gave them; a close to retained earnings allocates nothing to the members and MUST NOT restart the count."
status = "CHOICE"
sources = [
"26 U.S.C. §704(a)",
"Treas. Reg. §1.704-1(b)(2)(iv)(b)",
"DECISION (owner, 2026-10-13: largest remainder; D-10, 2026-10-16: counted from the first close) (wanderbooks rules.md B-13)",
]
tags = ["partnership", "close", "rounding", "book", "us"]
# The regression this example comes from (wanderbooks P3 defect 17, audit
# F52, anonymized): a net loss of 287.53 at 50/50, closed in January and
# again in March, with February closed to retained earnings. Restarting the
# count at March gave A the tied cent twice (A −287.54, B −287.52).
#
# By hand, from the rule:
# January: −287.53 × 0.5 = −143.765 each; rounded toward zero, −143.76
# each, one cent short; the remainders tie (0.005), so the cent goes to
# the member listed first: A −143.77, B −143.76.
# February: 10.00 to retained earnings; the members' count skips it.
# March: the count's running total is −575.06, −287.53 each exactly;
# less January's −143.77 / −143.76, March gives A −143.76, B −143.77.
# Each member ends at −287.53, their exact share.
[setup]
currency = "USD"
fiscal_year_start = "01-01"
basis = "accrual"
rounding = "largest-remainder" # odd cents to the largest remainders, ties
# to the member listed first, cumulatively
[[setup.accounts]]
code = "1000"
name = "Cash"
type = "asset"
[[setup.accounts]]
code = "3000"
name = "Capital, A"
type = "equity"
[[setup.accounts]]
code = "3001"
name = "Capital, B"
type = "equity"
[[setup.accounts]]
code = "3999"
name = "Retained earnings"
type = "equity"
[[setup.accounts]]
code = "6000"
name = "Fees"
type = "expense"
[[setup.members]]
name = "A"
capital_account = "3000"
share = "0.5"
[[setup.members]]
name = "B"
capital_account = "3001"
share = "0.5"
[[events]] # event 1
date = "2026-01-15"
description = "January's fees"
lines = [
{ account = "6000", side = "debit", amount = "287.53" },
{ account = "1000", side = "credit", amount = "287.53" },
]
[[events]] # event 2: the closing entry
date = "2026-01-31"
description = "Close January to the members"
close = { start = "2026-01-01", to = "members" }
[[events]] # event 3
date = "2026-02-15"
description = "February's fees"
lines = [
{ account = "6000", side = "debit", amount = "10.00" },
{ account = "1000", side = "credit", amount = "10.00" },
]
[[events]] # event 4
date = "2026-02-28"
description = "Close February to retained earnings"
close = { start = "2026-02-01", to = "retained_earnings" }
[[events]] # event 5
date = "2026-03-15"
description = "March's fees"
lines = [
{ account = "6000", side = "debit", amount = "287.53" },
{ account = "1000", side = "credit", amount = "287.53" },
]
[[events]] # event 6
date = "2026-03-31"
description = "Close March to the members"
close = { start = "2026-03-01", to = "members" }
[[expect]]
query = "entry"
entry = 2
[expect.values]
"6000.credit" = "287.53"
"3000.debit" = "143.77"
"3001.debit" = "143.76"
[[expect]]
query = "entry"
entry = 6
[expect.values]
"6000.credit" = "287.53"
"3000.debit" = "143.76"
"3001.debit" = "143.77"
[[expect]]
query = "balances"
as_of = "2026-03-31"
[expect.values]
"3000" = "-287.53"
"3001" = "-287.53"
"3999" = "-10.00"
"1000" = "-585.06"