Skip to main content

Zoho Expense Data Source

The Zoho Expense connector enables you to ingest expense management data—including organizations, expense categories, currencies, taxes, and tax groups—directly from your Zoho Expense account into Nexla for analysis, reporting, and integration with downstream systems. Follow the instructions below to create a new data flow that ingests data from a Zoho Expense source in Nexla.
zoho_expense_api.png

Zoho Expense

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Zoho Expense connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Zoho Expense instance, and click Next; or, create a new Zoho Expense credential for use in this flow.

  3. In Nexla, Zoho Expense data sources can be created using pre-built endpoint templates, which expedite source setup for common Zoho Expense API endpoints. Each template is designed specifically for the corresponding Zoho Expense endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Zoho Expense sources can also be configured manually, allowing you to ingest data from Zoho Expense endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Zoho Expense endpoints. Each template is designed specifically for the corresponding Zoho Expense endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

Get Organizations

Retrieves the list of Zoho Expense organizations associated with the authenticated user account. Use this endpoint to identify the organizations available to your Zoho Expense account and to obtain Organization IDs needed for other API operations.

  • This endpoint requires no additional configuration parameters. Selecting it will automatically retrieve all organizations accessible to the authenticated user account.
  • The response includes each organization's ID, name, and related metadata. The Organization ID values returned here can be used to configure the Organization ID field in your Zoho Expense credential if not already set.

For complete details about the organizations endpoint and its response fields, see the Zoho Expense API documentation.

Get Expense Category

Retrieves the details of a single expense category by its unique ID. Use this endpoint when you need to inspect or sync the properties of a specific expense category, such as its name, account code, or status.

  • Enter the unique identifier of the expense category you want to retrieve in the Expense Category ID field. This ID is assigned by Zoho Expense when a category is created and can be found by:

    • Using the List Expense Categories template to retrieve all categories and their corresponding IDs.
    • Viewing category details in the Zoho Expense admin console under Settings > Expense Categories.
  • The response returns all fields for the specified category, including the category name, associated account code, and active/inactive status.

The Expense Category ID is a required field for this endpoint. For reference information about expense category fields, see the Zoho Expense Expense Categories API documentation.

List Expense Categories

Retrieves a list of all expense categories in your Zoho Expense organization, with optional filters to include inactive or all categories. Use this endpoint to export your full category list for reporting, audits, or synchronization with external systems.

  • Optionally, configure the following filter parameters to refine the data returned:

    • Show Inactive — Set to true to include inactive (disabled) expense categories in the results, or leave empty to return only active categories. Inactive categories are those that have been hidden using the Disable Expense Category action.
    • Show All — Set to true to include all categories regardless of their active or inactive status. When both Show Inactive and Show All are provided, Show All takes precedence.
  • The response returns an array of expense category objects, each containing the category ID, name, account code, and status. Each element in the returned array is treated as a separate record in the Nexset produced by this source.

Leaving both filter parameters empty returns only active expense categories. For a full export including inactive categories, set Show All to true. See the Zoho Expense Expense Categories API documentation for additional details.

Get Currency

Retrieves the details of a single currency by its unique ID. Use this endpoint when you need to inspect or sync the configuration of a specific currency, such as its symbol, exchange rate, or formatting settings.

  • Enter the unique identifier of the currency you want to retrieve in the Currency ID field. This ID is assigned by Zoho Expense when a currency is added to the organization and can be found by:

    • Using the List Currencies template to retrieve all available currencies and their corresponding IDs.
    • Viewing currency settings in the Zoho Expense admin console under Settings > Currencies.
  • The response returns all fields for the specified currency, including the currency code (e.g., USD, EUR), symbol, exchange rate, and decimal formatting configuration.

The Currency ID is a required field for this endpoint. For reference information about currency fields, see the Zoho Expense Currencies API documentation.

List Currencies

Retrieves a list of all currencies configured in your Zoho Expense organization. Use this endpoint to export your full currency list for financial reporting, multi-currency reconciliation, or synchronization with external accounting systems.

  • This endpoint requires no additional configuration parameters. It automatically retrieves all currencies configured in the organization associated with your Zoho Expense credential.
  • The response returns an array of currency objects, each containing the currency ID, currency code, symbol, and exchange rate. Each element in the returned array is treated as a separate record in the Nexset produced by this source.

For complete details about currency fields and their definitions, see the Zoho Expense Currencies API documentation.

Get Tax

Retrieves the details of a specific tax by its unique ID. Use this endpoint when you need to inspect or sync a particular tax configuration, such as its name, rate, or type (simple or compound).

  • Enter the unique identifier of the tax you want to retrieve in the Tax ID field. This ID is assigned by Zoho Expense when a tax is created and can be found by:

    • Using the List Taxes template to retrieve all taxes and their corresponding IDs.
    • Viewing tax settings in the Zoho Expense admin console under Settings > Taxes.
  • The response returns all fields for the specified tax, including the tax name, percentage rate, and whether it is a simple or compound tax.

The Tax ID is a required field for this endpoint. For reference information about tax fields and their definitions, see the Zoho Expense Taxes API documentation.

List Taxes

Retrieves a list of all taxes configured in your Zoho Expense organization. Use this endpoint to export tax configurations for compliance reporting, accounting system synchronization, or auditing expense data with proper tax breakdowns.

  • This endpoint requires no additional configuration parameters. It automatically retrieves all taxes configured in the organization associated with your Zoho Expense credential.
  • The response returns an array of tax objects, each containing the tax ID, name, and percentage rate. Each element in the returned array is treated as a separate record in the Nexset produced by this source.

For complete details about tax fields and their definitions, see the Zoho Expense Taxes API documentation.

