The Preferences section will help you configure your Zoho Books organization, and also settings for various sales and purchase modules, projects, accountant and other modules.


This section lets you in enable certain modules in your Zoho Books organization and consists of other generic functions.

To access the general settings:

Enable modules

Select the modules you want to enable in Zoho Books. Once you enable them, they will be shown in the left sidebar. You’ll be able to access and configure these modules only when you enable them in this page.

Enable Modules

Note: You can access the modules via API even if they are disabled in the Zoho Books browser application.

Zoho Inventory Add-on

If you want to integrate with Zoho Inventory, you should have created an active organization in Zoho Inventory either in the Standard or Professional plan. After you integrate with Zoho Inventory, you can enable the add-on here. Upon enabling this add-on, all the modules pertaining to the integration will be displayed in Zoho Books, from where you can access all the required features.

Learn more about the Zoho Inventory Add-on.

Inventory Addon

First day of work week

By default, the first working day of the week is Sunday in Zoho Books. However, you can change the first day of your work week to Sunday, Monday or Saturday.

When you change the first day of your work week, the days and dates in the calendar will be updated accordingly. This will be useful when you are selecting dates for sales and purchase transactions, and other modules.

For example, let’s say you’ve set the first day of the week as Monday. When you create an invoice and select the invoice date, this is how the calendar will be displayed.

First Day of the Week

Attach the corresponding PDF of the quote or invoice in the email while sending it to your customer.

Attach PDF

Encrypt PDF Files

Secure your PDF files by encrypting them while sending them to your customers. When you encrypt your PDF files, they cannot be:

Attach PDF


If you give discounts to your customers, you can select the level of discounts applicable on the transactions.


Choose how discounts are applied in transactions:

Line Item Level Discount

If you have applied taxes on the line item(s), the tax is calculated after the discount is applied.

Invoice Level Discount

If you select a discount to be applied at invoice level, you can also choose to apply the Discount Before Tax or Discount After Tax.

Additional charges

To add additional charges, you’ll have to enable it:


These additional charges will show up when you are creating transactions like an invoice or a quote.

Additional Charges


If you have sales persons in your organization who manage different sales transactions, then you can associate them with the corresponding transactions (like an invoice) in Zoho Books. .

Sales Person

To enable sales persons for your organization, mark the box I want to add a field for salesperson.

To view all the sales done by different sales persons in your organization:

Weekly Summary Report

Default Account for Billable Bills and Expenses

Choose a default Income account to track the amount in billable bills and expenses, when they are invoiced. Once you select this account, the system will automatically associate the account when an expense or a bill is invoiced.

Note: The income account will be applied only for non-inventory items. For inventory items, the specified sales account will take the precedence.

Billable Bills Preference

Let’s look at a scenario to understand how configuring this preference will affect the journal that’s recorded.

Scenario: Kumar is handling a project for his client Nita. During the project, Kumar incurs an expense of $225 in Advertising and Marketing expense. He invoices this expense to Nita and the following journal entry is created in Zoho Books.

Expense with Journal

Scenario (Contd.): If Kumar chooses an income account in the Preferences to track the amount in billable bills and expenses, the journal entry will be created as mentioned below.

Journal without Billable Preference configured

Scenario (Contd.): If Kumar does not choose an income account in the Preferences, the Expense account from billable bills or expenses will be used in the journal as shown below.

Journal with Billable Preference configured

Markup for Billable Bills and Expenses

The bills and expenses that you incur on behalf of your customers, which you will invoice them later are billable bills and expenses. There are two common methods of invoicing customers:

To set a default markup percentage for billable bills and expenses:

Markup Billable Bills & Expenses

Now, when you choose the billable option in a bill or an expense, the default markup percentage will be pre-filled in the Mark up by field.

Weekly Summary Report

All the admins of your organization can receive the summary of business transactions done in the week in their email. You can also receive the report through your Slack channel if you have integrated your Zoho Books organizaton with Slack.

To enable weekly summary reports:

Organization Address Format

Organization Address Format

You can change the way your organization or business address appears on all your sales and purchase transactions.

Insert Address Placeholders

Rearrange the existing placeholders or to change the format add new placeholders by clicking the Insert Placeholders drop-down.

After making all the changes in the General section, click Save.

