Verification pending. This write-up describes what was built and how it works. It contains no performance figures, and it will be updated with measured results once they are verified.
Challenge
Supplier invoices for shingles, underlayment, flashing and dumpsters arrived by email all month. Material cost per job was a month-end reconstruction, which meant a money-losing job was discovered after it closed.
Existing workflow
Invoices sat in the inbox until someone had time to key them into the CRM — often against the wrong job, sometimes not at all.
What we built
An automation that watches a mailbox, parses each invoice PDF for supplier, invoice number, job reference, delivery address and totals, matches it against open jobs in JobNimbus with explicit rules, and attaches it. Anything unmatched or ambiguous goes to a short review list.
Human involvement
People resolve every exception and approve every payment. The automation never pays a bill or edits accounting records.
Result
Built and used at Certified Contracting. This case study will be updated with measured before-and-after data before it is marked verified.
Lessons learned
- Ask suppliers for a PO or job number. It is the single biggest improvement to match rates.
- Use AI to read, rules to decide. Parsing varied PDFs is a good job for AI; choosing which job gets the cost should be a rule you can audit.