Skip to content
SAP FICO Explained — FI-GL, AP, AR, AA & CO Controlling

SAP FICO Explained — FI-GL, AP, AR, AA & CO Controlling

DodaTech Updated Jun 20, 2026 9 min read

SAP FICO combines Financial Accounting (FI) and Controlling (CO) into the financial backbone of every SAP system — FI handles legal reporting to tax authorities and auditors, while CO provides internal management accounting for cost control and profitability analysis.

What You’ll Learn

  • The structure of General Ledger accounting in SAP FI-GL
  • How Accounts Payable and Accounts Receivable automate vendor and customer management
  • Asset Accounting submodules and depreciation calculation
  • Controlling with cost centers, internal orders, profitability analysis, and profit centers
  • How FI and CO integrate with MM (Materials Management) and SD (Sales & Distribution)

Why SAP FICO Matters

Every financial transaction in a company — from paying a supplier to recording a sale to buying a new machine — flows through SAP FICO. Without FI, you have no legal books. Without CO, management cannot see which products, departments, or regions are profitable.

DodaZIP applies FICO-style cost allocation to track which compression jobs consume the most CPU, helping optimize resource usage. Durga Antivirus Pro uses FI’s document immutability pattern to ensure security audit logs cannot be altered after creation.

Learning Path

    flowchart LR
  A["SAP Overview"] --> B["SAP Modules"]
  B --> C["SAP FICO<br/>You are here"]
  C --> D["SAP BASIS Admin"]
  D --> E["SAP HANA Database"]
  style C fill:#f90,color:#fff
  

FI — General Ledger (FI-GL)

The General Ledger is the master record of all financial transactions. Every business transaction — sales, purchases, payments, depreciation — ultimately posts to a G/L account.

Account Types

Account TypeRange ExamplePurpose
Balance Sheet100000–399999Assets, liabilities, equity
P&L400000–999999Revenue and expense accounts
ReconciliationSpecific rangesAutomatically reconciled with sub-ledgers (AP, AR, AA)

Key Transaction Codes

FS00    - Create/display G/L account centrally
F-02    - Post general journal entry
FB03    - Display document
FBL3N   - Display G/L account line items
OB52    - Maintain posting periods

Posting a Journal Entry

* In SAP, posting is done via BAPI or transaction code
* This ABAP snippet shows the structure
DATA: ls_accnt TYPE bapiacgl09,
      ls_curr  TYPE bapiaccr09.

ls_accnt-gl_account = '100000'.   " Bank account
ls_accnt-item_text  = 'Payment received'.
APPEND ls_accnt TO lt_accnt.

ls_curr-curr_type = '00'.
ls_curr-currency  = 'USD'.
ls_curr-amt_doccur = 5000.00.
APPEND ls_curr TO lt_curr.

CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
  EXPORTING
    documentheader = ls_header
  TABLES
    accountgl      = lt_accnt
    currencyamount = lt_curr.

Expected output: A document number (e.g., 100000001) is returned. Every posting creates an immutable document with a unique number.

FI — Accounts Payable (FI-AP)

AP manages all money you owe to vendors. When you receive an invoice, AP records it, tracks payment due dates, and processes payments.

Core Process Flow

  1. Invoice received — posted via F-43 (or MIRO for PO-based invoices)
  2. Payment block check — hold or release for payment
  3. Automatic payment — F110 processes due invoices
  4. Payment run — generates checks, wire transfers, or SEPA files
  5. Document clearing — F-28 clears the paid invoice against the outgoing payment

Key T-Codes

F-43     - Enter vendor invoice
F-53     - Post outgoing payment
F110     - Automatic payment program
FBL1N    - Display vendor line items
FB60     - Enter outgoing invoice

Security Angle

AP is the most targeted module for fraud. SAP’s dual control principle requires separate users to enter invoices and approve payments — the same person cannot do both. Durga Antivirus Pro applies this same separation between scan detection and quarantine actions.

FI — Accounts Receivable (FI-AR)

