In plain words
An online retailer ships orders near year end; some arrive after the reporting date. Revenue timing follows when control passes, not a policy choice. If control passes on delivery, shipping is part of fulfilling the sale: nothing is recognised at dispatch, cash received is a contract liability and goods stay in inventory. If control passes at dispatch, later delivery is usually a separate service with its own price share.
Why it matters
E-commerce retailers routinely charge (or waive, above a free-shipping threshold) delivery fees, and under IFRS 15 the accounting follows from when control of the goods transfers, not from a policy choice: if control passes only on delivery, shipping is a fulfillment activity performed before the customer obtains control, and the whole transaction price (including any shipping fee) is recognized when control transfers on delivery; if control passes at dispatch, the delivery service performed afterwards is a promise to the customer that must be assessed for distinctness and is usually a separate performance obligation recognized as delivery is performed. Unlike US GAAP, IFRS 15 offers no accounting policy election to treat shipping after control transfer as a fulfillment cost. This conclusion directly affects the cutoff of revenue and cost of sales at period end for any goods dispatched but not yet delivered, which is common with the last few days of shipments straddling a reporting date. Getting this wrong is a classic cutoff error: recognizing revenue on dispatch (rather than delivery, where control passes on delivery) for goods still in transit at year-end overstates current-period revenue and understates the following period's revenue, and simultaneously misstates inventory (goods in transit should still be inventory, not cost of sales, until delivery). Because e-commerce order volumes are high and near-continuous, even a control-transfer conclusion that is correct in principle can be applied inconsistently in practice without a systematic transit-tracking process tied to the reporting cutoff date.
Diagnostic questions
Has the entity assessed, on the facts, when control of the goods transfers and, where control transfers at dispatch, whether the delivery service performed afterwards is a separate performance obligation (IFRS 15 has no policy election to treat it as a fulfillment cost)? When does control of the goods actually transfer to the customer: on dispatch (FOB shipping point) or on receipt (FOB destination)? Is free shipping being treated as requiring an implicit allocation of transaction price, or is a delivery cost accrual being missed entirely?
Recognition
- Determine when control of the goods transfers to the customer, considering the shipping terms and the indicators of control (legal title, physical possession, who bears the risk of loss in transit, customer acceptance, present right to payment); this is a judgment on the facts, not an accounting policy election.
- If control transfers on delivery, shipping and delivery are activities performed before the customer obtains control and are fulfillment activities, not a separate performance obligation: the entire transaction price (goods plus any shipping fee) is recognized as revenue when the customer obtains control on delivery.
- If control transfers at dispatch (shipping-point terms where the customer bears the risk of loss in transit), recognize revenue for the goods at dispatch and assess the delivery service performed afterwards as a promise to the customer: if it is distinct, which is usually the case, it is a separate performance obligation, so allocate a portion of the transaction price to it and recognize that portion as the delivery service is performed. Unlike US GAAP, IFRS 15 has no policy election to treat shipping after control transfer as a fulfillment cost; not separating it is acceptable only where the effect is evidenced as immaterial.
- Where control transfers on delivery, do not recognize any revenue (goods or shipping) at the point of dispatch - hold the full amount received/receivable as a contract liability until delivery is confirmed.
- In that case, reclassify inventory dispatched but not yet delivered as 'inventory in transit' (still an asset of the retailer, not cost of sales) until delivery, at which point cost of sales is recognized to match the revenue recognition; where control transfers at dispatch, the goods are derecognized and cost of sales recognized at dispatch.
- At period end, identify all orders dispatched but not delivered as of the cutoff date (using courier tracking/proof-of-delivery data) and ensure revenue, cost of sales, contract liabilities and inventory in transit are correctly stated as of that date - this is a recurring, not one-off, reconciliation given continuous e-commerce shipping volume.
- For free-shipping-threshold orders, remember that 'free' shipping is not actually free from an accounting perspective where delivery is a separate performance obligation - a portion of the transaction price must still be allocated to the implicit delivery service based on its standalone selling price, even though no incremental cash is charged to the customer.
Measurement
Where control transfers at dispatch and the delivery service is a separate performance obligation, allocate a portion of the transaction price to it based on its relative standalone selling price (even when advertised as 'free', an implicit allocation is still required unless the amount is immaterial), and recognize that allocated amount as revenue as the delivery service is performed. Where control transfers on delivery, shipping is a fulfillment activity (not separate): the entire transaction price is measured and recognized as a single amount of revenue when control transfers on delivery - no separate shipping revenue line is needed. Inventory in transit is measured at the same carrying amount (cost) it had before dispatch; do not step up its value or treat it differently from warehouse inventory. Any estimate of goods in transit at period end (for cutoff purposes) should be based on actual dispatch and delivery-confirmation data (e.g., courier tracking systems) rather than an average-day estimate, to the extent practicable given transaction volume.
Presentation & disclosure
Disclose: the accounting policy for shipping and delivery activities, including whether delivery is treated as a separate performance obligation or as a fulfillment activity based on when control of the goods transfers, and the resulting timing of revenue recognition (dispatch, delivery, or another point); disaggregation of revenue by timing of recognition if shipping is treated as a distinct obligation and material; the balance of contract liabilities for undelivered goods (dispatched but not yet delivered) at period end, and the amount of revenue recognized in the period that relates to amounts included in the opening contract liability; the amount and classification of inventory in transit within total inventory, if material and separately tracked; a description of shipping terms (e.g., FOB shipping point vs. destination) used to determine the point of control transfer; any significant judgments applied in concluding when control transfers for online sales.
Common mistakes
- Applying a US GAAP-style policy election to treat delivery performed after control transfers as a fulfillment cost, instead of assessing it under IFRS 15 as a promise to the customer that is usually a separate performance obligation
- recognizing revenue at dispatch for all online orders regardless of when control actually transfers, ignoring goods still in transit at period end (a common and material cutoff error for high-volume e-commerce)
- failing to allocate any portion of the transaction price to '
- free'
- shipping when it is in substance a separate performance obligation, understating the shipping obligation
- expensing outbound freight/delivery cost immediately as incurred even when the related revenue has been deferred to a later delivery date (cost/revenue mismatch)
- not reclassifying dispatched goods from regular inventory to '
- inventory in transit'
- or otherwise failing to distinguish which inventory relates to undelivered online orders
- applying different cutoff treatment inconsistently between in-store pickup/click-and-collect (control typically transfers at pickup) and home-delivery orders without a clear, documented policy for each channel
- ignoring the need for a systematic, date-stamped process to track dispatch and delivery timestamps, instead relying on manual/ad hoc estimates that are unauditable at period end.
Simple example
An online retailer dispatches a SAR 400 order with free shipping (no separate shipping fee charged) on the last day of the reporting period; the customer receives the goods 3 days later, in the following period. Under the terms of sale the retailer bears the risk of loss in transit and the customer obtains possession only on receipt, so control transfers on delivery, not dispatch; shipping is therefore a fulfillment activity performed before control transfers, not a separate performance obligation. The goods have a cost of SAR 250. Journal entry at dispatch (period-end, control not yet transferred): Dr Cash/Receivable 400 Cr Contract liability - undelivered goods 400 Dr Inventory in transit 250 Cr Inventory 250 Journal entry at delivery (following period, control transfers): Dr Contract liability - undelivered goods 400 Cr Revenue 400 Dr Cost of sales 250 Cr Inventory in transit 250 (Both entries balance; no revenue or cost of sales is recognized in the period of dispatch. If control had instead transferred at dispatch, goods revenue and cost of sales would be recognized at dispatch, and the delivery service, usually a separate performance obligation, would receive an allocation of the SAR 400 based on relative standalone selling prices, recognized as delivery is performed.)
Professional judgment
The core judgment is when control of the goods transfers, because that determines the accounting: if control transfers on delivery, shipping is a fulfillment activity; if control transfers at dispatch, the delivery service performed afterwards is a promise to the customer that must be assessed for distinctness and is usually a separate performance obligation. Unlike US GAAP, IFRS 15 offers no accounting policy election to treat shipping after control transfer as a fulfillment cost; the conclusion follows from facts and circumstances (e.g., the shipping terms and who bears the risk of loss in transit, and whether the retailer performs delivery as principal or arranges a third-party carrier as agent, which affects whether shipping revenue is presented gross or net), and similar transactions should reach consistent conclusions rather than being decided case-by-case. A related judgment is precisely when control transfers under the shipping terms used (shipping-point vs. destination-point terms, and how these interact with local delivery practices and Incoterm-style conventions in a Saudi e-commerce context) - this determines the cutoff line and can differ from the point cash or a receivable is recognized. Materiality is also a judgment: a retailer may conclude that near-continuous shipping volume with short (1-3 day) transit times makes the in-transit cutoff adjustment, or the separate allocation to a delivery obligation, immaterial in aggregate, but this needs to be evidenced with actual data (e.g., average transit days x average daily dispatch value) rather than assumed, especially where transit times lengthen around peak seasons (e.g., extended delivery windows during major sale events).
Source basis
IFRS 15 · Revenue from Contracts with Customers
Paragraph references
Verified against the official standard texts used in the IFRS Expert skill.
Related issues
Educational and navigation content only. Not professional advice. Does not reproduce official IFRS/IAS text. Consult the authoritative standards and qualified professionals; professional judgment may still be required.
