Authentication: OAuth. See Magic Link for the runtime auth flow, or Application credentials to bring your own OAuth app.
Sample use cases
- List unpaid invoices older than 30 days and the customer each one belongs to
- Create an invoice for customer
Acme Corpwith two line items - Record a payment against invoice
INV-000123
Available Tools
Mark a project as active. Use list_projects to find project_id values.
Add a comment to a bill. Requires bill_id (from list_bills) and description. Returns the new comment_id.
Save a payment card on a contact for auto-billing. Takes a gateway-issued card_token (from the payment gateway’s clie…
Charge an invoice via a customer bank account (ACH), optionally enabling auto-billing. Requires invoice_id (from list…
Add a comment to a journal. Requires journal_id (from list_journals) and the comment description. Returns the new com…
Add a task to a project. Requires project_id (from list_projects) and task_name. Returns the new task_id. These proje…
Add a comment to a purchase order. Requires purchaseorder_id (from list_purchase_orders) and description. Returns the…
Add a comment to a retainer invoice. Requires retainerinvoice_id (from list_retainer_invoices) and description. Retur…
Add a comment to a sales order. Requires salesorder_id (from list_sales_orders) and description. Returns the new comm…
Create a standalone task. Requires title. Optionally set owner_id (from list_users), due_date, priority, is_billable…
Add a comment to a standalone task. Requires task_id (from list_tasks) and description. Returns the new comment_id.
Add a comment to a vendor credit. Requires vendor_credit_id (from list_vendor_credits) and description. Returns the n…
Apply excess vendor payments and/or vendor credits to a bill. Pass bill_id (from list_bills), plus bill_payments (eac…
Apply a journal’s available credit to one or more bills (AP1+GL2 bridge). Requires journal_id (from list_journals), j…
Apply a journal’s available credit to one or more invoices. Requires journal_id (from list_journals), journal_line_id…
Apply a retainer invoice’s prepaid balance to one or more invoices. Pass retainerinvoice_id (from list_retainer_invoi…
Apply a vendor credit’s balance to one or more bills. Requires vendor_credit_id (from list_vendor_credits) and a bill…
Approve a bill. Use list_bills to find bill_id values.
Approve a journal that is pending approval. Use list_journals (status ‘submitted’) to find journal_id values. Use rej…
Approve a purchase order (needs approvals enabled on the module). Use list_purchase_orders to find purchaseorder_id v…
Approve a retainer invoice (needs approvals enabled on the module). Use list_retainer_invoices to find retainerinvoic…
Approve a sales order (needs approvals enabled on the module). Use list_sales_orders to find salesorder_id values.
Approve a vendor credit that was submitted for approval. Use list_vendor_credits to find vendor_credit_id values.
Assign one or more users to a project. Requires project_id (from list_projects) and a users array of . Use delete_pro…
Associate a bank account with a recurring invoice so auto-bill can charge it. Requires account_id (a bank account, fr…
Associate a saved contact card with a recurring invoice so auto-bill can charge it. Requires card_id (from list_conta…
Approve multiple journals in one call. Pass journal_ids from list_journals (status ‘submitted’).
Permanently delete multiple chart-of-accounts accounts in one call. This cannot be undone. Pass account_ids from list…
Permanently delete multiple customer payments in one call. This cannot be undone. Pass payment_ids from list_customer…
Permanently delete multiple journals in one call. This cannot be undone. Pass journal_ids from list_journals.
Bulk delete register rows on one account. This cannot be undone. Requires account_id (from list_accounts) and an enti…
Permanently delete multiple standalone tasks in one call. This cannot be undone. Pass task_ids from list_tasks.
Permanently delete multiple time entries in one call. This cannot be undone. Pass time_entry_ids from list_time_entries.
Permanently delete multiple vendor payments in one call. This cannot be undone. Pass payment_ids from list_vendor_pay…
Mark multiple chart-of-accounts accounts as active in one call. Pass account_ids from list_accounts. Use bulk_mark_ac…
Mark multiple chart-of-accounts accounts as inactive in one call. Pass account_ids from list_accounts. Use bulk_mark_…
Mark multiple journals as published in one call. Pass journal_ids from list_journals (status ‘draft’).
Submit multiple journals for approval in one call. Pass journal_ids from list_journals (status ‘draft’).
Bulk update register rows on one account - set shared fields (date, reference_number, etc.) across many rows at once…
Update shared fields (status, priority, owner_id) across multiple standalone tasks at once. Pass task_ids from list_t…
Cancel a purchase order. Use list_purchase_orders to find purchaseorder_id values.
Clone a project into a new one, copying its tasks and settings. Requires project_id (from list_projects); optionally…
Close one or more purchase returns (bulk). Pass purchasereturn_ids (from list_purchase_returns). Reverse with reopen_…
Confirm a draft purchase return (marks it open). Use list_purchase_returns to find purchasereturn_id values.
Build a pre-filled draft bill from one or more purchase orders, ready to pass to create_bill. Requires purchaseorder_…
Convert a draft vendor credit to open status. Use list_vendor_credits to find vendor_credit_id values.
Create a chart-of-accounts account. Requires account_name and account_type (e.g. ‘expense’, ‘bank’, ‘income’). Option…
Create a bill from a vendor. Requires vendor_id (from list_contacts) and line_items (each with an account_id from lis…
Create a Zoho Books contact. contact_name is required; contact_type (‘customer’ or ‘vendor’) is optional. Returns the…
Record a customer payment and apply it to invoices. Requires customer_id (from list_contacts), payment_mode, amount…
Create a delivery challan (goods dispatch note). Requires customer_id (from list_contacts) and line_items (each with…
Create an employee. Requires name and email. Returns the new employee_id.
Create an estimate (quote). Requires customer_id (from list_contacts) and line_items (each with an item_id from list_…
Record an expense. Requires account_id (the expense account, from list_accounts), date, and amount. Optionally set pa…
Create an invoice. Requires customer_id (from list_contacts) and line_items (each with an item_id from list_items). R…
Create an invoice from a sales order (converts the whole order). Requires salesorder_id (from list_sales_orders). Ret…
Create an invoice billing the unbilled time and expenses of one or more projects. Requires project_ids (from list_pro…
Create an item (a product or service). Requires name and rate. Returns the new item_id for use in create_invoice and…
Create a manual journal. Requires journal_date and line_items (each with account_id from list_accounts, debit_or_cred…
Create a project. Requires project_name, customer_id (from list_contacts), and billing_type. Pass rate when billing_t…
Create a purchase order. Requires vendor_id (from list_contacts) and line_items (each with item_id from list_items, r…
Create a purchase return. Requires vendor_id (from list_contacts), date, and line_items (each with item_id from list_…
Create a recurring bill (a bill that repeats on a schedule). Requires vendor_id (from list_contacts), recurrence_name…
Create a recurring expense (an expense that repeats on a schedule). Requires recurrence_name, start_date, recurrence_…
Create a recurring invoice (an invoice that repeats on a schedule). Requires customer_id (from list_contacts), recurr…
Create a recurring journal. Requires recurrence_name, start_date, recurrence_frequency (e.g. ‘months’), and line_item…
Create a retainer (deposit) invoice. Requires customer_id (from list_contacts) and line_items (each with a rate and d…
Create a sales order. Requires customer_id (from list_contacts) and line_items (each with item_id from list_items, ra…
Create a sales receipt (cash sale). Requires customer_id (from list_contacts), payment_mode (e.g. ‘cash’), and line_i…
Create a self-billed invoice (a bill you raise on a vendor’s behalf). Requires vendor_id (from list_contacts) and lin…
Create a vendor credit for a vendor. Requires vendor_id (from list_contacts) and line_items (each with item_id from l…
Record a vendor payment and apply it to bills. Requires vendor_id (from list_contacts), amount, date, and paid_throug…
Permanently delete a chart-of-accounts account by ID. This cannot be undone and fails if the account has transactions…
Permanently delete a manual account transaction by ID. This cannot be undone. Use list_account_transactions to find t…
Remove the credits a journal line applied to payables (bills). This cannot be undone. Pass journal_id from list_journ…
Remove the credits a journal line applied to receivables (invoices). This cannot be undone. Pass journal_id from list…
Permanently delete a bill by ID. This cannot be undone. Use list_bills to find bill_id values. Also deletes self-bill…
Delete the attachment on a bill. This cannot be undone. Pass bill_id from list_bills.
Delete a comment from a bill. Pass bill_id (from list_bills) and comment_id (from list_bill_comments).
Remove a payment applied to a bill. This cannot be undone. Pass bill_id (from list_bills) and bill_payment_id (from l…
Remove a vendor credit that was applied to a bill. This cannot be undone. Pass vendor_credit_id (from list_vendor_cre…
Permanently delete a contact by ID. This cannot be undone. Use list_contacts to find contact_id values.
Delete a saved card from a contact. Inverse of add_contact_card. Requires contact_id (from list_contacts) and card_id…
Permanently delete a customer payment by ID. This cannot be undone. Use list_customer_payments to find payment_id val…
Permanently delete a refund of a customer payment. This cannot be undone. Pass customer_payment_id (from list_custome…
Permanently delete a delivery challan by ID. This cannot be undone. Use list_delivery_challans to find deliverychalla…
Delete a document attached to a delivery challan. Pass deliverychallan_id (from list_delivery_challans) and document_…
Permanently delete an employee by ID. This cannot be undone. Use list_employees to find employee_id values.
Permanently delete an estimate by ID. This cannot be undone. Use list_estimates to find estimate_id values.
Permanently delete an expense by ID. This cannot be undone. Use list_expenses to find expense_id values.
Delete the receipt attached to an expense. This cannot be undone. Pass expense_id from list_expenses.
Permanently delete an invoice by ID. This cannot be undone. Use list_invoices to find invoice_id values.
Delete the receipt of a billable expense through the invoices route (DELETE /invoices/expenses//receipt). This cannot…
Remove a payment applied to an invoice. This cannot be undone. Pass invoice_id (from list_invoices) and invoice_payme…
Permanently delete an item by ID. This cannot be undone. Use list_items to find item_id values.
Permanently delete a journal by ID. This cannot be undone. Use list_journals to find journal_id values.
Delete a comment from a journal. This cannot be undone. Pass journal_id from list_journals and comment_id from add_jo…
Permanently delete a project by ID. This cannot be undone and removes its tasks and time entries. Use list_projects t…
Delete a comment from a project. Pass project_id (from list_projects) and comment_id (from list_project_comments).
Delete a task from a project. Pass project_id (from list_projects) and task_id (from list_project_tasks). This cannot…
Remove a user from a project. Pass project_id (from list_projects) and user_id (from list_project_users). This is the…
Permanently delete a purchase order by ID. This cannot be undone. Use list_purchase_orders to find purchaseorder_id v…
Delete the file attached to a purchase order. Pass purchaseorder_id (from list_purchase_orders). This cannot be undone.
Delete a comment from a purchase order. Pass purchaseorder_id (from list_purchase_orders) and comment_id (from list_p…
Permanently delete a purchase return by ID. This cannot be undone. Use list_purchase_returns to find purchasereturn_i…
Delete a document attached to a purchase return. Pass purchasereturn_id (from list_purchase_returns) and document_id…
Permanently delete a recurring bill by ID. This cannot be undone and stops future occurrences. Use list_recurring_bil…
Permanently delete a recurring expense by ID. This cannot be undone and stops future occurrences. Use list_recurring_…
Permanently delete a recurring invoice by ID. This cannot be undone and stops future occurrences. Use list_recurring_…
Remove the bank account associated with a recurring invoice. Inverse of associate_recurring_invoice_bank_account. Use…
Remove the saved card associated with a recurring invoice. Inverse of associate_recurring_invoice_card. Use list_recu…
Permanently delete a recurring journal by ID. This cannot be undone. Use list_recurring_journals to find recurring_jo…
Permanently delete a retainer invoice by ID. This cannot be undone. Use list_retainer_invoices to find retainerinvoic…
Remove a retainer payment that was applied to an invoice. Pass retainerinvoice_id (from list_retainer_invoices) and i…
Delete a comment from a retainer invoice. Pass retainerinvoice_id (from list_retainer_invoices) and comment_id (from…
Delete a document attached to a retainer invoice. Pass retainerinvoice_id (from list_retainer_invoices) and document_…
Permanently delete a sales order by ID. This cannot be undone. Use list_sales_orders to find salesorder_id values.
Delete the file attached to a sales order. Pass salesorder_id (from list_sales_orders). This cannot be undone.
Delete a comment from a sales order. Pass salesorder_id (from list_sales_orders) and comment_id (from list_sales_orde…
Permanently delete a sales receipt by ID. This cannot be undone. Use list_sales_receipts to find sales_receipt_id val…
Permanently delete one standalone task by ID. This cannot be undone. Use list_tasks to find task_id values. Use bulk_…
Delete a comment from a standalone task. Pass task_id (from list_tasks) and comment_id (from list_task_comments).
Permanently delete one time entry by ID. This cannot be undone. Use list_time_entries to find time_entry_id values. U…
Permanently delete a vendor credit by ID. This cannot be undone. Use list_vendor_credits to find vendor_credit_id val…
Delete a comment from a vendor credit. Pass vendor_credit_id (from list_vendor_credits) and comment_id (from list_ven…
Permanently delete a refund of a vendor credit. This cannot be undone. Pass vendor_credit_id (from list_vendor_credit…
Permanently delete a vendor payment by ID. This cannot be undone. Use list_vendor_payments to find payment_id values.
Permanently delete a refund of a vendor payment. This cannot be undone. Pass payment_id (from list_vendor_payments) a…
Disable auto-bill on a recurring invoice so generated invoices are no longer charged automatically. Inverse of enable…
Email a purchase order to the vendor. Requires purchaseorder_id (from list_purchase_orders) and to_mail_ids. This sen…
Email a purchase return to the vendor. Requires purchasereturn_id (from list_purchase_returns) and to_mail_ids. This…
Email a retainer invoice to the customer. Requires retainerinvoice_id (from list_retainer_invoices) and to_mail_ids…
Email a sales order to the customer. Requires salesorder_id (from list_sales_orders) and to_mail_ids. This sends a re…
Email a sales receipt to the customer. Requires sales_receipt_id (from list_sales_receipts) and to_mail_ids. This sen…
Email a vendor payment to the vendor. Requires payment_id (from list_vendor_payments) and to_mail_ids. This sends a r…
Enable auto-bill on a recurring invoice so each generated invoice is charged automatically against the associated car…
Force-pay an invoice: immediately collect payment via the customer’s saved auto-bill card or bank account. Requires i…
Mark a purchase return as fulfilled (goods sent back). Use list_purchase_returns to find purchasereturn_id values. Re…
Generate a secure-pay link a customer can use to pay an invoice online. Requires transaction_id (an invoice_id from l…
Fetch one chart-of-accounts account by ID. Use list_accounts to find account_id values.
Fetch one bill by ID. Use list_bills to find bill_id values. Also fetches self-billed invoices.
Fetch one contact by ID. Use list_contacts to find contact_id values.
Fetch one saved card on a contact (masked: last four digits, brand, expiry - never the full number or CVV). Requires…
Count the saved payment cards on each of the given contacts. Requires contact_ids (one or more, from list_contacts)…
Get the rendered payment-method-request email content for a contact (subject and body) without sending it. Requires c…
Fetch one contact person of a contact by ID. Requires contact_id (use list_contacts) and contact_person_id (use list_…
Fetch one currency by ID. Use list_currencies to find currency_id values.
Fetch the authenticated user’s own profile. Takes no ID. Use this to learn the caller’s user_id, role, and email.
Fetch one customer payment by ID. Use list_customer_payments to find payment_id values.
Fetch one refund of a customer payment by ID. Pass customer_payment_id (from list_customer_payments) and refund_id (f…
Fetch one delivery challan by ID. Use list_delivery_challans to find deliverychallan_id values. GLOBAL and INDIA edit…
Fetch one estimate by ID. Use list_estimates to find estimate_id values.
Fetch one exchange rate by ID. Requires currency_id (use list_currencies) and exchange_rate_id (use list_exchange_rat…
Fetch one expense by ID. Use list_expenses to find expense_id values.
Fetch one invoice by ID. Use list_invoices to find invoice_id values.
Get an invoice’s online-payment QR code (JSON payload with the QR image URL / data, not raw bytes) for the customer t…
Check whether an invoice’s online-payment QR code has been paid. Requires invoice_id (from list_invoices). Pairs with…
Get an invoice’s QR code (returned as a JSON payload with the QR image URL / data, not raw bytes). Requires invoice_i…
Fetch one item by ID. Use list_items to find item_id values.
Fetch one journal by ID, including its line items. Use list_journals to find journal_id values.
Fetch one organization by ID, including its base currency and time zone. Use list_organizations to find organization…
Fetch one project by ID. Use list_projects to find project_id values.
Fetch one task of a project. Pass project_id (from list_projects) and task_id (from list_project_tasks).
Fetch one user assigned to a project. Pass project_id (from list_projects) and user_id (from list_project_users).
Fetch one purchase order by ID. Use list_purchase_orders to find purchaseorder_id values.
Preview the default email subject, body, and recipients for a purchase order without sending. Pass purchaseorder_id f…
Fetch one purchase return by ID. Use list_purchase_returns to find purchasereturn_id values.
Fetch one recurring bill by ID. Use list_recurring_bills to find recurring_bill_id values.
Fetch one recurring expense by ID. Use list_recurring_expenses to find recurring_expense_id values.
Fetch one recurring invoice by ID. Use list_recurring_invoices to find recurring_invoice_id values.
Get the recurring-invoices dashboard summary (totals and activity across all recurring invoices). Takes no identifiers.
Fetch one recurring journal by ID, including its line items. Use list_recurring_journals to find recurring_journal_id…
Fetch the budget-vs-actuals report for one account register. Requires account_id (from list_accounts). Optionally bou…
Fetch the details of one register bulk-action history record. Requires account_id (from list_accounts) and comment_id…
Fetch the metadata describing which fields a register bulk update supports for one account. Requires account_id (from…
Fetch one retainer invoice by ID. Use list_retainer_invoices to find retainerinvoice_id values.
Preview the default email subject, body, and recipients for a retainer invoice without sending. Pass retainerinvoice_…
Get the time entry whose timer is currently running for the authenticated user, if any. Takes no input.
Fetch one sales order by ID. Use list_sales_orders to find salesorder_id values.
Preview the default email subject, body, and recipients for a sales order without sending. Pass salesorder_id from li…
Fetch one sales receipt by ID. Use list_sales_receipts to find sales_receipt_id values.
Fetch one standalone task by ID. Use list_tasks to find task_id values.
Fetch one tax by ID. Use list_taxes to find tax_id values.
Fetch one tax authority by ID (US and CA editions only). Use list_tax_authorities to find tax_authority_id values.
Fetch one tax exemption by ID (US edition only). Use list_tax_exemptions to find tax_exemption_id values.
Fetch one tax group by ID, including its member taxes. Tax groups appear in list_taxes alongside individual taxes.
Fetch one time entry by ID. Use list_time_entries to find time_entry_id values.
Fetch the journal (double-entry) view of any transaction by its ID - the debits and credits Zoho posted for it. Requi…
Fetch one user by ID. Use list_users to find user_id values.
Fetch one vendor credit by ID. Use list_vendor_credits to find vendor_credit_id values.
Fetch one refund of a vendor credit by ID. Pass vendor_credit_id (from list_vendor_credits) and refund_id (from list_…
Fetch one vendor payment by ID. Use list_vendor_payments to find payment_id values.
Preview the default email subject, body, and recipients for a vendor payment without sending. Pass payment_id from li…
Fetch one refund of a vendor payment by ID. Pass payment_id (from list_vendor_payments) and refund_id (from list_vend…
Mark a project as inactive. Use list_projects to find project_id values.
Invite a person to a project by email. Requires project_id (from list_projects) and email. This sends a real invitati…
List the transactions posted to one account, with server-side filtering, sorting, and paging. Requires account_id (fr…
List chart-of-accounts accounts with server-side filtering, sorting, and paging. Use this to find account_id values f…
List every option defined on one reporting tag. Requires tag_id (use list_reporting_tags to find it). Use this to fin…
List the comments and history of a bill. Pass bill_id from list_bills. Use this to find comment_id values.
List the payments applied to one bill. Pass bill_id from list_bills. Use this to find bill_payment_id values for dele…
List bills with server-side filtering, sorting, and paging. Filter by vendor_id (from list_contacts), bill_number, re…
List the bills a vendor credit has been applied to, returning the vendor_credit_bill_id values that delete_bills_cred…
List the recurring invoices auto-billed to a saved contact card. Requires contact_id (from list_contacts) and card_id…
List the saved cards on a contact (masked). Requires contact_id (from list_contacts). Each item includes card_id for…
List the contact persons belonging to a contact. Requires contact_id (use list_contacts to find it). Use this to find…
List customers and vendors with server-side filtering, sorting, and paging. Use this to find contact_id values for th…
List the currencies configured in the organization. Use this to find currency_id values for exchange-rate tools and f…
List the refunds recorded against one customer payment. Pass customer_payment_id from list_customer_payments. Use thi…
List customer payments with server-side filtering, sorting, and paging. Filter by customer_id (from list_contacts), c…
List the PDF templates available for delivery challans. Use this to find template_id values for update_delivery_chall…
List delivery challans with server-side filtering, sorting, and paging. Filter by customer_id (from list_contacts), s…
List the organization’s employees with paging. Use this to find employee_id values for get_employee and delete_employee.
List estimates (quotes) with server-side filtering, sorting, and paging. Filter by customer_id (from list_contacts)…
List the exchange rates recorded for a currency. Requires currency_id (use list_currencies to find it). Use this to f…
List the comments and history of an expense. Pass expense_id from list_expenses.
List expenses with server-side filtering, sorting, and paging. Filter by customer_id/vendor_id (from list_contacts)…
List the payments applied to one invoice. Pass invoice_id from list_invoices. Use this to find invoice_payment_id val…
List invoices with server-side filtering, sorting, and paging. Filter by customer_id (from list_contacts), invoice_nu…
List items (products and services) with server-side filtering, sorting, and paging. Use this to find item_id values f…
List the available credits of a journal, returning the journal_line_id values that apply_journal_credits_to_invoices…
List manual journals with server-side filtering, sorting, and paging. Filter by status, filter_by (date range), a dat…
List the organization’s locations (branches). Use this to find location_id values for tools that take an optional loc…
List the Zoho Books organizations and IDs visible to this credential. The organization used by other tools is fixed b…
List the organization’s pricebooks (price lists). Use this to find pricebook_id values for tools that apply a price b…
List the comments and history of a project. Pass project_id from list_projects. Use this to find comment_id values fo…
List the invoices billed from a project, with paging. Pass project_id from list_projects. Use create_invoices_from_pr…
List the tasks of a project. Pass project_id from list_projects. Use this to find task_id values for the project-task…
List the users assigned to a project. Pass project_id from list_projects. Use this to find user_id values for get/upd…
List projects with server-side filtering, sorting, and paging. Filter by customer_id (from list_contacts) or filter_b…
List the comments and history of a purchase order. Pass purchaseorder_id from list_purchase_orders. Use this to find…
List the PDF templates available for purchase orders. Use this to find template_id values for update_purchase_order_t…
List purchase orders with server-side filtering, sorting, and paging. Filter by vendor_id (from list_contacts), purch…
List purchase returns with server-side filtering, sorting, and paging. Filter by purchasereturn_number, vendor_name…
List the history entries of a recurring bill. Pass recurring_bill_id from list_recurring_bills.
List recurring bills with server-side filtering, sorting, and paging. Filter by vendor_id (from list_contacts), recur…
List the expenses generated from a recurring expense. Pass recurring_expense_id from list_recurring_expenses. Returns…
List the history entries of a recurring expense. Pass recurring_expense_id from list_recurring_expenses.
List recurring expenses with server-side filtering, sorting, and paging. Filter by filter_by (e.g. ‘Status.Active’) o…
List the invoices generated from a recurring invoice. Pass recurring_invoice_id from list_recurring_invoices. Each it…
List the history entries of a recurring invoice. Pass recurring_invoice_id from list_recurring_invoices.
List recurring invoices with server-side filtering, sorting, and paging. Filter by customer_id (from list_contacts)…
List the journals a recurring journal has created. Pass recurring_journal_id from list_recurring_journals.
List recurring journals with server-side filtering, sorting, and paging. Filter by filter_by (status) or search_text…
List the bulk-action history (past bulk updates/deletes) of one account register. Requires account_id (from list_acco…
List the register (ledger) rows of one account, with server-side filtering, sorting, and paging. Requires account_id…
List the organization’s reporting tags (classification dimensions). Use this to find tag_id values for list_all_tag_o…
List the comments and history of a retainer invoice. Pass retainerinvoice_id from list_retainer_invoices. Use this to…
List the PDF templates available for retainer invoices. Use this to find template_id values for update_retainer_invoi…
List retainer (deposit) invoices with server-side filtering, sorting, and paging. Filter by customer_id (from list_co…
List the comments and history of a sales order. Pass salesorder_id from list_sales_orders. Use this to find comment_i…
List the PDF templates available for sales orders. Use this to find template_id values for update_sales_order_template.
List sales orders with server-side filtering, sorting, and paging. Filter by customer_id (from list_contacts), saleso…
List sales receipts (cash sales) with server-side filtering, sorting, and paging. Filter by customer_id (from list_co…
Fetch one reporting tag’s options detail page: the tag plus its hierarchical options. Requires tag_id (use list_repor…
List the comments of a standalone task. Pass task_id from list_tasks. Use this to find comment_id values for delete_t…
List standalone tasks with server-side filtering, sorting, and paging. Filter by owner_id (from list_users), status…
List the organization’s tax authorities (US edition only). Use this to find tax_authority_id values for get_tax_autho…
List the organization’s tax exemptions (US edition only). Use this to find tax_exemption_id values for get_tax_exempt…
List the organization’s taxes (simple and compound). Use this to find tax_id values for tax tools and for taxing line…
List time entries with server-side filtering, sorting, and paging. Filter by project_id (from list_projects), user_id…
List the organization’s users with server-side filtering, sorting, and paging. Use this to find user_id values for ge…
List the comments and history of a vendor credit. Pass vendor_credit_id from list_vendor_credits. Use this to find co…
List the refunds recorded against one vendor credit. Pass vendor_credit_id from list_vendor_credits. Use this to find…
List vendor credits with server-side filtering, sorting, and paging. Filter by vendor_id (from list_contacts), vendor…
List the refunds recorded against one vendor payment. Pass payment_id from list_vendor_payments. Use this to find ref…
List vendor payments with server-side filtering, sorting, and paging. Filter by vendor_id (from list_contacts), vendo…
Log a time entry against a project and task. Requires project_id (from list_projects), task_id (from list_project_tas…
Associate one or more existing invoices with a sales order. Requires salesorder_id (from list_sales_orders) and invoi…
Mark one chart-of-accounts account as active. Use list_accounts to find account_id values. Use mark_account_as_inacti…
Mark one chart-of-accounts account as inactive. Use list_accounts to find account_id values. Use mark_account_as_acti…
Mark a bill as open (confirm it from draft). Use list_bills to find bill_id values.
Mark a delivery challan as delivered. Use list_delivery_challans to find deliverychallan_id values.
Mark a delivery challan as open. Use list_delivery_challans to find deliverychallan_id values.
Mark a delivery challan as returned. Use list_delivery_challans to find deliverychallan_id values. For a partial retu…
Mark a delivery challan as undelivered. Use list_delivery_challans to find deliverychallan_id values.
Mark one or more invoices as shipped. Requires invoice_ids (from list_invoices). Use mark_invoices_unshipped to reverse.
Mark one or more invoices as unshipped. Requires invoice_ids (from list_invoices). Reverses mark_invoices_shipped.
Mark one journal as published (move it out of draft). Use list_journals (status ‘draft’) to find journal_id values. U…
Mark a purchase order as billed. Use list_purchase_orders to find purchaseorder_id values.
Mark a purchase order as open (issued). Use list_purchase_orders to find purchaseorder_id values.
Mark a retainer invoice back to draft. Use list_retainer_invoices to find retainerinvoice_id values.
Mark a retainer invoice as sent. Use list_retainer_invoices to find retainerinvoice_id values.
Mark a sales order as open (confirmed). Use list_sales_orders to find salesorder_id values.
Void a sales order. Use list_sales_orders to find salesorder_id values.
Mark a standalone task as completed. Use list_tasks to find task_id values.
Mark a standalone task as ongoing. Use list_tasks to find task_id values.
Mark a standalone task as open. Use list_tasks to find task_id values.
Add a comment to a project. Requires project_id (from list_projects) and description. Returns the new comment_id.
Initiate an asynchronous online payment for an invoice through a payment gateway (returns once the charge is queued)…
Charge an invoice synchronously through a payment gateway using a saved/tokenized card. Takes a gateway-issued card_t…
Record an asynchronous online payment against a retainer invoice. Requires retainerinvoice_id (from list_retainer_inv…
Refund the excess (unapplied) amount of a customer payment. Requires customer_payment_id (from list_customer_payments…
Refund the balance of a vendor credit. Requires vendor_credit_id (from list_vendor_credits), date, amount, and accoun…
Refund the excess (unapplied) amount of a vendor payment. Requires payment_id (from list_vendor_payments), date, amou…
Reject a journal that is pending approval. Use list_journals (status ‘submitted’) to find journal_id values. Use appr…
Reject a purchase order submitted for approval (needs approvals enabled on the module). Use list_purchase_orders to f…
Reopen one or more closed purchase returns (bulk), reversing close_purchase_returns. Pass purchasereturn_ids (from li…
Resend the online-payment SMS for an invoice to the customer. This sends a real SMS. Requires invoice_id (from list_i…
Resume a stopped recurring bill so it generates bills again. Inverse of stop_recurring_bill. Use list_recurring_bills…
Resume a stopped recurring expense so it generates expenses again. Inverse of stop_recurring_expense. Use list_recurr…
Resume a stopped recurring invoice so it generates invoices again. Inverse of stop_recurring_invoice. Use list_recurr…
Resume a stopped recurring journal so it posts entries again. Use list_recurring_journals to find recurring_journal_i…
Record a return of specific line items across one or more delivery challans. Pass deliverychallan_ids (from list_deli…
Reverse a posted journal, creating an offsetting journal entry. Requires a reversal_date. Use list_journals to find j…
Send a contact an email requesting they add a payment method (saved card). This sends a real email. Requires contact_…
Start the timer on an existing time entry. Requires time_entry_id (from list_time_entries). Use stop_time_entry_timer…
Stop a recurring bill so it generates no further bills. Reversible with resume_recurring_bill. Use list_recurring_bil…
Stop a recurring expense so it generates no further expenses. Reversible with resume_recurring_expense. Use list_recu…
Stop a recurring invoice so it generates no further invoices. Reversible with resume_recurring_invoice. Use list_recu…
Stop an active recurring journal so it posts no further entries. Use list_recurring_journals to find recurring_journa…
Stop the currently running time-entry timer for the authenticated user. Takes no input. Use get_running_timer to see…
Submit a bill for approval. Requires approvals to be enabled for bills in the org. Use list_bills to find bill_id val…
Submit one journal for approval. Use list_journals (status ‘draft’) to find journal_id values. Use bulk_submit_journa…
Submit a purchase order for approval (needs approvals enabled on the module). Use list_purchase_orders to find purcha…
Submit a retainer invoice for approval (needs approvals enabled on the module). Use list_retainer_invoices to find re…
Submit a sales order for approval (needs approvals enabled on the module). Use list_sales_orders to find salesorder_i…
Submit a vendor credit for approval. The org must have approvals enabled for vendor credits. Use list_vendor_credits…
Undo a previously recorded return of one or more delivery challans. Pass deliverychallan_ids (from list_delivery_chal…
Mark a fulfilled purchase return as unfulfilled, reversing fulfill_purchase_return. Use list_purchase_returns to find…
Remove the association between invoices and their sales orders. Requires invoice_ids (from list_invoices). Reverses m…
Update a chart-of-accounts account’s name, type, code, currency, parent, or description. Use list_accounts to find ac…
Update a bill. The API requires vendor_id (from list_contacts) and line_items (each with account_id from list_account…
Update the billing address on a bill. Pass bill_id (from list_bills) and the address fields to change. Only provided…
Update a bill located by a custom field’s unique value, instead of by bill_id. Provide customfield_api_name and custo…
Update the custom field values on an existing bill. Pass bill_id (from list_bills) and custom_fields (each with a cus…
Update a contact’s fields. Only the fields you pass are changed. email and phone update the primary contact person; i…
Update a saved card’s cardholder/billing details or primary/backup flag. Does not accept raw card data. Requires cont…
Update a customer payment. The API requires customer_id, payment_mode, amount, and invoices (each with invoice_id fro…
Update a customer payment located by a custom field’s unique value, instead of by payment_id. Provide customfield_api…
Update the custom field values on an existing customer payment. Pass customer_payment_id (from list_customer_payments…
Update a refund of a customer payment. The API requires date, amount, and from_account_id (from list_accounts). Pass…
Update a delivery challan’s fields. Only the fields you pass are changed; passing line_items replaces the existing li…
Update the shipping address on a delivery challan. Pass deliverychallan_id (from list_delivery_challans) and the addr…
Apply a PDF template to a delivery challan. Pass deliverychallan_id (from list_delivery_challans) and template_id (fr…
Update an estimate’s fields. Only the fields you pass are changed; passing line_items replaces the existing lines. Us…
Update an expense. The API requires account_id (from list_accounts), date, and amount on update. Use list_expenses to…
Update an expense located by a custom field’s unique value, instead of by expense_id. Provide customfield_api_name an…
Update an invoice’s fields. Only the fields you pass are changed; passing line_items replaces the existing lines. Use…
Update an item’s fields. Only the fields you pass are changed. Use list_items to find item_id values.
Update a journal. The API requires journal_date and line_items (each with account_id from list_accounts, debit_or_cre…
Update a project’s fields. Only the fields you pass are changed. Use list_projects to find project_id values and list…
Update a project located by a custom field’s unique value, instead of by project_id. Provide customfield_api_name and…
Update a project task’s fields. Pass project_id (from list_projects) and task_id (from list_project_tasks); only the…
Update a user’s settings on a project (role, rate, budget_hours). Pass project_id (from list_projects) and user_id (f…
Update a purchase order’s fields. Only the fields you pass are changed; passing line_items replaces the existing line…
Set whether the purchase order’s attached file is sent along with the purchase order email. Pass purchaseorder_id (fr…
Update the billing address on a purchase order. Pass purchaseorder_id (from list_purchase_orders) and the address fie…
Update a purchase order located by a custom field’s unique value, instead of by purchaseorder_id. Provide customfield…
Update a comment on a purchase order. Pass purchaseorder_id (from list_purchase_orders), comment_id (from list_purcha…
Update the custom field values on an existing purchase order. Pass purchaseorder_id (from list_purchase_orders) and c…
Apply a PDF template to a purchase order. Pass purchaseorder_id (from list_purchase_orders) and template_id (from lis…
Update a purchase return’s fields. Only the fields you pass are changed; passing line_items replaces the existing lin…
Update the billing address on a purchase return. Pass purchasereturn_id (from list_purchase_returns) and the address…
Update the shipping address on a purchase return. Pass purchasereturn_id (from list_purchase_returns) and the address…
Update a recurring bill. The API requires vendor_id (from list_contacts), recurrence_name, and line_items (each with…
Update a recurring bill located by a custom field’s unique value, instead of by recurring_bill_id. Provide customfiel…
Update a recurring expense. The API requires recurrence_name, start_date, recurrence_frequency, repeat_every, account…
Update a recurring expense located by a custom field’s unique value, instead of by recurring_expense_id. Provide cust…
Update a recurring invoice. The API requires customer_id (from list_contacts), recurrence_name, and line_items (each…
Update a recurring invoice located by a custom field’s unique value, instead of by recurring_invoice_id. Provide cust…
Apply a print template to a recurring invoice. Requires recurring_invoice_id (from list_recurring_invoices) and templ…
Update a recurring journal. The API requires recurrence_name, start_date, recurrence_frequency, and line_items on upd…
Update a retainer invoice’s fields. Only the fields you pass are changed; passing line_items replaces the existing li…
Update the billing address on a retainer invoice. Pass retainerinvoice_id (from list_retainer_invoices) and the addre…
Update a retainer invoice located by a custom field’s unique value, instead of by retainerinvoice_id. Provide customf…
Update a comment on a retainer invoice. Pass retainerinvoice_id (from list_retainer_invoices), comment_id (from list_…
Apply a PDF template to a retainer invoice. Pass retainerinvoice_id (from list_retainer_invoices) and template_id (fr…
Update a sales order’s fields. Only the fields you pass are changed; passing line_items replaces the existing lines…
Set whether the sales order’s attached file is sent along with the sales order email. Pass salesorder_id (from list_s…
Update the billing address on a sales order. Pass salesorder_id (from list_sales_orders) and the address fields to ch…
Update a sales order located by a custom field’s unique value, instead of by salesorder_id. Provide customfield_api_n…
Update a comment on a sales order. Pass salesorder_id (from list_sales_orders), comment_id (from list_sales_order_com…
Update the custom field values on an existing sales order. Pass salesorder_id (from list_sales_orders) and custom_fie…
Update the shipping address on a sales order. Pass salesorder_id (from list_sales_orders) and the address fields to c…
Apply a custom sub-status to a sales order. Pass salesorder_id (from list_sales_orders) and status_code (the org-conf…
Apply a PDF template to a sales order. Pass salesorder_id (from list_sales_orders) and template_id (from list_sales_o…
Update a sales receipt’s fields. Only the fields you pass are changed; passing line_items replaces the existing lines…
Update a self-billed invoice. The API requires vendor_id (from list_contacts) and line_items (each with account_id fr…
Update a standalone task’s fields. Only the fields you pass are changed. Use list_tasks to find task_id values and li…
Set a standalone task’s completion percentage (0-100). Pass task_id (from list_tasks) and completion_percentage.
Update a time entry’s fields. Only the fields you pass are changed. Use list_time_entries to find time_entry_id value…
Update a vendor credit. The API requires vendor_id (from list_contacts) and line_items on update. Use list_vendor_cre…
Update a refund of a vendor credit. The API requires date, amount, and account_id (from list_accounts). Pass vendor_c…
Update a vendor payment. The API requires vendor_id (from list_contacts), amount, date, and paid_through_account_id (…
Update a vendor payment located by a custom field’s unique value, instead of by payment_id. Provide customfield_api_n…
Update a refund of a vendor payment. The API requires date, amount, and from_account_id (from list_accounts). Pass pa…
Void a bill, reversing its accounting impact. Use list_bills to find bill_id values.
Void a purchase return. Use list_purchase_returns to find purchasereturn_id values.
Void a retainer invoice. Use list_retainer_invoices to find retainerinvoice_id values.
Void a vendor credit, reversing its accounting impact. Use list_vendor_credits to find vendor_credit_id values.