Shopify + Monitor ERP
Everything you need to connect Shopify and Monitor ERP: how to connect, which data moves, which settings there are and what to do when something goes wrong.
- 5 data flows
- Connect in about 20 minutes
1. Getting started
Prepare both systems first, then connect them in Junipeer.
- about 10 minutes
Prepare Shopify
- Find the MyShopify domain
- Enable app development
- Create the Junipeer app
- Add the required scopes
- Release and install the app
- Copy the credentials
- about 10 minutes
Prepare Monitor ERP
- Open the Monitor integration / API setup
- Generate or retrieve the API access key
- Confirm the technical integration user if relevant
- Note the correct company or database context
- Enter the values in Junipeer
Connect and test
Enter the details in Junipeer, switch on the flows you need and test with one order before you go live.
Getting started with Junipeer
2. How the data flows
What Junipeer can move between the two systems. The arrow shows which way the data goes.
- Orders
- Order status
- Products
- Stock levels
- Customers
3. Settings
The settings you see in Junipeer, in plain words. Open one to read more. The key is the technical name.
In Junipeer every setting has a ? that opens the same explanation next to the form, right when you need it. With the Junipeer MCP your AI assistant can also propose the settings from your own data.
How the Junipeer MCP worksSettings for Shopify (40)
| Setting | What it controls | Key |
|---|---|---|
| Disable new products in Shopify | This is a safeguarding feature for the newly imported articles to be labeled as "drafts" that await manual deployment. | shopify_disable_new_products |
| Admin API Access Token | An optional way to connect your Shopify store without the connect button. | shopify_api_key |
| Api Key | Enter the API key for Qliro. | sh_qliro_api_key |
| Api Secret | Enter the API secret for Qliro. | sh_qliro_api_secret |
| Client ID | Only needed if you want Junipeer to connect through your own Shopify app instead of Junipeer's. | shopify_client_id |
| Client Secret | Only needed if you want Junipeer to connect through your own Shopify app instead of Junipeer's. | shopify_client_secret |
| Default Shopify Warehouse | Choose the Shopify location that should receive stock when no specific Shopify location is selected. | shopify_default_location |
| Enable Multiple locations in Shopify | Turn this on if you want to manage stock separately for different Shopify locations, warehouses, shops, or stock areas. | shopify_multiple_locations |
Show all 40 settings
| Setting | What it controls | Key |
|---|---|---|
| Export order item locations | Send information about which location (warehouse) each order row is allocated to in Shopify. | shopify_order_export_item_locations |
| Fields to update | If you update existing products in Shopify, choose which product fields may be updated. | shopify_fields_to_update |
| Fulfill full deliveries by order quantity based on the SKU prefix | Decide whether a shipment that covers the whole order should fulfill all remaining items on the order in Shopify. | shopify_fulfill_full_delivery_by_order_qty |
| Import products | When handling the product data from the external service to Shopify, we can either: Create a new product entity if we don't find a match Ignore new products if we don't find a match | shopify_create_articles |
| Manual Payment Gateways | When Junipeer marks an order as paid in Shopify, it normally captures the payment. | shopify_manual_gateways |
| Map Locations (Warehouses) | Decide which Shopify location (warehouse) should get the stock from each warehouse in the other system. | shopify_map_locations |
| Map Order Statuses/Actions | Decide what should happen to the order in Shopify when the order gets a certain status in the other system (for example Fortnox). | shopify_map_order_statuses |
| Map Shopify variant metafields | Send extra product information (custom data) to Shopify variant metafields. | shopify_article_attributes_mapping |
| Map Shopify variant options | New articles (variants) in our Shopify connector will always create a parent and one variant. | shopify_article_options_mapping |
| Merchant ID | Enter your Svea Merchant ID. | svea_merchant_id |
| Order exclusion date | When an integration goes live, both connected systems already contain historical data — orders from before Junipeer entered the picture. | stdintegration_filter_shopify_order_created_date |
| Prices include VAT | Tell Junipeer whether the product prices you have entered in Shopify include VAT . | shopify_price_incl_vat_prodexp |
| Secret | Enter your Svea secret word. | svea_secret_key |
| Set Company External ID | Turning this on is a general recommendation for the B2B business model. | shopify_company_external_id |
| Shopify (API) Url | Enter the address Junipeer uses to connect to your Shopify store. | shopify_api_url |
| Shopify Currency | Choose the currency your Shopify store uses. | shopify_default_currency |
| Shopify Delivery Date attribute | If your customers choose a delivery date at checkout, Shopify stores it as a note attribute on the order. | shopify_order_delivery_date_attribute |
| Shopify Delivery Date format | Use this setting to tell the system how delivery dates are written in Shopify. | shopify_order_delivery_date_format |
| Shopify External ID Metafield | Needed when several articles in the other system are variants of the same product , for example sizes or colours of one T-shirt, and should be grouped under one product in Shopify. | shopify_external_id_metafield |
| Shopify Order Statuses | Choose which status an order must have in Shopify before it is sent to the other system. | shopify_order_statuses_to_export |
| Shopify Plan | Tell Junipeer which Shopify plan your shop is on. | shopify_plan |
| Shopify Url | Enter your Shopify store address, for example example.myshopify.com . | svea_shopify_url |
| Track inventory item | Decide whether new products that Junipeer creates in Shopify should have inventory tracking turned on. | shopify_mark_inventory_item_tracked |
| Translate order row product names | Show product names on the order rows in the customer's language instead of your shop's default language. | shopify_order_translate_line_names |
| Update customers? | Decide what happens when a customer that is sent to Shopify already exists there. | shopify_update_customers |
| Updating product | When handling the product data from the external service to Shopify, we can either: Override product data if we find a match Ignore the product data if we find a match | shopify_update_articles |
| Use GraphQL instead of REST API | Choose which of Shopify's two APIs Junipeer uses to talk to your shop. | shopify_api_graphql |
| Use Location Admin Email | Choose which e-mail address is used as the company e-mail when Shopify locations are exported as companies. | shopify_use_location_admin_email |
| Use name (instead of order_number) property as Order Number | Choose which Shopify order number is sent to the other system. | shopify_order_use_name_as_order_number |
| Use on-hand quantity when exporting stock | Turn this on if Shopify should be updated using the on-hand stock quantity instead of the available stock quantity. | shopify_use_on_hand_stock_quantity |
| Use presentment currency (money) | Choose which currency the order amounts are sent in. | shopify_order_use_presentment_money |
| Vat percentage | Some systems need a VAT rate when a new product is created there. | shopify_vat_percentage_prodexp |
Settings for Monitor ERP (15)
| Setting | What it controls | Key |
|---|---|---|
| API URL | Enter the address of your Monitor API, for example https://host:8001 . | monitor_api_base_url |
| Company Number | Enter the number of the Monitor company to connect to, for example 001.1 . | monitor_company_number |
| Customer Levels | Choose which kinds of Monitor customers are fetched and sent on. | monitor_customer_levels |
| Default Monitor ERP Warehouse | Choose the Monitor warehouse that is treated as the default when stock is fetched from Monitor. | monitor_default_warehouse_id |
| Exclude Orders created before this date | Choose a date. Orders created before this date are not synced. | stdintegration_filter_monitor_erp_order_created_date |
| Find the Monitor Customer By | Decide how Junipeer finds the Monitor customer an order belongs to. | monitor_order_customer_lookup |
| Language Code | Enter the language code used when connecting to Monitor, for example sv . | monitor_language_code |
| Order Row Type | Choose the row type used for order lines in the Monitor order. | monitor_order_row_type |
Show all 15 settings
| Setting | What it controls | Key |
|---|---|---|
| Order Type | Optional. Choose the Monitor order type given to customer orders created in Monitor. | monitor_order_type_id |
| Password | Enter the password for the Monitor user above. | monitor_password |
| Project | Optional. Choose the Monitor project used on customer orders created in Monitor. | monitor_project_id |
| Sales Price List | Choose the Monitor price list that article prices are taken from. | monitor_article_price_list_id |
| Stock Order | Decide whether customer orders are created as stock orders in Monitor. | monitor_is_stock_order |
| Username | Enter the Monitor username Junipeer should log in with. | monitor_username |
| Warehouse | Optional. Choose the Monitor warehouse used on customer orders created in Monitor. | monitor_warehouse_id |
4. Troubleshooting
Choose what you see. Each case shows the cause and the solution.
HighCredentials stopped working
- if someone uninstalled the app from the Shopify admin, the credentials become invalid. Reinstall the app and use the new credentials.
See symptoms and resolution for details.
if someone uninstalled the app from the Shopify admin, the credentials become invalid. Reinstall the app and use the new credentials.
MediumFor troubleshooting common errors, see the Error Codes page or your connector pa
For troubleshooting common errors, see the Error Codes page or your connector pair's troubleshooting section.
Refer to the platform setup guide for resolution steps.
MediumCannot find the Developer Dashboard
- make sure you are accessing Shopify as a user with app development permissions. The Develop Apps option may not be visible to staff accounts without the right access level.
See symptoms and resolution for details.
make sure you are accessing Shopify as a user with app development permissions. The Develop Apps option may not be visible to staff accounts without the right access level.
Medium"Insufficient permissions" errors
- one or more API scopes are missing. Go back to the app in the Developer Dashboard, verify all scopes are present, release a new version, and reinstall.
See symptoms and resolution for details.
one or more API scopes are missing. Go back to the app in the Developer Dashboard, verify all scopes are present, release a new version, and reinstall.
5. More guides
Did this page help you?
