# Seattle Method Cross-Taxonomy — Test Case 1: Four-Statement Report

**Graph**: `kg19e46c0855a126fb49f3`
**Report**: `rpt_01KS3CBBR0XK79D4FT8FQATVTJ` (published)
**Entity**: Lemonade Stand (Charlie Hoffman Test Case 1)
**Period**: 2024-01-01 → 2024-03-31 (Current)
**Comparative**: 2023-10-02 → 2023-12-31 (Prior — zero opening balances)
**Dataset**: Charlie Hoffman's lemonade-stand 14-JE Q1 2024 fixture
**Source vocabulary**: `mini` (Seattle Method MINI base taxonomy)
**Render vocabulary**: `rs-gaap` (RoboSystems canonical reporting taxonomy)

This report is the **rs-gaap projection** of the same 14 JEs that
produced the all-green `mini` reconciliation in
[`seattle-method-case-1.md`](seattle-method-case-1.md), now materialized
through the Report architecture: one Report row, four FactSets, four
Information Blocks (BS / IS / CF / SE), each rendered through the
rs-gaap presentation network associated with the graph's Reporting Style.

Generated by:

1. `POST /extensions/roboledger/{graph_id}/operations/create-report`
   — materializes a Report with all 4 attached IBs and their FactSets.
2. `statement(reportId, blockType)` GraphQL queries (one per statement)
   to fetch the rendered hierarchical view with depth + is_subtotal.

---

## Anchor totals

| Anchor | Value |
|---|---:|
| Total Assets (rs-gaap:Assets) | $14,450.00 |
| Total Liabilities & Equity (rs-gaap:LiabilitiesAndStockholdersEquity) | $14,450.00 |
| **Balanced?** | **✓ YES (Δ = $0.00)** |
| Net Income (rs-gaap:NetIncomeLoss) | $2,050.00 |
| Retained Earnings (rs-gaap:RetainedEarningsAccumulatedDeficit, auto-derived) | $2,050.00 |
| Net Cash Change (rs-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease) | $10,850.00 |
| Ending Stockholders' Equity (rs-gaap:StockholdersEquity) | $12,050.00 |

### Retained Earnings is auto-derived (QuickBooks pattern)

The 14-JE fixture posts **no period-end closing entry**. The BS still
balances because the rs-gaap renderer auto-derives
`rs-gaap:RetainedEarningsAccumulatedDeficit` from cumulative Net Income
(revenue − expense) at the report's `period_end`. No closing JE is
required.

This matches how QuickBooks, Xero, and other modern ledgers handle RE
— it stays a *derived* concept, computed-on-the-fly, rather than a
balance written to a posted account by a period-end close. The
benefit: any backdated edit immediately re-flows through cumulative
NI on the next BS render, with no risk of a stale closing-entry
silently desyncing the historical view.

The architectural piece that powers this lives in
`operations/roboledger/reports/fact_grid.py`:

- `_append_empty_equity_facts` — materializes
  `rs-gaap:RetainedEarningsAccumulatedDeficit` at $0 for every period,
  even when no source CoA element maps to RE (the mini case)
- `_close_to_retained_earnings` — rolls (revenue − expense −
  equity-flow-reducers) into the RE fact
- `_close_prior_periods_to_retained_earnings` — adds cumulative
  prior-period NI for accurate multi-period BS

---

## Four Statements

### Balance Sheet

- **Structure**: `rs-gaap — Balance Sheet — Classified`
- **Block type**: `balance_sheet`
- **Row count**: 15
- **Unmapped elements**: 0

| QName | Concept | Current (2024-01-01 → 2024-03-31) | Prior (2023-10-02 → 2023-12-31) |
|---|---|---: | ---:|
| `rs-gaap:CashCashEquivalentsAndShortTermInvestments` |     Cash, Cash Equivalents, and Short-Term Investments | $10,850.00 | $0.00 |
| `rs-gaap:InventoryNetOfAllowancesCustomerAdvancesAndProgressBillings` |     Inventory, Net of Allowances, Customer Advances and Progress Billings | $2,700.00 | $0.00 |
| `rs-gaap:AssetsCurrent` |   **Assets, Current** | $13,550.00 | $0.00 |
| `rs-gaap:PropertyPlantAndEquipmentNet` |     PropertyPlantAndEquipmentNet | $900.00 | $0.00 |
| `rs-gaap:AssetsNoncurrent` |   **Assets, Noncurrent** | $900.00 | $0.00 |
| `rs-gaap:Assets` | **Assets** | $14,450.00 | $0.00 |
| `rs-gaap:AccountsPayableAndAccruedLiabilitiesCurrent` |       Accounts Payable and Accrued Liabilities, Current | $1,400.00 | $0.00 |
| `rs-gaap:LiabilitiesCurrent` |     **Liabilities, Current** | $1,400.00 | $0.00 |
| `rs-gaap:LongTermDebtAndCapitalLeaseObligations` |       Long-Term Debt and Lease Obligation | $1,000.00 | $0.00 |
| `rs-gaap:LiabilitiesNoncurrent` |     **Liabilities, Noncurrent** | $1,000.00 | $0.00 |
| `rs-gaap:Liabilities` |   **Liabilities** | $2,400.00 | $0.00 |
| `rs-gaap:AdditionalPaidInCapital` |     Additional Paid in Capital | $10,000.00 | $0.00 |
| `rs-gaap:RetainedEarningsAccumulatedDeficit` |     Retained Earnings (Accumulated Deficit) | $2,050.00 | $0.00 |
| `rs-gaap:StockholdersEquity` |   **StockholdersEquity** | $12,050.00 | $0.00 |
| `rs-gaap:LiabilitiesAndStockholdersEquity` | **Liabilities and Equity** | $14,450.00 | $0.00 |

