Inventory synchronization between Microsoft Dynamics 365 Business Central and Shopify keeps your stock levels accurate across both systems. Configure it wrong, and you'll oversell products, frustrate customers, or hold excess inventory.

This guide focuses specifically on inventory sync configuration, calculation methods, location mapping, and troubleshooting. For product field mapping, see our guide on How to Map Business Central Items to Shopify Products.

Prerequisites for Inventory Sync

Before you can sync inventory, two conditions must be met:

1. Inventory tracking enabled in Shopify

In Shopify Admin, each product or variant must have Track quantity enabled. Without this, Shopify won't accept inventory updates from Business Central.

2. Inventory sync enabled for Shopify locations

In Business Central's Shopify Shop Locations page, you must configure which locations participate in inventory sync and how stock is calculated.

How to Enable Inventory Synchronization

Step 1: Import Shopify locations

In Business Central, go to Shopify Shops > select shop > Locations > Get Shopify Locations to import all locations from your Shopify store.

Step 2: Configure location filters (optional)

Set the Location Filter field to sync inventory only from specific Business Central locations.

Example: To sync only EAST and WEST warehouses, enter EAST|WEST (pipe character separates locations).

Use location filters to exclude internal transfer locations, separate inventory for different sales channels, or isolate damaged stock.

Step 3: Select stock calculation method

Choose between two calculation methods:

  • Projected Available Balance at Date: Current stock minus outstanding sales orders
  • Free Inventory (Not Reserved): Stock not reserved for other orders

Step 4: Enable default product location

Enable Default Product Location for locations that should participate in sync. This marks the location for inventory record creation and synchronization.

Important: Don't enable this for both standard Shopify locations and fulfillment service locations simultaneously.

Stock Calculation Methods Explained

The stock calculation method determines how Business Central calculates the available quantity to send to Shopify.

Method 1: Projected Available Balance at Date

How it works:

Calculates inventory on hand minus outstanding sales orders, based on the sync date.

Example scenario:

You have 10 units of Part #12345 in stock. You have two outstanding sales orders:

  • Order A: 1 unit, shipping Monday
  • Order B: 2 units, shipping Thursday

Inventory sync results:

Projected Available Balance at Date

Best for:

  • Real-time inventory accuracy
  • Preventing overselling during busy periods
  • Businesses with frequent order fulfillment

Drawback:

  • Stock levels fluctuate based on sync timing
  • Requires frequent syncing for accuracy

Method 2: Free Inventory (Not Reserved)

How it works:

Calculates only inventory that's physically available and not reserved from item ledger entries. Ignores sales orders that aren't reserved against physical stock.

Example scenario:

You have 10 units of Part #12345 in stock. You have three outstanding sales orders:

  • Order A: 1 unit (reserved from item ledger entry)
  • Order B: 2 units (not reserved, awaiting supplier shipment)
  • Order C: 3 units (reserved from purchase order, not yet received)

Inventory sync result:

Method 2: Free Inventory (Not Reserved) Inventory Sync Result

Orders B and C don't affect the calculation because they're either not reserved or reserved against incoming stock (purchase orders), not existing inventory.

Best for:

  • Businesses using reservation systems in Business Central
  • Drop-shipping scenarios where stock isn't physically held
  • Manufacturing with make-to-order workflows

Drawback:

  • Requires disciplined reservation management in Business Central
  • Can show higher availability than actual if reservations aren't tracked properly

Which method should you use?

Use Projected Available Balance if:

  • You fulfill orders quickly (same day or next day)
  • You run frequent inventory syncs (hourly or every few hours)
  • You want the most conservative stock levels to prevent overselling

Use Free Inventory if:

  • You use Business Central's reservation system extensively
  • You have long lead times between order and fulfillment
  • You need to separate committed vs. available inventory

For most manufacturers and B2B businesses, Projected Available Balance is the safer default.

Location Mapping and Fulfillment Strategies

Business Central supports two approaches to location mapping and fulfillment.

Approach 1: Shopify Built-in Fulfillment and Inventory Tracking

Use this if you manage fulfillment directly (your own warehouses, retail stores, or POS locations).

