Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 1 of 5

Universal journal

12 min

Listen to this lesson

0:00 / 8:52

In a system conversion, most of Contoso Motor Co.'s ECC 6.0 EHP 8 system comes across as it is: configuration, custom code, history and users. Finance is the big exception. The Software Update Manager (SUM) converts the system technically, but the finance data then has to be migrated into a new data model. SAP's conversion guide says it plainly: after the technical conversion you migrate the migration-relevant Customizing and the general ledger, asset accounting, controlling and material ledger data to the new structure. This course explains that move well enough for a migration specialist, test lead or architect to plan it, test it and get it signed off.

One table instead of many

In ECC, a single posting was written to several stores: the accounting document (header and line items), general ledger totals and line item tables, separate controlling line items and totals, asset accounting values, the material ledger and profitability analysis. Each module kept its own copy, and month-end included proving that those copies agreed. SAP S/4HANA writes actual line items to one table, the universal journal (technical name ACDOCA). G/L, controlling, asset accounting, material ledger and margin analysis information sit on the same line item.

TopicSAP ECC 6.0SAP S/4HANA
Actual line itemsSeveral stores: FI documents, new G/L tables, CO line items, asset values, material ledgerOne universal journal line per posting, with G/L, CO, asset and profitability fields
TotalsPhysical totals tables updated with every postingCalculated on the fly; old totals tables read through compatibility views
Cost elementsSeparate CO master dataG/L accounts with a G/L account type and cost element category
FI-CO reconciliationPeriodic reconciliation ledger workNot needed for actuals: both read the same lines
Asset accountingClassic asset accounting possibleNew asset accounting only
Material ledgerOptionalMandatory for inventory valuation
What changes for finance data when an ECC system converts to SAP S/4HANA.
The Sign-Off Table · thesignofftable.com/academy/sap-s4t-204

The doubled-up stores are what the conversion has to merge. SAP's own training on downtime-optimized conversion uses this as its example of data conversion: the old general ledger totals and line item tables merge into ACDOCA, and the inventory management header and item tables merge into a new material document table. The merge has to produce the same balances and open items the business had the night before. Proving that is the subject of lesson 4.

What stays, what goes

  • Accounting document headers stay; the line items are also written to the universal journal.
  • Old totals and index tables (open items and cleared items by account) are no longer stored. Reads are redirected to compatibility views that compute the same answer from the line items, so most standard reports and much custom read logic keep working.
  • Custom code that writes to the old tables must change. Code that reads them can be slow. Both show up in custom code analysis and in performance tests.
  • Ledgers carry over. Contoso keeps US GAAP in leading ledger 0L and IFRS in non-leading ledger 2L, and both are filled in the universal journal.
  • History stays. A conversion keeps every year of postings, which is one reason Contoso chose it over a new implementation.
After conversion the document header stays, and each line of the universal journal carries the ledger, G/L, controlling, asset and profitability fields that ECC kept in separate stores.
The Sign-Off Table · thesignofftable.com/academy/sap-s4t-204
Reports and appsFiori apps and classic reports such as the trial balance and line item displays
Compatibility viewsAnswer old totals and index table reads from the line items
Universal journal (ACDOCA)One line item per posting with G/L, CO, asset, material ledger and profitability fields
Document headers and master dataAccounting document headers, G/L accounts (including cost elements), business partners
The finance data stack after conversion. Testing has to reach every layer, not just the screens.
The Sign-Off Table · thesignofftable.com/academy/sap-s4t-204

Why this matters for testing

The impact reaches past finance users. A custom aging report written in 2009 may still run, now through a compatibility view, but return different totals if it relied on a table the conversion no longer fills. An interface to a bank or tax engine may select from an old table. A month-end job may call a classic asset transaction that no longer exists. None of this is visible on a converted screen, which is why the test lead needs to understand the data model change, not just the new apps.

A custom finance program that still runs is not yet proven: reads go through compatibility views and must be compared with ECC, writes must be changed.
The Sign-Off Table · thesignofftable.com/academy/sap-s4t-204

One more consequence: SAP S/4HANA Cloud Public Edition is never reached by conversion, so nothing in this course applies there. Public Edition customers load balances and open items with migration tools into a new system.

Worked example: one sale in the universal journal

Contoso ships 50 × CMC-ALT-100 to Great Lakes Fleet Services on outbound delivery 80001234 (sales order 1000457) and bills it with invoice 90001877: 50 × 240.00 = 12,000.00 USD, tax-exempt. The goods issue values the stock at the Detroit standard cost of 150.00, so cost of goods sold is 7,500.00 USD. In SAP S/4HANA, the two journal entries produce these universal journal lines, each written once per ledger (0L and 2L):

Journal entryLineAmount (USD)Also on the same line
Goods issue for delivery 80001234Cost of goods sold (debit)7,500.00Plant 1710, material CMC-ALT-100, profit center CMC-FLEET, customer 17100001 for margin analysis
Goods issue for delivery 80001234Finished goods inventory (credit)7,500.00Plant 1710, material, quantity 50, valuation at standard 150.00
Invoice 90001877Receivable, customer 17100001 (debit)12,000.00Company code 1710, reconciliation account, profit center CMC-FLEET
Invoice 90001877Revenue (credit)12,000.00Profit center CMC-FLEET, sales organization 1710, customer and material

The standard 50-piece sale in ACDOCA: revenue 12,000.00 less cost of goods sold 7,500.00 gives a margin of 4,500.00 USD, readable by customer and product from the same table.

In ECC the same sale wrote accounting line items, new general ledger line items and totals, a material document and, if used, profitability analysis line items, each in its own table. After conversion a tester can check the whole sale in one place: in Display Line Items in General Ledger (F2217) or with the classic line item reports, confirm that all four lines exist in both ledgers, that every line carries profit center CMC-FLEET, and that margin by customer and product shows 4,500.00. One design decision belongs here too: if ECC used costing-based profitability analysis, it remains available in SAP S/4HANA but keeps its own tables outside the universal journal, so decide early whether Contoso moves to margin analysis (account-based) and test the reports that depend on that choice.

What would you do?

Kenji tells Priya that a custom report reading general ledger totals tables 'still runs fine' in the first converted sandbox. Priya has to decide how to test it. What is the best approach?

Key points
  • SUM converts the system; finance data is then migrated into the universal journal (ACDOCA).
  • G/L, CO, asset, material ledger and profitability data sit on one line item; totals are computed.
  • Compatibility views keep most reads working; code that writes old tables must change.
  • Ledgers and full history carry over; Public Edition is never reached by conversion.
  • Test custom reports and extracts by comparing them with ECC, not just by running them.

Check your understanding · not graded

Lesson check

  1. 1. What is the technical name of the universal journal table?

  2. 2. How do most programs that read old totals tables keep working after conversion?

  3. 3. Which kind of custom code must change because of the new finance data model?

  4. 4. Why is a custom finance report that 'still runs' not yet tested?

  5. 5. After conversion, where can Contoso read the 4,500.00 USD margin on invoice 90001877 by customer and product?