0
Manual entry for matched invoices
96%
Three-way match success rate
−28h
AP team hours saved per week

The client and the problem

The client is a mid-sized distribution business managing procurement across 40+ active suppliers. Their accounts payable process was entirely manual: invoices arrived through email, WhatsApp forwards, supplier portals, and paper scans faxed from their warehouse. Each one landed with a different team member, who would then manually key the data into Zoho Books and chase the relevant purchase order for matching.

With 700–900 invoices processed per month, the AP team of three was perpetually behind. Discrepancies between purchase orders and invoices were caught late — sometimes after payment had already been made. Duplicate invoices slipped through when the same document arrived via two channels. Month-end was chaotic.

Because we are an Authorised Zoho Partner, we were able to go significantly deeper into the Zoho Books API than a general developer would — using advanced API endpoints for vendor management, bill creation, purchase order reconciliation, and custom field automation that aren't accessible to non-partner integrations.

Authorised
Zoho Partner

Why Zoho Partner status matters for this build: As an Authorised Zoho Partner, we have access to advanced Zoho Books API endpoints, partner support escalation, and direct integration testing environments. This meant we could build purchase order reconciliation, three-way matching logic against live Zoho data, and custom approval workflow automation that a general developer would not be able to access or test reliably.


The full pipeline — 8 stages

We designed the same eight-stage pipeline architecture used across our AP automation projects, configured specifically for Zoho Books and the client's procurement workflow.

— AI invoice pipeline · Zoho Books integration
📥

Stage 1 — Multi-Source Intake

Email (IMAP) · Web portal · REST API · Google Drive · Dropbox · WhatsApp API integration
6 sources
🔧

Stage 2 — Pre-Processing

File type detection · Deskew & noise removal · Document classification: invoice / PO / delivery note / credit note
4 doc types
🤖

Stage 3 — AI Extraction

Azure Document Intelligence + GPT-4o · Vendor, invoice no., dates, line items, quantities, pricing, PO ref · Structured JSON
96% accuracy
🔎

Stage 4 — Three-Way Matching

Vendor match vs Zoho contacts · PO vs Invoice quantities & pricing · Delivery note vs PO · Tax recalculation · Duplicate detection
3-way match

Stage 5 — Approval Routing

Auto-approve on full match · Tiered approval by amount · Exception routing with diff summary · Audit log per decision
Configurable
📗

Stage 6 — Zoho Books Posting

Create bill · Line items with account codes · Auto-create vendor if new · Reconcile PO in Zoho · Attach source document
Zoho API
☁️

Stage 7 — Storage & Traceability

Document stored in cloud · Linked to Zoho transaction · Full processing log · Downloadable audit trail
Full trace
📊

Stage 8 — Dashboard & Analytics

Processing status · Exception reports · Vendor analytics · Throughput metrics · SLA tracking
Live

Three-way matching — how we built it

Three-way matching is the core financial control in any serious AP process: the purchase order (what was ordered), the invoice (what the supplier is charging), and the delivery note (what was actually received) must all agree before payment is approved. Most AP automation tools do two-way matching at best. We built full three-way matching against live Zoho Books data.

Match TypeWhat We CompareTolerancePass ActionFail Action
Vendor matchExtracted name + VAT vs Zoho contacts (fuzzy + exact)Map to Zoho contact IDCreate new vendor or manual map
PO vs Invoice — quantityEach line item quantity on invoice vs purchase order0%ProceedFlag line with difference
PO vs Invoice — pricingUnit price on invoice vs agreed price on PO≤ 2%ProceedFlag with % difference
Delivery note vs POReceived quantities on delivery note vs PO quantities0%ProceedShort delivery — flag before payment
Duplicate detectionInvoice number + vendor ID vs last 24 months in ZohoProceedBlock + alert — do not process
Tax validationRecalculate GST/VAT vs extracted tax figure0.5%ProceedFlag for finance review

When all six checks pass, the invoice is auto-approved and posted to Zoho Books without any human involvement. When any check fails, the invoice enters the exceptions queue with a detailed diff report — not just "failed", but specifically which line item, which field, and by how much.


