A module to download new sales from a Shopify ecommerce store is available as a service for MoneyWorks Gold/Datacentre. Once setup, this allows you to download new Shopify sales into MoneyWorks at the click of a button.
The service is enabled in File>Manage Services (you will need to restart your MoneyWorks after enabling the service). You will also need to configure your Shopify store.
In the administration area of Shopify, you will need to create a new “app” that allows MoneyWorks to have read-only access to Orders using the Admin APIs (your store designer should be able to do this for you if you can’t figure it out — the Shopify documentation is a bit daunting). Creating the app will give you an Access Token which starts with “shpat_”. You need to enter this into the Shopify Settings in MoneyWorks (see below).
Prior to 2022, Shopify apps used an API Key and an API Password. If you already have an older app with access to Shopify orders, you can use these.
Having installed the Shopify service (and restarted MoneyWorks), choose Command>Shopify Settings (only users with Account Enquiry privileges can access this). The Shopify settings will open:
You first need to enter and check your store details.
- Enter your store URL. This will be something like mystore.myshopify.com.
- Enter the Access Token, or (if you are using a pre 2022 app) turn on the Use OLD APIs checkbox and enter your API Key and API Password.
- Click the Test button to check that MoneyWorks can access the store.
The MoneyWorks Settings determine how you want MoneyWorks to handle your Shopify transactions.
Transaction Type: The type of transaction to create (Receipt, Invoice, Sales Order).
Bank Account: If you are creating receipts, the bank account for the transaction.
Taxable Tax Code: For sales which have tax/GST/VAT applied to them, the MoneyWorks tax code to use.
Exempt Tax Code: For sales which are tax exempt, the MoneyWorks tax code to use.
Default Customer Code: The default customer code to use on transactions. For example you might set up a customer “WEBSALE” and use this. The customer must be a debtor.
Create New Customer Records: Turn this on if you want to match the sale to an existing customer, or, if a match cannot be found, to create a new customer record. The matching is done on the email address in Contact 1 of the customer record. New customer codes are generated based on the settings in Edit>Document Preferences>Terms.
Default Item Code: The item code to be used if the SKU on the Shopify store is not found in MoneyWorks.
Discount Item Code: An item for any Shopify discounts. This must an item that you sell (and is required even if you don’t intend to have Shopify discounts).
Freight Item Code: The item code for any freight (this must be an item in MoneyWorks of type Freight).
Gift Card Item Code: The item code for Gift Cards. This should be an item that you buy and sell. As the sale of a gift card imposes a liability until the card is redeemed, both the sales and expense account should be of type Current Liability.
When no delivery address, do not substitute billing address: When there is no delivery (shipping) address specified in Shopify, the Billing address will be inserted as the delivery address. Turn this option on if you want the delivery address to be left empty.
MoneyWorks Customisation Code: Although the Shopify service should “just work”, there are many permutations of settings and different ways that a Shopify store can be set up, and it may be that the script has to be “tweaked” to work with your store. If this is required you will be issued with a Customisation Code which needs to be entered here (otherwise leave this field blank). Note that such customisations will be charged for.
Once your settings are correct, click the OK button to save them.
Downloading Shopify Transactions
To download new sales from Shopify:
- Click the green Shopify Orders button on Transaction list toolbar. You will be asked for confirmation.
- Click OK to download new orders. Any new orders created since the last one listed will be downloaded. This may take a few seconds. Upon completion an alert will display the number of transactions downloaded.
- Click Specific Order to download a nominated order. You will be prompted for the ID of the order. If you want to reset the order id (so subsequent downloads will be orders made after this id), set the Reset Importing check box.
- The first time you download orders you need to “seed” it with the ID of the first transaction that you want to download (otherwise you risk importing lots of old orders). Use the Specific Order and Reset Importing to do this.
- If you are using the OLD APIs, the ID to use is the Shopify “name”, which corresponds to the ourref field in MoneyWorks. For the new APIs you need to use the Shopify ID, which is a 13 digit number. You get this from the administration area of your store, and it will stored in the transaction user5 field of any transactions imported from Shopify.
- Imports are limited to 25 transactions per batch. If you have more than 25 transactions you will need to repeat the Shopify Orders process.