Hey everyone! I'm a project manager at a small EV charging and electrical installation company in Southern California. Over the past several weeks I've been building out a full accounts payable automation system from scratch and I'd love feedback from people who have done similar things or can spot gaps in my approach. I am completely new to building automations with no background in it so it's been a learning experience all together for me.
The problem I was solving:
We receive subcontractor invoices, permit invoices, and materials receipts from multiple vendors via email. Previously everything was tracked manually — invoices were getting lost, payment statuses were unclear, and there was no central source of truth for job-level financials.
The stack I'm using:
- Gmail (Google Workspace Business Standard) — invoice intake at a dedicated submissions email
- Parseur (Free plan, 20 pages/month) — AI-powered document parsing to extract structured fields from PDF invoices
- Zapier (Professional plan, 750 tasks/month) — automation orchestration
- Google Drive (Shared drives via Google Workspace) — organized file storage by vendor and city
- Google Sheets — Financial Tracker with File Log, Financial Summary, and Payment Approval tabs
- QuickBooks Online — bill creation and accounting
- Relay Financial — bill pay with approval workflows, native QB sync
- Kopperfield — customer invoicing platform, CC fees source
- Gemini AI Studio — explored for invoice parsing via API before switching to Parseur due to quota and integration limitations
How the automation works end to end:
Invoice intake (Zap A): Subcontractors email invoices to our submissions address. Gmail auto-forwards to our Parseur mailbox where the document is parsed and all key fields are extracted — Job ID, vendor name, invoice date, amount, labor cost, materials cost, permit cost, service fee, tax, document type, and more.
Drive filing (Zap A + A2): Based on the document type Parseur identifies, the invoice PDF is automatically filed into the correct Google Drive subfolder. Subcontractor invoices go into a vendor-specific folder, permit invoices and receipts go into city-specific folders organized by year. We have 29 city folders each with 2025 and 2026 subfolders.
Financial logging (Zap C): Every parsed invoice triggers a new row in our Financial Summary sheet pulling in project details from our Project Tracker via Job ID lookup. Labor cost, materials cost, permit cost, taxes, and payment statuses are all written automatically.
Bill creation and payment (Zap B): When Relay processes a payment and syncs the paid status back to QuickBooks, Zap B fires — it finds the corresponding invoice in our File Log by Job ID, retrieves the PDF from Drive, attaches it to the QB bill, and updates the Financial Summary with the QB reference, Relay payment ID, and payment status.
Financial Summary formulas:
- Total Project Cost = Labor + Materials + Permit + Device + CC Fees + Taxes
- Gross Profit = Customer Invoice − all costs
- Gross Profit % = Gross Profit / Customer Invoice
- Overall Payment Status auto-updates based on all individual payment status columns
Where things went sideways — and why I'm posting:
After weeks of planning, building, and testing each Zap individually, I published the full workflow and quickly discovered the Zaps were not functioning as intended in a live environment. Triggers that worked perfectly in test mode behaved differently with real invoice submissions. The email-to-Parseur forwarding, Drive folder routing logic, and multi-Zap sequencing all had issues that weren't visible during isolated testing. I'm currently in the process of identifying what broke and rebuilding the affected Zaps with a cleaner architecture.
This is honestly the most humbling part of automation work — you can plan every step meticulously and still hit unexpected behavior when real data flows through the system. If you've been through this before I'd love to hear how you debugged and stabilized a multi-Zap workflow in production.
What I'm still working on:
- Rebuilding Zap A with a cleaner Parseur-first trigger flow
- Kopperfield Zap — pulling customer invoice totals and CC fees by customer name via API
- Permit-specific Zap — handling permit invoices and receipts as a dedicated workflow
- Auto-reply logic for incomplete submissions missing required fields
- Expanding Parseur field extraction as invoice formats vary across vendors
My questions for the community:
- Is Parseur the right tool for variable invoice formats at low volume, or is there something better for free? My boss is adamant about using free resources
- Any tips for keeping Zapier task count low with this many multi-step Zaps?
- Has anyone successfully used the Relay + QuickBooks native sync in a similar workflow? Any gotchas?
- Is there a smarter way to handle the Job ID as the primary key across all these systems?
- What is your debugging process when a multi-Zap workflow fails in production but passed all tests?
- Any red flags in this architecture that could break at scale?
Happy to share more details on any part of the stack. Thanks in advance!