• AWS-native AI integration · ships in 6–10 weeks

AP automation auto-posts 72% of invoices to QuickBooks

  • Document Automation · Accounting
  • Outsourced bookkeeping firm — ~180 SMB clients, ~12,000 invoices/month

The problem

Junior bookkeepers were spending ~40% of their time on AP intake — manually re-keying vendor name, amount, GL code, and due date into QuickBooks Online. Published error rate was ~2% (consistent with APQC's manual-AP benchmark).

Our approach

What we built

  • Email-in mailbox per client → S3 drop → Bedrock Data Automation classification (invoice / statement / credit memo / utility bill / not-an-invoice).
  • Custom blueprints per common vendor (top 50 vendors cover ~80% of volume); generic invoice blueprint as fallback.
  • Vendor master deduplication agent that catches “Acme Inc / Acme Corp / Acme Corporation” as the same entity using fuzzy match + LLM judgment with citation.
  • Confidence-routed HITL: fields with confidence ≥0.92 auto-post to QBO; below routes to Amazon A2I with the original PDF and the agent’s extracted fields side-by-side.
  • Three-way match agent on clients where POs exist; flags discrepancies for human review rather than auto-resolving.

Caveats

Free-text line items on construction invoices break three-way matching. Vendor master deduplication is harder than it sounds — we still review the dedup agent’s calls manually for the first three months on every new client. Handwritten utility bill amounts hit ~85% accuracy, never 99%; the confidence routing handles that gracefully but the per-document HITL rate on utilities stays higher than on system-generated invoices.

Stack. AWS Bedrock Data Automation · Amazon Textract for handwritten line items · Amazon A2I for HITL · QBO API · S3 · weekly eval review in Langfuse.

Outcome

Auto-post rate ~72% across the client base. Junior bookkeeper time on AP intake fell from 40% to 15% of the week. Verified error rate fell to 0.7%. Invoice processing dropped from 18 hours to 35 minutes.

72%
auto-post rate (no human touch)
0.7%
verified error rate (was ~2%)
18h → 35min
invoice processing time