AR manages money customers owe you. When you bill a customer, AR records the receivable and tracks payment.

Core Process

  1. Billing document created — VF01 in SD generates the invoice
  2. AR posts automatically — SD billing integrates directly with FI-AR
  3. Incoming payment — F-28 clears the receivable
  4. Dunning — F150 sends payment reminders for overdue accounts
  5. Credit management — checks customer credit before order fulfillment

Key T-Codes

F-22     - Enter customer invoice
F-28     - Post incoming payment
FBL5N    - Display customer line items
FD10N    - Display customer balance
F150     - Dunning program

FI — Asset Accounting (FI-AA)

AA tracks fixed assets — buildings, machinery, vehicles, computers — from acquisition through depreciation to retirement.

Key Functions

  • Acquisition — record purchase of an asset (F-90)
  • Depreciation — SAP calculates automatically: straight-line, declining-balance, or custom methods
  • Retirement — record sale or scrapping of an asset (F-92)
  • Transfer — move assets between cost centers
  • Reporting — S_ALR_87012082 for asset balances
AS01    - Create asset master record
AS02    - Change asset master record
AW01N   - Display asset transactions
F-90    - Post asset acquisition
AFAB    - Run depreciation

CO — Cost Center Accounting (CO-CCA)

Cost centers track where costs occur within an organization (e.g., IT department, marketing, production line A).

    flowchart LR
  A["Primary Costs<br/>Salaries, Rent"] --> B["Cost Centers"]
  C["Internal Allocations<br/>IT Support"] --> B
  B --> D["Controlling Reports"]
  D --> E["Management Decisions"]
  

Key T-Codes

KS01    - Create cost center
KSH1    - Create cost center group
KOB1    - Display postings
S_ALR_87013611 - Cost center report

CO — Internal Orders (CO-PC)

Internal orders track costs for temporary projects or events — a marketing campaign, a maintenance shutdown, a construction project.

KO01    - Create internal order
KO02    - Change internal order
KOB1    - Display actual postings
KO88    - Settle internal order to costs

CO — Profitability Analysis (CO-PA)

CO-PA analyzes profit by market segment — which products, customers, regions, or sales channels generate the most profit.

KE30    - Execute profitability report
KE5Z    - Create profitability segment

CO — Profit Centers (CO-PS)

Profit centers are independent accounting units within a company — like running separate mini-companies. Each profit center has its own P&L statement.

KCH5N    - Create profit center group
1KEK     - Assign profit center to cost center

FICO Integration with MM and SD

The real power of SAP FICO is how it integrates with every other module.

FI-AA → MM Integration

When purchasing an asset via a purchase order (ME21N), the goods receipt (MIGO) can automatically create an asset under construction (AuC) in FI-AA. No separate entry needed.

FI-AR → SD Integration

When SD creates a billing document (VF01), it automatically:

  1. Debits the customer account in FI-AR
  2. Credits the revenue G/L account in FI-GL
  3. Posts to CO-PA for profitability analysis

FI-AP → MM Integration

When a supplier invoice is posted via MIRO, SAP automatically:

  1. Credits the vendor account in FI-AP
  2. Debits the inventory or expense G/L account
  3. Records the material document in MM
    sequenceDiagram
  participant SD
  participant MM
  participant FI
  participant CO
  SD->>FI: Billing document posts<br/>revenue & AR
  MM->>FI: Goods receipt posts<br/>inventory value
  MM->>CO: Goods issue posts<br/>cost center consumption
  FI->>CO: Overhead allocation<br/>to cost centers
  CO->>FI: Settlement to<br/>financial accounts
  

Common Errors

1. Posting period not open

Transaction fails with “Posting period XXX not open in year YYYY.” Run OB52 to open periods. Companies close periods monthly for financial reporting.

2. Reconciliation account mismatch

When creating a vendor or customer master, you must assign a reconciliation account from FI-GL. Without it, AP/AR sub-ledger won’t match the GL balance.

3. Missing cost center in posting

