SAP Flow quotation sales_order delivery invoice credit_memo incoming_payment

Order to Cash

The sales document chain from quotation to customer payment โ€” each step's status, its stock and GL effect, and how Norma automates it.

Order-to-cash (O2C) is the customer-facing sales process โ€” how a company turns an enquiry into shipped goods and, finally, into cash in the bank. For most small-and-medium businesses running SAP Business One it is the most important flow in the system, because it is where revenue is earned and where working capital is tied up. It is a chain of documents created in a fixed order, each one recording a distinct business fact and each one carrying a specific effect on inventory and on the general ledger. Understanding the flow means knowing which document comes next and what each one does โ€” describing the process is always an explanation, never an instruction to create a document.

The document chain

The chain runs from a non-binding offer, through a firm commitment, to the physical shipment, the legal bill, and the receipt of money. Each document normally references the one before it, so quantities and balances stay reconciled and the whole path is traceable.

flowchart TD
    OPP([Opportunity]) -->|accepted| SQ[Sales Quotation]
    SQ -->|confirmed| SO[Sales Order]
    SO -->|goods ship| DEL[Delivery]
    SO -->|billing| ARI[A/R Invoice]
    DEL -->|triggers| ARI
    ARI -->|customer pays| IP[Incoming Payment]
    IP -->|matched| BR[Bank Reconciliation]

    style OPP fill:#f0f0f0,stroke:#999
    style SQ fill:#dbeafe,stroke:#3b82f6
    style SO fill:#dbeafe,stroke:#3b82f6
    style DEL fill:#dcfce7,stroke:#16a34a
    style ARI fill:#fef9c3,stroke:#ca8a04
    style IP fill:#fef9c3,stroke:#ca8a04
    style BR fill:#f0f0f0,stroke:#999

The opportunity and the quotation are optional pre-sales steps. The sales order is the commitment; the delivery and the A/R invoice are where inventory and accounting actually move; the incoming payment closes the loop and feeds bank reconciliation.

What each document does

Each step in the chain touches inventory, accounting, both, or neither. Knowing which is the key to reading the flow correctly.

DocumentInventory effectAccounting effectRequired?
OpportunityNoneNoneNo
Sales QuotationNoneNoneNo
Sales OrderMay commit stock (reserved, not yet shipped)NoneDepends
DeliveryReduces stockPosts COGS (if perpetual inventory on)Yes (if shipping physical goods)
A/R InvoiceNone (delivery already posted)Debit Customer / Credit Revenue + TaxYes
Incoming PaymentNoneDebit Bank / Credit CustomerYes
Bank ReconciliationNoneMatches bank statement to paymentYes (for closing books)

The single most important rule this table encodes: inventory moves at the delivery, not at the invoice. A company that bills without delivering has recognised revenue while its stock records still show goods it no longer holds.

Document status transitions

Every sales document moves through a small set of states. A quotation, an order, and a delivery all follow the same lifecycle, though an approval stage only appears when an approval procedure is configured for that document, value, or customer.

stateDiagram-v2
    [*] --> Draft: user creates
    Draft --> PendingApproval: approval rule triggered
    PendingApproval --> Open: approved
    PendingApproval --> Rejected: rejected
    Open --> Closed: fully delivered / invoiced
    Open --> Cancelled: user cancels
    Draft --> Open: no approval needed

An Open document still has work to do โ€” quantities remain to be delivered or invoiced. A document becomes Closed only when it is fully consumed by the next document in the chain, or when a user explicitly closes it. A Cancelled document is voided; unlike a deletion, a cancellation is preserved for audit.

Key business rules

Sales Quotation. A non-binding price offer to the customer. It reserves no stock and posts nothing to the ledger. It can be copied to a sales order in one step, and it expires after its validity date. Its purpose is to let a customer see a price before anyone commits.

Sales Order. The commitment to deliver. Depending on configuration it may commit (reserve) stock, which then shows as “committed” on stock reports even though the goods have not physically moved. A sales order cannot be deleted once a delivery is based on it โ€” it must be cancelled. It can be delivered in parts, so one order may spawn several deliveries.

