n8n

Pay Run in n8n

Sample data. Valisthea Psychiatry is a fictional practice, so every name and number is synthetic.

When pay is wrong, nobody notices until it has gone out. I built an n8n workflow that works out the month, checks it and stops to ask the CEO before anything is saved.

$95,403.92

13 statements approved, 1 line held

The problem
Provider pay has to be right every month, and big swings need a second look.
The result
13 pay statements approved, $95,403.92. 1 line held because the pay was down 37.5%.

What it does

  1. On the 3rd of every month it pulls in the providers, the visits, the payments and last month's pay run.
  2. It counts only payments my billing check has already matched.
  3. It works out each provider's pay as their collections times their pay share, one line per person.
  4. It compares each line with last month. A change of more than 30 percent is held, with the reason.
  5. It prepares an approval page for the CEO with the totals, every line and anything on hold, and waits.
  6. On approval it saves a workbook and one pay statement per person, each saying who approved it and when, uploads them to Google Drive and adds a row to the pay run log.

What keeps it safe

  • It never moves money and never sends anything. It makes the pay run and the statements.
  • Nothing is saved until a person approves. If they reject it, or nobody answers in 7 days, nothing is saved and the decision is still logged.
  • If the data is missing or wrong, the whole run stops and an alert goes out.
  • A held line is not saved, and someone is alerted to look at it.

How I tested it

  • The September test run had 14 providers: 13 statements approved for $95,403.92, and 1 line held because that provider's pay was down 37.5 percent.
  • I checked the pay for all 14 providers against an answer key worked out separately, and it matched.
  • 151 rule tests passed with 0 failed, including a swing of exactly 30 percent (passes) and 30.01 percent (held).
  • 104 live checks of stops, approvals and rejections passed. After each stop or rejection, nothing had been saved.

Built with

  • n8n
  • Google Drive
  • Google Sheets

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.

See all 16 builds