Files
wanderbooks/bookspec/examples/1099-worksheet-through-as-of.toml
T
swaitsandClaude Opus 5.5 eb4329bb2a
check / check (push) Canceled after 0s
P3: the cash flow statement by ASC 230 (defect 1, D-35, D-42)
Direct method with the operating reconciliation and noncash schedules; it
foots by construction (Lean and Kani). Every non-cash account belongs to
one section; reversals net; a member or lender paying for the company is
cash borrowed and spent (D-42, constructive receipt and disbursement);
property a member contributes stays noncash. The bookspec seed: one loader
checks every example.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T3gXMVt7XJPi6ens1or9Dj
2026-10-21 09:35:32 -06:00

145 lines
4.6 KiB
TOML

# What a 1099 worksheet as of a day counts toward a payee: the payments
# of that day's calendar year made from January 1 through the day.
#
# wanderbooks: P3 defect 21 and decision D-36 (the CPA package's 1099
# worksheet counted the whole calendar year in a package as of June 30);
# rules.md B-19, B-33; regression test `the_1099_worksheet_stops_at_as_of`
# (ledger-package tests/package.rs).
#
# Setup beyond the accounts (bookspec/README.md): `cash_accounts` are the
# accounts payments are made from; each `[[setup.payees]]` is a payee
# marked for a form; an event's `payee` tags the payment to them. Event N
# is entry N. Expected values: vendor_1099_paid gives each marked payee's
# payments counted from `from`, January 1, through `to`, every payee
# listed. The 2026 threshold is $2,000 (B-19), so the payee is not yet
# reportable as of June 30 (1400.00) and is for the year (3050.00).
id = "1099-worksheet-through-as-of"
title = "A 1099 worksheet as of a day counts the year's payments through that day"
rule = "A payee's 1099 amount as of a day D MUST be the payments to the payee made from January 1 of D's calendar year through D, excluding payments made with a payment card; as of December 31 it is the whole calendar year's."
status = "AUTHORITY"
sources = [
"26 U.S.C. §6041(a), as amended by Pub. L. 119-21 §70433: payments \"of $2,000 or more in any calendar year\" (docs/spec/sources/irs-1099-thresholds.md)",
"26 U.S.C. §6041A(a)(2): \"the aggregate of such remuneration paid to such person during such calendar year\" (docs/spec/sources/irs-1099-thresholds.md)",
"IRS, Instructions for Forms 1099-MISC and 1099-NEC (Rev. December 2026), 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.\" (docs/spec/sources/irs-1099-thresholds.md)",
]
tags = ["1099", "as-of", "calendar-year", "information-return", "period-boundary"]
[setup]
currency = "USD"
fiscal_year_start = "01-01"
basis = "cash"
rounding = "half-away-from-zero"
cash_accounts = ["1000"]
[[setup.accounts]]
code = "1000"
name = "Checking"
type = "asset"
[[setup.accounts]]
code = "2200"
name = "Credit card"
type = "liability"
[[setup.accounts]]
code = "3000"
name = "Owner capital"
type = "equity"
[[setup.accounts]]
code = "6100"
name = "Contract labor"
type = "expense"
[[setup.payees]]
name = "Contractor A"
form = "1099-NEC"
# Entry 1: the year before.
[[events]]
date = "2025-12-31"
description = "Contract work, December"
payee = "Contractor A"
lines = [
{ account = "6100", side = "debit", amount = "100.00" },
{ account = "1000", side = "credit", amount = "100.00" },
]
# Entry 2.
[[events]]
date = "2026-01-02"
description = "Owner contribution"
lines = [
{ account = "1000", side = "debit", amount = "10000.00" },
{ account = "3000", side = "credit", amount = "10000.00" },
]
# Entry 3.
[[events]]
date = "2026-03-15"
description = "Contract work, March"
payee = "Contractor A"
lines = [
{ account = "6100", side = "debit", amount = "900.00" },
{ account = "1000", side = "credit", amount = "900.00" },
]
# Entry 4: by card, so reported on Form 1099-K, never counted here.
[[events]]
date = "2026-06-10"
description = "Contract work, June, by card"
payee = "Contractor A"
lines = [
{ account = "6100", side = "debit", amount = "300.00" },
{ account = "2200", side = "credit", amount = "300.00" },
]
# Entry 5: made on the day itself, so counted.
[[events]]
date = "2026-06-30"
description = "Contract work, June"
payee = "Contractor A"
lines = [
{ account = "6100", side = "debit", amount = "500.00" },
{ account = "1000", side = "credit", amount = "500.00" },
]
# Entry 6: the day after.
[[events]]
date = "2026-07-01"
description = "Contract work, July"
payee = "Contractor A"
lines = [
{ account = "6100", side = "debit", amount = "700.00" },
{ account = "1000", side = "credit", amount = "700.00" },
]
# Entry 7.
[[events]]
date = "2026-11-20"
description = "Contract work, November"
payee = "Contractor A"
lines = [
{ account = "6100", side = "debit", amount = "950.00" },
{ account = "1000", side = "credit", amount = "950.00" },
]
[[expect]]
query = "vendor_1099_paid"
from = "2026-01-01"
to = "2026-06-30"
values = { "Contractor A" = "1400.00" }
[[expect]]
query = "vendor_1099_paid"
from = "2026-01-01"
to = "2026-12-31"
values = { "Contractor A" = "3050.00" }
[[expect]]
query = "vendor_1099_paid"
from = "2025-01-01"
to = "2025-12-31"
values = { "Contractor A" = "100.00" }