Automated Wells Fargo Transaction Reconciliation to QuickBooks Online (Make.com)

Streamline financial reconciliation using Plaid and Make.com's advanced routing logic

Tools: Wells FargoQuickBooks Online

Platform: Make.com

Short Answer

A fully automated workflow that triggers on new bank transactions via Plaid, uses Make.com's Router to branch between income and expenses, and searches for existing records in QBO to prevent duplicates and ensure architectural data integrity.

The Problem

Manual entry of Wells Fargo bank transactions into QuickBooks Online is time-consuming and prone to human error. Without a direct bridge, businesses often miss the 'matching' logic required to reconcile deposits against open invoices or categorize expenses correctly based on merchant names.

The Outcome

A fully automated workflow that triggers on new bank transactions via Plaid, uses Make.com's Router to branch between income and expenses, and searches for existing records in QBO to prevent duplicates and ensure architectural data integrity.

Step-by-Step Guide

1. **Establish Plaid Connection**: Add the 'Plaid' module to your scenario. Select 'Watch Transactions'. Create a connection by entering your Plaid Client ID and Secret. Follow the Link flow to authenticate your Wells Fargo account. 2. **Initialize Scenario Logic**: Set the 'Limit' to 10 or 20 for the initial run to prevent operation surges. Ensure the webhook is active and listening. 3. **Implement Type Routing**: Add a 'Router' module. Create two paths. Path A Filter: `Amount > 0` (Deposits). Path B Filter: `Amount < 0` (Expenses). 4. **Search and Match (Inflow)**: On Path A, add a QuickBooks Online 'Search for Invoices' module. Map the Plaid 'Amount' to the QBO 'Total Amount' and use the Plaid 'Merchant Name' to match the customer. 5. **Conditional Logic (Inflow)**: Add another Router or a Filter after the search. If an invoice ID exists, use the 'QuickBooks Online: Create a Payment' module. If no invoice is found, use 'Create a Sales Receipt'. 6. **Expense Categorization (Outflow)**: On Path B, add a 'QuickBooks Online: Create an Expense' module. Use the `ifempty()` function for the Merchant mapping: `ifempty(Merchant Name; Description)`. 7. **Data Transformation**: Use the `formatDate(date; YYYY-MM-DD)` function in the Transaction Date field to ensure QBO accepts the bank timestamp. 8. **Duplicate Protection**: Before the Expense module, add a 'QuickBooks Online: Search for Expenses' module. Set a filter to only proceed if the 'Total Number of Bundles' equals 0. 9. **Add Error Handling**: Right-click the QBO modules and select 'Add error handler'. Use the 'Break' directive to store the execution for manual retry if the QBO API is down or the merchant is unknown.

Data Mapping

| Plaid Field (Source) | QBO Field (Destination) | Make.com Transformation/Default | | :--- | :--- | :--- | | `Amount` | `Total Amount` | `abs(Amount)` (Use absolute value for expenses) | | `Authorized Date` | `Payment Date` | `formatDate(date; "YYYY-MM-DD")` | | `Merchant Name` | `Customer/Vendor` | `ifempty(Merchant Name; "Uncategorized Wells Fargo")` | | `Transaction ID` | `Memo / Doc Number` | `ID: {{value}}` (Critical for reconciliation) | | `Pending` | `Filtered Out` | Use Filter: `Pending = false` |

Gotchas & Failure Modes

1. **Pending Transaction Double-Sync**: Wells Fargo often issues a 'Pending' transaction and then a 'Posted' transaction with a new ID. Always use a filter in Make.com to only allow bundles where `Pending = false`. 2. **The 30-Day Window**: Plaid's 'Watch Transactions' trigger in Make.com typically fetches data every 30-60 minutes. Do not expect real-time sync (within seconds) unless using custom webhooks. 3. **Account Mapping**: Ensure the 'Bank Account ID' in the QBO module matches the Chart of Accounts ID, not the Wells Fargo account number. Use the 'Map' toggle to find the internal QBO ID. 4. **Merchant Name Normalization**: Wells Fargo descriptions are often messy (e.g., 'UBER * EATS 1234'). Use Make.com's `split()` or `replace()` functions with Regex to clean names before searching QBO.

Verification Checklist

- [ ] **Run Once**: Use 'Run once' with a single bundle to verify the mapping. - [ ] **Check Inflow Logic**: Ensure positive amounts are creating Payments/Receipts. - [ ] **Check Outflow Logic**: Ensure negative amounts are converted to positive for QBO Expense fields. - [ ] **Inspect Dev Tool**: Use the Make.com DevTool to ensure the JSON body sent to QBO contains the correct `LineItem` array format. - [ ] **Verify Dates**: Confirm that the transaction in QBO reflects the bank date, not the execution date.

Ready to Automate?

Build this automation with Make.com in minutes.