Lesson 5 of 5
The Universal Journal for controllers
12 min
Listen to this lesson
In SAP ECC, finance and controlling kept separate records of the same transactions. Month-end often included a reconciliation step, because the cost center reports and the G/L did not always agree, and cross-company postings needed extra reconciliation. SAP S/4HANA changes that at the root. Financial accounting and management accounting write to one line-item table, ACDOCA, the heart of the Universal Journal. SAP's learning material describes it as a common line item store for the general ledger, controlling and other components, where transaction data is stored once and every application shares the same journal entries.
| SAP ECC 6.0 (Contoso's ED1 / EP1) | SAP S/4HANA (CMD / CMQ / CMP) | |
|---|---|---|
| Where CO data lives | Separate controlling tables next to the FI tables | The same Universal Journal lines as the G/L |
| Cost elements | Separate master data, maintained alongside G/L accounts | G/L accounts with a type such as primary costs or secondary costs |
| FI-CO reconciliation | Needed at month-end, for example with a reconciliation ledger | Not needed by design: one record, one truth |
| Reporting | Separate reports, often reconciled in spreadsheets | Reports read the same lines, with different dimensions |
| Plan data | Separate CO plan tables | Plan data in table ACDOCP, by plan category |
Cost elements are G/L accounts
In SAP S/4HANA there is no separate cost element master. Cost elements are G/L accounts of a particular type: primary costs or revenue, or secondary costs. Postings on a G/L account of type primary costs require a cost object, such as a cost center or internal order. Secondary cost accounts are used only inside management accounting for internal flows, such as allocations and settlements. For a key user, the practical consequence is that one account list serves both worlds, and the account type decides whether controlling cares about a posting.
What a journal entry line carries
Each line in the Universal Journal carries the financial dimensions (company code, ledger, G/L account, amounts in several currencies) and the management dimensions in the same record: cost center, order, profit center, segment, functional area, and for revenue and cost of goods sold the market segment attributes such as product and customer. SAP S/4HANA fills the relevant fields at posting time, converting currencies in real time.
| Field | Meaning | Contoso value on the $2,400 invoice line |
|---|---|---|
| RLDNR | Ledger | 0L (US GAAP); the IFRS ledger 2L gets its own line |
| RBUKRS / GJAHR / BELNR / DOCLN | Company code, fiscal year, journal entry, line (six digits) | 1710, current year, the invoice's journal entry, line 000002 |
| RACCT | G/L account (also the cost element) | Maintenance materials expense |
| RCNTR / AUFNR | Cost center / order | 17101102 / blank |
| PRCTR / SEGMENT | Profit center / segment | Derived from the cost center's master data |
| TSL / HSL / KSL | Amount in transaction, company code and global currency | 2,400.00 USD in each |
| KOKRS | Controlling area | A000 |
A few ACDOCA fields a controller meets in queries and test evidence (technical names help when reading SE16H output or CDS views).
ECC's controlling totals and line item tables did not simply disappear. Tables such as COSP, COSS and, for actual data, COEP are served by compatibility views that read the Universal Journal, so old reports and custom code that read them keep working. Code that writes to them, or relies on their old totals logic, does not. For Contoso this is a test topic in its own right: Kenji's team listed every Z report reading CO tables, and each one is compared against a Fiori app or a released CDS view for the same selection before sign-off.
Why controllers and accountants now agree
Because the cost center report and the G/L report read the same lines, they cannot disagree about the total; they only slice it differently. SAP's learning material says that differing values requiring reconciliations and corrections are no longer required by design. Differences that remain are differences in selection (a different period, ledger or account range) or real posting errors, such as a line with the wrong cost center, which are now visible in both views at once.
| What a tester checks | How | Expected |
|---|---|---|
| Account and cost object agree | Post an invoice in CMQ; open the journal entry and the cost center line items | The same line, amount and cost center in both |
| Derivation | Check profit center and segment on the line | Derived from cost center 17101102 as designed |
| Totals agree | Compare the G/L balance of the maintenance account for 1710 with the cost center report totals for the same selection | Equal, with no reconciliation step |
| Secondary flows | Run an allocation; check that totals by company code are unchanged | Costs moved between objects, company total unchanged |
Turning the Universal Journal into test cases.
What would you do?
A senior accountant from the ECC days asks Priya to schedule the usual month-end FI-CO reconciliation task in the S/4HANA cutover plan. What is the best response?
- ACDOCA is the Universal Journal's line-item table for finance and controlling.
- Cost elements are G/L accounts with types: primary costs or revenue, secondary costs.
- Journal entry lines carry cost center, profit center, segment and market segment attributes.
- FI-CO reconciliation is no longer needed by design; differences are selection or posting errors.
- Plan data lives in ACDOCP, by plan category.
Check your understanding · not graded
Lesson check
1. Why is a separate FI-CO reconciliation no longer needed in SAP S/4HANA?
2. What are cost elements in SAP S/4HANA?
3. Which table holds plan data in SAP S/4HANA?
4. The G/L and cost center reports differ for a period. What is the likely cause?
5. What happens to custom code that writes directly to ECC controlling tables such as COEP after the conversion?