Integrate Shopify and Xero - Save Time with This Simple Ecommerce Zapier Automation

Managing your books can take up a lot of your time, especially if you're running an ecommerce store. However, what if you could automate the process and free up countless hours of work each week?

Integrate Shopify and Xero - Save Time with This Simple Ecommerce Zapier Automation

Managing your books can take up a lot of your time, especially if you're running a growing ecommerce store. However, what if you could automate the process and free up countless hours of work each week?

That's where Zapier comes in! Zapier is a handy automation tool that links up with all your favorite apps, enabling you to create efficient workflows that simplify your business processes.

Whether you use Xero, Quickbooks, Wave Accounting, or some other accounting software, Zapier's got you covered with a vast ocean of rich integrations.

So if you host your ecommerce store on Shopify and are looking to automate your workflows in Xero then this simple automation will be perfect for you.

In this tutorial, I'll show you how to integrate Shopify and Xero with Zapier.

You'll learn how to automate bank transactions and invoices in Xero whenever you get a new order in your Shopify store. We'll cover the following ...

  1. Setting up the Shopify and Xero plugins in Zapier
  2. Implementing the Shopify trigger event in your Zap
  3. How to create bank transactions in Xero automatically
  4. How to create invoices in Xero automatically

By automating data transfer between your Shopify app and Xero, you’ll be able to spend less time in your accounting software and more time growing your business. So, let's get started!

Setting Up The Shopify and Xero Plugins in Zapier

To add the Shopify and Xero apps in Zapier, go to 'My Apps' and click on 'Add Connection.'

Find the Shopify app by searching for it, and it will appear below the search bar. Click on it, and a new window will open.

In this step, you're giving Zapier permission to use your Shopify account. To do this, enter your username in the blank space between https:// and .myshopify.com/ in the URL at the bottom of the page.

You'll be redirected to Shopify to log into your account. Once you've logged in, you'll see a page that lets you install the Zapier plugin.

Just click the 'Install app' button in the top right corner, and the plugin will be installed completing the Shopify integration.

When you install the app, you're giving Zapier permission to view and make changes to your customer and store data.

If you return to your Zapier apps, you'll notice that the Shopify app connection for the account you selected is now available.

Now, you need to add the Xero app to Zapier. It's the same process as adding the Shopify app. Just click 'Add connection,' and add the app. You'll be taken to a Xero login page.

After logging in, you'll be directed to the Zapier installation page in Xero. Just click 'Allow access,' and the Xero Zapier integration will be complete.

By installing the app, you're allowing Zapier to read and update your:

  • Organization settings
  • Attachments
  • Business transactions
  • Contacts
  • Reports
  • General ledger
  • User account info

Implementing The Shopify Trigger Event

Head to your Shopify store and make a test order. Next, create a new zap in Zapier, choosing the Shopify app as your trigger. For the event, select 'New Order.'

With this trigger event, the zap will fire off whenever a new purchase is made in your Shopify store.

Because you already created a Shopify account connection, you're account will automatically be added.

When you test the trigger, Zapier will look for the most recent open orders in Shopify. As shown above, Zapier found my latest test order in Shopify. The information returned by Zapier includes:

  • Client details
  • Product name
  • Product description
  • Product price
  • Product quantity

Once your trigger is working, you can proceed to the next step - automatically creating new bank transactions in Xero.

Create Bank Transactions in Xero Automatically

Add an action step and select 'Xero' as the app. For the event, select 'Create Bank Transaction.' This will create a new spend/receive money bank transaction in Xero.

Since you've already connected your Xero account, your account will be added automatically.

Choose your organization and transaction type. The available options for transaction type include:

  • Spend Money (Direct Payment)
  • Spend Money (Prepayment)
  • Spend Money (OverPayment)
  • Receive Money (Direct Payment)
  • Receive Money (Prepayment)
  • Receive Money (OverPayment)

Since we're receiving money from Shopify for an order, I chose 'Receive Money (Direct Payment)' for this example.

Next, choose the client that you want to link with the bank transaction by using the client field dropdown. This will present a list of existing clients in Xero.

If the client value is dynamic, you can add a search step to locate an existing client in Xero using the output data from Shopify. Then, you can use custom data to link the client ID from the output of the search step to the contact field in the create bank transaction step in Xero.

With Zapier, you can add a transaction date and reference. For this example, I used the 'Updated At' date value from Shopify to populate the 'Date' field.

