> ## Documentation Index
> Fetch the complete documentation index at: https://nango.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Zoho Invoice

> Access the Zoho Invoice API in 2 minutes 💨

<Tabs>
  <Tab title="🚀 Quickstart">
    <Steps>
      <Step title="Create an integration">
        In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> *Configure New Integration* -> *Zoho*.
      </Step>

      <Step title="Authorize Zoho Invoice">
        Go to [Connections](https://app.nango.dev/dev/connections) -> *Add Test Connection* -> *Authorize*, then log in to Zoho Invoice. Later, you'll let your users do the same directly from your app.
      </Step>

      <Step title="Call the Zoho Invoice API">
        Let's make your first request to the Zoho Invoice API (fetch a list of users in the organization). Replace the placeholders below with your [secret key](https://app.nango.dev/dev/environment-settings), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):

        <Tabs>
          <Tab title="cURL">
            ```bash theme={null}
            curl "https://api.nango.dev/proxy/invoice/v3/users?per_page=10" \
              -H "Authorization: Bearer <NANGO-SECRET-KEY>" \
              -H "Provider-Config-Key: <INTEGRATION-ID>" \
              -H "Connection-Id: <CONNECTION-ID>"
            ```
          </Tab>

          <Tab title="Node">
            Install Nango's backend SDK with `npm i @nangohq/node`. Then run:

            ```typescript theme={null}
            import { Nango } from '@nangohq/node';

            const nango = new Nango({ secretKey: '<NANGO-SECRET-KEY>' });

            const res = await nango.get({
                endpoint: '/invoice/v3/users',
                providerConfigKey: '<INTEGRATION-ID>',
                params: {
                    per_page: 10
                },
                connectionId: '<CONNECTION-ID>'
            });

            console.log(JSON.stringify(res.data.users, null, 2));
            ```
          </Tab>
        </Tabs>

        Or fetch credentials dynamically via the [Node SDK](/reference/sdks/node#get-a-connection-with-credentials) or [API](/reference/api/connection/get).
      </Step>
    </Steps>

    ✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.

    <Tip>
      Next step: [Embed the auth flow](/guides/primitives/auth) in your app to let your users connect their Zoho Invoice accounts.
    </Tip>
  </Tab>

  <Tab title="🧑‍💻 OAuth app setup">
    <Steps>
      <Step title="Create a Zoho account">
        If you don't already have one, go to [Zoho's signup page](https://www.zoho.com/signup.html) and create one.
      </Step>

      <Step title="Access the Zoho API Console">
        1. Go to the [Zoho API Console](https://api-console.zoho.com/).
        2. Sign in with your Zoho account if prompted.
      </Step>

      <Step title="Create a new client">
        1. In the API Console, click on the **+ ADD CLIENT** button and select **Server-based Applications** as your client type.
        2. Fill in all the required information. For **Authorized Redirect URIs** enter `https://api.nango.dev/oauth/callback`
        3. Click **Create** to register your client. You will then receive a **Client ID** and **Client Secret**, which are required to configure your integration in Nango.
      </Step>

      <Step title="Configure Multi-DC">
        1. On the **Settings** tab, check the option to use the same OAuth credentials for all data centers, this enables you to handle users from different regions
      </Step>

      <Step title="Next">
        Follow the [*Quickstart*](/getting-started/quickstart).
      </Step>
    </Steps>

    ## Common Scopes

    | Scope                            | Description                                                                          |
    | -------------------------------- | ------------------------------------------------------------------------------------ |
    | ZohoInvoice.contacts.ALL         | Full access to contacts.                                                             |
    | ZohoInvoice.settings.ALL         | Full access to settings (items, expense categories, users, taxes, currencies, etc.). |
    | ZohoInvoice.estimates.ALL        | Full access to estimates.                                                            |
    | ZohoInvoice.invoices.ALL         | Full access to invoices.                                                             |
    | ZohoInvoice.customerpayments.ALL | Full access to customer payments.                                                    |
    | ZohoInvoice.creditnotes.ALL      | Full access to credit notes.                                                         |
    | ZohoInvoice.projects.ALL         | Full access to projects.                                                             |
    | ZohoInvoice.expenses.ALL         | Full access to expenses.                                                             |
    | ZohoInvoice.settings.READ        | Read access to settings (users, taxes, currencies, etc.).                            |
  </Tab>

  <Tab title="🔗 Useful links">
    | Topic             | Links                                                                                                  |
    | ----------------- | ------------------------------------------------------------------------------------------------------ |
    | Authorization     | [Guide to connect to Zoho Invoice using Connect UI](/integrations/all/zoho-invoice/connect)            |
    | General           | [Zoho API Console](https://api-console.zoho.com/)                                                      |
    |                   | [Zoho Invoice Website](https://www.zoho.com/invoice/)                                                  |
    | Developer / OAuth | [OAuth 2.0 Overview](https://www.zoho.com/accounts/protocol/oauth.html)                                |
    |                   | [Get Authorization Code](https://www.zoho.com/accounts/protocol/oauth/web-apps/authorization.html)     |
    |                   | [Get Access Token](https://www.zoho.com/accounts/protocol/oauth/web-apps/access-token.html)            |
    |                   | [Refresh Access Token](https://www.zoho.com/accounts/protocol/oauth/web-apps/access-token-expiry.html) |
    |                   | [Multi DC Support](https://www.zoho.com/accounts/protocol/oauth/multi-dc.html)                         |
    |                   | [OAuth Scopes](https://www.zoho.com/invoice/api/v3/oauth/#overview)                                    |
    |                   | [API Limits](https://www.zoho.com/calendar/help/api/api-limits.html)                                   |
    | API               | [Zoho Invoice API docs](https://www.zoho.com/invoice/api/v3/introduction/)                             |

    <Note>Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/zoho-invoice.mdx)</Note>
  </Tab>

  <Tab title="🚨 API gotchas">
    * Zoho uses datacenter-specific URLs for authentication. Make sure to use the correct datacenter domain extension (`com`, `eu`, `in`, `com.cn`, `com.au`) based on where your user's account is registered.
    * For production applications, consider implementing [multi-datacenter support](https://www.zoho.com/accounts/protocol/oauth/multi-dc.html) to handle users from different regions.
    * For specific scopes, refer to the API documentation pages to find the exact scopes needed per API and per method.

    <Note>Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/zoho-invoice.mdx)</Note>
  </Tab>
</Tabs>

<Info>
  Questions? Join us in the [Slack community](https://nango.dev/slack).
</Info>
