Free shipment for sales bigger than an amount

It is a common practice that when delivering products the carriers cost are not added to the sale when the sale amount is bigger than a threshold (i.e: Free shipment for 50€ or more orders).
It will be great to allow the user to configure this amount in Tryton.

I see two options here:

  1. Add a field on carrier, so each carrier has it’s minimum amount
  2. Add a global configuration, so all shipments will be free until the amount is reached, no mather of the amount.

I’m not sure which one is the best.

Once we have the amount defined, the sale_shipment_cost module will compare the sale untaxed amount with the limit defined and only include the cost line if the amount is lower than the limit.


For me, there is nothing to change in sale_shipment_cost because it is just a matter of returning a null price in get_sale_price.
So for me, it will be better to convert all carrier_cost_method into a MatchMixin pattern and add the amount has criteria.

1 Like

I have choosen a design wich holds a default value for free shipment and than a many2one values for different countries, because this threshold depends often on destination.

Indeed using a match mixxing will also alow to add the country as pattern so you can use diferent cost methods and values depending on the country.

Even if usually you should have carriers per country.