Shopify to QuickBooks Automated Bookkeeping (Make.com)
Streamline revenue recognition and tax compliance using Make.com's advanced line-item iteration.
Tools: Shopify → QuickBooks
Platform: Make.com
Last verified: 1/10/2026
Short Answer
A fully automated sync that creates Sales Receipts in QuickBooks for every 'Paid' Shopify order. This ensures real-time financial reporting, accurate tax liability tracking, and zero duplicate customer entries using Make.com's powerful search and iteration logic.
The Problem
Manual entry of Shopify orders into QuickBooks leads to data silos, human error in tax calculation, and inconsistent inventory records. High-volume stores struggle with Zapier's limitations when handling multi-line item orders or matching existing customers across platforms.
The Outcome
A fully automated sync that creates Sales Receipts in QuickBooks for every 'Paid' Shopify order. This ensures real-time financial reporting, accurate tax liability tracking, and zero duplicate customer entries using Make.com's powerful search and iteration logic.
Step-by-Step Guide
1. **Create a New Scenario**: In Make.com, click 'Create a new scenario' and add the **Shopify** 'Watch Orders' module. Select 'Created' as the trigger and set the limit to 2-5 for initial testing.
2. **Establish Connections**: Click 'Add' in the Shopify module to connect via OAuth. For **QuickBooks Online**, follow the same process to authorize access to your specific Company File.
3. **Apply Status Filter**: Add a filter after the Shopify module. Set the condition to `Financial Status` 'Equal to' `paid`. This prevents unfulfilled or canceled orders from hitting your books prematurely.
4. **Customer Search Logic**: Add a QuickBooks 'Search Customers' module. Map Shopify's `Customer: Email` to the QuickBooks 'Email' filter. This is the 'Duplicate Prevention' step.
5. **Router for Customer Creation**: Add a Router. If the Search module returns a 'Bundle Count' of 0, route to 'Create a Customer'. Otherwise, proceed to the next step using the existing `Customer ID`.
6. **Initialize Sales Receipt**: Add the QuickBooks 'Create a Sales Receipt' module. Map the `Customer ID` (from search or creation) and use Shopify’s `Order Number` for the 'RefNumber' field to ensure Shopify and QB orders correlate.
7. **Handle Multi-Line Items**: Add a **Make.com Iterator** module. Map the `Line Items` array from the Shopify trigger. This allows Make to loop through every product bought (essential for orders with >1 item).
8. **Map Product SKUs**: Inside the loop, add a QuickBooks 'Get an Item' module or map the SKU directly to the Sales Receipt line item. Use the `map()` function if your Shopify SKUs differ from QB Product Names.
9. **Aggregate Data**: Add an **Array Aggregator** after the iteration to group the processed line items back into a single bundle for the final Sales Receipt generation.
10. **Error Handling**: Right-click the QuickBooks module and select 'Add error handler'. Use a 'Break' or 'Email' module to notify you if an API limit is hit or a SKU is missing in QuickBooks.
Data Mapping
| Shopify Field | QuickBooks Field | Make.com Transformation/Logic |
| :--- | :--- | :--- |
| `Order ID` | **RefNumber** | `{{1.order_number}}` (Critical for reconciliation) |
| `Customer: Email` | **Customer Display Name** | Use `lower()` function to standardize emails |
| `Line Items[]` | **Sales Item Line Detail** | Use **Iterator** module to process the array |
| `Line Items: Price` | **Unit Price** | `{{item.price}}` (Currency format usually auto-handled) |
| `Total Tax` | **Tax Amount** | Map to specific Tax Code ID in QB Settings |
| `CreatedAt` | **Transaction Date** | `formatDate(created_at; YYYY-MM-DD)` |
Gotchas & Failure Modes
• **Rate Limits**: Shopify Plus has higher limits, but QuickBooks Online can throttle requests if you attempt to sync 100+ orders simultaneously. Set your 'Max Number of Cycles' in Scenario settings to 10.
• **The SKU Matching Trap**: If a SKU exists in Shopify but not in QuickBooks, the scenario will fail. Use a 'Search Items' module in QB first, or set a 'Default SKU' for shipping/miscellaneous items.
• **Bundle Errors**: Make.com treats each order as a bundle. If you don't use an **Iterator**, only the FIRST item in a multi-item order will sync to QuickBooks.
• **Tax Center Mismatch**: Ensure your QuickBooks 'Automated Sales Tax' setting matches the tax calculation logic in Shopify (Exclusive vs Inclusive) to avoid penny-off rounding errors.
Verification Checklist
- [ ] **Run Once**: Use the 'Run Once' button with a specific Shopify Order ID to test the flow end-to-end.
- [ ] **Data Check**: Verify the 'RefNumber' in QuickBooks matches the Shopify Order # exactly.
- [ ] **Customer Check**: Confirm no duplicate customer was created in QuickBooks for an existing email.
- [ ] **Line Item Check**: Ensure an order with 3 different products appears as 3 line items on the QuickBooks Receipt.
- [ ] **Execution History**: Check the Make.com 'History' tab to ensure all operations show green (Success).
Ready to Automate?
Build this automation with Make.com in minutes.