Infor M3 to Shopify Integration
M3 is the only Infor product with an official Shopify connector. That sounds like the end of the conversation and it is closer to the beginning of one, because Infor documents what the connector does in unusual detail, and what it documents is narrower than most people assume.
In this article
Talk to our expertsWe read the integration guide. Below is what it says, with the source named, so you can check it rather than take our word for it.
What the official connector is built for
Infor's own words: it is a basic integration supporting a business-to-consumer engagement model.
Not a summary, a direct description from the product documentation. Everything that follows is a consequence of that one design decision, and each of these is stated in the guide rather than inferred by us.
Every Shopify account maps to a single M3 customer ID. The guide calls it an anonymous customer philosophy. So there are no company accounts, no per-account pricing and no customer hierarchy, because as far as M3 is concerned the storefront is one customer.
Orders are deemed paid in full at order entry, using M3's prepayment functionality, and ERP invoices have to be suppressed. There are no terms, no net 30, and no invoicing in the normal sense.
Promotions, discounts, rebates and charges are unsupported, and so are taxes. Order-level discounts are unsupported; product-level discounts are the exception.
Only normal items are supported. No styles or variants, no configurable items, no attribute-controlled items, no core items and no kits. For a fashion or F&B manufacturer that exclusion covers a large part of the catalog.
Inventory arrives as a stock file each day on a net change basis. There is no interactive API, it is on-hand only, and there is no future available-to-promise. The guide recommends a dedicated M3 warehouse for the storefront.
Order detail is header level for the requested date, Shopify cannot consume external updates, and order cancellation and updates are unsupported.
It is one company, one accounting entity, one currency. Returns sync to M3, but the credit does not. Card reconciliation happens outside CloudSuite. Tracking URLs are delivered in what the guide itself calls a dummy format.
And there is no release planned for M3 13.4 on-premises or single-tenant, so if that is what you run, the connector is not available to you at all.
On error handling we will be fairer than the shorthand you may have read elsewhere. There is a dashboard for retrying failed transactions, and ION Connect and error BOD queues exist. What the guide describes is manual triage rather than durable recovery: no dead letter queue, no replay guarantee, no documented idempotency. Call it manual, not absent.
So when is the connector the right answer?
When you sell direct to consumers, in one currency, from one company, with a catalog of standard items and no account pricing. That is a real business and for it the connector is free and sensible. Use it.
It stops being the right answer the moment any of the following is true: you sell to trade accounts with negotiated prices, you invoice on terms, you need taxes calculated, your catalog has variants or configured items, you need availability that reflects anything beyond yesterday's on-hand, or a buyer needs to change an order after placing it.
That is most wholesale operations running M3.
What M3 exposes beyond the connector
The connector is one path. M3's integration surface is considerably wider.
The M3 API Gateway and ION are the documented mechanisms, and the connector itself is built on Infor OS componentry. M3 API transactions, the MI programs, expose the business logic that a real integration needs, including the pricing, order and inventory functions that the connector chooses not to use.
Working there is more work than installing an app. It also gets you the things the connector explicitly excludes, and those things are usually the reason you wanted a storefront.
What M3 holds that a storefront has to respect
M3 is strong in food and beverage, fashion and process manufacturing, and each of those brings data the connector does not carry.
Lot and batch traceability sits at the center of food and beverage compliance, and expiration dates decide what can be sold to whom and when. Catch weight, where the item is priced by actual weight rather than by unit, is a documented M3 capability and it breaks any integration that assumes one unit equals one price.
For fashion, the style and variant structure is the catalog, and it is precisely what the official connector excludes.
Price lists in M3 carry the commercial relationships, and on a wholesale build they have to resolve per account rather than be flattened into a single storefront price.
Units of measure and their conversions run through all of it.
Where the two systems line up
M3 customers become Shopify companies, with ship-to addresses as company locations and contacts as buyer logins, so each account gets its own pricing and history rather than sharing one anonymous customer record.
Items become products carrying variants, units of measure and the attributes the catalog needs, including the item types the official connector cannot handle.
Availability reflects your actual stock position rather than yesterday's file, at the frequency your volumes justify.
Price lists resolve per account at the moment they are needed.
A Shopify order becomes an M3 order with line detail, the customer reference and terms attached, and it can be updated and cancelled, because those are ordinary things a buyer expects to do.
Uncap Connect keeps pricing, inventory, customer data and orders current in both directions, built for B2B so customer-specific pricing, credit terms and tax behave the way they do in your business.
What happens when an order fails
Since the official connector's weakest documented area is recovery, this is worth being concrete about.
A failed order should be classified rather than just logged. A timeout is transient and retries on a backoff. An invalid item or a credit stop is permanent, so the order holds with its payload and the exact M3 error preserved, somewhere your team already looks, and it replays without asking the customer to order again. Replay has to be idempotent, or a retry creates a second order and someone finds out at the loading dock.
The buyer's Shopify order stays visible to them throughout, because from their side the order exists and silence is worse than an exception.
What we build
An integration against the M3 API Gateway and ION rather than around the connector's B2C constraints, for the parts of your operation that need more than it offers.
Company accounts, company locations and buyer logins from the M3 customer master, replacing the single anonymous customer model.
Price list resolution per account, with catalogs controlling entitlement rather than carrying a flattened price copy.
Catalog handling for variants, configured items and units of measure, including catch weight where you sell by it.
Lot, batch and expiration data surfaced where compliance requires it.
Inventory at a cadence your operation actually needs, rather than a daily file.
Order creation, update and cancellation, with a held-order queue and idempotent replay.
Industries that run M3
Food Service Distribution, where lot traceability and contract pricing run together.
Beverage Distribution, where route, pack size and account pricing decide the order.
Fashion and Branded Apparel, where the size and color matrix is the catalog rather than a detail of it.
Furniture and Contract Furnishing, where trade accounts and lead times shape the order rather than the cart.
M3 is one of several Infor products we connect to Shopify. The Infor integration overview covers SX.e, CloudSuite Industrial, LN and VISUAL.
Ready to talk
Bring your M3 version and whether you are on CloudSuite or on-premises, one account's price list, and a note of how much of your catalog is variants or configured items. If you are already running the official connector, bring what it is not doing for you, because that list is usually the scope.
Book a strategy session, or start with a Blueprint, the paid discovery engagement that maps the integration surface, the pricing model and the phased plan before development begins.
Frequently asked questions
Is the official Infor Shopify connector good enough?
For a direct-to-consumer store in one currency, from one company, with standard items and no account pricing, yes, and it is free. Infor's own documentation describes it as a basic integration supporting a business-to-consumer engagement model. For wholesale it runs out quickly, because company accounts, terms, taxes, promotions, variants and order changes are all documented as unsupported.
Does the official connector do real-time inventory?
No. Infor's documentation describes a stock file updated each day on a net change basis, with no interactive API, on-hand quantities only and no future available-to-promise. It also recommends a dedicated M3 warehouse for the storefront. Anyone describing the connector as real-time has not read the guide.
Can the connector handle customer-specific pricing?
No. Every Shopify account maps to a single M3 customer ID, which the documentation calls an anonymous customer philosophy. Without distinct customer records there is nothing for account pricing to attach to. Promotions, discounts, rebates, charges and taxes are also listed as unsupported.
Does it work with M3 on-premises?
No. The documentation states there is no release planned for M3 13.4 on-premises or single-tenant. If that is your deployment, the official connector is not an option and the connection is built against the M3 API Gateway and ION instead.
What happens if an order fails to reach M3?
With the official connector there is a dashboard for retrying failed transactions and ION error queues exist, but the documented remedy is manual triage rather than durable recovery. A purpose-built integration should classify failures, retry transient ones automatically, hold permanent ones with the error attached for a person, and make replay idempotent so a retry cannot create a duplicate order.
Can M3 support variants and configured products on a storefront?
M3 can. The official connector cannot: styles and variants, configurable items, attribute-controlled items, core items and kits are all listed as unsupported. For a fashion brand or any manufacturer with a configured catalog, that exclusion is usually the reason to build against M3's own API surface instead.
How is catch weight handled?
It has to be explicit, because an integration that assumes one unit equals one price will invoice the wrong amount on every catch weight line. Catch weight is a documented M3 capability and the storefront needs to represent price by actual weight rather than by unit where you sell that way.
How long does an Infor M3 Shopify integration take?
Catalog complexity drives it more than order volume. Standard items with simple price lists move quickly; a variant-heavy catalog with catch weight, lot control and account pricing does not. The Blueprint engagement establishes which you have before anyone commits to a date.