# Zoho Books on boxd

> Zoho Books handles accounting, invoicing, and expense tracking, offering real-time collaboration and integrations within the Zoho ecosystem.

- Page: https://boxd.sh/integrations/zoho-books/
- CLI: `run zoho-books` (265 commands, 64 marked common)
- SDK: `import { zohoBooks } from "@boxd/run"`; every parameter and response type is at `@boxd/run/zoho-books`
- Triggers: none
- Connect: `run auth zoho-books` (Sign in with Zoho Books), or https://app.boxd.sh/integrations/detail/zoho_books
- All integrations: https://boxd.sh/integrations/ (Markdown: https://boxd.sh/integrations/index.md)

## From the shell

```sh
run auth zoho-books      # once: prints a link to connect your account
run zoho-books           # list its commands
run zoho-books list-organizations
```

Parameters are flags (`--flag value`); object and array parameters take a JSON string. Output is YAML, or JSON with `--json`. Calls use your own connection; `--scope <name>` uses a connection shared with your team.

## From a script

```ts
import { every, zohoBooks } from "@boxd/run";

every("1 hour", async () => {
  const result = await zohoBooks.listOrganizations();
  console.log(result);
});
```

Run it with `run zoho-books.run.ts`. Zoho Books has no triggers; `every()` polls on a schedule, keeps the script running as a job, and wakes the machine when it is due.

## Commands

Required flags are listed; `run zoho-books <command> --help` lists the optional ones. "common" marks what `run zoho-books` shows without `--all`.

