Zoho Books CLI
Your Zoho Books, from the terminal.
Query and update invoices, bills, contacts and your bank feed with one command. Scriptable output for your shell, and a CLI your AI agent can drive.
$ npm install -g @finopsbricks/fob-zb$ fob zb invoices list --status overdue \ --fields invoice_number,customer_name,due_date,balance NUMBER CUSTOMER DUE BALANCE ---------------------------------------------------- INV-000142 Northwind Traders 2026-09-03 4,250.00 INV-000151 Acme Ltd 2026-09-11 1,180.00 INV-000163 Globex Corp 2026-09-26 12,600.00
Two ways to drive it
The same commands work for you and for your agent.
You, in the terminal
Tables for reading, JSON and CSV for piping. Every list filters, paginates and selects columns. Writes are explicit, and deletes ask for --yes.
$ fob zb bills list --status open --format csv --output open-bills.csvOutput and scripting →Your AI agent
Claude Code, Cursor and Codex already run commands. Point them at fob-zb and ask about your books in plain English, or give them a read-only profile so they can look but not touch.
$ fob zb getting-started # the agent's first commandUse with AI agents →What it covers
27 resources. Every one supports list and show; writes cover the core documents.
| Area | Resources | Writes |
|---|---|---|
| Sales and receivables Contacts, estimates, sales orders, invoices, credit notes, retainers, customer payments | Contacts, estimates, sales orders, invoices, credit notes, retainers, customer payments | |
| Purchases and payables Bills, purchase orders, expenses, vendor credits, vendor payments | Bills, purchase orders, expenses, vendor credits, vendor payments | |
| Banking Bank accounts and feed transactions: categorize, match, exclude | Bank accounts and feed transactions: categorize, match, exclude | |
| Accounting Chart of accounts, items, manual journals | Chart of accounts, items, manual journals | |
| Recurring Recurring invoices, bills and expenses: stop and resume | Recurring invoices, bills and expenses: stop and resume | |
| Projects and settings Projects, time entries, organizations, users, taxes, currencies | Projects, time entries, organizations, users, taxes, currencies | Read only |
Every command and option: command reference →
Set up in four steps
About ten minutes, most of it in Zoho's API Console.
- 1
Install
npm install -g @finopsbricks/fob-zb - 2
Create a Zoho Self Client
In your region's Zoho API Console. You get a client ID and secret.
- 3
Generate a grant code
Scope ZohoBooks.fullaccess.all, valid for 10 minutes.
- 4
Add a profile
fob-zb config profiles add myorg --grant-code …
Or run fob-zb getting-started after installing, for the same steps with links for your region. Full setup guide →
Questions
Does my data go through FinOpsBricks?
No. fob-zb runs on your machine and calls Zoho's API directly. Credentials stay in ~/.fob/fob-zb/config.yml (mode 0600) and are never sent to us.
Which Zoho regions work?
All of them: US (.com), EU, India, Australia, Japan, Canada, China and Saudi Arabia. You pick the region when you add a profile.
I manage several Zoho Books organizations. Do I need one client per org?
No. One Self Client reaches every organization your Zoho login can see. Add a profile per organization with --from and switch with --profile.
Can I stop an AI agent from changing anything?
Yes. Generate the grant code with read-only scopes and Zoho itself rejects every write. Read-only scopes →
What does it cost?
Nothing. fob-zb is open source under Apache-2.0. You need your own Zoho Books subscription.
Is it production-ready?
It's in Beta. Reads cover every resource. A few things aren't built yet, such as bank rules, attachments and reports, and bank-feed categorize/match hasn't been validated on a live feed. Beta limits →
fob-zb is not affiliated with or endorsed by Zoho Corporation. “Zoho” and “Zoho Books” are trademarks of Zoho Corporation.