Financial Statement
The balance sheet and income statement (P&L) — account balances rolled up the FSV hierarchy into assets, liabilities, equity, revenue, and expenses, and reconciled back to the trial balance. Built on I_GLAccountLineItemCube.
Sample build of the Financial Statement — balances arranged on the FSV hierarchy into a balance sheet and P&L, with period vs prior-period comparison, and rendered tool-neutral so it runs in Power BI, SAC, or Tableau.
| Statement item | This period | Prior period | Δ |
|---|---|---|---|
| Total assets | 102,700,000 | 99,400,000 | +3.3% |
| Total liabilities | 41,100,000 | 39,800,000 | +3.3% |
| Total equity | 61,600,000 | 59,600,000 | +3.4% |
| Revenue | 31,000,000 | 28,500,000 | +8.8% |
| Operating expenses | 24,700,000 | 23,900,000 | +3.3% |
| Net income | 6,300,000 | 4,600,000 | +37.0% |
Account balances — including the Period 0 carryforward — are rolled up the FSV hierarchy: assets, liabilities, and equity for the balance sheet; revenue and expense for the P&L. Net income falls out as revenue minus expense, and assets equal liabilities plus equity, so the statement balances.
Net income is up 37% year on year, driven by one revenue node with no matching expense movement. Worth confirming it isn't a period-cutoff or accrual-timing effect before it posts to retained earnings.
A statement only shows accounts the FSV maps. An account missing from the FSV silently drops off the statement while still showing in the trial balance — so reconcile the statement total back to the trial balance to catch unassigned accounts.
The report's query logic — it sums I_GLAccountLineItemCube to an account balance, then rolls each account up the FSV hierarchy to its statement line. The same SQL becomes a dbt model in your warehouse.
Show / hide SQL
WITH bal AS (
SELECT c.RACCT AS gl_account,
SUM(c.AmountInCompanyCodeCurrency) AS balance -- incl. Period 0 carryforward
FROM I_GLAccountLineItemCube AS c
WHERE c.Ledger = :P_LEDGER
AND c.CompanyCode = :P_COMPANY_CODE
AND c.FiscalYear = :P_FISCAL_YEAR
AND c.FiscalPeriod <= :P_TO_PERIOD -- 0 = carryforward .. period
GROUP BY c.RACCT
)
SELECT f.StatementType AS statement_type, -- BS = balance sheet, PL = P&L
f.FSVNode AS fsv_node,
f.FSVNodeText AS fsv_node_text,
SUM(b.balance) AS node_balance
FROM bal b
JOIN I_FinancialStatementVersionNode AS f -- the FSV hierarchy mapping
ON b.gl_account = f.GLAccount
WHERE f.FinancialStatementVersion = :P_FSV -- e.g. CORP
ORDER BY f.StatementType, f.FSVNode;The data-warehouse model — one balance fact surrounded by conformed dimensions (what you slice by) and measures (what you aggregate), expressed as dbt so it migrates with you. Grain: one row per account · ledger · period; the FSV hierarchy is a conformed dimension.
| Element | Type | Definition |
|---|---|---|
| dim_gl_account | dimension | Account master (SKA1 / SKAT) |
| dim_fsv_node | dimension | FSV hierarchy — statement line, balance-sheet / P&L side |
| dim_company_code | dimension | Company code & ledger context (RLDNR) |
| dim_date | dimension | Conformed calendar — fiscal year & period |
| balance | measure | Account balance incl. the Period 0 carryforward |
| period_balance | measure | Balance for the reporting period |
| comparison_balance | measure | Balance for the prior comparison period |
Every source object behind this report. Each linked object has its own page — with its fields and its real S/4HANA status, so you build on the right thing.
| Object | Role | Key fields | S/4HANA status |
|---|---|---|---|
| I_GLAccountLineItemCube | Released cube over ACDOCA incl. the Period 0 carryforward — the read object | released | Released CDS view |
| ACDOCA | Universal Journal — the balances behind every statement line | 6 PK · 360+ | Transparent table |
| FSV hierarchy (T011) | Financial Statement Version — maps each account to its statement line | config | Global hierarchy |
| SKA1 / SKAT | G/L account master & text | SAKNR | Transparent table |
| Trial Balance | The flat balance the statement reconciles to — catches unassigned accounts | report | Reconcile target |
| FAGLFLEXT / GLT0 | Legacy G/L balance tables — reference only, do not extract | — | Compat view → ACDOCA |
- Financial statement
- The official balance sheet and income statement produced from the ledger.
- FSV
- Financial Statement Version — the hierarchy that maps each account to a statement line.
- Balance sheet
- A snapshot of assets, liabilities, and equity at a point in time.
- Income statement
- Revenue minus expenses for a period — the P&L; its result is net income.
- Net income
- Profit for the period — revenue less expenses — which flows into equity.
- Contra node
- An FSV node where an account shows on the debit or credit side by its balance.
- Balance carryforward
- The year-end run that brings balance-sheet openings into the new year.
- Period 0
- How ACDOCA stores the carryforward — a special "period zero" document.
- ACDOCA
- SAP's single table holding every finance posting (the "Universal Journal").
- I_GLAccountLineItemCube
- The released view that includes the carryforward, so balances come out right.
- Ledger
- A parallel set of books (local GAAP, IFRS, group) — 0L is the leading ledger.