Order

What Is an Allocation Rule in Apparel and How to Write One That Holds Up

What Is an Allocation Rule in Apparel and How to Write One That Holds Up
By Isabelle Feyerabend · Reviewed by Lalith Nandan Kalava · · 10 min read

It is Tuesday morning at a $20M apparel brand. A wholesale CSR is on the phone with a specialty boutique buyer who placed a PO six weeks ago for 240 units of a core style, ship window opening Friday. The warehouse pick list shows 180 units on hand. Meanwhile, the DTC team just ran a Klaviyo flow on that same style and sold through 90 units overnight. Nobody decided that. The system simply gave units to whoever’s order touched the inventory record last. The CSR is now writing an apology email, the buyer is calculating a chargeback, and the planner is opening a spreadsheet to figure out what just happened. This is what missing allocation logic looks like in motion.

What is an apparel allocation rule and why does wholesale need one?

An apparel allocation rule is a written, system-enforced policy that decides which order, channel, or account gets a specific unit of inventory when supply is constrained or contested. It governs the moment between order capture and pick confirmation, and it answers four questions: which channel has priority, which account or order type within that channel has priority, what triggers a release of held units back to the general pool, and what the system does when a higher-priority order arrives after a lower-priority one has already been allocated.

The phrase apparel allocation rule wholesale gets typed into search bars because wholesale is where the absence of a rule first becomes expensive. DTC oversell creates refunds and a bad customer experience. Wholesale oversell creates EDI 870 cancellation notices, chargebacks, and a retailer relationship problem that compounds across seasons. The two failure modes do not weigh the same on the P&L.

This is squarely Breakpoint 4 in the 6 Breakpoints of Apparel Operations framework: order flow becomes harder to trust. Breakpoint 3 (inventory truth getting weaker) is the upstream cause. Breakpoint 4 is where the business actually feels it, because orders start promising things the warehouse cannot deliver.

Why do most apparel brands not have a real allocation rule?

From the training rooms I lead each month, the pattern is consistent: brands in the $10M to $20M range usually have an allocation policy in someone’s head, often the planner or the head of operations, and that policy is enforced manually through Slack messages, spreadsheet flags, and weekly meetings. It is not in the system. The order management tool, the B2B portal, and the storefront all share the same inventory number, but none of them know who that inventory is for.

Three reasons this persists. First, the brand grew up DTC-first and added wholesale, so the inventory architecture was designed for one channel and patched for the second. Second, the team has been operating on enough buffer stock that allocation conflicts felt rare, until a tight season or a hero style exposed it. Third, nobody owns the rule. Planning thinks ops owns it, ops thinks the system owns it, the system owns whatever the last person clicked.

A $15M brand running wholesale plus DTC plus a 3PL typically loses 6 to 9 hours per week reconciling inventory across Shopify, the 3PL, and the wholesale book, and runs a 2 to 3 percent oversell rate at peak. A meaningful share of that oversell traces back to the absence of a written allocation rule. The reconciliation hours are the symptom. The missing rule is the cause.

What does a written allocation rule actually look like?

A durable allocation rule has five components, and all five have to live in the order system, not in a deck.

The first component is channel priority. You decide, by style category or by SKU class, which channel sees the unit first. Core wholesale program goods often get wholesale priority because retailers signed contracts. Fashion drops and exclusives often get DTC priority because margin is higher and brand control matters. There is no universally correct answer. There is a correct answer for your brand, and it has to be written down.

The second component is account or order tier within a channel. Inside wholesale, a major department store with a strict ship window and chargeback schedule is not the same priority as a specialty boutique with a flexible cancel date. Inside DTC, a VIP loyalty customer with a pre-order deposit is not the same as a cart placed on a flash sale. The rule has to name the tiers.

The third component is the trigger event for allocation. Some brands allocate at order capture (every PO line locks units immediately). Others allocate at a scheduled cut, for example every Monday at noon for the week’s ship windows. Pre-order brands allocate at the start of the ship window, not at the order date. Drop brands allocate at the moment of order confirmation because there is no second chance.

The fourth component is the release rule. Allocated units that are not picked within a defined window have to flow back. Wholesale POs past their cancel date should release automatically. DTC orders unpaid past authorization should release. Without a release rule, your committed pool inflates over time and your available-to-sell shrinks for no good reason.

The fifth component is the exception path. There is always one. A buyer calls in, a retailer asks for a partial early, a celebrity orders something out of band. The rule has to specify who can override and what is logged when they do. Without this, every exception becomes a precedent, and within two seasons the rule no longer means anything.

How do you actually enforce this in an order system?

The enforcement mechanism is channel-aware available-to-sell. A single inventory number broadcast to every channel cannot enforce an allocation rule because every channel sees the same pool and races to claim from it. What you need is separate ATS pools per channel, with the totals reconciling to the on-hand number but each pool gated by the rule.

