NERD.
Join usLogin

The Accounting Problem Hidden in Endless Aisle

Endless aisle is a financial architecture problem disguised as a customer experience feature. Most retailers discover this too late.

Stijn Gepken
By Stijn Gepken · June 2026 · 11 min read
The Accounting Problem Hidden in Endless Aisle

Why does endless aisle break retail accounting and what does a correctly designed financial flow look like?

The answer is deferred revenue, transfer order design, and intercompany settlement: three accounting requirements that must be built in before go-live, not retrofitted after.

Endless aisle is a retail fulfilment model in which a customer pays in-store for goods that ship from a warehouse or alternate location, separating the moment of payment from the moment of fulfilment. That separation produces two compounding failures: a Timing Mismatch and a Location Mismatch that standard accounting systems are not built to handle together.

Key terms

  • Deferred revenue: A liability recorded at the moment of payment, representing an obligation the retailer still owes the customer, and released as revenue only when the goods ship and control transfers.
  • Transfer order: The financial and operational document that moves stock from a fulfilment location to satisfy a store sale, attributing inventory relief, cost basis, and intercompany settlement to the correct entity.
  • Performance obligation: Under IFRS 15 and ASC 606, the contractual commitment to transfer goods or services to a customer, the point at which that obligation is satisfied determines when revenue can legally be recognised.

The typical sequencing looks like this: commerce and operations teams wire up the logistics, configure the integrations, test the customer flow, and go live. Finance gets pulled in afterward to figure out the bookkeeping. That sequencing is the problem. The customer experience is seamless. The books, quietly, are not.

Timing Mismatch: Why Revenue Recognition Fails at Point of Payment

The first way endless aisle breaks standard accounting is at the moment of payment, before a single item has shipped.

Here’s the scenario. A customer walks into Store A. The product they want isn’t in stock locally. A sales associate places the order. The customer pays. Two days later, a warehouse ships the item to their home.

That two-day gap is where accounting falls apart.

At the moment of payment, the retailer hasn’t fulfilled anything. The goods haven’t shipped. Control hasn’t transferred to the customer. Under IFRS 15 (paragraph 38) and ASC 606-10-25-30, a performance obligation is satisfied only when control of the promised goods transfers to the customer, not at the moment of payment. Until the warehouse ships and the customer takes control, the obligation remains open and revenue recognition is prohibited.

Many retail systems, particularly those built around traditional POS, are wired to book revenue at payment. For a standard transaction that’s fine. The customer pays, takes the goods, and walks out. Endless aisle breaks that assumption. Payment and fulfilment are separated by days, sometimes longer, and systems built for the first scenario don’t automatically handle the second correctly.

The opposite problem is just as common. Many retailers recognise nothing in the books at the moment of payment and only post when the order ships or is fulfilled. That sounds more conservative, but it creates a different gap: the payment is sitting somewhere (a clearing account, a payment provider balance) with no corresponding liability on the books. Nobody owes the customer anything, on paper. When month-end arrives, someone in finance manually matches payments to shipments and clears the difference. It works at low volume. It doesn’t scale.

What should happen in both cases: payment triggers a liability (deferred revenue, sometimes called a contract liability or customer deposit). Revenue is only recognised when the warehouse ships and control transfers to the customer.

This matters more than it sounds. If you book revenue at payment, you’re inflating store revenue before the obligation is met. With a handful of orders, the error is small. At scale, or near month-end when open orders pile up, the P&L looks better than it actually is. Then the following month, when those orders ship, revenue dips unexpectedly. There’s no operational explanation. Auditors notice. And when they do, it’s not a quick fix. It requires restating months of entries and rebuilding the deferred revenue position from scratch.

The retailers who get this right treat deferred revenue as a first-class concept from day one. Not a workaround, not a manual month-end adjustment. A proper liability account that moves automatically based on order state transitions.

Location Mismatch: Which Entity Recognises What in an Endless Aisle Sale

Solving the timing problem exposes a second structural failure: the sale and the fulfilment happen in different places, and most accounting setups treat them as the same place.

