- Receipts in Gmail
- Extract line items
- Match to headcount
Monthly SaaS spend review that flags unused seats
Pull every software receipt from Gmail into a sheet, match it to active users, and get a list of seats and tools you can cancel.
Zapier sends each new bank transaction to ChatGPT, which matches it to the right open invoice or bill in QuickBooks and flags anything unclear.
Month-end close drags because someone has to match every deposit and payment to an invoice or bill by hand. Clients pay three invoices in one transfer, quote the wrong reference, or short-pay by a bank fee. Bookkeepers lose days in spreadsheets, and unmatched items roll over month after month.
Trigger the Zap on each new bank transaction, either from your bank's Zapier integration or a daily CSV import into a Zapier Table. Each record needs date, amount, direction, counterparty name and the bank reference text.
For money in, use QuickBooks Find Customer on the payer name and then search that customer's open invoices. For money out, do the same for vendors and open bills. Pass up to 10 candidates with number, date, total and balance due.
Add a ChatGPT step with the matching prompt below, temperature 0 and JSON output. It returns the matched documents, a confidence score and a one-sentence reason.
Use Paths by Zapier. Confidence of 0.9 or more with a difference under $1 creates a payment in QuickBooks against the matched invoice or bill. Everything else goes to a Review table with the reason attached.
When several documents match, record the payment against each one using the amount_applied values. Short-pays under your fee tolerance (for example $25) post the difference to a Bank Fees account; larger gaps stay in review.
Spend 10 minutes a day on the Review table. After the first month, check the auto-match log for errors before lowering the threshold to 0.85.
You are reconciling bank transactions for {{company_name}}.
Bank transaction:
- Date: {{txn_date}}
- Amount: {{txn_amount}} {{currency}}
- Direction: {{direction}}
- Counterparty: {{counterparty}}
- Reference: {{reference_text}}
Open invoices or bills (JSON): {{candidates_json}}
Find the document, or combination of documents, that this transaction pays. Consider document numbers in the reference, name similarity, exact and combined amounts, and short-pays from bank fees under {{fee_tolerance}}.
Return JSON only:
{ "matches": [{ "doc_number": "", "amount_applied": 0 }], "confidence": 0.0, "difference": 0.0, "reason": "one sentence" }
If nothing fits, return an empty matches array and confidence 0. Never match on amount alone when the name does not fit.Here are this month's bank transactions that were not auto-matched, with the reason recorded for each: {{exceptions_json}}
Group them by cause: missing invoice, wrong reference, partial payment, unknown payer or duplicate. For each group, give the count and total value.
Then suggest one process change per group that would prevent most of them next month, such as asking a specific client to include invoice numbers in their transfer reference.Pull every software receipt from Gmail into a sheet, match it to active users, and get a list of seats and tools you can cancel.
Export the Descript transcript, let ChatGPT pick the five strongest moments, and get 10 platform-ready posts in a review doc within minutes.
Spot order-status questions in the support inbox, look up the order in Shopify and reply with live tracking and an honest ETA.