When Shopify extended native B2B features to all paid plans — company profiles, pricing catalogs, payment terms, no extra charge — Marc did what made complete sense: he decided to move over. Not just browse the feature set. Actually migrate. He was paying $50/month for WPD and Shopify was offering something that looked equivalent for free. The decision seemed obvious.
He created 2,346 Company profiles in Shopify admin — one for each wholesale customer. At 3–5 minutes per profile to find the customer, enter company details, add a contact, assign a catalog, and save, that's roughly 195+ hours of manual admin work. Clean, structured, native. Exactly what Shopify should handle natively.
Then real customers started logging in.
01
The Setup
2,346 Company profiles created — one per wholesale customer. At 3–5 min each, roughly 195+ hours of manual admin work. The $50/month saving looked real and imminent.
02
The Lockout
Real customers started hitting a hard permissions error on login. Not a test account. Not an edge case. Actual wholesale buyers, locked out of checkout.
03
The Permanent Mess
Fixing the lockout was possible. Cleaning up the 2,346 Company records afterward was not. They're still there. They cannot be deleted. They will be there indefinitely.
The error customers received when they tried to log in and place an order:
"You don't have permission to place B2B orders for DezLin Reveals. Log out to place a personal order."
Marc used Shopify's Admin GraphQL API (companyContactRemoveFromCompany) to remove all customer contacts from the company profiles — 233 contacts removed, 0 failures. That fixed the checkout lockout. But all 2,346 Company records still live in his Shopify admin. And before the lockout was even resolved, 150+ wholesale customers had emailed about being unable to access their accounts — a downstream effect of Shopify's geographic location rules that prevent two resellers in the same region from seeing different prices without Shopify Plus.
Why the Records Can't Be Deleted — And Never Will Be
Error when attempting to delete: "This company can't be deleted because it has orders."
Shopify confirmed: this is a server-side platform restriction. It cannot be bypassed via the API. Third-party tools like Matrixify call the same mutation and hit the same wall. Marc escalated formally to Shopify's backend engineering team. As of publication, the escalation is unresolved. The 2,346 records remain permanently in his admin — polluting B2B views, customer segmentation, and company-level reporting. The 195+ hours of setup labor is unreclaimable. The experiment to save $50/month is now a permanent fixture in the store.
And that was before getting to the feature gaps that would have made the migration impractical even if the Companies mess had never happened.
Even in a clean scenario where the Companies mess never happened, the native B2B tools don't cover what DezLin Reveals actually uses:
3-catalog ceiling — across all markets combined
Three catalogs total, not per market. One US market using all three leaves nothing for a second region or a fourth pricing tier.
No cart-level discounts of any kind
"Spend $1,000, get 10% off your order" has no native mechanism. Volume pricing only works per product, not across the full cart.
No real self-service registration
Shopify Forms collects applications — but doesn't auto-tag, auto-approve, or create company profiles. Every application is a manual admin task.
Discount codes activate for all customers
Once enabled for B2B, they activate across all customers by default. B2B-only discount codes require additional configuration outside the native tools.
No POS wholesale pricing
B2B pricing doesn't carry into Shopify POS. Trade shows, showrooms, in-person wholesale — none of it works natively.
Per-customer pricing routes through Markets
Below Plus, two resellers in the same region cannot see different prices. The only workaround: Shopify Plus at $2,300/month.