Setting up complex pricing structure for butcher shop - calculating cut prices and weights from carcass

Hi everyone,

I’m a new Tryton user setting up a system for my butcher shop and need guidance on implementing a sophisticated pricing and weight calculation system. Let me explain with some concrete examples.

Core Purchase Example: When I purchase a beef carcass:

  • I order 1 piece (the carcass)
  • Supplier charges me €5/kg
  • Carcass weighs 300kg
  • Total purchase cost: €1,500

From this carcass, we process approximately 350 different cuts. Here’s where our calculation needs become complex:

Price Calculation Example: Let’s say I want a 20% overall profit on the carcass. Then for individual cuts:

  1. Premium Cut (e.g., Filet):
  • Base carcass cost: €5/kg
  • Carcass profit: 20%
  • Cut-specific markup: 300%
  • Professional price: €20/kg (no VAT, exact price)
  • Shop price: €25.99/kg (including 6% VAT, rounded)
  • Webshop price: €26.99/kg (different markup, with VAT, rounded)
  1. Standard Cut (e.g., Stewing Meat):
  • Same base calculations
  • Lower cut-specific markup: 100%
  • Professional price: €10/kg (no VAT, exact price)
  • Shop price: €12.99/kg (including VAT, rounded)
  • Webshop price: €13.99/kg

Weight Calculation Example:

  • Carcass weight: 300kg
  • Filet is 2% of carcass = 6kg expected yield
  • Stewing meat is 5% = 15kg expected yield

Currently Activated Modules:

  • product_price_list
  • product_price_list_cache
  • product_price_list_dates
  • product_price_list_parent
  • production

Key Questions:

  1. What’s the recommended module structure to implement these tiered calculations?
  2. How can we maintain these relationships? For example, if the carcass cost changes from €5 to €5.50/kg, all prices should update accordingly.
  3. What’s the best way to handle the different rounding rules? (Professional clients need exact prices while retail needs .99 rounding)
  4. Can the weight percentages be integrated with the pricing system?

I’m particularly interested in understanding the correct architectural approach before diving into the implementation details.

Any guidance would be greatly appreciated.

Best regards,
Bjorn

For what I understand the prices of each product is based on the purchase price.
So for me I would base the price list on the cost price of each product and use the average cost price method (or implement a specific method like last purchase price). And you have to make production to convert the raw product into final product which will update the cost price.
After that I would create a price list for each kind of pricing which computes the final price based on the cost price according to the margin.

Another option would be to add new variable to the price list computation context which contain your base price.

This will need to add a rounding method to the price list computation context.

If the sale unit is weight than the price is already per weight.
Otherwise you will need Product Measurements module to define the conversion of the base unit to weight and from their compute a price per weight (this could be a standard improvement of the module).

Following earlier advice about using production and average cost price method, I’ve made good progress but hit a small hurdle:

  1. Successfully completed a test production that moved products to [STO] Storage Zone
  2. Now need to change products from Fixed to Average cost price method
  3. Can’t make this change while products have stock

What’s the standard way to clear stock/make inventory adjustments in Tryton? I’d like to reset these test items properly before proceeding with the actual setup.

Thanks for any guidance!

There is no proper way because in real life this never happens to clear your stock for configuration purpose.
You better restart from scratch as it is for testing.