| Command | SDK method | Required flags | Optional | Description |
|---|---|---|---|---|
| `accept-estimate` | `zohoBooks.acceptEstimate()` | `--estimate-id` `--organization-id` | 0 | Mark an estimate as accepted |
| `activate-bank-account` | `zohoBooks.activateBankAccount()` | `--account-id` `--organization-id` | 0 | Activate a bank account |
| `add-bill-attachment` | `zohoBooks.addBillAttachment()` | `--attachment` `--bill-id` `--organization-id` | 0 | Add an attachment to an existing bill in Zoho Books |
| `add-bill-comment` | `zohoBooks.addBillComment()` | `--bill-id` `--description` `--organization-id` | 0 | Add a comment to a bill in Zoho Books |
| `add-contact-address` | `zohoBooks.addContactAddress()` | `--contact-id` `--organization-id` | 10 | Add an additional address to a contact in Zoho Books |
| `add-invoice-comment` | `zohoBooks.addInvoiceComment()` | `--description` `--invoice-id` `--organization-id` | 0 | Add a comment to an invoice |
| `add-project-comment` | `zohoBooks.addProjectComment()` | `--description` `--organization-id` `--project-id` | 0 | Add a comment to a project |
| `add-purchase-order-comment` | `zohoBooks.addPurchaseOrderComment()` | `--description` `--organization-id` `--purchaseorder-id` | 0 | Add a comment to a purchase order in Zoho Books |
| `add-sales-order-comment` | `zohoBooks.addSalesOrderComment()` | `--description` `--organization-id` `--salesorder-id` | 0 | Add a comment to a sales order in Zoho Books |
| `add-vendor-credit-comment` | `zohoBooks.addVendorCreditComment()` | `--description` `--organization-id` `--vendor-credit-id` | 0 | Add a comment to a vendor credit |
| `apply-credit-note-to-invoice` ·common | `zohoBooks.applyCreditNoteToInvoice()` | `--creditnote-id` `--invoices` `--organization-id` | 0 | Apply a credit note to one or more invoices in Zoho Books |
| `apply-credits-to-bill` | `zohoBooks.applyCreditsToBill()` | `--bill-id` `--organization-id` `--vendor-credits` | 0 | Apply vendor credits to a bill in Zoho Books |
| `apply-credits-to-invoice` ·common | `zohoBooks.applyCreditsToInvoice()` | `--creditnotes` `--invoice-id` `--organization-id` | 0 | Apply credit notes to an invoice in Zoho Books |
| `bulk-export-invoices-pdf` | `zohoBooks.bulkExportInvoicesPdf()` | `--invoice-ids` `--organization-id` | 0 | Export multiple invoices to a single PDF |
| `bulk-print-invoices` | `zohoBooks.bulkPrintInvoices()` | `--invoice-ids` `--organization-id` | 0 | Bulk print up to 25 invoices as a single PDF |
| `categorize-as-customer-payment-refund` | `zohoBooks.categorizeAsCustomerPaymentRefund()` | `--amount` `--date` `--from-account-id` `--organization-id` `--payment-id` `--transaction-id` | 0 | Categorize an uncategorized bank transaction as a customer payment refund |
| `categorize-uncategorized-transaction` | `zohoBooks.categorizeUncategorizedTransaction()` | `--organization-id` `--transaction-id` `--transaction-type` | 22 | Categorize an uncategorized bank transaction |
| `clone-project` | `zohoBooks.cloneProject()` | `--organization-id` `--project-id` `--project-name` | 1 | Clone an existing project |
| `convert-purchase-order-to-bill` ·common | `zohoBooks.convertPurchaseOrderToBill()` | `--organization-id` `--purchaseorder-ids` | 0 | Retrieve bill data from purchase orders for conversion |
| `create-bank-account` ·common | `zohoBooks.createBankAccount()` | `--bankaccount` `--organization-id` | 0 | Create a bank or credit card account |
| `create-bank-transaction` ·common | `zohoBooks.createBankTransaction()` | `--organization-id` `--transaction-type` | 21 | Create a manual bank transaction |
| `create-chart-of-account` ·common | `zohoBooks.createChartOfAccount()` | `--account-name` `--organization-id` | 8 | Create a new chart of account in Zoho Books |
| `create-contact` ·common | `zohoBooks.createContact()` | `--contact-name` `--organization-id` | 48 | Create a new contact in Zoho Books |
| `create-contact-person` | `zohoBooks.createContactPerson()` | `--contact-id` `--first-name` `--organization-id` | 9 | Create a new contact person for an existing contact in Zoho Books |
| `create-currency` | `zohoBooks.createCurrency()` | `--currency-code` `--currency-format` `--organization-id` | 2 | Create a new currency for an organization |
| `create-customer-payment-refund` | `zohoBooks.createCustomerPaymentRefund()` | `--amount` `--customer-payment-id` `--date` `--from-account-id` `--organization-id` | 5 | Refund an excess customer payment |
| `create-employee` ·common | `zohoBooks.createEmployee()` | `--email` `--employee-name` `--organization-id` | 2 | Create a new employee in Zoho Books |
| `create-exchange-rate` | `zohoBooks.createExchangeRate()` | `--currency-id` `--effective-date` `--organization-id` `--rate` | 0 | Create a new exchange rate for a currency |
| `create-expense` ·common | `zohoBooks.createExpense()` | `--account-id` `--amount` `--date` `--organization-id` `--paid-through-account-id` | 11 | Create a new expense in Zoho Books |
| `create-invoice-from-salesorder` ·common | `zohoBooks.createInvoiceFromSalesorder()` | `--organization-id` `--salesorder-id` | 0 | Create an instant invoice from an existing sales order |
| `create-item` ·common | `zohoBooks.createItem()` | `--name` `--organization-id` `--rate` | 13 | Create a new item (product or service) |
| `create-journal` ·common | `zohoBooks.createJournal()` | `--journal-date` `--line-items` `--organization-id` | 7 | Create a journal entry in Zoho Books |
| `create-location` ·common | `zohoBooks.createLocation()` | `--address` `--location-name` `--organization-id` | 9 | Create a new location in Zoho Books |
| `create-project` ·common | `zohoBooks.createProject()` | `--billing-type` `--customer-id` `--organization-id` `--project-name` `--user-id` | 6 | Create a project in Zoho Books |
| `create-recurring-bill` | `zohoBooks.createRecurringBill()` | `--organization-id` `--recurrence-frequency` `--recurrence-name` `--repeat-every` `--start-date` `--vendor-id` | 17 | Create a recurring bill in Zoho Books |
| `create-recurring-expense` ·common | `zohoBooks.createRecurringExpense()` | `--account-id` `--amount` `--organization-id` `--recurrence-frequency` `--recurrence-name` `--repeat-every` `--start-date` | 7 | Create a new recurring expense in Zoho Books |
| `create-recurring-invoice` | `zohoBooks.createRecurringInvoice()` | `--customer-id` `--organization-id` `--recurrence-frequency` `--recurrence-name` | 24 | Create a recurring invoice |
| `create-reporting-tag` | `zohoBooks.createReportingTag()` | `--entities` `--multi-preference-entities` `--organization-id` `--tag-name` | 2 | Create a new reporting tag in Zoho Books |
| `create-rule` ·common | `zohoBooks.createRule()` | `--apply-to` `--criteria-type` `--criterion` `--organization-id` `--rule-name` `--target-account-id` | 5 | Create a rule for automatic transaction categorization |
| `create-sales-receipt` ·common | `zohoBooks.createSalesReceipt()` | `--customer-id` `--line-items` `--organization-id` `--payment-mode` | 7 | Create a sales receipt in Zoho Books |
| `create-time-entry` ·common | `zohoBooks.createTimeEntry()` | `--log-date` `--organization-id` `--project-id` `--task-id` `--user-id` | 5 | Create a new time entry for a project task |
| `create-user` ·common | `zohoBooks.createUser()` | `--email` `--name` `--organization-id` `--role-id` | 0 | Create a new user in Zoho Books |
| `create-vendor-credit` ·common | `zohoBooks.createVendorCredit()` | `--date` `--line-items` `--organization-id` `--vendor-id` | 5 | Create a vendor credit in Zoho Books |
| `create-vendor-payment` ·common | `zohoBooks.createVendorPayment()` | `--amount` `--date` `--organization-id` `--paid-through-account-id` `--vendor-id` | 5 | Create a vendor payment in Zoho Books |
| `deactivate-bank-account` | `zohoBooks.deactivateBankAccount()` | `--account-id` `--organization-id` | 0 | Deactivate a bank account |
| `delete-bank-account` | `zohoBooks.deleteBankAccount()` | `--account-id` `--organization-id` | 0 | Delete a bank account from your organization |
| `delete-bank-transaction` ·common | `zohoBooks.deleteBankTransaction()` | `--bank-transaction-id` `--organization-id` | 0 | Delete a specific bank transaction |
| `delete-bill` | `zohoBooks.deleteBill()` | `--bill-id` `--organization-id` | 0 | Delete a specific bill |
| `delete-bill-attachment` | `zohoBooks.deleteBillAttachment()` | `--bill-id` `--organization-id` | 0 | Delete an attachment from a specific bill |
| `delete-bill-comment` | `zohoBooks.deleteBillComment()` | `--bill-id` `--comment-id` `--organization-id` | 0 | Delete a comment from a bill |
| `delete-bill-payment` | `zohoBooks.deleteBillPayment()` | `--bill-id` `--bill-payment-id` `--organization-id` | 0 | Delete a specific bill payment |
| `delete-bulk-customer-payments` | `zohoBooks.deleteBulkCustomerPayments()` | `--organization-id` `--payment-id` | 0 | Bulk delete multiple customer payments |
| `delete-bulk-vendor-payments` | `zohoBooks.deleteBulkVendorPayments()` | `--organization-id` `--vendorpayment-id` | 0 | Bulk delete multiple vendor payments |
| `delete-chart-of-account` | `zohoBooks.deleteChartOfAccount()` | `--account-id` `--organization-id` | 0 | Delete a specific chart of account |
| `delete-chart-of-account-transaction` | `zohoBooks.deleteChartOfAccountTransaction()` | `--organization-id` `--transaction-id` | 0 | Delete a chart of account transaction |
| `delete-contact` | `zohoBooks.deleteContact()` | `--contact-id` `--organization-id` | 0 | Delete a specific contact |
| `delete-contact-address` | `zohoBooks.deleteContactAddress()` | `--address-id` `--contact-id` `--organization-id` | 0 | Delete an additional address from a contact |
| `delete-contact-person` | `zohoBooks.deleteContactPerson()` | `--contact-person-id` `--organization-id` | 0 | Delete a specific contact person |
| `delete-credit-note` | `zohoBooks.deleteCreditNote()` | `--creditnote-id` `--organization-id` | 0 | Delete a specific credit note |
| `delete-credit-note-comment` | `zohoBooks.deleteCreditNoteComment()` | `--comment-id` `--creditnote-id` `--organization-id` | 0 | Delete a comment from a credit note |
| `delete-credit-note-refund` | `zohoBooks.deleteCreditNoteRefund()` | `--creditnote-id` `--creditnote-refund-id` `--organization-id` | 0 | Delete a specific credit note refund |
| `delete-currency` | `zohoBooks.deleteCurrency()` | `--currency-id` `--organization-id` | 0 | Delete a specific currency from organization settings |
| `delete-customer-payment` | `zohoBooks.deleteCustomerPayment()` | `--organization-id` `--payment-id` | 0 | Delete a customer payment |
| `delete-customer-payment-refund` | `zohoBooks.deleteCustomerPaymentRefund()` | `--customer-payment-id` `--organization-id` `--refund-id` | 0 | Delete a specific customer payment refund |
| `delete-employee` | `zohoBooks.deleteEmployee()` | `--employee-id` `--organization-id` | 0 | Delete a specific employee |
| `delete-estimate` | `zohoBooks.deleteEstimate()` | `--estimate-id` `--organization-id` | 0 | Delete a specific estimate |
| `delete-exchange-rate` | `zohoBooks.deleteExchangeRate()` | `--currency-id` `--exchange-rate-id` `--organization-id` | 0 | Delete an exchange rate for a currency |
| `delete-expense` | `zohoBooks.deleteExpense()` | `--expense-id` `--organization-id` | 0 | Delete a specific expense |
| `delete-expense-receipt` | `zohoBooks.deleteExpenseReceipt()` | `--expense-id` `--organization-id` | 0 | Delete a receipt from an expense |
| `delete-invoice` | `zohoBooks.deleteInvoice()` | `--invoice-id` `--organization-id` | 0 | Delete a specific invoice |
| `delete-invoice-attachment` | `zohoBooks.deleteInvoiceAttachment()` | `--invoice-id` `--organization-id` | 0 | Delete the last attached attachment from an invoice |
| `delete-invoice-comment` | `zohoBooks.deleteInvoiceComment()` | `--comment-id` `--invoice-id` `--organization-id` | 0 | Delete a comment from an invoice |
| `delete-invoice-document` | `zohoBooks.deleteInvoiceDocument()` | `--document-id` `--invoice-id` `--organization-id` | 0 | Delete a document/attachment from a specific invoice |
| `delete-invoice-payment` | `zohoBooks.deleteInvoicePayment()` | `--invoice-id` `--invoice-payment-id` `--organization-id` | 0 | Delete a payment applied to an invoice |
| `delete-item` | `zohoBooks.deleteItem()` | `--item-id` `--organization-id` | 0 | Delete a specific item |
| `delete-journal-comment-v4` | `zohoBooks.deleteJournalCommentV4()` | `--comment-id` `--journal-id` `--organization-id` | 1 | Delete a journal comment using Zoho Books API v4 (Beta) |
| `delete-journal-document` | `zohoBooks.deleteJournalDocument()` | `--document-id` `--journal-id` `--organization-id` | 0 | Delete a document/attachment from a journal entry |
| `delete-journal-v4` | `zohoBooks.deleteJournalV4()` | `--journal-id` `--organization-id` | 0 | Delete a journal using the v4 Beta API |
| `delete-journals` | `zohoBooks.deleteJournals()` | `--journal-ids` `--organization-id` | 0 | Delete multiple journal entries in one request |
| `delete-location` | `zohoBooks.deleteLocation()` | `--location-id` `--organization-id` | 0 | Delete a specific location |
| `delete-project-comment-v4` | `zohoBooks.deleteProjectCommentV4()` | `--comment-id` `--organization-id` `--project-id` | 0 | Delete a project comment using v4 Beta API |
| `delete-project-task` | `zohoBooks.deleteProjectTask()` | `--organization-id` `--project-id` `--task-id` | 0 | Delete a project task |
| `delete-project-v4` | `zohoBooks.deleteProjectV4()` | `--organization-id` `--project-id` | 0 | Delete a specific project using v4 Beta API |
| `delete-purchase-order` | `zohoBooks.deletePurchaseOrder()` | `--organization-id` `--purchase-order-id` | 0 | Delete a specific purchase order |
| `delete-purchase-order-attachment` | `zohoBooks.deletePurchaseOrderAttachment()` | `--organization-id` `--purchaseorder-id` | 0 | Delete an attachment from a purchase order |
| `delete-purchase-order-comment` | `zohoBooks.deletePurchaseOrderComment()` | `--comment-id` `--organization-id` `--purchaseorder-id` | 0 | Delete a comment from a purchase order |
| `delete-recurring-bill` | `zohoBooks.deleteRecurringBill()` | `--organization-id` `--recurring-bill-id` | 0 | Delete a recurring bill |
| `delete-recurring-invoice` | `zohoBooks.deleteRecurringInvoice()` | `--organization-id` `--recurring-invoice-id` | 0 | Delete a recurring invoice |
| `delete-rule` | `zohoBooks.deleteRule()` | `--organization-id` `--rule-id` | 0 | Delete a bank account rule from your account |
| `delete-sales-order-comment` | `zohoBooks.deleteSalesOrderComment()` | `--comment-id` `--organization-id` `--salesorder-id` | 0 | Delete a comment from a sales order |
| `delete-sales-receipt` | `zohoBooks.deleteSalesReceipt()` | `--organization-id` `--sales-receipt-id` | 0 | Delete a specific sales receipt |
| `delete-time-entry` | `zohoBooks.deleteTimeEntry()` | `--organization-id` `--time-entry-id` | 0 | Delete a specific time entry from a project |
| `delete-vendor-credit` | `zohoBooks.deleteVendorCredit()` | `--organization-id` `--vendor-credit-id` | 0 | Delete a specific vendor credit |
| `delete-vendor-credit-refund` | `zohoBooks.deleteVendorCreditRefund()` | `--organization-id` `--vendor-credit-id` `--vendor-credit-refund-id` | 0 | Delete a vendor credit refund |
| `delete-vendor-payment` | `zohoBooks.deleteVendorPayment()` | `--organization-id` `--payment-id` | 0 | Delete a vendor payment |
| `disable-contact-payment-reminder` | `zohoBooks.disableContactPaymentReminder()` | `--contact-id` `--organization-id` | 0 | Disable payment reminders for a contact |
| `disable-invoice-payment-reminder` | `zohoBooks.disableInvoicePaymentReminder()` | `--invoice-id` `--organization-id` | 0 | Disable payment reminders for an invoice |
| `email-contact-statement` | `zohoBooks.emailContactStatement()` | `--contact-id` `--organization-id` | 8 | Email a statement to a contact |
| `email-estimate` | `zohoBooks.emailEstimate()` | `--estimate-id` `--organization-id` `--to-mail-ids` | 7 | Send an estimate email |
| `email-invoice` | `zohoBooks.emailInvoice()` | `--invoice-id` `--organization-id` `--to-mail-ids` | 8 | Send an invoice email |
| `enable-contact-payment-reminder` | `zohoBooks.enableContactPaymentReminder()` | `--contact-id` `--organization-id` | 0 | Enable payment reminders for a contact |
| `enable-contact-portal` | `zohoBooks.enableContactPortal()` | `--contact-id` `--organization-id` | 0 | Enable portal access for a contact |
| `enable-invoice-payment-reminder` | `zohoBooks.enableInvoicePaymentReminder()` | `--invoice-id` `--organization-id` | 0 | Enable payment reminders for an invoice |
| `exclude-bank-transaction` | `zohoBooks.excludeBankTransaction()` | `--organization-id` `--transaction-id` | 1 | Exclude an uncategorized bank transaction |
| `export-bulk-estimates-pdf` | `zohoBooks.exportBulkEstimatesPdf()` | `--estimate-ids` `--organization-id` | 0 | Export multiple estimates to a single PDF |
| `export-sales-orders-pdf` | `zohoBooks.exportSalesOrdersPdf()` | `--organization-id` `--salesorder-ids` | 0 | Export multiple sales orders to a single PDF |
| `get-all-tag-options` | `zohoBooks.getAllTagOptions()` | `--organization-id` `--tag-id` | 1 | Retrieve all options for a reporting tag |
| `get-bank-account` | `zohoBooks.getBankAccount()` | `--account-id` `--organization-id` | 0 | Fetch details of a specific bank account |
| `get-base-currency-adjustment` | `zohoBooks.getBaseCurrencyAdjustment()` | `--base-currency-adjustment-id` `--organization-id` | 0 | Fetch details of a specific base currency adjustment |
| `get-bill` | `zohoBooks.getBill()` | `--bill-id` `--organization-id` | 0 | Fetch details of a specific bill |
| `get-bill-attachment` | `zohoBooks.getBillAttachment()` | `--bill-id` `--organization-id` | 1 | Fetch an attachment from a specific bill |
| `get-chart-of-account` ·common | `zohoBooks.getChartOfAccount()` | `--account-id` `--organization-id` | 0 | Fetch details of a specific chart of account |
| `get-contact` ·common | `zohoBooks.getContact()` | `--contact-id` `--organization-id` | 0 | Fetch details of a specific contact |
| `get-contact-address` | `zohoBooks.getContactAddress()` | `--contact-id` `--organization-id` | 0 | Retrieve all addresses associated with a contact |
| `get-contact-person` | `zohoBooks.getContactPerson()` | `--contact-id` `--contact-person-id` `--organization-id` | 0 | Retrieve details of a specific contact person |
| `get-contact-statement-mail` | `zohoBooks.getContactStatementMail()` | `--contact-id` `--organization-id` | 2 | Retrieve the pre-populated email content for a contact statement |
| `get-credit-note` ·common | `zohoBooks.getCreditNote()` | `--creditnote-id` `--organization-id` | 2 | Fetch details of a specific credit note by ID |
| `get-currency` | `zohoBooks.getCurrency()` | `--currency-id` `--organization-id` | 0 | Retrieve details of a specific currency |
| `get-estimate` ·common | `zohoBooks.getEstimate()` | `--estimate-id` `--organization-id` | 0 | Fetch details of a specific estimate |
| `get-estimate-email` | `zohoBooks.getEstimateEmail()` | `--estimate-id` `--organization-id` | 1 | Retrieve the pre-populated email content for an estimate |
| `get-expense` ·common | `zohoBooks.getExpense()` | `--expense-id` `--organization-id` | 0 | Fetch details of a specific expense |
| `get-invoice` ·common | `zohoBooks.getInvoice()` | `--invoice-id` `--organization-id` | 2 | Fetch details of a specific invoice |
| `get-invoice-attachment` | `zohoBooks.getInvoiceAttachment()` | `--invoice-id` `--organization-id` | 1 | Fetch the last attached attachment from a specific invoice |
| `get-invoice-email` | `zohoBooks.getInvoiceEmail()` | `--invoice-id` `--organization-id` | 1 | Retrieve the pre-populated email content for an invoice |
| `get-item` ·common | `zohoBooks.getItem()` | `--item-id` `--organization-id` | 0 | Fetch details of a specific item |
| `get-journal-credits-list-v4` | `zohoBooks.getJournalCreditsListV4()` | `--journal-id` `--organization-id` | 0 | Retrieve the list of available journal credits for a specific journal using v4 Beta API |
| `get-journal-details-v4` | `zohoBooks.getJournalDetailsV4()` | `--journal-id` `--organization-id` | 4 | Fetch details of a specific journal entry from Zoho Books API v4 (Beta) |
| `get-journals-list-v4` | `zohoBooks.getJournalsListV4()` | `--organization-id` | 8 | Retrieve a paginated list of journals using Zoho Books v4 Beta API |
| `get-last-imported-statement` | `zohoBooks.getLastImportedStatement()` | `--account-id` `--organization-id` | 0 | Get details of previously imported statement for a bank account |
| `get-matching-bank-transactions` | `zohoBooks.getMatchingBankTransactions()` | `--organization-id` `--transaction-id` | 9 | Retrieve potential matching transactions for an uncategorized bank transaction |
| `get-opening-balance` | `zohoBooks.getOpeningBalance()` | `--organization-id` | 0 | Retrieve opening balance for an organization |
| `get-organization` ·common | `zohoBooks.getOrganization()` | `--organization-id` | 0 | Fetch details of a specific organization |
| `get-payment-reminder-mail-content-for-invoice` | `zohoBooks.getPaymentReminderMailContentForInvoice()` | `--invoice-id` `--organization-id` | 0 | Retrieve the pre-populated payment reminder email content for an invoice |
| `get-project` | `zohoBooks.getProject()` | `--organization-id` `--project-id` | 0 | Fetch details of a specific project |
| `get-project-user` | `zohoBooks.getProjectUser()` | `--organization-id` `--project-id` `--user-id` | 0 | Fetch details of a specific user associated with a project |
| `get-purchase-order` | `zohoBooks.getPurchaseOrder()` | `--organization-id` `--purchase-order-id` | 0 | Fetch details of a specific purchase order |
| `get-recurring-invoice` ·common | `zohoBooks.getRecurringInvoice()` | `--organization-id` `--recurring-invoice-id` | 0 | Retrieve a single recurring invoice profile's full configuration by ID |
| `get-sales-order` ·common | `zohoBooks.getSalesOrder()` | `--organization-id` `--salesorder-id` | 2 | Fetch details of a specific sales order |
| `get-sales-order-attachment` | `zohoBooks.getSalesOrderAttachment()` | `--organization-id` `--salesorder-id` | 2 | Fetch an attachment from a specific sales order |
| `get-sales-order-email-content` | `zohoBooks.getSalesOrderEmailContent()` | `--organization-id` `--salesorder-id` | 1 | Retrieve the pre-populated email content for a sales order |
| `get-user` ·common | `zohoBooks.getUser()` | `--organization-id` `--user-id` | 0 | Fetch details of a specific user |
| `get-vendor-credit-refund` | `zohoBooks.getVendorCreditRefund()` | `--organization-id` `--vendor-credit-id` `--vendor-credit-refund-id` | 0 | Fetch details of a specific vendor credit refund |
| `import-bank-statements` ·common | `zohoBooks.importBankStatements()` | `--account-id` `--organization-id` `--transactions` | 2 | Import bank or credit card statement transactions in bulk |
| `list-bank-accounts` | `zohoBooks.listBankAccounts()` | `--organization-id` | 4 | List bank and credit card accounts |
| `list-bank-rules` | `zohoBooks.listBankRules()` | `--account-id` `--organization-id` | 0 | List all rules created for a bank or credit card account |
| `list-bank-transactions` ·common | `zohoBooks.listBankTransactions()` | `--organization-id` | 13 | List bank transactions with optional filters |
| `list-base-currency-adjustments` | `zohoBooks.listBaseCurrencyAdjustments()` | `--organization-id` | 5 | List base currency adjustments for an organization |
| `list-bill-comments-and-history` | `zohoBooks.listBillCommentsAndHistory()` | `--bill-id` `--organization-id` | 0 | List comments and history entries for a bill |
| `list-bill-payments` | `zohoBooks.listBillPayments()` | `--bill-id` `--organization-id` | 0 | List payments recorded against a bill |
| `list-bills` ·common | `zohoBooks.listBills()` | `--organization-id` | 25 | Retrieve a paginated list of bills |
| `list-chart-of-account-transactions` ·common | `zohoBooks.listChartOfAccountTransactions()` | `--account-id` `--organization-id` | 13 | List transactions for a specific chart of account |
| `list-chart-of-accounts` | `zohoBooks.listChartOfAccounts()` | `--organization-id` | 5 | List chart of accounts |
| `list-contact-comments` | `zohoBooks.listContactComments()` | `--contact-id` `--organization-id` | 2 | Retrieve recent activities and comments for a specific contact |
| `list-contact-persons` | `zohoBooks.listContactPersons()` | `--organization-id` | 2 | Retrieve a paginated list of contact persons from Zoho Books |
| `list-contact-refunds` | `zohoBooks.listContactRefunds()` | `--contact-id` `--organization-id` | 2 | List refunds for a contact |
| `list-contacts` ·common | `zohoBooks.listContacts()` | `--organization-id` | 23 | Retrieve a paginated list of contacts with optional filters |
| `list-credit-note-refunds` | `zohoBooks.listCreditNoteRefunds()` | `--organization-id` | 4 | Retrieve a paginated list of credit note refunds with filters |
| `list-credit-notes` ·common | `zohoBooks.listCreditNotes()` | `--organization-id` | 17 | Retrieve a paginated list of credit notes with optional filters |
| `list-currencies` | `zohoBooks.listCurrencies()` | `--organization-id` | 3 | List currencies configured for the organization |
| `list-customer-payment-refunds` | `zohoBooks.listCustomerPaymentRefunds()` | `--customer-payment-id` `--organization-id` | 2 | List refunds of a customer payment |
| `list-customer-payments` | `zohoBooks.listCustomerPayments()` | `--organization-id` | 12 | List customer payments in Zoho Books |
| `list-employees` | `zohoBooks.listEmployees()` | `--organization-id` | 2 | Retrieve a paginated list of employees |
| `list-estimate-comments-and-history` | `zohoBooks.listEstimateCommentsAndHistory()` | `--estimate-id` `--organization-id` | 0 | Retrieve comments and history for a specific estimate |
| `list-estimate-templates` | `zohoBooks.listEstimateTemplates()` | `--organization-id` | 0 | Retrieve a list of estimate templates |
| `list-estimates` ·common | `zohoBooks.listEstimates()` | `--organization-id` | 16 | Retrieve a paginated list of estimates with optional filters |
| `list-expense-comments` | `zohoBooks.listExpenseComments()` | `--expense-id` `--organization-id` | 0 | Retrieve history and comments for a specific expense |
| `list-expenses` ·common | `zohoBooks.listExpenses()` | `--organization-id` | 35 | Retrieve a paginated list of expenses with filters and search |
| `list-fixed-asset-types` | `zohoBooks.listFixedAssetTypes()` | `--organization-id` | 2 | Retrieve a paginated list of fixed asset types from Zoho Books |
| `list-fixed-assets` | `zohoBooks.listFixedAssets()` | `--organization-id` | 5 | Retrieve a paginated list of fixed assets from Zoho Books |
| `list-invoice-comments-and-history` | `zohoBooks.listInvoiceCommentsAndHistory()` | `--invoice-id` `--organization-id` | 0 | List comments and history entries for an invoice |
| `list-invoice-credits-applied` | `zohoBooks.listInvoiceCreditsApplied()` | `--invoice-id` `--organization-id` | 0 | List credit notes applied to an invoice |
| `list-invoice-payments` | `zohoBooks.listInvoicePayments()` | `--invoice-id` `--organization-id` | 0 | List payments recorded against an invoice |
| `list-invoice-templates` | `zohoBooks.listInvoiceTemplates()` | `--organization-id` | 0 | Retrieve a list of invoice templates |
| `list-invoices` ·common | `zohoBooks.listInvoices()` | `--organization-id` | 17 | Retrieve a paginated list of invoices with filters and search |
| `list-item-details` | `zohoBooks.listItemDetails()` | `--item-ids` `--organization-id` | 0 | Bulk fetch details for multiple items from Zoho Books using their IDs |
| `list-items` ·common | `zohoBooks.listItems()` | `--organization-id` | 24 | Retrieve a paginated list of items from Zoho Books |
| `list-journal-templates` | `zohoBooks.listJournalTemplates()` | `--organization-id` | 2 | List journal templates with pagination |
| `list-locations` | `zohoBooks.listLocations()` | `--organization-id` | 0 | List all locations in the organization |
| `list-organizations` ·common | `zohoBooks.listOrganizations()` | — | 0 | List all organizations for the authenticated user |
| `list-project-users` | `zohoBooks.listProjectUsers()` | `--organization-id` `--project-id` | 0 | Retrieve all users assigned to a project |
| `list-projects` ·common | `zohoBooks.listProjects()` | `--organization-id` | 5 | Retrieve a paginated list of projects with optional filters |
| `list-purchase-orders` ·common | `zohoBooks.listPurchaseOrders()` | `--organization-id` | 32 | Retrieve a paginated list of purchase orders |
| `list-recurring-bill-history` | `zohoBooks.listRecurringBillHistory()` | `--organization-id` `--recurring-bill-id` | 0 | List comments and history entries for a recurring bill |
| `list-recurring-invoice-history` | `zohoBooks.listRecurringInvoiceHistory()` | `--organization-id` `--recurring-invoice-id` | 0 | Retrieve comments and history for a specific recurring invoice |
| `list-reporting-tags` | `zohoBooks.listReportingTags()` | `--organization-id` | 0 | Retrieve all reporting tags from Zoho Books |
| `list-retainer-invoices` ·common | `zohoBooks.listRetainerInvoices()` | `--organization-id` | 6 | Retrieve a paginated list of retainer invoices with filters and sorting |
| `list-sales-order-comments-and-history` | `zohoBooks.listSalesOrderCommentsAndHistory()` | `--organization-id` `--salesorder-id` | 0 | List comments and history entries for a sales order |
| `list-sales-orders` ·common | `zohoBooks.listSalesOrders()` | `--organization-id` | 5 | Retrieve a paginated list of sales orders |
| `list-sales-receipts` ·common | `zohoBooks.listSalesReceipts()` | `--organization-id` | 21 | Retrieve a paginated list of sales receipts with filters |
| `list-tasks` | `zohoBooks.listTasks()` | `--organization-id` `--project-id` | 2 | Retrieve a paginated list of tasks for a specific project |
| `list-tax-exemptions` | `zohoBooks.listTaxExemptions()` | `--organization-id` | 0 | Retrieve a list of tax exemptions from Zoho Books |
| `list-taxes` | `zohoBooks.listTaxes()` | `--organization-id` | 2 | Retrieve a paginated list of taxes |
| `list-users` | `zohoBooks.listUsers()` | `--organization-id` | 4 | Retrieve a paginated list of users |
| `list-vendor-credit-refunds` | `zohoBooks.listVendorCreditRefunds()` | `--organization-id` | 5 | Retrieve a paginated list of vendor credit refunds with filters |
| `list-vendor-credit-refunds2` | `zohoBooks.listVendorCreditRefunds2()` | `--organization-id` `--vendor-credit-id` | 2 | List refunds of a specific vendor credit |
| `list-vendor-credits` ·common | `zohoBooks.listVendorCredits()` | `--organization-id` | 44 | Retrieve a paginated list of vendor credits with filters and search |
| `list-vendor-payment-refunds` | `zohoBooks.listVendorPaymentRefunds()` | `--organization-id` `--payment-id` | 2 | List refunds of a vendor payment |
| `list-vendor-payments` ·common | `zohoBooks.listVendorPayments()` | `--organization-id` | 36 | Retrieve a paginated list of vendor payments with filters and search |
| `mark-bill-open` | `zohoBooks.markBillOpen()` | `--bill-id` `--organization-id` | 0 | Mark a bill as open |
| `mark-bill-void` | `zohoBooks.markBillVoid()` | `--bill-id` `--organization-id` | 0 | Mark a bill as Void |
| `mark-contact-as-active` | `zohoBooks.markContactAsActive()` | `--contact-id` `--organization-id` | 0 | Mark a contact as active |
| `mark-contact-as-inactive` | `zohoBooks.markContactAsInactive()` | `--contact-id` `--organization-id` | 0 | Mark a contact as inactive |
| `mark-estimate-as-sent` | `zohoBooks.markEstimateAsSent()` | `--estimate-id` `--organization-id` | 0 | Mark an estimate as Sent |
| `mark-invoice-as-sent` | `zohoBooks.markInvoiceAsSent()` | `--invoice-id` `--organization-id` | 0 | Mark an invoice as Sent |
| `mark-item-as-active` | `zohoBooks.markItemAsActive()` | `--item-id` `--organization-id` | 0 | Mark an item as active |
| `mark-item-inactive` | `zohoBooks.markItemInactive()` | `--item-id` `--organization-id` | 0 | Mark an item as inactive |
| `mark-location-active` | `zohoBooks.markLocationActive()` | `--location-id` `--organization-id` | 0 | Mark a location as active |
| `mark-location-inactive` | `zohoBooks.markLocationInactive()` | `--location-id` `--organization-id` | 0 | Mark a location as inactive |
| `mark-location-primary` | `zohoBooks.markLocationPrimary()` | `--location-id` `--organization-id` | 0 | Mark a location as primary |
| `mark-project-active` | `zohoBooks.markProjectActive()` | `--organization-id` `--project-id` | 0 | Mark a project as active |
| `mark-reporting-tag-as-active` | `zohoBooks.markReportingTagAsActive()` | `--organization-id` `--tag-id` | 0 | Mark a reporting tag as active |
| `mark-reporting-tag-as-inactive` | `zohoBooks.markReportingTagAsInactive()` | `--organization-id` `--tag-id` | 0 | Mark a reporting tag as inactive |
| `mark-reporting-tag-default-option` | `zohoBooks.markReportingTagDefaultOption()` | `--default-option-id` `--organization-id` `--tag-id` | 0 | Mark an option as default for a reporting tag |
| `mark-retainer-invoice-sent` | `zohoBooks.markRetainerInvoiceSent()` | `--organization-id` `--retainerinvoice-id` | 0 | Mark a retainer invoice as Sent |
| `mark-sales-order-void` | `zohoBooks.markSalesOrderVoid()` | `--organization-id` `--salesorder-id` | 0 | Mark a sales order as Void |
| `mark-tag-option-active` | `zohoBooks.markTagOptionActive()` | `--option-id` `--organization-id` `--tag-id` | 0 | Mark a reporting tag option as active |
| `mark-tag-option-as-inactive` | `zohoBooks.markTagOptionAsInactive()` | `--option-id` `--organization-id` `--tag-id` | 0 | Mark a reporting tag option as inactive |
| `mark-user-inactive` | `zohoBooks.markUserInactive()` | `--organization-id` `--user-id` | 0 | Mark a user as inactive in Zoho Books |
| `mark-vendor-credit-void` | `zohoBooks.markVendorCreditVoid()` | `--organization-id` `--vendor-credit-id` | 0 | Void a vendor credit |
| `open-sales-order` | `zohoBooks.openSalesOrder()` | `--organization-id` `--salesorder-id` | 0 | Mark a sales order as Open |
| `print-bulk-estimates` | `zohoBooks.printBulkEstimates()` | `--estimate-ids` `--organization-id` | 0 | Bulk print up to 25 estimates as a single PDF |
| `print-bulk-sales-orders` | `zohoBooks.printBulkSalesOrders()` | `--organization-id` `--salesorder-ids` | 0 | Bulk print up to 25 sales orders as a single PDF |
| `remind-customer-invoice` | `zohoBooks.remindCustomerInvoice()` | `--invoice-id` `--organization-id` | 6 | Send a payment reminder for an invoice |
| `resume-recurring-invoice` | `zohoBooks.resumeRecurringInvoice()` | `--organization-id` `--recurring-invoice-id` | 0 | Resume a recurring invoice |
| `send-bulk-invoice-reminder` | `zohoBooks.sendBulkInvoiceReminder()` | `--invoice-ids` `--organization-id` | 0 | Send payment reminders for multiple invoices at once |
| `send-contact-email` | `zohoBooks.sendContactEmail()` | `--body` `--contact-id` `--organization-id` `--subject` `--to-mail-ids` | 4 | Send an email to a contact in Zoho Books |
| `stop-recurring-invoice` | `zohoBooks.stopRecurringInvoice()` | `--organization-id` `--recurring-invoice-id` | 0 | Stop a recurring invoice |
| `untrack-contact1099` | `zohoBooks.untrackContact1099()` | `--contact-id` `--organization-id` | 0 | Untrack a contact for 1099 reporting |
| `update-bank-transaction` | `zohoBooks.updateBankTransaction()` | `--bank-transaction-id` `--organization-id` `--transaction-type` | 22 | Update an existing bank transaction in Zoho Books |
| `update-bill` ·common | `zohoBooks.updateBill()` | `--bill-id` `--bill-number` `--organization-id` `--vendor-id` | 30 | Update a vendor bill |
| `update-contact` ·common | `zohoBooks.updateContact()` | `--contact-id` `--contact-name` `--organization-id` | 45 | Update details of a contact |
| `update-contact-person` | `zohoBooks.updateContactPerson()` | `--contact-id` `--contact-person-id` `--first-name` `--organization-id` | 9 | Update an existing contact person in Zoho Books |
| `update-credit-note-refund` | `zohoBooks.updateCreditNoteRefund()` | `--creditnote-id` `--creditnote-refund-id` `--organization-id` | 6 | Update details of a specific credit note refund |
| `update-currency` | `zohoBooks.updateCurrency()` | `--currency-code` `--currency-format` `--currency-id` `--organization-id` | 2 | Update an existing currency in Zoho Books |
| `update-custom-fields-in-item` | `zohoBooks.updateCustomFieldsInItem()` | `--custom-fields` `--item-id` `--organization-id` | 0 | Update custom field values in an existing item |
| `update-estimate` ·common | `zohoBooks.updateEstimate()` | `--estimate-id` `--organization-id` | 30 | Update an existing estimate (quote) |
| `update-estimate-billing-address` ·common | `zohoBooks.updateEstimateBillingAddress()` | `--estimate-id` `--organization-id` | 9 | Update the billing address of an estimate |
| `update-estimate-shipping-address` | `zohoBooks.updateEstimateShippingAddress()` | `--estimate-id` `--organization-id` | 10 | Update the shipping address for an estimate |
| `update-estimate-template` | `zohoBooks.updateEstimateTemplate()` | `--estimate-id` `--organization-id` `--template-id` | 0 | Update the template associated with an estimate |
| `update-invoice` ·common | `zohoBooks.updateInvoice()` | `--customer-id` `--invoice-id` `--line-items` `--organization-id` | 14 | Update details of a specific invoice |
| `update-invoice-attachment-preference` | `zohoBooks.updateInvoiceAttachmentPreference()` | `--can-send-in-mail` `--invoice-id` `--organization-id` | 0 | Update attachment preference for an invoice |
| `update-invoice-billing-address` | `zohoBooks.updateInvoiceBillingAddress()` | `--invoice-id` `--organization-id` | 7 | Update the billing address of an invoice |
| `update-invoice-shipping-address` | `zohoBooks.updateInvoiceShippingAddress()` | `--invoice-id` `--organization-id` | 7 | Update the shipping address of a specific invoice |
| `update-invoice-template` | `zohoBooks.updateInvoiceTemplate()` | `--invoice-id` `--organization-id` `--template-id` | 0 | Update the template associated with an invoice |
| `update-item` ·common | `zohoBooks.updateItem()` | `--item-id` `--name` `--organization-id` `--rate` | 26 | Update details of a specific item |
| `update-journal` ·common | `zohoBooks.updateJournal()` | `--journal-id` `--organization-id` | 9 | Update a journal entry in Zoho Books |
| `update-location` ·common | `zohoBooks.updateLocation()` | `--address` `--location-id` `--location-name` `--organization-id` | 8 | Update an existing location in Zoho Books |
| `update-organization` ·common | `zohoBooks.updateOrganization()` | `--organization-id` | 10 | Update an organization's settings and details |
| `update-project` ·common | `zohoBooks.updateProject()` | `--billing-type` `--customer-id` `--organization-id` `--project-id` `--project-name` `--user-id` | 9 | Update a project in Zoho Books |
| `update-project-user` | `zohoBooks.updateProjectUser()` | `--organization-id` `--project-id` `--user-id` | 3 | Update a user's details in a project |
| `update-purchase-order-billing-address` | `zohoBooks.updatePurchaseOrderBillingAddress()` | `--address` `--city` `--country` `--organization-id` `--purchaseorder-id` `--state` `--zip` | 4 | Update the billing address of a purchase order |
| `update-purchase-order-comment` | `zohoBooks.updatePurchaseOrderComment()` | `--comment-id` `--description` `--organization-id` `--purchaseorder-id` | 0 | Update a comment on a purchase order |
| `update-recurring-bill` | `zohoBooks.updateRecurringBill()` | `--organization-id` `--recurring-bill-id` | 23 | Update a recurring bill in Zoho Books |
| `update-recurring-invoice-template` | `zohoBooks.updateRecurringInvoiceTemplate()` | `--organization-id` `--recurring-invoice-id` `--template-id` | 0 | Update the template associated with a recurring invoice |
| `update-reporting-tag` | `zohoBooks.updateReportingTag()` | `--organization-id` `--tag-id` `--tag-name` | 4 | Update an existing reporting tag in Zoho Books |
| `update-reporting-tag-options` | `zohoBooks.updateReportingTagOptions()` | `--options` `--organization-id` `--tag-id` | 0 | Update reporting tag options in Zoho Books |
| `update-sales-order` ·common | `zohoBooks.updateSalesOrder()` | `--organization-id` `--salesorder-id` | 9 | Update a specific sales order |
| `update-sales-order-attachment-preference` | `zohoBooks.updateSalesOrderAttachmentPreference()` | `--can-send-in-mail` `--organization-id` `--salesorder-id` | 0 | Update attachment preference for a sales order |
| `update-sales-order-billing-address` ·common | `zohoBooks.updateSalesOrderBillingAddress()` | `--organization-id` `--salesorder-id` | 8 | Update the billing address of a sales order |
| `update-sales-order-shipping-address` | `zohoBooks.updateSalesOrderShippingAddress()` | `--organization-id` `--salesorder-id` | 8 | Update the shipping address of a specific sales order |
| `update-sales-order-template` | `zohoBooks.updateSalesOrderTemplate()` | `--organization-id` `--salesorder-id` `--template-id` | 0 | Update the template associated with a sales order |
| `update-user` ·common | `zohoBooks.updateUser()` | `--email` `--name` `--organization-id` `--user-id` | 1 | Update an existing user in Zoho Books |
| `update-vendor-payment-refund` | `zohoBooks.updateVendorPaymentRefund()` | `--amount` `--date` `--organization-id` `--payment-id` `--vendorpayment-refund-id` | 4 | Update a vendor payment refund in Zoho Books |
| `void-invoice` | `zohoBooks.voidInvoice()` | `--invoice-id` `--organization-id` | 0 | Mark an invoice as Void |
| `write-off-invoice` | `zohoBooks.writeOffInvoice()` | `--invoice-id` `--organization-id` | 0 | Write off an invoice |

## Docs

- [run CLI](https://docs.boxd.sh/cli/run): Call connected integrations from the shell, connect new ones, and run automations.
- [Quickstart](https://docs.boxd.sh/guides/integrations/quickstart): Connect an integration, call it from the shell, and turn a script into an automation.
- [Connections](https://docs.boxd.sh/guides/integrations/connections): Connect an account once, for yourself or for your whole organization.
- [Scripts](https://docs.boxd.sh/guides/automations/scripts): Typed integrations, triggers, schedules and state in a .run.ts file.
- [Jobs](https://docs.boxd.sh/guides/automations/jobs): How a script becomes a background job: states, retries, sleep and wake.
- [Beyond the catalog](https://docs.boxd.sh/guides/automations/beyond-the-catalog): Reach your own APIs, databases and cloud accounts from a script.
