Quick Answer — SAP Order to Cash (O2C)
- SAP Order to Cash starts when a customer places an order and ends when you receive payment. In SAP, it spans two modules: SAP SD (Sales and Distribution) manages the order, delivery, and billing; SAP FICO automatically receives the accounting postings from each step.
- The 7 core steps: Pre-sales (enquiry/quotation) → Sales Order (VA01) → Delivery (VL01N) → Goods Issue → Billing (VF01) → Accounts Receivable → Incoming Payment (F-28).
- Three accounting entries are posted automatically: Goods issue posts COGS/Inventory. Billing posts Accounts Receivable/Revenue. Payment posts Bank/Cash and clears AR.
- In SAP S/4HANA, the customer master moved from XD01 to Business Partner (BP), credit management moved to FSCM, and billing posts directly to the Universal Journal (ACDOCA).
- This cycle is tested in every SAP FICO and SD interview. You must be able to walk through it end to end with specific T-codes and accounting entries — from memory, not from notes.
O2C is the mirror of Procure-to-Pay. P2P is what happens when you buy from a supplier. O2C is what happens when your customer buys from you. Understanding both cycles — and how they are mirror images — is fundamental to understanding SAP as an integrated ERP.
Accounting entries flow automatically from SD to FICO. No manual journal entry is needed. When you post goods issue in VL01N, SAP automatically posts the COGS/Inventory entry to FICO. When you create a billing document in VF01, SAP automatically posts the AR/Revenue entry. This integration is what makes SAP powerful.
Account determination is the key configuration element. VKOA (SD revenue account determination) controls which GL account the billing document credits as revenue. OBYC controls the COGS/inventory posting from goods issue. Getting these wrong is the most common cause of billing errors in implementation projects.
In S/4HANA, customer master is now Business Partner. The old XD01/XD02/XD03 transactions still exist but are deprecated — all customer master maintenance happens via the BP transaction. Credit management also moved from FD32 to FSCM integrated with BP. Both are tested in every SAP SD and FICO interview.
You must be able to walk this cycle in an interview from memory. Interviewers ask you to go step by step, T-code by T-code, accounting entry by accounting entry. Candidates who trained on a live system answer fluently. Candidates who only read about it answer hesitatingly. The difference is immediately obvious.
The SAP Order to Cash Process — All 7 Steps with T-Codes
Here is the complete O2C cycle, step by step, with every transaction code, what it does in the business, and what it triggers in the system. This is the sequence you need to be able to walk through in any SAP interview.
The interview walk-through. When an interviewer says "walk me through the SAP Order to Cash process" — they want to hear all 7 steps, the T-code for each, and the accounting entry at the key steps (PGI and Billing). A complete answer takes 3–4 minutes and covers all of the above without hesitation. If you have to pause and think about whether the billing entry debits AR or credits AR, you have not practised enough on a live system. The answer must come from muscle memory, not from reading.
SAP O2C Accounting Entries — Every Debit and Credit Explained
SAP posts three accounting documents automatically during the O2C cycle. No manual journal entry is needed — they are triggered by SD transactions and flow into FICO via account determination. Understanding these entries is essential for both FICO and SD consultants.
| # | O2C Step | SAP T-Code | Debit | Credit | Account Determination |
|---|---|---|---|---|---|
| 1 | Post Goods Issue | VL02N | Cost of Goods Sold (P&L) | Inventory — Finished Goods / Stock Account (B/S) | OBYC transaction key BSX (stock) and GBB/VAX (COGS) |
| 2 | Billing / Invoice | VF01 | Accounts Receivable — Customer (B/S) | Revenue Account (P&L) + Tax Liability Account (B/S) | VKOA — SD account determination condition table |
| 3 | Incoming Payment | F-28 | Bank / Cash Account (B/S) | Accounts Receivable — Customer (B/S) | House bank + bank clearing account in FICO config |
Entry 1: Post Goods Issue — detailed breakdown
When goods issue is posted (via VL02N), two SAP documents are created simultaneously: a material document (reducing stock) and an accounting document (the COGS/Inventory journal entry). The accounting document is created in the company code currency and debits the Cost of Goods Sold account determined by OBYC.
Entry 2: Billing document — detailed breakdown
When a billing document is created in VF01, SAP posts an FI document automatically. The accounts receivable account is determined by the customer account group; the revenue account is determined by VKOA (account key ERF or ERL in the pricing procedure). Tax is calculated based on the customer's tax classification and the material's tax classification.
Entry 3: Incoming payment — detailed breakdown
The net P&L impact of the full O2C cycle: Revenue CA$10,000 minus Cost of Goods Sold CA$5,000 = Gross Profit CA$5,000. The tax (HST) is not P&L — it is collected on behalf of the government and flows through as a balance sheet liability. The net Balance Sheet impact: Bank +CA$11,300, AR cleared to zero, Inventory -CA$5,000 (the goods left). This is the complete financial picture of one O2C transaction.
How SAP S/4HANA Changed the Order to Cash Process
If you trained on SAP ECC, the O2C steps are largely the same — but these five specific changes affect how you work in S/4HANA. Every SAP SD and FICO interviewer will ask about at least one of them.
| Area | SAP ECC | SAP S/4HANA | Interview Impact |
|---|---|---|---|
| Customer Master | XD01 / XD02 / XD03 (separate customer master transactions) | Business Partner (BP) — unified vendor and customer master in one transaction | Critical — tested in every SD and FICO interview |
| Credit Management | FD32 (credit master) — standalone credit limit maintenance | SAP FSCM Credit Management — integrated with Business Partner, real-time credit exposure | Critical — SD interviews ask this specifically |
| Accounts Receivable Table | BSID (open items) + BSAD (cleared items) — separate tables | ACDOCA — Universal Journal holds all AR line items in real time | High — FICO interviews ask about ACDOCA impact on AR |
| Inventory Documents | MKPF (material doc header) + MSEG (line items) | MATDOC — single unified material document table | High — SD and MM interviews ask about MATDOC |
| Fiori Interface | SAP GUI — VA01, VL01N, VF01 desktop transactions | SAP Fiori apps — Manage Sales Orders, Create Outbound Delivery, Create Billing Documents | Medium — know the Fiori app names for key O2C steps |
The Business Partner change is the most tested. In every SAP SD interview, you will be asked: "How do you create a customer master in S/4HANA?" The answer is: "Via the Business Partner transaction (BP) — you create a Business Partner record and assign the customer role (FLCU00 for general data, FLCU01 for company code data). The old XD01 transaction still exists but is deprecated and no longer the recommended approach." If you answer "XD01" without mentioning Business Partner, the interviewer will know you trained on ECC, not S/4HANA.
SAP O2C Configuration Reference — Key Elements and T-Codes
Understanding what configuration drives the O2C process is what separates a consultant from an end user. These are the key configuration elements every SAP SD and FICO consultant must know.
| T-Code | Description | Who Uses It | Category |
|---|---|---|---|
| VA11 | Create Customer Inquiry | Inside sales / pre-sales | Pre-Sales |
| VA21 | Create Quotation | Sales team | Pre-Sales |
| VA01 | Create Sales Order | Sales team / order management | Sales Order |
| VA02 | Change Sales Order | Sales team | Sales Order |
| VA03 | Display Sales Order | All users | Sales Order |
| VL01N | Create Outbound Delivery (+ Post Goods Issue) | Warehouse / shipping | Delivery |
| VL02N | Change Outbound Delivery | Warehouse / shipping | Delivery |
| VL06O | Outbound Delivery Monitor | Warehouse supervisor | Delivery |
| VF01 | Create Billing Document (Invoice) | Billing / AR team | Billing |
| VF04 | Billing Due List | Billing / AR team | Billing |
| VKM3 | Release Sales Orders Blocked by Credit | Credit manager | Credit Mgmt |
| FBL5N | Customer Line Items (AR open items) | AR team / FICO | Accounts Receivable |
| F-28 | Post Incoming Payment (manual) | AR team / FICO | Payment |
| F150 | Dunning Programme | AR team | Collections |
| VKOA | SD Account Determination (Revenue) | SAP SD/FICO consultant | Configuration |
| OBYC | Automatic Account Determination (COGS/Inventory) | SAP MM/FICO consultant | Configuration |
Key O2C configuration elements explained
- OR = Standard Order (most common)
- RE = Returns Order
- CS = Cash Sales (immediate delivery and billing)
- RU = Rush Order (same-day delivery)
- KA = Consignment Fill-Up
- Controls: delivery type, billing type, number ranges
- TAN = Standard item (stock material, delivery + billing)
- TAD = Service item (no delivery, billing from order)
- TANN = Free-of-charge item (no billing)
- TAB = Individual purchase order item
- Controls: billing relevance, delivery relevance, pricing
- LF = Outbound delivery (standard)
- LR = Returns delivery (customer return)
- NLCC = Replenishment delivery (cross-company)
- Controls: movement type at goods issue, output types
- F2 = Standard invoice (most common)
- RE = Credit memo for returns
- G2 = Credit memo (manual)
- L2 = Debit memo
- IV = Intercompany billing invoice
- Controls: accounting key, output type, number range
Common SAP O2C Errors and How to Fix Them
| Error | Where It Appears | Root Cause | Fix |
|---|---|---|---|
| Sales order blocked — Credit Limit Exceeded | VA01 / VA02 | Customer's outstanding balance exceeds credit limit set in FSCM / FD32 | Release via VKM3 (credit manager releases the block) or increase credit limit in BP / FD32 |
| Delivery cannot be created — No shipping point determined | VL01N | Shipping point determination (OVLK/OVL2) not configured for the plant / shipping condition / loading group combination | Check shipping point determination config; maintain condition record in OVL2 |
| Goods issue fails — Insufficient stock | VL02N — Post GI | Stock quantity at the storage location is less than delivery quantity | Check stock via MMBE; trigger replenishment or reduce delivery quantity |
| Billing blocked — Billing block on sales order | VF04 / VF01 | Billing block set on the sales order header or item level (reason code entered manually or by credit check) | Remove billing block in VA02 → Header → Billing; investigate the reason for the block first |
| Account determination error at billing — No account found | VF01 — on save | VKOA condition table has no record for the account assignment group / customer / material combination | Check VKOA — ensure condition records exist for the combination; verify account key in pricing procedure |
| Tax determination error — Tax code missing | VF01 | Customer's tax classification or material's tax classification not maintained, or no tax code found for the plant/country combination | Check customer tax classification in BP (Sales Area data); check material tax data in MM01; check VK19 tax condition records |
| Output not created — Invoice not sent to customer | VF02 — Extras → Output | Output condition record missing for the billing type / customer / sales org combination | Create condition record in VV31 for the relevant output type (e.g. RD00 for invoice) |
| Payment will not clear — Invoice already cleared | F-28 | Invoice was already cleared (double payment attempt, or cleared manually via FBRA) | Check customer line items in FBL5N — filter for cleared items to see the original clearing document; reverse if needed via FBRA |
SAP Order to Cash — 16 Questions Answered
SAP Order to Cash (O2C) is the end-to-end business cycle from customer order to cash receipt. In SAP, it runs across SAP SD (which manages the order, delivery, and billing) and SAP FICO (which automatically receives the accounting entries from each SD step). The 7 steps are: pre-sales (enquiry/quotation) → sales order (VA01) → delivery (VL01N) → goods issue → billing (VF01) → accounts receivable monitoring → incoming payment (F-28).
The key SAP O2C transaction codes are: VA11 (inquiry), VA21 (quotation), VA01 (create sales order), VL01N (create delivery + post goods issue), VF01 (create billing document), VF04 (billing due list), VKM3 (release credit-blocked orders), FBL5N (customer line items), F-28 (incoming payment), F150 (dunning), VKOA (revenue account determination config), OBYC (automatic account determination config).
Three accounting entries post automatically: (1) Post Goods Issue (VL02N): Dr Cost of Goods Sold / Cr Inventory (stock account). Determined by OBYC. (2) Billing (VF01): Dr Accounts Receivable — Customer / Cr Revenue Account + Cr Tax Liability. Determined by VKOA. (3) Incoming Payment (F-28): Dr Bank Account / Cr Accounts Receivable — Customer. Open item cleared. No manual journal entries required — all three post automatically from the SD transactions.
SAP Order to Cash (O2C) is the outbound sales cycle — a customer orders from you, you deliver, you invoice them, they pay you. Primarily SAP SD with FICO accounting. SAP Procure to Pay (P2P) is the inbound procurement cycle — you order from a supplier, you receive goods, they invoice you, you pay them. Primarily SAP MM with FICO accounting. They are mirror images of each other: your company's O2C is your customer's P2P. The same accounting concept (three-way match, goods receipt, invoice verification) appears in both from opposite sides.
Post Goods Issue (PGI) is the moment of legal transfer of goods ownership from seller to buyer in SAP. Done within the delivery document via VL02N → Post Goods Issue. It creates two simultaneous documents: (1) a Material Document (MATDOC in S/4HANA, replacing MKPF/MSEG from ECC) reducing stock by the delivery quantity, and (2) an Accounting Document posting Dr Cost of Goods Sold / Cr Inventory to FICO. After PGI, the delivery is complete and the order appears on the billing due list (VF04).
VKOA is the SAP transaction for SD account determination — the configuration that tells SAP which GL (general ledger) account to credit as Revenue when a billing document (VF01) is created. It uses the condition technique: the account determination procedure is assigned to the billing document type, and condition records link Sales Org + Chart of Accounts + Account Assignment Group (customer) + Account Assignment Group (material) + Account Key to a specific GL account number. If VKOA is missing a condition record, billing will fail with an 'account determination error.'
The billing due list (transaction VF04) shows all deliveries and orders that are ready to be billed but not yet invoiced. It is where the billing team starts each day — selecting items to invoice individually or collectively. Items appear on VF04 once Post Goods Issue has been posted (for delivery-based billing) or once the sales order is confirmed (for order-based billing). Items are removed from VF04 once a billing document is successfully created in VF01. It is also where you can see billing blocks and investigate why items are not progressing to invoice.
In SAP ECC, customer masters were created via transactions XD01 (for sales-area-specific data) or FD01 (for company-code-specific data). In SAP S/4HANA, customer master maintenance moved to the Business Partner (BP) transaction. A single BP record can represent both a customer and a vendor simultaneously. Customer-specific roles are assigned within BP: role FLCU00 (general data) and FLCU01 (company code data). The old XD01 transaction still technically works in S/4HANA for backward compatibility, but it is deprecated and the BP transaction is the required approach. Every SAP SD and FICO interviewer will ask you about this change.
SAP credit management controls how much credit a customer is allowed before their orders are automatically blocked. In SAP ECC, credit masters were maintained via FD32 and credit checks ran at sales order or delivery level. In SAP S/4HANA, credit management moved to SAP FSCM (Financial Supply Chain Management) Credit Management, integrated with Business Partner. Credit limits are set on the BP record. When exceeded, the sales order is automatically blocked with a credit hold. The credit manager reviews and releases blocks via VKM3. Real-time credit exposure calculation is a key S/4HANA improvement over ECC.
Output determination in SAP SD controls what documents are generated and sent during the O2C cycle — order confirmation to customer (output type BA00), delivery note to warehouse (LD00), invoice to customer (RD00). It uses the condition technique: output types are triggered by condition records (VV11/VV31) based on sales org, customer, billing type combinations. In SAP S/4HANA, output management is transitioning to the Application Interface Framework (AIF) and BRFplus-based output control, though legacy condition-technique outputs still work in most implementations.
Intercompany sales happens when a customer orders from one SAP company code (selling company code) but goods are delivered from a different company code (delivering company code). SAP automatically generates two sets of documents: the selling company creates a standard sales order and customer billing document; the delivering company creates a delivery, posts goods issue, and receives an intercompany billing document (type IV) from the selling company. Two FI postings occur — one in each company code. Configuration requires intercompany billing type IV, pricing condition PI01/PI02 for intercompany pricing, and the delivering plant to be assigned to the selling sales organisation.
The SAP O2C returns process reverses the original sale when a customer sends goods back. Steps: (1) Create Return Order (VA01 with order type RE, referencing the original billing document). (2) Create Returns Delivery (VL01N — goods are received back into a returns storage location). (3) Post Goods Receipt — reverses the original PGI: Dr Inventory / Cr Cost of Goods Sold. (4) Create Credit Memo (VF01 with billing type RE) — reverses the billing: Dr Revenue / Cr Accounts Receivable. (5) Apply credit memo against open invoices or process refund to customer.
A pricing procedure in SAP SD is the configured sequence of condition types that SAP evaluates to calculate the final price on a sales order. It typically includes: gross price (PR00), customer discount (K007), material discount (K004), freight charges (KF00), and tax (MWST). Each condition type is linked to an access sequence that looks up the applicable condition record from a hierarchy of condition tables. The pricing procedure is determined at sales order header level based on: Sales Organisation + Distribution Channel + Division + Customer Pricing Procedure + Document Pricing Procedure. Configuration is done in transaction V/08.
O2C integrates with FICO at two automatic posting points. (1) Goods Issue (VL01N/VL02N): creates an FI document posting Dr COGS / Cr Inventory. Account determination via OBYC (transaction keys BSX for stock posting, GBB/VAX for COGS). (2) Billing (VF01): creates an FI document posting Dr Accounts Receivable / Cr Revenue + Tax. Account determination via VKOA (SD account determination condition records). Both postings go to ACDOCA (Universal Journal) in S/4HANA — no reconciliation between SD and FI tables needed, unlike in ECC where the VBRP (billing items) and BSEG (FI items) were separate tables requiring periodic reconciliation.
The most tested O2C interview questions: (1) Walk me through the full Order to Cash cycle with T-codes. (2) What accounting entries are posted in O2C and at which step? (3) What is the difference between goods issue and goods receipt? (4) How does billing integrate with FICO — what is VKOA? (5) What changed in SAP S/4HANA for the O2C process — specifically the customer master and credit management? (6) What is the billing due list (VF04) and how do you use it? (7) A billing document failed with account determination error — where do you look? All of these require hands-on system experience to answer confidently.
Yes. VoiSAP's SAP FICO and SD training covers the full O2C cycle on a live SAP S/4HANA system — from sales order creation through delivery, goods issue, billing, accounts receivable monitoring, and cash collection. You practise every transaction (VA01, VL01N, VF01, F-28), understand every accounting entry, and learn how to explain the full cycle confidently in interviews. We have 276+ Google reviews at 4.8 stars. Book a free demo to discuss your background.
Book a free demo — Gourav will walk you through exactly how VoiSAP teaches the Order to Cash cycle and how it connects to your SAP career path.