Get Tax Group

Retrieves the details of a specific tax group by its unique ID. Tax groups in Zoho Expense allow you to bundle multiple individual taxes together and apply them as a single composite tax. Use this endpoint when you need to inspect the configuration of a specific tax group, including the individual taxes it contains.

  • Enter the unique identifier of the tax group you want to retrieve in the Tax Group ID field. This ID is assigned by Zoho Expense when a tax group is created and can be found by:

    • Viewing tax group settings in the Zoho Expense admin console under Settings > Taxes > Tax Groups.
    • Referencing tax group IDs returned when listing expense data that includes tax group associations.
  • The response returns all fields for the specified tax group, including the group name, total combined rate, and the list of individual taxes included in the group.

Tax groups are distinct from individual taxes. For complete details about tax group fields and their definitions, see the Zoho Expense Tax Groups API documentation.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Zoho Expense data sources can be manually configured to ingest data from any valid Zoho Expense API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex Zoho Expense sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom request parameters.

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Zoho Expense API from the Method pulldown menu. The most common methods are:

    • GET: For retrieving data from the API (most Zoho Expense read operations use GET)
    • POST: For sending data to the API or triggering actions
    • PUT: For updating existing data
    • DELETE: For removing data

API Endpoint URL

  1. Enter the URL of the Zoho Expense API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the base URL for your region and any required path parameters.

    The base URL format for Zoho Expense endpoints is: https://expense.zoho.com/api/v1/{'{endpoint_path}'} (replace with your regional base URL as appropriate).

    For example:

    • List all expense categories: https://expense.zoho.com/api/v1/expensecategories
    • List all currencies: https://expense.zoho.com/api/v1/settings/currencies
    • List all taxes: https://expense.zoho.com/api/v1/settings/taxes

Ensure the API endpoint URL uses the correct base URL for your Zoho data center region. Refer to the Authorization guide for the complete list of regional base URLs, and the Zoho Expense API documentation for the full endpoint reference.

Date/Time Macros (API URL)

Optional

Optionally, the API URL can be customized using macros—all macros added to the API URL will be converted into values when Nexla executes the API call. Macros are dynamic placeholders that allow you to create flexible API endpoints that can adapt to different time periods or data requirements.

Macros are particularly useful for Zoho Expense endpoints that accept date range filter parameters, allowing you to automatically scope data retrieval to a rolling time window without manual updates.

  1. To add a macro, type { at the appropriate position in the API URL (within the Set API URL field), and select the desired macro from the dropdown list.

    • {now} – The current datetime
    • {now-1} – The datetime one time unit before the current datetime
    • {now+1} – The datetime one time unit after the current datetime
    • custom – Datetime macros can reference any number of time units before or after the current datetime—for example, enter (now-4) to indicate the datetime four time units before the current datetime
  2. Select the format that will be applied to datetime macros from the Date Format for Date/Time Macro pulldown menu. This format will be applied to the base datetime value of the macro—i.e., the value of {now} in {now-1}. The Zoho Expense API typically expects dates in yyyy-MM-dd format.

  3. Select the datetime unit that will be used to perform mathematical operations in the included macro(s) from the Time Unit for Operations pulldown menu—for example, for the macro {now-1}, when Day is selected, {now-1} will be converted to the datetime one day before the current datetime.

Lookup-Based Macros (API URL)

Optional

Column values from existing lookups can also be included as macros in the API URL. Lookup-based macros allow you to reference data from previously configured data sources or lookups, enabling dynamic API endpoints that can adapt based on existing data.

Lookup-based macros are useful when you need to create Zoho Expense API endpoints that reference specific IDs—such as Organization IDs, Category IDs, or Tax IDs—from other data sources in your Nexla environment.

  1. To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.

  2. Type { at the appropriate position in the API URL, and select the lookup column-based macro from the dropdown list. Lookup-based macros are automatically populated into the macro list when a lookup is selected in the Add Lookups to Supported Macros pulldown menu.

Path to Data

Optional

If only a subset of the data that will be returned by the API endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response.

For example, when fetching a list of expense categories, the Zoho Expense API returns a JSON response with an expenseCategories array along with status metadata. By entering the path to the relevant array, you can configure Nexla to treat each element of the returned array as a separate record.

Path to Data is essential when Zoho Expense API responses have nested structures. Common response data paths for Zoho Expense include $.expenseCategories[*], $.currencies[*], $.taxes[*], and $.organizations[*].

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.

    • For responses in JSON format, enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (e.g., $.expenseCategories[*] to access the array of expense categories).
    Path to Data Example:

    If the Zoho Expense API response includes a top-level array named expenseCategories that contains the relevant data, the path to the response would be entered as $.expenseCategories[*].

Autogenerate Path Suggestions

Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.

  • To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content & format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.

  • Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.

    PathSuggestions.png

Metadata

If metadata is included in the response but is located outside of the defined path to relevant data, you can configure Nexla to include this data as common metadata in each record.

For example, when fetching a list of expense categories, the Zoho Expense API response includes status information (code, message) at the top level, alongside the expenseCategories array. If you've specified the path to the category data, you can also capture the response status metadata to include with each record.

Metadata paths are particularly useful for preserving Zoho Expense API response context like status codes, message strings, or request-level information that applies to all records in the response.

  • To specify the location of metadata that should be included with each record, enter the path to the relevant metadata in the Path to Metadata in Response field.

    • For responses in JSON format, enter the JSON path to the object or array that contains the metadata.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    You do not need to include the X-com-zoho-expense-organizationid header or the Authorization header here—these are automatically handled by Nexla based on your Zoho Expense credential configuration.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new Zoho Expense data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.