Customer Portal

In the Customer Portal Preferences page, you can:

Learn more about Customer Portal Preferences.

Vendor Portal

In the Vendor Portal Preferences page, you can:

Learn more about Vendor Portal Preferences.

Customers and Vendors

In the Customers and Vendors Preferences page, you can:

Learn more about Customer and Vendor Preferences.


Configure different settings related to the Projects module in Zoho Books such as:

Learn more about Project Preferences.


Configure different settings related to the Accountant module in Zoho Books such as:

Learn more about Accountant Preferences.

Transaction Number Series

The transactions you create in Zoho Books are numbered by the default transaction series. For instance, the first invoice you create will be numbered as INV-001, the second invoice as INV-002, followed by INV-003 and so on.

However, some businesses might require their transactions to be numbered and tracked by a different transaction series that is not the default series. Let’s take the help of a scenario to understand this better.

Scenarios: Let’s assume Brandon runs a hardware store that sells a variety of items. He wants to track the sales of pipes using the unique prefix PIPE. Brandon uses the transaction number series feature in Zoho Books to configure a unique prefix.
So, the next time Brandon creates an invoice for the pipes he sold, he can select the transaction series he had configured earlier and his invoice will be automatically numbered with the unique prefix PIPE.

Similarly, you can create multiple transaction series in addition to the default transaction series. Each transaction series can be created with unique prefixes and series.

Insight: You can create transaction series for credit notes, journals, customer and vendor payments, purchase and sales orders, retainer invoices, vendor credits, bills of supply, debit notes, invoices, quotes, sales receipts, and delivery challans.

Once you’ve created a transaction series, you can select it while creating a transaction. Consequently, the transaction will be numbered based on the prefix and series that had been configured while creating the transaction series.

Note: This feature is available only for certain plans of Zoho Books. Visit the pricing page to check if it’s available in your current plan.

Enable Multiple Transaction Series

To start configuring multiple transaction numbers series:

Enable Transaction Series

Add Transaction Series

You will be able to view the current transaction series for your transactions listed as the Default Transaction Series. In addition to the Default Transaction Series, you will be able to create new transaction series. To do this:

Pro Tip: If you’ve enabled the branches feature in your organization, you can associate branches to multiple transaction series. This way, you can select two or more transaction series while creating a transaction for a specific branch.

Add Transaction Series

Once you’ve created a transaction series, you will be able to select the transaction series while creating the respective transaction.

Edit Transaction Series

To edit the transaction series you’ve created:

Edit Transaction Series

Pro Tip: You can also configure the default transaction series.

Once you configure the transaction series, the transactions you create will be numbered based on the new prefix and series.

Delete Transaction Series

To delete a transaction series you’ve created:

Delete Transaction Series

Once you delete the transaction series, you will no longer be able select the transaction. series while creating a transaction. Furthermore, the transaction series information of the deleted transaction series will not be available.

Note: Your transactions will be numbered based on the default series if your transactions are automatically generated, such as from a recurring invoice.

Record Locking

Record Locking allows you to lock the records (invoices and credit notes) in your organization. Once locked, only the users and roles with sufficient permission will be able to edit or delete them.

Note: This feature is available only in specific plans of Zoho Books. Visit the pricing page to check if it’s available in your current plan.

Enable Record Locking

To enable Record Locking for a module:

Enable Record Locking

Note: Record Locking is currently available for Invoices and Credit Notes modules.

Provide Users Permission to Edit Locked Records

By default, your organization’s admins can lock and unlock records, and edit or delete locked records. However, if you also want other users in your organization to be able to edit locked records, you can create a new role and add users to it, or edit and provide permission to an existing role.

To provide permission to a new user:

Add New Role

To provide permission to an existing role:

Edit existing role Provide permission to Edit Locked Records

Note: You will be able to edit permissions for custom created roles only.

Lock a Record

Now that you’ve enabled Record Locking, you can lock individual records. To lock a record:

Click Lock Invoice Enter reason for locking the record

The invoice is now locked and only users with permission to edit locked records will be able to edit or delete it.

Insight: Once the record is locked, the Edit button will be disabled for users who don’t have permission to edit the record. A lock icon will be displayed next to the record number. Users who do not have permission to edit locked records can hover the cursor over the lock icon to see why the record is locked.

