P3: dated 1099 decisions, payment methods and the card exception (defects 23, 12, 18, D-40)
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:
swaitsandClaude Opus 5.5 committed 2026-10-21 12:12:26 -06:00
1 parent c2ceabbae9
commit 1304b9c0ad
77 files changed
+11455 -970

No files matched your search

+23
View File
@@ -48,6 +48,29 @@ pub struct Settings<'a> {
pub investing_accounts: &'a [String],
}
impl<'a> Settings<'a> {
/// These settings with the cash and financing accounts a request
/// names: each list the request's when it gives one, else these
/// settings'. The one rule the CPA package (one list of each per
/// package, for every file in it: crate::package INVARIANT 7) and
/// `books.vendor_1099` read, so the package's 1099 worksheet is the
/// tool's for the same accounts.
pub fn with_accounts(
&self,
cash_accounts: &'a [String],
financing_accounts: &'a [String],
) -> Settings<'a> {
let or = |given: &'a [String], kept: &'a [String]| {
if given.is_empty() { kept } else { given }
};
Settings {
cash_accounts: or(cash_accounts, self.cash_accounts),
financing_accounts: or(financing_accounts, self.financing_accounts),
..*self
}
}
}
/// Resolve a statement's date range (INVARIANT 1): the dates as given,
/// each omitted one the books' default for `company` on `today`
/// (rules.md B-30).