Shopify

In order to activate your Shopify connection, you must be an active Logicbroker customer.

Become a Logicbroker Customer

 

 

About this app

Shopify is an eCommerce platform for online stores and retail point-of-sale systems that allows merchants to build and customize their own online stores and sell in multiple places. Logicbroker’s connection to Shopify provides suppliers with an easy way to manage orders directly in Shopify with a direct connection to suppliers’ trading partners. Get started today with a subscription or try it for free! Shopify Pricing

Supplier Features

  • Send Inventory
  • Send Products
  • Receive Orders
  • Send Shipments

Retailer Features

  • Receive Inventory
  • Receive Products
  • Send Orders
  • Receive Shipments
  • Receive Acknowledgments

 

Website: https://www.shopify.com/

Shopify Support: https://help.shopify.com/en

How it works
Products
Supplier Flow: Supplier > Logicbroker
Retailer Flow: Logicbroker > Retailer
Product data is pulled from supplier's Shopify system and stored in the Product Onboarding Center in Logicbroker. Retailers can manage the data in the portal before sending it into their own Shopify system. As part of the setup process, Logicbroker will import Shopify-specific taxonomy files so users can access them in the portal which include Categories, Attributes and Attribute Sets.  
Pulling products from Shopify (supplier flow)
Logicbroker pulls all products from Shopify that:
  • are tagged with 'Logicbroker' (not case sensitive)
  • are in an 'Active' status
  • have a SKU (products with no SKUs will be ignored)
Posting products to Shopify (retailer flow)
All approved and listed products will be sent into Shopify with the following:
  • Sales Channel: 'Online Store' enabled
  • Tag: 'From Logicbroker'
  • Delist: When delisting a product in Logicbroker, it will completely remove the product or variant from Shopify
Duplicate SKUs
  • Suppliers: cannot have duplicate SKUs in their Shopify system - if duplicate SKUs are present, only the most recent product pulled into Logicbroker will be used when souring and creating orders
  • Retailers: will require a matching file if there are duplicate SKUs accross multiple suppliers 
Inventory
Supplier Flow: Shopify > Logicbroker > Retailer
Retailer Flow: Supplier > Logicbroker > Shopify
All items from Shopify will be pulled into Logicbroker as long as they are Active and have a SKU. Feeds are pulled in on a schedule, normally once an hour. Logicbroker will then send the inventory to the retailer based on the retailer's requested schedule. Suppliers should review retailer specifications to know what other fields are required by the retailer and to know if they need to upload a Matching File.
Stock Levels
  • If 'Track Quantity' is disabled, we will pull quantity of 1000
  • If 'Track Quantity' is enabled, we will pull the 'Available' quanitity from Shopify
  • If 'Coninue selling when out of stock' is enabled, we will pull the 'Available' quantity from Shopify
  • If any product has a negative quantity, we will pull in 0
Status
All SKUs in an Active status in Shopify will be pulled in. SKUs in a Draft or Archived status will not be pulled in. Inventory that was previously active and had a positive quantity will remain in Logicbroker. Suppliers will need to ensure they 'discontinue' the quantity being sent to their partner by zeroing it out in Logicbroker or working with their partner to remove the SKU from the Matching File. Inventory sent to retailer's Shopify will automatically have 'Track quantity' enabled and inventory will post to the location configured in Logicbroker. 

Gift cards
Gift cards are supported through inventory feeds as long as they have a SKU. To add a SKU to a gift card: 
  1. In the Shopify portal navigate to Products > Gift cards > View gift card products
  2. Select the one you want to add a SKU to
  3. Scroll down to Variants
  4. Add a SKU

Please note: Variant options on gift cards will not show up in Shopify when creating a new gift card, you'll be able to see it once the gift card has been saved.

Location
For suppliers, the Location setting in the portal controls where we pull inventory from. By default, we will pull inventory from all Shopify Locations unless a specific Location is specified.
For retailers, the Location setting in the portal controls where shipments and inventory are posted to. Products posted to Shopify will show the Logicbroker-specified and Shopify default locations but only pull inventory for the Logicbroker-specified location.

