After reviewing your configuration, I found the root cause. Your pricing rule logic needs adjustment to handle multi-currency bundle scenarios correctly.
Issue 1: CPQ Pricing Rule Evaluation Order
Your current rule evaluates at ‘Product Bundle Level’ but the condition references SBQQ__Quantity__c, which is a line-item field. In multi-currency scenarios, CPQ processes each currency group separately before bundle aggregation, causing the quantity check to fail.
Solution for Pricing Rule Logic:
Update your pricing rule configuration:
PriceRule: Bundle_Discount_Tier_1
Condition: SBQQ__BundleRoot__c = TRUE &&
SBQQ__BundledQuantity__c >= 10
Action: SBQQ__AdditionalDiscountAmount__c =
SBQQ__CustomerTotal__c * 0.15
Evaluation Event: Before Calculate
Evaluation Scope: Product
The key changes: Use SBQQ__BundledQuantity__c which aggregates quantities across all bundle components regardless of currency, and apply the discount as an amount rather than percentage to avoid currency conversion issues.
Issue 2: Multi-Currency Price Book Setup
Your bundle components need price book entries in EACH currency you support. Navigate to each product record and verify:
- Standard price book has entries for USD, EUR, and any other active currencies
- Custom price books inherit these entries
- The ‘Use Standard Price’ checkbox is UNCHECKED for bundle parents
Create missing price book entries:
- Go to each product in the bundle
- Related List: Price Books
- Add entries for missing currencies with appropriate conversion
- Ensure ‘Active’ checkbox is selected
Issue 3: Bundle Discount Application
For percentage-based bundle discounts in multi-currency environments, you need a custom price action that handles currency normalization:
- Create a custom field: Bundle_Discount_Percent__c (Number, 2 decimals) on Quote Line object
- Update your pricing rule action to populate this field: Bundle_Discount_Percent__c = 15
- Create a Price Action that calculates: SBQQ__AdditionalDiscountAmount__c = (SBQQ__ListTotal__c * Bundle_Discount_Percent__c / 100)
This approach calculates the discount in the quote line’s native currency, avoiding conversion errors.
Additional Configuration Checks:
- CPQ Settings > Plugins: Disable any custom quote calculator plugins temporarily to test
- Product Bundle Configuration: Verify ‘Price Editable’ is FALSE on all bundle components
- Quote Line Editor: Check that ‘Calculate Bundle Price’ is enabled in Package Settings
- Field-Level Security: Grant read/write access to SBQQ__AdditionalDiscountAmount__c for all CPQ users
Testing Steps:
- Create a new quote in EUR currency
- Add your bundle with quantity = 12
- Verify SBQQ__BundledQuantity__c shows 12 on the parent line
- Click ‘Calculate’ and confirm discount applies
- Repeat test in USD to ensure consistency
The combination of correct field references, proper evaluation scope, and currency-aware discount calculation should resolve your bundle pricing issues. If problems persist, enable CPQ Debug Logs (Setup > Debug Logs > New) and filter for ‘SBQQ’ to see the exact calculation sequence.
This draft is based on general Salesforce knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.