Selling Wholesale Buying Wholesale
MapleSage
Line sheets

Wholesale Isn't DTC Checkout With Extra Fields

A wholesale buy is a season book with door terms, size curves, ATP, account pricing, minimums, ship windows, and a PO approval path. Bolting those onto a DTC cart as extra fields turns every order into a side negotiation that the checkout can't see.

Parvind Dutta ·6 October 2026 ·7 min read

A buyer's purchase order on a clipboard beside swatch cards, a sample sneaker, and a knit on a showroom counter, with a tagged sample rack behind

A purchase order on the showroom counter. Not a cart.

Somewhere in most wholesale roadmaps there’s a line that reads “enable B2B on the store.” It usually means the DTC checkout gets a login wall, a price list, a PO number field, a notes box for terms, and a minimum-order rule. The buyer can now “check out.” The desk calls it a wholesale portal.

Then the season starts, and every real order still happens in email, a spreadsheet, and a phone call. The portal takes the reorders nobody was worried about.

This follow-up sits on the spine: showroom → account-aware line sheet → quote → size/assortment → approved PO. Every piece in this series has put one commercial thing back on the sheet: the quote, the curve, door terms, availability, the season book. This one is about the shortcut that skips all of them, treating a wholesale buy like a consumer cart with a few more boxes to fill in.


The misuse

A DTC checkout is built for one person buying a few units, right now, at a public price, shipped to one address, paid on the spot. Every assumption in it is correct for that job.

A wholesale buy breaks every one of those assumptions:

  • The buyer is an account with doors, not a shopper with an address
  • The price is the account’s price, not the list price with a discount code
  • The quantity is a size curve across styles and colors, not “qty: 1”
  • The timing is a ship window and a cancel date, not “arrives Thursday”
  • Payment is door terms and dating, not a card at checkout
  • “Submit” is the start of an approval, not the end of a sale

Heads of wholesale know the pattern. The portal “works,” and yet:

  • Buyers place a cart, then email the real order because the curve didn’t fit
  • Account pricing lives in a price list that drifts from what sales actually agreed
  • Minimums block a legitimate split-door order, so someone overrides it by hand
  • Ship windows are typed into a notes field that nobody downstream reads
  • The PO number field gets filled, and ops still rebuilds the PO from the email

Extra fields don’t make a cart a wholesale order. They make a cart that hides the wholesale order in its notes.


DTC cart with extra fields vs a wholesale buy

What the order needsDTC cart with extra fieldsWholesale buy on the sheet
Who is buyingA login on a shopper accountAn account with doors, history, and terms
PriceList price, a B2B price list, or a codeThe account’s agreed price on the line sheet
QuantityUnits per SKU, one line at a timeSize curve and assortment per style, per door
Availability“In stock” todayATP for the ship window the buyer is booking
TimingShipping speedShip window, start ship, and cancel date
PaymentCard or invoice at checkoutDoor terms and dating on the same record
MinimumsA cart rule that blocks submitAccount and season rules the desk can see and work with
“Submit”Order placedQuote → approval → PO

The cart desk asks: did the buyer check out? The wholesale desk asks: is this the buy we agreed, for these doors, in this window, on these terms?

If the first answer is yes and the second still needs an email thread, the portal is a checkout, not a wholesale system.

Related: Your Quote Isn’t a Thread. Account-Aware Showroom. Size Curves on the Wholesale Sheet. The PO Is Not a Form. Door Terms Belong on the Sheet. ATP on the Buy. One Season Book Beats Five Spreadsheets. Full spine: The Wholesale Season Breaks When the Sheet Stops Being the System.


What a wholesale order actually has to carry

A wholesale order isn’t a cart with more inputs. It’s one account-aware commercial object that has to hold the whole deal before anyone calls it a PO:

  • The account and its doors: who is buying, for which stores, from the assortment they were shown
  • Account-specific pricing: the price sales agreed, not a list price minus a code
  • Size curves and assortment: units by style, color, and size, per door, at quote time
  • Availability for the window: ATP against the ship window being booked, not today’s stock
  • Ship windows and cancel dates: on the line, not in a notes box
  • Door terms and dating: the payment deal on the same record as the units
  • Minimums as rules the desk can see: by account and season, with a visible exception path instead of a blocked button
  • An approval path to the PO: quote, review, approve, then the PO, with one history

When those live in a cart’s custom fields, the checkout records them but can’t reason about any of them. When they live on the sheet, every team reads the same deal.


Why “enable B2B on the store” stalls

The DTC route looks fast because the store already exists. The cost shows up somewhere else.

It shows up when the biggest accounts never use the portal, because their orders don’t fit a cart. It shows up as overrides: minimums waived by hand, prices patched after submit, curves rebuilt in a spreadsheet. It shows up when finance finds the dating in a notes field after the goods have shipped. And it shows up in adoption reports where the portal handles plenty of small reorders and almost none of the season.

A wholesale portal that only takes the easy orders isn’t a channel. It’s a second inbox.


ICP framing

For mid-market AFL brands selling to retailers (roughly $10M to $250M wholesale), whether the order is a cart or a commercial object is an input to:

  • how much of the season the buyer can actually place without email
  • quote and PO fidelity on account pricing, curves, and terms
  • how many orders ops rebuilds by hand after “checkout”
  • whether finance sees dating and terms before the goods move

It isn’t a B2B app bolted onto the DTC store, a password-protected price list, or a PO number field on the payment page.

Heads of wholesale feel it every time a key account says, “I’ll just send you the order.”


Product proof note: the Retail-OS wholesale path

MapleSage Retail-OS treats a wholesale buy as its own path, not a checkout variant: showroom, account-aware live sheet, quote, size and assortment, door terms, availability for the window, and a gated PO approval. Account pricing, minimums, and ship windows sit on the same commercial object the buyer builds, so sales, ops, and finance read one deal.

See the buyer path: b2b.maplesage.com. Wholesale surface: www.maplesage.com/retail/wholesale/. Talk: go.maplesage.net.


What we won’t pitch

  • “Just turn on B2B in your store” as the wholesale fix
  • More custom checkout fields as a substitute for terms, curves, and windows
  • Competitor storefront or cart screenshots as the hero

Next step

If your wholesale portal is a DTC checkout with extra fields, stop measuring it by how many carts get submitted. Put account pricing, curves, availability for the window, ship dates, door terms, and the approval path on one account-aware order, or keep taking the real season by email.

go.maplesage.net


Parvind Dutta

Founder of MapleSage. Twenty years in insurance technology — AIG, Prudential, MetLife, Duck Creek — now building the systems he used to sell.

Keep reading