Zoho Books
What It Does
Zoho Books sends billing events in real time to DURUM.ai.
| Zoho Books Event | Type in DURUM.ai | When |
|---|---|---|
| Invoice Paid | Payment | Client pays an invoice |
| Invoice Overdue | Payment Due | Invoice passes the due date |
Step-by-Step Configuration
- Log in to your Zoho Books account
- Click the Gear icon (top right) to access Settings
- In the Integrations section, click Webhooks (or in Automation depending on your version)
- Click + New Webhook
Webhook for paid invoices:
- Name:
DURUM - Payment - Module: Invoice
- URL:
https://app.durum.ai/api/webhook/payment?client_key=YOUR_KEY - HTTP Method: POST
- Payload Format: JSON
- In Trigger, select: when invoice status changes to Paid
- Add the fields to include in the payload:
- Invoice Number
- Invoice Date
- Total
- Balance
- Customer Name
- Contact Email
- Click Save
Webhook for overdue invoices:
- Create a second webhook:
DURUM - Payment Due - Same URL:
https://app.durum.ai/api/webhook/payment?client_key=YOUR_KEY - Trigger: when status changes to Overdue
- Save
How to Test
- Create a test invoice in Zoho Books
- Mark it as paid
- Wait 30 seconds
- In DURUM.ai, go to Data Logs
- Verify that a
paymentevent appears - Delete the test invoice
Zoho Books Troubleshooting
| Problem | Solution |
|---|---|
| Empty payload in logs | Verify the fields are properly configured in the Zoho Books webhook |
client_key=unknown | Make sure ?client_key=YOUR_KEY is present in the URL |
| Quarantined event | The agency needs to map the source. Contact your manager. |
WARNING
The ?client_key=YOUR_KEY parameter is required in the Zoho Books webhook URL. Without this parameter, DURUM.ai won't be able to associate the payment with your account.