# Catch Jobber invoices that never made it into QuickBooks

> Every Monday morning, get a Slack list of every invoice that never reached your books, came over with the wrong total, or lost line items along the way.

- Workflow type: agent
- Services: Jobber, QuickBooks Online, Slack Bot
- Categories: Finance, Operations
- Published: 2026-08-14

## What it does

- Compares every invoice you issued in Jobber over the last two weeks against what actually landed in QuickBooks Online, matching on customer name, amount, and date instead of relying on the two systems agreeing about record numbers.
- Catches the three ways invoices go wrong: the invoice never showed up in your books at all, the totals do not agree, or some line items quietly went missing.
- Pulls the customer's contact details and outstanding balance for anything flagged, so you can act on it instead of going back to look everything up.
- Posts one summary to your bookkeeping channel each Monday, sorted by the dollars at stake, and tells you plainly when everything is clean so you know the check really ran.

## What you'll need

- A Jobber account you use for invoicing
- A QuickBooks Online company connected to the same business
- A Slack workspace and a channel where the weekly summary should land
- Roughly two weeks of invoice history in both systems for the first run to have something to compare

## Prompt

Every Monday at 7am, reconcile my Jobber invoices against QuickBooks Online and post the result to my bookkeeping channel in Slack. Use a cron trigger for the weekly schedule.

Start by using Jobber's List Invoices operation to pull every invoice issued in the last 14 days. Then use QuickBooks Online's Query Entities operation to pull Invoice records covering the same date range.

Match the two sets on client name, invoice total, and issue date rather than on record ID, since the two systems use completely different identifiers and share no common key. Normalize client names before comparing them: ignore case and punctuation, handle business suffixes like Inc, LLC, and Co, and allow for common abbreviations or a name entered slightly differently in one system. Allow a day or two of tolerance on the issue date, because the sync does not always land an invoice on the same calendar day it was issued.

Flag three failure modes specifically. First, Jobber invoices with no QuickBooks counterpart at all. Second, matched pairs whose totals differ by more than one dollar. Third, invoices whose line item count differs between the two systems, which is how a partial sync usually shows up. The third case matters even when the totals happen to agree, because a dropped zero dollar or discounted line still means the record is incomplete.

Use judgement about timing rather than reporting every gap as a failure. An invoice issued in the last day or two that has not appeared in QuickBooks yet is far more likely to be normal sync lag than a dropped transaction, so list those separately as still in progress instead of mixing them in with confirmed misses.

For every flagged invoice, use Jobber's Get Client operation to pull the customer's contact details and outstanding balance, so the report is actionable rather than just a list of numbers.

Finish with one Slack Bot Send a Message summary to my bookkeeping channel. List each discrepancy with the client name, the issue date, what specifically went wrong, the customer contact details, and the dollar amount at stake, sorted largest amount first. Open with the count of discrepancies, the number of invoices checked, and the total dollars affected. If nothing is wrong, say explicitly that the sync is clean and how many invoices were checked, so I know the workflow actually ran.

Never write to Jobber or QuickBooks. This workflow only reads from both systems and reports what it finds, which keeps it safe to run unattended.

## How to customize

- Change the lookback window: two weeks is a good default, but shorten it to a week for high volume or stretch it to a month if you invoice less often.
- Adjust the dollar tolerance before a mismatch gets flagged, so rounding and small tax differences do not create noise.
- Point the summary at a different channel, or send it to yourself directly, and move the schedule to whatever morning you actually do the books.

## FAQ

### Will this change anything in Jobber or QuickBooks?

No. It only reads from both systems and reports what it finds. It never creates, edits, or deletes an invoice, so nothing in your books moves without you deciding to fix it.

### What actually counts as a problem?

Three things. An invoice in Jobber with nothing matching it in QuickBooks, a matched pair whose totals differ by more than a dollar, and a matched pair with a different number of line items. That last one is the sneaky case, because the invoice looks fine at a glance and the amount is just quietly short.

### Why match on customer name and amount instead of the invoice number?

The two systems keep their own internal record numbers and they do not line up, so there is no shared reference to match on. Comparing the customer, the total, and the date is how a bookkeeper would do it by hand, which is exactly what this replaces.

### What if an invoice just synced late?

Very recent invoices are called out separately as still in progress rather than reported as missing, so a normal delay does not get mistaken for a dropped transaction and send you chasing something that is fine.

### What happens when nothing is wrong?

You still get a message saying the sync is clean and how many invoices were checked. A silent week is indistinguishable from a broken check, so it always reports in.

Use this prompt in General Input: https://www.generalinput.com/prompts/catch-jobber-invoices-that-never-made-it-into-quickbooks