Implement new screen and Java event to create an account reconciliation
-----------------------------------------------------------------------
Key: OFBIZ-1494
URL: https://issues.apache.org/jira/browse/OFBIZ-1494
Project: OFBiz
Issue Type: Sub-task
Components: accounting
Affects Versions: SVN trunk
Reporter: Jacopo Cappellato
Implement new screen and Java event to create an account reconciliation (for
example a bank reconciliation).
For a general description about the process:
http://en.wikipedia.org/wiki/Bank_reconciliation
Task details:
1) add a new menu item "Account Reconciliation" to the Accounting>General
Ledger>Accounting menu; the menu item will open the screen described at point #2
2) implement a new screen composed by a search form at the top and a multi form
at the bottom
2.1) the (single) search form is composed by:
2.1.1) a drop down (allow-empty= false) with all the GL accounts associated to
the organization
2.1.2) a search button
2.2) the multi form will only be visible when the first form has been
submitted; the list will show all the AcctgTransEntry records associated to the
selected account (sorted by ascending date) with reconcileStatusId field set
to "not reconciled"; each row will have a checkbox; at the end of the list a
submit button "Create Account Reconciliation"
2.3) (OPTIONAL) it would be cool to add some Javascript (or Ajax?) magic to
display, at the bottom of the page the total of all the selected records (use
the amount field where D counts as + and C as -)
3) create a Java event (not necessarily a service, a controller event is
probably easier) and that will receive data from the multi form at point 2.2
and:
3.1) for each row selected it will retrieve the corresponding AcctgTransEntry
and add it to a List (NOTE/HINTS: there are some utils methods to easily
retrieve/parse fields submitted by a multi form... let me know if you don't
find them)
3.2) compute the total of all the AcctgTransEntry.amount of the entries in the
list (where D counts as + and C as -)
3.3) call the service "createGlReconciliation" with the following input fields:
glReconciliationName="the 'now' timestamp", glAccountId, organizationPartyId,
reconciledDate=now, reconciledBalance=the number computed in #3.2; save the
output parameter glReconciliationId
3.4) iterate the list of entries created in #3.1 and for each one call the
service "createGlReconciliationEntry" with the following input fields:
glReconciliationId= the value returned at #3.3, acctgTransId,
acctgTransEntrySeqId, reconciledAmount=AcctgTransEntry.amount
3.5) put in the context/parameters the glReconciliationId
4) set the controller entries so that, after the event described at #3 is
successfully executed, redirect to a new screen "Edit GL Reconciliation"
(described in #5); on error return at the screen described in #2
5) implement a new screen "Edit GL Reconciliation" that takes as input a
glReconciliationId and is composed by:
5.1) an editable form that display the content of the GlReconciliation entry;
the only editable fields will be: glReconciliationName, description,
reconciledDate; all the other fields will be visible only; once submitted, the
three fields will be updated ("updateGlReconciliation")
5.2) a list (non editable) of all the GlReconciliationEntry records associated
with the glReconciliationId
6) add a new menu item "Account Reconciliations" to the Accounting>General
Ledger>Accounting menu; the menu item will open the screen described at point #7
7) implement a new screen composed by a search form at the top and a multi form
at the bottom
7.1) the (single) search form is composed by:
7.1.1) a drop down (allow-empty= false) with all the GL accounts associated to
the organization
7.1.2) from/thru dates
7.1.3) a search button
7.2) a list form (visible when the first form has been submitted) that lists
all the GlReconciliation records that match the search parameters; the
glReconciliationId field will be an hyperlink to open the "Edit Gl
Reconciliation" screen (implemented in #5; the highlighted menu should not
change)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.