Open jniles opened 3 years ago
I encourage you to think broadly about this. It is quite possible that in the future you may need to support more than two accounting systems. Ideally this could be done as some type of plugin so that supporting future different accounting systems will be simpler.
@jmcameron this is biting us at Vanga with the differences between OHADA stock accounting and IFRS accounting. I worry that going as far as a plug in system is going to over-engineer the design of the system. I would propose we start with something simple, then expand as we discover more accounting systems. I've only ever heard of the two.
After a bit of web research, the only other major accounting standard is GAAP (the equivalent of IFRS in the United States). Since GAAP is converging with IFRS and it is unlikely this software would be used in the USA any time soon, concentrating on the two (IFRS and OHADA) seems like a reasonable approach.
Thanks for your feedback @jmcameron ! I'll look into this on our Vanga trip.
We need to create a new setting for the automated accounting parts of our application to distinguish between the two types of accounting we support: OHADA and IFRS. This option would be configured on the enterprise settings page, but also during installation.
Having this option in the enterprise settings will enable us to check if we are in OHADA mode or not before making OHADA or IFRS-specific transactions. For example, OHADA requires all cashbox-to-cashbox transactions go through a tertiary account (https://github.com/IMA-WorldHealth/bhima/issues/3011). We could enforce this in OHADA mode, but let it lax in IFRS mode. Similarly, IFRS models stock purchases as liabilities whereas OHADA models them as expenses (https://github.com/IMA-WorldHealth/bhima/issues/4081). And so on.
This will give programmers a way to create OHADA-specific or IFRS-specific functionality without us having to figure out how it will affect OHADA or non-OHADA institutions.