
Contents
- FI and CO on S/4HANA
- What changed for finance on S/4HANA
- How FICO integrates with other modules
- Seven things I have seen break SAP FICO projects
- 1. Master data that nobody owns
- 2. CO configured without controllers involved
- 3. Business users see the system for the first time in UAT
- 4. Custom development where configuration would have worked
- 5. Integration points left unchecked
- 6. Reporting designed in the last sprint
- 7. Edge cases that fall between teams
- FICO readiness checklist before UAT
- Frequently asked questions
SAP FICO is two modules that work as one. Financial Accounting (FI) produces the numbers auditors and regulators see. Controlling (CO) produces the numbers management uses to run the business. On S/4HANA both post into a single Universal Journal. This article is for finance leads, programme directors and FICO consultants who are starting, running or rescuing an S/4HANA finance workstream. It explains how FI and CO fit together, where they connect to the rest of SAP, and the seven decisions that break implementations. Use the readiness checklist near the end before you enter user acceptance testing (UAT).
I have worked on SAP FICO projects for 25 years, across the whole lifecycle from blueprint to support, and the same patterns repeat. Some problems are technical. More often, they come from decisions that were rushed or overlooked early on.
The timing matters in 2026. SAP ECC leaves mainstream maintenance at the end of 2027, so most finance teams still on ECC are either mid-migration or about to start. The mistakes below cost more on an S/4HANA programme than they did on ECC, because the Universal Journal leaves less room to absorb bad design later.
Financial Accounting (FI) faces outward. Statutory compliance, balance sheet, income statement, the numbers that leave the company. Every financial transaction in SAP ends up in FI.
Controlling (CO) faces inward. Cost tracking, budgeting and profitability for management decisions. Cost centres show where money is spent. Profitability analysis shows margin by customer, region or product.
In practice you cannot separate them. A vendor invoice in Accounts Payable posts to the General Ledger and can flow into cost centre reports. An asset purchase updates the books and affects cost planning. Knowing where FI ends, where CO begins and where they overlap is what separates finance knowledge from button knowledge.
On S/4HANA the boundary blurs further. The Universal Journal (table ACDOCA) stores FI and CO line items in one record. Two consequences matter for design. Cost elements are now GL accounts with a cost element category, not separate master data. And SAP's recommended profitability model is Margin Analysis (account-based CO-PA). Costing-based CO-PA still exists on-premise and in private edition. SAP's learning material is clear, though: it is not available in S/4HANA Cloud, and new investment goes into Margin Analysis.
Here are the main components a FICO team configures:
| Component | Area | What it manages |
|---|---|---|
| General Ledger (FI-GL) | FI | Central record of all financial transactions; basis for statutory reporting |
| Accounts Payable (FI-AP) | FI | Vendor invoices, payments, liabilities |
| Accounts Receivable (FI-AR) | FI | Customer invoices, collections, credit |
| Asset Accounting (FI-AA) | FI | Acquisition, depreciation, retirement of fixed assets |
| Bank Accounting | FI | Bank statements, reconciliation, cash position |
| Cost Centre Accounting | CO | Costs by department or function |
| Internal Orders | CO | Temporary cost collectors for events, campaigns, small projects |
| Profit Centre Accounting | CO | Revenue and cost by business unit |
| Margin Analysis (CO-PA) | CO | Margin by customer, product, channel or region |
The FI-to-CO reconciliation is gone. With one journal and no separate totals tables, the period-end reconciliation that ate consultant days in ECC largely disappears. The flip side: cost centre design and profitability characteristics have to be right at design time. There is no aggregate layer to hide mistakes.
Consolidation and planning have new homes. SAP positions S/4HANA Group Reporting as the successor to SAP Business Planning and Consolidation (BPC) for consolidation, and SAP Analytics Cloud for planning. BPC mainstream maintenance ends in 2027. My SAP BPC guide covers what to do if you still run it.
Joule is real, but narrow. SAP's mid-2025 AI release notes list finance uses such as creating fixed asset master data and monitoring bank statements through Joule. They also describe an accounts receivable agent that chases overdue items. SAP Joule for Consultants, generally available since May 2025, answers configuration questions from SAP Notes and Activate content. All of it works better on clean data. None of it fixes bad design.
Clean core changes what "customise" means. On S/4HANA Cloud Public Edition you cannot modify the core at all. On private edition and on-premise you can, but every modification adds upgrade effort and regression risk. The ECC habits (Z-tables for posting rules, enhancements for tax logic, ABAP derivations in CO-PA) now belong in standard configuration or in side-by-side extensions on SAP BTP. That raises the stakes on mistake 4 below.