Unlock a Record

To unlock the record that you previously locked:

Click Unlock Invoice Enter reason for unlocking the record

Note: Once you unlock a locked record, any user in your organization can edit or delete that record.

Disable Record Locking

To disable record locking for a module:

Disable Record Locking

Warning: Once you disable Record Locking for a module, all the records in that module that were locked will be unlocked and any user in your organization can edit or delete these records.

Field Customization

In Zoho Books, you can create additional fields called custom fields for different modules. You can create custom fields from the respective module’s preferences.

When will custom fields be used?

Let’s say you deal with customers from different industries. To track which industry a particular customer belongs to, you can create a custom field called Industry in the Customers and Vendors preferences.

In this section:

Create Custom Field

To create a new custom field:

New Custom Field
Label Name

Select an appropriate name for your custom field. This field will be displayed when entering data in the respective transaction.

Data Type

Choose the data type for the data that you will enter or store in the custom field. Zoho Books provides the following data types for custom fields:

Text Box (Single Line)

Select the Text Box (Single Line) data type to record any additional information. You can enter a short text, numerical value, or a combination of both up to 255 characters. Only A-Z, 0-9, and special characters are supported.


You can record additional email addresses using this field. For example,


You can record and save website URLs using this field. For example,


You can use the Phone data type to store additional phone numbers. For example, (123)-456-7890.


The Number field can be used to store whole numbers and negative numbers. For example, 7 or -7.


This field allows you to record decimal values that are positive or negative. For example, 12.90 or -94.53.


This field allows you to record the amount along with the default currency code set for your organization. For example, USD50, GBP76, AUD30 etc.


You can use this data type to record values in percentage.


In this field, you can record custom as well as relative date values. For example, Custom Date: 19 Jun 2019, Relative Date: Today, Tomorrow, Starting Date of Month etc.

Date and Time

The Date and Time data type is used when you have to display both the date and time values. It displays the value in YYYY-MM-DD HH:MM format.

Check Box

Using the Check Box data type, you can confirm an action or a fact, or enable an option. Here, you can also choose to have the check box ticked by default, if required.

Auto-generate Number

Using this data type, you can auto-generate values with prefixes or suffixes of your choice. Also, you can associate the custom field to existing invoices and auto-generate this number in all of them.


You can use the Dropdown data type in scenarios where you have to select one option from the list of options provided.


The Multi-select data type is similar to the dropdown data type. Using multi-select, you can select up to 30 options from the list of options available.


The Lookup data type allows you to pull data from one module and display it inside another module. Learn more about the Lookup data type.

Text Box (Multi-line)

The Text Box (Multi-line) data type also lets you to record any additional information of your choice. You can enter text, numerical value, or a combination of both up to 36000 characters. Only A-Z, 0-9, and special characters are supported.


You can use the Attachment data type to add files such as documents, PDFs, and images.

The formats supported for each file type are listed below:

You can attach one file whose size limit is less than 7 MB.


The Formula data type enables you to build a formula that performs calculations using predefined functions, fields, and operators. Learn more about the Formula data type.

For fields that don’t contain PII, you can provide default values. The preview of the field and the text will be shown in the form itself.

Data Privacy

Select PII (Personally Identifiable Information) or ePHI (Electronic Protected Health Information) based on the information you will enter in this field.

Prevent Duplicate Values

Note: If you are creating a custom field for the invoices, expenses, or bills module and you enable Prevent Duplicate Value, the custom field will not be available in the recurring invoices, recurring expenses, or recurring bills associated with the invoice, expense, or bill, if any.

Default Value

The value you enter will be the default value of the custom field. For example, if you create a custom field for the Invoices module and set the Default Value as 1. It will automatically fill the custom field with 1 when you create an invoice without providing any value for the custom field.

Note If you enable Prevent Duplicate Value for a custom field and you provide a Default Value for the custom field, ensure that you provide a unique value for the custom field while creating records.

You can also choose to inherit values from fields in other modules. To do this:

New Custom Field New Custom Field
Is Mandatory

If you mark this field as mandatory, then the form in which the field appears cannot be saved if this field is left empty.

Show in all PDF

While you can enter data in the custom field and save it, you can choose whether this data is displayed in the transaction PDF or not.

