ShopifyandRetail Express,kept in step.

Cortex carries products, orders, customers and stock between your online store and your shop floor, and stops to ask when the two disagree. It is AI-native: an MCP server lets the assistant you already use run it with you.

  1. New order #1046becomes, in Retail Express:Order created
  2. Price changedbecomes, in Retail Express:POS price updated
  3. Stock set to 14comes from Retail Express:Stock count: 14
  4. Customer updatedbecomes, in Retail Express:Customer updated
  5. Fulfilment writtencomes from Retail Express:Order fulfilled
An illustration: records travelling between Shopify and Retail Express, each through Cortex.

Fields Cortex can connect include Title to Short Description, SKU to Supplier SKU, Vendor to Default Supplier, Price to POS Price (Inc Tax), Type to Product Type, Compare-at Price to RRP (Inc Tax), Barcode to Manufacturer SKU, Fulfillment location to Outlet, Payment gateway to Payment method, Shipping title to Freight type, Return reason to Return reason.

You draw the wiring. Try it.

Every store names things its own way. On the mapping canvas you connect each Shopify field, option or metafield to the Retail Express field it belongs in, and Cortex writes products exactly along those lines.

Three fields are wired below and one required field is not. Pick Vendor or Barcode, then the field it should feed.

Product mapping1 required field unmappedReady to sync
  • ShopifyFieldTitleProduct Details
  • ShopifyFieldSKUInventory
  • ShopifyFieldPricePrice
  • Retail ExpressRequiredShort DescriptionDescriptions & Codes
  • Retail ExpressRequiredSupplier SKUDescriptions & Codes
  • Retail ExpressRequiredPOS Price (Inc Tax)Pricing
  • Retail ExpressRequiredDefault SupplierProperties
  • Retail ExpressFieldManufacturer SKUDescriptions & Codes

Pick Vendor or Barcode on the left.Now pick the Retail Express field it feeds.

What Retail Express would hold

Short Description
Drover Oilskin Coat
Supplier SKU
DOC-BRN-L
POS Price (Inc Tax)
$289.00
Default Supplier
Not mappedBurke & Wills9312345678907
Manufacturer SKU
Not mappedBurke & Wills9312345678907

AI-native, with an MCP server built in

Cortex was built to be run by people and by their AI assistants. Its Model Context Protocol server gives an assistant 33 tools that cover what the app itself does: setting a store up, drawing its mappings, and working through Sync history.

You stay in charge. You grant access store by store on a consent page, the assistant never gets more than your own access, and every tool that changes real data asks you first.

You:Anything in Cortex need me this morning?

Tool used:list_order_syncs

Tool used:list_product_syncs

Assistant:Two things. Order #1042 was edited in both systems and needs your decision. One product is waiting because the vendor “Burke & Wills” isn’t mapped. Map it to the supplier of the same name?

You:Yes, map it.

Tool used:create_catalog_mapping

Assistant:Mapped. The product has synced on its own. The order is still yours to decide.

An illustration of a conversation with an AI assistant connected to Cortex.

Set a store up

Check what is left to do, pair Retail Express and load both catalogs.

  • get_setup_status
  • connect_retail_express
  • list_retail_express_outlets
  • refresh_catalogs

Draw the mappings

Read and change product fields, product types, vendors and order details.

  • update_product_field_mapping
  • create_catalog_mapping
  • update_order_mappings
  • create_shopify_metafield

Work the queue

List what needs attention, then retry, resolve, recheck or approve it.

  • list_order_syncs
  • resolve_order_sync
  • retry_failed_product_syncs
  • approve_product_first_link

Change how sync runs

Turn product, order and stock sync on or off and adjust their settings.

  • update_product_sync_settings
  • update_order_sync_settings
  • update_inventory_sync_settings
  • resync_products
Connect it
Add the server to any assistant that speaks MCP:https://cortex-api-dev-p3ho.onrender.com/mcp
Approve it
Sign-in is OAuth 2.1 with PKCE. You pick the stores and see what the app asks to do before you agree.
Revoke it
Every connected app is listed under Settings, where you can end its access at any time. Managing people stays with people.

Four kinds of record, each with a direction

Not everything should flow both ways. Each record travels the way a retailer would expect, and nothing is written until you turn its sync on.

Products

Shopify: New and changed products and variants are sent across.

Both directions

Retail Express: New products come back as Shopify drafts, ready for you to publish.

Orders

Shopify: New orders are created in Retail Express as they are placed.

Both directions

Retail Express: Fulfilments, edits, cancellations and refunds are written back.

Customers

Shopify: An order’s customer is matched by email or created, then kept current.

Shopify to Retail Express

Retail Express: Receives only. Nothing about customers is sent back.

Stock

Shopify: Receives stock levels for linked products at the locations you map.

Retail Express to Shopify

Retail Express: Sends counts every minute and in full once a day. Off until you turn it on.

Follow one order across

From checkout to the shop floor and back, without anyone retyping it.

  1. Shopify

    A customer checks out

    Order #1046: one oilskin coat, Express Post, paid by card.

  2. Cortex

    The customer is found

    Matched in Retail Express by email. Had there been no match, one would be created.

  3. Cortex

    The details are translated

    Your mappings turn the location, payment and shipping title into an outlet, a payment method and a freight type.

  4. Retail Express

    The order appears in store

    Created against the right outlet, ready for the shop floor to pick and pack.

  5. Retail Express

    The shop fulfils it

    Staff mark it fulfilled where they already work.

  6. Shopify

    Shopify hears back

    The fulfilment is written to the Shopify order, so both systems agree it has shipped.

