SAP CPQ Troubleshooting When Quotes Stop Behaving
We diagnose SAP CPQ problems at the configuration layer, from approval actions that never appear to scripts that quietly time out, and we tell you what is actually broken before anyone rewrites anything.
Most SAP CPQ Issues Are Configuration, Not Defects
Short answer: most SAP CPQ problems reported as bugs turn out to be configuration, permission, or scripting issues inside your own tenant. A missing action button is usually a workflow condition or a permission. A product that will not go onto a quote is usually a required attribute. A slow quote is usually a script or a formula. SAP CPQ troubleshooting is therefore a process of elimination through Setup, the Log, and the Developer Console, in that order, before an incident is ever opened with SAP.
That distinction matters commercially and not only technically. SAP support policy separates product defects from customer specific configuration, and states plainly that assistance with customization of the core product, or with problems caused by customization implemented by customers or partners, sits outside support and inside consulting. If the cause lives in your own rules, scripts, or workflow, an incident will not resolve it.
We work on SAP CPQ and nothing else, and both of our architects started on the original CallidusCloud team that built the product before SAP acquired it. That background is why we read a Developer Console trace as a first step rather than a last resort, and why we can separate a permission problem from a rule loop from a genuine platform limitation. When the answer is the third one, we say so and help you plan around it. For a structured review rather than one urgent symptom, our SAP CPQ health check covers the same ground methodically.
Approval Actions That Never Appear
Submit for Approval is designed to show only when an approval rule is actually violated, and it is normally gated by an APPROVALREQUIRED condition formula on the action. We trace the workflow row it was defined on, the tab it belongs to, and the workflow permissions behind it. That trace is written out step by step on our page about what to check when the approval action is not showing at all. The design side of the same topic sits in our guide to the SAP CPQ approval workflow.
Products Stuck on Incomplete
Incomplete means required attributes have no value, and required container attributes carry their own rule about rows and selector columns. Tracing which attribute is actually empty, and why nothing filled it, is a short sequence of checks set out on our page about a product that stays incomplete in SAP CPQ, from the indicator through to the rule that was meant to supply the value. Whether a user can add the item anyway depends on a single user type setting. Variant configuration products add a second layer, because they have to be configured rather than added directly.
Slow Quotes and Script Timeouts
Slow SAP CPQ is almost always measurable. We split the request in the Developer Console into database time, scripting, formula evaluation, and external API calls, then work on whichever one dominates. Script Performance shows which scripts are approaching their execution limit before users start complaining.
Integration and Document Errors
Integration failures usually resolve to a provider setting, a version prerequisite, or an error code returned by the connected system rather than to SAP CPQ itself. We check the Setup path that applies to your specific scenario, then read the trace with the correct logger filter. The build side of that work sits under our SAP CPQ integration services.
The Four Symptom Groups We See Most Often
An action button is missing. Submit for Approval exists in the standard workflow action list and is only meant to appear when an approval rule is violated, which is why SAP itself recommends putting the APPROVALREQUIRED condition formula on the action. Three other things suppress it silently. The action may not be defined for the exact combination of tab, start status, and end status, and workflow is configured separately for My Quotes, Waiting for approval, and Other Quotes, so an approver can be missing an action the quote owner can see. Users also cannot use any action they lack permission for, which is set under Workflow Permissions. Finally, a condition maintained on a specific workflow row is evaluated instead of the global action condition, so a local rule can quietly override what you believed was configured centrally.
A quote is stuck waiting for approval. Two documented causes account for most of these. If an inactive user is assigned as approver, the quote simply stays in Waiting for Approval with nobody able to move it. And when two approval rules are triggered on one quote with AND logic between them, approving against one of them is not enough to release it. There is also a known product limitation where the Reassign action breaks the approval path, and the documented workaround is for the new owner to retract the quote and resubmit it, a mechanic I go through in more depth, including permissions and the script based path, in a dedicated guide to retracting an approval in SAP CPQ.
A product will not go onto the quote. Incomplete means required attributes have no value, and the incomplete indicator itself can be clicked to list which ones are still pending. Container attributes follow their own rule: a required container needs at least one row, and if it includes a selector column it also needs a selected row. Whether an incomplete item can be added at all is governed by the Allow adding incomplete items setting on the user type, which is also why upgrading a product to a new version can appear to do nothing when that version introduces required attributes. Variant configuration products behave differently again, because they must be configured rather than added directly, and for them the Inconsistent and Incomplete states are not related to each other.
Everything is slow. SAP publishes hard numbers here, which makes this the most diagnosable group of the four. A single line of IronPython is limited to fifty operators. More than ten nested script calls in one request produces an error on newer tenants. Script size is capped at forty thousand characters. Script execution is limited to nine hundred seconds on older tenants and three hundred on newer ones, and Script Workbench cancels at three minutes. SAP also documents that try and except is roughly ten times slower than if and else in this engine, and advises Trace.Write over Log.Write because logging itself adds cost. Read alongside the current SAP CPQ release notes, those limits usually explain the symptom without any guesswork. Where the underlying build is the problem rather than one script, the work belongs in SAP CPQ project rescue instead.
SAP publishes its own SAP CPQ troubleshooting documentation and we use it constantly. What it does not do is tell you which of these four groups your symptom belongs to, and that is where most of the time gets lost.
Where We Look First When SAP CPQ Misbehaves
- Developer Tools, starting with the Log and Most Frequent Errors and Warnings
- Script Performance, to find scripts approaching the execution time limit
- Developer Console, split into database, scripting, formula, and external API time
- Workflow rows and Workflow Permissions behind any action that refuses to appear
- Approval rules, including inactive approvers and AND logic between two rules
- Required attributes, container attribute rules, and the user type setting behind them
- Pricebook and price source settings when products or prices do not show at all
- Provider settings for your specific integration scenario, not a generic path
- Audit Trail, to establish who changed what and when the behaviour actually started
- Release notes and documented limitations, before anyone rewrites working configuration
What Changes After a Structured Troubleshooting Pass
A named cause, not a guess
Every finding is tied to a specific setting, rule, script, or documented limitation, together with the place in Setup where it lives. You get something your team can verify rather than an opinion.
Fewer repeat incidents
Recurring symptoms usually share one root. Fixing the rule or script underneath removes a whole class of tickets instead of the single one that was reported this week.
Faster escalation when it really is SAP
When the cause does sit on the platform side, we assemble what SAP asks for, including the browser trace and the Developer Console export, so the incident is not returned for missing information.
Knowledge that stays with your team
We document the diagnostic path we followed so your administrators can repeat it. Where that turns into a longer term need it becomes training for internal administrators.
SAP CPQ Troubleshooting Questions We Get Asked
Why is Submit for Approval not showing on my quote?
Most often because no approval rule is violated, which is the intended behaviour when the action carries the APPROVALREQUIRED condition. If a rule is violated and the button still does not appear, check that the action is defined for that exact tab and status combination, and that the user has permission for it under Workflow Permissions.
How do I find out why a product is incomplete in SAP CPQ?
Click the incomplete indicator on the configuration screen. It lists the attributes that are still missing a value. Required attributes are marked with an asterisk and their text turns red when unset. If the item is a variant configuration product, it has to go through configuration rather than being added directly to the quote.
What makes SAP CPQ slow, and how do you measure it?
Open the Developer Console and look at the split between database time, script execution, formula evaluation, and external API calls. Script Performance under Developer Tools lists the slowest scripts over the last thirty days and flags the ones close to the execution limit. In practice scripting and formulas account for most of it.
Should I open an incident with SAP or call a consultant?
SAP support covers defects in the software and in SAP delivered configuration. It explicitly excludes advice on configuration specific to your own environment, and problems caused by customization done by you or by a partner. If the cause sits in your own rules, scripts, or workflow, an incident will be returned rather than resolved.
Can you work on our tenant without disrupting live quoting?
Yes. Diagnosis is read only. We work through Setup, the Log, the Audit Trail, and the Developer Console, none of which change how the system behaves. Any configuration change is agreed with you first, and we say clearly when a change needs a non production tenant before it goes anywhere near live quotes.
We are on Quote 1.0 and considering Quote 2.0. Do our issues carry over?
Some do not carry over so much as change shape. Global Information variables and the Customers object are obsolete in Quote 2.0, calculations work on deltas rather than full recalculation, and deployment packages built on one engine do not work on the other. Approval rules and scripts written against the older model are the usual source of surprises, which is a large part of why our SAP CPQ migration work exists.
Stuck on an SAP CPQ Issue Right Now?
Send us the symptom, the user type it affects, and roughly when it started. We will tell you which group it falls into and what we would check first. Where this turns out to be an ongoing need rather than one incident, that is what our SAP CPQ consulting and support is for.
Recent testimonials from our clients
Isidora and Milos are real CPQ experts in all aspects. They know the all the ins and outs of CPQ and can translate their in-depth technical knowledge to business use cases. They have a good mix of sticking to the standards and being flexible to implement the required system in budget and time.
Isidora and Milos played crucial roles in designing and developing the SAP CPQ sales quote solution for my company. I was very fortunate to benefit from their SAP CPQ skills and knowledge and they brought the added benefit of being outstanding colleagues to collaborate with as people. It was a very productive and enjoyable experience.
What truly stands out about Isidora & Milos, is their ability to navigate the entire development lifecycle: from requirements, designing architectures to building intuitive front-end interfaces. They approached every challenge with a meticulous and innovative mindset, and showed terrific leadership and mentoring of the team.
Isidora is an exceptional professional. During our time working together, she demonstrated deep expertise in even the most obscure aspects of the SAP CPQ product. Her outstanding problem-solving abilities enabled us to resolve highly complex issues with speed & efficiency.
Reliability is the word describing Sovetect’s work. All chalenges thrown at them were met with engineer’s curiosity and professional’s commitment, always resulting with job well done. Any project having them as implementators, no matter the technology or business chalenges, will thrive.