Delivery. The physical shipment. It reduces inventory immediately and, when perpetual inventory is active, posts the cost of goods sold: debit Cost of Goods Sold, credit Inventory. The warehouse on each delivery line decides which stock location is drawn down. A delivery can consolidate lines from one or several sales orders.

A/R Invoice. The billing document โ€” the legal claim on the customer. It posts debit Accounts Receivable, credit Revenue, credit Tax Payable. It is normally based on a delivery (so it inherits already-shipped quantities), but for services it can be raised directly from a sales order with no delivery at all. An A/R Credit Memo reverses an invoice, returning stock and unwinding the receivable.

Incoming Payment. Records the customer’s money. It posts debit Bank/Cash, credit Accounts Receivable, and can be applied across one or many open invoices. A partial payment leaves the invoice open for the remaining balance.

The journal entries

Perpetual inventory means two of these steps post to the ledger automatically. A concrete example โ€” a โ‚ฌ1,000 sale of goods that cost โ‚ฌ600, at 17% VAT โ€” makes the pattern clear.

When: Delivery posted (perpetual inventory)

DR  Cost of Goods Sold                 600
CR      Inventory                              600
When: A/R Invoice posted for โ‚ฌ1,000 + 17% VAT

DR  Accounts Receivable (customer)   1,170
CR      Revenue                            1,000
CR      VAT Payable                          170
When: Incoming Payment of โ‚ฌ1,170 received

DR  Bank Account                     1,170
CR      Accounts Receivable (customer)     1,170

Read top to bottom, the three entries show inventory leaving the balance sheet as an expense, a receivable being created and revenue earned, and finally the receivable being converted to cash. Nothing is posted twice: the invoice does not touch inventory because the delivery already did.

Service invoice flow (no delivery)

Companies that bill time, subscriptions, or other non-stock services have no goods to ship, so the delivery step disappears entirely.

Sales Order (optional)
  โ†’ A/R Invoice directly     (no Delivery needed)
    โ†’ Incoming Payment

The A/R invoice is raised straight from the order (or from nothing), inventory is untouched, and only the revenue-and-receivable entry posts. On the invoice this is the difference between an Items document and a Service document.

Common mistakes in this flow

These are the errors that most often corrupt the sales records. Each one breaks the reconciliation the chain is designed to protect.

MistakeConsequence
Creating an A/R Invoice without a DeliveryInventory not reduced; stock count wrong
Wrong warehouse on the DeliveryStock reduced from the wrong location
Posting an Incoming Payment to the wrong G/L accountBank reconciliation fails
Re-keying Quotation โ†’ Order โ†’ Delivery by handData inconsistency, no traceability
Issuing an A/R Invoice before goods shipRevenue recognised too early

How Norma automates the flow

Norma treats this flow as two distinct kinds of work โ€” reading it and advancing it โ€” and holds them to different safety bars.

Reading the flow. Norma answers questions about the sales pipeline by calling read-only connector tools against the Service Layer. list_sales_orders, get_sales_order, list_deliveries, get_delivery, list_ar_invoices, get_ar_invoice, and get_order_backlog retrieve the documents and their status; get_order_to_cash_cycle measures how long the chain takes end to end; get_delivery_summary, get_revenue_monthly, get_revenue_quarterly, get_revenue_annual, and get_gross_margin roll the documents up into the numbers finance actually asks for. Because these tools only read, they run without a review gate โ€” an answer can never change SAP.

Advancing the flow. Creating a document is a write, and every write is gated. Norma drafts the payload for a step โ€” create_quotation, create_sales_order, create_delivery, create_invoice, create_ar_downpayment, or a corrective create_return / create_credit_memo โ€” and posts it to the connector, which targets the Service Layer create path /b1s/v1/<Docs> (for example /b1s/v1/Orders or /b1s/v1/DeliveryNotes). No such write reaches SAP until a human reviews and approves the drafted document. When Norma chains steps, it sets the base-document reference on each new document (BaseType / BaseEntry / BaseLine) so the order-to-delivery-to-invoice links are preserved exactly as a manual clerk copying documents forward would create them โ€” keeping the flow reconciled and fully traceable.