Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: Restructure account slip structure #1706

Closed
4 tasks
sfount opened this issue May 30, 2017 · 1 comment
Closed
4 tasks

refactor: Restructure account slip structure #1706

sfount opened this issue May 30, 2017 · 1 comment
Assignees

Comments

@sfount
Copy link
Contributor

sfount commented May 30, 2017

Currently the account slip is used to show detailed information on transactions that have hit an account. It is very similar as the 'Account Report'. I suggest that we restructure these reports to minimise the amount of code to be maintained and simplify future development.

File structure:

  • Move account slip under the accounts report folder so that it can be found at finance/reports/accounts/slip
  • Separate the account slip code from the general ledger controller so that it can be found at finance/reports/accounts/slip.js

UX structure:

  • Use the exact same template/ controller for both the report and the slip that can be displayed within modules
  • Allow easy filtering of the slip to only show data from a specific time period

Report logic:

  • Use MySQL or well defined JavaScript to calculate totals so that the template is not responsible for this - contributes to (chore) Remove helpers/math.js #1668
  • Separate getAccountTransactions from the reportAccounts.js controller so that it can be used by other services/ controllers
@jniles
Copy link
Contributor

jniles commented Jan 26, 2018

I'll tackle this in my General Ledger refactor (#2462). The account report has evolved quite a bit, so this will probably link directly to the account report for the selected FY.

jniles added a commit to jniles/bhima that referenced this issue Jan 26, 2018
This commit removes the old Account Slip report link and replaces it
with the account statement report link from the General Ledger.

Closes IMA-WorldHealth#1706.
jniles added a commit to jniles/bhima that referenced this issue Jan 26, 2018
This commit removes the old Account Slip report link and replaces it
with the account statement report link from the General Ledger.

Closes IMA-WorldHealth#1706.
bors bot added a commit that referenced this issue Jan 29, 2018
2462: Refactor General Ledger r=mbayopanda a=jniles

This PR refactors the General Ledger to make it more useful from an accounting perspective.

**Code Refactor**
 1. The server-side SQL query has been rewritten to be more performant and easier to read.  In particular, the WHERE query filters on fiscal year instead of first looking up the periods in the fiscal year.
 2. Removed the Account Slip code - it was essentially a duplication of effort from the Account Statement code.
 3. Renamed all variables references `general-ledger-accounts` to `general-ledger`.  We had folded the previous "General Ledger" into the Journal, so only this one remains.

**Features**
 1. A `<select>` element to the grid footer to use to switch the fiscal year and removes the Fiscal Year modal.  This was requested by @WayneNiles and improves the UX by allowing users to switch fiscal years on the fly.  By removing the modal, we also alleviate the maintenance burden on developers.
 2. A "check row" at the bottom of the General Ledger has been implemented, showing the sum of each column with period balances.  _These columns should always sum to zero_.  If not, it means that there is an imbalanced transaction somewhere.
 3. Title accounts are now show and hold the sum of the balances of their children.  This allows a really quick comparison of bulk amounts, such as Income versus Expense.  This has been implemented using a `Tree` class, available to be used in other reports.
 4. Added title account highlighting and indentation to both the client and server-side generated reports for the General Ledger.  The indentation is set to `15px` by default.
 5. Add a link to the Account Statement module.  This allows a user to directly inspect the values from the General Ledger in the Account Statement.

**Screenshots**
![newgl](https://user-images.githubusercontent.com/896472/35456000-5a04432a-02d4-11e8-812d-760446e3a6ae.PNG)
_Fig 1: New General Ledger Client_

![newglreport](https://user-images.githubusercontent.com/896472/35456057-8e33d76e-02d4-11e8-8418-db15de5c8195.PNG)
_Fig 2: New General Ledger Report w/ Indentation_


 Closes #1706.  Closes #2459.  Closes #2463. Closes #2373.
@bors bors bot closed this as completed in #2462 Jan 29, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants