How to Send Orders to Shopify
Some merchants may need to send orders from other carts to Shopify for fulfillment through a Shopify app. This guide will show you how to set up a rule to do this and then how to get the shipment info back to Order Desk and back to the customer.
IN THIS GUIDE
Sending Orders to Shopify
Checkout Data Features
Keeping the Same Order Number
Shopify Variant ID
Vat Taxes
Getting Shipments from Shopify
Sending Orders to Shopify
To send orders to Shopify, create a rule that tells Order Desk which orders you want sent.
From the Rule Builder, select the Order Rule rule type:
Select the event that will trigger the rule to run. Most merchants will choose Order is Imported.
Next set the filters that will tell Order Desk which orders should go to Shopify (for example, all Amazon orders), and select the Submit Order to Shopify action:
This is just one example of a rule that can be made.
Depending on where your orders are coming from and which orders (if not all of them) need to be submitted to Shopify, you will need to create the necessary filter(s) for this rule to work properly. For more information on the Order Desk Rule Builder, read the How to Work with Rules guide.
Checkout Data Features
Checkout Data is a field in each order in Order Desk that gives you a place to store custom data about your order. We have a few special features that can be added as checkout data to your orders to pass information through to Shopify.
Checkout Data can be set manually on each order:
Or it can be set automatically with a rule using the Set Checkout Data Value action.
The following checkout data or order metadata fields can be used to pass information through to Shopify:
DraftOrder | Set to 1 in order to create a new draft order instead of sales order. Please be aware that if fulfillment is added to a draft order in Shopify, Shopify will automatically create a new, live order that is no longer linked to Order Desk, and the fulfillment will not be added to the draft order. Because of this, Shopify will not pass shipment information back into Order Desk on any orders sent as a draft. |
SendInvoice | Set to 1 to send the draft order invoice using the default at Shopify. |
FulfillmentStatus | Pass the fulfillment status of the order through to Shopify so the order can be updated there with the same status. Default is set to null (same as open). Set to "fulfilled" to close the order in Shopify. |
FinancialStatus | Pass the financial status of the order. Available values are: pending, authorized, partially_paid, paid, partially_refunded, refunded, voided |
Currency | The three-letter code ( ISO 4217 format) for the currency used for the payment (optional) |
ShopifySendFulfillmentReceipt | Determines whether a fulfillment confirmation will be sent to the customer. Enter true or false. Defaults to false. |
ShopifyInventoryBehavior | Options are decrement_ignoring_policy, decrement_obeying_policy, or bypass. Default is bypass. |
SourceName | Add the source name to pass it through as the SourceName in the Additional Details section of the order in Shopify. |
SetOrderNumber | To send the original order number through to Shopify, set value to 1. For more information, scroll down to Keeping the Same Order Number. |
ShopifyNoPrices | To send orders through to Shopify with the prices removed, set checkout data value to 1. |
ShopifyTags | Add any tags you want to have passed through to Shopify. Separate multiple tags with a comma. |
ShopifyNote | Add a note you want to have passed through to Shopify. |
shopify_submit_override | Set to 1 to send an order back into the same Shopify store. Must be set as order metadata. |
vat_tax | Set the VAT tax to have it passed through to Shopify instead of the order tax total. For more information, scroll down to the Vat Taxes section. |
Keeping the Same Order Number
When sending orders to Shopify, by default, they will show up in Shopify with the order number Shopify assigns to them. If you'd like to keep the same order number on the order when it gets to Shopify, you will need to set some checkout data on the order: SetOrderNumber=1.
Checkout data can be added manually to orders from the top right of the order details page:
It can also be added with a rule so you can apply it to all orders or specific ones, automatically, depending on the filters you set. The rule without any filters, to apply to all orders, would look like this:
Shopify Variant ID
While Order Desk matches products by SKU, Shopify matches products by their Shopify Variant ID. When sending orders to Shopify, if you need the products in the order to sync with your products in Shopify, they'll have to have the Variant ID attached to them. We'll go over how to set this up properly in this section of the guide.
First, though, if your products coming into Order Desk have SKUs that don't match the SKUs you have in Shopify, you'll need to replace those SKUs as soon as orders are imported to Order Desk. This is done with an item metadata field called code_replace. For detailed instructions on how to set this up, please read through our Code Replace guide. Once you have your products saved here in Order Desk with code_replace added to them, you can move on to the next step for how to get the Shopify Variant IDs in Order Desk.
If your SKUs already match the SKUs you have in Shopify, you can skip the code replace step and instead go straight to importing your Shopify products with their variant IDs.
The Shopify Variant ID is an item metadata field similar to code_replace. When we send through an order to Shopify, if the variant ID is attached to any products in the order, Shopify will know what those products are and will sync them into the products you have saved there. To get this metadata field onto your items here in Order Desk, you'll need to import your items from Shopify.
In your Shopify integration settings on the right side of the page you'll see where you can import your items.
Click the Import Inventory Items Now button for Order Desk to automatically pull in all of your Shopify products with the Variant ID included as metadata.
You will also need to make sure your store is automatically syncing inventory items into orders as they are imported. To check this, go to your Store Settings page and under the Inventory Settings over on the right side of the page, make sure the Add Inventory Details to Order Items option is enabled:
With these settings in place, when an order comes in, it will look for the same item here in Order Desk. If it sees code_replace on the item, the code will be swapped out with your Shopify SKU, then it will look at your Shopify products and sync any variant IDs into the appropriate items in the order. This will all happen automatically so the order can be sent to Shopify for fulfillment right after it imports to Order Desk.
Vat Taxes
If your store handles VAT taxes and you need these included with your orders when sent to Shopify, you can set them as either a Checkout Data field or a Metadata Field called vat_tax.
If vat_tax is saved as checkout data or metadata, that value will be used instead of the order tax total, and the taxes will be included when orders are sent to Shopify.
This will automatically be done for orders from Amazon Marketplace EU.
If you need to set this up to happen automatically for orders from any other shopping cart integrations, create a rule with the action Set Checkout Data Value - vat_tax|{{ tax_total }}
If you have some orders that will have VAT tax and others that won't, use filters in your rule to apply only to the specific shipping countries necessary, or, if they are all coming from one integration but not another, you can set a filter for the order source to equal the integration that is importing orders with VAT taxes.
Getting Shipments from Shopify
Once an order is fulfilled in Shopify, you can pull the shipment info back into Order Desk. To make sure this info is synced back to the order, go into your Shopify integration settings and enable the Download Shopify Shipments setting.
With this setting enabled, orders that have been sent to Shopify will be marked as closed and tracking info added as that information is updated in Shopify.
Check the shopping cart integration where the orders came from (not Shopify) for a Sync Tracking Numbers setting, and enable it to pass the shipment info back through to the cart.
Alternatively, you can set up an email template to send a shipment notification to your customers directly from Order Desk. For instructions on how to do this, read the Sending Tracking Details to Customers guide.