Tips and Tricks #22: How to localize your product prices in Zoho Subscriptions

Tips and Tricks #22: How to localize your product prices in Zoho Subscriptions

Adjusting your products’ pricing based on where your customers are located can help in providing a tailored check-out experience for your customers.

The first step in achieving this is to display your products’ price in your customer's local currency. You can do this easily using Zoho Subscription's automatic exchange rate feeds and API hosted payment pages, that is, the price that you've set for a product will be shown to your customers in their local currency with the latest exchange rates.

However, to truly localize your prices, you will want to set country-specific rates for your products. That's what we will look into in this week's post. 


This post is part of a series of tips and tricks for Zoho Subscriptions. Go ahead and check out our previous post about using custom schedulers, in case you missed it.


How will this help your business?

Having country-specific rates for your products can help you win over more customers by appealing to their price sensitivity, since every country has its own purchasing power. You can even price your products a little higher in some countries depending on the demand and market saturation of your product.
Pricing is a delicate game, but if done correctly, it can lead to a substantial increase in your revenue.

A few points to note about setting the right prices for your product:
 
  • Understanding the local market condition is critical. If possible, try to perform localized pricing studies to know how much a potential customer is willing to pay for your product.
  • It's always a good idea to take your competitor's pricing into consideration before deciding your own product prices.
  • Ensure that your country-specific prices are displayed on your website and on any other medium where you showcase product prices to your customers. 
How does it work?

We'll use our powerful Pricebooks API to handle this. It lets you set different plan prices for every currency and applies them when a customer with any of these currencies buys a subscription. 
Note: The country-specific prices which you set for your plans will be applied only on API Hosted Payment Pages. Also, they will not be visible within Zoho Subscriptions' web or mobile apps and are API-only, i.e. they will not be applicable for non-API hosted payment pages, for now at least.

How do you set it up?

Prerequisite: A REST API client, such as Postman, to make and receive API calls.

Once you've decided your country-specific prices, it's time to start creating Pricebooks.

A Pricebook will contain information about a plan's pricing for a particular currency. Pricebooks can contain only one currency. For example, if your base currency is USD and if you sell in both Australia (AUD) and Canada (CAD), you'll have to create two separate Pricebooks for each currency.

Note: The domain (".com") of the API endpoints mentioned in the section may have to be changed, depending on which data center you're accessing Zoho Subscriptions from. Learn more.

You can specify the currency of a Pricebook using the currency's ID. To obtain a list of all currency IDs in your Zoho Subscriptions organization, make a GET call to the following API endpoint:


Next, you will have to create the Pricebook. Here's how: 

JSON body for this request:
  1.  {
  2.    "name":"PB 1",
  3.    "description":"Pricebook 1",
  4.    "currency_id":"{{currency_id}}",
  5.    "type":2
  6.  } 
Replace the highlighted parts with your actual values in the JSON body. The "type":2 key-value pair should remain the same for every Pricebook that you create.

You'll receive a Pricebook ID in response to this POST call. Copy this ID to your clipboard, as you'll need it for the next step.

Now, your Pricebook has been created with the currency and all that's left is to fill it up with your plans and their prices. You can do this by downloading this sample CSV file and replacing the dummy values for the Plan Code, Pricebook Name and Price with the actual values from your organization. Once you've made these changes to the CSV file, update it in your Pricebook. To do this, import the file into your REST API client and make a POST call to the following endpoint:

https://subscriptions.zoho.com/api/v1/import/uploadfile

Refer this image while uploading the CSV file from your API client

You'll receive an Import ID in the response of this call, which you'll need later. 

The last step to import your CSV file requires a PUT request to the following endpoint:


Note: Replace the highlighted part of this endpoint with the Import ID from the previous step.

You're all set! Your Pricebook has been configured and you can now use it generate hosted payment pages via the API by passing the pricebook_id node in the JSON. You can also pass this node while creating a customer via API. For such customers, Pricebooks will be applied on API-based hosted payment pages without needing to pass the pricebook_id node.

Note: If you want to change the prices in a Pricebook, you need to create a new Pricebook with the updated prices and use the new Pricebook's ID.

We've taken this a step further to make this whole process easier for you by creating a Postman Collection with all the API calls mentioned above. With this, all you have to do is configure Postman for Zoho Subscriptions and import the CSV file as mentioned above.

