Third-Culture-Software / bhima

A hospital information management application for rural Congolese hospitals
https://docs.bhi.ma/
GNU General Public License v2.0
218 stars 104 forks source link

Proposal: New, Finer-Grained Account Types #3952

Open jniles opened 5 years ago

jniles commented 5 years ago

This issue is in the same line as https://github.com/IMA-WorldHealth/bhima/issues/1607 and supersedes https://github.com/IMA-WorldHealth/bhima/issues/2763.

Motivation In order to calculate the ratios required in https://github.com/IMA-WorldHealth/bhima/issues/3642, we need to be able to separate between different accounts of the same general account type. For example, this calculation:

(le cash + la valeur de stock) / la dette

Cannot be performed in BHIMA generically. We can technically accomplish it with account references, but the accountant must set up these account references. It amounts to lots and lots of configuration for a feature that should be core to BHIMA.

Proposal For this reason, I propose we create new, finer grained account types. They are:

Equity Accounts

Income Accounts:

Expense Accounts

Liability Accounts:

Asset Accounts:

The user would be required to select one of these account types instead of the global "income/expense/asset/liability/equity" selection that we currently have. We could also dependably build logic into our reports that use these account types.

jniles commented 4 years ago

@kwilu claim

jniles commented 4 years ago

Okay, final proposal now:

Tag Type (en/fr) English French
TYPES.CAPITAL_EQUITY Equity / Capital Capital Equity Capital
TYPES.RETAINED_EARNINGS Assets / Actifs Retained Earnings Resultat de l'exercise
TYPES.CASH Assets / Actifs Cash or Cash Equivalents Comptes Trésorerie
TYPES.ACCOUNTS_RECEIVABLE Assets / Actifs Accounts Receivable (Debtors) Comptes Debiteurs
TYPES.INVENTORY Assets / Actifs Inventory Stocks
TYPES.FIXED_ASSETS Assets / Actifs Fixed Assets Immobilisations
TYPES.ACCOUNTS_PAYABLE Liabilities / Passifs Accounts Payable (Creditors) Comptes Crediteurs
TYPES.SALES_REVENUE Revenue / Produits Sales/Fees Revenue Ventes
TYPES.SUBSIDY_REVENUE Revenue / Produits Subsidy Revenue Subventions d'exploitation
TYPES.OTHER_REVENUE Revenue / Produits Other Revenue Autres Produits
TYPES.COGS Expense / Charges Cost of Goods Sold Variations de Stocks
TYPES.PAYROLL Expense / Charges Payroll Charge de Personnel
TYPES.TAXES Expense / Charges Taxes Impots
TYPES.OTHER_EXPENSES Expense / Charges Other Expenses Autres Charges

The idea behind this proposal is that we can easily pull out things we haven't been able to previously:

  1. Debtors are separated from other liabilities
  2. Retained Earnings is an account type, so we can filter the accounts on that during closing the fiscal year.
  3. We can filter accounts on cash accounts to create cash boxes and transfers between cashboxes.
  4. Payroll is a separate tag, allowing us to compare payroll expense to others.
  5. Separates sales revenue from subsidy revenue etc ...

@mbayopanda can you let me know if I am missing anything?

kwilu commented 4 years ago

Hello @jniles, you have been unassigned from this issue because you have not updated this issue or any referenced pull requests for over 14 days.

You can reclaim this issue or claim any other issue by commenting @kwilu claim on that issue.

Thanks for your contributions, and hope to see you again soon!