---

### Income Statement

- **Structure**: `rs-gaap — Income Statement — Multi-step`
- **Block type**: `income_statement`
- **Row count**: 12
- **Unmapped elements**: 0

| QName | Concept | Current (2024-01-01 → 2024-03-31) | Prior (2023-10-02 → 2023-12-31) |
|---|---|---: | ---:|
| `rs-gaap:Revenues` |   **Revenues** | $8,000.00 | $0.00 |
| `rs-gaap:CostOfGoodsSold` |     CostOfGoodsSold | $5,300.00 | $0.00 |
| `rs-gaap:CostOfRevenue` |   **Cost of Revenue** | $5,300.00 | $0.00 |
| `rs-gaap:GrossProfit` |   **Gross Profit** | $2,700.00 | $0.00 |
| `rs-gaap:DepreciationDepletionAndAmortization` |     Depreciation, Depletion and Amortization | $100.00 | $0.00 |
| `rs-gaap:OperatingExpenses` |   **Operating Expenses** | $100.00 | $0.00 |
| `rs-gaap:OperatingIncomeLoss` |   **Operating Income (Loss)** | $2,600.00 | $0.00 |
| `rs-gaap:InterestExpense` |   Interest Expense, Operating and Nonoperating | $150.00 | $0.00 |
| `rs-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest` |   **Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest** | $2,450.00 | $0.00 |
| `rs-gaap:IncomeTaxExpenseBenefit` |   Income Tax Expense (Benefit) | $400.00 | $0.00 |
| `rs-gaap:IncomeLossFromContinuingOperations` |   **Income (Loss) from Continuing Operations, Net of Tax, Attributable to Parent** | $2,050.00 | $0.00 |
| `rs-gaap:NetIncomeLoss` |   **Net Income (Loss) Attributable to Parent** | $2,050.00 | $0.00 |

---

### Cash Flow Statement

- **Structure**: `rs-gaap — Cash Flow Statement — Indirect`
- **Block type**: `cash_flow_statement`
- **Row count**: 8
- **Unmapped elements**: 0

| QName | Concept | Current (2024-01-01 → 2024-03-31) | Prior (2023-10-02 → 2023-12-31) |
|---|---|---: | ---:|
| `rs-gaap:NetIncomeLoss` |     Net Income (Loss) Attributable to Parent | $2,050.00 | $0.00 |
| `rs-gaap:DepreciationDepletionAndAmortization` |     Depreciation, Depletion and Amortization | $100.00 | $0.00 |
| `rs-gaap:IncreaseDecreaseInInventories` |     Increase (Decrease) in Inventories | $(2,700.00) | $0.00 |
| `rs-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities` |     Increase (Decrease) in Accounts Payable and Accrued Liabilities | $1,400.00 | $0.00 |
| `rs-gaap:NetCashProvidedByUsedInOperatingActivities` |   **Cash Provided by (Used in) Operating Activity, Including Discontinued Operation** | $850.00 | $0.00 |
| `rs-gaap:ProceedsFromIssuanceOfCommonStock` |     Proceeds from Issuance of Common Stock | $10,000.00 | $0.00 |
| `rs-gaap:NetCashProvidedByUsedInFinancingActivities` |   **Cash Provided by (Used in) Financing Activity, Including Discontinued Operation** | $10,000.00 | $0.00 |
| `rs-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease` | **CashAndCashEquivalentsPeriodIncreaseDecrease** | $10,850.00 | $0.00 |

---

### Statement of Changes in Equity

- **Structure**: `rs-gaap — Statement of Changes in Equity — Roll Forward (Total)`
- **Block type**: `equity_statement`
- **Row count**: 3
- **Unmapped elements**: 0

| QName | Concept | Current (2024-01-01 → 2024-03-31) | Prior (2023-10-02 → 2023-12-31) |
|---|---|---: | ---:|
| `rs-gaap:NetIncomeLoss` |   Net Income (Loss) Attributable to Parent | $2,050.00 | $0.00 |
| `rs-gaap:ProceedsFromIssuanceOfCommonStock` |   Proceeds from Issuance of Common Stock | $10,000.00 | $0.00 |
| `rs-gaap:StockholdersEquity` | **StockholdersEquity** | $12,050.00 | $0.00 |

---

## Provenance

- **Report ID**: `rpt_01KS3CBBR0XK79D4FT8FQATVTJ`
- **Graph**: `kg19e46c0855a126fb49f3`
- **Taxonomy**: `rs-gaap` (resolved at create-report time)
- **Mapping**: `struct_01KS3C141WTVM66K68BN6N6EN9`
- **Created**: 2026-05-20T19:03:41.056953
- **Last generated**: 2026-05-20T19:03:41.144617

### How to reproduce

```bash
# 1. Provision a fresh demo graph + load taxonomy + ingest 14 JEs +
#    seed mappings + author rollforwards
just demo-seattle-method

# 2. Materialize the Report + render this markdown
uv run python -m examples.seattle_method_demo.create_report
```

## Companion artifacts

- [`seattle-method-case-1.md`](seattle-method-case-1.md) —
  source-vocabulary (`mini`) reconciliation, 17/17 exact match against
  Charlie Hoffman's published `luca.pacioli.ai` facts.
- [`../README.md`](../README.md) — demo orchestrator.
- [`../../../local/docs/specs/cross-taxonomy-projection.md`](../../../local/docs/specs/cross-taxonomy-projection.md)
  — methodology spec (§3.2 reconciliation classification).
