Retail and wholesale, one inventory

Order Management for B2B and DTC Hybrid Operations

Selling direct-to-consumer and wholesale from the same inventory? Vectis OMS handles both channels from the same inventory pool. Split shipments, bulk orders, unified inventory.

The Moment Everything Breaks

It’s 2 PM on a Tuesday. A retail buyer emails: “We’d like to order 500 units of your bestseller for our 12 stores.”

You check inventory. You have 600 units. Perfect.

You confirm the order.

By 5 PM, your Shopify store has sold 150 units to individual customers.

Now you have 450 units and a wholesale commitment for 500.

Someone is getting disappointed.

This is the B2B + DTC collision. And if you’re running both channels from the same inventory, it’s not a matter of if it happens—it’s when.

Why This Keeps Happening

The problem isn’t your team. It’s your tools.

DTC lives in Shopify. Orders come in automatically. Inventory decrements when you fulfill. It works great—for DTC.

B2B lives in… email? A spreadsheet? Your head? Orders come via phone, email, trade shows. Inventory is “whatever Shopify says minus what I think we’ve committed to wholesale.”

These two systems don’t talk to each other. So you’re constantly:

  • Checking Shopify before confirming wholesale orders
  • Mentally reserving inventory that isn’t actually reserved
  • Hoping nothing sells while you’re processing a big order
  • Apologizing to someone when the math doesn’t work out

What Unified Inventory Actually Means

In Vectis, there’s one inventory pool. Period.

DTC and wholesale orders draw on that one pool. There is no separate Allocate step: Vectis allocates stock to an order’s packages when they’re generated.

No mental math. No “let me check.”

The Tuesday Scenario, Fixed

2:00 PM — You have 600 units in Vectis

2:01 PM — Wholesale buyer emails for 500 units

2:02 PM — You create the order in Vectis. The order’s packages hold 500 units. 100 available.

Afterwards — Shopify shows 100 units once Vectis pushes the new available quantity to Shopify

Result: Wholesale order ships complete. DTC customers only see what’s actually available. Nobody gets disappointed.

Two Channels, Two Workflows, One System

DTC and B2B aren’t just different order sizes. They’re different businesses:

DTCB2B/Wholesale
Order entryAutomatic from ShopifyManual, email, phone, portal
Order size1-3 items50-5,000 items
PaymentCredit card, immediateNet 30/60, purchase orders
ShippingFedEx/UPS to homesFreight, pallets, to loading docks
PackingIndividual, gift-readyCase packs, pallets
TimelineShip todayShip when ready, partial OK

Vectis handles both order types from the same inventory. Freight booking and case-pack picking happen outside Vectis.

DTC Workflow

  1. Order syncs from Shopify automatically
  2. Inventory reserved
  3. Pick, pack, ship (individual items)
  4. Tracking syncs back to Shopify
  5. Customer notified

B2B Workflow

  1. Create the order by hand or import a CSV (API-client tokens are read-only on orders, products, and inventory today)
  2. Vectis generates the order’s packages automatically when the order is created or confirmed, and allocates stock to them as they’re generated (there’s no separate Allocate step). Generate Packages on the order page does it by hand when an order has none
  3. Pick and pack on the warehouse floor
  4. Rate-shop parcel services, or record a freight shipment’s tracking number by hand

Same system. Same inventory. Right workflow for each order type.

Features That Matter for Hybrid Operations

Invoices With PO Numbers and Payment Terms

Generate an invoice from an order; mark it sent, paid, or void; and download it as a PDF. The buyer’s PO number, payment terms such as Net 30, and a due date can be set through the API. Vectis doesn’t email invoices. Invoices are on every plan.

Partial Shipments

Wholesale orders don’t always ship complete:

Scenario: Customer orders 500 units. You have 300.

Options in Vectis:

  1. Wait until you have all 500
  2. Cancel the 200 you can’t fill, and ship 300 now

Each package gets its own tracking number.

Inventory Management

All channels share one inventory pool:

  • Shared pool — First come, first served across all channels
  • Automatic sync — Vectis pushes available quantities to Shopify when stock changes, with a scheduled re-sync as a backstop
  • One shared pool — There is no separate Allocate step: Vectis allocates stock to an order’s packages when they’re generated, from the same pool for every channel

Getting Started

Getting started:

  1. Connect Shopify — DTC orders flow in automatically
  2. Enter wholesale orders — Create them by hand or import a CSV (pushing them through the API needs write access, which API-client tokens don’t have today)
  3. Set carrier rules — On Pro and above, choose carriers by sales channel, order value or destination

No migration required. Start with new orders and build from there.

See Both Channels Working Together

We’ll show you:

  • How DTC and wholesale orders share inventory safely
  • How partial cancellations work for wholesale
  • How Vectis allocates stock to each order’s packages

Bring your specific scenarios. We’ll show you exactly how Vectis handles them.

Schedule a demo →


Common Questions

Can wholesale customers place orders directly?

Options include:

  • Manual entry by your team (phone, email orders)
  • API integration (connect your existing B2B systems)

What about EDI for large retailers?

Currently, EDI orders can be imported via CSV or API integration (API-client tokens are read-only on orders, products, and inventory today).

How do I prevent wholesale from eating all my DTC inventory?

With unified inventory, it’s first come, first served—whoever reserves inventory first gets it. Monitor inventory levels across channels and manage large wholesale orders proactively.

Can I have different return policies per channel?

Not today: Vectis doesn’t store return policies. On Growth and above you can record and receive returns from any channel in one place.

What if a wholesale customer also buys retail?

Payment terms and PO numbers sit on each invoice, so the same buyer can order retail through your store and wholesale on Net 30 terms.

Related Use Cases

Explore other scenarios where Vectis can help.

Ready to solve this challenge?

Try Vectis on your own orders with a 14-day free trial, no credit card. Or book a 30-minute call and we'll walk through your scenario.