Skip to main content
Choose product buckets when different parts of a deal (products/SKUs/categories) pay different rates and you have product-level amounts you can bucket. Before configuring, decide your bucket taxonomy and mapping rules, and whether you should fall back to deal splitting when amounts are not reliable. Validate on a known deal by confirming bucket totals reconcile to contract value and the Calculation view applies the intended rate per bucket.

When to use this

  • Rates depend on product line, package, or SKU group.
  • You need to bucket deal items into categories for different treatment.
  • You want to validate product mapping quality in your source data.
Core8 supports product-level revenue breakdowns via product buckets, so plans can calculate commission per category. Plan detail (basic)

Two ways to model category-based rates

Option A: Use productBuckets (preferred when product-level amounts exist)

If your deal data includes product-level amounts, Core8 can map revenue into product buckets (for example: ARR, PS, TRAINING). Plans can then compute commission by bucket.

How to reference buckets in plan logic

Bucket keys are typically accessed as uppercase:
  • d.productBuckets?.ARR?.amount (bucket amount)
  • d.productBuckets?.ARR?.tcv (bucket TCV)
  • d.productBuckets?.ARR?.months (bucket term length, if present)

Option B: Use deal splitting (fallback)

If you do not have reliable product-level amounts, you can split a deal into child deals where each child represents a revenue category and is calculated separately.
  1. Ensure your data pipeline provides product-level amounts (CRM line items, billing line items, or a structured import).
  2. Define your bucket names and mapping rules (keep names stable; bucket keys are typically uppercase).
  3. Validate on a few real deals:
    • bucket totals add up to the contract value
    • the plan’s logic applies the intended rate per bucket

How to verify

  1. Pick one known deal with product-level amounts.
  2. Confirm the deal’s bucket totals reconcile to the deal/contract value.
  3. Open the deal’s Calculation view and confirm each bucket uses the intended rate/base.

Notes

  • If you split a deal that already has productBuckets, Core8 allocates bucket amounts across child deals based on split percentages.

Common gotchas

  • Decide (and document) which date anchors the behavior: booking date vs invoice date vs payment date.
  • If the pattern depends on fields from an integration, confirm those fields actually exist in Data Hub and aren’t overridden.
  • Test with a tiny set of deals first, then expand—patterns often “work” but break on edge cases like refunds, partial payments, or split deals.