Compare
The B2B layer, compared honestly
sku.io, Shopify B2B, Zoey, and Cin7 Core do different jobs, and pretending otherwise helps nobody. Here's the same table we'd draw on a whiteboard — including the rows where a competitor is simply better today.
Order-capture layers
Shopify B2B and Zoey are buyer-facing selling layers: logins, catalogs, buying rules, checkout. Both expect an operations system behind them — Zoey's own docs route inventory truth to an external IMS or ERP.
The operations ledger
sku.io is that system: one inventory pool across every channel, purchasing, landed cost, per-order margin, accounting. Reps sell from it directly; a storefront fronts the buyers who self-serve.
Both, with caps
Cin7 Core bundles an inventory platform and a portal add-on in one vendor. The trade-offs live in its own docs: 10 price tiers, per-portal catalogs, %-only discounts, quotes that don't reserve stock.
| Capability | sku.io | Shopify B2B | Zoey | Cin7 Core |
|---|---|---|---|---|
| What it is | Native The operations ledger: inventory, orders, purchasing, accounting, margin — with rep-driven B2B selling built in. | Native A wholesale storefront layer on your Shopify store — buyer-facing order capture. | Native A dedicated B2B storefront and order-capture portal — the deepest buyer-facing layer here. | Native An inventory platform with a B2B portal sold as a per-portal add-on. |
| Company / customer accounts | Partial Customer records with payment terms, defaults, order history, store credit, house accounts, card-on-file. No buyer login yet. | Native Companies with locations, per-location tax IDs and terms. Two buyer roles: ordering only, or location admin. | Native Accounts → contacts → locations with configurable roles and an order-approval workflow, organized into customer groups. | Partial Customers with tags; buyer logins exist only inside the portal add-on. |
| Price lists / tiers | Native Pricing tiers including relative tiers — % off a base price, or built up from supplier cost or attributes. Multi-currency. | Native Catalogs with fixed prices or % adjustments. Company-scoped catalogs need Plus; other plans scope per market, 3 catalogs max. | Native Group pricing, account-specific pricing, and quantity step pricing that stack — buyer gets the lowest eligible price. | Partial Hard cap of 10 price tiers. Per-customer custom prices and a discount matrix via CSV; customer discounts are %-only. |
| Minimum order value | Not native Not native on the sell side today — scoped custom work. | Not native Not native; Shopify’s docs point to third-party checkout apps. | Native Native — store-wide and per customer group. | Partial Per portal, not per customer. |
| Quantity rules — min/max, case increments | Not native Case packs exist in purchasing and planning; sell-side increment rules aren’t native — scoped custom work. | Native Native per variant: minimums, maximums, case-pack increments, plus up to 10 quantity price breaks. | Native Native: min/max quantities, increments per customer group, and package ordering with case/pallet/crate labels. | Partial Min/max quantity per product per portal. Pack sizes are separate unit-of-measure SKUs; no order-in-multiples rule. |
| Restrict catalog per customer | Not native Not native — tiers control what a customer pays, not what they can see. | Partial Catalogs include/exclude products. Company-level scoping needs Plus; other plans scope per B2B market. | Native Native down to category and product, per group, account, location, or individual contact. | Partial Per portal only — each customer segment with a different catalog needs its own paid portal license. |
| Quotes | Native Quote → PDF with optional stock reservation on send, valid-until auto-release, price-locked conversion, discount approvals. | Partial No quote object — draft orders with price lock and a submit-for-approval checkout setting. | Native Full lifecycle: statuses, auto-expiry with reminders, buyer-side conversion to order. | Partial Quote converts to order, but quotes never reserve stock and no expiry date is documented. |
| Net terms & credit limits | Partial Payment terms per customer flow through to QuickBooks/Xero due dates. Credit limits aren’t native yet. | Partial Net 7–90 with vaulted cards and pay-now; deposits need Plus. Credit limits not documented. | Native Net terms with early-pay discounts and late fees, plus credit limits that block ordering when exceeded. | Native Terms per customer plus credit limits with automatic credit hold on overdue invoices. |
| Buyer self-service portal | In development In development. Today the pattern is Shopify B2B or Zoey in front, sku.io behind. | Native Passwordless login, location switcher, order history, reorder, pay invoices early. | Native Full portal: orders, quotes, invoices with pay-now, saved payment methods, buyer-managed contacts. | Partial Portal add-on, licensed per portal: buyer logins, CSV quick order, reorder, order history. |
| Sales rep workflow | Native Reps managed and assigned to customers and orders in the same system the warehouse and purchasing run on. | Partial Reps are admin staff creating draft orders; permission scoping covers some admin pages, not all. | Native Mobile app for reps: write orders offline, scan barcodes, take payments. | Partial Reps can order in the portal for allocated customers; commission is a single percentage per rep. |
| EDI | Via partner Through EDI partners, scoped per trading partner — typically a few weeks each. | Not native Not in Shopify’s documentation; third-party apps and iPaaS only. | Not native “Zoey is not an EDI provider” — their words. You integrate a VAN against their API. | Via partner Core uses partner integrations (SPS, Crstl). Native retailer EDI is Cin7 Omni only. |
| Multi-channel inventory & allocation | Native The core of the product: one pool across Shopify, Amazon, Walmart, TikTok Shop, Faire, FBA, and 3PLs — reserved orders draw against incoming POs. | Not native Marketplace Connect app syncs listings and orders; no allocation logic across channels. | Not native Order-capture inventory only; Zoey’s docs point at an external IMS/ERP for the backbone. | Native Native channel integrations, capped per plan (2/4/6); available = on hand − allocated. |
| Landed cost, FIFO COGS, per-order margin | Native FIFO layers, landed cost, and reconciled channel fees roll up to a contribution margin on every order. | Not native A single static cost-per-item field; Shopify’s docs route landed cost and weighted costing to apps. | Not native No COGS or margin reporting; costing is delegated to your accounting system. | Native A real costing ledger: FIFO/FEFO, batch and serial, landed cost allocation. |
| Accounting sync | Native QuickBooks/Xero with discounts, buyer PO numbers, and real due dates — a double-entry inventory ledger underneath. | Not native Third-party apps. | Native First-party QuickBooks Online connector, plus NetSuite, Sage, Xero, Dynamics. | Native Native two-way Xero and QuickBooks Online with transaction consolidation. |
| Published pricing | Native From around $1,000/mo, everything included — no onboarding fees, no per-integration charges. | Partial B2B ships on Shopify plans, but company-scoped catalogs, deposits, and partial payments need Plus — from $2,300/mo. | Native $600 / $1,400 / $2,200 per month published, setup plans from $2,500. | Partial $349 / $599 / $999 per month published with user, order, and integration caps — the B2B portal add-on price is not published. |
Checked against each vendor's public documentation, July 2026 — Shopify's help center, Zoey's support docs, and Cin7's help centers and published pricing. Vendors ship; if a row has gone stale, tell us and we'll fix it.
Reading it honestly
Where they're better
On buyer-facing buying rules — order minimums, case and pallet increments, per-customer catalog restrictions, credit limits — Zoey is the deepest tool on this page, and Shopify B2B covers quantity rules and price breaks natively. sku.io doesn't have those rules natively today, and this page would be worthless if it pretended otherwise. Cin7 Core's costing ledger — FIFO/FEFO, landed cost — is real, and its native accounting sync is one of the better ones in the category.
Where sku.io is better
Everything after the order is captured: one allocation pool so wholesale and DTC can't oversell each other, quotes that actually reserve stock, purchasing that reacts to a big B2B order, landed-cost COGS and a contribution margin on every order, and accounting sync built on a double-entry inventory ledger. No per-tier caps on pricing, no per-portal licenses, no integration-count meter.
The pattern that works today
Most of our wholesale customers run a storefront in front of sku.io: Shopify B2B or Zoey takes the self-service order with its buying rules, sku.io owns inventory, allocation, invoicing, purchasing, and margin behind it, and reps enter phone and email orders directly in sku.io. A native B2B portal is in development — we don't publish dates for unshipped features. And when a buying rule has to live in the system of record — cost-plus price lists, case or pallet minimums, container-quantity rules — we scope and build it on request: quoted plainly, typically thousands, not six figures; weeks, not quarters.
Deciding this for a client or your own operation?
Book a demo with the founder — bring the messy questions and the real data, and we'll draw this table against your operation.
Book a Demo