How it works:

  • You define multiple Shopify locations (e.g., Main Warehouse, Retail Store East, Retail Store West)
  • Shopify selects the fulfillment location based on availability and priority settings
  • Each location tracks its own inventory
  • Useful for Shopify POS with multiple physical stores

Configuration in Business Central:

Enable Default Product Location for multiple locations where Is Fulfillment Service is disabled.

Example:

You have three locations in Shopify:

  • Main Warehouse (primary)
  • Store East
  • Store West

Business Central configuration:

Business Central configuration on Locations

Result: Inventory syncs from Business Central to all three Shopify locations. Shopify decides which location fulfills each order based on its location priority rules.

Approach 2: Third-Party (3PL) Fulfillment and Inventory Tracking

Use this if you outsource fulfillment to a third-party logistics provider (3PL) or fulfillment service.

How it works:

  • Physical inventory managed by the 3PL
  • Locations are not needed in Shopify (3PL handles this)
  • SKU field becomes mandatory for product identification
  • Inventory tracked through Business Central Fulfillment Service location type

Configuration in Business Central:

Enable Default Product Location only for locations where Is Fulfillment Service is enabled.

Example:

You use ShipBob for fulfillment. You create a Business Central Fulfillment Service location to represent the 3PL.

Business Central configuration:

Business Central configuration for Locations

Result: Inventory syncs from multiple Business Central locations (EAST and WEST warehouses) to a single Shopify fulfillment service location. The 3PL receives inventory data and handles fulfillment.

Critical rule: Don't mix location types

Don't enable Default Product Location for both standard Shopify locations and fulfillment service locations simultaneously. Choose one approach: direct fulfillment or 3PL fulfillment.

Syncing Inventory: Manual and Automated

Manual inventory sync

Trigger manual sync from Shopify Shops (select shop > Sync Inventory) or Shopify Products (select products > Sync Inventory).

Use for testing configuration, updating after physical counts, or correcting discrepancies immediately.

Automated inventory sync

Schedule recurring syncs using Business Central's Job Queue. Create a new entry, set Object Type to Codeunit, enable Recurring Job, select days, and define frequency (e.g., 60 minutes for hourly).

Recommended sync frequencies:

Recommended sync frequencies

More frequent syncs increase API usage and system load. Balance accuracy with performance.

Inventory Policies: Preventing Negative Stock

Shopify allows you to control what happens when inventory reaches zero.

Default Inventory Policy options:

Default Inventory Policy options for ERP x Shopify

Configure at Shopify Shop card > Default Inventory Policy field.

Use Deny for limited availability, custom orders, or high-value items. Use Allow for quick-restock items, backorders, or drop-shipped products.

Changes sync to Shopify only if Can Update Shopify Products is enabled.

Handling Special Inventory Scenarios

Bundles and kits

Shopify bundle apps prevent API-based inventory updates and manage bundle inventory based on component availability.

Solution: Set bundle products to Non-inventory or Service type in Business Central (Item card > Type field). Product syncs to Shopify, but inventory updates are skipped.

Non-inventory and service items

Business Central automatically excludes Non-inventory and Service item types from inventory sync. Use for digital products, services, or bundles managed by Shopify apps.

Units of measure as variants

Business Central supports selling items in multiple units of measure (e.g., PIECE vs. BOX of 6).

Problem: If you map units of measure as Shopify variants (e.g., Variant 1: "1 Piece", Variant 2: "Box of 6"), inventory is calculated per item, not per UoM. This creates inaccurate availability in Shopify.

Example:

You have 100 pieces in stock. In Business Central, this is:

  • 100 PIECES
  • 16 BOXES (100 / 6, rounded down)

If you create two Shopify variants (Piece and Box), both show 100 available, which is incorrect. The box variant should show 16.

Solution: Don't use Shopify variants for UoM. Instead:

Option 1: Create separate Shopify products for each UoM

  • Product 1: "Widget (Single Piece)" - SKU: WIDGET-PC
  • Product 2: "Widget (Box of 6)" - SKU: WIDGET-BOX

Sync inventory separately for each.