Try it out and let us know how this helped your business. Feel free to write to us at support@zohosubscriptions.com or simply leave a comment below if you need any help in regard to this tip.

Cheers,
Varun Steven
The Zoho Subscriptions Team


      • Sticky Posts

      • Tip #4 : Refer and Earn Workflow system for your Subscription Business

        Hello everyone, We've been coming up with a tip every week to address specific business scenarios which can be implemented for your business. In continuation to the previous post, this week we will be seeing about how you can implement the Refer and Earn Workflow system to acquire more customers. Why are Referrals important? Customer Acquisition is crucial for any business to sustain itself in a constantly evolving market. It involves persuading new consumers to purchase your products. Customers
      • Tip #2 - Cancellation of Offline Subscriptions based on the Expected Payment Date

        Hello everyone, As you all know, we are coming up with a custom function workflow every week to address specific business scenarios. In continuation of this previous blog, this week we will be seeing about Cancellation of Offline Subscriptions based on the Expected Payment Date. Business Scenario: In general, for any business, the customers make payments via online as well as offline. In case of subscription where the automatic collection of charge is enabled (aka online subscription), the customer's
      • Tip #3 : Send SMS Reminders for your Subscription Business

        Hello everyone, As you all know, we are coming up with a tip every week to address specific business scenarios. In continuation to the previous blog, this week we will be seeing how you can use SMS reminders for your Subscription Business. Using SMS messages for your Subscription Business: While managing your subscription business, more often than not, you need to keep your customers informed about upcoming renewals, payment reminders and cancellations. By keeping them informed in advance, you can
      • Tips And Tricks - Announcement

        Hello everyone, Every business is unique and each of them follows a specific workflow. While managing your customers' subscriptions with Zoho, you might have some needs unique to your business. Custom Functions helps you address such needs. This is a start to a series of posts, where we will be coming up with a custom function workflow every week that addresses specific business scenarios. Watch this space for further updates! Also, if you have any specific business scenario which needs to be addressed,
      • Tip #6 : Accessing external URLs from Zoho Subscriptions

        Hello everyone, We have been sharing a tip every week to address specific business scenarios which you can implement for your subscription business. Last week, we shared a tip about implementing the Approval Workflow system. This week, let's look at how you can access external URLs with the help of Custom Link. Business Scenario: Every business functions differently and has its unique requirements. At times, businesses might want to access other websites or applications by appending specific information

        • Recent Topics

        • Integrate zoom with zoho bookings please; or add optional times in zoho meetings

          Just like events - these online meetings like zoom need to be integrated with zoho bookings, and there needs to be option for customer to book a time slot. It should not be dictated by CRM user.
        • Add Owner to deluge-created module record note

          Is it possible to include the "owner" aka "creator", of a Note when creating it via delulge? This sets "superadmin" as the Note creator. I need to override it. notemap = Map(); notemap.put("Parent_Id",program_contact_id); notemap.put("Note_Content",program_contact_data.get('Note'));
        • Directly Edit, Filter, and Sort Subforms on the Details Page

          Hello everyone, As you know, subforms allow you to associate multiple line items with a single record, greatly enhancing your data organization. For example, a sales order subform neatly lists all products, their quantities, amounts, and other relevant
        • Unique and Random IDs in Zoho Forms: Organize and Secure Your Data Efficiently

          When it comes to form submissions, organizing and identifying entries effectively is crucial. Zoho Forms offers two versatile ID generation options for submissions: Unique ID and Random ID. Each serves distinct purposes, providing flexibility to meet
        • Sort By Date - Deluge

          I have the following code, which normally works to sort calls by created time. Every once in a while, it doesn't work and something sneaks through in the wrong order and I can't figure out why. calls = zoho.crm.searchRecords("Calls","(Owner:equals:" +
        • Iteration through a list - Coming up against a "Failure to update function" error

          Hi there! I've been attempting to get a deluge script working and am running into an error that I have been unable to resolve. The error I am getting is Failed to update function Error at line :18. Improper Statement. Error might be due to missing ';'
        • Can you modify "Last Activity Time" in deluge? If so what's the field name?

          I need to perform some bulk modifications on records in the Leads module, but I need to avoid changing the "last activity time" or "date modified" because I am using those fields to filter and sort leads for follow-up action. I cannot find an answer anywhere
        • How do I define a weekend

          I noticed the default for weekends does not seem to include Saturdays. How can i define weekends to include both Saturdays and Sundays? Thank you.
        • 【Zoho CRM】ポータル機能のアップデート

          ユーザーの皆さま、こんにちは。コミュニティチームの藤澤です。 今回は「Zoho CRM アップデート情報」の中からポータル機能のアップデートをご紹介します。 今回の機能アップデートにより、CRMのポータルへのログインがより簡単にできるようになりました。 【目次】 SAMLベースのシングルサインオンについて ポータルへのアクセスリンク送付について 今回のアップデートにより、アイデンティティプロバイダー(IdP)を利用している組織において、SAMLベースのSSO(シングルサインオン)を有効化できるようになりました!
        • Getting error during inserting a record in form of zoho people using zoho api

          import requests import json # Set your access token and Zoho People API base URL access_token = '1000.XXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX' api_base_url = 'https://people.zoho.in/people/api/' # Set the form name and data to be inserted form_link_name
        • UI Arabic

          can i change the member portal UI to arabic in zoho community?
        • Resume template to include profile photo

          Hi, We would love the Resume Template to be able to include their profile photo. How can this be done? Miriam
        • Marking a form as 'done'?

          Hi! I've got a form that staff fill in when moving stock from location to location. I see the entries they've sent across and I input them into my stock control system. Is there a way to mark a form as 'done'? So that I know which entries I've input,
        • Zoho CRM - best way to search an account and assign to a deal

          Hi Everyone I am looking for some advice. I want to find the best way to complete the below steps. We have a deal and once it reaches a certain stage we need to allocate a supplier / vendor to this deal along with the salesperson. I want to add (ideally
        • How to easy change layout in existing records in Deals?

          Hello, So far i have used only 1 layout in Deals. I have about 1000 records. Now i want to make new layout. So i have 2 layouts: Layout Old (1000 records) Layout New (0 records) How to easy change layout from Layout Old into Layout New for existing records?
        • Zoho Rating

          When I close a ticket, the zoho system automatically sends an email to the customer for them to leave a rating. When they leave a rating, the ticket re-opens and I have to close it again. When I close it again, the zoho system sends the customer an email
        • Zoho GC Flow is not showing in IM Channels

          I have added my social IM channels in zoho desk. Created a GC Flow to automate conversations. But Guided conversations are not showing in any platforms I have chosen; WhatsApp Instagram Messenger Web (Business Messaging) In the flow I mentioned these
        • Sharing Knowledge Base articles across multiple departments

          It would be useful to share some Knowledge Base articles across multiple departments where they are applicable, rather than having to go into other departments to find the article you're looking for. For example. Our reception uses the 'Admin' desk whereas our IT guys use the 'Support' desk, however both divisions would find KB articles about our company intranet useful. Reception does not have access to the support desk, so cannot see articles created in the Support KB. Perhaps you could install
        • Contacts marked as Spam are shown as Contacts in tickets.

          Hi Zoho, If a ticket is marked manually as Spam you get an option to set the contact as Spam as well. It would be great if there was another option to delete this Contact. This would be based on the understanding that it wouldn't be marked automatically
        • Is possible to use ${webhookTrigger.payload.street==null?"No street":${webhookTrigger.payload.street}} for to detect inline a null parameter

          Hi Team I need to know if it's possible to evaluate inline the following parameter, with the objetive to detect a null value ? I would like to use ${webhookTrigger.payload.street==null?"No street":${webhookTrigger.payload.street}} Regards, Pablo
        • Real Estate CRM

          How can I tailor my CRM for real estate? I had seen an image where the CRM included property tabs.
        • Issue with Bulk Edit Triggering Function Multiple Times in Zoho Report

          In our Zoho report, we have observed an issue where executing a function during a bulk edit operation runs the function multiple times—once for each selected report entry. This behavior is causing errors due to overlapping or redundant executions. Our
        • Is there a Kanban view of Tasks across all Projects?

          As the title indicates, I could use a Kanban view of my Tasks across my Projects. If it's there, I don't see it. If it isn't there, I'd like to submit this as a feature request. Thx.
        • Set recurring tasks in Zoho Support?

          Hello,   We use the task function in Zoho Support to set reminders for "due dates" of important events, such as lease expirations, etc. Is it possible to set some of these as recurring yearly? As of now, we have to reset every task manually after one year. Is there a way to have it reset automatically?   Additionally, is there a way to import a list of tasks and their dates into Zoho Calendar? I have not been able to do it from Zoho Support to Calendar. I tried exporting tasks from Zoho Support,
        • Help - How Can I Enter a Hourly Rate (Global Cost) for our Team for Profitability Reporting?

          Hi everyone, I'm hoping someone can help as I am at a loss and am quite shocked (if true) at the lack of functionality in Zoho Books. We run a company in which we do hourly jobs for clients and we bill based on the hours of work completed. Projects are
        • Schedule a regular backup

          In CRM I have a regular backup setup. I cannot find an option to backup Desk? I would like to take a backup before I test syncing products between CMR and Desk.
        • Limit who can submit a support ticket to your site?

          Does anyone have a use case for needing to limit who can submit tickets via your help portal? Some of our customers want to have end-users view our knowledge base articles and see tickets their IT groups have submitted but they do not want end-users to
        • Is there a way to request a password?

          We add customers info into the vaults and I wanted to see if we could do some sort of "file request" like how dropbox offers with files. It would be awesome if a customer could go to a link and input a "title, username, password, url" all securely and it then shows up in our team vault or something. Not sure if that is safe, but it's the best I can think of to be semi scalable and obviously better than sending emails. I am open to another idea, just thought this would be a great feature.  Thanks,
        • Allow us to disable the Reopen Ticket button after a ticket is closed

          Disabling the Reopen Ticket will allow us to have more control over the ticket's flow. According to support, this is currently not possible. Please add this to let us, the customers, mold the ticketing system into something that we can use for our business
        • How to Enforce Mandatory Fields (Category/Sub-category) Before Closing a Ticket?

          Hi, I'm currently using Zoho Desk and encountering an issue where agents are able to close tickets without filling out mandatory fields, specifically Category and Sub-category. I’ve already set them both as a mandatory field, but it can still be bypassed
        • Admin Control for Default Email Templates in Zoho Desk

          Hi Zoho Desk Team, We would like to request a feature enhancement related to default email templates. Currently, agents can select and set their own default email templates when replying to tickets. However, we believe this setting should be managed centrally
        • Lock out of account after password update

          This is a bit of a catch 22 situation. I updated my account password using password generator in ZohoValut. Now I am locked out of everything, as I cannot get into OneAuth for 2FA, as the password is randomly generated, without getting into ZohoValut,
        • Guidance on Making Zoho Desk Connections Available for All Data Centers

          Hi Team, I’m currently developing an application using Zoho Desk connections to manage OAuth for my third-party products. Could you please advise on the steps required to make it available across all data centers? Looking forward to your thoughts on
        • Multibrand Help Center - Share knowledge base catgories between multiple departments

          Hello, I would like to know if it is possible to share categories between multiple departments when the multi brand feature is enabled. So that then one portal exists per department, but certain categories are visible in multiple portals. After all, we
        • Unable to upload document error on zoho sign

          i am creating a document using laravel php and here is my code and i get this reponse {"code":2005,"message":"Unable to upload the document","status":"failure"} $path = storage_path($file); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://sign.zoho.com/api/v1/requests');
        • Cloud to cloud folder migration from Sharepoint to Workdrive

          I am aware of OneDrive migration: https://help.zoho.com/portal/en/kb/workdrive/migrations/microsoft/articles/migrate-from-onedrive-to-zoho-workdrive#Whats_migrated would this cover a Sharepoint migration meaning I can move a whole Sharepoint (team) folder
        • Zoho Sign / Prefill By You - Editable by Them!

          Zoho Sign seems to have two field options available - an empty field for signer(s) to complete or a field that has been prefilled by you, that becomes read only once sent.  What I would like is an option on the pre-filled by you fields, to leave them
        • How to sort a data in summary report with Monthly ?

          Hi Team, Can any one help me out how to sort a data based on monthly, Month was shuffled based on aliphatic order. i want to sort the below data monthy?
        • Kiosk Studio wrap-up | How our community used kiosks in 2024

          Hello, everyone! Happy new year! The end of 2024 has been busy, and 2025 promises to be bigger and better. As we ring in the new year, let's rewind and look at Kiosk Studio, our no-code customization tool. The past 300 days have seen the CRM community
        • Zoho Crm - Inventory Integration

          Hello, I need help about Map Fields between CRM and Inventory. For Example, I can't match amount of stock between these 2. I can put opening stock number  in Inventory but I can't see it on CRM. Also I want to see categories and parent categories on Inventory, in CRM too. Best Regards.
        • Next Page