Though I think I found various other discussions centered around this topic, I just wanted to cross-check with other before concluding my understanding.
I am trying to setup multiple organization in ERPNext (erpnext.com instance - I can only do UI level scripts). The key issue I see is that the Item Master doesn’t really have any field which can help a particular item have organization specific functions.
I do understand that by adding a Company field or using Item Groups I can restrict access, but my question is not about access. For example:
An Item has Item Tax table. When a Sales Invoice for it is created, that Item Tax list is fetched/filtered. This is not company specific which leads a situation that if I setup tax, one organization might not be able to select their taxes. OR, other way would be adding all applicable taxes in which user needs to be intelligent enough to avoid cross company (which are different countries) taxes.
Items have Quality verification of Delivery and Receipt. That too is uniform. Lets say this is distribution network where one organization purchases and sells to another. That would mean that verification performed by one (while in Receipt) would not be same for verification performed by another (while in Receipt). It is possible for me to add extra steps (country/company specific) but it won’t be possible to NOT have a quality check on Receipt in one organization while making it mandatory in another.
Items have various packing sizes - it is possible for me add everything to list of UOM. But, there is no way, without relying on humans, to make a default company specific.
Or, for that matter what if a particular item is marked as ‘is_purchase=yes’ in one organization and ‘is_purchase=no’ in another. That too is not possible. One of the direct impact I have for this is that a user in one organization would see all items in a Purchase Order even if that item was not intended for purchase for that. (Can be solved using filter query I guess).
Over-delivery or Over-receipt allowances too might be different for different organization (as that is tied up with warehouse costing).
I thought of ways to add child-tables to Item form - where Company+value can be tied. (For example, quality inspection or is_purchase etc - but I think I will get stuck as I cannot make any backend changes.).
So, my question
- Am I correct in understanding that current design of Item Doctype will not allow for organization specific function (without duplicating item) without structural changes in backend?
(I am not talking about consolidation).
- I understand the premise for ERPNext multiple companies is essentially consolidation of records (financials) - and it is designed for organizations which have almost independent set of operations (preferably). Basically, these issues are not about permissions per-se, they are about operations/functionality split.
The reason I am raising this point just for self-confirmation is to think of it as a possible improvement/contribution point.
my reading list:
This post which talks more about permissions than functionality split. Indeed a lot of
This post which talks more about how to filter items with companies, when we assign default organization values. I believe standard user permissions on a company field (added separately) would anyways do the trick.
And, ofcourse this document.
- There are many other similar discussions but most have repetitive points.