Asset Movements - Planting / Seeding / Locations

Thought I had this thing figured out for tracking Planting Assets (purchased seed) as I record Seeding actions in my fields (drilling/planting the seed into various fields). Now running into a BIG problem. Not sure how to resolve.
I purchased Cereal Rye Seed (my asset) to be seeded into multiple field locations. From the results of prior threads, I entered the purchased seed as a “Plantings” asset. I then entered “Seedings” Log entries for each field where I applied the Rye “Plantings” asset. In the Seedings log entry, I showed a movement of the asset into the respective field (location). HOWEVER… This is now showing my Rye asset moving around from field to field (locations). The database assumes the “from” in the movement action is the “to” from the last reference of the Plantings asset. This is really screwing up my record keeping. I want to show seed that I purchased as an asset, stored in one location, that is being Seeded into multiple fields (locations). The database is set up like I’m moving actual plants from location to location in a nursery or such… I need to show bulk seed from one location going to many field locations. How do I show a single “from” (the seed storage location) going to multiple field “to’s”(locations)? Is it possible to have the Movement entry include a “from” entry so I can specify my seed storage location for all “Seedings” logs?

1 Like

Pondering this further. Clearly I have gone down a blind ally as I defined my row crop farming model within the FarmOS structure and definitions. Seed can not be defined as a “plantings” asset. A “Plantings” asset must be “seed plus soil” and therefore is location bound to the particular field. I need to define “plantings” assets for every seed and field combination. This also is the only way to make the “harvest” aspect work later. Harvesting must happen in a given field planting (seed plus soil). This revelation makes more work. I can’t put all the supporting seed information in one record and have it pulled in everywhere the seed is planted. I have to attached the seed information to each and every plantings asset individually (because there is no Seed specific asset defined in the database that acts similar to an Input).

1 Like

Best way i can think of solving this, @graffte is to separate your stock of seed into different lots (in the abstract, i mean; no need to break bulk until you are ready to plant, but you may do well to have good quantitative estimates per lot), each of which would be stored in the same Area, but earmarked for plantation in a different field (Description field can hold such detail). A bit more work up front, but -to whatever extent you want full-lifecycle trackng of the plants (as granular or general as you please)- that would be the level of detail it makes sense to track, in your particular case.

Does this make sense for you, Tim? This is how we’re planning to do it on my farm- first year for us also, doing such full-lifecycle planning & tracking in farmOS- so it could be interesting to compare notes on how this all works out in the end!

/walt

1 Like

Great question @graffte - and I think I can set things straight for you… :slight_smile:

TL;DR: Each asset can only have a single location. If you need multiple locations, then you need multiple assets.

There are a few different ways to accomplish this…

So from a data model perspective, I think what you ultimately want to end up with is a single asset that represents your “seed stock”, and the from that you would create multiple new assets that represent your “planted seeds”.

It is certainly possible to use a “Planting” asset to represent your seed, but you need to create new assets in order to manage separately planted fields.

The only reason I suggest using a “Planting” asset for seed is because farmOS doesn’t currently have a dedicated “Seed” asset. We do have a feature request open for that: https://www.drupal.org/project/farm/issues/3022158

But it’s not strictly necessary - it’s possible to use “Planting” assets for that as well, conceptually speaking. And in fact in farmOS 2.x “Planting” assets are renamed to “Plant” assets, so it can be thought of even more generally like that. farmOS 2.x also adds the ability to track inventory on ANY asset type (1.x only had animal head count inventory).

Exactly! Think about “assets” as “units of management”. If you need to have more specific management records, you need more units. So if you are going to be recording logs that are specific to planting in a field, you need an asset to represent that planting in that field (separate from all other planting assets).

So this is primarily a data entry problem. The more granular you want your records to be the more records you need, and therefore the more data entry work is required. Annoying, I agree - but this is where “Quick forms” and other higher-level UI features can be very useful to build to make the job easier. But the data model underneath needs to clearly separate these things.

Hope that helps!

I’m definitely open to adding a Seed asset type to farmOS 2.x, perhaps with a quick form that asks:

  • What Seed asset are you drawing form?
  • Where are you seeding?
  • How much seed are you using?

Submitting this form could then create a new Plant asset (representing the seed in the ground), as well as a Seeding log that decrements inventory from your Seed asset.

Thinking about this a bit more. From a business operating asset perspective, the physical stuff you use in delivering your end product are all assets. Raw materials (seed, fertilizer, chemicals, etc) are all assets that are purchased and applied in the farming operation. In my case, seed and fertilizer are purchased and applied to a field area. From an asset perspective, seed is just a special case of the general “Inputs” case. All are physical stuff, have value to be tracked, and are true assets. The Plantings or Plant Asset is essentially a “Work in Process” WIP asset comprised of the growing location (factory), Raw materials plus value added (like labor expense). Raw assets get converted to WIP assets through activities (seeding for example). Eventually the WIP asset gets transformed to a Finished Product asset (grain in my case) through the Harvest activity. I think the data structures need to recognize the asset types and conversions that happen in the operational business of farming. This is how I am now trying to define things in FarmOS and working through ways to capture the Raw, WIP, and Finished Goods asset types.

