Process Guide

SAP SD Order-to-Cash Process in S/4HANA

For SAP S/4HANA & ECC · Last updated September 2026

Order-to-Cash is the backbone of SAP SD — every sales transaction, from a customer inquiry to money in the bank, flows through this cycle.

Most guides stop at listing the steps. This one goes further: for every step you get the document created, the T-code, and the configuration that controls it — plus the five failures that actually happen on live projects, and how to diagnose each one.

01

What is Order-to-Cash in SAP SD?

Order-to-Cash (O2C, sometimes OTC) is the end-to-end process that begins when a customer asks to buy something and ends when the money is collected. In SAP it is not one transaction — it is a chain of linked documents, each one referencing the document before it.

That chain is what makes SAP traceable: from an invoice you can walk backwards to the goods issue, the delivery, the order, and the original quotation. The links live in table VBFA.

The one-line version: O2C is a document chain, and every link in it is governed by configuration. When something “does not work”, you are almost never looking at a bug — you are looking at a control setting that says no.

02

O2C process flow diagram

Scroll the diagram sideways to see all of it →

SAP SD Order-to-Cash process flow diagramThe SAP SD Order-to-Cash cycle in eleven steps: inquiry (VA11), quotation (VA21), sales order (VA01), availability and credit check, outbound delivery (VL01N), picking and packing, post goods issue with movement type 601 (VL02N), billing document (VF01), the FI accounting document via revenue account determination (VKOA), and incoming customer payment (F-28).InquiryIN · VA11QuotationQT · VA21Sales OrderOR · VA01ATP + CreditautomaticDeliveryLF · VL01NPick & PackLT03Goods Issue601 · VL02NBillingF2 · VF01AccountingFI · VKOAPaymentF-28

The SAP SD Order-to-Cash cycle: inquiry → quotation → sales order → availability & credit check → delivery → picking & packing → post goods issue → billing → accounting document → incoming payment.

Inquiry and quotation are optional — many businesses begin at the sales order. Everything from the sales order onward is mandatory for a physical-goods sale.

03

Every step, and what controls it

This is the table worth memorising. Anyone can list the steps; knowing the configuration behind each one is what separates a consultant from a user.

Process stepDocumentT-codeConfiguration / control
InquiryINVA11Sales document type (VOV8), non-binding — no inventory or FI effect
QuotationQTVA21Document type, validity period, pricing procedure
Sales orderORVA01Item category (VOV4), schedule line (VOV5), pricing procedure (OVKK)
Availability check— (schedule line)automaticChecking group + checking rule (OVZ9), schedule line category
Credit check— (block)automaticCredit control area, risk category, FSCM credit segment
Outbound deliveryLFVL01NShipping point determination, route, delivery relevance on schedule line
Picking & packingTransfer orderLT03 / VL02NWarehouse/storage location, picking relevance, packing requirements
Post Goods IssueMaterial documentVL02NMovement type 601 on the schedule line category
BillingF2VF01Copy control (VTFL/VTFA), billing relevance on the item category
AccountingFI documentVF02 / FB03Revenue account determination (VKOA), tax code, posting period
Incoming paymentFI clearing docF-28Payment terms, reconciliation account, customer open items
04

Step-by-step walkthrough

1

Pre-sales — inquiry & quotation

Purpose: Capture customer interest before a commitment exists. An inquiry (IN, VA11) is a non-binding request for information. A quotation (QT, VA21) is a binding offer with a validity period, usually created with reference to the inquiry.

What controls it: Sales document type (VOV8) controls number range, screen layout, and whether a delivery or billing block is defaulted. Neither document affects inventory or accounting.

2

Sales order

Purpose: The commercial commitment. Created in VA01, often with reference to a quotation so the pricing and quantities carry across.

What controls it: Three determinations happen here and drive everything downstream: item category (VOV4) decides how the line behaves, schedule line category (VOV5) decides delivery and planning behaviour, and the pricing procedure (OVKK) decides the value.

3

Availability check & credit check

Purpose: Confirm what can actually be promised, and whether the customer is allowed to receive it. Both run automatically on save.

