Smart Receipt to Bill Automation (Make.com)

Eliminate manual data entry by automatically syncing Dext-extracted data into QuickBooks Online with advanced validation logic.

Tools: DextQuickBooks

Platform: Make.com

Short Answer

A fully automated workflow in Make.com that validates extracted data, creates or matches vendors in QuickBooks, and attaches the original source document to the transaction for 100% audit compliance.

The Problem

Manual entry of supplier invoices and receipts is prone to human error, duplicate payments, and missing audit trails. Standard native integrations lack the conditional logic required for vendor matching and high-value expense approvals.

The Outcome

A fully automated workflow in Make.com that validates extracted data, creates or matches vendors in QuickBooks, and attaches the original source document to the transaction for 100% audit compliance.

Step-by-Step Guide

1. **Create Scenario**: Log in to Make.com and click 'Create a new scenario'. Rename it 'Dext to QuickBooks Automation'. 2. **Configure Dext Trigger**: Add the **Dext** module 'Watch Items (Instant)'. Create a webhook and connect your Dext account. Set the Event to 'Item Published'. 3. **Search Vendor**: Add a **QuickBooks Online** module 'Search for Vendors'. Map the `Supplier Name` from Dext to the `Name` field in the filter. Use the formula `trim(1.supplier_name)` to clean whitespace. 4. **Add a Router**: Place a Router module after the search. This will handle logic for new vs. existing vendors. 5. **Branch - New Vendor**: Create a filter on the first path: 'Condition: Field (Vendor ID) Does not exist'. Add the QuickBooks 'Create a Vendor' module. 6. **Branch - Existing Vendor**: Create a filter on the second path: 'Condition: Field (Vendor ID) Exists'. 7. **Map Create Bill**: Add the QuickBooks 'Create a Bill' module. Map `Total Amount` and `Issue Date`. For Account ID, use the Make.com `switch()` function or a 'Get a Map' module to link Dext categories to QuickBooks Chart of Accounts IDs. 8. **Download Source File**: Add a **Dext** module 'Get a Document File'. Map the `Document ID` from the trigger to fetch the PDF/Image. 9. **Upload Attachment**: Add a **QuickBooks Online** module 'Upload an Attachment'. Set 'Attachable Ref Type' to 'Bill' and 'Attachable Ref ID' to the Bill ID from step 7. Map the file buffer from step 8. 10. **Error Handling**: Right-click the QuickBooks Create Bill module and select 'Add error handler'. Choose 'Break' or 'Rollback' to prevent partial data sync if the API is down.

Data Mapping

| Dext Field | QuickBooks Field | Make.com Transformation/Logic | Required? | | :--- | :--- | :--- | :--- | | `Supplier Name` | `VendorRef` | `{{first(3.vendors[].Id)}}` (from search) | Yes | | `Total Amount` | `TotalAmt` | `{{parseNumber(1.total_amount)}}` | Yes | | `Date` | `TxnDate` | `{{formatDate(1.date; "YYYY-MM-DD")}}` | Yes | | `Invoice Reference` | `DocNumber` | `{{1.reference}}` | No | | `Category` | `Line:AccountRef` | `{{get(map; 1.category)}}` (Map via Data Store) | Yes | | `File URL` | `File Content` | Handled via *Get Document File* Buffer | No |

Gotchas & Failure Modes

* **Rate Limiting**: QuickBooks API has a limit of 40 concurrent requests. If processing bulk items, use the 'Sleep' module or set 'Max number of cycles' in Scenario settings to 1. * **Tax Code Errors**: For UK/AU/CA accounts, ensure you include the `MinorVersion` parameter in the 'Make an API Call' module if the standard 'Create Bill' module fails to handle complex Tax codes. * **Mapping Logic**: Dext sends categories as text strings, but QuickBooks requires an Internal ID. Use a Make.com 'Data Store' to create a mapping table to avoid scenario failure when new categories are added. * **Duplicate Prevention**: QuickBooks will throw a '400 Error' if a Bill with the same DocNumber and Vendor exists. Use a 'Search Records' module first to check for existing DocNumbers.

Verification Checklist

- [ ] **Trigger Test**: Click 'Run Once' in Make.com and publish a single receipt in Dext to verify the webhook fires. - [ ] **Data Check**: Verify in the 'Execution Log' that the `Date` format is ISO-8601 (YYYY-MM-DD). - [ ] **Vendor Logic**: Test with a brand new supplier to see if the 'Create Vendor' branch executes correctly. - [ ] **Attachment Verification**: Log into QuickBooks, open the created Bill, and ensure the PDF is visible in the 'Attachments' pane. - [ ] **Error Handling**: Manually change a required field (like Currency) to an invalid value to ensure the Error Handler catches it without stopping the scenario.

Ready to Automate?

Build this automation with Make.com in minutes.