Braintree settlement reconciliation workbench for month end

Line up every day of Braintree settlements against what your books say, jump straight to the days that disagree, and sign each one off in the same screen.

App
BraintreeGoogle SheetsQuickBooks OnlineFinanceOperationsData Sync
PromptCreate

I want a settlement reconciliation workbench that our finance team opens at month end and again every Monday morning. The job it does is easy to state and painful to do by hand: line up what Braintree says it settled against what our books say we recorded, find the days that disagree, and sign off the days that match.

The main screen starts with a date range picker. For the selected range, pull our Braintree activity using Search Transactions and bucket it by settlement date rather than by the date the payment was created. Show one row per day with gross settled volume, refunds issued, disputed amounts, transaction count, and the net deposit we should expect to hit the bank. Alongside each day, break those same totals down by card type (Visa, Mastercard, Amex, Discover) and by payment method (card, PayPal, and any wallet types we accept), because when a day is off it is usually one of those buckets that moved.

Next to the Braintree column, show what our books say for the same period. Pull one side from the reconciliation sheet we already keep in Google Sheets using Get Values, and the other from QuickBooks using Run Reports with a Profit and Loss or General Ledger report scoped to the same date range. Compute the variance per day against each source. Let me set a variance threshold inside the app, as a flat amount or a percentage, and highlight any day that breaks it so I can go straight to the mismatch instead of reading down the whole month.

Clicking a day drills into the individual transactions behind that day's total: transaction ID, amount, status, card type, payment method, customer, and whether the transaction carries a refund or a dispute. This is the screen where someone actually finds the transaction causing a gap, so make it filterable and sortable by amount and status.

From the day detail I need two write actions. First, push that day's transaction detail into the reconciliation sheet using Append Values. Every exported row must be keyed on the Braintree transaction ID, and the app must read what is already in the sheet before writing so that pushing the same day twice never duplicates rows. Second, mark the day reconciled using Update Values, writing a short note and the name of whoever signed off along with a timestamp.

For a day that is confirmed clean, I want to record the matching customer payment in QuickBooks using Create Payment, so the deposit is represented in the books and not only in the spreadsheet. That action should only be available on a day I have already marked reconciled.

A few details I care about. Refunds and disputes must be shown as separate negative lines rather than netted silently into gross, so I can always see what came out and why; the netting only happens in the net expected deposit column. The reconciled state needs to persist in the app's own storage so a sign off survives a page refresh and my colleagues see the same state I do. Braintree returns amounts as decimal strings in the transaction currency, so sum them as decimals rather than as floating point numbers. If we have merchant accounts in more than one currency, group the totals by currency rather than adding across them, or let me scope the view to a single currency.

This is an attended tool, not a background job. Nothing should post to QuickBooks or write to the sheet without me clicking, and every write should report back exactly what it wrote and where.

What does this prompt do?

  • Shows your Braintree activity day by day for any date range you pick, with gross settled volume, refunds issued, disputed amounts, transaction count, and the net deposit you should expect to land in the bank.
  • Puts the figure your books say right beside it, pulled from the reconciliation spreadsheet you already keep and from your QuickBooks reports, and highlights any day where the gap is bigger than the threshold you set.
  • Lets you click into a day to see the individual payments behind the total, so you can find the one transaction causing the variance instead of hunting through a month of activity.
  • Records the sign off: push a day's detail into the spreadsheet, mark it reconciled with a note and your name, and record the matching customer payment in QuickBooks once the day is confirmed clean.

What do I need to use this?

  • A Braintree account you can pull API keys from. Your merchant ID, public key, and private key all live under the API section of your Braintree settings.
  • A Google account with access to the reconciliation spreadsheet your team already uses at month end.
  • A QuickBooks Online company you can connect, with permission to read reports and record customer payments.
  • A rough agreement with your team on how big a gap has to be before it counts as a real variance worth chasing.

How can I customize it?

  • Set the variance threshold as a flat amount, a percentage, or both, so only gaps worth investigating get highlighted.
  • Point it at whichever tab of your reconciliation sheet you keep, and change which columns the day's transaction detail gets written into.
  • Switch the QuickBooks side between a Profit and Loss and a General Ledger report, or change the accounting basis, depending on how your books are kept.
  • Change the default date range to your month end window, or to the last seven days for the quick Monday check.

FAQs

Why not just export a spreadsheet from the Braintree dashboard?
Braintree's own documentation says the dashboard should not be used for reconciliation, and its manual export is capped at 50,000 records per download with limits on how far back you can go. That is exactly the wall finance teams hit at month end. This app pulls the transactions directly, buckets them by settlement date, and totals them for you.
Will pushing the same day into my spreadsheet twice create duplicate rows?
No. Every exported row is keyed on the Braintree transaction ID, and the app checks what is already in the sheet before it writes. Pushing the same day again updates what is there rather than adding a second copy, so you can re-run a day safely.
Does the sign off survive a page refresh?
Yes. Reconciled days, the note, and the name of whoever signed off are all stored by the app, so the state is still there when you come back to it and your colleagues see the same thing.
Are refunds and disputes subtracted from the gross figure?
No, they appear as separate negative lines so you can always see what came out and why. They are applied in the net expected deposit column, but nothing is netted away silently where you cannot see it.
Does this work if we take payments in more than one currency?
Yes. Totals are grouped by currency rather than added together, so you never end up with a meaningless mixed-currency sum. You can also scope the whole view down to a single currency if that matches how your books are kept.

Related templates

Prospecting desk that builds account lists from the live web

Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.

Hyperbrowser
HubSpot
Google Sheets
App
Influencer campaign roster board with AI creator briefs

Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.

HypeAuditor
Google Sheets
Notion
App
Morning repricing console for Shopify with margin-safe rules

Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.

Hyperbrowser
Shopify
Google Sheets
App
Pre-flight bounce check before you launch a cold email sequence

See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.

Hunter
Google Sheets
App
Per-device electricity cost explorer for your smart home

Pick any date range and see what each device in your home actually cost to run, not just how many kilowatt-hours it used.

Home Assistant
Google Sheets
App
Build a PR media list from real worldwide news coverage

Search three months of global coverage on your topic, rank the outlets actually writing about it, and draft a tailored pitch for each one.

GDELT
Google Sheets
Gmail
App

Close the month without rebuilding the same spreadsheet.

Open one screen, compare both sides of every settlement day, and sign each one off with a record of who approved it.