What controls it: Availability uses the checking group plus checking rule (OVZ9) and is switched on by the schedule line category. Credit uses the credit control area and risk category — in S/4HANA through FSCM credit segments. A credit block stops the order progressing to delivery.

4

Outbound delivery

Purpose: The logistics commitment. VL01N creates the delivery, or VL10 creates them collectively from the due list.

What controls it: Shipping point determination (shipping condition + loading group + delivering plant) and route determination. The schedule line category must be delivery relevant, and no delivery block may be set.

5

Picking, packing & Post Goods Issue

Purpose: Physically prepare the goods and hand over ownership. PGI in VL02N is the moment inventory and accounting both move.

What controls it: Movement type 601 comes from the schedule line category. At PGI: stock reduces, COGS is debited and inventory credited, the delivery becomes billable, and the MRP requirement is consumed. In S/4HANA the postings land in ACDOCA.

6

Billing & accounting

Purpose: Invoice the customer and post the receivable. VF01 creates the billing document; the FI document follows automatically if account determination succeeds.

What controls it: Billing relevance on the item category decides order-related vs delivery-related billing. Copy control (VTFL delivery→billing, VTFA order→billing) decides whether the copy is even permitted. Revenue account determination (VKOA) decides which G/L accounts are posted.

05

Master data required

O2C configuration is only half the story. Most “the process is broken” tickets turn out to be master data:

Business Partner (customer)

BP — roles FLCU01 (SD) + FLCU00 (FI)

Sales area data drives pricing, shipping, partner functions and payment terms. Without role FLCU01 there is no sales-area data and the customer cannot be used in an order. Read the guide →

Material master

MM01 — Sales Org 1 & 2, MRP, Plant/Storage views

Item category group drives item category determination; MRP type drives schedule line determination; loading group and plant drive shipping point determination.

Customer-material info record

VD51

Maps the customer's own material number to yours, and can override delivery tolerances and delivering plant per customer.

Condition records (pricing)

VK11

The actual prices, discounts, freight and taxes. A correct pricing procedure with no condition records still produces a zero-value order. Read the guide →

Credit master data

UKM_BP (FSCM) / FD32 (classic)

Credit limit and risk category per credit segment. Missing credit master is a common cause of every order landing on a credit block. Read the guide →

Output condition records

BRF+ / NACE (legacy)

Decides whether the order confirmation and invoice actually reach the customer, and by which channel. Read the guide →

06

Complete document flow

Every successor document stores a reference to its predecessor in table VBFA. View it from VA03 → Environment → Document Flow.

Inquiry Quotation Sales Order Delivery Goods Issue Invoice Accounting Doc

Document flow is also how SAP enforces sequence. A billing document cannot reference a delivery that has no goods issue, because copy control’s copying requirement checks the predecessor’s status. When a step “refuses” to happen, the predecessor status is the first thing to inspect.

07

Important O2C T-codes

T-codePurpose
VA11 / VA12 / VA13Create / change / display inquiry
VA21 / VA22 / VA23Create / change / display quotation
VA01 / VA02 / VA03Create / change / display sales order
VA05List of sales orders
V.02Incomplete sales orders list
CO09Availability overview (ATP situation)
MD04Stock / requirements list
VKM1 / VKM2Blocked SD documents (release here) / released SD documents
VL01N / VL02N / VL03NCreate / change / display outbound delivery (PGI in VL02N)
VL10A / VL10GDelivery due list — collective delivery creation
VL06OOutbound delivery monitor
LT03Create transfer order (picking, WM)
VF01 / VF02 / VF03Create / change / display billing document
VF04Billing due list
VF11Cancel billing document
VFX3Release billing documents blocked for accounting
FB03Display FI accounting document
FBL5NCustomer line items (open receivables)
F-28Post incoming customer payment
SE16N → VBFADocument flow table — predecessor/successor links

The full reference is on the SAP SD T-codes page. In S/4HANA each of these has a Fiori equivalent.

08

S/4HANA vs ECC

The O2C steps did not change. The mechanics behind five of them did — and that distinction is exactly what senior interviews probe.

NEW
Business Partner replaces the customer master

XD01 gives way to BP with roles FLCU00 (FI) and FLCU01 (SD). KNA1/KNVV are maintained through CVI synchronisation. Read the guide →

