Sales template?

Hello friends,
as I’m selling my “starter package” repeatedly, I’d like to have a template for this. How can I achieve such?

My attempt was to create a standard sale draft for the user “starter package”, duplicated it and changed headers. This is easy - but as Tryton does not have an “update prices” feature (which IMHO is a severe flaw), I have outdated prices in the draft and would have to update them manually.

Does somebody have a good solution?


For me, it’s easy to create a sale with all the data in a new one. I doubt about what are the fields you benefit from not having to write again the sale. Seams you don’t have config defaults configured and you are searching for workarounds for the real problem. Because duplicate is not designed to be used as template (but it may work as template).

So, can I ask you about what are the fields you change on the duplicated one and the fields you don’t change?

The update prices it’s not there, but it’s not much issue to develop it. We have some complex update prices formulas for some customers working on metal industries where the price flows a bit.

Thank you for taking time!

My “starter package” has 33 positions, each with different quantities, some with 2nd unit (weight). So it’s no fun to manually create them ever and ever again.

I only need to change the customer’s address (and update prices), all the rest remains the same.

What about using components? Seams that your starter package is a grup of components. So maybe adding one line on the sale, with a product with components may work as template.

This may work if you don’t change the “numbers/quantity” of the components (I suspect that you are talking about quantity).

Have you given a thought about that?

Are you talking about “kits” ? - My guess is that prices of products within a kit would as well not be updated, same as in a list of single products.

Yes, I’m talking about the product_kit module, but there are two ways of using it:
First way:
Product A, type = kit, components = X , Y (33 positions)

Second way:
Product B, type = goods, components = X, Y (33 positions)

The second way I think can be used in your case, you must configure it with price 0. And once you put the product B in the sale and quote them, all the components will be created as lines with the price of each of the components defined in their record.

You should create the template using a fake party.
Once you have a new sale, you just need to duplicate it and use the “Update Header” wizard to change the party and the delivery address.

This will trigger the recomputation of all the prices of all products using the price list of the party, so the new sale will have the right values.


Thank you so much - that’s it! - Great, it works as you describe.

Actually, I did not expect Tryton to recompute prices, as it normally does not do so. So we could use that code to implement the “update prices” feature with minimal effort, I still do not see a valid argument against it.


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.