FICO connects to nearly every other SAP module. The handoffs are where most integration issues occur: each team tests its own area, and nobody tests the connection.
| Module | Integration point | What happens on S/4HANA |
|---|---|---|
| MM (Materials Management) | GR/IR clearing, invoice posting, inventory valuation | Goods receipt posts a GR/IR entry to ACDOCA; the vendor invoice clears it and posts to AP |
| SD (Sales and Distribution) | Billing, revenue, receivables, credit | Billing updates revenue and receivables in the Universal Journal; IFRS 15 uses Revenue Accounting and Reporting where contracts need it |
| PP (Production Planning) | Production cost, WIP, variances | Order costs accumulate in ACDOCA; WIP and variances settle inside the same journal |
| HCM / payroll | Payroll posting, cost assignment | Payroll results post to FI as expense and liability and flow to cost centres |
| PS (Project System) | Budgets, settlement, project revenue | Project costs and revenue post to FI/CO with immediate visibility |
| PM (Plant Maintenance) | Maintenance order costs | Labour and material costs collect on orders and settle to CO |
| Group Reporting | Consolidation | Reads ACDOCA directly; no separate consolidation database |
The Universal Journal changes how these integrations fail. In ECC, FI-CO differences surfaced as a reconciliation issue. On S/4HANA, an MM posting that hits the wrong account creates a real journal entry that has to be reversed and reposted. Audit findings arrive faster. For the logistics side of these handoffs, see my guides to SAP SD and SAP PP.
- Goods receipt in MMStock and inventory update
- Account determinationThe valuation class picks the GL accounts
- GR/IR entry in ACDOCAOne Universal Journal line for FI and CO
- Vendor invoiceClears the GR/IR entry
- Accounts PayablePosts to the GL and can flow to cost centre reports
One journal entry that FI and CO both read
1. Master data that nobody owns
Most projects agree in week one that master data needs cleaning. Then configuration takes over, deadlines tighten and master data falls behind. Until testing.
A retail client in the UAE had a cost centre hierarchy that looked complete. Labels matched. Totals balanced. In integration testing, store costs showed up under regional heads that made no sense, and some data was missing entirely.
The structure had never been checked against how the stores actually operated. It was built on the implementation team's assumptions. Restructuring the cost centre mapping and the reporting logic took two weeks, with good people focused on it.
The usual suspects are familiar. GL accounts copied from the old system without checking current reporting needs. Vendor masters with outdated tax data or missing bank details. Cost centre hierarchies that follow the org chart rather than the cost flow. Profit centres added late. Give master data a named owner before blueprint closes. Even a rough review of structure, usage and gaps prevents most of the cleanup later.
2. CO configured without controllers involved
Controlling usually comes second. FI gets designed, reviewed and tested early. CO follows with less attention, on the theory that it is simpler and can be finalised later.
It cannot.
On a telecom project I worked on, CO-PA was configured late. Testing looked fine. Postings went through and reports ran. Then sales and finance reviewed margins and the top products showed negative profitability. Key cost elements were unmapped and derivation rules were incomplete. Fixing it meant redesigning reporting structures that had already been signed off.
CO only works when the people who read the reports, controllers and finance directors, help design it. They think in cost behaviour and margin, not system flow. Bring them in during blueprint, not UAT.
3. Business users see the system for the first time in UAT
UAT is where problems surface, and the most expensive place to find them. Design is locked and configuration is nearly done.
On a finance transformation for a holding company in Southeast Asia, UAT started with confidence. Scripts were ready. Technical checks had passed. Then the finance team logged in. For many of them it was the first time they had seen the screens. Fields they used daily were gone. Steps had appeared without explanation. Workflows had been rebuilt in a way that made technical sense and no operational sense.
We had to revise key flows, and some logic had to be rebuilt. The project lost weeks.
Show users incomplete screens early. It is always cheaper than showing them finished screens late.
4. Custom development where configuration would have worked
Custom code feels faster and more controlled. You get exactly what was asked for. Over time it becomes hard to test, hard to change and fragile, and on S/4HANA every modification adds upgrade effort.
I once worked on a global implementation across six countries where tax logic was built entirely in ABAP: country rules, exceptions, product-based rates. It worked. But standard SAP already handled it with condition types, tax procedures and country configuration.
When one country changed a tax rate, the business had to raise a development request, wait and retest everything. What felt efficient at the start became a bottleneck for every tax change. The fix in cases like this is to retire the custom tables, move the logic to standard configuration and keep only the genuinely unique rules in a small extension.
The same pattern shows up elsewhere. Custom validations for posting rules that configuration already handles. Reports rebuilt when standard Fiori apps or CDS views exist. Approval steps hard-coded with no room for change. Ask one question every time: where does this logic live, and will it survive the next upgrade without a project? If the answer is "in the core" or "we haven't checked", move it to configuration or to BTP.
5. Integration points left unchecked
During testing, teams focus on their own module. The boundaries go unchecked.
On a manufacturing rollout, goods receipts processed correctly in MM. Inventory updated. Logistics had no complaints. FI had no journal entries for those receipts.
The cause was a valuation class missing from account determination. MM processed without error and created no financial posting. Two days to diagnose. Several more to clean up what had posted in the meantime.
Similar failures I have seen: SD billing posting to the wrong revenue accounts through account determination gaps. Asset transfers in PM that never reach Asset Accounting. GR/IR logic that the MM and FI teams understood differently. One finance lead reviewing the MM and SD test scripts prevents most of these. Finance knows what a posting should look like. A logistics tester often does not.
6. Reporting designed in the last sprint
For a module that exists to produce financial information, projects push reporting to the end with remarkable consistency. Get transactions posting first, sort reports later.
At a consumer goods client in Europe, where I supported the post-go-live phase, CO-PA had been built, fields mapped and derivations configured. The first segment P&L had the right headers and scattered, fragmented costs. Revenue was fine. Some value fields were not populated at all.
The finance team fell back to Excel. Again. I had to step in to sort it out. Once trust in reporting is lost, it rarely comes back on its own.
If margin by channel or cost by project matters to the business, that requirement has to shape how data is captured during design. The usual reporting layer in 2026 is SAP Analytics Cloud reading the Universal Journal; it is included in some GROW and RISE packages and sold separately in others, so check your contract. Analytics Cloud on top of a clean profitability design works. Analytics Cloud on top of a half-configured one does not. More on that in my SAP Analytics Cloud guide.
7. Edge cases that fall between teams
Projects rightly focus on high-volume processes. That pushes edge cases aside until they surface.
In one rollout, the client had three company codes with three different fiscal year variants: one calendar year, one April to March, one 4-4-5. Nobody flagged it in design.
It surfaced in intercompany reconciliation. Periods did not line up. Finance could not close on time because each company code had different cut-offs. That one issue threw off consolidation by two weeks.
Book one hour in the plan where each workstream lists what is unusual about its area. Ask three questions. Are there legal or regional rules not yet modelled? Does any team run manual workarounds outside SAP? Are features such as down payments, parked documents or intercompany netting in use? The edge cases always surface. The only question is whether they surface in a design session or at month-end close.
SAP FICO issues are almost never caused by the system. They come from decisions made too fast or too late: master data nobody owns, CO designed without controllers involved, reporting built in the last sprint.
Run this list two weeks before UAT starts. Every "no" is a risk to log with an owner and a date.
- Master data owner named. One person signs off chart of accounts, cost centre hierarchy, profit centres and vendor and customer masters. Owner: finance director.
- Cost centre hierarchy tested against real cost flow. Not the org chart. Owner: financial controller.
- Controllers have reviewed the profitability design. Characteristics, derivation rules and the first draft of the segment P&L. Owner: head of controlling.
- Key users have seen the screens. At least one walkthrough per process before UAT scripts are written. Owner: finance process lead.
- Custom code list reviewed. Every enhancement has a reason why standard configuration could not do it. Owner: solution architect.
- Account determination tested across modules. A goods receipt, a vendor invoice, a customer bill and a production order settlement each produce the expected journal entries. Owner: FICO lead with MM, SD and PP leads.
- Management reports built from real test data. Not mock-ups. Owner: reporting lead with the CFO's office.
- Fiscal year variants, currencies and intercompany settings compared across company codes. Owner: FICO lead.
- Edge-case session held. Accruals, down payments, parked documents, intercompany netting, country tax rules. Owner: programme manager.
What is SAP FICO and what does each letter stand for?
FI stands for Financial Accounting and CO for Controlling. Together they are SAP's core finance modules.
FI handles external reporting: General Ledger, Accounts Payable, Accounts Receivable, Asset Accounting and Bank Accounting. CO handles internal management reporting: cost centres, internal orders, profit centres and profitability analysis.
They are tightly linked. On S/4HANA they share one Universal Journal, so you cannot understand one without the other.
How does SAP FICO integrate with SAP MM, SD, and PP?
MM to FI: a goods receipt posts a GR/IR entry automatically. The vendor invoice clears it and posts to Accounts Payable. Account determination must be right, or MM processes and no financial entry appears.
SD to FI: billing updates revenue and receivables. Gaps in SD account determination send revenue to the wrong accounts or nowhere.
PP to FI/CO: production orders collect material, labour and overhead costs. CO settles work in progress and variances. A weak profitability design means those costs never reach margin reports.
The fix for all three is the same. A finance lead should review the integration test scripts written by the other workstreams.
What is the difference between SAP HANA and SAP FICO?
They are different layers. SAP HANA is the in-memory database. SAP FICO is the finance application that accountants and controllers use.
On S/4HANA, HANA is what makes the Universal Journal practical: FI and CO data in one table, reported in real time without batch reconciliation. A HANA performance problem affects how fast FICO reports run. A FICO configuration problem decides what those reports contain.
Is SAP FICO still relevant with S/4HANA in 2026?
Yes. The core skills transfer: account determination, cost centre design, profitability setup, period-end close. Companies still need people who understand finance processes as well as transactions.
What has changed is the profile in demand. Employers want FICO consultants who understand the Universal Journal, Margin Analysis, Group Reporting and clean-core extension, and who can advise on which ECC customisations to retire during migration. With ECC mainstream maintenance ending in 2027, migration work is keeping demand high.
If you are planning a FICO career move, SAPopedia's career paths map the skills by role, and the ERPCV career pack helps you present S/4HANA finance experience on a CV.
How does Joule change SAP FICO implementations in 2026?
Less than the marketing suggests, more than sceptics assume. SAP Joule for Consultants answers configuration and code questions from SAP's own Notes and Activate content, which speeds up research on standard scope. In the system, Joule handles tasks such as creating fixed asset master data and monitoring bank statements, and SAP has released finance agents such as one for chasing overdue receivables.
None of it replaces design judgement on multi-country tax, group reporting structures or revenue recognition. And it works only as well as the data underneath. When you review partner proposals, ask how AI tooling is reflected in their effort estimates.
What are the key FICO configuration steps in a new implementation?
The foundation is configured in roughly this order:
- Company codes: the legal entities that produce financial statements.
- Fiscal year variants: calendar, April to March or 4-4-5. Keep them consistent across company codes that trade with each other.
- Chart of accounts: the GL account list, shared across company codes where possible. These decisions affect every report for the life of the system.
- Posting period variants: which periods are open for posting.
- Field status variants: which fields are mandatory, optional or hidden.
- Tax configuration: tax codes, rates and country mapping. Most localisation complexity lives here.
- Controlling structures: controlling area, cost centres, profit centres, internal orders and profitability characteristics, designed with controllers.
- Account determination: how MM, SD and PP transactions become FI postings. Validate it with end-to-end integration tests before go-live.
Next step
Running an ERP programme right now?
If this article touched on a programme you are live in right now, a 30-minute conversation usually gets further than another week of internal analysis.