NEW
Advanced ATP (aATP)

Classic ATP is replaced by embedded aATP — product allocation, rules-based backorder processing, alternative-based confirmation, and Release for Delivery. Read the guide →

NEW
BRF+ output management

NACE condition technique gives way to BRF+ decision tables, with Adobe Forms and managed email templates. Read the guide →

NEW
FSCM Credit Management

Classic credit (FD32, KNKK) is replaced by SAP Credit Management with credit segments in UKMBP_CMS_SGM. Read the guide →

NEW
Universal Journal (ACDOCA)

FI and CO postings from PGI and billing merge into a single line-item table — real-time profitability without extraction.

CHANGED
Simplified status and pricing tables

VBUK/VBUP are merged into VBAK/VBAP, and document pricing conditions move from KONV to PRCD_ELEMENTS. Read the guide →

CHANGED
Fiori apps for every O2C step

Create Sales Order, Manage Outbound Deliveries, Create Billing Documents, Sales Order Fulfilment Monitor, and more.

09

Five real-world O2C failures

Knowing the happy path is the easy half. These five are what you will actually be handed on a project — and being able to diagnose them in order is what makes you useful on day one.

1. Pricing not determined (net value is zero)

The order saves, but the net value is 0.00 or a mandatory condition is missing.

Likely causes

  • No pricing procedure determined — the sales area + document pricing procedure + customer pricing procedure combination has no entry in OVKK
  • Pricing procedure is correct but no condition record exists for the key combination (VK11)
  • The condition record exists but is outside its validity dates, or for a different sales area
  • A requirement routine on the condition type is suppressing it

How to diagnose: Open the order → item → Conditions → Analysis. The pricing analysis tells you exactly which procedure was found, which access was attempted, and why each access failed. Work from the analysis, never by guessing. Pricing Procedure guide

2. Confirmed quantity is zero

The order line is entered but the schedule line confirms 0, or confirms far in the future.

Likely causes

  • No stock and no inbound supply within the checking horizon
  • The scope of check (OVZ9) excludes the receipts you expected — for example planned orders are not included
  • The schedule line category has the availability check switched off, or is not the category you assumed
  • Transfer of Requirements is inactive, so planning never replenished the material

How to diagnose: Check MD04 first to see the real supply/demand picture, then the checking rule in OVZ9, then the schedule line category. In S/4HANA, backorder processing may also have redistributed a confirmation you previously had. Schedule Line Category guide

3. Delivery not created

The order exists but VL01N or the delivery due list (VL10) produces nothing.

Likely causes

  • Confirmed quantity is zero — there is nothing to deliver
  • A delivery block is set on the order header or the schedule line
  • The schedule line category is not delivery relevant
  • Shipping point could not be determined (shipping condition + loading group + plant)
  • The order is still on a credit block
  • The requested delivery date is outside the selection date in VL10

How to diagnose: Run VL10 with the log switched on — it reports the reason per order. If nothing appears at all, check delivery relevance on the schedule line and shipping point determination before anything else.

4. Billing block prevents invoicing

The delivery is complete and goods issue is posted, but the item never reaches the billing due list.

Likely causes

  • A billing block is set on the order header or item — often defaulted by the sales document type (VOV8) for credit or debit memo requests
  • The item category has no billing relevance, or the wrong relevance (order-related vs delivery-related)
  • Copy control between delivery and billing is missing or its copying requirement fails
  • Goods issue has not actually been posted

How to diagnose: Check the billing block on the document first (VA02), then billing relevance on the item category, then copy control (VTFL for delivery-to-billing, VTFA for order-to-billing). Copy Control guide

5. Invoice not released to accounting

The billing document exists but no FI document was created — accounting status stays open.

Likely causes

  • Revenue account determination failed — no G/L account found in VKOA for the chart of accounts, sales org, account assignment group combination
  • The customer or material account assignment group is blank on the master data
  • The posting period is closed in FI
  • Missing or invalid tax code / tax determination
  • The billing date falls in a period the company code does not allow

How to diagnose: In VF02, use Environment → Account determination analysis — it shows precisely which access failed. VFX3 lists all billing documents blocked for accounting so you can see the scale of the problem.

