How can farmOS make products available?

I am a python developer involved with several groups in the Netherlands looking for ways to nibble at the monopolies of supermarkets and setting up more direct relations between farmers and consumers.

When looking at farmOS, it perfectly support farmers in managing their farm, but I feel one step could be added to bring consumers on board and I would like to know if you are already investigating that.

When crops are harvested, they result in products. These products can move in different directions (simplified, please comment):

  • they can be moved to a reserved spot/stock when a farmer has contracts with other stakeholders in the supply chain (bakery, supermarket, slaughterhouse).
  • they can be moved to input for other processes that are local to the farm, for instance; making chutney, jam or cheese and butter (dairy).
  • They can be made available as “available stock” for free agents to pick up and distribute or for consumers to buy directly at the farm (milk-automat, small shop)

I would like to know if development is already underway to facilitate this step or not. And if you think this would be a valuable addition; to assign products to stock(s) that can then (f.i. via the API) be broadcasted to attract surplus to be available outside of the regular supplychain that most farmers use (a.i. existing relations/contracts) of course taking into account that amounts are reserved and that the stock will decline when products are sold.

I am open for any suggestions and idea and would like to find out if the community at large would like to put effort in making products available.

Welcome to the forum @milovanderlinden! :smile:

I’m glad you started this topic, as it is something that has been bouncing around in conversations for a while now. Here is one:

Another (older) discussion worth reading is:

As a first step, I created a basic “Product” asset type module here: GitHub - mstenta/farm_product

This is not included in farmOS “core”, but it can be added by anyone who wants to experiment with it. Combined with the core Inventory module, this allows capturing of products, product types, and tracking inventory levels over time. So the “data storage” of a lot of what you described is in place.

The next step is to build more UI/UX tooling in farmOS to make it easier to enter/maintain that data. I think that is the biggest hurdle to adoption (and is true of ALL data, not just product inventory). That is the mountain we are always climbing: making it easier for farmers. :slight_smile:

One small step that will be included in farmOS 3.1.0 (the next “minor” release, tentatively scheduled for next month) is an “Inventory quick form”. Pull request here: Inventory quick form by mstenta · Pull Request #766 · farmOS/farmOS · GitHub

Another idea I had a while back was general mechanism to support “asset transformations”. For example, it is currently possible to create a “Plant” asset that represents your tomato plants. And it is possible to create a “Product” asset that represents harvests/boxed tomatoes ready for sale, linked to the “Plant” asset as a parent. But there isn’t any UI/UX tooling to help facilitate those transformations. You basically have to create the records manually to represent what you want. I think there is a lot of potential for next steps there!

I would love to hear what others in the community think of these ideas. :slight_smile:

That work was also funded, and @paul121 is and will be working on more. I’m hopeful that when we complete this work, sharing our the product list will be a lot easier to do!


Update! A new farm_product module was included in farmOS core version 3.1.0! So the add-on module I linked to above is no longer necessary.

Meant to say also: all of work that @gbathree referenced is still relevant and builds on top of that product asset type.