1) Overview & Features
QBM's Shopify integration connects your online Shopify store with your QBM business management system. QBM serves as the master system for inventory, pricing, and accounting.
What QBM Can Do
- Create products in Shopify from QBM items
- Import Shopify products into QBM
- Automatically sync stock quantities (QBM → Shopify)
- Manual on-demand stock sync
- Import Shopify customers into QBM as Partners
- Import Shopify orders into QBM
- Automatic order polling with desktop notifications
- View draft orders from Shopify
Stock quantities flow one direction only: QBM → Shopify. When customers place orders on Shopify, you must import the orders into QBM and convert them to invoices to update QBM inventory. The reduced quantity will then sync back to Shopify on the next stock sync.
2) Data Flow Summary
Understanding how data moves between QBM and Shopify:
| Data Type | Direction | Method | Trigger |
|---|---|---|---|
| Products | QBM → Shopify | Create | Manual (Create Items button) |
| Products | Shopify → QBM | Import | Manual (Import button) |
| Stock Quantity | QBM → Shopify | Sync | Automatic (timer) or Manual (Sync button) |
| Customers | Shopify → QBM | Import | Manual (Import button) |
| Orders | Shopify → QBM | Import | Manual (Export Orders button) |
- Customer places order on Shopify
- Import order into QBM (creates Customer Order)
- Convert Customer Order to Invoice in QBM
- QBM inventory is reduced
- Next stock sync pushes updated quantity to Shopify
3) Prerequisites
3.1 Shopify Requirements
- A Shopify store (testing store or live store)
- Store Owner access (recommended) or staff access with permission to manage apps
- Ability to create a Shopify Custom App and copy its Admin API access token
3.2 QBM Requirements
- QBM installed with Shopify integration enabled
- A QBM user account permitted to open Integrations → Shopify
- Internet access for the machine/services that communicate with Shopify
4) Shopify for Testing (Development Store)
If you want a free Shopify store for testing QBM integration without a paid subscription, use a Shopify development store. This is the recommended approach for testing and training before connecting a customer's live store.
Option 1: Shopify Partners Account (Recommended)
- Open partners.shopify.com
- Click Join now (free)
- Fill in: Email address, Password, Business name
- Complete the registration
- Log in to your Partners dashboard
- Click Stores in the left menu
- Click Add store
- Select Create development store
- Choose store type: Create a store to test and build
- Fill in store name (becomes your-name.myshopify.com)
- Optionally choose Start with test data to pre-populate products/orders
- Click Create development store
- Free (no monthly fees)
- Unlimited time to develop and test
- Option to start with pre-populated test data
- Full API access for integration testing
- Test payment gateway support
Option 2: Shopify Free Trial
If you only need a quick test store, you can use Shopify's free trial at shopify.com. Trial duration may vary by region and Shopify policy.
Setting Up Test Payments
Configure test payments so you can place orders without charging a real card.
- Go to Settings → Payments
- Click Choose third-party provider
- Search for Bogus Gateway and enable it
- Use test card numbers: 1 for success, 2 for failure, 3 for error
5) Shopify for Store Owners (Live Store)
If you are connecting a live store, complete these checks before generating credentials.
- Log in to Shopify Admin as Store Owner (recommended) or as an admin staff user
- If a staff user will manage the integration, confirm they have permission to manage Apps / develop apps
- Go to Products
- Open a product and review its variants
- Ensure each variant has a SKU (required for matching in QBM)
- If you use barcodes, ensure barcodes are entered consistently
- Avoid duplicate SKUs across different variants/products
- Go to Settings → Locations
- Confirm the location(s) where inventory is tracked
- Decide which location QBM should use for stock synchronization
- Go to Customers
- Ensure customers have at least an email or phone number
- Ensure addresses are entered if shipping/delivery is used
6) Shopify Credentials (Create a Custom App)
QBM connects to Shopify using a Shopify Custom App. You will create the app inside Shopify Admin and copy the Admin API access token.
- Log in to Shopify Admin
- Go to Settings
- Open Apps and sales channels
- Click Develop apps
- If prompted, click Allow custom app development and confirm
- From Develop apps, click Create an app
- App name: QBM Integration
- Choose the app developer (store owner/admin)
- Click Create app
- Open the app and go to Configuration
- Click Configure Admin API scopes
-
Enable at least:
- read_orders (for importing orders)
- read_customers (for importing customers)
- read_products, write_products (for items)
- read_inventory, write_inventory (for stock sync)
- read_locations (for location selection)
- Click Save
- Click Install app and confirm
- Open the app's API credentials
- Copy the Admin API access token and store it securely
7) Configure QBM Settings
Configure the integration in QBM: Integrations → Shopify
Open the Shopify settings screen from QBM integrations to maintain connection, sync, item, customer, order, tax, and logging settings.
7.1 Connection Settings
| Setting | Description |
|---|---|
| Enable | Master switch to enable or disable the entire Shopify integration. Check this box to activate. |
| Address | Your Shopify store URL. Enter in the format: your-store.myshopify.com |
| Access Token | Your Shopify Admin API access token from the Custom App you created. |
7.2 Feature Permissions
| Permission | What It Allows |
|---|---|
| Allow creating new items | Allows creating new products in Shopify from QBM items. |
| Allow importing items | Allows importing products from Shopify into QBM as new items. |
| Allow importing customers | Allows importing Shopify customers into QBM as partners/customers. |
- Open Integrations → Shopify
- Check Enable
- Enter your Shopify store Address
- Paste your Access Token
- Enable the features you need (creating items, importing items, importing customers)
- Click Save
8) Stock Synchronization (QBM → Shopify)
This feature automatically pushes inventory quantities from QBM to your Shopify store. Configure these settings in the Sync Stock Automatically section.
| Setting | Description |
|---|---|
| Enable | Check to enable automatic stock synchronization. |
| Sync by SKU | Match QBM items to Shopify variants using the SKU field (UpcSku in QBM). |
| Check for both SKU and Code | If SKU match fails, also try matching by Lookup Code. Useful if you use different identifiers. |
| Log when item not found in Shopify | Record a log entry when a QBM item cannot be matched to a Shopify product. Helpful for troubleshooting. |
| Interval (Minutes) | How often to automatically sync stock. Default is 5 minutes. |
| Location | Select which QBM store/warehouse location(s) to sync stock from. Use "Multiple" to select specific locations or "All" for all. |
| Shopify Location | Select the Shopify location where inventory levels will be updated. Click Refresh to load available Shopify locations. |
| Last Sync Date | Shows when stock was last synchronized. Can be adjusted to re-sync from a specific date. |
| Clear cache | Clears cached Shopify product data. Use if products were added/changed in Shopify and QBM isn't seeing them. |
| Start / Stop | Start or stop the automatic stock synchronization process for this client. |
Only items with quantity changes since the last sync are pushed to Shopify. This minimizes API calls and keeps your Shopify store up to date efficiently. Built-in rate limiting and retry logic ensures reliable synchronization.
Location refresh and cache notes
- Refresh loads Shopify locations from your store.
- If QBM logs show "Location not found," use Clear cache, click Refresh, then re-select the correct location.
9) Order Polling (Automatic Notifications)
Configure automatic order polling to receive desktop notifications when new orders arrive on Shopify. These settings are in the Ordering → Check for Orders section.
| Setting | Description |
|---|---|
| Enable (Ordering) | Check to enable the ordering features. |
| Import orders | Allow importing Shopify orders into QBM as Customer Orders. |
| Enable (Check for Orders) | Check to enable automatic order checking. |
| Interval (Minutes) | How often to check for new orders. Default is 5 minutes. |
| Last Sync Date | Shows when orders were last checked. Adjust to re-check from a specific date. |
| Start / Stop | Start or stop the automatic order polling for this client. |
When new orders are detected, QBM displays a desktop alert showing how many orders are waiting to be imported. This keeps you informed without having to manually check the Shopify Orders screen.
10) Working with Items
Access the Shopify Items form from: Customers & Sales → Shopify → Items
10.1 Creating Products in Shopify (QBM → Shopify)
- Go to the QBM tab
- Select the items you want to create in Shopify
- Click Create Items
- QBM will create the products in Shopify with SKU and barcode mapping
QBM groups items into a single Shopify product based on the ProductName field. All QBM items with the exact same ProductName become variants of one Shopify product.
If items have even slightly different ProductNames (extra spaces, typos, different capitalization), they will be created as separate products instead of variants under one product.
Before creating: Verify that all items you want grouped as variants share the identical ProductName in QBM.
10.2 Importing Products from Shopify (Shopify → QBM)
- Go to the Shopify tab
- Select the Shopify products you want to import
- Click Import
- Products will be created as new items in QBM
10.3 Syncing Stock Manually
- Go to the QBM tab
- Select the items you want to sync
- Click Sync to push current stock quantities to Shopify immediately
- Use Sync to refresh/push stock data
- Use Import to bring missing items into QBM (if enabled)
- Only use Create Items if your policy allows QBM to create items in Shopify
11) Working with Customers
Access the Shopify Customers form from: Customers & Sales → Shopify → Customers
Importing Customers from Shopify
- View all customers from your Shopify store
- Select the customers you want to import
- Click Import to create them as QBM partners
- Customer details including addresses are transferred
12) Working with Orders
Access the Shopify Orders form from: Customers & Sales → Shopify → Orders
12.1 Order Tabs Explained
| Tab | Description |
|---|---|
| Shopify | Orders fetched from Shopify for the selected date range. |
| Imported | Orders already imported into QBM. Double-click to open the QBM order. |
| Drafts | Shopify draft orders (view-only, not saved into QBM database). |
12.2 Importing Orders
- Select the date range to view orders
- Select orders from the list
- Choose the destination store/location
- Click Export Orders to import into QBM
- Orders are created as Customer Orders in QBM
12.3 Processing Orders to Update Inventory
- Import the Shopify order into QBM (creates a Customer Order)
- Open the Customer Order in QBM
- Convert the order to an Invoice
- This deducts inventory from QBM stock
- The reduced quantity will sync to Shopify on the next stock sync
13) End-to-End Testing Checklist
Use this checklist to validate the full integration flow before going live:
- Create a test product in Shopify and set a SKU for each variant
- Ensure the matching items exist in QBM with the same SKU (or use QBM item import if enabled)
- Create a test customer in Shopify
- In QBM, import customers
- Place a test order in Shopify (using test payments)
- In QBM, import orders for the correct date range
- Verify: customer matched, all order lines matched, quantities/prices are correct
- Convert the order to an invoice and verify inventory is reduced
- Run stock sync and verify Shopify inventory is updated
- Create a draft order in Shopify and confirm it appears in QBM Drafts tab (view-only)
14) Troubleshooting
14.1 Shopify Logs
QBM provides logs for Shopify operations. Use them to identify configuration issues (missing token, invalid location, etc.).
14.2 Common Issues
| Problem | Meaning | Fix |
|---|---|---|
| Access token is not set | Token missing/incorrect or not saved. | Update token in Integrations → Shopify and save. |
| Location not found | Location changed/deleted or cached data is stale. | Click Clear cache, then Refresh, and reselect the location. |
| Orders fail to import / missing lines | SKU/Barcode mismatch or customer missing in QBM. | Import customers/items first; confirm SKUs match between Shopify and QBM. |
| No orders displayed | Date range/filter does not match data. | Adjust date range; verify correct location; refresh then try again. |
| Stock not updating in Shopify | Sync not running or item not matched. | Check if sync is started; verify SKU matches; check "Log when item not found" for details. |
| Inventory not managed by Shopify | Variant has inventory_management set to something other than "shopify". | In Shopify, edit the product variant and enable "Track quantity" with Shopify. |
| Variants created as separate products | Items in QBM have different ProductName values. | Ensure all items that should be variants have the exact same ProductName in QBM. Check for extra spaces, typos, or capitalization differences. |
15) Quick Setup Checklist
Shopify Side
- ☐ Store ready (dev store for testing or live store)
- ☐ SKUs set for all sellable variants
- ☐ Inventory locations reviewed
- ☐ Custom app created with correct scopes
- ☐ Admin API access token copied securely
- ☐ Test payment gateway configured (for testing)
QBM Side
- ☐ Integration enabled
- ☐ Store address entered correctly
- ☐ Access token saved
- ☐ Feature permissions selected
- ☐ QBM location(s) selected for stock sync
- ☐ Shopify location selected (after Refresh)
- ☐ Sync interval configured
- ☐ Order polling enabled (if needed)
Ready to Go Live
- ☐ Customers imported into QBM
- ☐ Items exist in QBM with matching SKUs
- ☐ Test order imported successfully
- ☐ Test order converted to invoice
- ☐ Stock sync verified working
- ☐ Draft orders understood as view-only