Hello everyone,
We are thrilled to announce the public release of CPQ (Configure, Price, Quote) for Zoho CRM, which is a fundamental block in sales management.

NOTE: CPQ was a public early access feature from March 2023 — January 2024.
Since February 2024, this is a public feature.
What is CPQ?
CPQ stands for Configure, Price, Quote. In simple words, CPQ is a software application designed to enable sales teams to create bespoke, accurate quotes for their customers, efficiently and quickly. CPQ is especially valuable when you have multiple product lines or service categories which involve dynamic pricing.
Why CPQ?
One of the biggest challenges sales teams face while navigating a sales process is the awfully long sales cycles for a specific deal. Now there could be many reasons for this length— the high value of the products could genuinely need that time. Or there are several stakeholders in the decision-making process, so that could consume a good amount of time. In such cases, having done their best, sales teams probably have to wait. But if the delays are attributed to delays or inefficiency with internal processes, then it is completely in the organization's control to identify and improve those systems.
Quote management is one such area where there could be undue delays due to which the sales process can take longer, or at times be unsuccessful. When you spend a lot of time and energy nurturing leads and converting them to opportunities, you need to ensure that when you reach a negotiation stage, the relevant quotes are also accurately drafted in a timely manner and sent for review, to close the deal promptly. Delays or inefficiency here could potentially cost you the entire deal.
Depending on the organization's processes, product lines, and pricing models, this stage can be very challenging and even complicated for some sales teams.
Consider cases of products sold along with specific accessories for free. Or the case of annual discounts and special offers. Every time a salesperson drafts a quote, they need to check the latest applicable offers, discounts, product combinations, and create an accurate quote for the customer, who is by the way still waiting for the quote after their deal was confirmed. In this process, manual error, red tape in processes, and lack of knowledge transfer within sales teams regarding updated prices and products could lead to serious delays in sales quotes and also make them inaccurate. As a result, the customers get frustrated, and this in turn prolongs your sales cycle.
In order to help this scenario, you need an effective CPQ engine, in other words, a solution called Configure, Price, Quote, in order to help you with bespoke quote management.
We are happy to announce the public release our own in-built CPQ system for CRM. With CPQ's line item automation, you can create timely, accurate quotes effectively. You can also upsell and cross sell with automated product suggestions in the CPQ engine and have all these data and possibilities inside your CRM system, contextually
Following are the rich feature sets of CPQ for Zoho CRM.
- Configure the auto-addition of associated products in a quote upon the selection of a primary product.
You can also mark a product as free while doing so.
- Invoke product suggestions to a sales rep while creating a quote for effective upsell/cross-sell.
- Apply direct or volume based list price/discounts on product line items automatically using price rules.
- Auto-update the quantity and price of secondary/associated products based on primary product.
- Build your own interactive product recommendation system using Guided Selling.
- Apply CPQ rules for any custom module or sub-form within a module. In case you are maintaining your quotes in a different module called Estimates, or you also want to apply CPQ for Invoices, you can do so.
Let's understand the capabilities of CPQ for Zoho CRM with the example of Zylker Watch Associates, an organization that sells a range of wall clocks, wrist watches and smart watches.
Product Configurator and Price Rules:
Here is a quick simple example to understand how price rules and product configurator can be applied for Zylker's scenarios.
— When a customer purchases a specific kind of expensive wall clock, a wristwatch set is offered for free.
— Besides, a year-end discount rule based on the purchase date will also apply a 20% discount on the list price of the wall clock.
Dynamic quantity update for automated line items.
When multiple products are sold together, regardless of whether the secondary products are for free or come with a price tag, you need to define how many units of the secondary product need to go with the primary product.
In the case of Zylker Watches, consider the same scenario where a wristwatch set is offered for free upon the purchase of a wall clock. Now what if in a single order, 5 wall clocks are placed? Then, according to this plan, five sets of wrist watches should be added for free.
So the free product's quantity should "dynamically" change in the quote, based on the primary product's quantity. In this case, the formula to calculate the same would be, "Primary product's quantity * 1".
This is also possible in CPQ. You can also specify an absolute number or a dynamic value in the rule.
Building CPQ rules for custom modules and subforms
CPQ's product configurations and price rules can also be created for
custom modules and custom subforms. Assume that Zylker Watch Associates is maintaining their quotes in a custom module called Estimates. Also, consider that in a different scenario, their price quotes are structured to include Primary Product items as the first sub-form and the Accessories as the second sub-form.
With CPQ's extended support for custom modules and sub-forms, they can now dictate automated product addition, suggestion, and price calculations on both these sub-forms in this custom module called Estimates.
Guided Selling
With CPQ's Guided Selling, you can create your own tailored and interactive product recommendations based on the unique needs and preferences of each customer, thereby enabling sales people to choose the most relevant products for them and create accurate, tailor-made quotes instantly.
In the case of Zylker Watch Associates, let's say a customer Leota is on the phone with a sales rep and is looking for a wristwatch for herself. Leota is quizzing the sales rep on the watches available, however the sales rep finds it difficult to narrow down to the particular product that would suit Leota's preferences. In this case, let's see how Guided Selling effectively helps the sales rep with recommendations based on the customer's preferences. Note that you can build this recommendation system yourself for your organization with
CPQ's Guided Selling.
So with CPQ's automated product addition, suggestion, price calculation, dynamic quantity update, guided selling setup, and flexibility to apply all these configurations to any custom module or custom subform, makes your quote management process greatly efficient and in turn accelerates your sales cycle and processes.
Roadmap:
We are constantly working on building the CPQ capability in Zoho CRM in order to maximize your experience. Here are a couple of key improvements that are on our roadmap for CPQ.
- Sandbox support — You will be able to setup product configurations and price rules in Sandbox before deploying them to the production environment.
Tentative ETA: End of Q2-2024 - You will also be able to build Guided Selling for custom modules aside from Quotes.
Tentative ETA: Q3-2024
To learn more, visit the following documents on CPQ:
Recent Topics
Zoho sign and creator error message {"code":9043,"error_param":"Checked by","message":"Extra key found","status":"failure"}
Good day, I receive the error message: {"code":9043,"error_param":"Checked by","message":"Extra key found","status":"failure"} when running below code from creator to sign, void TestForSign(int ID) { //Fetch Template Details (Optional, for dynamic mapping)
Download a writer template as .docx instead of .pdf.
I have been trying to implement a feature to download a writer template as a .docx and got it working partly but it isn't good. Earlier I checked our code and I saw openurl("https://crm.zoho.com/crm/org121314/specific/Template.do?action=print&step=pdfPreview&id="
Allow the usage of Multi-Select fields as the primary field on "Layout Rules"
We want to force our users to enter some explanation strings when a multi-select field has been utilized. I can't understand the reason for the usage restriction of Multi-Select fields as a primary field. This is a simple "Display hidden mandatory field
Extract Archived Projects using Zoho Projects API
In my organization we archive the projects when they are already completed, charged, invoiced, so that only those that are still pending process remain active. I need to access all projects (active and archived) from an external system, but the API v3
Ask the Experts: Five-hour live Q&A session with Zoho WorkDrive product experts
Have questions about WorkDrive 5.0? Let’s talk! We recently launched Zoho WorkDrive 5.0, packed with powerful updates to help your team work smarter, stay secure, and get more value from your business content. From content-centric workflows and AI-powered
File upload support for subforms
Dear All, Subforms help you add and track data related to your CRM records. We've always supported most of the commonly used field types in subforms, so as to cater to your business requirements. Now we're happy to extend support to file upload fields.
Circular record relationship in CRM
Given there is a lookup in custom module Transactions creating a related list on the chosen Contact record. I. e. a lookup field on Transactions module points to Contacts. The related list on a Contact record can thus have have many transaction records.
Is it possible to pull the Zoho desk data into Zoho analytics in real time
Hi - I am looking to add more dashboards and reports of Zoho Desk in analytics. I see there is a schedule to pull the data into analytics, but I'm wondering if there is an option to pull the data in real time instead of a specific interval?
Enhance productivity with the revamped Zoho Sheet View
Hello folks, For some time now, you've been able to use the Zoho Sheet View to quickly edit multiple records or to insert a batch of new records. Its tabular interface allows users to engage in these tasks productively. Despite this, the existing Sheet
How to set value of dropdown field to variable
For the life of me, I can't figure out why the following code won't set input.status to the previousSelection. Steps to reproduce: 1. Click input.complete 2. input.status dropdown updates from '1-Backlog' to '4-Done' 3. Click input.complete again to deselect
[Product Update] TimeSheets module is now renamed as Time Logs in Zoho Projects.
Dear Zoho Analytics customers, As part of the ongoing enhancements in Zoho Projects, the Timesheets module has been renamed to Time Logs. However, the module name will continue to be displayed as Timesheets in Zoho Analytics until the relevant APIs are
[WEBINAR][MEA] Learn how to control your inventory and multi-channel sales with the Zoho Inventory & Zoho Books integration
Hello there, We are hosting an exclusive live webinar tailored for businesses across the Middle East and African countries, where you'll learn how to take full control of your inventory and multi-channel sales while keeping your accounting perfectly in
Less clicks, more connection – the usability edge of Zoho Desk
Imagine joining a new workplace, eager to prove your skills, partner with peers, learn new tools, and build a strong foundation for your career. The standards you've set could drive pressure into your head. You now discover the organization is using Zoho
Tip #3 Automating total item weight calculation for your sales orders in Zoho Inventory
Hello, Hope the day is treating you well. Last week, we saw how we could automate the calculation of total shipping charges from numerous shipments for your sales orders and invoices. This week, we will see how you can automate the calculation of total item weight for your sales orders. How does this work? First, you are required to capture the weight of all your items using a custom field. And when you create a sales order, you can either have the system display the individual weights for you or
Why Format section gets disabled when we create Merge Template over PDF
I need some assistance I have a Client who is going to give certificates to users who passes his exam. So, I am using mail merge but in ZOHO writer after I upload the PDF and create merge Template over PDF the format Section gets disabled. My problem
Whatsapp Integration on Zoho Campaign
Team: Can the messages from Zoho Campaign delivered through Whatsapp... now customers no longer are active on email, but the entire campaign module is email based.... when will it be available on whatsapp.... are there any thirdparty providers who can
How to calculate separate totals for Product Line Items filtered by category in Quotes?
Hello! I'm working with Quotes in Zoho CRM and need help calculating conditional totals for line items. Current setup: I have two tables in my Quote template (Zoho Writer), both displaying Quoted Line Items Table 1 (top): Shows all products where Product
I Need Help Verifying Ownership of My Zoho Help Desk on Google Search Console
I added my Zoho desk portal to Google Search Console, but since i do not have access to the html code of my theme, i could not verify ownership of my portal on Google search console. I want you to help me place the html code given to me from Google search
Zoho Desk API Documentation missing a required field
We are trying to create a section using this information. Even after preparing everything based on that page, we still get an error. The error we get is this: {"errorCode":"INVALID_DATA","message":"The data is invalid due to validation restrictions","errors":[{"fieldName":"/translations","errorType":"missing","errorMessage":""}]}
Fetch Subform values through a lookup of a lookup
Hi, I'm having an issue fetching the values of a subform through a lookup field through another lookup field. The code works perfectly to show me the subform row ID, but the second I try to get any readable data, it says "Error occurred. Please contact
Turn Decision Box to a button
Dear all, I need your help on CSS to turn a Decision Box to a Button. I have a Decision Box like: Turn on/off to refresh the information. (on User Input, either True or False, will refresh the information) Now I want to simulate to treat it like a Refresh
Emails not being received from a particular domain
Cannot receive any emails sent from atco.com Domain is in the spam whitelist so should be no reason for it not to be coming through. Have filed a ticket and besides a generic response of we are looking at it - it seems there is no actual support workers
Stock Count
The stock count is a nice new feature, but we cannot figure out how to: 1. Use it without assigning to a person, we have a team or one of multiple do stock counts as do most any company. 2. Add any extra fields to what the "counter" sees. The most important
Can you import projects into Zoho Projects yet?
I see some very old posts asking about importing project records into Zoho Projects. But I can't find anything up to date about the topic. Has this functionality been added? Importing tasks is helpful. But we do have a project where importing projects
How to delete attachments form Zoho mail accounts
I can't find a way to delete attachments from Zoho mail messages, either individually or in bulk. Searches here are providing conflicting results and often talk about workspace, whereas I am only interested in how to delete attachments that are seen with
Send Whatsapp message from Whatsapp template with custom variables
Hi, I'm trying to do some basic integration for sending WhatsApp messages from Zoho CRM using Zoho Desk whatsapp templates. When creating new whatsapp template in Zoho Desk we can choose ticket related fields as variables but it's not clear how to use
Outgoing blocked: Unusual activity detected.
I just made payment for my Zohomail Today and have been debited so i will like to be Unblocked because this is what it says (Outgoing blocked: Unusual activity detected) Thank you i await your swift responses
Integrating with My Own Application and ZOHO CRM Simultaneously
I have my own WhatsApp bot that uses my WhatsApp business account. I want to use the same phone number to integrate with ZOHO as well. What is the recommended way to do that? Should I integrate my application with ZOHO, forwarding messages whenever the
How do i move multiple tickets to a different department?
Hello, i have several tickets that have been assigned to the wrong department. I am talking about hundreds of automatically generated ones that come from a separate system. How can i select them all at once to move them to another department in one go? I can select them in "unsassigned open tickets view" but i can't find a "move to another department" option. I also can't seem to assign multiple tickets to the same agent in that same view. Could somebody advice?
Transferring CRM Attachments to Workdrive
relatedrecords = zoho.crm.getRelatedRecords("Attachments","Conditions",conId); attachid = List(); for each ele in relatedrecords { attachementId = ele.get("id"); attachid.add(attachementId); } for each ele in attachid { counter = 1; downloadFile = invokeurl [ url: "https://www.zohoapis.com/crm/v2/Conditions/" + conId + "/Attachments/" + ele type: GET connection : "work_drive" ]; resp2 = zoho.crm.attachFile("Deals",dealId,downloadFile); resp3 = zoho.workdrive.uploadFile(downloadFile, dealWD, "PlaceHolder"+counter+"",
New Customization options in the module builder: Quick Create and Detail view
Hello everyone, We have introduced two new components to the module builder: Quick create and Detail view. The Quick Create Component It is a mini form used to create a record and associate it to the parent record from a lookup field. For example, if you have a Deals lookup in the Contacts module, then you can associate existing deals or create a deal and associate it with the contact. You can customize this Quick Create form by adding standard as well as custom fields. There is no limit to the number
unblock my zoho mail account. outlines@zoho.com
please unblock my zoho mail account, outlines@zoho.com
SMTP email sending problem
Hello, I've sent emails before, but you haven't responded. Please respond. My work is being disrupted. I can't send emails via SMTP. Initially, there were no problems, but now I'm constantly receiving 550 bounce errors. I can't use the service I paid
Mailk got blocked / Inquiry About Email Sending Limits and Upgrade Options
Dear Zoho Support Team, My name is Kamr Elsayed I created this account to use for applying for vocational training in Germany. As part of this process, I send multiple emails to different companies. However, after sending only 8 emails today, I received
Forwarder
Hi, I tried to add a forwarder from which emails are sent to my main zoho account email . However, it asks me for a code that should be received at the forwarder email, which is still not activated to send to my zoho emial account. So how can I get the
No chat option
Chat option is not supported.
Direct “Add to Google Calendar” Option in Zoho Meeting
Hello Zoho Meeting Team, Hope you are doing well. We would like to request an enhancement related to the “Add to Calendar” functionality in Zoho Meeting. Currently, when we open Zoho Meeting and view our meetings under My Calendar, there is an Add to
Default Tagging on API-generated Transactions
If one assigns tags to an Item or Customer, those tags get auto-populated in each line item of an Invoice or Sales Order when one creates those documents. However, if one creates the Sales Order or Invoice via the API (either directly coding or using
DKIM cannot be enabled for the domain as no verified default selector present
Hi Support Team, For Domain DKIM record trying to enable status. but showing error "DKIM cannot be enabled for the domain as no verified default selector present" So, please resolve the issue. Thank you.
unable to send message reason 554 5.1.8 Email outgoing blocked
unable to send message reason 554 5.1.8 Email outgoing blocked
Next Page