How it works
Follow these 9 simple steps to automatically create Xero invoices from Shopify orders while managing customer contacts
Order Created
Order Created
Retrieve Shop
Retrieve Shop
Get List of Contacts
Get List of Contacts
Get List of Accounts
Get List of Accounts
Shopify Customer Exists in Xero
Shopify Customer Exists in Xero
Create Invoice
Create Invoice
Shopify Customer Does Not Exist in Xero
Shopify Customer Does Not Exist in Xero
Create or Update Contacts
Create or Update Contacts
Create Invoice
Create Invoice
Make it your own
Customize this workflow even further:
Add order tags or notes to invoice line items
Include Shopify order tags, notes, or custom fields in the Xero invoice description or line item details. For example, append gift message text, order source (online vs. POS), or fulfillment instructions to invoice notes. This provides additional context for accounting teams reviewing invoices in Xero.
Filter orders by financial status or fulfillment
Add a filter after the Shopify trigger to only create invoices for paid orders or fulfilled orders, rather than every order created. This prevents draft invoices for unpaid checkouts or abandoned carts. Use filters like "financial_status equals paid" or "fulfillment_status equals fulfilled" to control when invoices generate.
Include shipping and tax as separate line items
Modify the line items section to add shipping costs and taxes as distinct entries rather than incorporating them into product prices. Create separate line items using {{shopify.total_shipping_price_set.shop_money.amount}} and {{shopify.total_tax}} with appropriate Xero account codes for shipping revenue and tax liability accounts.
Send Slack notification when invoices are created
Add a Slack notification at the end of both paths to alert your accounting team when new Xero invoices are generated. Include order number, customer name, invoice total, and a direct link to the Xero invoice. This enables immediate review of high-value orders or flagging of potential issues before month-end close.
Frequently asked questions
What happens if a customer's email changes between orders?
If a customer uses a different email address for a new order, the workflow treats them as a new customer and creates a separate Xero contact. This can result in duplicate contacts for the same person with different email addresses. To prevent this, you could modify the workflow to search Xero by customer name in addition to email, or manually merge duplicate contacts in Xero periodically.
Can I create invoices in draft status instead of automatically approving them?
Yes, you can modify the invoice creation steps (Steps 6 and 9) to set the invoice status. Add a "Status" field to the invoice body with value "DRAFT" instead of leaving it as default (which typically creates submitted/approved invoices). Draft invoices allow you to review orders before officially issuing invoices to customers, useful for wholesale or custom orders requiring verification.
How are line items handled for orders with multiple products?
The workflow uses Liquid array syntax ({{shopify.line_items[].name}}) to iterate through all products in an order. Each product becomes a separate line item in the Xero invoice with its own description, quantity, and unit price. Shopify order line items map directly to Xero invoice line items, maintaining the same structure. If you have complex products with variants or customizations, these details appear in the description field.
What is a template?
MESA templates are fully pre-configured workflows built and vetted by Shopify Experts. Unlike competitor templates that provide basic scaffolds requiring extensive setup, MESA templates come with all data variables properly mapped, required fields configured, and steps ready to activate. You can turn them on immediately and start automating.
Can I customize a template?
Absolutely! While our templates work out-of-the-box, every step can be personalized to match your exact business requirements. Add conditional logic, integrate additional apps, or build more sophisticated workflows. MESA's templates provide a solid foundation that you can expand as needed.
Are templates free?
Yes! Our entire library of expert-built, production-ready templates is free to use. Unlike platforms that charge for premium templates or provide only basic scaffolds, MESA gives you access to hundreds of fully-configured, vetted workflows at no additional cost.
Ready to automatically create Xero invoices from Shopify orders while managing customer contacts?
Join thousands who've automated their work and saved an average of 3.5 hours every week.
Start with this template — It's free7-day free trial • 15 min setup • Cancel anytime