Files
wanderbooks/docs/spec/sources/fasb-asc.md
T
swaitsandClaude Opus 5.5 528c070605 feat: invoices and bills take a project, line by line (B-37 item 8)
A client project's invoiced revenue and a contractor's billed cost could
never count toward the project: books.create_invoice and books.create_bill
posted at once with untagged lines, and only a draft's line takes a class.
Job costing (B-37 item 3) collects a job's billings and the supplier
invoices for its direct costs on its cost sheet, so each document line
now takes an optional project.

The owner decided it on 2026-10-22 (plan D-43, rules.md B-37 item 8):
each line takes one project or none; a document spanning N projects is N
lines, each with its own amount; no percentage split, so every figure is
exact; a cost truly shared among projects names none on the document
and reaches projects only as entries of their own under the company's
monthly allocation convention, when books.conventions has one (otherwise
it stays untagged and the agent asks the human). The reasoning, stated
in B-37: job costing charges a job the costs traceable to it, whole, and
reaches shared costs only by allocation on a stated basis. ASC
340-40-25-7 counts as directly related both the costs traceable to a
contract (25-7(a), (b), (d), (e)) and allocations of costs that relate
directly to it (25-7(c)); 25-8 expenses general and administrative cost.
The books carry the first whole on the document's line and the second as
the allocation convention's own entries; neither is a percentage on the
document (sources/fasb-asc.md, 25-7 and 25-8 added). The handbook's
projects rule and the line's class parameter say the same, and no
handbook sentence lets a shared cost be split across a document's lines.

The accounting: the document's entry posts one revenue (an invoice's) or
expense (a bill's) line per project its lines name, in the order each is
first named, each the sum of that project's lines, and the untagged
lines' sum as one more line (arap::document_parts, conservation checked
by a proptest). A document naming no project therefore posts exactly the
one line every document posted before. The receivable or payable line is
never tagged: it is a balance-sheet line, which item 3 counts nothing;
the payments (receive_payment, pay_bill) move cash against it and take no
project either. Nothing but the projects moves: the P&L, the 1099
worksheet (payments made, B-19) and party totals (what moved the money,
B-35) read the same with or without the tags (twin-books test); the
projects with the untagged lines still partition the P&L.

- ledger-core: DocumentLine.class_id (serde-omitted when none, so old
  documents serialize as before); create_invoice / create_bill split the
  revenue or expense side by project and tag it; an unknown project is
  refused whole (atomically).