Display in Portal

In case your custom field is an Attachment, enabling this option allows your customers to view the attachments you’ve added for their invoices and quotes in the portal.

New Custom Field

From now on, when you create a record in the respective module, the custom field will be displayed.

Custom Field Limitations

There are certain limitations to the number of custom fields that can be created for each data type. Based on the limitations, custom fields are split into six sections: Numerical, Decimal, String, Boolean, Long Text, and Multi-select.

You can know the number of custom fields that are available for your use. Here’s how:

Custom Fields Usage Custom Fields Usage Stat

Now, you will be able to view the custom field usage for different modules.

Note: The limitations on custom fields will vary from one subscription plan to another.

Edit Custom Field

You can change the details you have saved for a custom field you created in Zoho Books. Here’s how:

Edit Custom Field Icon Edit Custom Field

Note: If you enable Prevent Duplicate Values for an existing custom field and if there are more than 10,000 records in that module, it will take some time to update the custom field’s details in all the records. You’ll receive an in-app notification once the process is completed.

API Field Name

Once you save a custom field, you can edit it to find the API Field Name. This name will be used when referring to this custom field for an API call.

API Custom Field

Mark Field as Inactive/Active

If you don’t want to enter data in any custom field temporarily, you can choose to mark it as inactive.

To mark as custom field as inactive:

Mark Custom Field as Inactive

If you have marked a custom field as inactive, you can make it active again. Here’s how:

Mark Custom Field as Active

Delete Custom Field

You can delete a custom field you have created in Zoho Books. Here’s how:

Delete Custom Field

If you have added data in a custom field which is associated with a transaction, you cannot delete the custom field. If you want to delete the custom field, you would have to delete the corresponding transaction.

Alternatively, you can mark the custom field as inactive.

Validation Rules

Validation Rules in Zoho Books help you create new rules that set restrictions for the data being recorded. So, when a user tries to enter data in a field that you have set a restriction for, it passes through the validation rule. If the value you enter in the field violates the condition you’ve set, an alert message is displayed and the transaction is not created. The user will also be able to set multiple criteria for a single validation rule.

Currently, Validation Rules are available only for Quotes and Sales Orders.

Note: This feature is available only for certain plans of Zoho Books. Visit the pricing page to check if it’s available in your current plan.

Let us understand how validation rules work with the help of few scenarios.

Scenario 1: Peter runs a catering business where he takes orders from his clients and provides them services. When customers enquire for the details, he sends out a quote to the customer and also provides a small discount. When Peter is unavailable, his team reaches out to the customers. Sometimes, his staff tends to quote a higher discount that Peter might not really approve of. Peter wonders how he can prevent this, and immediately sets up a validation rule to not create a quote with more than 10% discount.

Scenario 2: Peter also wants his employees to enter the terms and conditions of an ongoing-offer in the transaction. He creates a rule and ensures that the users are not able to create a transaction without entering the terms and conditions.

In this section:

Create Validation Rule

You can create a validation rule by setting certain criteria for the fields in a transaction. Here’s how:

Create Validation Rule

Set Conditions for Validation

If you want to create a new validation rule for the same field:

Add another validation

Insight: A validation rule created in Zoho Books will be applicable for other integrated Zoho apps as well. Let’s say, you’ve created a validation rule for sales orders in Zoho Books and your organization is integrated with Zoho Inventory as well. Now when you try to create a new sales order in Zoho Inventory, the fields will be validated based on the rule you set up in Zoho Books.

Multiple Criteria and Subrules

A validation rule is applicable for all transactions. However, if you would like to apply it for specific transactions based on multiple criteria, or create a new rule with the same condition, refer the following:

Adding Multiple Criteria

When you create a validation rule, it will be applicable for all transactions by default. You can also choose the rule to be applied to transactions based on specific criteria.

Scenario: (Based on Scenario 1) Peter had created a validation rule where the Discount cannot exceed 10% for the transactions created. However, he would like to customize this further as all transactions cannot have a maximum discount of only 10%. So he sets the criteria that the rule should be applicable only when the transaction total is under 100 and when there are shipping charges too.

Here’s how you can add multiple criteria:

Add another criteria

Edit Pattern

Adding Subrules