Orders
Supplier Flow: Retailer > Logicbroker > Shopify
Flow: Shopify > Logicbroker > Supplier
Orders are sent from the retailer to Logicbroker in any format (EDI, CSV, JSON, XML, etc.). Logicbroker then transforms the order data into a format Shopify can easily understand. In addition to transforming data, Logicbroker can also add data to orders, match retailer SKUs to suppliers' SKUs and more. Once we have transformed the data, we will post it to your Shopify account. 

Orders sent to suppliers
When posting orders to supplier's Shopify, Logicbroker will use the order routing rules configured in the supplier's Shopify. If the supplier has:
  • 1 Store Location - all orders will be routed to that one store
  • Multiple Store Locations - orders will be sent to the location depending on the order rules configured in Shopify (in Shopify, see Settings > Shipping and delivery > Order routing)

Sourcing orders for duplicate SKUs
When sourcing orders and posting them to a supplier's Shopify system, Logicbroker will ignore SKUs in an 'Archived' status in the case where there are duplicates found and one is 'Archived' and the other 'Active'.

Duplicate orders
When an order is reprocessed in Logicbroker it will be sent into Shopify as a new order. Shopify does not have a duplicate check so suppliers will need to monitor reprocessed orders in Logicbroker and archive or delete duplicate orders in Shopify.

Accepted order types
  • PO Box - Carrier dependant
  • International Addresses - May require customs information if the label is created in Shopify

Acceptance Acknowledgments
Flow: Logicbroker > Retailer
Acceptance Acknowledgements are automatically created on your behalf and sent to your retailers by default. If you wish to disable this, reach out to support@logicbroker.com and let us know for which partner(s) you would like us to turn this off. If you wish to manually acknowledge orders (accept, reject, cancel, backorder), you may do so through the Logicbroker portal. 

Cancellations and Backorders
Supplier Flow: Logicbroker > Retailer
Retailer Flow: Supplier > Logicbroker > Shopify
Cancellations and Backorders will need to be created manually in the Logicbroker portal through Acknowledgment documents. Once created, they will be sent to the retailer. Suppliers should review retailer specifications to know what types of acknowledgments are accepted. 

Partial Cancellations (Retailer Flow)

Suppliers can partially cancel orders through the portal. Logicbroker will post cancellations to the retailer's Shopify account. See order and fulfillment statuses depending on the scenarios below:

  • Orders with free shipping fully canceled using multiple cancellations will show:
    • Fulfillment status: Unfulfilled

    • Payment status: Refunded

  • Orders with paid shipping (order or line level) fully canceled using multiple cancellations will show:

    • Fulfillment status: Unfulfilled

    • Payment status: Partially Refunded (we are not refunding shipping)

  • Orders with free shipping fully canceled using one cancellation will show:

    • Fulfillment status: Unfulfilled

    • Payment status: Partially Refunded

    • Order status: Canceled

Note: Logicbroker does not fully refund or calculate refunds for shipping costs. The restock type we post back to Shopify is no_restock so there is no interference with inventory levels.


Shipments
Supplier Flow: Shopify > Logicbroker > Retailer
Retailer Flow: Supplier > Logicbroker > Shopify
Shipments created in Shopify are sent to Logicbroker on a schedule (normally once an hour). Once in Logicbroker, they are sent out to the retailer. There are 2 types of transactions in Shopify used to 'ship' an order:
  • Shipments: shipping label is created in Shopify
  • Fulfillments: tracking is manually input into Shopify

Multi-box shipments
Multiple boxes on a single shipment are not supported through Shopify. However, suppliers can create multiple partial shipments/fulfillments if they need orders to be separated into multiple boxes. 

Invoices
Flow: Logicbroker > Retailer
Invoices are automatically created on your behalf and sent to your retailer by default. If you wish to disable the Create Invoice from Shipment setting, in the portal navigate to Settings > Account Information > Document Settings > Shipment Settings > toggle off Create Invoice From Shipment either as a whole or by partner.  If you wish to manually invoice orders, you may do so through the Logicbroker portal.