In a traditional sale, one store sells, ships, and collects. Revenue, COGS, and inventory movement all sit in the same place. The accounting is clean.

In endless aisle, Store A takes the payment and owns the customer relationship. But Warehouse W (or Store B) is the one shipping the product and relieving inventory. Which entity recognises what?

If Store A and Warehouse W are within the same legal entity, it’s manageable. You don’t need intercompany postings, but you do need internal reconciliation to ensure store-level P&Ls are accurate. Without it, Store A looks highly profitable (it took payment but booked no COGS) while the warehouse looks like a cost centre that shipped goods against nobody’s revenue.

If they’re in different legal entities, which is common in multi-country retail, it gets considerably more serious. Warehouse W shipping goods to fulfil a Store A sale is an intercompany supply. That requires transfer pricing, intercompany receivables and payables, and a defined cost basis for the goods at the point of supply, not just at the point of customer sale.

Most retailers discover this six to twelve months after going live with endless aisle at scale. The symptom is a growing pile of unreconciled intercompany balances. Nobody wants to touch them because touching them means unwinding months of incorrect postings.

Endless Aisle Transfer Orders: The Financial Document Operations Teams Get Wrong

The transfer order is the primary mechanism that makes the entire financial flow traceable, and it must be designed as such from the start.

A transfer order is the financial bridge between the selling location and the fulfilment location. It’s the document that attributes inventory relief, maintains cost basis, and settles intercompany balances across every endless aisle transaction.

This is the part that surprises most finance teams: the transfer order (the document that moves stock from the warehouse to fulfil a store sale) is not just an operational record.

Without it, you’re reconstructing that story in a spreadsheet during audit season. With it, every event is linked: customer pays, stock moves, revenue recognises. An auditor can trace the order from payment through to COGS in a single thread.

The mistake retailers make is designing transfer orders for operations and hoping finance can work with whatever comes out. The financial logic (which entity, at what cost, with what settlement timing) needs to be designed in before the first order is placed. Once you’re live, the path back is painful.

Endless Aisle Returns: Why Financial Architecture Failures Surface at the Point of Reversal

Returns are the diagnostic test for whether the underlying financial architecture was built correctly. Every gap in the original design surfaces here, compounded.

Everything above stays invisible when the operation is running well. Returns are where the gaps surface.

Take an endless aisle order placed in Store A, shipped from Warehouse W, returned to Store C. In a properly designed setup, both the store and the warehouse recognise COGS: Store A through the sale, Warehouse W through the transfer order. On return, COGS needs to be reversed at Store A, the entity that made the sale and received payment. Not at Store C, which just happened to be the most convenient drop-off point.

Inventory is more nuanced. The goods land physically at Store C, but the financial ownership doesn’t automatically follow. There are different ways to handle this, and the right one depends on your setup. One clean approach is to receive the return against the original selling store first, keeping financial ownership tied to the transaction that created it, and then use a transfer order to move the stock to wherever it’s physically sitting. It’s the same logic as the original fulfilment, just in reverse. Other setups handle it through a direct receipt at Store C with a separate financial reconciliation. What matters less is which method you use and more that you’ve actually chosen one and designed it deliberately.

If the original order wasn’t modelled with full traceability, with each event linked to the order and each journal entry carrying the order ID and location context, none of this happens automatically. Every return becomes a manual investigation into where COGS should land and where inventory should go.

The retailers who’ve scaled endless aisle successfully approach returns not as an edge case but as a design requirement. The question isn’t “how do we handle returns when they come up?” It’s “can we trace this order end-to-end, in reverse, with clean accounting?” If the answer is no, returns will compound over time into a reconciliation backlog that nobody has the headroom to clear.

Three Accounting Design Decisions for Endless Aisle Retailers

If you’ve already gone live with endless aisle, or you’re about to, three structural decisions determine whether the accounting holds.

Recommendation 1: Establish deferred revenue as a system-driven liability, not a manual adjustment.

