Automated Amazon Order Sync to Xero Invoices (Make.com)

Streamline e-commerce accounting by automatically syncing Amazon Seller Central orders and fees to Xero using Make.com's advanced data handling.

Tools: AmazonXero

Platform: Make.com

Short Answer

Every shipped Amazon order is instantly recorded as a Xero Invoice. Using Make.com Iterators and Aggregators, multi-line orders are handled natively, tax is accurately applied, and inventory levels stay synchronized across both platforms.

The Problem

Manual entry of Amazon orders into Xero is time-consuming and prone to errors, especially with multi-item orders and varying tax rates. Reconciling Amazon settlement fees against individual invoices is a significant bottleneck for e-commerce accounting teams.

The Outcome

Every shipped Amazon order is instantly recorded as a Xero Invoice. Using Make.com Iterators and Aggregators, multi-line orders are handled natively, tax is accurately applied, and inventory levels stay synchronized across both platforms.

Step-by-Step Guide

1. **Create a New Scenario**: In Make.com, click 'Create a new scenario' and add the **Amazon Seller Central** module. 2. **Configure Amazon Trigger**: Select 'Watch Orders'. Create a connection using your Seller ID and AWS credentials. Set the 'Order Status' filter to 'Shipped' to ensure only finalized revenue is synced. 3. **Add a Router**: Add a Router module to check if the order has been processed previously to prevent double-entry. 4. **Handle Multi-Line Items (Iterator)**: Amazon orders often contain multiple products. Connect an **Iterator** module to the 'OrderItems' bundle. This breaks the order into individual units for granular mapping. 5. **Xero Contact Lookup**: Add a **Xero** 'Search Contacts' module. Search by 'Amazon Customer' or specific email. Follow this with a 'Create a Contact' module using an IF-ELSE filter (or 'Get or Create' logic) to ensure the invoice has a recipient. 6. **Transform Data (Array Aggregator)**: This is crucial for Xero. Connect an **Array Aggregator**. Set the Source Module as the Iterator and the Target structure as 'Xero: Create an Invoice - Line Items'. Map the SKU, Quantity, and Price here. 7. **Map to Xero Invoice**: Add the **Xero** 'Create an Invoice' module. Map the 'Total Amount' and 'Date'. Use the aggregated array from the previous step to populate the line items. 8. **Tax Logic**: Use Make.com's `if()` and `contains()` functions in the Tax Type field to map Amazon's 'ShipToState' to the corresponding Xero Tax Rate codes. 9. **Error Handling**: Right-click the Xero module and select 'Add error handler'. Use a 'Break' or 'Ignore' directive to manage API rate limits or invalid address formats without stopping the entire scenario. 10. **Save and Schedule**: Set the scenario to run every 15 minutes or hourly depending on your volume requirements.

Data Mapping

| Amazon Field | Make.com Mapping Logic | Xero Field | Notes | | :--- | :--- | :--- | :--- | | **AmazonOrderId** | `{{1.AmazonOrderId}}` | **Reference** | Primary key for reconciliation | | **PurchaseDate** | `formatDate({{1.PurchaseDate}}; YYYY-MM-DD)` | **Date** | Ensures Xero accepts the date format | | **BuyerEmail** | `ifempty({{1.BuyerEmail}}; "amazon-customer@noemail.com")` | **Contact Email** | Fallback for privacy-protected emails | | **SKU** | `{{4.SellerSKU}}` | **Item Code** | Must match Xero Inventory Item Code | | **ItemPrice** | `{{4.ItemPrice / 100}}` (if in cents) | **Unit Amount** | Check if currency requires division | | **TaxAmount** | `{{1.TaxAmount}}` | **Tax Amount** | Map to specific Xero Tax Account |

Gotchas & Failure Modes

• **Rate Limiting**: Amazon SP-API has strict quotas. Ensure your Make.com scheduling is not set to 'Immediately' if you have high volume; 'Every 15 minutes' is safer. • **Data Arrays**: If you don't use the **Iterator/Aggregator** combo, only the first item of a multi-item order will sync to Xero. • **Memory Usage**: For scenarios processing over 100 line items per bundle, increase the scenario 'Max number of cycles' in settings to avoid timeouts. • **Tax Rounding**: Xero and Amazon calculate tax slightly differently. Use the `round()` function in Make to avoid invoice discrepancies of 0.01 that prevent reconciliation.

Verification Checklist

- [ ] **Run Once Test**: Use the 'Run once' button with a specific `AmazonOrderId` to verify mapping. - [ ] **Check Aggregator Output**: Inspect the 'Array' output to ensure line items are structured correctly for Xero. - [ ] **Contact Validation**: Verify that the scenario doesn't create duplicate 'Amazon Customer' contacts in Xero. - [ ] **Tax Audit**: Confirm the Invoice Total in Xero matches the Gross Amount in Amazon Seller Central. - [ ] **Error Path Test**: Temporarily change a SKU to a non-existent one to ensure the Error Handler triggers correctly.

Ready to Automate?

Build this automation with Make.com in minutes.