n8n
Billing Check in n8n
Sample data. Valisthea Psychiatry is a fictional practice, so every name and number is synthetic.
Checking every payment by hand is a spreadsheet and a whole afternoon. I built an n8n workflow that does it every morning and shows the billing team only what needs a person.
282
left open on the tracker
- The problem
- Every payment must match a visit, and the odd ones need flagging.
- The result
- A repeat run found no new problems and left 282 open on the tracker.
What it does
- At 7 AM, Monday to Saturday, it pulls in the insurers, the visits and the payments.
- For each payment it checks for missing details, a repeat payment, a real matching visit and the right amount. Short by a dollar or more goes on the list, and under a dollar is treated as rounding.
- It flags visits that an insurer has not paid within that insurer's usual time.
- Problems go into a Google Sheet in plain English, and billing gets one email with the ones to fix today first.
- When the team marks a row Done, the next run moves it to a Resolved tab and it never comes back.
What keeps it safe
- It never touches the billing system and never moves money. It checks and reports.
- If fewer records arrive than expected, it stops with an error, because a short list would look like a quiet day.
- The team's status and notes columns belong to the team. The automation never writes over them.
- It skips any payment it already checked, so running it twice does the work once, and it still emails no new problems so you know it ran.
How I tested it
- The first run on 3,024 payments took 8.2 seconds and found 285 problems.
- A second run over the same data found nothing new. 3 rows marked Done moved to Resolved and 282 stayed open.
- 2 rows the team had marked In progress kept their status and notes through every run.
Built with
- n8n
- Google Sheets
- Gmail
Want one like this for your business?
Tell me what is slowing your team down. I will tell you what to automate, and what not to.