Packing Slips
Supplier Flow: Logicbroker > Shopify
If you are working with a retailer that has a packing slip mapped in Logicbroker, it will be sent as a PDF link in the Notes field of the order in Shopify. Clicking this link will allow you to download 
and print the packing slip of the individual order you are on (you may need to be logged into the portal for the link to populate). You can also download and print packing slips in bulk directly through the Logicbroker portal.

Fields and custom mappings
InventoryProductsOrders Shipments
Required Logicbroker Field Shopify Field
Supplier SKU Variant SKU
  UPC Variant Barcode

⚠️ Note

Logicbroker will populate the UPC using Shopify's Variant ID on the order if the Partner SKU is not matching up with the Supplier SKU.

  Quantity Variant Inventory Quantity
  RetailPrice Variant Price
  SupplierDescription Variant Title

⚠️ Note

Logicbroker maps SupplierDescription to Shopify's Variant Title, not the item Handle

If no Variant Title is present, Logicbroker will default the description on orders to 'Default Title.'

Field Pulled from Shopify Sent to Shopify Notes

Name

In Shopify:" 'Title'

 

Variant Name

In Shopify: 'Options'

For products with no variants: this will show as 'Default Title'

For products with variants: this will show as option values (ex. Gray / Small). 

Description  

Images

In Shopify: 'Media'

Variant images will show in 'Image 1' with main product images starting at 'Image 2'

SKU

 
Barcode  
Price  
Compare At Price  

Taxable

In Shopify: 'Charge tax on this product'

 

Tax Code

 
Cost   

Requires Shipping

In Shopify: 'This is a physical product'

 
Weight  
Weight Unit  
Country Code of Origin  
Harmonized System Code  

Option Name

Up to 3 supported
Option Value  
Metafields

Only text-formatted fields are supported. This is informational only and will not be sent to retailer's Shopify.
Category  
Product type This is informational only and will not be sent to retailer's Shopify.
Vendor  
Tags

This is informational only and will not be sent to retailer's Shopify.

All products sent to retailer's Shopify will be tagged with 'From Logicbroker'

Requirements
Setup
See our Connect to Shopify Quick Start Guide for setup instructions and to see the connector in action.

Connect to Shopify

Supported Apps

Shopify Bundles

  • Shopify App: Shopify Bundles
  • How it works: Retailers can create "bundles" using the Shopify Bundles app that customers can add to cart and purchase. When the order is created, the "bundle" gets split out into individual lines with the bundle price prorated across the lines. When Logicbroker pulls orders containing bundles, we will create POs for the individual lines and send it to the suppliers to fulfill those lines. 

 

Troubleshooting and FAQs
Issue How to troubleshoot or resolve
Business rule failed > SupplierName_WF: TypeError: Cannot read property 'forEach' of undefined at Script Document [377]:4:19 doc.ShipmentInfos.forEach(function(info))

The order is missing information such as customer shipping info or shipping method. These fields need to be populated or added to the order in the portal.

Failed Order > -  Error posting order to Shopify API.  > API Error 422: {"errors":{"order":["Shipping lines is invalid"],"shipping_lines":[" Title can't be blank"]}}

Reach out to support@logicbroker.com. Internal setup may be missing info.ClassCode field setup

Error posting order to Shopify API > API Error 422: {"errors":{"line_items":["Unable to reserve inventory"]}}.

This normally happens when the SKU on the order is out of stock in your Shopify account. Make sure you have enough quantity to fulfill the order in Shopify, then click on More Actions > Retry in Logicbroker to resend the order

Orders not routing to the correct location

Logicbroker follows all order routing rules set up in Shopify. Make sure you have these set up according in Shopify > Settings > Shipping and delivery > Order routing

FAQ’s

What is the difference between Shipments and Fulfillments?

