Close Fiscal Year Improvement

Registered by Gerry Reno

The current Closing a Fiscal Year functionality is inadequate to properly deal with the invoices and reporting. The current mechanism copies the move_ids which breaks the linkage with the invoice thereby making it impossible to pay an invoice in the current year when the invoice was created in a previous and now closed year. This blueprint seeks to create a much more robust mechanism for closing periods and fiscal years.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

There are a number of things that need consideration with respect to a proper year-end closing process. We need the ability to report across multiple years for things such as multi-year/split-year balance sheets and other types of reporting. When you have something like the current mechanism that ends up copying move_ids between periods then this breaks the ability to easily and understandably perform such type of reporting. When you start using copied move_ids you lose the linkage to the invoice which means you cannot easily pay an invoice that was due in a past "closed" year but paid in the current year. Also, once that linkage is broken any type of reporting that needs or relies upon the invoice-move_id linkage is also broken.
All of these types of problems are addressed in the solution that I have proposed.

Here is a quick summary:

Periods need to add a flag with 3 states:
opening
normal
adjusting

Each Fiscal Year would consist of:
1 - opening period (only the oldest year would contain any entries)
N - normal periods (4 for quarterly, 12 for yearly)
1 - adjusting period (this is where year-end adjustments by the accountant would go)

The only time move_ids would be moved into another period is during data purge.

Data Purge Behavior:
User selects years to purge.
System purges all paid invoices and corresponding move_ids.
System moves (not copy) all unpaid invoices and corresponding move_ids into the opening period for the remaining oldest year.

Closing Period Behavior:
Closing a period would just mark the period as closed to any more posting and automatically total all income and expense account entries for the current period (type='none') and add the total to an Income Summary (equity) account. Then all income and expense accounts would subtract these entries in preparation for the start of the next period (essentially zeroes out the income and expense accounts if no entries had yet been made in the new period). This makes it easier to track profit and loss through each period and through the year and across multiple years. This functionality is already in 'account_ifrs' module.

Closing Year Behavior:
Closing a year would just mark the adjusting period as closed and the fiscal year as closed to any more posting. All the other periods in the year would already be closed.

Now you don't have to worry about duplicated/copied move_ids and reporting becomes much easier and more sane.

Here is the link to the forum posting that holds a lot of information regarding this solution: http://www.openerp.com/forum/topic7753.html

-Gerry
=======================================================================================

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.