2 Likes

Yes! Agreed 100% :slight_smile:

We are introducing a new Material asset type in farmOS 2.0, for what it’s worth. And all asset types can be used to track inventory. This will make it a lot easier to represent more things as separate assets, and to track how those assets are used (eg: an Input log that decrements your “N Fertilizer in North Barn” Material asset, and is applied to your “2021 Corn in North Field” Plant asset.

From the standpoint of my use case, I’m looking for the Seed Asset entry to capture the records and the specifics of the seed itself. This would include, Organic Certifications, purity testing, germination data, purchasing information, photos of bag labels, etc. There are probably a half dozen things I capture for each seed lot/shipment. I’d note the storage location (like machine shed) as the central delivery/storage location. The same lot of seed from this common locations might get seeded/planted into multiple field areas. Last fall I purchased several thousand pounds of cereal rye seed that went into 3 different fields on my farm. The three Seeding log entries (one per field) would capture the location seeded with the seeding rate and other specifics of the field work. I wanted to show seed moving from the storage shed to the field in the Seeding entry. Unfortunately, using the Plantings asset for seed showed it moving from field to field. So as @walt mentioned, I’d probably have to enter the seed three times under three different lots and pick a given lot with each seeding. Given the how the current FarmOS rev is set up, I may consider treating seed as an Input. It seems like the Seeding entry should automatically create the new Plantings Asset entry based on the combination of a Seed asset selected and Field Area selected. Instead it expects this Plantings Asset(s) to be pre set up and the seeding action moves the planting around. This is very market farm or nursery oriented thinking where you are moving young plants from place to place. Transplantings does essentially the same thing without the Seed information entry fields… Rambling a bit, but hope this helps make my use case clearer.

Yea makes sense @graffte - and yea generally speaking farmOS has not focused much on the “pre-seeding” workflow - at least in the UI features. The data model can represent it - it’s just a matter of building more shortcuts/quick forms/etc for particular use cases. Have you seen the “Planting quick form” perchance? It basically handles creating the Planting asset + Seeding log in one step. Doesn’t meet your needs for intaking Seed stock data, but might give some ideas for how we could build something for that part of the workflow in the future.

Clicked through a few times, but have not delved into the quick forms in any depth. I’ll take a look. Now that a few more tumblers are starting to fall into place, the combination makes more sense.

1 Like

I created a bare-bones seed asset type for farmOS 2.x some time back to facilitate testing how my data migrates from 1.x to 2.x; GitHub - symbioquine/farmOS_seed_asset: A 'seed asset' module for farmOS (You can see some details of my testing here)

That seed asset type probably isn’t ready for general/production use yet, but I’d be up for collaborating on polishing it up if folks want to experiment with it…

1 Like

@Symbioquine I’m open to adding the Seed asset type to farmOS core if others think that would be useful! It could be in the list of “optional” modules, so not enabled by default.

Maybe providing a quick form like the one described above would be a good next step too - geared at folks who want to track seed inventory as well.

If we did that, then your module could be just for your specific needs on top of that (and the 1.x->2.x migration that you need).

Since we’re adding the Material asset type it feels like Seed is the next logical one to consider. :slight_smile:

1 Like

I think granular at seed level would be better because it helps to analyze the profitability. Like type of seed ( organic, inorganic, GMO or …), Company provider, Scientific name, Purchasing date, Quantity purchased, quantity distributed. There are many factors for productivity one is seed type.

What do you think if you add one table for seed that includes attribute like Seed_ID, Scientific-Name, Manufacturer (seed provider), date_Purchased and …

And make relation with general asset by using Seed_ID as a foreign key

1 Like

I thing most of asset need separate table and need relationship with asset table by using foreign key. When we see plant there are many factors to grow like soil (soil texture, soil nutrition, and …), seed ( seed type, manufacturer (Supplier), and …), geographical location, weather and …

So plant table needs relationship with soil table, Location table, seed table and …

1 Like

I can’t speak to the specifics of the database implementation, but sounds like this is functionally on the right track. As an organic certified grower, I need to track the sources and attributes of seed used along with where in the field areas it is planted (seeded). This is tracked through to the specific harvest lots and sale. Ultimately it would be useful from a production perspective to be able to track how a given seed variety from a given source performs in the different field areas over multiple seasons. Additional growing condition information for each field area for a given season needs to be able to be linked with the seed and area information to enable meaningful caparisons.

1 Like

Another potential detail to keep in mind, a given field area planting may be a seed mix of several different specific varieties of seed. This is particularly true where cover crops are used. I have seen cover crop seed mixes can be a dozen or more plant families and varieties. Seems like there will need to be a means for capturing the information for a given seed and then combining multiple seeds into a mix. The seed mix is ultimately what is seeded into the field area. I think I saw a means for creating seed mixes in FarmOS already. Need to maintain the seed mix capability.
From a field area perspective, the effectiveness of a cover crop would be evaluated by measure of biomass grown, soil organic matter changes, insect and worm counts, and other measures of how the cover crop mix affected the field area.

1 Like

May be distribute seed as it is better than distribute seed as a plant that is why I wanted to write about gathering all separately in a table and made relationship. For example, you may distribute X-amount certified seed to X-Location on September 20, 2021, that you bought from X-Supplier. So, you don’t need describe these all when you distribute from main store but Seed_ID. May be it is better than distribute seed as a plant.

This Seed_ID tells all about the seed and it may be a good information to analyze the result either good or bad. It also good for inventory.

Just to share my idea ::slight_smile:

1 Like

Hi @dhailu - welcome to the farmOS community!

Some thoughts in response to your ideas (and note I am mostly talking in the farmOS 2.x context, since that is where all focus on development is right now, and we are almost ready to release a beta - so some of this might be different from what’s available in 1.x):

Like type of seed ( organic, inorganic, GMO or …), Company provider, Scientific name, Purchasing date, Quantity purchased, quantity distributed.

The Organic module provides “Organic” and “Not Organic” flags, which can be applied to Assets and Logs. So if we added a Seed asset, you could mark them as such. You can already mark Seeding logs that way.

Scientific name should probably be on the “Plant type” term (aka the “Crop/variety” that is referenced when you create a “Plant” asset - as well as when you create a “Seed” asset - @Symbioquine’s module includes this already: farmOS_seed_asset/Seed.php at db9484bc643c409ede390a5c02671f82f666c6b3 · symbioquine/farmOS_seed_asset · GitHub). This would be a good feature request to open (“Add scientific name field to Crop/variety terms”).

The Seeding log type has a “Source/supplier” field for recording where the seed was obtained, as well as a “Date purchased” field to Seeding logs as well. You could also use a Purchase log to record this information perhaps, which would give you the ability to record Quantity purchased (as well as increment seed inventory accordingly).

Quantity distributed should be recorded on a Seeding log when you actually plant the seed. This log could also be used to decrement the seed inventory accordingly.

What do you think if you add one table for seed that includes attribute like Seed_ID, Scientific-Name, Manufacturer (seed provider), date_Purchased and …

And make relation with general asset by using Seed_ID as a foreign key

I thing most of asset need separate table and need relationship with asset table by using foreign key. When we see plant there are many factors to grow like soil (soil texture, soil nutrition, and …), seed ( seed type, manufacturer (Supplier), and …), geographical location, weather and …

So plant table needs relationship with soil table, Location table, seed table and …

It might be worth reviewing the farmOS data model docs a bit to understand how records and their relationships are represented: Introduction - farmOS 2.x Docs

This also covers how “location” works in farmOS: Location - farmOS 2.x Docs

All of the above is just to share how many of these things can already be represented in farmOS… but the larger idea of creating better reporting UIs would be great! By looking at the granular records, these reports could potentially summarize many of the things that you and @graffte are interested in!

Hope that’s helpful!

1 Like

Given this is a database tool supporting farming and seed is an important asset for a majority of farm operations, I find it odd that seed is not included as an asset type or that it is even questioned as an asset. Seed is a fundamental, expensive, and critical asset to track. If you farm crops, you need to manage seed as an asset. You add and subtract from an inventory. Move from seed inventory to fields creating a new plantings asset. You may harvest your own grain, clean it and return some to seed inventory in your operation. Seed must be an asset.
The seeding log has some of what needs to be tracked and a purchase log relates to some seed transactions, but neither really encompasses the breadth of what needs to be tracked and managed. Keep the seed tracking and movement recording they provide.

1 Like

I find it odd that seed is not included as an asset type or that it is even questioned as an asset.

There’s no questioning it @graffte! Just haven’t done it yet… are you volunteering? :wink:

Or to be more specific, @Symbioquine HAS done it. And I’m proposing we merge that into farmOS core:

This is the process. :slight_smile:

If you farm crops, you need to manage seed as an asset.

I generally agree with you. But remember that farmOS is not only for large row-crop operations. For smaller operations, who only use farmOS for organic certification, Seeding logs may be enough. What is “critical” for one use-case may not be for another. Hence why it hasn’t been added yet.

That said, let’s do it! I’m all for it. :slight_smile:

1 Like