Update 3: Starting to Test Products and Inventory
Published on July 23, 2023 by Greg Austic
Summary
The database has been update to allow products and package types! Also, lots of user interface work - screenshots and process flows - in the testing phase now. Trying to identify the best place to put inventory management in a way that is intuitive to the user, but also moves the application towards the kind of design we want in the future. Next step is for Greg, Amber to give feedback on the initial layout - probably much learning and changes ahead!
Developers Updates
- Project updates:
- I am working on this in my fork of Mike’s farm_product module: https://github.com/paul121/farm_product
- Dev updates:
- I have continued to build out the functionality I previewed in mockups here: https://gitlab.com/our-sci/partners/project-management/-/issues/140
- Implemented product type “packages” as:
- Product type taxonomy has one field: package units (reference to units term)
- Units taxonomy has two fields: package unit + package quantity
- Products UI:
- Products menu
- Product types page
- List product types w/ quick links to view product assets, see total inventory, and manage inventory
- Has a form to quickly create product types w/ packages + product assets
- Products page:
- List products grouped by product type, see current inventory, links to manage inventory
- Inventory page:
- Improved UI of “All inventory history” with filters by product type/product/package
- Embedded inventory form for quick inventory adjustments
- Demo/testing:
- Greg + Amber please test this!
- Instructions slightly vague on purpose.. Want to see if you can “figure it out”
- The UI could be polished - but for now I really want to focus on the structure/flow of things as I proposed in the mockups and see what you think.
- Try and only use the Products UI and then go back and see how the Units + Product Type terms are populated
- Steps:
- First, we need product types. Go to the product types page and create a new product type.
- We have a peach orchard. Yum. Let's add Peaches.
- Add a first package for peaches:
- Packages are unit terms and will define what types of packages/inventory peaches can have.
- Add a new package unit for “lbs” (because there are no existing units terms!)
- Lbs are a simple package, or “base unit”, so lbs do not need to define a “package unit” or “package quantity”
- Create the “lbs” package unit
- Create a product asset for the “Peaches” product type:
- “2023 Peach Harvest”, or get creative
- Now you can start managing peaches!
- We know we harvest peaches in lbs. “Manage inventory” of the peaches to reflect that a few peach harvests have been made at dates in the past
- Note: this is hard-coded to an activity log for now. We prob need harvest… other log types? thoughts?
- Now, we harvested peaches reflected in the inventory. But it is time to sell them. Lets edit the Peach packages to add the boxes they are sold in:
- Edit the Peaches product type
- Add a new package unit for “5lb boxes”
- Set the package unit to be “lbs”, and quantity to 5
- Add another package unit for “20lb boxes”
- Add another type of package!
- Now, lets reflect that we have a boxes of peaches in our inventory after harvesting them
- Update the Peaches inventory to have some boxes added
- Optionally decrement the “lbs” inventory accordingly
- TODO: this will be easier with a “convert inventory” form!
- Consider that peaches are sold at the market and in bulk. Create additional Peach product assets and update their respective inventories to reflect the use cases (“Market peaches” has 5lb boxes, maybe “Bulk peaches” has 2000lbs, or some other box/flat unit)
- You get back from the market and see 2 boxes of peaches fell over in the truck - update the inventory!
- Do a decrement
- You know all of your peaches are in the truck (living on the edge) so you count and see that 15 boxes are remaining
- Add a first package for peaches:
- Think about other products the farm sells. Add a few additional product types. See if you are able to reuse existing units, and when you need to create new units:
- Are apples also sold in 5lb boxes?
- Is a bunch of carrots the same weight as a bunch of chard? Maybe chard bunches don’t need to be measured by weight?
- Try doing some reporting on products/inventory:
- Find the most recent time peaches were harvested
- Compare how frequent your “boxes” of peaches sell vs “lbs” of peaches
- Find the first time any of your {product type} was sold
- See all the inventory history for {unit}
- Consider a product type that might be stored in multiple locations (grain bins):
- Create separate product assets to represent each location the product is stored in.
- If you have locations/fields/structure assets created, update the current location of the product asset to actually model where it is located.
- Again, think about the structure of things here..
- What works/didn’t work?
- What was/wasn’t easy to do?
- Easy/hard to find/navigate to?
- Greg + Amber please test this!
- Next steps:
- Address feedback!
- Implement the “Total inventory” across all products
- Managing hierarchy of units/product types (ability to search for terms in a hierarchy view?)
- Improve management of products in different locations