Shopify is an eCommerce platform which, combined with SalesPad Cloud's inventory prowess, allows you to manage your sales more effectively. The primary reason for integrating Shopify with SalesPad Cloud is to easily maintain accurate inventory tracking of your products. SalesPad Cloud pushes item quantity information to Shopify every ten minutes. When you receive product from vendors or adjust inventory in or out of your location via SalesPad Cloud, Shopify always has accurate quantities recorded. Customers visiting your website will always know what is in stock and what is sold out.
Another reason for integrating SalesPad Cloud with Shopify is to allow SalesPad Cloud to import your Shopify orders and run them through your Workflow process for picking, packing, and shipping. This gives you excellent visibility of where your orders are at in your process. Once the orders are completed and posted in SalesPad Cloud, that sales data is sent to QuickBooks Online during the next automatic integration (integrations run once every ten minutes).
For a quick visual representation of what happens when you integrate Shopify with SalesPad Cloud, check out this diagram:
- Shopify Product Setup
- Connect to Shopify
- After Connecting to Shopify
- Order Processing
- Shopify Integration Map
Shopify Product Setup
Before connecting Shopify to SalesPad Cloud, we recommend that you take the following steps:
- Complete your product setup in Shopify first. SalesPad Cloud does not support creating items with variants and does not push items to Shopify.
- Set your Shopify products' 'Inventory Policy' setting to "Shopify tracks this product’s inventory." This allows SalesPad Cloud to push quantities for that product.
- Create a unique SKU set on all products and variants in Shopify.
- If using 3rd Party fulfillment services, they should be disconnected. SalesPad Cloud will be handling fulfillment.
Connect to Shopify
Connecting your SalesPad Cloud account to your Shopify account is very simple. To get started, select Shopify from the Integrations dropdown in the upper right-hand corner of the screen.
Next, click the Connect to Shopify button.
Enter your Shopify store name to connect to SalesPad Cloud.
After Connecting to Shopify
On initial connection of Shopify with SalesPad Cloud, SalesPad Cloud imports items and automatically creates an adjustment in transaction for the item quantities. However, there are certain steps that must be completed before the connection is considered live.
Items in SalesPad Cloud
First, let's go over the details of what happens when products from Shopify are imported into SalesPad Cloud.
Items are created in SalesPad Cloud per product/variant in Shopify. Below is an example of a Shopify product with one variant.
Once this product is imported into SalesPad Cloud, it displays as shown below. Notice that the variant is separated from the product name by " - ".
If a product had an additional variant, the variants would be separated by a " / " in SalesPad Cloud.
Below is what the SalesPad Cloud Item card looks like for this Shopify product.
SalesPad Cloud pulls in the following properties from Shopify and maps to these fields:
|Main Item Image||Item Image|
After SalesPad Cloud has imported your Shopify products, you can edit item properties in SalesPad Cloud. Any changes made to item properties in SalesPad Cloud will not be pushed back to Shopify. There are positives and negatives to this.
- Product descriptions are generally very long in Shopify. Your customers most likely want access to a lot of information when buying a product. SalesPad Cloud, however, since it is not customer-facing, does not need to have paragraphs of information in the item descriptions in order to process the orders. We recommend short-handing or removing the Shopify product description from the items in SalesPad Cloud. You can do this easily via the import/export feature.
- As with product descriptions, Shopify product names can be long. For example, Shopify might have "SalesPad - Go With The Workflow Yellow T-Shirt" as the product name, but in SalesPad Cloud, you can shorten the name to only the part number, which is Go With The Flow. Products/items in both systems map on SKU, so as long as the SKUs match, you can have separate product names that suit the purposes of either system.
- If you need to update product prices, and you want Cloud & Shopify to have the same prices, you need to do it in both systems. When Shopify orders pull down to Cloud, the items on the order will use the price from Shopify. This could be considered a benefit which allows you to have different pricing for an item depending on if it’s sold on your website or by phone or other sales channel. Example: Widget A is $9.99 on our website but its $12.99 if you place a phone order. If you create the order in Cloud and add the item, it would use the price specified in Cloud. If the order came down from Shopify it would use the price specified in Shopify.
Note: Items created in SalesPad Cloud do not push to Shopify. To insure that your products in Shopify match your items in SalesPad Cloud, always create the product in Shopify and make sure the SKU matches in both systems. Products created in Shopify after the initial connection to SalesPad Cloud will be imported into SalesPad Cloud the next time the integration runs (integrations run every ten minutes).
Adjustment In Transaction
An adjustment in transaction was automatically created when SalesPad Cloud was connected to Shopify. This adjustment contains all items that have quantities specified in Shopify.
Since Shopify does not support item cost, you will need to enter in the Unit Cost for each item on the adjustment. Make sure you have the correct Location specified on the adjustment. The default Location is MAIN. Post the adjustment in to update the item quantities and cost in SalesPad Cloud.
If your inventory quantities are not accurate in Shopify when you connect to SalesPad Cloud, you can do a physical count and update the Item Qty column on the SalesPad Cloud adjustment before posting. Keep in mind, though, that once the integration is live, SalesPad Cloud will push item quantity information to Shopify every ten minutes. Even if the item quantity in SalesPad Cloud is 0, it will overwrite the quantity in Shopify. It’s very important to make sure that your quantity and cost information is correct in Cloud before setting the integration live.
Note: Inventory levels are sent over to Shopify as a sum of all available inventory in the default Shopify Location for a particular item. Switching the default Shopify Location will flip inventory quantities to the new warehouse.
Establishing a Workflow for Shopify order is optional, but if this is something you want to do, make sure you complete these steps before setting the integration live.
All Shopify orders push to SalesPad Cloud as Sales Receipts. By default, Sales Receipts use the default Sales Workflow in SalesPad Cloud. If you want to separate your Shopify documents from your other channels, you can create a new Sales Document Type and name it Shopify Orders, or a different name if you prefer.
Once you've created the Sales Document Type, you can create a Workflow specific to your Shopify Orders and assign that Workflow to your new Sales Document Type. When Shopify documents integrate into SalesPad Cloud, they’ll use the Workflow you specifically designed for those documents.
You can do the same for Shopify Returns if you want them to be separate from other returns you create.
There are several important system settings in SalesPad Cloud for the Shopify integration.
Please review the hints next to each setting for more information. Noteworthy settings are mentioned below.
Default Shopify Location - This is the Location used on all Shopify orders that push to SalesPad Cloud. The default location is MAIN, which is also the setting default. There is no need to change this setting unless you have multiple locations/warehouses. Inventory levels are sent over to Shopify as a sum of all available inventory in the default Shopify Location for a particular item. Switching the default Shopify Location will flip inventory quantities to the new warehouse.
Default Shopify Receipt - Choose the receipt type to use for your Shopify orders. If you completed the Workflow section above, you will see options other than the default Sales Receipt.
Shopify Integration Is Live - Checking this box will set the integration to live. Once live, the integration will push item quantities to Shopify and import orders every ten minutes. Be sure your items and quantities are correct in SalesPad Cloud before enabling this.
Note: We recommended using the defaults for settings not mentioned.
The intention with the Shopify integration is for Shopify orders to be processed in SalesPad Cloud. Once the orders are processed and posted, SalesPad Cloud will send necessary updates to the orders in Shopify.
After the Shopify integration is set to live, SalesPad Cloud will only import Shopify customers associated with open orders; it will not pull in your entire customer list. If the customer name already exists in SalesPad Cloud, it will not be duplicated. This allows you to use the same customer for Shopify orders, phone orders, or other channels you use to sell your products. You’ll be able to see all associated sales documents for that customer on the Customer card.
Once imported from Shopify, the customer is created in SalesPad Cloud with the contact information from Shopify. If there are customer notes from Shopify, they will be visible on the Customer card's Notes tab.
After the Shopify integration is set to live, SalesPad Cloud will only import open orders from Shopify. Drafts, cancelled orders, and archived orders will not be imported. All imported Shopify orders are created as sales receipts in SalesPad Cloud and use the same document number that was assigned to them in Shopify. This allows for easy reference back to the original Shopify order, if needed.
If you utilize Workflow in SalesPad Cloud, the Sales grid will display any orders that have been imported. SalesPad Cloud imports from Shopify every ten minutes.
When a Shopify order is imported, the sales document created in SalesPad Cloud has the customer assigned, along with the billing and shipping information and their email address. The document’s Location is set to the Location specified in the system settings (see System Settings above). If a note was entered on the Shopify order, it will be visible on the SalesPad Cloud document's Notes tab.
Sales lines will automatically allocate and fulfill if quantity is available. If inventory is not available, sales lines will be back-ordered and can be purchased. If you use the Custom Item feature in Shopify, SalesPad Cloud will add the item to the document as an item-less line (shown above). The item’s price comes from Shopify, even if that item’s price is different on the item card in SalesPad Cloud. Line discounts applied in Shopify will be visible in the Discount and Discount % columns in the SalesPad Cloud sales line grid.
Every order from Shopify will have a Shopify Tax item (non-inventory) automatically added. This item holds the entire order tax amount calculated from Shopify. SalesPad Cloud do not put this in the Tax field on the sales document in SalesPad Cloud, because tax would then be recalculated and potentially be different than the amount that Shopify calculated.
Discount and shipping charges applied to a Shopify order are visible in the footer of the SalesPad Cloud sales document in their respected fields. If you are using ShipStation to ship your orders, the actual shipping amount will not overwrite the shipping value pulled from Shopify. If you charged your customer $10 for shipping, but the shipping amount was $13.95 when shipped through ShipStation, the document will still show the amount charged from Shopify. This is intended functionality.
Note: Payments taken in Shopify are not imported into SalesPad Cloud. Please see the Refunds section of this document for more information.
If you are shipping your orders through ShipStation, the tracking number from ShipStation will write back to the SalesPad Cloud document's Tracking Info tab. If you're not using ShipStation or any other integrated shipping solution, you can manually add a tracking number in this tab. The tracking number will write to the Shopify order after the document is posted in SalesPad Cloud.
Posting a document in SalesPad Cloud triggers updates to the order in Shopify the next time the integration runs (which is every ten minutes). SalesPad Cloud will send the tracking number, set the order status to Fulfilled, which sends a shipping confirmation to the customer, and archive the order.
Cancelled Orders and Refunds
Orders must be cancelled in Shopify in order to allow for refunding payments. If the Shopify order has already been pulled into SalesPad Cloud, it will automatically be marked as void the next time the integration runs. If the order was created in Shopify but not yet integrated into SalesPad Cloud, SalesPad Cloud will not import it, due to it having a cancelled status. Refunds must be conducted in Shopify for the same reasons. If a user only performs a refund in Shopify and doesn’t cancel or archive the order, no updates will be sent to the document in SalesPad Cloud.
Note: If the sales document is voided in SalesPad Cloud instead of Shopify, the order will remain open in Shopify and the customer will not be refunded.
Returns are a two-step process. A return must be created in SalesPad Cloud in order to put the inventory back into the system, and a refund must be done on the order in Shopify to refund payment to the customer. You can do this in reverse order if needed. We recommend having a Shopify Returns Workflow set up to help with the return process. Using the Workflow example explained above, we recommend using the following process for creating a return and a refund.
When the customer calls and says they will be returning product, have the customer service representative create the return (this should be a Refund Sales Document Type) from the posted document in SalesPad Cloud. Next, the document needs to be forwarded to the Waiting for Product batch.
Open the historical sales document and select Return Document from the More Actions menu. Select the Return Type on the left-hand side of the window that appears and specify the quantity to return for each item.
The Shopify tax item will always have a quantity of one, but you can use the Unit Price Override column to enter the correct tax amount to return. In the example pictured above, we're returning two out of four T-shirts, which means that half of the tax amount charged should be returned. Even though SalesPad Cloud isn’t creating the actual refund payment to the customer, for reporting reasons it’s important to be accurate with the return amount.
The return sales document is created with the same Location used on the order. If you need to reference the original order number from the return, you can find that in the Links tab.
Forward the document to the next batch in Workflow.
When the warehouse receives the returned product, have the warehouse user inspect the items to determine if a refund will be given. If a refund is deemed necessary, forward the return sales document to the Refund in Shopify batch.
After inspecting the returned items, choose the warehouse you want to send the returned inventory to on the return sales document. If you deal with defective items on a regular basis, it is recommended that you create a separate Location in SalesPad Cloud specifically for returned items (you might want to call it Returns or Damaged). Locations can be set for the document as a whole, or they can be set on the line-item level. For example, if you have three items and one is defective, you might want to send the defective item to a separate Location than the other three items. Alternatively, you might choose to have all returned items sent to a specific Location, then perform inventory transfers into your MAIN Location for items that you can still sell.
If no refund will be given, the return still needs to be completed in order to update inventory. The return can be posted in the Waiting for Product batch. If a refund is due, have the customer service representative refund the order in Shopify and post the return sales document in Cloud. Don't forget that you can batch post returns at the end of the day to save time.
Note: Inventory quantities are not updated until the returns are posted.
If your Shopify integration is set to live, SalesPad Cloud is managing all Shopify inventory. SalesPad Cloud syncs inventory quantity information every ten minutes. Do not update quantities directly in Shopify, as this information will be overwritten the next time the integration runs.
Keep in mind that Shopify inventory information is based off of the SalesPad Cloud Location specified in the System Settings. If your company is operating with multiple Locations, SalesPad Cloud does not push a sum of all Location quantities to Shopify. Only one SalesPad Cloud Location can be linked to Shopify. Also, you cannot manually decide which items receive quantity updates; either all items do, or none of them do. If you create a purchase receipt for 1,000 of Widget A in SalesPad Cloud, and that item exists on your Shopify site, the quantity will be updated in Shopify.
Shopify Integration Map
For detailed information on how data is mapped when Shopify and SalesPad Cloud integrate, click on a dataset below:
Shopify Default Address First Name/Last Name
or First Name/Last Name
|Company Name||First Address Company|
|Contact (both Billing and Shipping)|
|First Name||First Name|
|Last Name||Last Name|
|Contact Person||Customer Name as generated earlier|
|Address (both Billing and Shipping)|
|First Name||Address First Name|
|Last Name||Address Last Name|
|Address 1-2||Address Address 1-2|
Item Master Import
Item Masters are only mapped when initially added from Shopify. Items are first matched Sku to Variant SKU, then Item Number to Product or Variant Title, then UPC to Variant Barcode.
If inventory tracked in Shopify then Inventory
Otherwise, Non Inventory
|Item Description||Product Body HTML|
|Item Number||Either Product or Variant Title combined with Product Title|
|List Price||Variant Price|
Sales Receipt Export
Sales receipts are mapped when posted, voided, or when a tracking number change occurs.
|Posted||Document Status set to Archived|
|Voided||Document Status set to Cancelled|
|Tracking Number||Add fulfillment per new Tracking Number|
Sales Receipt Import
Note: SalesPad Cloud does not import direct updates to Shopify documents. Only new Shopify documents are mapped.
|Sales Doc Num||Order Number|
|Sales Document Type > Shopify Integration Settings||Default Receipt Type|
|Customer Name, Contact, Address||See Customer Import map for mapping details|
|Doc Date||Created At|
|Tax||Total Tax (added as a line called Shopify Tax as configured by Shopify Integration Settings > Shopify Tax Item)|
|Fulfillment Date, Ship Date||Fulfillment Created At Date|
|Shipping Amount||Shipping Lines Summed|
|Location||Default Shopify Location as configured by Shopify Integration Settings|
|Item Number||Item Number|
|Item Description||Item Description|
|Item Group||Item Group|
|Unit Price||Unit Price|
|Extended Price||Quantity * Unit Price|