Invoices staged, never posted.
Until you approve.
A Make.com scenario, built inside your own account, that watches for inbound vendor invoices, extracts every field with a JSON schema enforced on the output, checks the math and the duplicates before anything moves forward, and stages the entry in QuickBooks Online as a non-posting draft with the original file attached, so nothing touches the ledger until you click approve.
Three ways this kind of build usually fails.
An invoice-to-QuickBooks scenario looks simple until real invoices start arriving. These are the three places it actually breaks.
One bad scan stalls the queue
Without explicit error handling on the trigger, extraction, and QBO steps, a password-protected PDF or a single API timeout can jam every invoice behind it instead of flagging just that one and letting the rest keep moving.
Duplicates slip through anyway
A full unbounded scan of a logging sheet is slow and still misses the same invoice arriving twice under a slightly different file name, unless the file hash and the vendor plus invoice number both get checked before extraction and staging.
QuickBooks has no native draft for Bills
Most builds either post the Bill immediately or fake a draft with a memo tag that still hits the ledger. Neither one survives a requirement that nothing gets auto-posted or auto-paid.
Every check happens before QuickBooks sees it.
Invoices arrive through a watched email inbox or Drive folder, and the first check is a bounded lookup against a Make Data Store on the file hash, so the same document never gets processed twice before a single AI call runs. Extraction runs with a JSON schema enforced on the output, vendor, date, line items, subtotal, tax, total, and job reference, so a malformed or inconsistent response never reaches a downstream module. Immediately after, the extracted vendor and invoice number get checked against QuickBooks and the logging sheet for an existing match, and line items get summed against the subtotal and tax to confirm the math actually holds, with anything outside Nova Scotia's 14% HST flagged for a glance rather than blocked outright. Since QuickBooks Bills don't have a native draft status, the staged entry lands as a Purchase Order instead, a non-posting object that never touches the ledger, with the original invoice attached through the Attachable API endpoint and a deep link built from the Realm ID and transaction ID so review takes one click. Every module, trigger, extraction, and QBO staging, gets its own error handler, so one illegible scan flags for review instead of stalling the pipeline, and every processed invoice, matched or flagged, lands in the audit sheet.
What you get. Phase by phase.
Built entirely inside your own Make account from day one, so ownership of the scenario, connections, and credentials stays with FundyOps.
- Watched email inbox and Drive folder trigger catching inbound invoices in PDF or image form
- AI extraction module, OpenAI or Claude via Make's native connector, with a JSON schema enforced on every field
- File hash checked against a bounded Make Data Store lookup before extraction runs
- Vendor and invoice number checked against QuickBooks and the logging sheet right after extraction
- Extracted vendor and job reference matched against your client-specific reference list
- Line items summed against subtotal, and subtotal plus tax checked against total
- Nova Scotia's 14% HST checked on every invoice, flagged for a glance when it doesn't match
- Any missing match or math mismatch routes straight to a flag-for-review path
- Entry staged as a Purchase Order, a non-posting QBO object, so nothing hits the ledger before approval
- Matched job and account coding applied, tax codes mapped so QBO's own settings don't recalculate or double count
- Original invoice attached through the QBO Attachable API endpoint, a separate call from creating the transaction
- Sandbox and Production QBO connections set up on separate credentials from day one
- Slack or email notification with a deep link built from the Realm ID and transaction ID
- Explicit error handling on the trigger, extraction, and QBO modules, so one bad invoice doesn't stall the queue
- Tested directly against illegible scans, missing job references, math mismatches, and duplicate invoices
- Every processed invoice, matched or flagged, logged to the audit sheet
- Written walkthrough of every module so the scenario can be maintained or modified without me
- Loom video walkthrough of the finished scenario end to end
- 45 minute live Zoom handover call to walk through the modules together before final payment
- Everything built and left inside your own Make account, connections and credentials included
Two milestones. Sandbox to handover.
Click any stage to see exactly what lands and when it's verified against your sample invoices.
Deliverables this week
- Email and Drive triggers wired and catching your sample invoice set
- AI extraction module live with a JSON schema enforced on every field
- File hash check against the Make Data Store built and tested
- QuickBooks sandbox connection established on its own credentials
Deliverables this week
- Vendor and job matching against your reference list, correct account coding applied
- Subtotal, tax, and total reconciliation checks live, with the 14% HST flag in place
- Duplicate check against QuickBooks and the logging sheet running before staging
- Initial staging proof of concept verified in the QBO sandbox, milestone 1 complete
Deliverables this week
- Error handling live on the trigger, extraction, and QBO modules
- Original invoice attached to the staged entry through the Attachable API endpoint
- Slack or email notification with a working deep link to the staged transaction
- Tested against illegible scans, missing job references, math mismatches, and duplicates
Deliverables this week
- Written walkthrough of every module in the scenario
- Loom video walkthrough of the finished scenario end to end
- 45 minute live Zoom handover call before final payment releases
- Full audit log and logging sheet reviewed together
FundyOps, let's stage the first invoice.
A short call to confirm the Purchase Order draft approach against your QBO sandbox and walk through your sample invoice set before milestone one starts. Happy to talk timeline and rates on the call.