Knowing the happy path is only the beginning. The SD Vault contains real configuration scenarios and interview questions covering pricing failures, billing blocks, credit management, third-party sales and intercompany sales — the situations that decide whether you can actually do the job.

10

10 O2C interview questions

Q01

Walk me through the Order-to-Cash cycle end to end.

Pre-sales (inquiry VA11, quotation VA21) → sales order (VA01) where item category, schedule line and pricing are determined → availability check and credit check → outbound delivery (VL01N) after shipping point and route determination → picking and packing → post goods issue (VL02N, movement 601) which reduces stock and posts COGS → billing (VF01) → accounting document via VKOA → incoming payment (F-28). Each document links to the next through document flow table VBFA.

Q02

What exactly happens at Post Goods Issue?

Five things at once: inventory is reduced by the delivered quantity with movement type 601; COGS is debited and inventory credited in FI; the delivery status changes to "goods issue posted"; the delivery becomes eligible for billing; and the requirement in MRP is reduced. In S/4HANA the FI/CO postings land in the Universal Journal (ACDOCA). PGI is reversible only by a cancellation, not by editing.

Q03

Which document types are created in a standard O2C flow and what are their codes?

IN (inquiry), QT (quotation), OR (standard order), LF (outbound delivery), and F2 (invoice). The delivery produces a material document at goods issue, and billing produces an FI accounting document. Returns use RE, credit memo request G2, debit memo request L2.

Q04

How does document flow work and where is it stored?

Every successor document references its predecessor, and the links are stored in table VBFA (preceding document, subsequent document, and the category of each). You can view it from VA03 → Environment → Document Flow. It is what makes the whole chain traceable from order back to invoice and forward to the accounting document.

Q05

What determines the shipping point?

Three inputs: the shipping condition (from the customer master or sales document type), the loading group (from the material master), and the delivering plant. That combination determines the shipping point, which in turn drives the delivery scheduling. If a delivery cannot be created, an undetermined shipping point is one of the first things to check.

Q06

What is the difference between order-related and delivery-related billing?

It is set as the billing relevance on the item category. Delivery-related billing (relevance A) bills the delivered quantity and requires goods issue first — the standard for physical goods. Order-related billing (relevance B or C) bills from the order without a delivery — used for services and for third-party items, where you bill based on the order or the vendor invoice.

Q07

A billing document was created but no accounting document. What do you check?

Revenue account determination first — VKOA, using chart of accounts, sales organisation, and the customer and material account assignment groups. Then check that the account assignment groups are actually populated on the master data, the posting period is open, and tax determination is valid. In VF02, Environment → Account determination analysis shows which access failed.

Q08

Where does the credit check happen in the O2C cycle, and what blocks it?

It can happen at order, delivery, and goods issue — configured per credit group. A block prevents the document progressing to the next step, which is why an order on credit block never appears in the delivery due list. Blocked documents are listed and released in VKM1; released documents are listed in VKM2. In S/4HANA the master data lives in FSCM credit segments rather than the classic KNKK.

Q09

How does the O2C cycle integrate with other modules?

MM for material master and inventory; WM/EWM for picking and packing; PP when sales demand transfers to production through TOR; QM if inspection is required before delivery; FI for receivables, revenue and tax; CO/CO-PA for profitability. In S/4HANA, FI and CO integration is simplified through the Universal Journal.

Q10

What changed in the O2C process in S/4HANA?

The process steps are the same, but the mechanics changed in five places: Business Partner replaces the customer master, advanced ATP replaces the classic availability check, BRF+ replaces NACE for output, FSCM replaces classic credit management, and FI/CO postings merge into ACDOCA. Status tables VBUK/VBUP are merged into VBAK/VBAP, and pricing conditions moved from KONV to PRCD_ELEMENTS.

Frequently Asked Questions

What is the Order-to-Cash (O2C) process in SAP SD?

Order-to-Cash is the end-to-end business process that begins with a customer inquiry or order and ends with cash collected against the invoice. In SAP SD it runs as a chain of linked documents: inquiry and quotation (pre-sales), sales order, outbound delivery, picking and packing, post goods issue, billing document, and the resulting FI accounting document and incoming payment. Each document references its predecessor through document flow table VBFA, which makes the whole chain traceable.

