Product transformations

Recently across different work topics folks have mentioned the idea of product “transformations“, and as we are doing some further analysis on Product Refactor and its implications for the Roadmap 2026 items, this topic has come up again, but I am finding it still a bit foggy.

With this thread I would like to collect some information about it, and discuss it further so that we can figure out what that might mean in practice in the future.

Please add any related links or discussions to this thread, and feel free to share your take on it :slight_smile:

Transformations/ingredients have been mentioned in

@maikel while talking about linked variants (April 2026:

Going forward, we were planning to eventually support transformations between linked variants. The cloned variant can change name, price, everything and the data model allows for a variant to have multiple sources. Having only one original supplier field doesn’t make sense in this scenario. A future peanut butter may be supplied by the hub but has ingredients from the peanut farmer and the salt harvester. The shop front would need to be updated one day (not now) to list multiple ingredient supplier if there is more than one source variant.

@Rachel and @Mario in Product data model refactor analysis for Roadmap 2026 (April 2026):

One product - different transformations (and units)
E.g. Group = Oranges
Item 1 = Orange by kg
Item 2 = Marmalade (sold by item)

Maybe this gives a poor search experience and we want to discourage it. Not sure how it would be displayed in the shopfront.

Below an example of backoffice

@rachel in Product data model refactor analysis for Roadmap 2026 (April 2026):

Ingredients are asked from people doing products like jam, pickles, bread,… often they want to be able to highlight allergens (another mandatory info :smiley: ). We need at some point to break all these info down for interoperaility.

@maikel and @RaggedStaff in #dfc-ofn (Sept 2024)

Note: I’m not 100% sure if this is actually the same context.

On the product edit page, we could have a new tab for transformations. You can create a transformation for that product. For the sake of this example, the product is the outcome of the transformation, well the product. Like in FDC, we can just assume a quantity of one produced in the transformation. The only thing the UX needs is to define ingredients. That can be a quantity and a URL to another product.

We could then store an ingredient like this:

  • quantity: 0.05

  • ingredient product: https://… 10kg bag of flour

That would result in 500g of flour in that loaf. And you can define multiple ingredients.

@kirsten in Product Model Refactor (March 2023)

Allow for management of changed products i.e. increase the number of fields that can be edited when creating the copy - change Units; descriptions etc TBC which fields we open up at different times.

Allow for automation of ‘transformation’ rules e.g. I want my copy of this product to have 10x the stock of the parent product (because I am splitting it into 10 packets), of 1.10x the price because I’m adding a 10% mark-up etc - needs thinking about what transformations we will support.

Transformations will need to consider affect how stock and price changes flow through the network.

this is a very quick comment sorry but I wonder if there aren’t 2 concepts here: product info and product transformation loop.

Ingredients, allergens,… are currently mandatory to display on transformed goods. OFN users use the description to highlight them.
this does not work well with interoperability, as other software might show these field in detail. product search is also impacted.

Storing the transformation (the recipe ?) on OFN is a different topic. I’m not clear yet what’s are the use cases: when would a shopper want to buy the ingredient when visiting the end product? If they simply want the information, do we need to record the transformation?

Procurement software often store recipes, so there must be use cases for it, but I’m not sure how or why. Maybe @BethanOFN or @nicotentin have more info?