P3: the cash flow statement by ASC 230 (defect 1, D-35, D-42)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
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
This commit is contained in:
64 files changed
+12128
-1567
No files matched your search
@@ -1821,19 +1821,27 @@ fn every_figure_of(l: &ledger_core::Ledger) -> (usize, usize) {
|
||||
tally(reports::profit_and_loss_for_period(l, start, end, None).map(|_| ()));
|
||||
tally(reports::general_ledger(l, start, end).map(|_| ()));
|
||||
tally(reports::members_equity(l, start, end, &members).map(|_| ()));
|
||||
tally(
|
||||
reports::cash_flow(
|
||||
l,
|
||||
&reports::CashFlowParams {
|
||||
start,
|
||||
end,
|
||||
cash_accounts: cash.clone(),
|
||||
financing_accounts: vec![],
|
||||
investing_accounts: vec![],
|
||||
},
|
||||
)
|
||||
.map(|_| ()),
|
||||
// The statement of cash flows foots on every book, or is refused
|
||||
// for a reason: never an engine error (rules.md B-14 rule 9).
|
||||
let cf = reports::cash_flow(
|
||||
l,
|
||||
&reports::CashFlowParams {
|
||||
start,
|
||||
end,
|
||||
cash_accounts: cash.clone(),
|
||||
financing_accounts: vec![],
|
||||
investing_accounts: vec![],
|
||||
members: members.clone(),
|
||||
},
|
||||
);
|
||||
assert!(
|
||||
!matches!(
|
||||
cf,
|
||||
Err(ledger_core::LedgerError::CashFlowDoesNotFoot { .. })
|
||||
),
|
||||
"{cf:?}"
|
||||
);
|
||||
tally(cf.map(|_| ()));
|
||||
tally(ledger_core::k1::k1_worksheet(l, start, end, &members, &cash).map(|_| ()));
|
||||
tally(ledger_core::tax_summary(l, start, end, None).map(|_| ()));
|
||||
let _ = reports::cancelled_in_span(l, start, end);
|
||||
|
||||
Reference in new issue
Block a user