What are the main steps of the O2C cycle in SAP?

Eleven steps in a full cycle: inquiry (VA11), quotation (VA21), sales order (VA01), availability check, credit check, outbound delivery (VL01N), picking and packing, post goods issue (VL02N), billing (VF01), accounting document, and incoming payment (F-28). Inquiry and quotation are optional — many businesses start directly at the sales order.

What are the key T-codes in the SAP Order-to-Cash cycle?

The core set: VA11 (inquiry), VA21 (quotation), VA01/VA02/VA03 (sales order), VL01N (create delivery), VL02N (change delivery and post goods issue), VL10 (delivery due list), VL06O (delivery monitor), VF01 (billing), VF04 (billing due list), VFX3 (release blocked billing documents), FB03 (FI document), FBL5N (customer open items), F-28 (incoming payment). In S/4HANA each has a Fiori equivalent.

What happens during Post Goods Issue (PGI) in SAP?

PGI posts the physical and financial goods movement at once. Inventory reduces with movement type 601, COGS is debited and inventory credited, the delivery status becomes "goods issue posted", the delivery becomes billable, and the MRP requirement is reduced. In S/4HANA these postings land directly in the Universal Journal (ACDOCA). PGI cannot be edited away — it must be cancelled.

How does document flow work in SAP SD?

Each document in the chain stores a reference to its predecessor in table VBFA (sales document flow). A delivery references the sales order; a billing document references the delivery. From VA03 → Environment → Document Flow you can see the complete history — inquiry through to the accounting document — along with the status of each step.

Why is my delivery not being created for a sales order?

The usual causes, in the order worth checking: the confirmed quantity is zero so there is nothing to deliver; a delivery block is set on the header or schedule line; the schedule line category is not delivery relevant; the shipping point could not be determined; or the order is on a credit block. Running VL10 with the log switched on reports the reason per order.

Why was a billing document created without an accounting document?

Almost always revenue account determination. VKOA could not find a G/L account for the combination of chart of accounts, sales organisation, and the customer and material account assignment groups — often because an account assignment group is blank on the master data. Other causes are a closed posting period or invalid tax determination. Use Environment → Account determination analysis in VF02, and VFX3 to list all blocked billing documents.

What is the difference between an inquiry and a quotation in SAP SD?

An inquiry (type IN, VA11) is a non-binding customer request for information about price, availability or lead time. A quotation (type QT, VA21) is a binding offer with a validity period, usually created with reference to an inquiry. Neither touches inventory or accounting, but both feed pipeline reporting.

How does SAP SD integrate with other modules in the O2C cycle?

MM provides material master and inventory; WM/EWM handles picking and packing; PP receives sales demand through transfer of requirements; QM can require inspection before delivery; FI handles receivables, revenue and tax through VKOA; CO/CO-PA handles profitability. In S/4HANA, FI and CO integration is simplified by the Universal Journal (ACDOCA).

Did the Order-to-Cash process change in SAP S/4HANA?

The process steps are unchanged — inquiry to cash still flows the same way. What changed is the mechanics behind five of them: Business Partner replaces the customer master, advanced ATP replaces the classic availability check, BRF+ replaces NACE for output, FSCM replaces classic credit management, and FI/CO postings merge into ACDOCA. Knowing the steps is not enough in an S/4HANA interview — you are expected to know what changed underneath them.

Rahul Narain Saxena, SAP SD Solution Architect

Written by

Rahul Narain Saxena

SAP SD Solution Architect with 17+ years of hands-on implementation experience across SAP ECC and S/4HANA. Every guide on The SD Vault is written from live project experience, not summarised from documentation.

Official SAP references

  • SAP Help Portal — official S/4HANA Sales product documentation
  • SAP Training — S/4HANA Sales courses covering end-to-end Order-to-Cash execution

Master every O2C scenario — hands-on.

Order-to-Cash is the foundation. Inside The SD Vault you’ll find configuration scenarios for every step, 230+ interview questions, and a Ready Reckoner for fast on-the-job reference.

Get Lifetime Access →

Or start free with the sample pack — 10 real interview questions, a full configuration scenario, and a Ready Reckoner topic. No login.