When the two disagree, nothing is overwritten

Cortex has no “last write wins”. If an order is edited in both systems, or a product already exists on both sides, the sync stops in Sync history with both versions intact and waits for a person to choose.

Retrying re-reads the current data rather than replaying the old change, and every decision is recorded with who made it.

Order #1045Created in Retail Express
Completed
Drover Oilskin Coat3 variants updated in Retail Express
Completed
Try it: settle the conflict on order #1042
Order #1042Edited in both systems. Which version stands?Retail Express now matches Shopify.Shopify now matches Retail Express.
ConflictCompleted
Refund on order #1038A Retail Express refund of $129.00 is over your limit
Approval required
Canvas Swag, King SingleWaiting on a vendor mapping, then syncs by itself
Waiting
An illustration of Sync history. The conflict is yours to settle.

The careful parts, built in

Syncing is the easy half. These are the screens that keep two systems from quietly drifting apart.

Nothing is linked until you have seen it

When a product already exists on both sides, Cortex shows what linking would change and waits. You choose which system is the source.

Review before linking

FieldShopifyRetail Express
TitleDrover Oilskin CoatDrover Oilskin Coat
Price$289.00$279.00
SupplierBurke & WillsB&W Outfitters

Approve and linkNot yet

Refunds over your limit wait

A refund raised in Retail Express above the limit you set stops for approval first.

Refund on order #1038$129.00, over your $100.00 limitApproval required

Approve

Stock from the shop floor, if you want it

Off by default. Flip the switch to see what turning it on does.

High Street
Retail Express 14
Shopify 914
Warehouse
Retail Express 62
Shopify 7062

Cortex leaves Shopify’s stock alone.Refreshed every minute, and in full once a day.

Access for each person

The Shopify account owner holds everything. Everyone else gets what you grant.

  • MiaOwner
  • JackViewAct on syncs
  • PriyaAccess requested

Every change on record

Who changed a store’s setup or access, and when, kept for 400 days.

  • Mia turned on order sync
  • Jack mapped “Express Post” to a freight type
  • Mia granted Jack “Act on syncs”
  • Mia connected an AI assistant

An email only when something needs you

Alerts are grouped by topic, carry counts rather than customer data, and each person switches their own on or off.

Cortex to you

3 syncs need your attention

  • 1 order is in conflict
  • 1 refund is waiting for approval
  • 1 product is waiting on a mapping

Open Sync history

Built for the days things go wrong

1 minute
between stock refreshes, when you mirror Retail Express stock
5 minutes
between rechecks for orders a notification missed
15 minutes
between rechecks for products a notification missed
33 tools
an AI assistant can use through the MCP server
400 days
of setup and access changes kept in the audit log

Everything Cortex does

The whole product, grouped the way the app is.

Products

  • Two-way product sync, variant by variant
  • Fields, options and metafields on one canvas
  • Several sources for one field, tried in the priority you set
  • Create a missing Shopify metafield from the canvas
  • Product type and vendor tables with suggested matches
  • Removed variants are disabled in Retail Express, never deleted
  • Pause sync and changes wait, then apply when you resume

Orders

  • Shopify orders created in Retail Express
  • Fulfilments, edits and cancellations written back
  • Refunds, returns and exchanges in both directions
  • Retail Express refunds over your limit wait for approval
  • Locations, payments, freight and return reasons mapped your way
  • A catch-all for shipping titles you haven’t mapped
  • Tips, duties and fees recorded against products you choose

Customers and stock

  • Customers matched by email, or created
  • Profile changes in Shopify kept current in Retail Express
  • A guest customer for orders without one
  • Retail Express stock mirrored to Shopify, if you choose
  • Available or on-hand quantity, at the locations you map
  • Refreshed every minute and in full once a day

Sync history

  • Every product and order sync in one list
  • Filter to what needs attention or what is waiting
  • Retry one sync, or every failed sync since a date
  • Settle a conflict with either system’s version
  • Review the changes before two existing products are linked
  • Suppress a sync and neither system is touched
  • Export what you see as CSV

People and control

  • Sign in with Shopify; no new password
  • Four kinds of access, granted to each person
  • Several stores under one sign-in
  • An audit log of setup and access changes, kept 400 days
  • Email alerts by topic, switched on or off by each person
  • Customer privacy requests tracked to their due date
  • Your store’s data erased after you uninstall

AI and apps

  • An MCP server with 33 tools
  • OAuth 2.1 consent, store by store
  • An app never exceeds the access of the person who approved it
  • Tools that change data ask before they act
  • Connected apps listed and revocable under Settings

Five steps, at your own pace

Cortex walks you through them in order and remembers where you stopped. Nothing is written to either system until you turn a sync on.

  1. Connect Retail Express

    Sign in with Shopify, then pair your Retail Express account.

  2. Map your products

    Wire your fields on the canvas and confirm product types and vendors.

  3. Turn on product sync

    Products that exist on both sides wait for your review before they are linked.

  4. Map order details

    Match locations, payments, freight and return reasons.

  5. Turn on order sync

    Orders placed from that moment on are created in Retail Express.

Worth knowing before you start

  • Your Shopify store currency must match your Retail Express base currency.
  • Cortex takes the place of Retail Express’s own Shopify integration. The two can’t run on the same store.
  • Orders placed before you turn order sync on are not brought across.
  • Shipment tracking numbers are not carried between the systems.