The CPA package's general-journal.iif now holds every posted entry through as_of (closing entries left out, D-36), written as plain ASCII with CR LF, DOCNUM the entry id, QuickBooks Desktop's field limits and subaccount types honoured, and every character written differently listed in the export's warnings and the README (grouped by substitution, TINs masked). The 1099 worksheet stops at as_of too. PDFs print CJK, Arabic, Hebrew, Thai and Devanagari (Noto fallbacks, OFL), and so does the viewer. has_full_tin reads Unicode separators. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T3gXMVt7XJPi6ens1or9Dj
145 lines
4.5 KiB
TOML
145 lines
4.5 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: `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. Expected values:
|
|
# vendor_1099_paid gives each marked payee's payments counted from `from`
|
|
# through `to` (both in one calendar year). 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"
|
|
|
|
# 0: 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" },
|
|
]
|
|
|
|
# 1
|
|
[[events]]
|
|
date = "2026-01-02"
|
|
description = "Owner contribution"
|
|
lines = [
|
|
{ account = "1000", side = "debit", amount = "10000.00" },
|
|
{ account = "3000", side = "credit", amount = "10000.00" },
|
|
]
|
|
|
|
# 2
|
|
[[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" },
|
|
]
|
|
|
|
# 3: 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" },
|
|
]
|
|
|
|
# 4: 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" },
|
|
]
|
|
|
|
# 5: 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" },
|
|
]
|
|
|
|
# 6
|
|
[[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" }
|