Running Wholesale and D2C on Shopify: One Inventory Pool or Two Systems

Danilo Mališić

Danilo Mališić

Founder, Adeocode · Aug 4, 2026

Here’s the moment this post is about. Your wholesale business is running: reps in the field, accounts on terms, a warehouse. Then you launch a D2C store on Shopify, and within a week the same product exists in two systems that don’t know about each other. A shirt sells online; your wholesale count doesn’t move. A 96-piece order ships to a resort; your webstore keeps promising stock you no longer have.

A brand distributor described the goal to us days after launching their store: “We’re looking for the easiest way to control our inventory in one place. If somebody buys a shirt online, it takes it out of my inventory. Somebody buys 96 pieces for a wholesale order, that inventory would be updated so our online shoppers see it reflected.”

One place. That’s the whole requirement, and it’s worth being precise about why the default toolset doesn’t deliver it.

Why the default stack splits the count

Shopify tracks inventory for Shopify. It’s excellent at it. But wholesale reality arrives from everywhere: reps sending orders in, accounts emailing POs, seasonal pre-books signed months ahead. Shopify’s native B2B narrows the gap on paper (free on every plan since April 2026, capped at 3 catalogs), but three price lists don’t model a negotiated account book, and none of it covers orders that never touch Shopify.

QuickBooks knows what was invoiced, eventually. It’s the books, not the shelf.

The multi-brand problem breaks the simple fixes: distributors often carry lines they’re licensed to sell wholesale but not D2C. Those products must live in the same pool (one warehouse, one count) while staying invisible to the store. Most sync apps have no concept of a channel right; the owner becomes the enforcement mechanism.

So the operation runs on Shopify plus QuickBooks plus a spreadsheet, and somebody reconciles the three. Usually the owner. Usually on a weekend.

The architecture that works: one pool, channels on top

The fix is a demotion. Shopify stops being a record-keeper and becomes what it’s best at: a sales channel. Same for every other order source. Underneath them sits one owned system of record:

  1. One live count per SKU. Warehouse stock, committed wholesale orders, webstore sales, all against the same number, updated as each event happens.
  2. Shopify syncs both directions through the API. Availability flows up to the store; sales flow back down. The store can’t oversell what a rep already committed, and vice versa.
  3. Wholesale orders enter where they actually originate: a rep portal, an office screen, or an import, with per-account pricing that isn’t capped at three catalogs.
  4. Channel rights per brand are a system rule. The store only ever sees what’s licensed D2C. No memory required.
  5. QuickBooks receives summaries. Your accountant gets clean transactions; your inventory math stops living in your accounting file.
  6. Purchase orders feed the same pool, which is also where real landed cost gets computed, since the POs, payments, and stock finally share a database.

None of this is exotic. It’s the architecture every large distributor runs, minus the ERP price tag and the ERP implementation year. The proof it scales down and up: we’ve built this shape for a retailer-distributor whose catalog now holds 1M+ SKUs with 99.7% POS sync accuracy verified across three locations, and as a phone-based barcode app for a five-person crew scanning stock in a warehouse with no cell signal. Same pattern, sized to the operation. The full breakdown is in our wholesale inventory guide.

Build vs stack, priced honestly

The subscription path to roughly this outcome: Shopify Plus for unlimited catalogs ($27,600-$30,000/yr), a multi-channel inventory SaaS ($200-$800+/mo as users and channels grow), connector apps, and you still own nothing and still don’t have channel rights per brand or your landed-cost math. Last verified 2026-08-04.

Our builds start at $25,000 flat: half up front, half on completion, 10% scope buffer, 60-day guarantee, and you own the code and the data. The honest counterweight, as always: a single-channel shop with a small account list should use free Shopify B2B and a $50 app and skip the build entirely. The build conversation starts when the channels multiply, the brands carry different rights, and the reconciliation weekends become a payroll line.

If that’s where you are, our inventory-systems page covers what a build includes, or book a discovery call and walk us through one order’s life from PO to sale. Bring your worst CSV. We mean it.

Danilo Mališić, founder of Adeocode

Talk to the founder

Bring us the workflow that doesn't fit