Option 2: Only sell in one UoM on Shopify (e.g., pieces only). Handle box sales offline or through a different channel.

For more on variant mapping, see our guide on How to Map Business Central Items to Shopify Products.

New locations added in Shopify

When you add a new location in Shopify Admin, Shopify doesn't automatically create inventory records for existing products.

Solution: Manually assign inventory to the new location in Shopify Admin (Products > Select product > Inventory > Edit locations) before running sync. Use Shopify's bulk editor for multiple products.

Troubleshooting Inventory Sync Issues

When inventory isn't syncing correctly, follow this diagnostic process:

  • Verify stock calculation method: Check Shopify Shop Locations > Stock Calculation field matches your intended method. Common mistake: Using Free Inventory without proper reservation management.
  • Check track quantity settings: In Shopify Admin > Products, verify Track quantity toggle is enabled for all variants.
  • Verify location configuration: In Shopify Settings > Locations, confirm all locations appear and products are assigned to correct locations.
  • Verify product mapping: In Business Central > Shopify Products, check Item No. and Variant No. fields are populated correctly. SKU mismatches create duplicate products instead of updating existing ones.
  • Review stock details: Check Shopify Inventory FactBox for last sync timestamp and calculated quantity. Old timestamps indicate job queue issues.
  • Check sync logs: In Shopify Log Entries, filter for Has Error = Yes and look for inventorySetOnHandQuantities mutations. Review Request Data and Response Data for error details.

Common errors in logs:

Common errors in logs for ERP x Shopify Sync

Best Practices for Inventory Sync

  1. Sync frequently during peak periods. Increase sync frequency during sales events or seasonal peaks. Switch from every 2 hours to every 30 minutes during Black Friday week.
  2. Use Projected Available Balance for conservative stock levels. Unless you manage extensive reservations in Business Central, stick with Projected Available Balance to reduce overselling risk.
  3. Test before going live. Create a test product with known inventory, sync to Shopify, and verify quantities match expectations.
  4. Monitor sync logs weekly. Check Shopify Log Entries for errors and set up email alerts when sync issues occur.
  5. Keep location mapping simple. One warehouse means one Shopify location. Only add multiple locations if you actually fulfill from different physical sites.
  6. Exclude non-stocked items. Mark custom-order items, services, and bundles as Non-inventory or Service types to prevent sync issues.
  7. Reconcile inventory monthly. Compare Business Central and Shopify levels for top-selling products and investigate discrepancies.

Syncing Inventory from Shopify to Business Central

Most manufacturers sync from Business Central to Shopify, but some scenarios require reverse sync:

  • Shopify POS sales need to update Business Central inventory
  • Manual Shopify Admin adjustments should reflect in Business Central
  • Third-party inventory management apps modify stock

When orders import from Shopify to Business Central, the connector updates Business Central inventory based on fulfillment data. This is order-based sync only. Manual Shopify inventory adjustments don't automatically sync to Business Central without custom workflows.

Automating Inventory Alerts

Automate low stock alerts with Shopify Flow or n8n.

  • Shopify Flow: Trigger on inventory quantity changed, check if quantity < 10, then email purchasing team and tag product "low-stock."
  • n8n workflow: Receive Shopify inventory webhook, check if quantity < reorder point, query Business Central for pending purchase orders, create purchase requisition if none exist, and send Slack notification.

For more on automation, see Conditional Logic Automations: When to Use n8n vs Shopify Flow.

What You Need to Know

Inventory sync between Business Central and Shopify requires careful configuration of stock calculation methods, location mapping, and sync scheduling.

Choose Projected Available Balance for conservative stock levels that prevent overselling. Choose Free Inventory if you use Business Central's reservation system extensively.

Don't mix standard Shopify locations with fulfillment service locations. Choose one fulfillment approach and stick with it.

Sync frequently during peak periods, but balance accuracy with system performance. Hourly syncs work for most B2B businesses.

Monitor sync logs regularly and reconcile inventory monthly to catch discrepancies early.

Get inventory sync right, and you'll avoid overselling, reduce manual inventory updates, and keep customers happy with accurate stock availability.

Related resources: