Enabling Client Portal Access

Zoho Books API v3: Enabling Client Portal Access

Zoho Books API v3: Enabling Client Portal Access

The Enable Portal Access API allows you to programmatically invite your customers to the Zoho Books Client Portal. This action sends an automated invitation email to the primary contact person associated with the contact, providing them with a secure login to manage their transactions.

At Kalki LLP, we integrate this endpoint into the signup flow of our clients' websites, ensuring that as soon as a customer registers, their access to the financial portal is ready.


1. The Action Request (POST)

To enable the portal, you must perform a POST request to the specialized /portal/enable sub-resource.

Endpoint: POST /contacts/{contact_id}/portal/enable?organization_id={organization_id}

Request Requirements:

  • Method: POST

  • URL: Requires the unique contact_id.

  • Body: This request requires a JSON body containing the contact_persons you wish to enable.


2. API Payload Example (JSON)

You must specify the contact_person_id (the individual) you are granting access to. You can also specify the portal language.

JSON
{
"contact_persons": [
{
"contact_person_id": "460000000026051"
}
]
}

Kalki LLP Pro-Tip: A "Contact" is the company, but only a "Contact Person" (the human) can log in. Ensure you have the correct contact_person_id before calling this API.


3. Implementation in Deluge (Kalki LLP Onboarding Script)

This script is perfect for a "New Customer" workflow. Once the contact is created, this function invites them to the portal automatically.

Code snippet
// IDs for the Contact and Contact Person
contactID = "460000000026049";
personID = "460000000026051";
orgID = "123456789";

// Construct the Payload
payload = Map();
personList = List();
personDetails = Map();
personDetails.put("contact_person_id", personID);
personList.add(personDetails);
payload.put("contact_persons", personList);

// Execute the POST request
response = invokeurl
[
url :"https://www.zohoapis.in/books/v3/contacts/" + contactID + "/portal/enable?organization_id=" + orgID
type :POST
parameters :payload.toString()
connection :"kalki_books_connection"
];

if(response.get("code") == 0)
{
info "Kalki Success: Portal invitation sent to " + personID;
}
else
{
info "Portal Enablement failed: " + response.get("message");
}

4. Error Logs & Troubleshooting

Error CodeMeaningFix for Kalki LLP Developers
2Invalid IDThe contact_id or contact_person_id is incorrect.
57UnauthorizedYour OAuth token lacks the ZohoBooks.contacts.UPDATE scope.
3035Already EnabledThe portal access is already active for this contact person.
1005Missing EmailThe contact person does not have a valid email address associated with their record.

5. Why Automate Portal Access?

For kalkillp.com clients, automating the portal invitation offers several strategic advantages:

  1. Reduced Support Overhead: Customers can download their own tax invoices and payment receipts without calling your accounts team.

  2. Faster Payments: By providing portal access immediately, customers are more likely to use the integrated payment gateways (like Razorpay, Stripe, or PayPal) to settle invoices.

  3. Professionalism: A seamless, automated welcome email with portal credentials creates a high-end "Enterprise" feel for your brand.


Elevate Your Customer Experience with Kalki LLP

Managing thousands of portal invites manually is impossible. Kalki LLP can help you build an automated onboarding engine that syncs your customer data and manages portal permissions across all your Zoho applications.

    • Related Articles

    • Zoho Books vs Tally: Which is Right for Your Business in 2025?

      Overview: Why Compare Zoho Books and Tally in 2025? In 2025, modern businesses are moving fast—and their accounting software needs to keep up. Two widely used solutions in India are Tally and Zoho Books, but they differ significantly in approach, ...
    • Registering Your Application (Client Registration)

      Registering Your Application (Client Registration) Before you can sync data with the Zoho Books API v3, you must introduce your application to Zoho’s authorization server. This process generates the unique credentials (Client ID and Client Secret) ...
    • Refreshing Your Access Token

      Refreshing Your Access Token (Automating the Handshake) An Access Token is like a temporary pass—it expires after one hour. To maintain a continuous connection between your software and Zoho Books without asking the user to log in again, you must use ...
    • Trigger Assignment and Workflow Rules in Zoho CRM via Deluge & API

      How to Trigger Workflow Rules in Zoho CRM Using Deluge When working with Zoho CRM automation, records created, updated, or deleted via Deluge do not trigger workflow or assignment rules automatically. This is expected behavior. Zoho CRM separates ...
    • GST Filing in India

      About Goods and Services Tax(GST) It is a destination based tax on consumption of goods and services. It is proposed to be levied at all stages right from manufacture up to final consumption with credit of taxes paid at previous stages available as ...