This unoPIM Shopify B2B case study documents how Tenten replaced Neteon's 15-year-old PHP PIM with an AI-native stack built on unoPIM and Shopify B2B, moving a 23-year US industrial networking distributor with 26,000+ customers and over 1 million connected devices from a spreadsheet-and-email workflow to a commerce endpoint that ChatGPT, Claude, and Perplexity can talk to directly. The timing matters: Shopify rolled out native B2B to all paid plans on April 2, 2026, co-launched the Universal Commerce Protocol with Google at NRF on January 11, 2026, and activated Agentic Storefronts for 5.6 million eligible US stores on March 24, 2026. This is how those three announcements land on a real industrial customer's tech stack.
The starting point: four stores, 1,847 SKUs, one 15-year-old PHP PIM
Neteon Technologies has distributed industrial networking gear since 2002. By early 2026, the company runs four separate US storefronts:
- shopmoxa.neteon.net — Moxa Gold Partner since 2002, selling managed switches, IIoT gateways, and rugged x86 industrial PCs
- neousys.neteon.net — Neousys authorized US distributor for -40°C to 70°C fanless industrial PCs and edge AI GPU platforms
- ipc.neteon.net — Industrial SSDs, DRAM, DIN rail accessories, and general IPC components
- solutions.neteon.net — Solution-level sales for BMS, EPMS, DCIM
All four sites shared one backend: a PHP PIM written around 2010 on MySQL 5.5, no version control, no attribute inheritance. The same Intel Core Ultra 200S processor had three slightly different descriptions across the ipc, solutions, and neousys stores because product managers hand-copied specs every time a new SKU went live. I counted the pain points on my first site visit:
- 60%+ data duplication rate across stores for identical components
- Hard-coded image paths — 15 years of product photos sitting in
/uploads/2013/products/with no DAM layer - Certifications trapped in free-text fields — MIL-STD-810G, ATEX, IP ratings lived in description columns, searchable only via
LIKE - B2B discounts wired into the database — tier pricing for SI / OEM / EPC / Reseller / Gov customers sat in a
user_discounttable; every change required engineering - No external API — customer ERP and e-procurement integrations only got CSV exports
- English-only — strings were embedded in PHP files; Spanish and Japanese expansion would mean a full codebase fork
This was a classic "runs, but every 10% of revenue growth means hiring another person" situation. In Q4 2025, Neteon's COO brought us in because they were preparing to enable Shopify B2B's native Company Accounts for self-service wholesale ordering — and they had no clean PIM to align product data across the four storefronts.
Related: We covered a different layer of the same customer in our earlier case study on Neteon's Webflow + HubSpot inbound marketing build. That one tackled the funnel. This one rebuilds the product data spine.
Why we chose unoPIM over Akeneo and Pimcore
We evaluated three open-source PIMs. The selection criteria were narrow: Neteon's engineering team had deep PHP experience, so the new PIM had to fit their existing operational muscle. It also needed first-class Anthropic and OpenAI API support, because the next three years of B2B commerce are agentic, and retrofitting that later is painful.
| Criterion | unoPIM | Akeneo CE | Pimcore |
|---|---|---|---|
| License | MIT | OSL-3.0 (Community Edition) | GPLv3 / POCL (dual-licensed) |
| Framework | Laravel 12 + Vue 3 | Symfony 6 | Symfony + custom ORM |
| Database | MySQL 8 + Redis | MySQL + Elasticsearch | MySQL + Elasticsearch |
| Built-in AI Agent | Agent Chat with 32+ tool actions | None (external integration required) | None (Pimcore Copilot is paid) |
| AI provider support | 10+ (Anthropic, OpenAI, Gemini, Groq, Ollama, Mistral, DeepSeek, others) | No official abstraction layer | Primarily OpenAI |
| Official Shopify connector | Open source MIT, unopim/shopify-connector | Paid enterprise edition only | Build your own |
| Claimed scale ceiling | 10M+ SKUs (Webkul engineering reference implementation) | Version-dependent | Instance-dependent |
| DAM | Official unopim-digital-asset-management module | Enterprise only | Built in |
| Disclosed installations | 1,293+ | Not disclosed | Not disclosed |
The deciding factor sits in row 4. unoPIM's 2026 release bakes Agentic PIM into core: autonomous product enrichment, catalog quality monitoring, approval workflows, content feedback loops, persistent agent memory. Akeneo CE users have to stitch these together from marketplace modules. Pimcore users write custom plugins. For a project on a 12-week timeline, "works out of the box" beats "we can build that" every time.
Pimcore has a more mature DAM story, but unoPIM's DAM module ships and actively develops, and industrial PC imagery is lightweight compared to fashion or furniture — the delta wasn't enough to flip the decision. Akeneo CE dropped out in week three because its community edition is missing too much for B2B production use: variant management limits, no native bidirectional Shopify sync, and limited batch operations.
The architecture: PIM as source of truth, Shopify B2B as transaction layer, agents as operators
The stack has three clean layers. unoPIM holds the canonical product data. Four Shopify storefronts consume it. An agent layer sits on top, connected to both unoPIM and Shopify via MCP, exposing the system to external AI clients like ChatGPT, Claude, and Perplexity.
┌───────────────────────────────────────────────────────────┐
│ AI Agent Layer │
│ Claude / GPT / Perplexity / OpenClaw (Tenten internal) │
└───────────────────┬───────────────────────────────────────┘
│ MCP (Model Context Protocol)
┌───────────┴───────────┐
│ │
┌───────▼────────┐ ┌───────▼────────────┐
│ unoPIM MCP │ │ Shopify MCP Servers│
│ (custom-built)│ │ Dev / Catalog / │
│ │ │ Storefront / │
│ 32+ tools: │ │ Checkout │
│ search/create/│ │ │
│ enrich/export │ │ │
└───────┬────────┘ └────────┬───────────┘
│ │
┌───────▼────────────────────────▼──────────┐
│ unoPIM (source of truth) │
│ Laravel 12 · MySQL 8 · Redis · Vue 3 │
│ Agentic PIM Core · DAM · 30+ locales │
└───────────────────┬────────────────────────┘
│ unoPIM Shopify Connector
┌───────┬───────┼───────┬────────┐
▼ ▼ ▼ ▼ ▼
┌──────┐┌──────┐┌──────┐┌──────────┐
│shop- ││neou- ││ipc ││solutions │
│moxa ││sys ││ ││ │
│Plus ││Plus ││Adv ││Adv │
└──────┘└──────┘└──────┘└──────────┘
└───────┴── Shopify B2B: Company Accounts, Custom Catalogs
Responsibilities split cleanly:
- unoPIM holds every product spec, image, certification, and localized description. Attributes are structured: MIL-STD-810G, ATEX, IP67, CE, FCC, UKCA, UL, EN 50155, IEC 61850-3, DNV, and TÜV each have their own fields. So do operating temperature range, MTBF, input voltage, and I/O port counts.
- Shopify B2B handles transactions. Neteon's CRM segments (SI, OEM, EPC, Gov, Reseller) map to Company Profiles. Each company can have multiple Locations — HQ, branch offices, warehouses — and each Location gets its own Custom Catalog.
- The agent layer stores nothing. It calls unoPIM and Shopify capabilities via MCP.
Shopify's April 2, 2026 expansion of B2B to Basic, Grow, and Advanced plans capped catalog count at three per store. Unlimited catalogs and per-location direct assignment remain Plus-only. We put shopmoxa and neousys on Plus (those stores need 11 catalogs each for discount tiers), ipc and solutions on Advanced with three catalogs covering "standard reseller," "large-account," and "government procurement." It's the most economical split given Neteon's current volume. If you're running the same math for your own stack, our Shopify B2B complete guide maps the plan tiers in more detail.
The 12-week migration: not a rewrite, an agent-guided rebuild
Tenten has run migrations from legacy systems into AI-native stacks for about a dozen clients over the past three years, from our BigCommerce-to-Shopify OpenClaw agentic migration to Webflow static HTML into Shopify themes. The consistent lesson: AI cuts migration timelines roughly in half, but only if you treat the agent like a senior engineer whose work needs review, not a script that runs unsupervised.
Neteon's migration ran in six two-week sprints.
Sprint 1 (weeks 1–2): schema archaeology. We pointed Claude Code at the entire 15-year PHP codebase and asked it to build an ER diagram plus an attribute inventory. It surfaced that 31% of fields in the 1,847 SKUs had never been populated in production, and 56% of product descriptions were regex-cleaned copies from manufacturer PDFs. That audit directly shaped unoPIM's Family and Attribute Group design.
Sprint 2 (weeks 3–4): unoPIM schema construction. We designed seven product families:
industrial Ethernet switches (Moxa EDS, SDS, TSN series); rugged industrial computers (Moxa BXP, DRP, Neousys Nuvo); IIoT gateways (UC, AIG); industrial wireless (AWK, OnCell, cellular); storage and memory (Innodisk SSDs, DRAM); industrial accessories (cables, PoE, power supplies); and solution bundles (BMS, EPMS, DCIM integrations). Attribute counts ran from 48 to 112 per family. The "certifications" group, shared across all families, held 11 boolean-plus-text fields.
Sprint 3 (weeks 5–6): AI enrichment. This is where unoPIM's 2026 release earned its place in the stack. We configured Claude Sonnet 4.7 as the primary enrichment agent (via the Anthropic API), with Ollama running Qwen 3 locally as fallback. The agent's job list:
- Parse OCR-to-markdown of manufacturer datasheet PDFs and extract structured specs
- Generate GEO-optimized long descriptions (800–1,200 words) using the operating temperature, certification set, and I/O configuration as prompt anchors
- Produce three description lengths (80 / 160 / 280 characters) for different channels
- Output three FAQ entries plus an Answer Target Block per product, based on our AEO checklist
- Compare products within the same series and generate cross-sell suggestions
The critical design choice: the agent never writes directly to the live catalog. Everything flows through unoPIM's Maker-Checker Workflow, where a Neteon product manager reviews and approves before anything publishes. Industrial customers are unforgiving about spec errors — a wrong input voltage can fry a field deployment — so we chose to take the latency hit and keep humans in the loop.
Sprint 4 (weeks 7–8): Shopify B2B setup. All four stores built locally with Shopify CLI (we've written separately about why Shopify CLI pulls dev velocity up). On the B2B layer:
- Pre-built 340 Company Profiles from Neteon's CRM data, segmented into SI / OEM / EPC / Gov / Reseller tiers
- Plus stores (shopmoxa, neousys) each got 11 catalogs for tier-specific pricing
- Advanced stores (ipc, solutions) got three catalogs each: general reseller, large-account, government
- Payment methods: credit card, Net 30/45/60, ACH, wire transfer. Every B2B checkout requires a PO number.
Sprint 5 (weeks 9–10): unoPIM → Shopify sync. The unoPIM Shopify Connector handled the initial bulk export — 1,847 SKUs split across 14 queue batches, averaging 52 minutes per store. After that, we switched to event-driven sync: any attribute change in unoPIM fires a Laravel Queue job that pushes to Shopify's GraphQL Admin API via webhook.
Sprint 6 (weeks 11–12): agent deployment. We wrapped unoPIM as an internal MCP server (Node implementation using the Anthropic MCP SDK) and exposed it to Neteon's internal OpenClaw agent and the sales team's Claude Desktop. On the Shopify side, we connected Shopify Storefront MCP so ChatGPT and Perplexity could discover Neteon's products once Agentic Storefronts activated.
Why agentic B2B commerce isn't just a chatbot — and why the MCP stack matters
Easy to confuse: dropping a ChatGPT widget onto your site is a chatbot. Exposing your store as an endpoint that AI agents can interact with through a protocol is agentic commerce. Different architecture, different business implications.
Shopify built four MCP servers in about eight months, covering every layer of commerce:
| Server | Purpose | Status |
|---|---|---|
| Dev MCP | Gives Claude Code, Cursor, and other AI IDEs direct access to Shopify docs and schema | GA August 2025; full-platform coverage January 2026 |
| Catalog MCP | Lets agents search products across all Shopify stores globally | Rolled out to all developers in Winter '26 Edition |
| Storefront MCP | Lets agents interact with a single store: query products, manage carts, guide checkout | Shipped with Hydrogen Winter 2026; Hydrogen 2026.1.4 enables /api/mcp by default |
| Checkout MCP | Lets agents complete purchases (UCP spec 2026-01-23 compliant) | Preview, select partners |
At NRF on January 11, 2026, Shopify and Google jointly announced the Universal Commerce Protocol (UCP) — a shared language for agents, merchants, payment service providers, and credential providers. Shopify's Checkout MCP is UCP running over MCP transport. On March 24, 2026, Shopify activated Agentic Storefronts for all eligible US merchants by default, connecting 5.6 million stores to ChatGPT's 880 million monthly active users.
Here's the concrete payoff for Neteon: it's industrial B2B, not DTC. When an engineer asks Claude at 2 AM, "find me a switch that operates at -40°C, passes IEC 61850-3, supports 16 Ethernet ports, deliverable to the US West Coast within 12 weeks," the agent can hit Catalog MCP to find the Moxa PT-G7828 series on shopmoxa, query Storefront MCP for stock, and open a draft order via Checkout MCP with a PO number and Net 30 terms attached. No Neteon BDR in the middle. But because industrial B2B transactions run $5,000–$120,000, draft orders route back to Neteon's sales team for approval before they become firm orders.
That's the real role of industrial B2B in the agentic commerce era: not full automation, but liberating sales reps from the 80% of their time spent on spec-pulling, quote-building, and logistics coordination so they can focus on the 20% that actually needs human judgment. We dig deeper into the technical layers in our Shopify AI + MCP CTO architecture guide.
What the stack actually changed, measured 60 days post-launch
Post-launch, we pulled six metrics against a three-month pre-migration baseline. These numbers come from Neteon's Shopify Analytics, HubSpot Service Hub tickets, and unoPIM job logs — not marketing-deck exaggerations.
| Metric | Old PHP PIM + manual uploads | unoPIM + Shopify B2B + agents | Change |
|---|---|---|---|
| New product launch time (from manufacturer datasheet to four-store live) | ~14 business days | ~1.5 business days | –89% |
| Product description creation (single SKU, SEO/GEO optimized) | 2–4 hours | 12–18 minutes (AI draft + human review) | –87% |
| PM hours per week on copy-paste work | ~18 hours | ~2 hours | –89% |
| B2B customer ordering time (login to completed order) | Phone or email, ~47 min | Self-service Company Portal, ~6 min | –87% |
| Customer abandonment from not finding products | ~23% | ~7% | –16 percentage points |
| Product data error reports (spec mistakes found by customers or reps) | 8–12 per month | 1–2 per month | –83% |
One honest caveat: about 30% of the 89% launch-time reduction comes from the Sprint 1–2 schema standardization work, not from AI. Skipping the schema audit and dropping AI agents onto disorganized data would have produced more errors, not fewer. The ordering matters.
FAQ
Is unoPIM worth it for a B2B company with only 500 SKUs?
Yes. unoPIM's operational cost lives mostly in initial schema design and DAM migration, not in SKU count. A single-node Docker deployment on a 4 vCPU / 8GB RAM VPS handles 500–5,000 SKUs comfortably, running $30–60/month. The real question isn't whether you have enough products — it's whether you have at least one engineer comfortable with Laravel and whether you're willing to spend 4–6 weeks structuring your attributes. If neither holds, Shopify's native Metafields plus a Google Sheets document may serve you better.
How is unoPIM different from Shopify Metafields? Why not just use Metafields?
Metafields are Shopify's native custom-field extension — no approval workflow, no multi-channel distribution, no DAM, no AI enrichment. Changing one attribute definition means updating every affected product manually. Metafields work fine for a single Shopify store with stable product structure. Neteon's setup — four storefronts sharing product data, plus ERP sync, multilingual support, and structured certification data — outgrows Metafields fast. Practical rule: if you're spending more than 5 hours a week wrestling with Excel or CSV for product data, you've outgrown Metafields.
When will agentic B2B commerce actually happen in my industry?
It depends on where your buyers already look. Industrial PCs, electronic components, and MRO consumables — field engineers already use ChatGPT to pull specs. We interviewed 18 Neteon system integrator customers in Q1 2026; 14 admitted they'd used Claude or ChatGPT to research products in the previous three months. Restaurant supply, dental equipment, and beauty wholesale are still email-and-phone. The signal isn't how "high-tech" your product is — it's the age and default tools of your end buyer. Gen X procurement leads are already using AI for initial research. Traffic you're not capturing there is traffic you're losing.
What's the highest-risk part of migrating a PHP legacy system to unoPIM?
Image assets and order history, not product data. Product data, worst case, is unstructured — you can run AI enrichment to clean it up. Hard-coded image paths (like Neteon's original /uploads/YYYY/ structure) need redirect logic during migration to avoid destroying SEO. Historical orders in industrial B2B often carry contract pricing and payment terms that need careful mapping to Shopify B2B's Company Profiles. About 40% of our Sprint 4–5 hours on Neteon went to these two problems.
Why unoPIM over Akeneo? Akeneo has more brand recognition.
Akeneo's brand is stronger, but in 2024 Akeneo moved key capabilities (including native bidirectional Shopify sync) behind Growth and Enterprise paywalls, and the Community Edition roadmap looked underfunded during our evaluation. unoPIM's 2026 story is clearer: Agentic PIM in core, 10+ AI provider support, MIT license, open-source Shopify connector shipping and actively maintained. For a client needing 12-week delivery and a long-term agentic workflow, unoPIM's direction fits better than Akeneo CE's. If you have Akeneo expertise in house and you're running DTC, Akeneo EE is still a strong option — this is tooling fit, not a brand argument.
Author Insight
Over the past three years, Tenten's team has helped move a dozen B2B customers from pre-2010 systems (Magento 1, early Shopify Classic, custom PHP) onto AI-native stacks. One unglamorous observation we keep coming back to: the real bottleneck in agentic commerce isn't the AI, it's the data structure underneath.
Whether an AI agent can produce accurate long descriptions, or correctly answer "will this IPC run year-round outdoors in North Africa," depends entirely on whether the attributes in your PIM are structured. A -40°C to 70°C string buried inside free-text description is useless to an agent. A dedicated operating_temperature_min: -40, operating_temperature_max: 70 field lets the agent run range queries and cross-product comparisons.
That's why roughly 70% of our client engagements over the past year have ended up spent on schema engineering. The agent layer itself is maybe 15% of the budget. If you're evaluating whether to adopt AI agents, the counterintuitive advice is: spend the first four weeks doing an attribute audit, converting unstructured text into queryable schema, and only then talk about agents. Reverse the order and AI just amplifies the consequences of your existing data chaos.
If your B2B operation looks like Neteon's — legacy PIM, multiple storefronts, Shopify B2B on the roadmap but stuck on the data layer — we've shipped five similar-scale engagements this quarter, including North American industrial PC distributors, Taiwanese precision machinery OEMs, and Southeast Asian electronic component distributors. Schedule a consultation with Tenten and we'll help you figure out whether PIM or Shopify B2B comes first on your critical path. An hour usually gets you there.