Shopify to Xero Automated Invoice & Payment Sync (Make.com)

Eliminate manual bookkeeping by automatically syncing Shopify orders to Xero invoices with real-time tax and inventory reconciliation.

Tools: ShopifyXero

Platform: Make.com

Short Answer

A fully automated Make.com scenario that creates a Xero contact, generates a detailed sales invoice for every Shopify order, and records the payment against the correct ledger, ensuring 100% financial accuracy.

The Problem

E-commerce businesses often face data discrepancies and 'reconciliation nightmares' when manually entering Shopify sales into Xero. This leads to inaccurate VAT/GST reporting, duplicate contact entries, and delayed financial visibility.

The Outcome

A fully automated Make.com scenario that creates a Xero contact, generates a detailed sales invoice for every Shopify order, and records the payment against the correct ledger, ensuring 100% financial accuracy.

Step-by-Step Guide

1. **Establish Connections**: In Make.com, create a new scenario. Add the **Shopify** module and follow the OAuth prompts to connect your store. Add the **Xero** module and authorize access to your specific Organization. 2. **Configure Shopify Trigger**: Choose the **Watch Orders** module. Set the 'Status' to 'any' and 'Financial Status' to 'paid'. This ensures only finalized sales trigger the flow. 3. **Search for Existing Customer**: Add the **Xero: Search for Contacts** module. Map the Shopify `Customer: Email` field to the Xero 'Email' search filter. This prevents duplicate contact creation. 4. **Implement Logic via Router**: Add a **Router**. On path A, set a filter: `Contact ID` (from Search) 'Does not exist'. Add the **Xero: Create a Contact** module. On path B, set a filter: `Contact ID` 'Exists'. 5. **Format Line Items**: Use the **Map** function inside the **Xero: Create an Invoice** module. Loop through the `Line Items[]` array from Shopify. Map `SKU` to `ItemCode` and `Price` to `UnitAmount`. 6. **Handle Taxes**: Use a `switch()` function in the Tax mapping field to convert Shopify tax titles (e.g., 'VAT') into Xero's specific Tax Type codes (e.g., 'OUTPUT2'). 7. **Draft vs Auth Status**: In the 'Create Invoice' settings, set 'Status' to `AUTHORISED` if you want immediate reconciliation, or `DRAFT` for manual review. 8. **Record Payment**: Add the **Xero: Create a Payment** module. Use the `Invoice ID` from the previous step. Map the Shopify `Gateway` field to your Xero Bank Account ID (using a lookup table or hardcoded ID). 9. **Add Error Handling**: Right-click the Xero Invoice module and select **Add error handler (Break)**. This ensures that if an invoice fails (e.g., SKU doesn't exist), the scenario pauses and stores the data for manual retry rather than losing it.