I posted this as an issue on Github before I found out about this forum…sorry! I’m still pretty new to ERPNext.
Is it currently in the pipeline to allow modular or customizable items in the POS, similar to functionality you would see in a restaurant or coffee shop?
For example, in a coffee shop you may have seven different types of lattes. But when ordering each latte the customer may request nonfat milk, may request an extra espresso shot, etc. The current system for item variants is insufficient for this purpose due to the sheer number of possibilities.
The solution would be to allow some items to be associated with others in the POS. So I could have a mocha with three variants (for three sizes). Then I can have an item called “espresso shot” that is priced at $0.50. When using the POS, in response to the customer inquiry, I could select a medium mocha, tap the added mocha in the POS, and then add the espresso shot.
I’m still familiarizing myself with ERPNext, but implementing this change would probably require something like:
- Adding a Boolean attribute to the Item doctype called something like “Can be added to other items”
- Adding a field in the sales_invoice_item doctype that allows an item to reference another item in the same sales invoice as a parent. (May not work…not sure if you can add a foreign key to an item in the same table in ERPNext?)
- Updating POS interface to allow selection of addons. This would require allowing selected items to be “clickable” in the POS, and once clicked upon all items with a value of “true” for the “Can be added to other items” attribute would appear. This would also require disaggregating multiple items of the same type (so you can apply an add-on item to just one of them).
I’m new to ERPNext and still learning Frappe. Does this sound like something that can be implemented? This is perhaps one of the single biggest obstructions to allowing ERPNext to take off in small business retail environments. Many POS solutions offered for free that are integrated with payment gateways (Square, PayPal Here, etc.) offer this functionality.