If you would like to include an additional rule to your existing condition, you can add Subrules. This is applicable only when you’ve chosen to apply the rule to transactions based on specific criteria.

Scenario: Peter had created a rule where the Discount cannot exceed 10% while creating transactions and had also customized it by adding certain criteria. Now, he’d like to use the same condition (<= 10% discount) but create a new rule that this condition is applicable only during off-seasons (July-Nov). So he creates a new subrule with the transaction date to be > July 1.

Here’s how you can create subrules:

Create Subrule

View Subrule

Execute Validation Rules

Once a Validation Rule is created and saved, it will be applicable for all transactions created henceforth. When any new transaction violates a validation rule, an alert message will be displayed to the users.

Other Actions for Validation Rules

Once you’ve created a validation rule you will be able to edit, mark it as inactive or delete them. Here’s how:

Edit/Delete/Mark as Inactive

In Zoho Books, you can create new buttons to perform tailor-made actions for your transactions or open external links. You can create them using deluge script and execute actions based on the functions you add.

Note: This feature is available only for certain plans of Zoho Books. Visit the pricing page to check if it’s available in your current plan.

You can create custom buttons/links for:

Insight: You can create a maximum of 10 buttons (custom links and buttons) for each module. For example, 10 custom buttons for invoices, 10 for quotes, and so on.

In this section:

Custom Buttons

Users can create new buttons to perform a set of actions based on their requirements. Users can create custom buttons that can be be executed only by them or by everyone.

Use Cases for Custom Buttons

Here are a few cases where new buttons can be created to execute custom actions. However, you can create custom buttons based on your firm’s requirements.

Use Case 1: Peter runs a business and sells goods on credit to selected customers. At the end of every month, Peter mails his customers the amount due for those transactions. He creates a custom button and sends the statement to his customer at the click of a button rather than applying multiple filters and emailing them.

Use Case 2: Peter charges a 2% late fee on all invoices that are not paid before their due dates. Peter creates a custom button and applies them on the invoices when they are overdue.

Use Case 3: Peter decides to provide a 5% discount for his regular customers who pre-order goods. He immediately creates a custom button and applies them on the invoice when he creates one.

Use Case 4: Peter sends a quote to his customers who had enquired about his products and their prices. Once the customer accepts the quote, Peter immediately places an order for the requested products. He creates a custom button to convert a quote to a purchase order immediately.

Use Case 5: Peter creates a custom field to record particular data. He immediately creates a custom button with a default value and applies them only to certain transactions.

Create Custom Buttons

To create a custom button:

New Custom Button

Warning: The name of the custom button cannot exceed 25 characters.

You can also select the location of the custom button in the Invoices and Quotes modules. A set of arguments will be available in the Deluge editor based on the location that you select. You can use these arguments to write the custom button’s script.

Location Description Arguments
Details Page Menu Places the button in the details page of invoices or quotes. Organisation details, User details, Invoice/quote details
List Page - Action Menu Places the button in the list page of the Invoices or Quotes module. Organisation details, User details
List Page - Bulk Action Menu Places the button in the action bar, when performing bulk actions in the Invoices or Quotes module. Organisation details, List of invoices/quotes, User details

Notes: You can click Preview next to the field to view a preview of where the button will be located.

Create Custom Button

Insight: Deluge (Data Enriched Language for the Universal Grid Environment) is an online scripting language integrated with Zoho Services. It enables you to write your own functions that lets you modify the application to suit your needs, incrementally, making it more powerful and robust.

Note: The ID is a combination of numbers that can be found in the URL of a particular Transaction/Contact/Item.

Execute Custom Actions

To view and execute the custom button:

Execute Custom Button

Reorder Custom Buttons

This feature allows you to change the sequence of custom buttons listed on the details or list pages of a module, enhancing user interface customization.

Prerequisite: You cannot reorder custom buttons when the Location is set to All. To reorder custom buttons, you have to select a location other than all. For example, Details Page Menu.

Let’s take a look at how to reorder the custom buttons created for the Invoices module. You can follow the same steps for the custom buttons created for other modules.

Location filter Change Order button Save Reorder button

The custom buttons will be reordered based on your preference.

Zoho Books allows you to open external links from your application by attaching links to the button you create. You can also insert placeholders in the links and drill down to the details.

