A fictional case study based on patterns we see every month at Atwix. The integration problems are real. The AI catalog work is real. The company name is not.
The setup
Meridian Industrial is a 40-year-old industrial parts manufacturer in the Midwest. Hydraulic fittings, valves, fluid power components. They sell through three channels: a direct sales team handling key accounts, an Adobe Commerce B2B portal for distributors, and a Shopify store launched two years ago to capture small mechanics and DIY buyers.
On paper, this is a healthy mid-market manufacturer,12,000 SKUs, Infor CloudSuite Industrial running the back office, two warehouses, one PIM that nobody fully owns.
In practice, the wheels were coming off.
What “broken integration” actually looks like
Their original integration was the kind of thing you inherit. Built in 2019 as a tactical project, never re-architected as the channels grew. Point-to-point connections. Direct database calls between systems. Cron jobs running at 2 AM hoping nothing changes. No middleware, no queue, no retry logic, no logging worth the name.
Here is what was actually happening on a normal Tuesday:
- Inventory was lying.
Stock levels in Adobe Commerce updated every 4 hours via a CSV dump. Shopify pulled from a separate sync that ran every 6 hours. So if a distributor placed an order at 9 AM, a Shopify customer could buy the same last-in-stock part at 9:15 AM. The ERP had no idea both orders existed until the morning batch. - Pricing was a guess. Meridian runs tiered B2B pricing with contract overrides for ~200 accounts. The contract pricing lived in Infor. The portal pulled a flat price list updated weekly. So when an account negotiated a new rate, that rate was correct in the ERP, billed correctly on the invoice, and shown wrong on the website for up to seven days. Distributors noticed. They called. The sales team apologized and manually updated quotes in spreadsheets.
- Orders disappeared. Not literally. But Shopify orders sometimes failed to push to Infor because of a SKU formatting mismatch (Shopify allowed dashes, the ERP didn’t). Those orders sat in a “pending sync” status that nobody monitored. Customers got their order confirmation, then nothing. Three to four working days later, somebody in customer service would notice the order had never been picked.
- The catalog was a graveyard. 12,000 SKUs in the ERP. About 4,200 of them on the B2B portal. About 1,800 on Shopify. Different naming conventions in each. Different attribute structures. Different image counts (often zero on the ERP side). Marketing wanted to expand the Shopify catalog. IT said the data wasn’t clean enough. The merchandising manager had been chipping away at cleanup for 14 months, alongside her actual job.
The breaking point
Q4 2024 hit, and a major distributor placed a $340K standing order across 87 line items. Of those, 23 were marked in stock on the portal but were actually committed to another customer. Four were discontinued SKUs that hadn’t been deactivated. Two had pricing that was 31% lower than their current contract rate.
The distributor was not happy. The sales team scrambled. Meridian shipped what they could, eat the pricing error on the rest, and offered a credit on the discontinued items. The distributor reduced their order frequency the following quarter and started getting quotes from a competitor.
That was the call that triggered the project. Three other accounts had quietly done similar things over the previous 18 months. Customer churn at the top of the account base is not the kind of problem you solve with another integration patch.
Why a rebuild, not another patch
The temptation when something like this happens is to fix the immediate symptom. Tighten the inventory sync. Build a one-off pricing feed. Add a SKU validator. We see this constantly. It buys a quarter of relief and adds one more layer of fragility.
The actual problem at Meridian was structural. Every system was talking directly to every other system. Five integrations that should have been one. No source of truth for any given data domain. No place to apply business logic without touching production code in the ERP or the storefront.
The fix is a piece of middleware sitting between the ERP and the commerce platforms, owning the data flow, enforcing the rules, handling the failures.
That’s what Sirius does.
What we built
Sirius is Atwix’s integration platform. It connects ERPs (Infor, Prophet 21, Salesforce, Kodaris, Expertek, others) to commerce platforms (Adobe Commerce, Shopware, Shopify) and handles the messy work in between: queueing, retries, transformations, logging, error routing.
For Meridian we deployed Sirius as the single integration layer for all commerce channels and the ERP.
Inventory: Real-time decrements at order placement. Adobe Commerce and Shopify both check Sirius, Sirius checks Infor, the answer comes back in under 200ms. When stock changes in the ERP, Sirius pushes to both storefronts immediately. The 4-hour delay went to zero.
Pricing: Sirius pulls contract pricing from Infor on every product detail page load for authenticated B2B users. Distributors see their actual contract price every time. Anonymous Shopify users get list pricing, no exceptions, no overrides needed in the storefront database.
Orders: All orders route through Sirius, which validates SKU format, customer credit, and stock availability before pushing to Infor. Failures don’t disappear silently. They land in a queue with full context, and the right person gets a notification. Nothing sits unseen for three days anymore.
Customer accounts: Sirius also handles the customer account creation and management we built for B2B portal users. New distributor signups create the corresponding Infor customer record automatically, with default pricing tier assignment based on account type.
The rebuild took 14 weeks. The first 4 weeks were entirely discovery and data audit, because we couldn’t fix integration without understanding what was actually flowing where.
Now: the catalog problem, and where AI earned its keep
Once the plumbing was fixed, the catalog problem became visible. With reliable integration, Meridian could expand both storefronts. But they still had 12,000 SKUs in the ERP, inconsistent attribute structures, missing descriptions, no images for ~40% of products, and three different naming conventions across the systems.
This is exactly the kind of work that breaks merchandising teams. It’s not hard, it’s just enormous. A human merchandiser can clean maybe 20-30 SKUs per day if they’re working from spec sheets. At that rate, Meridian’s catalog cleanup was a three-year project.
Most of the industry rushes to put AI to work right about here. We didn’t. The catalog work happened after Sirius was running, and that order is not a detail. AI applied to broken data doesn’t expose the broken data, it laminates over it with confident-sounding output. Beautiful descriptions for SKUs whose stock numbers are wrong. Polished titles for products at prices that aren’t real. The cleanup looks finished while the underlying mess gets harder to find. Integration first, intelligence second. Skip the order and you’ve built a faster way to ship convincing nonsense.
We used AI in three ways.
1. Mapping legacy ERP data to a clean schema
Meridian’s Infor catalog was a 20-year accumulation of attribute fields, half of them populated, named things like ATTR_47, MAT_TYPE_2, SPEC_OLD. We needed to map this mess into a clean attribute structure for the new PIM-style data model in Sirius.
We ran the entire ERP catalog through a classification pipeline. For each SKU, the model read the existing field values, the product description (where it existed), and any spec sheet PDFs we could attach, and proposed a mapping into the new schema: material, thread size, pressure rating, temperature range, port type, certifications, and so on.
Confidence-scored output. Anything above 95% was auto-applied with spot-check sampling. Anything 70-95% went to a merchandiser review queue with the AI’s suggestion pre-filled. Anything below 70% went to a manual queue.
Roughly three-quarters of SKUs cleared the auto-apply threshold. The merchandising team’s job changed from “clean 12,000 SKUs from scratch” to “review 2,400 suggested mappings and resolve 240 edge cases.” The team did it in six weeks.
2. Auto-enriching SKU descriptions and attributes
About 5,400 SKUs had no description, or had a description that read like 1/2″ SS HX NPLE 304 SCH40. Useful to a procurement engineer who knows the codes. Useless to anyone searching on Shopify.
We built an enrichment pipeline that took the cleaned attribute set for each SKU and generated:
- A short product title (Shopify-friendly, search-optimized)
- A 2-3 sentence description aimed at the buyer persona for that channel
- A long-form description with technical specs called out
- A set of search keywords and tags
Critical detail: we did not let the model invent attributes. It only described what was already in the structured data. If a SKU didn’t have a pressure rating in the source data, the description didn’t claim one. This sounds obvious. It is not how most AI catalog enrichment goes wrong.
Output quality varied by category. Standard parts came out clean. Configurable assemblies needed a different prompt and more human review. Total enrichment time across 5,400 SKUs: 11 days of compute and review, against an estimate of 9 months of human work for the same volume.
3. Cross-system product matching
Because the three systems had been managed independently, the same physical part often had three different SKU formats and three different titles. When we tried to reconcile, simple string matching broke. Fuzzy matching helped but produced false positives on similar-but-different parts. A 1/2″ hydraulic fitting in stainless steel is not the same product as a 1/2″ hydraulic fitting in brass, and a string matcher doesn’t always know that.
We used embeddings for the matching pass. Each SKU’s full attribute set, description, and category became a vector. We clustered across the three systems and surfaced likely-match groups for review.
The merchandising team confirmed or rejected each cluster. By the end, every product in the ERP had a single canonical record, with mapped IDs in the B2B portal and Shopify storefront. New SKUs added to the ERP now flow through Sirius into both storefronts with the correct attribute structure from day one.
Where this leaves Meridian
Six months after Sirius went live and four months after the AI catalog work wrapped:
- Inventory accuracy on the storefronts is at 100% against ERP
- Contract pricing is correct on the portal in real time
- Order sync failures are caught and resolved the same day, not the same week
- The Shopify catalog has expanded from 1,800 SKUs to 7,400, with consistent data quality
- The B2B portal expanded from 4,200 SKUs to 9,100
- The merchandising team shifted from cleanup work to ongoing optimization and new product launch coordination
- The distributor that almost left renewed their annual order at full volume
None of this is the AI doing the work alone. None of it is the integration alone. The integration was the precondition. Without trustworthy data flow, AI catalog work would have produced beautifully enriched descriptions for products that didn’t actually exist in stock, at prices that weren’t real, in a system that couldn’t take the orders.
Why we keep telling this kind of story
We see versions of Meridian constantly. Industrial manufacturers who built their digital channels in pieces, over a decade, by different teams, with different priorities. The systems work, kind of. The integrations exist, technically. The catalog is “fine” if you don’t look at it too hard.
Then a major customer notices. Or a competitor with cleaner data starts winning bids. Or the team that knew how the duct-taped integration worked leaves.
The fix isn’t another integration script. It’s middleware that owns the data flow, enforces the rules, and gives you a place to apply intelligence (including AI) on top of clean, trustworthy data.
That’s the work Sirius is built for. The Meridian story is fictional. The pattern is not.
If parts of this story sound like your operation, that’s not a coincidence. Talk to us about a Sirius assessment.