AI extraction — the JSON output

The extraction layer uses Azure Document Intelligence for layout analysis (table detection, bounding boxes, reading order) and GPT-4o for semantic field extraction. The combination handles invoice formats we've never seen before without requiring templates or training data per supplier.

// Zoho Books API payload — auto-generated from extraction
{ "vendor_id": "ZOHO-VENDOR-00142", "bill_number": "BILL-INV-2024-03821", "date": "2024-11-18", "due_date": "2024-12-18", "reference_number": "PO-2024-0441", "line_items": [ { "item_id": "ITEM-SKU-8821", "description": "Steel Rod 12mm x 6m — Grade B", "quantity": 200, "rate": 8.50, "amount": 1700.00, "account_id": "ZOHO-ACC-5000", "tax_id": "TAX-GST18" } ], "sub_total": 1700.00, "tax_total": 306.00, "total": 2006.00, "currency_code": "INR", "notes": "Auto-posted by Infomaze AP Automation v2.1", "attachment_id": "DOC-2024-INV-03821-ORIG" }

Zoho Books integration — what we built into the API

As Authorised Zoho Partners, we built directly against the full Zoho Books API — not a third-party connector or middleware. This gave us control over every aspect of the integration and allowed us to use endpoints that aren't accessible to general developers.

— Zoho Books API integration flow
🔍

Vendor Lookup

Search Zoho contacts · fuzzy match · return contact ID
📋

PO Fetch

Pull matching PO from Zoho · retrieve line items for 3-way match

Validation

Run all 6 checks · generate diff report if any fail
📗

Bill Create

POST /bills · line items · tax · account codes · PO ref
📎

Attach & Link

Attach source doc · mark PO as billed · update Zoho custom fields

The exception dashboard

Not every invoice auto-approves — and when exceptions occur, the team needs to understand exactly what's wrong and act quickly. We built a lightweight exception dashboard that shows the AP team their exception queue with everything they need to make a decision without switching tabs.

AP EXCEPTIONS DASHBOARD · ZOHO BOOKS · TODAY ● Live
847
PROCESSED TODAY
812
AUTO-APPROVED
29
PENDING REVIEW
6
BLOCKED

Prakash Steel Suppliers

Price variance: INV ₹9.20/unit vs PO ₹8.50/unit (+8.2%)
₹18,400 Needs review

Global Packaging Co

Qty mismatch: Invoice 500 units, Delivery note 480 units
₹24,000 Held

Reliance Logistics Ltd

New vendor — no PO match found · Create in Zoho?
₹6,200 Needs review

Mehta Office Supplies

All 6 checks passed · Within approval threshold
₹3,840 Auto-approved

Results after 90 days

0

Manual keystrokes for auto-approved invoices

96%

Three-way match success rate

−28h

AP team hours saved per week

82%

Invoices auto-approved end-to-end

<2min

Intake to Zoho posting (matched invoices)

−4d

Reduction in month-end close

The 18% of invoices that require human review still benefit significantly — they arrive in the approver's portal pre-filled, with the specific discrepancy flagged, the relevant Zoho PO linked, and a one-click approve or reject button. Average exception resolution time dropped from 2.8 days to 4 hours.

Duplicate invoice catches in the first 90 days: 14 duplicates blocked — invoices that had already been submitted through a different channel and would previously have been paid twice.


Tech stack

Python · FastAPI Azure OpenAI (GPT-4o) Azure Document Intelligence Tesseract OCR Zoho Books API v3 Zoho OAuth 2.0 PostgreSQL Azure Blob Storage Google Drive API React (exceptions portal) Docker · Azure Container Apps WhatsApp Business API

Running AP manually on Zoho Books?

As Authorised Zoho Partners, we can build deeper into the Zoho Books API than a general developer. We'll assess your invoice volume and document mix, and give you a realistic automation rate estimate in a free 60-minute call — no obligation.

All case studies
Zoho Books Integration AI Invoice Processing Accounts Payable Automation Three-Way Matching Document Processing AI OCR Zoho Partner Azure OpenAI PO Matching