Automated Chase Transaction Reconciliation to QuickBooks Online (Make.com)

Streamline bookkeeping by automatically syncing and categorizing Chase bank activity using Plaid and Make.com.

Tools: ChaseQuickBooks Online

Platform: Make.com

Short Answer

A fully automated workflow that captures Chase transactions in real-time via Plaid, cleans the data using a Make.com Data Store 'Mapping Table', and ensures every expense or deposit is perfectly categorized in QuickBooks Online with zero manual effort.

The Problem

Manual entry of bank transactions into QuickBooks is time-consuming and prone to human error, often leading to messy books and missed tax deductions. Bank descriptions are frequently cryptic, making it difficult to categorize expenses consistently without a manual lookup table.

The Outcome

A fully automated workflow that captures Chase transactions in real-time via Plaid, cleans the data using a Make.com Data Store 'Mapping Table', and ensures every expense or deposit is perfectly categorized in QuickBooks Online with zero manual effort.

Step-by-Step Guide

1. **Initialize Scenario**: Log in to Make.com, create a new scenario, and search for the **Plaid** (or Salt Edge) module. 2. **Configure Plaid Trigger**: Add the 'Watch Transactions' module. Use the 'Add' button to create a connection, which will launch the Link flow to authorize your Chase Business credentials. Select the specific Chase account (e.g., Business Checking) to monitor. 3. **Set Up Data Store Mapping**: Add a **Data Store > Get a record** module. Create a store named 'Vendor Mapping'. Use the Payer/Description from Plaid as the 'Key'. This will store your manual overrides (e.g., If Plaid says 'AMZN MKTP', the Data Store returns 'Amazon' and 'Office Supplies'). 4. **Add a Router**: Place a Router after the Data Store module to handle 'Categorized' vs. 'Unrecognized' transactions. 5. **Category Filter**: On the top path, set a filter: `Category (from Data Store) EXISTS`. On the bottom path, set `Category (from Data Store) DOES NOT EXIST`. 6. **Create QuickBooks Action**: On the top path, add **QuickBooks Online > Create an Expense**. Map the 'Total Amount' from Plaid (use `abs()` function to ensure positive values for expenses) and the 'Transaction Date'. 7. **Dynamic Mapping**: In the QBO module, map the 'Account' and 'Category' fields using the outputs from your Data Store. For the 'Payment Method', select 'Credit Card' or 'Check' based on the Plaid transaction type. 8. **Duplicate Prevention**: Use the Plaid `Transaction ID` as the 'Private Note' or a custom field in QBO. Before the QBO module, add a **QuickBooks Online > Search for Expenses** module to check if that ID already exists. 9. **Exception Handling**: On the bottom 'Unrecognized' path, add a **Slack > Post a Message** module to notify you that a new transaction style from Chase needs to be added to the Data Store mapping table. 10. **Global Error Handler**: Right-click the QBO module and select 'Add error handler'. Choose the **Break** or **Ignore** directive to prevent the scenario from stopping if the QBO API is temporarily unreachable.