- ledger-store: a document line's project is journaled as class_id on
  invoice.created / bill.created, and the entry's line as
  entry.line_class_set right after its entry.line_added (the entry.posted
  lines carry class_id, as a hand-built entry's do). Behind a NEW journal
  feature, document_line_projects (KNOWN_FEATURES, declared by new books,
  asked for before the first journaled line, not even the control
  accounts written on refusal); not `projects`, which the live books
  already declared: the owner consents again at the next upgrade. A
  malformed class_id is corrupt; null or absent is none. Untagged
  documents journal byte for byte as before; old journals replay
  unchanged.
- ledger-mcp: each line takes class (id or name, resolved like
  add_line's, every one before anything is written); the result gains
  notes for a finished or abandoned project, and on an invoice for an
  on-spec project (is there now an agreement? on spec a hoped-for
  payment is no receivable, B-37 item 4), tagged anyway; books lacking
  the feature refuse with format_upgrade_pending. books.get_entry shows a
  line's class_id and project. The handbook's "an invoice or bill takes no
  project yet" caveat now depends on the books: gone where the feature is
  declared, an "until their format upgrade" note where it isn't.
- ledger-gui: an invoice's or bill's page (its entry's) lists the
  document's lines, each project a link that opens it; the demo's client
  invoices are tagged to "Client work", whose snapshot is now its revenue
  less its contractors. Looking at the page in a narrow window found a
  tagged line's tag pushing the amounts past the pane (any tagged entry):
  the name is now cut to leave the tag room, the tag itself at most half
  the cell.
- bookspec: an `invoice` event, and `lines` with `project` on a bill or
  an invoice; example projects-invoice-and-bill-lines-count-by-project,
  worked by hand, both projects client work (Zeta 3,500.00 - 1,200.00 =
  2,300.00; Harbor 200.00;
  untagged -1,750.00; together the P&L's 750.00; Dana's 1099 payments
  1,250.00).
- fuzz: fuzz_store_replay can declare journal features.
- Tests: core, store, MCP, viewer, the P2-served cutover fixture and a
  viewer/server parity test (its month lists the same length, not
  empty); a tagged document's reversal nets its projects to zero, live
  and replayed; books.get_entry's class_id; the handbook served as a
  resource both ways; each fix broken to confirm its test fails
  (docs/testing.md). Docs: rules.md B-27 and B-37 items 3 and 8,
  sources/fasb-asc.md, plan/served.md D-43,
  mcp-interface.md, testing.md, parity.md, plan/STATUS.md.

No proof changed (no kernel arithmetic: document_parts sums with the
existing document_total).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T3gXMVt7XJPi6ens1or9Dj
2026-10-22 19:28:40 -06:00

306 lines
18 KiB
Markdown

# FASB Accounting Standards Codification: paragraphs read directly
Read 2026-10-14 in the ASC's basic view (asc.fasb.org, the owner's login),
except the ASC 230 section added 2026-10-20, which says where it was read.
The Codification is copyrighted by the Financial Accounting Foundation,
so this file keeps only short quotes and paraphrase, with the paragraph
numbers to look up. Earlier ASC paragraphs were read through Deloitte's
DART roadmaps (see README).
## 360-10-35-4 (Property, plant, and equipment: depreciation)
A productive facility's cost is spread over its expected useful life,
allocated "as equitably as possible" to the periods that get its
services. Depreciation distributes cost, "less salvage (if any)", over
the estimated useful life "in a systematic and rational manner"; it is
"a process of allocation, not of valuation." No method is prescribed.
→ B-15: straight line, salvage never depreciated, partial months by
days (each day of service bears the same cost) is one systematic and
rational allocation.
## 340-10-05-2, -05-4, -05-5 (Other assets and deferred costs: prepaids)
Prepaid expenses are assets "typically used up or expire within the
normal operating cycle," paid "in advance of their use or consumption"
(05-4); examples include insurance, interest, rents, taxes, and
advertising not yet received (05-5). The Subtopic covers only their
nature (05-2): it prescribes no expensing method.
→ B-16: a prepaid is an asset, expensed over the months it covers
(a convention; the ASC is silent on the method).
## 210-10-45-1, -45-2, -45-5 (Balance sheet: current assets and liabilities)
Prepaid expenses are among current assets (45-1(g)), not because they
become cash but because they would otherwise use current assets in the
operating cycle (45-2). A total of current liabilities "shall be
presented in classified balance sheets" (45-5): the rule applies when a
balance sheet is classified.
→ wanderbooks' balance sheet is unclassified (by element), which this
Subtopic permits; a classified layout would need current/noncurrent
account roles.
## 230-10-45-7, -10, -12(a), -13(a), -14(b), -15(b) (Statement of cash flows)
Gross amounts are "more relevant" than net (45-7). Cash receipts and
payments are classified "as resulting from investing, financing, or
operating activities" (45-10). Collections on, and disbursements for,
loans the entity makes are investing (45-12(a), 45-13(a)). Proceeds of
"other short- or long-term borrowing" are financing inflows (45-14(b));
"repayments of amounts borrowed" are financing outflows (45-15(b)).
→ B-14: money owners advance (Due to Shareholders) is borrowing, so
financing, gross; a loan the company makes is investing, gross.
## ASC 230 for the direct method (rules.md B-14, P3 defect 1)
Read 2026-10-20, not in the ASC basic view: DART's Codification pages
need a login, and its public Roadmap on the statement of cash flows
quotes only some of these paragraphs. So they were read where public
sources reproduce the Codification's text: EY's Financial reporting
developments guide "Statement of cash flows" (July 2026,
https://www.ey.com/content/dam/ey-unified-site/ey-com/en-us/technical/accountinglink/documents/ey-frd42856-07-29-2026.pdf,
which quotes ASC 230 and 830-230 in full; page numbers its own), the
FASB's ASUs that last amended them (ASU 2016-15,
https://storage.fasb.org/ASU%202016-15.pdf; ASU 2016-18,
https://storage.fasb.org/ASU%202016-18.pdf), and Deloitte's public DART
Roadmap where it quotes them
(https://dart.deloitte.com/USDART/home/codification/presentation/asc230-10/roadmap-statement-cash-flow,
no trailing slash: with one the page is "Tree node not found").
Quotes are short; the rest is paraphrase.
- **230-10-10-1** (EY p. 1): the statement's primary objective is "to
provide relevant information about the cash receipts and cash payments
of an entity during a period." → B-14 rule 1.
- **230-10-45-1** (EY p. 1): the statement "shall report the cash effects
during a period of an entity's operations, its investing transactions,
and its financing transactions." (It says nothing of reconciling
beginning and ending cash: that is 45-24.)
- **230-10-45-4** (EY p. 5): the statement explains the change in the
total of cash, cash equivalents and restricted cash. ASU 2016-18 struck
its old sentence on the totals at the beginning and end of the period
(gone from the current text). → rule 1: the cash accounts are all of
them. (50-7 and 50-8, EY pp. 5-6, 30: the nature of restrictions, and
the balance-sheet lines that hold the total when there are several.)
- **230-10-45-5** (EY p. 5): purchases and sales of cash equivalents are
cash management, and transfers among cash, cash equivalents and
restricted cash "are not reported as cash flow activities". → rule 1: a
transfer between two cash accounts is no flow.
- **230-10-45-12(c)** (EY p. 41; ASU 2016-15 p. 25): investing inflows
include "Receipts from sales of property, plant, and equipment and other
productive assets". → rule 4.
- **230-10-45-13(c)** (EY p. 41; ASU 2016-15 p. 12): investing outflows
include payments "at the time of purchase or soon before or after
purchase" for PP&E; generally only those are investing, and incurring
debt directly to the seller is a financing transaction whose later
principal payments are financing. → rule 12 (the bill split), and the
limit B-14 records.
- **230-10-45-14(a)** (EY p. 42): financing inflows include "Proceeds from
issuing equity instruments". **45-15(a)**: financing outflows include
"Payments of dividends or other distributions to owners"; **45-15(c)**:
most principal payments on seller-financed debt for PP&E are financing.
(45-14(b) and 45-15(b): above, read directly.)
- **230-10-45-16(a), (b)** (EY p. 43): operating inflows include "Cash
receipts from sales of goods or services", including collections of
receivables from customers arising from those sales; and interest and
dividends received. 45-16(c): all other operating receipts. → rule 5,
rule 4's exception.
- **230-10-45-17** (EY pp. 43-44): operating outflows: payments for goods
for resale (a), to "other suppliers and employees" (b), to governments
for taxes, duties, fines and other fees (c), interest to lenders and
other creditors (d), and others ((e), (ee), (f)). (Income taxes fall
under (c); 45-25 names them a class.)
- **230-10-45-8, 45-9** (EY p. 12): only items whose "turnover is quick,
the amounts are large, and the maturities are short" (original maturity
"three months or less"; amounts due on demand count) may be reported
net, and even then need not be. **230-10-45-26** (EY p. 13): otherwise
investing and financing inflows and outflows are reported separately,
"proceeds of borrowings ... separately from repayments of debt". → rule
5: gross lines, members' advances and their repayments apart.
- **230-10-45-24** (EY p. 15; ASU 2016-18 pp. 4-5): the statement reports
net cash from operating, investing and financing activities and "the
net effect of those flows" on cash, "in a manner that reconciles
beginning and ending totals". → rule 9, the footing.
- **230-10-45-25** (EY p. 8; ASU 2016-15 p. 10): entities "are encouraged
to report major classes of gross cash receipts and gross cash payments";
those that do "shall, at a minimum, separately report" (a) cash
collected from customers, (b) interest and dividends received, (c) other
operating cash receipts, (d) cash paid to employees and other suppliers,
(e) interest paid, (f) income taxes paid, (g) other operating cash
payments. → rule 5, the operating classes; the direct method is a
choice the standard encourages, not one it requires.
- **230-10-45-28** (EY p. 10; DART 3.1): the indirect method adjusts net
income to remove (a) deferrals and accruals of operating receipts and
payments, such as changes in receivables and payables, and (b) items
with no operating cash effect, including those "whose cash effects are
related to investing or financing cash flows, such as gains or losses on
sales of property, plant, and equipment". → rule 8's G and W.
- **230-10-45-29** (EY p. 7; DART 3.1): the reconciliation of net income
to operating cash is required with either method; it "shall separately
report all major classes of reconciling items", at a minimum the
changes in operating receivables, inventory and payables.
- **230-10-45-30** (EY p. 8; DART 3.1): with the direct method, that
reconciliation "shall be provided in a separate schedule." → rule 8.
- **230-10-50-3** (EY p. 47): investing and financing activities that
"affect recognized assets or liabilities but that do not result in cash
receipts or cash payments in the period shall be disclosed", narrative
or in a schedule. → rule 7.
- **230-10-50-4** (EY p. 47): its examples, among them: "converting debt to equity";
acquiring assets by assuming directly related liabilities; obtaining a
right-of-use asset for a lease liability (the old "capital lease"
wording, replaced); receiving a gift of an asset; exchanging noncash
assets or liabilities for others (also a beneficial interest obtained
in a securitization, not listed here). → rule 7's exchange inside one
section.
- **230-10-50-5** (EY p. 47): "Some transactions are part cash and part
noncash; only the cash portion shall be reported in the statement of
cash flows." → rule 3.
- **230-10-50-6** (EY p. 47): with only a few noncash transactions, they
may be on the same page as the statement; otherwise elsewhere, clearly
referenced to it. → the printed statement's noncash schedule.
- **830-230-45-1** (EY p. 81; DART 7.1): the effect of exchange-rate
changes on cash held in foreign currencies is reported as a separate
part of the reconciliation of the change in cash. → B-14's scope note
(single-currency books, R-5).
- **105-10-05-1, 05-2, 05-3** (read only in their 2009 text, ASU 2009-01
Appendix B, pp. 17-18, https://storage.fasb.org/ASU2009-01.pdf; the
current wording is not confirmed): the Codification is "the source of
authoritative generally accepted accounting principles"; where it does
not specify, an entity first considers principles for similar
transactions "and then consider[s] nonauthoritative guidance from other
sources"; practices not in the Codification are nonauthoritative
(sources include accounting textbooks, handbooks and articles). → rule
11: the Codification does not address payments made on the entity's
behalf (below), so this is where firm guidance comes in; rule 11
follows it (D-42), a choice the standard leaves open, not a requirement
of any paragraph.
Also read there, for the design (not authoritative, 105-10-05-3):
- DART 6.1.3 and EY 5.3.1 and 5.3.3 (equipment on account: payments soon
after purchase are investing, "soon" read by the SEC staff as three
months or less; the change in payables in the reconciliation leaves
out payables for investing; the noncash disclosure is the liability
that remains unpaid at the period's end). → rule 12.
- Payments a third party makes, or cash it receives, on the entity's
behalf (rule 11, D-42). No ASC paragraph addresses them: PwC Viewpoint,
Financial statement presentation 6.9.3 ("ASC 230 does not address these
situations"); KPMG Handbook, Statement of cash flows (March 2026)
Q8.3.10 ("Topic 230 does not directly address"); BDO Blueprint,
Statement of cash flows under ASC 230 (December 2025) 3.4 ("While ASC 230
is silent"); EY 4.6.2 ("we believe judgment will be needed"). Read
2026-10-20 for D-42, in each firm's public text (PwC
https://viewpoint.pwc.com/dt/us/en/pwc/accounting_guides/financial_statement_/financial_statement___18_US/chapter_6_statement__US/69_supplementary_cash.html;
DART https://dart.deloitte.com/USDART/home/codification/presentation/asc230-10/roadmap-statement-cash-flow/chapter-7-common-issues-related-cash/7-2-constructive-receipt-disbursement;
BDO https://arch.bdo.com/Statement-of-Cash-Flows-Under-ASC-230; EY as
above):
- **PwC 6.9.3.1** (Constructive receipts and disbursements): "a reporting
entity should include cash flows received or paid by a third party on
behalf of the reporting entity", as though through its own accounts.
Its examples: a transfer agent moving a new lender's proceeds to pay
off the old lender (gross up both), and a bank paying a vendor at the
entity's instruction ("a financing inflow for the receipt of the debt
proceeds", and an operating outflow for the vendor). "Judgment is
required."
- **DART Roadmap 7.2** (Constructive receipt and disbursement): when a
third party handles cash on the entity's behalf, the entity may have
constructive receipt or disbursement, because "the same economic
result would be achieved if the cash had been received by or disbursed
to" it directly. Inventory financed by an unrelated lender that pays
the supplier: a financing inflow and an operating outflow, repayments
financing; a mortgage lender wiring the seller: a financing inflow and
an investing outflow; Example 7-2, a lender paying an insurance
premium: an operating outflow for the premium and a financing inflow.
The contrast is a supplier's own finance subsidiary (AICPA Technical
Q&A 1300.16, and the SEC staff at the 2005 AICPA conference): a trade
loan, noncash.
- **BDO 3.4** (Constructive disbursements and receipts): among its cases,
"A parent might pay on behalf of a subsidiary expenses that are
recognized in the subsidiary's separate financial statements"; an
entity "generally should report constructive cash flows when it
contracts with a third party to act on its behalf (for example, a
transfer agent, investment bank, or lender) or when cash does not flow
through the entity's cash accounts for administrative convenience".
Example 3-5: a bank remitting the price of equipment to the supplier,
an investing outflow and a financing inflow, later principal payments
financing (citing TQA 1300.19); Example 3-6: a refinancing through an
agent, a financing inflow and outflow; Example 3-4: the supplier's own
finance subsidiary, noncash (TQA 1300.16).
- **EY 5.2.4 and 5.3.1**: inventory or equipment financed by a third
party (not the seller) is an operating or investing outflow and a
financing inflow; seller-financed purchases are noncash "to the extent
of the initial seller financing", disclosed under 50-3 to 50-6, and
later principal payments are financing whichever financed them.
- **KPMG Q8.3.10** accepts a noncash presentation (citing 50-3) for
property and equipment a lender pays for.
→ rule 11 (D-42): constructive receipt and disbursement for what a
member (through the members' financing account, or capital for an
expense) or a lender pays or receives for the company; noncash for
property a member already owned (50-4) and for the seller's own credit
(EY 5.3.1). The expense-to-capital case follows BDO 3.4's parent paying
a subsidiary's expenses, and the substance test of DART 7.2 and PwC
6.9.3.1, which turn on who paid whom, not on how the entity records
what it owes back.
## 606-10-55-36 through 55-38 (Revenue: principal or agent)
An entity controlling the specified good or service before transfer is
the principal (55-37) and recognizes revenue "in the gross amount of
consideration" it expects (55-37B); an agent recognizes only its fee or
commission (55-38).
→ B-17: an app seller is the principal for its app, so its revenue is
the gross price; the platform's commission is an expense.
## 450-30-25-1 (Gain contingencies)
Added 2026-10-21 for B-37 from the paragraph's text as Deloitte's DART
roadmaps quote it (originally FAS 5 ¶17(a)); not re-read in the ASC
basic view: check it there at the next reading. A contingency that might
result in a gain "usually should not be reflected in the financial
statements because to do so might be to recognize revenue before its
realization."
→ B-37 item 4: a payment hoped for from work done on spec is recorded
neither as a receivable nor as income until it is received; the
unrecovered cost is a figure, never an asset.
## 340-40-25-5 (Costs to fulfill a contract)
Added 2026-10-21 for B-37 as the DART revenue roadmap sets it out; not
re-read in the ASC basic view: check it there at the next reading. Costs
incurred to fulfill a contract (one not in another Topic's scope) are an
asset only if all three criteria are met: they relate directly to a
contract or an anticipated contract the entity can specifically
identify; they generate or enhance resources used in satisfying
performance obligations in the future; and they "are expected to be
recovered."
→ B-37 item 4 (with B-22): on-spec work has no contract it is expected
to recover its costs from, so its costs are expensed as incurred.
## 340-40-25-7 (Costs that relate directly to a contract)
Added 2026-10-22 for B-37 item 8 as the DART revenue roadmap sets it
out; not re-read in the ASC basic view: check it there at the next
reading. The costs that "relate directly to a contract" (25-5(a)) are
(a) direct labor, (b) direct materials, (c) allocations of costs that
relate directly to the contract or its activities (supervision,
insurance, depreciation of the tools used on it), (d) costs explicitly
chargeable to the customer, and (e) other costs incurred only because
the entity entered into the contract (payments to subcontractors, for
one). Allocations are among the directly related costs, not set apart
from them.
## 340-40-25-8 (Costs expensed when incurred)
Added 2026-10-22 with 25-7, from the same DART chapter (13.3), likewise
to check in the basic view. Expensed when incurred: general and
administrative costs (unless explicitly chargeable to the customer under
the contract), costs of wasted materials, labor or other resources not
reflected in the contract's price, costs that relate to satisfied (or
partly satisfied) performance obligations, and costs the entity cannot
tell apart between satisfied and unsatisfied obligations.
→ B-37 item 8 (with 25-7): a cost traceable to one job (25-7(a), (b),
(d), (e)) is that job's, whole, on the document's line; a cost that
relates to several jobs reaches them only by an allocation on a stated
basis (25-7(c)), which the books record as the allocation convention's
own entries, never as a percentage on the document; general and
administrative cost (25-8) is company overhead, no project's.