Use Case 1: Peter sells his goods on an e-commerce website. He would like to link the e-commerce website’s URL with his items in Zoho Books. He immediately adds the custom button for the Items module with a link to the e-commerce site and views them.

Use Case 2: Peter has an external software with all the details of his customers. When customers request for his services, he refers his data base for details about all the previous services. Looking up for such data and identifying a customer can be pretty tedious. He creates a custom button with the Customer ID as a placeholder to his external application’s link. He clicks the button in his contact details page to open an external link with the specific contact’s details.

New Custom Link Create Custom Link

To open external links:

Open Custom Link

Edit/Delete Custom Buttons and Links

To edit/delete a custom button or link that you had created:

Edit or Delete

Insight: In case you had created a button with a custom link, then the Link Icon will be displayed to the right of the button’s name.

The Related Lists feature allows you to fetch and view data from within the app as well as from other third-party services. This comes in handy when you want to cross-reference data from different entities.

Note: This feature is available only for certain plans of Zoho Books. Visit the pricing page to check if it’s available in your current plan.

You can create related lists for:

Insight: You can create a maximum of 10 related lists for each module. For example, 10 for invoices, 10 for quotes, and so on.

In this section:

Create Related Lists

There are two ways to create a related list:

By creating a lookup custom field

The lookup custom field allows you to pull data from one module and access it inside another module in Zoho Books. When you create a lookup field in one module, its associated details will be available as a related list in the other module. 

Scenario 1: Patricia wants to track the efficiency of users in her organization. So, she decides to track the sales orders the sales team create for a customer. For this, she creates a Lookup custom field in the Sales Orders module and for the module whose data she wants to access (in this case, Users).

By writing a deluge script

With deluge scripts, you can connect Zoho Books with other third-party services to access their data.

Scenario 2: Zylker uses Zoho Books for their sales and purchases, and Zoho Desk to address their customer queries. Now, the admin can write and execute a deluge script to fetch the customer happiness rating from Zoho Desk, and show the consolidated data in a tabular form under each customer in Zoho Books.

To create a related list using deluge:

New Related List Create Related List

The lists will be displayed under the Related Lists tab in the respective modules.

View Related List


header_context: [
key: 'customer_name',
value: 'Customer Name'
key: 'invoice_number',
value: 'Invoice Number
data: [
customer_name: <customer_name>,
invoice_number: <invoice_number>
customer_name: <customer_name>
customer_name: {
"value": <customer_name>,
"isExternal":true, // To open the link in separate tab.
"link": <web_url_path>
header_context: [{...}, {...}],
data: [{...}],
page_context: {
per_page: '10',
page: '1',
has_more_page: true/false

Edit/Delete Related Lists

To edit/delete a related list that you had created:

Edit/Delete Related List

Pro Tip: If you want to temporarily disable the related list, click the down arrow and select Mark as Inactive.

Sample Function

Here’s a sample function for Scenario 2 that allows Zoho Books users to access customer details in Zoho Desk:


searchMap = Map();
searchMap.put('orgId',XXXXX);//Zoho desk orgId
searchList = invokeurl
	url :""
	type :GET
contacts = searchList.get('data').toList();
contact = contacts.get('0');
contactId = contact.get('id');

fromIndex = (page_context.get('page').toNumber() - 1) * page_context.get('per_page').toNumber();
happinessList = invokeurl
	url :",agents,tickets&department=allDepartment&from=" + fromIndex + "&limit=10&contactId=" + contactId
	type :GET
happinessList = happinessList.get('data').toList();

headerData = List();
headerData.add({"key":"ticket.ticketNumber","value":"Ticket Number"});
headerData.add({"key":"agent.lastName","value":"Agent Last Name"});

happinessCount = invokeurl
	url :"" + contactId
	type :GET
happinessCount = happinessCount.get('allDepartment');
totalCount = happinessCount.get('okay') + happinessCount.get('bad') + happinessCount.get('good');

pageContext = Map();
if(totalCount >= page_context.get('page').toNumber() * page_context.get('per_page').toNumber())

resultMap = Map();
return resultMap;

Was this document helpful?
Thank you for your feedback!
Want a feature?
Switch to smart accounting software. Switch to Zoho Books.   Start my free 14-day trial Explore Demo Account


Online accounting software
for small businesses.