ENGINEERING STORY

Zoho Books + Wallet Accounting

What looked like a simple integration turned into designing the accounting rules behind the business.

6 min read

Node.jsExpressZoho Books APIsSales OrdersInvoicesCredit NotesJournal EntriesEvent Driven Architecture

System Integration

D

Daizer Platform

Source of Truth

JS

Node.js Integration Layer

Zoho Books

Zoho Books

Accounting Engine

Automatic invoices

Generated on every order

Wallet accounting

Liabilities tracked correctly

Credit notes

Refunds handled automatically

Revenue recognition

Earned at consumption

What we thought was just a Zoho integration

When Daizer approached us, the request sounded straightforward.

Sync products. Generate invoices automatically. Connect everything with Zoho Books.

But once we started understanding how money moved through the business, we realized the real problem wasn't synchronization. It was accounting.

The wallet changed everything

Customer adds money
Business owes value
Customer spends credits
Revenue is earned

Wallet balances are liabilities, not revenue. Revenue only exists when products are consumed. This small distinction changed the entire architecture.

More complexity appeared

Multiple Pricing Tiers

  • Retail
  • Wholesale
  • VIP customers

Refund Logic

  • Wallet restoration
  • Revenue reversal
  • Credit notes

Bonus Credits

  • Business expense
  • Not revenue

Historical Products

  • Soft deletes
  • Preserve invoice history

The Shift

How do we send data to Zoho?

What actually happens when customers interact with the business?

Once we started modeling business actions instead of API calls, everything became much clearer.

Architecture

Customer Action

Daizer Platform

Source of Truth

Node.js Integration Layer

Zoho Books

Sales OrdersInvoicesCredit NotesJournal EntriesPricing Rules

What happens automatically

Each event automatically creates: Sales Orders, Invoices, Credit Notes, Journal Entries, Pricing Rules

1

Wallet Top-up

Credits added to customer wallet.

2

Order Placed

Products consumed from wallet balance.

3

Refund Issued

Credits restored and revenue reversed.

4

Product Updated

Catalog changes synced without breaking history.

Results

Accurate Reporting

Revenue recognized correctly.

No Spreadsheet Work

Accounting became automatic.

Promotions Became Measurable

Bonus credits treated as expenses.

Historical Integrity

Old records remained intact.

Looking back

What started as a Zoho Books integration became something much bigger.

We weren't really connecting APIs. We were translating business actions into accounting actions.

Customers never think about it. They simply use the platform. And that's probably the best sign that the system is doing its job.

Tech Stack

Node.jsExpressZoho Books APIsSales OrdersInvoicesCredit NotesJournal EntriesEvent Driven Architecture