Usually used in currency / traditional accounting - can be used for other things
Easier to reason about
Easier to maintain a consistent record
Are we considering implementing this?
Most push-back comes from stakeholders thinking about anything automatically happening to other facilities - one facility performs an action that automatically effects another.
Agreed - don't let other facilities effect one another
On accounts being reasons: Reasons are close to accounts, however a reason set doesn't necessarily come with posting rules.
Some reasons might be better modeled as accounts, others would stay reasons.
Facility level stakeholders would be introduced to different account views on stock (some UI / UX / reporting elements)
Administrator experience: Might ship with some basic accounts at first, as product matures administrator could define posting rules and accounts.
Modeling Transportation - e.g. dummy accounts (see below on dummy)
Technical:
Keep stock events (e.g. receipt of stock - explains business event)
Posting rules would be different:
Double entry accounting would put equal and opposite entries into different accounts. (combined it all equals 0)
Transferring stock would have a decrement one side, increment the other.
What is an account?
Facilities have accounts:
SoH, lending, borrowing, etc
Between facilities we can think of account "transfers"
External systems: Their accounts could be modeled as a "dummy" account within OpenLMIS. This keeps to the sum to 0 posting rule
Posting rules:
For each event - the posting rule determines how the event is processed.
Posting rules can be account specific
Posting rules can apply temporally (apply to a specific time range)