Every discovery call is with Danilo, who wrote this and builds these systems. He stays your contact through the whole engagement: no sales team, no handoffs. If the tools you already pay for cover it, he'll tell you that too, and the call costs nothing.

Partially. Shopify tracks stock for what sells through Shopify, and since April 2026 every plan includes basic B2B (capped at 3 catalogs). What it cannot be is the system of record for an operation where wholesale orders also arrive through reps, email, and EDI, where some brands cannot be sold D2C, and where stock sits in a warehouse serving both. Those businesses need one pool underneath Shopify, not more apps on top of it.

By demoting both channels from record-keeper to sales channel. One owned system holds the count per SKU; Shopify reads availability from it and reports sales into it through the API; wholesale orders (rep-entered, portal, or imported) decrement the same pool the moment they are committed. A webstore sale and a 96-piece account order hit the same number, so neither channel oversells what the other already moved.

This is the multi-brand distributor's quiet dealbreaker, and it is a rule, not a workaround: the pool tracks every brand, and each channel sees only what it is licensed to sell. The store never lists restricted lines; the wholesale portal shows accounts everything they are entitled to. That rule lives in the system instead of in the owner's memory at listing time.

QuickBooks stays the books; it should not be the inventory system. The pattern that works: the inventory system is the source of truth for stock and cost, and it feeds QuickBooks summarized transactions your accountant actually wants. Small distributors balancing between QuickBooks and Shopify are usually using two tools as half an inventory system each, which is why the counts never match.

Our inventory builds start at $25,000 flat, owned outright, with no per-seat, per-account, or per-channel fees. The subscription path stacks: Shopify Plus for unlimited B2B catalogs is $27,600 to $30,000 per year, and multi-channel inventory SaaS adds per-user and per-integration tiers on top. The build is a one-time number; the stack reprices you every year, forever. Last verified August 4, 2026.

You may like these

Shopify B2B Pricing in 2026: What's Free on Every Plan, What Still Needs Plus

Shopify B2B Pricing in 2026: What's Free on Every Plan, What Still Needs Plus

Jul 28, 2026

Since April 2026, Shopify includes core B2B features on every plan: up to 3 B2B catalogs, company profiles, payment terms, and volume pricing at no extra cost. The features wholesale operations actually grow into stay on Shopify Plus: unlimited catalogs, catalog assignment per company and location, and partial payments, from $2,300 per month on a 3-year term or $2,500 on 1-year. Here is where the 3-catalog wall hits real distributors, and the third option between the free tier and the $27,600-a-year one.

Read more
Landed Cost: The Formula, the Traps, and Why Your Margins Are Estimates

Landed Cost: The Formula, the Traps, and Why Your Margins Are Estimates

Jul 30, 2026

Landed cost is the true per-unit cost of an imported product: FOB price plus freight, duty, brokerage, insurance, currency conversion, and any royalties, all the way to your warehouse shelf. Most small importers calculate it in a spreadsheet once per order and never true it up, which means their margins are estimates. Here is the full formula, the two traps that break spreadsheet versions (exchange-rate timing and cost allocation), and what a real-time landed-cost setup looks like.

Read more
Inventory Software for Wholesale Distributors: When the Numbers Have to Match

Inventory Software for Wholesale Distributors: When the Numbers Have to Match

Aug 1, 2026

Wholesale distributors run inventory in at least three places at once: a warehouse, the accounts they sell into, and increasingly a direct e-commerce store. Retail POS apps and off-the-shelf inventory tools each cover one of those and lose the others, which is why somebody at every distributor spends a weekend a month reconciling. Here's the honest map of the options, and what a custom system built around one operation looks like: 1M+ SKUs, 99.7% POS sync accuracy, 10,000-row imports in under 3 minutes.

Read more
What Custom Field Service Software Actually Costs in 2026

What Custom Field Service Software Actually Costs in 2026

Jul 25, 2026

Custom field service software costs $5,000-$50,000 for a scoped, block-based build in 2026, while agency lump-sum quotes commonly land at $75,000 or more. Per-seat SaaS looks cheaper until you do the math: one 14-tech facility-maintenance vendor was quoted $57,000 per year, every year. Under roughly 10 seats with standard workflows, SaaS wins. Past that, owning the software usually pays for itself within two to three years.

Read more