Shipments – shipping label is created in Shopify
Fulfillments – tracking is manually input into Shopify

 

Can I have Customer Contact Information sent on orders?

Yes. Logicbroker does not send customer data into Shopify since the Shopify Customer Number is unique and would not exist in both your's and your retailer's Shopify accounts. Sending the retailer's Shopify Customer Number on orders sent to your system will cause orders to fail. 

If you need Customer Information populated in Shopify, we can hard-code this field. To do so, go to Shopify > Customers > Add customer > create the profile of the customer you want to be defaulted (you can use your partner's information). Copy the Shopify Customer Number (found in the last segment of the URL) and send it to support@logicbroker.com and ask this field to be hardcoded. 



Can I have orders sent to me in a different payment status?

Yes, Logicbroker supports different payment statuses:

  • Status: Paid; Paid amount: $0 (default)
  • Status: Paid; Paid amount: order total amount
  • Status: Pending; Paid amount: $0

If you need a different Status and Paid amount sent aside from the default, reach out to support@logicbroker.com to have this set up.

 

What should I do if I have duplicate SKUs?

Supplier SKUs must be unique for products that are being sent to the retailer. If products are not unique, suppliers must fix duplicates on both the product and variant level. A workaround can be implemented if suppliers have duplicate SKUs for identical products (not different sizes, colors, styles, etc.) since our workaround will create orders using the latest uploaded product in our system. If you would like a workaround to be implemented to your account for identical products with duplicate SKUs, reach out to support@logicbroker.com to have this set up.

 

Also see Shopify's Help page.

Connector updates
Date Update
11/27/19

Add ability to Poll for Orders

Post inventory (quantity) updates

12/27/2019 Create orders specifying the customer ID
3/31/2020 Updated error message when posting unlinked shipments to Shopify
4/30/2020

Add mapping for ClassCode, ShipmentCost, ServiceLevelDescription on Orders to Shopify

Map Variant ID to UPC on outbound shipments from Shopify

7/13/2020

Supplier: Shipments map "province_code" from state

Retailer: Update Order Map to include:

    • [note] = note
    • [note_attributes] = ExtendedAttribute[Name="ShopifyNote_ {Name_of_Attribute}"]
    • [email] = ExtendedAttribute[Name="CustomerEmail]
    • Customer Address = OrderedByAddress
    • [customer.accepts-marketing] = OrderedByAddress.ExtendedAttribute [Name="acceptsmarketing"]
    • [discount_codes.code] = Discount.DiscountCode
    • [discount_codes.amount] = Discount.DiscountAmount
    • [discount_codes.type] = Discount.DiscountName
    • [shipping_lines.discounted_price] = OrderLines.ExtendedAttribute [Name="discounted_price"]
    • [line_items.discount_allocations.amount] = OrderLines.Discount.DiscountAmount

Retailer: Make financial status configurable when pulling orders

8/31/2020

Add customer address and email

Map tracking_company to class code for shipments

GDPR endpoint to receive notifications for GDPR requests

Do not pull shipments without tracking numbers

11/10/2020

Ship to and bill to phone added to Supplier orders

Inventory quantity will be updated based on location

11/30/2020 Location ID is now visible in the Portal through the Connections feature
2/1/2021 Customers can be notified when orders (placed through API) are shipped
4/6/2021

Supplier: Shopify tags to order on the header level

Supplier: UPC added to inventory map from barcode

6/1/2021

Supplier: Ship to email added to the order map

6/28/2021

Weight and UOM displayed on orders - acceptable UOM is grams 

Link to packing slips are accessible in the note field when posted to Shopify

7/28/2021

Support for custom fields to add additional details to the order

10/27/2021

Support to configure an order remorse period

2/9/2022

Map fulfillment service on inbound orders

6/22/2023

Stop pulling in products in a Draft and Archived status

 

 Related Content:

Was this article helpful?
0 out of 2 found this helpful

Comments

0 comments

Please sign in to leave a comment.

Didn't find what you were looking for?

Submit a request