In CO, every cost-relevant posting must have a cost center or internal order. Missing assignment causes error “Account XXX requires a cost object.”

4. Asset value date before capitalization

You cannot post depreciation before the asset’s capitalization date. Use AS02 to adjust the capitalization date if needed.

5. Currency differences not cleared

Multi-currency postings create exchange rate differences. Run F.13 to automatically clear open items in foreign currency.

6. Vendor invoice exceeds PO quantity

MIRO blocks invoices exceeding the delivered quantity by a tolerance limit. Adjust tolerances in OMR0 or request a goods receipt posting.

Practice Questions

  1. What is the difference between FI and CO? FI handles external legal reporting (balance sheet, P&L). CO handles internal management accounting (cost centers, profitability).

  2. What transaction code runs automatic payment in AP? F110 — it selects due invoices, generates payment proposals, and posts payments.

  3. How does SD billing integrate with FI-AR? When VF01 creates a billing document, SAP automatically posts a debit to the customer account in AR and a credit to revenue in GL.

  4. What does a cost center track in CO-CCA? Where costs occur — by department, location, or function. Every cost must be assigned to a cost center.

  5. What is a reconciliation account? A GL account that automatically summarizes all sub-ledger transactions. The AP total, AR total, and AA total always match their reconciliation accounts.

Challenge: A company purchases a machine for $50,000 via a PO in MM, capitalizes it in AA with 5-year straight-line depreciation, and allocates the depreciation cost to the production cost center. Trace the complete FICO transaction flow — which T-codes are used at each step and which FI/CO accounts are affected.

FAQ

What is the difference between FI-GL and CO-CCA?
FI-GL records the legal financial position of the entire company. CO-CCA tracks costs by department for internal management — the same transaction appears in both but serves different purposes.
What is a controlling area?
A controlling area is the organizational unit in CO that manages cost centers, internal orders, and profitability segments. One controlling area can contain multiple company codes.
How is depreciation posted in Asset Accounting?
AFAB runs depreciation periodically. SAP debits the cost center (CO-CCA) and credits the accumulated depreciation account (FI-GL). One transaction updates both modules.
What is the difference between CO-PA and CO-PS?
CO-PA analyzes profit by market segment (product, customer, region). CO-PS measures profit for internal organizational units (divisions, branches).
Can you cancel a posted FI document?
Documents cannot be deleted. You must create a reversal document (transaction code FB08) that references the original document. Both remain in the audit trail.
How do FI and CO data stay synchronized?
They share the same database. When a financial transaction posts, it simultaneously creates the FI document and the CO controlling record — always in sync.

Try It Yourself

Simulate a basic FICO posting flow using SQL queries:

-- Simulate FI posting structure
CREATE TABLE fi_documents (
  doc_num INTEGER PRIMARY KEY,
  doc_date DATE,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE fi_line_items (
  doc_num INTEGER REFERENCES fi_documents(doc_num),
  account VARCHAR(10),
  amount DECIMAL(15,2),
  debit_credit CHAR(1),
  cost_center VARCHAR(10)
);

-- Post a vendor invoice: $5,000 expense to cost center CC100
INSERT INTO fi_documents VALUES (1001, '2026-06-20');
INSERT INTO fi_line_items VALUES (1001, 'EXPENSE', 5000.00, 'D', 'CC100');
INSERT INTO fi_line_items VALUES (1001, 'VENDOR', 5000.00, 'C', NULL);

-- Verify balance
SELECT account, SUM(CASE WHEN debit_credit = 'D' THEN amount ELSE -amount END) AS balance
FROM fi_line_items WHERE doc_num = 1001
GROUP BY account;

Expected output:

ACCOUNT | BALANCE
EXPENSE |  5000.00
VENDOR  | -5000.00

What’s Next

TutorialWhat You’ll Learn
SAP Overview — Complete GuideFoundational SAP ERP concepts
SAP ABAP ProgrammingWrite ABAP programs for FICO enhancements
Python for FinanceCompare SAP FI reporting with Python

Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro. Updated 2026-06-20.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro