Here’s that the requirement I have given out to a partner. Please add additional requirements that you need or that I have missed out.
In the factory’s case, I suggest we do a local install of ERPNext and then do the synchronization with the WebHosted Version.
My client needs this right away and I’m sure all manufacturing facilities in countries with similar (or worse) infrastructure to ours will need this feature.
Here’s the requirement. Please price this to be part of ERPNext
Primary Install of ERPNext - ERPNext Hosted or AWS or whatever - Primary Server
Secondary Server at the factory - Company etc. is the same as the primary server;
The users, Warehouses and stocks at the Factory Location also get reflected on the Primary server
A user at the Primary server will try to complete a transaction. If the transaction is related to the Factory .AND. the connection is up, the transaction can be completed by the user. If the transaction is related to the Factory .AND, the connection is down, user gets an error saying link is down and s/he cannot complete the transaction
A user at the factory will try to complete a transaction. If the transaction is not related to the factory .AND. the connection is up, the transaction can be completed by the user. If the transaction is related to the Factory .AND, the connection is down, user can still complete the transaction
Needless to say, a Primary Server can have multiple secondary servers and if the access rights are permitted, one user related to a secondary server should be able to carry out a transaction at another secondary server or at any of the servers.
The Configuration will have a Primary Server. The Primary Server is the primary system of record for all Centrally Controlled Data.
Centrally controlled data consists of:
Roles and Permissions
Common Data, not centrally controlled:
Each Warehouse will be associated with a server - Primary or one of the secondary servers. Similarly other resources may have to get assigned to a particular server. I can think of only the Warehouse as a resource for now, but there may be others.
Centrally Controlled Data can be changed by authorized users only when a connection to the Primary Server Exists. All Data is however replicated across all servers. So a person connected to a Secondary Server that has the permissions to add users will be able to add users only if a
connection to the primary server exists
However a user at a Secondary Location (Say a Manufacturing unit or a Retail Location) will be able to complete a transaction related to a Warehouse Associated with that location because the system would be able to “connect” to that warehouse, even if the Internet link at that location is down.
Transactions that span across warehouses (Material Transfer, Material Transfer for Manufacture, etc.) on different servers will be only enabled when the connection is available to each warehouse.
For now if we can focus on Delivery Note, Invoices, Material Issue, Purchase Receipt, Purchase
Invoice, Material Receipt, Stock Reconciliation and Manufacture, we should be good.