When I am running a config session with a new customer, this is usually the part where the room gets quiet, because the team realizes that their Shopify product feed has been showing total on-hand the entire time, including units sitting on retailer POs that have not shipped yet. That is why DTC oversells the week before a wholesale ship window opens. The storefront thinks 400 units are available. The warehouse knows 320 are spoken for.

The architectural fix is to compute DTC ATS as on-hand minus wholesale committed minus safety stock, and push that number to the storefront. Wholesale ATS is computed against its own committed pool. The B2B portal sees a different available figure than the storefront, by design, because they are pulling from different pools governed by the same rule.

This is also where the 3PL relationship matters. The 3PL knows physical on-hand. It does not know commitments. If your allocation logic lives only in the 3PL’s WMS, you cannot enforce channel priority because the WMS does not know which channel an order belongs to until it lands. The allocation rule has to live in the order management layer, upstream of the WMS, and the WMS receives picks that already respect the rule.

What POV holds up across seasons?

Wholesale should not run through Shopify’s native flow. Shopify is a storefront engine. It does not understand cancel dates, ship windows, EDI 850 acknowledgments, or chargeback schedules. Brands that try to manage wholesale through Shopify’s order graph end up bolting a B2B portal on top, and that portal shares the storefront’s inventory record, which is precisely how allocation breaks. The wholesale book belongs in a system that treats POs as first-class objects with ship windows, cancel dates, and account-level terms, and that exposes its own ATS to the B2B portal.

The corollary: if your wholesale chargebacks exceed 1 percent of wholesale revenue, the problem is not your warehouse. It is the absence of an enforced allocation rule and the EDI integration that should be confirming what the rule promised. The warehouse is picking what the system told it to pick.

How do drops and pre-orders change the rule?

Drops compress the timeline. Magnolia Pearl runs the kind of drop and same-day fulfillment pattern where allocation has to resolve in minutes, not in the next planning cycle. The rule for drop styles is usually simpler and stricter: DTC gets the drop, wholesale gets allocated from a separate production run or a held quantity, and the system blocks cross-channel borrowing entirely. The complexity is not in the rule, it is in making sure the production data, the PIM, and the order system all know which SKUs are drop SKUs before the drop goes live.

Pre-orders introduce a different problem. The unit physically does not exist yet. The rule has to allocate against an expected receipt date, and it has to handle the case where the receipt slips. A clean pre-order allocation rule ties each pre-order line to a specific PO from the factory, with the expected in-DC date, and reallocates automatically if that date moves. Without that linkage, a factory delay turns into a customer service queue.

How do multi-brand and multi-entity wholesale operations complicate this?

Lufema runs the multi-brand, multi-entity wholesale pattern, and the allocation rule there has to respect entity boundaries before channel boundaries. A unit owned by Entity A cannot be allocated to fulfill an order on Entity B’s books without an intercompany transfer that the finance team has to recognize. The rule has to be entity-aware first, channel-aware second, account-aware third. Brands that try to flatten this into a single pool create a tax and audit problem on top of the operational one.

The B2B portal layer adds another wrinkle. If a buyer logs into a portal that shows multiple brands, the ATS they see has to be computed per brand, per entity, per their account tier, in real time. A portal that shows stale or pooled inventory will be sold against incorrectly within a day.

What this means for an apparel operations team

If your team is reconciling inventory in spreadsheets for six or more hours a week, the work you are doing is the symptom of a missing allocation rule. The reconciliation exists because nobody trusts the inventory number, and nobody trusts it because the channels are pulling from the same pool without governance. Writing the rule is a planning and ops decision. Enforcing it is a systems decision. Both have to happen.

The practical sequence is: write the rule with planning, ops, and the wholesale lead in the room, including the exception path and who can authorize it. Then map the rule onto channel-aware ATS pools in the order system. Then turn off the legacy inventory feed that was broadcasting total on-hand to every channel. The last step is the one most brands skip, and it is the one that makes the rule actually hold.

The brands that get this right stop having the Tuesday morning conversation described at the top of this post. The CSR knows what the buyer’s PO is allocated against before the call. The planner knows which units are free. The DTC team knows what they can promote without cannibalizing a ship window. That is what clarity looks like at Breakpoint 4.

6 Breakpoints Framework

Where is your operation on the 6 Breakpoints curve?

The assessment scores your apparel operation across all six breakpoints (product data, production, inventory truth, order flow, warehouse execution, reporting) and identifies which one is hurting you most.

Frequently asked questions

I
Written by
Isabelle Feyerabend
Customer Success and Onboarding Manager, Uphance

Isabelle writes about onboarding, workflow enablement, and how apparel teams build confidence in connected operations during rollout and beyond.

L
Reviewed by
Lalith Nandan Kalava
Senior Product Manager, Reporting and Operational Analytics, Uphance

Lalith writes about operational reporting and analytics for apparel brands, covering how connected data across inventory, orders, fulfillment, and warehouse execution translates into reporting that supports real decisions.

More from the blog