All case studies
Case Study · 2026 · Internal R&D · 8 engineering days

Zoho Books Billing Bridge

Usage-to-invoice pipeline pushing metered product events into Zoho Books with tax handling and dunning hooks.

Reference implementation for our metered-billing integration standard.

bridge.internal / zoho-books / invoice pipelineBilling BridgePipelineInvoicesRetriesTax rulesLedger syncRunsInvoice pipeline169 documents in flight · 0 duplicates · idempotent writesDraft · 41INV-200436,400 · GST 18%DraftINV-201450,400 · GST 18%DraftINV-202464,400 · GST 18%DraftApproved · 28INV-210454,400 · GST 18%ApprovedINV-211475,400 · GST 18%ApprovedINV-212496,400 · GST 18%ApprovedIssued · 96INV-220472,400 · GST 18%IssuedINV-2214100,400 · GST 18%IssuedINV-2224128,400 · GST 18%IssuedRetry · 4INV-230490,400 · GST 18%RetryINV-2314125,400 · GST 18%RetryINV-2324160,400 · GST 18%Retry
The problem

Teams that price on usage often meter inside the product and invoice inside Zoho Books, with a spreadsheet bridging the two at month end. The bridge is the failure point: late invoices, missed usage lines, tax applied by hand, and no way to answer a customer asking why a figure moved.

What we built
  • A metering store that aggregates raw product events into billable periods with immutable period close, so a closed month cannot be silently restated.
  • A Zoho Books integration creating invoices and line items through the Books API with idempotency keys per period-customer pair, so a retried run never double-bills.
  • Tax and currency resolution driven by the customer's registered place of supply, with the applied rule recorded on the invoice line for audit.
  • Dunning hooks that listen for Zoho payment events and expose overdue state back to the product for entitlement decisions.
The result

A simulated month of 180,000 usage events across 420 accounts closed and invoiced in 96 seconds with every invoice traceable to its underlying event rows. Forced mid-run failures and replays produced no duplicate invoices across 50 fault-injection runs.

Want this level of documentation on your project?

Every engagement ships with the same written record: what changed, why, and what it measured.

Start a conversation