SAP SD
Deliveries and Goods Issue: Fulfillment Events and Revenue Timing
How deliveries and goods issue in SAP SD drive fulfillment in SAP RAR, and how to align fulfillment events with transfer of control under ASC 606.
For product sales, the question "when do we recognize revenue?" usually becomes "which event in SD tells us that control has passed?" Goods issue is the obvious candidate, and in many cases the right one. But ASC 606 does not recognize revenue at shipment by default. It recognizes revenue when the customer obtains control. SAP Revenue Accounting and Reporting (RAR) lets you choose which SD event fulfills a performance obligation, and that choice should follow your contracts, not your logistics process.
What ASC 606 Asks for
For performance obligations satisfied at a point in time, ASC 606-10-25-30 lists indicators that control has transferred:
the entity has a present right to payment;
the customer has legal title;
the entity has transferred physical possession;
the customer has the significant risks and rewards of ownership;
the customer has accepted the asset.
No single indicator decides on its own. Shipping terms, acceptance clauses, and consignment or bill-and-hold arrangements all influence the answer. The accounting policy comes first; the system configuration implements it.
How SD Events Reach RAR
When an outbound delivery is goods-issued, SD posts the stock change in financial accounting and creates a fulfillment item for RAR. Typically, these items appear as revenue accounting item class SD02 with source item type SDFI. At the next transfer run, the fulfillment updates the performance obligation, and the revenue posting run recognizes revenue.
Two details matter for timing:
Quantities. For goods issue-based fulfillment, RAR uses the actual goods issue quantity as the fulfillment quantity. Partial deliveries therefore produce partial revenue, obligation by obligation.
Dependency on the order. A fulfillment item can only be processed when its order item is processable. If the order is stuck in raw status, the delivery is too, and revenue is missing at period end even though goods have left.
Choosing the Fulfillment Event
In RAR, the performance obligation type defines whether fulfillment is event-based or time-based. For event-based obligations, the event type that triggers fulfillment is set in Customizing. Documented SD-based scenarios include:
Goods issue. Revenue and cost are recognized when the goods issue is posted. Typical for shipping-point terms where control passes at shipment.
Customer acceptance date. The acceptance date is entered on the sales order; saving the order triggers the fulfillment event. Suitable where contractual acceptance is substantive.
Customer invoice. The obligation is fulfilled when the invoice is posted. Useful in specific scenarios, but it should reflect transfer of control, not convenience.
Proof of delivery. Fulfillment based on proof of delivery is an option for cases where control passes on receipt; availability depends on release and configuration.
Time-based obligations, such as an extended service period that starts with delivery, are fulfilled over a period rather than at a single event.
The common mistake is to configure goods issue everywhere because it is the default event in logistics. If your terms say control passes at the customer's site, goods issue is too early.
Shipping and Handling
US GAAP offers a specific policy election here, introduced by ASU 2016-10. Shipping and handling performed before the customer obtains control is a fulfillment activity. Shipping and handling performed after control has passed can, as an accounting policy election under ASC 606, be treated as a fulfillment activity rather than a separate promised service. The election must be applied consistently.
In SAP terms, the election determines whether freight becomes its own performance obligation in RAR or remains part of the product obligation, with freight costs accrued when control transfers. Decide this before you design item categories and freight conditions.
When Goods Issue and Invoice Fall Apart
Delivery and billing rarely happen at the same moment. RAR handles the gap at period end:
If revenue has been recognized but not yet invoiced, RAR posts a contract asset or unbilled receivable, depending on configuration.
If invoicing precedes fulfillment, the excess is presented as a contract liability or deferred revenue.
For cost, the goods issue posts COGS in logistics, which RAR then corrects into deferred cost and releases together with revenue. This keeps margin aligned with the fulfillment event you chose.
Cutoff and Controls
Revenue timing at period end is a classic audit focus. With RAR, cutoff depends on:
goods issue dates and acceptance dates being posted in the correct period;
fulfillment items being transferred and processed before the revenue posting run;
raw items being cleared before closing.
Document these as SOX controls over revenue cutoff, with clear owners in logistics and finance.
Human-Governed Automation
Matching deliveries, acceptance evidence, and fulfillment events at period end is detailed, repetitive work. In our Agentic Finance approach, agents reconcile open deliveries against fulfilled obligations and flag mismatches, while revenue accountants decide. The same RAR foundation also supports lessor leasing under ASC 842 and IFRS 16 without additional software, where the commencement of a lease follows its own event logic.
Related Articles
The Bottom Line
Goods issue is a convenient fulfillment event, but ASC 606 asks when control transfers. Choose the fulfillment event per performance obligation type based on your contract terms, decide the shipping and handling election early, and build cutoff controls around the SD events that drive RAR. Then revenue timing follows your contracts, not your warehouse calendar.
Aligning SD fulfillment events with ASC 606 in SAP RAR? Talk to our experts.
SAP SD
From Sales Order to Revenue Contract: How SD Feeds SAP RAR
How SAP SD sales orders, deliveries, and invoices become revenue accounting items and revenue contracts in SAP RAR, and what to design for.
Read article →
SAP SD
SD Pricing Conditions and Their Mapping to RAR
How SAP SD pricing conditions become the transaction price, standalone selling price, and cost in SAP RAR, and the pricing pitfalls to avoid.
Read article →
Ready to Make Your SAP Finance Landscape Agentic?
Whether you are implementing SAP RAR, modernizing revenue processes, or exploring agentic finance operations, Revident helps you move from strategy to execution.