In order to make Tryton more adaptable by users, it would be very helpful to merge the products and variants into just
Products. The first thing users are complaining about is 'why are there 2 separate forms for a product?`. And I cannot give them a reasonable explanation why that is. Because when I look in the database and the code:
- Products -> means Template
- Variants -> means the actual Products
So when I tell them that products are like templates, they say it’s not because a template just fills in some fields for you with predefined values. You can alter these values afterwards but this is not possible in Tryton.
Also the way the Tryton client shows the products / variants, they say ‘I don’t need variants, so remove it’. But I have to tell them, that they need them because there are fields on the variant which have to be changed. Even Tryton is trying to do it’s best by merging the two forms together, it’s not enough to get a good user experience.
And last, I have users who using Tryton not very often (sometimes there are months between) and they are continuously fighting with this. Because they have a product which is very much the same of another product already in Trytond, so they duplicate the variant, which means the same product. Then they become very confused when they cannot change the List Price.
So my proposal is to merge all fields of product.template and product.product into one database table. This is a big win for both sides:
- users: They have just one list of products and one form for CRUD the product. Working with products is like working with orders or invoices. Just one place to edit things.
- developers: They just add the new fields to the product.product. No need to do that over two database tables / classes. I don’t know if there is a speedup because of reading from one database table. It also makes it more easy to add a workflow to the products. Some companies want to have a review of the product before it can be used / sold / purchased / …
Unfortunately this this will break a lot if not all Tryton installations. So a careful migration plan should be put in place to do the migration. Many modules are depended on both
When this change is in place, a proper implementation of
variants can be made in separate modules. For example for
Templates they can work the same as
Account Move Template. But this will be another discussion, just let’s discuss the merge of products and variants.