I think it would be nice for farmOS to provide an “Inventory adjustment” quick form - to make it easier to record quick adjustments to asset inventory levels.
Currently, the process for adjusting inventory is:
Create a log (any type).
Add a quantity (any type) to the log with a value (and optionally measure/units, as these are used to differentiate multiple inventory levels in the same asset).
Select the type of adjustment (increment, decrement, or reset).
Reference the asset that is being adjusted.
Save the log + quantity.
All of the same decisions would need to be made in a quick form, but a simplified UI would make it easier. You wouldn’t need to understand how to create a log for tracking inventory in order to quickly get started. And ongoing adjustments would be much easier.
In general, manual logging is boring, and we log more and more stuff.
And everything that makes logging quicker, with less effort, is most welcome.
Quickform is most welcome, but also easier quantity handling in logs.
Logging quantities require some efforts. It’s great with flexibility, but I think userfriendliness it losing big time here…
I think the user would benefit from simplified inventory-tracking in FieldKit too.
It often makes sense to adjust the inventory on the mobile, when the event actually happens.
Is it possible to make general quantity handling more user-friendly.
In the end, mayby that could reduce the need for some quickforms?
If you search and choose “kg” unit, it’s quite often a “weight”
It should not be needed to chose weight then.
A “kg” search sould prefill the type with “weight”.
If needed, the type could be changed after searching.
This maintains flexibility.
Another possibility is to keep favorite quantities, or recent/most used.
They could be easily selected via a dropdown or something.
If I had 5 favorites, it would cover most cases.
Some adjustments are done just a few times, and some are done regulary.
For example an inventory of feed units of some kind would quite often be done on a daily basis, or pr week or so. If steps 1-5 could be saved as a preset/template that would simplify these adjustments alot…
Maybe someday these templates could work as an inventory part of the dashbard.
It could visualize the current inventory, and provide +/- buttons.
Also auto adjustments could be helpful. For example if you intend to feed 1 bale of an inventory every day in 1 month…
@pat Yes, I definitely agree here. Any ability to automate those inventory numbers would be huge. For example, we often have one large order at the beginning of the season for our organic foliar sprays and fertigation inputs. If I could associate an inventory with every activity that uses these inputs to automatically decrease the amounts, that would be huge. There are times in the middle of the season, where I need to quickly know how much of a micronutrient we may have for a nutritional adjustment spray. Seeing these numbers in real time would be extremely helpful.
Wow it’s been a while since I started this topic. But good news: we’re going to be working on a core inventory quick form in the next month or two!
I will be mocking up the UI for it soon, and will post a screenshot for feedback.
More good news! @paul121 will be working on a UI that adds the ability to create multiple “instances” of quick forms, with the ability to preset certain fields in them. This builds on top of the work we did recently to support “configurable quick forms”.
So, thinking about inventory quick forms specifically, this means that you will essentially be able to create multiple inventory quick forms, with things like the Asset, Measure, and Units prepopulated - to make your most common inventory adjustments easier.
We will share more details as they evolve, and we can use this thread to brainstorm next steps…
It creates an Observation log with a single inventory adjustment quantity and optional notes. I thought about adding a log type dropdown field too, so you could choose other types, but one potential issue is if a log type has required fields this quick form won’t be able to fill those in, which would result in an invalid log being created. Do you think Observation makes sense? Or will that limit the usefulness?
The “Adjustment type” defaults to “Reset”, but can be changed to “Increment” or “Decrement”. For more details see: Inventory | farmOS
After the first pass, we will work on making this form “configurable”, which will allow multiple instances of the form to be created, each with prefilled fields. The fields that I plan to make “configurable” are: Asset, Units, Measure, and Adjustment type.
Looks great to me. With prefilled fields this will be very nice.
Observation is fine. But isn’t an activity log quite similar?
If the rain-water tank level increases i’d say it’s an observation.
If my diesel-tank level decreases i’d say it’s an activity.
But if only using one type, I guess it should be obserervation.
Also, if inventory adjustment is just one type of log, it’s less complex.
The other thing to emphasize here is: Input/Harvest are log types that come with farmOS. Purchase/Sale logs come from the Ledger module. So it isn’t possible for us to have an “approved” list of these types either… because we can’t know what modules will provide. And indeed even this module shouldn’t need to be aware of other modules even in farmOS core. That’s one of the tenets of modularity: each module should only care about itself (unless it is directly modifying or depending on other modules).
So if we want to support multiple log types, maybe the only option is to add some code to this quick form that scans all the available log types and checks to see if they have required fields. If they don’t, they can be included in the list.
I’m not thrilled with this… it requires some complexity that worries me, because it may not catch other cases that I’m not thinking about… but I’m not sure if there is any other way.
Idea: we could just show a dropdown of ALL log types, and let the user select whatever they want. And we add a form validation method that runs $log->validate() to see if it passes validation or not. This would prevent saving logs that have required fields we aren’t aware of.
As long as the logtype is configurable that will do very well for me. Now I think it makes sense to offer all log types
It could make a few useful shortcut urls.
Maybe it would also help to make the log name editable? Like we do in the Planting quick form…
The default log names would be along the lines of:
“Reset inventory of [asset] to [quantity]”
“Increment inventory of [asset] by [quantity]”
“Decrement inventory of [asset] by [quantity]”
Allowing that to be edited before submitting the form would allow you to “stub” a log with an inventory adjustment quickly, and then you could edit it to fill in more details if you wanted to. Although, you could also just edit the log and change the name after it’s created too… but I can imagine a case where you might want to just record something quickly and come back later to edit details, so exposing the log name in the form would save a step in that case.
Looks good @mstenta , I’d definitly go with an editable log name and perhaps the option to add a Flag like “Needs Review” might be useful if the log is not going to be complete.
I like this idea a lot. In fact, it might be useful on other quick forms as well.
One thought that has been kicking around: it would be nice if you could see a list of the logs that have been created by a quick form (similar to the way the new CSV importers show a list of assets/logs/terms that were imported).
If we had a View of logs like that (perhaps at the bottom of the quick form), along with a bulk action dropdown, you would be able to quickly select multiple and apply the “Needs Review” flag to all of them. All of the other bulk actions would also be available, so even more would be possible. Maybe worth considering as a broad stroke next step for quick forms in general?
I would use this to keep track of feed and hay that I have on hand. For the hay, we produce it, store it and then feed it out on the ground. When fed, it serves as an input of sorts so I also want to easily track where that hay is fed out on the land. As a meat producer I also wonder if an inventory quick form could be used to track what each animal, or group of animals turns into as far as product.
Thanks for the thoughts @Jess! I think this quick form will be able to serve those use-cases.
It also makes me think of something else: in some cases we may want to be able to make TWO inventory adjustments at the same time! An increment and a decrement. Double entry bookkeeping!
One example that comes to my mind: a Seeding log that decrements the inventory of a Seed asset and increments the inventory of a Plant asset.
This would probably need to be a “next step” and won’t be part of the first version of this quick form. But it would be great to brainstorm scenarios where this might be useful, and how to design a form that would make this easy.
Or… maybe this wouldn’t be useful very often? Curious what others think. It would allow for some pretty granular records… but that also means it would be more work to fill out the form.