Next, you'll need to specify the line item columns for the bank transaction, which include:

  • Item Code
  • Description
  • Quantity
  • Unit Price
  • Account
  • Tax Rate

If you don't have an item code, you'll need to provide a description and unit price.

Then, you'll map the relevant values from the Shopify order trigger to the description, quantity, and unit price fields.

The 'Account' field displays a complete list of accounts in Xero. In this example, I chose the 'Sales' account.

If you want to change the default tax type for the account, use the 'Tax Rate' field. You can pick from the following options: 'Auto Look Up,' 'Sales Tax on Imports,' 'Tax Exempt,' or 'Tax on Purchases.'

If your Xero bank transactions require multiple line items, you can add a line-itemizer step to create multiple line items for each line item field. If you're unsure how to do this, check out my tutorial on line items here.

Test this step and a new bank transaction will be created in Xero.

In the screenshot above, you can see that Zapier has successfully created a new bank transaction in Xero. If you click on the contact name, Xero will show you more information about the bank transaction.

As you can see, all of the line-item fields are filled with data from Shopify, except for the Item Code.

Creating Invoices in Xero Automatically

To create invoices in Xero automatically, add another Xero action and select 'Create Sales Invoice' as the event.

Select an organization and link customer data from Shopify to the 'Contact Name' and 'Email Address' fields in Xero.

Use the 'Status' field to specify the status of invoices generated in this step. Zapier offers three options: 'draft,' 'Submit for Approval,' and 'Approved.' For this example, I set the invoice status to 'Approved.'

The 'Date' field is optional. If you don't fill it in, the invoice creation date will be used.

However, if you mark your invoice as 'Approved,' you need to provide a due date, as we did previously.

There are additional fields available for invoices, such as currency, URL (which links to a source document), attachment, branding theme, invoice number, reference number, and sent to contact. In this example, we chose to leave all of these fields blank.

Next, populate the following line item fields:

  • Item Code (optional)
  • Description (if item code is blank, this field is required)
  • Quantity (required)
  • Unit Price (if item code is blank, this field is required)
  • Account (required)
  • Tax Rate (required if your account doesn't have a default tax type)
If your invoices require multiple line items, you can add a line-itemizer step, which will create multiple line items for each line item field. If you're not sure how to do this, you can check out my tutorial on line items by clicking here.

After you finish mapping the line items, you can proceed to test this step, which will create a new invoice in Xero.

As shown in the screenshots above, a new invoice with the specified line item data from Shopify was successfully created in Xero.

Every invoice has a unique invoice number, and our test invoice is assigned the number 'INV-0006.' The invoice number is always included in the Zapier output data. Therefore, if you're unsure whether the invoice was successfully created or not, simply compare the invoice number displayed in the output data with the invoice number in the invoice table in Xero. If the invoice numbers match, then the invoice was successfully created.

To automatically send new invoices to clients, add another Xero app action. Select 'Send Sales Invoice by Email' as the event. With this action, a new invoice will be sent to the specified client after it's created in Xero.

As with the previous actions, select your organization. To use custom data for the invoice number, use the invoice ID value from the previous step, 'Create Sales Invoice.' You don't have to specify the email recipient in this step; Zapier will use the email already associated with the invoice. If you specified an email recipient in the previous step, you're all set and can proceed to test.

Invoice email sent from Xero
Invoice details with line item field data from Shopify

As shown in the screenshots above, the test was successful, and the created invoice was emailed from Xero. The invoice line item fields contain populated data from the Shopify order.

New Ecommerce Automation Possibilities

With Zapier in the picture, you can automate an enormous number of Shopify and Xero tasks. Take a look at the table below, and you'll find over a dozen additional Shopify/Xero trigger and action events that you can use.

Using Zapier to automate your Shopify store and Xero bookkeeping can save you countless hours of work every week.

This simple automation will streamline your accounting workflow and allow you to focus on growing your ecommerce store.

You'll spend less time managing your back office and more time selling products, faster. With Zapier, the possibilities for automation are endless, and we've only just scratched the surface.

Please let me know if you have any questions about this tutorial. If you found this helpful, please consider subscribing to my newsletter.  


What are you trying to automate and why? I'd love to know!

Do you have an idea for a tutorial?  Share it in the comments!

Need help with an automation? Hit me up - hello@joshnocode.com

I write weekly about business process automation hacks. If that's something you're into, join me, and let's automate together.