Skip to content
English
  • There are no suggestions because the search field is empty.

How Bundle Price Cascading Works

Source: products_controller.rb:578-593, bom_items_controller.rb:94-99, bom_items_controller.rb:157-167, bom_item.rb:49-102

  • Updating a product's retail_price automatically cascades to every BomItem that references that product -- all bundle items using the product get the new retail price
  • After saving any BOM item, the parent bundle product's retail_price, cost, and cost_including_tax are recalculated from the sum of all child items
  • This cascade is bidirectional: changing a product updates its bundle items, and changing bundle items updates the parent product totals
  • BOM item adjusted price for customer follows the same multi-tier pricing hierarchy as standalone products (customer hourly rate > matrix > price types > discount/markup)
  • BOM item product group name falls back from the child product's group to the parent bundle product's group if the child has no group assigned

Support scenarios

  • "Why did the price change in my bundles when I updated a product's retail price?" → Retail price changes cascade to all BomItems referencing that product
  • "Why did my bundle product's price change after editing bundle items?" → The parent product's totals are recalculated from child items after every save
  • "How are customer-specific prices calculated for bundle items?" → Same hierarchy as standalone products: customer hourly rate, then matrix, then price types, then discount/markup