P3: dated 1099 decisions, payment methods and the card exception (defects 23, 12, 18, D-40)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
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:
77 files changed
+11455
-970
No files matched your search
@@ -783,9 +783,15 @@ fn happy_path(name: &str) -> Mcp {
|
||||
.unwrap();
|
||||
m.ok(
|
||||
"books.set_vendor_1099",
|
||||
json!({"vendor": "Landlord", "form_1099": "misc", "tin_on_file": true}),
|
||||
json!({"vendor": "Landlord", "form_1099": "misc", "tin_on_file": true, "decided_by": "Test Owner"}),
|
||||
);
|
||||
m.ok("books.list_vendors", json!({}));
|
||||
// Payment methods (plan P3, defect 12).
|
||||
m.ok(
|
||||
"books.add_instrument",
|
||||
json!({"kind": "business_card", "label": "Harbor Visa", "last4": "0042", "account": "1000"}),
|
||||
);
|
||||
m.ok("books.instruments", json!({}));
|
||||
m.ok(
|
||||
"books.add_party",
|
||||
json!({"name": "Pat", "roles": ["employee"]}),
|
||||
@@ -872,6 +878,12 @@ fn happy_path(name: &str) -> Mcp {
|
||||
"books.set_entry_party",
|
||||
json!({"entry_id": e2, "party": "Landlord"}),
|
||||
);
|
||||
// Paid with the debit card, then the tag cleared.
|
||||
m.ok(
|
||||
"books.set_entry_instrument",
|
||||
json!({"entry_id": e2, "instrument": "Harbor Visa"}),
|
||||
);
|
||||
m.ok("books.set_entry_instrument", json!({"entry_id": e2}));
|
||||
// Replace the receipt: attach new, unlink old, retire it.
|
||||
m.attach(Some(e2), b"rent receipt v2");
|
||||
m.ok(
|
||||
@@ -2154,7 +2166,7 @@ fn inv6_ambiguous_vendor_reference_refused() {
|
||||
let amb = acme.to_string();
|
||||
m.refuse(
|
||||
"books.set_vendor_1099",
|
||||
json!({"vendor": amb, "form_1099": "nec", "tin_on_file": false}),
|
||||
json!({"vendor": amb, "form_1099": "nec", "tin_on_file": false, "decided_by": "Test Owner"}),
|
||||
);
|
||||
m.refuse(
|
||||
"books.draft_entry",
|
||||
@@ -2169,7 +2181,7 @@ fn inv6_ambiguous_vendor_reference_refused() {
|
||||
// that name).
|
||||
m.ok(
|
||||
"books.set_vendor_1099",
|
||||
json!({"vendor": "Acme", "form_1099": "nec", "tin_on_file": false}),
|
||||
json!({"vendor": "Acme", "form_1099": "nec", "tin_on_file": false, "decided_by": "Test Owner"}),
|
||||
);
|
||||
let out = m.ok(
|
||||
"books.set_entry_vendor",
|
||||
|
||||
Reference in new issue
Block a user