Automate vendor PDF intake into QuickBooks invoices

Use an agent to read vendor PDFs, sort line items, and create matched QuickBooks Online invoices with the files attached.

Done with Claude Code· Advanced

What they did
Eamonn Cottrell had already built a QuickBooks Online workflow with Claude Code that pulled data from vendor PDFs, grouped items by category, and created invoices. He went back into the project and asked Claude Code to finish the last manual pieces. It added PDF uploads through QuickBooks’ attachment API, a step to ask for help on unknown items and update the master category list, cleanup for processed files, and duplicate checks.
How it went
In a test run for another vendor process, it located 40 PDFs, made the QuickBooks entries, attached the files, and cleaned up without help. He said the job used to take hours and now finishes in minutes. He also tested the duplicate guard by running it twice on purpose.
Tips
He had not built a QuickBooks connection before, and the earlier invoice-creation code stayed in place while each change was layered on. Before anything gets posted, have the agent show the invoices it plans to create and wait for approval.

Try it yourself with Claude Code

Build a workflow that scans [folder, inbox, or drive path] for vendor PDFs, extracts the line items, assigns each item to a category, and prepares matching invoices in QuickBooks Online. If you find an item you cannot categorize confidently, stop and ask me for the category, then add that answer to the master list for future runs. Attach each source PDF to the corresponding QuickBooks record, remove files that have already been processed, and block duplicate invoices if the same document is seen again. Before you create, send, or post any QuickBooks invoice, show me the draft records for approval and wait for my confirmation.

Fill in the [brackets]. Agents can make mistakes, so review anything before it is sent, paid or deleted.

Get 3 agent uses like this every morning

With the day's top AI news. Free, and one click to unsubscribe.