P3: dated 1099 decisions, payment methods and the card exception (defects 23, 12, 18, D-40)
A vendor's 1099 decision is its own dated fact (files NEC or MISC, not reportable with its reason, or undetermined), applied by each payment's date. Payment methods are recorded; card and network payments are left out and listed; a member's check through financing counts; a bank payment with no method counts (D-40); $2,000 for payments after 2025. One worksheet for the tool, the viewer and the CPA package. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T3gXMVt7XJPi6ens1or9Dj
This commit is contained in:
1 parent
52555262a8
commit
249e216fc0
9 files changed
+848
-16
No files matched your search
@@ -0,0 +1,94 @@
|
||||
id = "1099-a-dated-status-applies-by-payment-date"
|
||||
title = "A payee's 1099 status applies to each payment as of the payment's date"
|
||||
rule = """
|
||||
Whether a payee is exempt (a corporation) is judged as of each payment: the
|
||||
payer may treat a payee as a corporation when the condition is met before
|
||||
the payment is made. An LLC that elects to be taxed as a corporation keeps
|
||||
its EIN and becomes a corporation on the election's effective date (the
|
||||
date its Form 8832 specifies). Payments before that date count toward its
|
||||
1099-NEC; payments from it on are payments to a corporation, for which no
|
||||
return is required. (A payee that incorporates is a new legal person: a new
|
||||
payee, with its own W-9.)
|
||||
"""
|
||||
status = "AUTHORITY"
|
||||
sources = [
|
||||
"Treas. Reg. §1.6041-3(p)(1) (docs/spec/sources/irs-1099-payment-method.md)",
|
||||
"Treas. Reg. §1.6049-4(c)(1)(ii)(A) (\"before a payment is made\")",
|
||||
"Treas. Reg. §301.7701-2(b)(2), §301.7701-3(c)(1)(iii)",
|
||||
"DECISION D-40 (wanderbooks owner, 2026-10-20): dated statuses",
|
||||
]
|
||||
tags = ["1099", "dated-status", "corporation", "election"]
|
||||
|
||||
[setup]
|
||||
currency = "USD"
|
||||
fiscal_year_start = "01-01"
|
||||
basis = "cash"
|
||||
rounding = "half-away-from-zero"
|
||||
cash_accounts = ["1000"]
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "1000"
|
||||
name = "Bank"
|
||||
type = "asset"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "6000"
|
||||
name = "Contract Labor"
|
||||
type = "expense"
|
||||
|
||||
[[setup.payees]]
|
||||
name = "Harbor Design LLC"
|
||||
form = "1099-NEC"
|
||||
|
||||
[[setup.status_changes]]
|
||||
payee = "Harbor Design LLC"
|
||||
effective = "2026-07-01"
|
||||
decision = "not_reportable"
|
||||
reason_kind = "corporation"
|
||||
reason = "elected to be taxed as a corporation (Form 8832), effective July 1"
|
||||
|
||||
[[events]]
|
||||
date = "2026-03-01"
|
||||
description = "Design work"
|
||||
payee = "Harbor Design LLC"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "1500.00" },
|
||||
{ account = "1000", side = "credit", amount = "1500.00" },
|
||||
]
|
||||
|
||||
[[events]]
|
||||
date = "2026-06-30"
|
||||
description = "Design work, the day before the election"
|
||||
payee = "Harbor Design LLC"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "1000.00" },
|
||||
{ account = "1000", side = "credit", amount = "1000.00" },
|
||||
]
|
||||
|
||||
[[events]]
|
||||
date = "2026-07-01"
|
||||
description = "Design work, the election's day"
|
||||
payee = "Harbor Design LLC"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "800.00" },
|
||||
{ account = "1000", side = "credit", amount = "800.00" },
|
||||
]
|
||||
|
||||
[[events]]
|
||||
date = "2026-09-15"
|
||||
description = "Design work"
|
||||
payee = "Harbor Design LLC"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "1200.00" },
|
||||
{ account = "1000", side = "credit", amount = "1200.00" },
|
||||
]
|
||||
|
||||
# By hand: before July 1, 1,500.00 + 1,000.00 = 2,500.00 counts (at least
|
||||
# 2,000.00: reportable); from July 1 on, 800.00 + 1,200.00 = 2,000.00 paid
|
||||
# to a corporation, not reportable.
|
||||
[[expect]]
|
||||
query = "vendor_1099"
|
||||
payee = "Harbor Design LLC"
|
||||
from = "2026-01-01"
|
||||
to = "2026-12-31"
|
||||
values = { status = "reportable", threshold = "2000.00", paid = "2500.00", excluded_card = "0.00", undetermined = "0.00", not_reportable = "2000.00" }
|
||||
@@ -0,0 +1,99 @@
|
||||
id = "1099-a-members-check-through-financing-counts"
|
||||
title = "A member's own check for the company counts toward the payee's 1099; their card doesn't; unknown stays unknown"
|
||||
rule = """
|
||||
The payer is the person who makes the payment in the course of its trade or
|
||||
business. A person paying on another's behalf is the payer only if it
|
||||
performs management or oversight functions or has a significant economic
|
||||
interest; writing checks at another's direction is neither. A member who
|
||||
pays a company bill from their own funds at the company's direction, the
|
||||
company bearing the cost through its liability to the member, leaves the
|
||||
company the payer: the member's check counts toward the payee's 1099. The
|
||||
member's personal card is a payment card: excluded (Form 1099-K). A
|
||||
member's payment whose method isn't recorded is undetermined, never
|
||||
guessed; the payee is reportable only if what certainly counts reaches the
|
||||
threshold.
|
||||
"""
|
||||
status = "AUTHORITY"
|
||||
sources = [
|
||||
"Treas. Reg. §1.6041-1(a)(1)(i), (e)(1) (docs/spec/sources/irs-1099-payment-method.md)",
|
||||
"Treas. Reg. §1.6041-1(a)(1)(iv)",
|
||||
"26 U.S.C. §6041(a), as amended by Pub. L. 119-21 §70433 (docs/spec/sources/irs-1099-thresholds.md)",
|
||||
]
|
||||
tags = ["1099", "financing", "member-paid", "instruments"]
|
||||
|
||||
[setup]
|
||||
currency = "USD"
|
||||
fiscal_year_start = "01-01"
|
||||
basis = "cash"
|
||||
rounding = "half-away-from-zero"
|
||||
cash_accounts = ["1000"]
|
||||
financing_accounts = ["2100"]
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "1000"
|
||||
name = "Bank"
|
||||
type = "asset"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "2100"
|
||||
name = "Due to Members"
|
||||
type = "liability"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "6000"
|
||||
name = "Contract Labor"
|
||||
type = "expense"
|
||||
|
||||
[[setup.instruments]]
|
||||
label = "Riley's checks"
|
||||
kind = "member_cash_or_check"
|
||||
account = "2100"
|
||||
|
||||
[[setup.instruments]]
|
||||
label = "Riley's Visa"
|
||||
kind = "member_card"
|
||||
account = "2100"
|
||||
|
||||
[[setup.payees]]
|
||||
name = "Dana Studio"
|
||||
form = "1099-NEC"
|
||||
|
||||
[[events]]
|
||||
date = "2026-05-01"
|
||||
description = "Logo, paid by a member's personal check"
|
||||
payee = "Dana Studio"
|
||||
instrument = "Riley's checks"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "2500.00" },
|
||||
{ account = "2100", side = "credit", amount = "2500.00" },
|
||||
]
|
||||
|
||||
[[events]]
|
||||
date = "2026-06-01"
|
||||
description = "Icons, charged to a member's personal card"
|
||||
payee = "Dana Studio"
|
||||
instrument = "Riley's Visa"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "800.00" },
|
||||
{ account = "2100", side = "credit", amount = "800.00" },
|
||||
]
|
||||
|
||||
[[events]]
|
||||
date = "2026-07-01"
|
||||
description = "Revisions, paid by a member (how not recorded)"
|
||||
payee = "Dana Studio"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "300.00" },
|
||||
{ account = "2100", side = "credit", amount = "300.00" },
|
||||
]
|
||||
|
||||
# By hand: counts 2,500.00 (the member's check); excluded 800.00 (their
|
||||
# card); undetermined 300.00. What certainly counts, 2,500.00, is at least
|
||||
# 2,000.00 however the 300.00 turns out: reportable, on 2,500.00 (or
|
||||
# 2,800.00 once the 300.00 is known to be a check).
|
||||
[[expect]]
|
||||
query = "vendor_1099"
|
||||
payee = "Dana Studio"
|
||||
from = "2026-01-01"
|
||||
to = "2026-12-31"
|
||||
values = { status = "reportable", threshold = "2000.00", paid = "2500.00", excluded_card = "800.00", undetermined = "300.00", not_reportable = "0.00" }
|
||||
@@ -0,0 +1,219 @@
|
||||
# How a payee's party totals and its 1099 amount relate (wanderbooks
|
||||
# rules.md B-35 item 9, B-19): a member paying a contractor for the
|
||||
# company through the members' financing account, by check, by their own
|
||||
# card and with no method recorded; a company card charge; a company
|
||||
# check; then the member reimbursed. Party totals count every payment as
|
||||
# paid to the contractor, in money; the 1099 worksheet counts the
|
||||
# company's payments that aren't by card, and holds the unrecorded one
|
||||
# undetermined. The shape: bookspec/README.md.
|
||||
|
||||
id = "1099-and-party-totals-for-a-members-payment"
|
||||
title = "A payee's party total is its 1099 amount plus its card payments plus its payments of unknown method"
|
||||
rule = """
|
||||
A member who pays a payee for the company from their own funds, the
|
||||
company owing them for it through its financing account, leaves the
|
||||
company the payer: on the 1099 worksheet the member's own cash or check
|
||||
counts toward the payee's 1099, the member's own card is excluded (Form
|
||||
1099-K), and a payment whose method isn't recorded is undetermined. Party
|
||||
totals report what moved with each party, whoever handled the money: every
|
||||
one of those payments is paid to the payee, in money, on its date, and the
|
||||
member is paid when the company reimburses them. So the payee's party
|
||||
total paid is its 1099 amount plus what was paid by card or payment
|
||||
network plus what is undetermined; the reimbursement is paid to the
|
||||
member and pays no payee.
|
||||
"""
|
||||
status = "CHOICE"
|
||||
sources = [
|
||||
"Treas. Reg. §1.6041-1(e)(1): a person paying on another's behalf who only writes the check at its direction isn't the payor (wanderbooks docs/spec/sources/irs-1099-payment-method.md)",
|
||||
"Treas. Reg. §1.6041-1(a)(1)(iv): a payment card transaction is reported under §6050W, not §6041 (docs/spec/sources/irs-1099-payment-method.md)",
|
||||
"DECISION (owner, 2026-10-20): money is cash, cards, the members' financing and loans (wanderbooks rules.md B-35 item 5)",
|
||||
"DECISION D-40 (owner, 2026-10-20): payment methods; an untagged payment through financing is undetermined (rules.md B-19)",
|
||||
]
|
||||
tags = ["1099", "parties", "member-paid", "instruments", "cards"]
|
||||
|
||||
[setup]
|
||||
currency = "USD"
|
||||
fiscal_year_start = "01-01"
|
||||
basis = "cash"
|
||||
rounding = "half-away-from-zero"
|
||||
cash_accounts = ["1000"]
|
||||
financing_accounts = ["2100"]
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "1000"
|
||||
name = "Checking"
|
||||
type = "asset"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "2050"
|
||||
name = "Company Visa"
|
||||
type = "liability"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "2100"
|
||||
name = "Due to Members"
|
||||
type = "liability"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "3000"
|
||||
name = "Capital — Tobin Harlow"
|
||||
type = "equity"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "3001"
|
||||
name = "Capital — Morgan Ellis"
|
||||
type = "equity"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "6000"
|
||||
name = "Contract Labor"
|
||||
type = "expense"
|
||||
|
||||
[[setup.parties]]
|
||||
name = "Tobin Harlow"
|
||||
roles = ["member"]
|
||||
|
||||
[[setup.parties]]
|
||||
name = "Morgan Ellis"
|
||||
roles = ["member"]
|
||||
|
||||
[[setup.parties]]
|
||||
name = "Dana Studio"
|
||||
roles = ["vendor", "contractor"]
|
||||
|
||||
[[setup.members]]
|
||||
name = "Tobin Harlow"
|
||||
capital_account = "3000"
|
||||
share = "0.5"
|
||||
|
||||
[[setup.members]]
|
||||
name = "Morgan Ellis"
|
||||
capital_account = "3001"
|
||||
share = "0.5"
|
||||
|
||||
# The contractor's vendor record, marked for a 1099-NEC.
|
||||
[[setup.payees]]
|
||||
name = "Dana Studio"
|
||||
form = "1099-NEC"
|
||||
|
||||
[[setup.instruments]]
|
||||
label = "Company Visa"
|
||||
kind = "business_card"
|
||||
account = "2050"
|
||||
|
||||
[[setup.instruments]]
|
||||
label = "Tobin's checks"
|
||||
kind = "member_cash_or_check"
|
||||
account = "2100"
|
||||
owner = "Tobin Harlow"
|
||||
|
||||
[[setup.instruments]]
|
||||
label = "Tobin's Visa"
|
||||
kind = "member_card"
|
||||
account = "2100"
|
||||
owner = "Tobin Harlow"
|
||||
|
||||
# 1. Tobin pays the contractor by personal check.
|
||||
[[events]]
|
||||
date = "2026-03-02"
|
||||
description = "Design work, paid by Tobin's check"
|
||||
parties = [{ party = "Dana Studio" }]
|
||||
instrument = "Tobin's checks"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "1500.00" },
|
||||
{ account = "2100", side = "credit", amount = "1500.00" },
|
||||
]
|
||||
|
||||
# 2. Tobin pays on his own card.
|
||||
[[events]]
|
||||
date = "2026-04-01"
|
||||
description = "Icons, charged to Tobin's own card"
|
||||
parties = [{ party = "Dana Studio" }]
|
||||
instrument = "Tobin's Visa"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "400.00" },
|
||||
{ account = "2100", side = "credit", amount = "400.00" },
|
||||
]
|
||||
|
||||
# 3. Tobin pays; how is not recorded.
|
||||
[[events]]
|
||||
date = "2026-05-01"
|
||||
description = "Revisions, paid by Tobin"
|
||||
parties = [{ party = "Dana Studio" }]
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "300.00" },
|
||||
{ account = "2100", side = "credit", amount = "300.00" },
|
||||
]
|
||||
|
||||
# 4. Charged to the company card.
|
||||
[[events]]
|
||||
date = "2026-06-01"
|
||||
description = "Banner, on the company card"
|
||||
parties = [{ party = "Dana Studio" }]
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "200.00" },
|
||||
{ account = "2050", side = "credit", amount = "200.00" },
|
||||
]
|
||||
|
||||
# 5. The company's own check.
|
||||
[[events]]
|
||||
date = "2026-06-15"
|
||||
description = "Brochure, company check"
|
||||
parties = [{ party = "Dana Studio" }]
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "600.00" },
|
||||
{ account = "1000", side = "credit", amount = "600.00" },
|
||||
]
|
||||
|
||||
# 6. The company reimburses Tobin for events 1 to 3.
|
||||
[[events]]
|
||||
date = "2026-07-01"
|
||||
description = "Tobin reimbursed"
|
||||
parties = [{ party = "Tobin Harlow" }]
|
||||
lines = [
|
||||
{ account = "2100", side = "debit", amount = "2200.00" },
|
||||
{ account = "1000", side = "credit", amount = "2200.00" },
|
||||
]
|
||||
|
||||
[[expect]]
|
||||
query = "party_part"
|
||||
entry = 2
|
||||
party = "Dana Studio"
|
||||
values = { resolved = "400.00", direction = "paid", cash = "400.00", in_kind = "0.00" }
|
||||
|
||||
# By hand: 1,500.00 + 400.00 + 300.00 + 200.00 + 600.00 = 3,000.00, every
|
||||
# payment paid to the contractor, in money.
|
||||
[[expect]]
|
||||
query = "party_totals"
|
||||
party = "Dana Studio"
|
||||
basis = "cash"
|
||||
from = "2026-01-01"
|
||||
to = "2026-12-31"
|
||||
values = { paid = "3000.00", received = "0.00" }
|
||||
|
||||
# By hand: counts 1,500.00 (Tobin's check) + 600.00 (the company's check)
|
||||
# = 2,100.00; excluded 400.00 (Tobin's card) + 200.00 (the company card)
|
||||
# = 600.00; undetermined 300.00. 2,100.00 + 600.00 + 300.00 = 3,000.00,
|
||||
# the party total. What certainly counts, 2,100.00, is at least 2,000.00:
|
||||
# reportable.
|
||||
[[expect]]
|
||||
query = "vendor_1099"
|
||||
payee = "Dana Studio"
|
||||
from = "2026-01-01"
|
||||
to = "2026-12-31"
|
||||
values = { status = "reportable", threshold = "2000.00", paid = "2100.00", excluded_card = "600.00", undetermined = "300.00", not_reportable = "0.00" }
|
||||
|
||||
# The reimbursement is paid to Tobin, and pays no payee.
|
||||
[[expect]]
|
||||
query = "party_totals"
|
||||
party = "Tobin Harlow"
|
||||
basis = "cash"
|
||||
from = "2026-01-01"
|
||||
to = "2026-12-31"
|
||||
values = { paid = "2200.00", received = "0.00" }
|
||||
|
||||
[[expect]]
|
||||
query = "vendor_1099_paid"
|
||||
from = "2026-01-01"
|
||||
to = "2026-12-31"
|
||||
values = { "Dana Studio" = "2100.00" }
|
||||
@@ -0,0 +1,101 @@
|
||||
id = "1099-card-payments-are-excluded"
|
||||
title = "Payments by card are left off Form 1099-NEC, and listed"
|
||||
rule = """
|
||||
A payment made by payment card (credit, debit or stored-value) or through a
|
||||
third party payment network that section 6041 would otherwise cover is
|
||||
reported by the payment settlement entity on Form 1099-K under section 6050W,
|
||||
not by the payer on Form 1099-NEC or 1099-MISC, whoever's card it was. A
|
||||
payment by check, ACH or transfer counts toward the payee's 1099-NEC. A
|
||||
bank payment with no payment method recorded is presumed a check, ACH or
|
||||
transfer; a debit-card payment from the bank is excluded once tagged with
|
||||
the card.
|
||||
"""
|
||||
status = "AUTHORITY"
|
||||
sources = [
|
||||
"Treas. Reg. §1.6041-1(a)(1)(iv) (docs/spec/sources/irs-1099-payment-method.md)",
|
||||
"Treas. Reg. §1.6050W-1(b)(1), (b)(3) (payment card; accepted as payment)",
|
||||
"IRS, Understanding your Form 1099-K (credit, debit or stored value cards)",
|
||||
"Instructions for Forms 1099-MISC and 1099-NEC (Rev. 12/2026), Form 1099-K",
|
||||
"DECISION D-40 (wanderbooks owner, 2026-10-20): an untagged bank payment counts",
|
||||
]
|
||||
tags = ["1099", "payment-card", "instruments"]
|
||||
|
||||
[setup]
|
||||
currency = "USD"
|
||||
fiscal_year_start = "01-01"
|
||||
basis = "cash"
|
||||
rounding = "half-away-from-zero"
|
||||
cash_accounts = ["1000"]
|
||||
financing_accounts = ["2100"]
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "1000"
|
||||
name = "Bank"
|
||||
type = "asset"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "2050"
|
||||
name = "Company card"
|
||||
type = "liability"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "2100"
|
||||
name = "Due to Members"
|
||||
type = "liability"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "6000"
|
||||
name = "Contract Labor"
|
||||
type = "expense"
|
||||
|
||||
[[setup.instruments]]
|
||||
label = "Harbor Visa"
|
||||
kind = "business_card"
|
||||
account = "2050"
|
||||
|
||||
[[setup.instruments]]
|
||||
label = "Harbor debit card"
|
||||
kind = "business_card"
|
||||
account = "1000"
|
||||
|
||||
[[setup.payees]]
|
||||
name = "Harbor Design LLC"
|
||||
form = "1099-NEC"
|
||||
|
||||
[[events]]
|
||||
date = "2026-02-10"
|
||||
description = "Design work, charged to the company card"
|
||||
payee = "Harbor Design LLC"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "2500.00" },
|
||||
{ account = "2050", side = "credit", amount = "2500.00" },
|
||||
]
|
||||
|
||||
[[events]]
|
||||
date = "2026-03-10"
|
||||
description = "Design work, paid with the debit card"
|
||||
payee = "Harbor Design LLC"
|
||||
instrument = "Harbor debit card"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "1200.00" },
|
||||
{ account = "1000", side = "credit", amount = "1200.00" },
|
||||
]
|
||||
|
||||
[[events]]
|
||||
date = "2026-04-10"
|
||||
description = "Design work, paid by check"
|
||||
payee = "Harbor Design LLC"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "900.00" },
|
||||
{ account = "1000", side = "credit", amount = "900.00" },
|
||||
]
|
||||
|
||||
# By hand: counts 900.00 (the check); excluded 2,500.00 + 1,200.00 =
|
||||
# 3,700.00 (the card's account, and the bank payment tagged with the debit
|
||||
# card); 900.00 < 2,000.00: no 1099 is due.
|
||||
[[expect]]
|
||||
query = "vendor_1099"
|
||||
payee = "Harbor Design LLC"
|
||||
from = "2026-01-01"
|
||||
to = "2026-12-31"
|
||||
values = { status = "under_threshold", threshold = "2000.00", paid = "900.00", excluded_card = "3700.00", undetermined = "0.00", not_reportable = "0.00" }
|
||||
@@ -0,0 +1,92 @@
|
||||
id = "1099-money-between-own-accounts-pays-no-one"
|
||||
title = "Paying the card bill, reimbursing a member, or paying down a loan pays no payee"
|
||||
rule = """
|
||||
A 1099 reports payments made to the payee. Money moved between the payer's
|
||||
own payment sources (its bank paying its card's balance, reimbursing a
|
||||
member who paid for it, paying down a loan's principal) pays no payee, even
|
||||
when the entry is tagged with the card issuer, the member's payee record or
|
||||
the lender: the movement out of one source is offset by the movement into
|
||||
the other.
|
||||
"""
|
||||
status = "CONVENTION"
|
||||
sources = [
|
||||
"26 U.S.C. §6041(a) (payments made to the payee: docs/spec/sources/irs-1099-thresholds.md)",
|
||||
"wanderbooks P3 review R1 (2026-10-20): netting an entry's payment buckets",
|
||||
]
|
||||
tags = ["1099", "netting"]
|
||||
|
||||
[setup]
|
||||
currency = "USD"
|
||||
fiscal_year_start = "01-01"
|
||||
basis = "cash"
|
||||
rounding = "half-away-from-zero"
|
||||
cash_accounts = ["1000"]
|
||||
financing_accounts = ["2100", "2500"]
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "1000"
|
||||
name = "Bank"
|
||||
type = "asset"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "2050"
|
||||
name = "Company card"
|
||||
type = "liability"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "2100"
|
||||
name = "Due to Members"
|
||||
type = "liability"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "2500"
|
||||
name = "Equipment loan"
|
||||
type = "liability"
|
||||
|
||||
[[setup.instruments]]
|
||||
label = "Harbor Visa"
|
||||
kind = "business_card"
|
||||
account = "2050"
|
||||
|
||||
[[setup.payees]]
|
||||
name = "Harbor Card Services"
|
||||
form = "1099-NEC"
|
||||
|
||||
[[setup.payees]]
|
||||
name = "Harbor Equipment Finance"
|
||||
form = "1099-NEC"
|
||||
|
||||
[[events]]
|
||||
date = "2026-05-25"
|
||||
description = "Card bill paid from the bank"
|
||||
payee = "Harbor Card Services"
|
||||
lines = [
|
||||
{ account = "2050", side = "debit", amount = "1200.00" },
|
||||
{ account = "1000", side = "credit", amount = "1200.00" },
|
||||
]
|
||||
|
||||
[[events]]
|
||||
date = "2026-06-01"
|
||||
description = "Loan principal"
|
||||
payee = "Harbor Equipment Finance"
|
||||
lines = [
|
||||
{ account = "2500", side = "debit", amount = "3000.00" },
|
||||
{ account = "1000", side = "credit", amount = "3000.00" },
|
||||
]
|
||||
|
||||
# By hand: the bill: +1,200.00 out of the bank, −1,200.00 into the card's
|
||||
# account: nets to 0.00 in every bucket. The loan: +3,000.00 out of the
|
||||
# bank, −3,000.00 into the loan (a financing account): 0.00.
|
||||
[[expect]]
|
||||
query = "vendor_1099"
|
||||
payee = "Harbor Card Services"
|
||||
from = "2026-01-01"
|
||||
to = "2026-12-31"
|
||||
values = { status = "under_threshold", threshold = "2000.00", paid = "0.00", excluded_card = "0.00", undetermined = "0.00", not_reportable = "0.00" }
|
||||
|
||||
[[expect]]
|
||||
query = "vendor_1099"
|
||||
payee = "Harbor Equipment Finance"
|
||||
from = "2026-01-01"
|
||||
to = "2026-12-31"
|
||||
values = { status = "under_threshold", threshold = "2000.00", paid = "0.00", excluded_card = "0.00", undetermined = "0.00", not_reportable = "0.00" }
|
||||
@@ -0,0 +1,108 @@
|
||||
id = "1099-money-from-a-payee-is-netted-only-as-a-refund"
|
||||
title = "Money received from a payee lowers its 1099 only when it refunds what was paid"
|
||||
rule = """
|
||||
A 1099 reports the payments the payer made to the payee in the calendar
|
||||
year. Money the payee gives back of a payment (a refund crediting the
|
||||
expense, or a deposit returned) reduces what was paid. Money received from
|
||||
the payee for anything else (its payment of the payer's invoice, a sale to
|
||||
it, an asset disposed of to it, a loan from it) is not a refund of a
|
||||
payment and is not netted against the payments; it is listed beside them.
|
||||
"""
|
||||
status = "CONVENTION"
|
||||
sources = [
|
||||
"26 U.S.C. §6041(a) (payments made in the course of the trade or business: docs/spec/sources/irs-1099-thresholds.md)",
|
||||
"wanderbooks P3 review R6 (2026-10-20): a sale to a payee doesn't lower its 1099",
|
||||
]
|
||||
tags = ["1099", "netting", "refund"]
|
||||
|
||||
[setup]
|
||||
currency = "USD"
|
||||
fiscal_year_start = "01-01"
|
||||
basis = "cash"
|
||||
rounding = "half-away-from-zero"
|
||||
cash_accounts = ["1000"]
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "1000"
|
||||
name = "Bank"
|
||||
type = "asset"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "1200"
|
||||
name = "Accounts Receivable"
|
||||
type = "asset"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "1400"
|
||||
name = "Deposits"
|
||||
type = "asset"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "2600"
|
||||
name = "Loan payable"
|
||||
type = "liability"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "6000"
|
||||
name = "Contract Labor"
|
||||
type = "expense"
|
||||
|
||||
[[setup.payees]]
|
||||
name = "Dana Studio"
|
||||
form = "1099-NEC"
|
||||
|
||||
[[events]]
|
||||
date = "2026-02-01"
|
||||
description = "Design work"
|
||||
payee = "Dana Studio"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "3000.00" },
|
||||
{ account = "1000", side = "credit", amount = "3000.00" },
|
||||
]
|
||||
|
||||
[[events]]
|
||||
date = "2026-03-01"
|
||||
description = "Dana Studio pays the company's invoice"
|
||||
payee = "Dana Studio"
|
||||
lines = [
|
||||
{ account = "1000", side = "debit", amount = "450.00" },
|
||||
{ account = "1200", side = "credit", amount = "450.00" },
|
||||
]
|
||||
|
||||
[[events]]
|
||||
date = "2026-04-01"
|
||||
description = "Dana Studio lends the company money"
|
||||
payee = "Dana Studio"
|
||||
lines = [
|
||||
{ account = "1000", side = "debit", amount = "1000.00" },
|
||||
{ account = "2600", side = "credit", amount = "1000.00" },
|
||||
]
|
||||
|
||||
[[events]]
|
||||
date = "2026-05-01"
|
||||
description = "Deposit for the next project"
|
||||
payee = "Dana Studio"
|
||||
lines = [
|
||||
{ account = "1400", side = "debit", amount = "500.00" },
|
||||
{ account = "1000", side = "credit", amount = "500.00" },
|
||||
]
|
||||
|
||||
[[events]]
|
||||
date = "2026-06-01"
|
||||
description = "Deposit returned: the project was cancelled"
|
||||
payee = "Dana Studio"
|
||||
lines = [
|
||||
{ account = "1000", side = "debit", amount = "500.00" },
|
||||
{ account = "1400", side = "credit", amount = "500.00" },
|
||||
]
|
||||
|
||||
# By hand: paid 3,000.00 + 500.00 (the deposit, paid when made) − 500.00
|
||||
# (its return, a refund) = 3,000.00: reportable. The invoice payment
|
||||
# (450.00) and the loan (1,000.00) are listed, not netted (netting them
|
||||
# would leave 1,550.00, under the threshold).
|
||||
[[expect]]
|
||||
query = "vendor_1099"
|
||||
payee = "Dana Studio"
|
||||
from = "2026-01-01"
|
||||
to = "2026-12-31"
|
||||
values = { status = "reportable", threshold = "2000.00", paid = "3000.00", excluded_card = "0.00", undetermined = "0.00", not_reportable = "0.00" }
|
||||
@@ -0,0 +1,92 @@
|
||||
id = "1099-the-threshold-is-the-years"
|
||||
title = "The 1099-NEC threshold is the one in force for the year the payments were made"
|
||||
rule = """
|
||||
A payer reports payments to a payee aggregating the threshold or more in a
|
||||
calendar year: $600 for payments made through December 31, 2025, and
|
||||
$2,000 ("of $2,000 or more") for payments made after it (indexed for
|
||||
inflation for calendar years after 2026, not yet known: never guessed). The
|
||||
threshold is met at exactly the amount.
|
||||
"""
|
||||
status = "AUTHORITY"
|
||||
sources = [
|
||||
"26 U.S.C. §6041(a), (h), §6041A(a)(2) (docs/spec/sources/irs-1099-thresholds.md)",
|
||||
"Pub. L. 119-21 §70433(a), (f): \"shall apply with respect to payments made after December 31, 2025\" (docs/spec/sources/irs-1099-payment-method.md)",
|
||||
"Instructions for Forms 1099-MISC and 1099-NEC (Rev. April 2025): $600",
|
||||
]
|
||||
tags = ["1099", "threshold"]
|
||||
|
||||
[setup]
|
||||
currency = "USD"
|
||||
fiscal_year_start = "01-01"
|
||||
basis = "cash"
|
||||
rounding = "half-away-from-zero"
|
||||
cash_accounts = ["1000"]
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "1000"
|
||||
name = "Bank"
|
||||
type = "asset"
|
||||
|
||||
[[setup.accounts]]
|
||||
code = "6000"
|
||||
name = "Contract Labor"
|
||||
type = "expense"
|
||||
|
||||
[[setup.payees]]
|
||||
name = "Riley Chen"
|
||||
form = "1099-NEC"
|
||||
|
||||
[[setup.payees]]
|
||||
name = "Cedar Studio"
|
||||
form = "1099-NEC"
|
||||
|
||||
[[events]]
|
||||
date = "2025-11-01"
|
||||
description = "Illustration"
|
||||
payee = "Riley Chen"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "600.00" },
|
||||
{ account = "1000", side = "credit", amount = "600.00" },
|
||||
]
|
||||
|
||||
[[events]]
|
||||
date = "2026-02-01"
|
||||
description = "Illustration"
|
||||
payee = "Riley Chen"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "1999.99" },
|
||||
{ account = "1000", side = "credit", amount = "1999.99" },
|
||||
]
|
||||
|
||||
[[events]]
|
||||
date = "2026-02-01"
|
||||
description = "Photography"
|
||||
payee = "Cedar Studio"
|
||||
lines = [
|
||||
{ account = "6000", side = "debit", amount = "2000.00" },
|
||||
{ account = "1000", side = "credit", amount = "2000.00" },
|
||||
]
|
||||
|
||||
# By hand: 2025, Riley 600.00 against $600: reportable (exactly the
|
||||
# threshold). 2026, Riley 1,999.99 against $2,000: under; Cedar 2,000.00:
|
||||
# reportable.
|
||||
[[expect]]
|
||||
query = "vendor_1099"
|
||||
payee = "Riley Chen"
|
||||
from = "2025-01-01"
|
||||
to = "2025-12-31"
|
||||
values = { status = "reportable", threshold = "600.00", paid = "600.00", excluded_card = "0.00", undetermined = "0.00", not_reportable = "0.00" }
|
||||
|
||||
[[expect]]
|
||||
query = "vendor_1099"
|
||||
payee = "Riley Chen"
|
||||
from = "2026-01-01"
|
||||
to = "2026-12-31"
|
||||
values = { status = "under_threshold", threshold = "2000.00", paid = "1999.99", excluded_card = "0.00", undetermined = "0.00", not_reportable = "0.00" }
|
||||
|
||||
[[expect]]
|
||||
query = "vendor_1099"
|
||||
payee = "Cedar Studio"
|
||||
from = "2026-01-01"
|
||||
to = "2026-12-31"
|
||||
values = { status = "reportable", threshold = "2000.00", paid = "2000.00", excluded_card = "0.00", undetermined = "0.00", not_reportable = "0.00" }
|
||||
@@ -1,7 +1,7 @@
|
||||
# P3 defect 24 and the card rule (found in review, 2026-10-21): the
|
||||
# company's cards are the liabilities whose names say "card", so a gift
|
||||
# card the company sold (deferred revenue) read as money: received when
|
||||
# sold and again when redeemed. Regression
|
||||
# P3 defect 24 and the card rule (found in review, 2026-10-21): with no
|
||||
# business card recorded, the company's cards are the liabilities whose
|
||||
# names say "card", so a gift card the company sold (deferred revenue)
|
||||
# read as money: received when sold and again when redeemed. Regression
|
||||
# test: ledger-core tests/spec_party_totals.rs
|
||||
# defect24_a_gift_card_sold_is_received_once.
|
||||
# The shape: bookspec/README.md.
|
||||
@@ -9,10 +9,12 @@
|
||||
id = "p3-party-gift-card-is-a-promise"
|
||||
title = "A gift card the company sold is a promise, not a card it pays with"
|
||||
rule = """
|
||||
The company's cards are liability accounts whose names say "card", but not
|
||||
"gift card": gift cards the company sold are revenue it owes its customers
|
||||
in service (deferred revenue), a promise. Selling one is money received
|
||||
from the buyer; redeeming it moves no money and counts nothing.
|
||||
The company's cards are the business cards its books record as payment
|
||||
methods; while they record none, the liability accounts whose names say
|
||||
"card", but not "gift card": gift cards the company sold are revenue it
|
||||
owes its customers in service (deferred revenue), a promise. Selling one
|
||||
is money received from the buyer; redeeming it moves no money and counts
|
||||
nothing.
|
||||
"""
|
||||
status = "CONVENTION"
|
||||
sources = [
|
||||
|
||||
Reference in new issue
Block a user