This means creating a formal liability account at the moment of payment, released automatically at fulfilment and not reconciled manually at month-end.

If revenue is booked at payment, it’s going into the P&L before the obligation is met. If it’s booked at shipment but nothing is posted at payment, you have an unbooked liability sitting in a clearing account somewhere. Either way, the fix is the same: a formal deferred revenue account that is created at payment and released at fulfilment, driven by system state rather than manual intervention.

Recommendation 2: Build end-to-end order traceability before you need it for an audit.

This means every order carrying a single traceable thread, from payment through inventory relief to COGS recognition, without requiring manual matching across systems.

Every order should be traceable from payment through inventory relief and COGS recognition in a single thread, without pulling data from multiple systems or matching manually. If that requires pulling data from more than one system and matching it manually, you have a traceability gap. That gap becomes expensive at audit time and makes month-end close slower than it needs to be. Finance teams end up reconciling what should be automatic.

Recommendation 3: Make transfer orders visible to finance, not just to operations.

This means every transfer order hitting the general ledger with the entity, cost basis, and settlement timing already defined, and not reconstructed after the fact.

If the fulfilment team is generating transfer orders that never hit the general ledger, the inventory cost basis your finance team sees may not match physical reality. This is particularly acute in multi-entity setups, where a transfer order not linked to an intercompany settlement creates a permanent reconciling item.

In summary

Deferred revenue must be created at payment and released at fulfilment by the system, not by a month-end journal entry. Every order must be traceable from payment through inventory relief and COGS in a single thread, without manual matching across systems. Transfer orders must carry financial logic: entity, cost basis, settlement timing, and hit the general ledger from the moment they are generated.

Why Finance Must Be Embedded in Endless Aisle Design and Not Consulted After It

The root cause of all the failures above is not technical, but rather organizational: finance is consulted on omni-channel projects rather than embedded in them.

The underlying reason most retailers end up here is that omni-channel projects are typically led by commerce or operations teams. Finance is consulted, not embedded. The questions that matter (when does control transfer, which entity recognises revenue, how are intercompany flows settled) get answered late, if at all.

This isn’t a criticism of how those projects are run. The customer experience is genuinely the right thing to focus on. But the accounting consequences of design decisions made early in the project are significant, and very hard to retrofit once the system is live and orders are flowing.

Endless aisle is not a fulfilment feature. It’s a financial flow that happens to have a customer experience attached to it. The retailers who treat it that way from the start, who involve finance in the design of transfer logic, revenue recognition triggers, and intercompany settlement before go-live, don’t end up with the reconciliation problems. The ones who treat accounting as a post-launch cleanup task do.

The good news: the problems are fixable. They’re just much cheaper to fix in design than in production.

Design Principle: If payment and fulfilment are separated by time, location, or legal entity, the accounting architecture must treat deferred revenue, transfer orders, and intercompany settlement as first-class design requirements, not post-launch corrections.

— Stijn Gepken

About the author

SG

Stijn Gepken

Product Owner at New Black

Your go-to specialist for all things Finance and Accounting, Stijn excels as the SME & Product Owner Finance & Control. From crafting "Cookbook recipes" for unified commerce scenarios to advising on tax integrations like Vertex and Avatax, he streamlines your operations. His expertise spans finance, retail, and IT, offering insights to optimize processes within the EVA platform. Whether navigating complex omnichannel accounting entries or enhancing financial efficiency, Stijn explores innovative solutions for your finance and accounting needs in EVA.

Related Notes

Foundations that hold, even when your cloud provider doesn't

Foundations that hold, even when your cloud provider doesn't

Mark Gerrits
Mark Gerrits · 14 min read
The Gesamtkunstwerk of Retail

The Gesamtkunstwerk of Retail

Albert Visser
Albert Visser · 4 min read
NRF 2026: Where Best-of-Breed Quietly Died

NRF 2026: Where Best-of-Breed Quietly Died

Albert Visser
Albert Visser · 1 min read
Explore All Insights