Howdy. A few weeks ago. I created a github issue with this title. @tundebabzy and I have been commenting in the issue and he asked that I expand my thoughts to help shed some light on what I am proposing. I figured a great place to do it would be here on the forum to get some thoughts from everyone as I think this will help a lot of folks out there.
Here is the original post to the issue:
I would like to propose a new doctype called Fiscal Calendar. The purpose of this document is to allow an administrator to populate a calendar of various event dates that are important. There should be an option for each event to set a notification based on a group or something. Some examples:
- Fiscal Month Start
- Fiscal Month End
- Fiscal Quarter Start
- Fiscal Quarter End
- Pay Day
- Link to Holiday Schedule
- Estimated Taxes Due (support for more than one tax type)
Then employees can “subscribe” to the calendar. The idea is for employees to see on their calendar when paydates are or my accounting/finance folks to know when the fiscal periods begin/end or when taxes are due or whatever.
This new doctype would work closely with the existing Fiscal Year doctype.
Here is some more commentary to the same to expand my thoughts:
As per my original post, I am looking for either a new DocType or an extension to an existing DocType (Fiscal Year) to handle events related to a Fiscal Calendar.
Right now we manage the fiscal calendar by constructing a specially formatted MS Excel spreadshet that is printed to PDF and then passed around the office. A lot of folks have this paper taped to thier cube wall or desk to help keep track of key or important dates. I am trying to eliminate this paper (as it is a total PITA to create and format) and incorporate the dates to the user’s personal calendar in ERPNext (under explore > tools > calendar). There should be an option for some kind of notification feature so if so requested, users can get an email a few days prior to the event occuring as a reminder. A great example of this is paydates, say a week out (Hey there employee, you are about to get paid next Friday, get your timesheet done by noon Monday!).
Companies will have many different reasons for establishing dates for beginning of the month or a different day. For example, my company uses a pretty standard 4-4-5 fiscal calendar for every quarter. The 4 is 4 weeks and the 5 is 5 weeks. For example, my first fiscal quarter of 2017 looks like this:
1/1/17 = Jan Fiscal Start
1/28/17 = Jan Fiscal End
1/29/17 = Feb Fiscal Start
2/25/17 = Feb Fiscal End
2/26/17 = Mar Fiscal Start
4/1/17 = Mar Fiscal End
If you look on a calendar, you will see that these dates line up exactly as 4 weeks, 4 weeks and 5 weeks where each week starts on a Sunday and ends on a Saturday
So the use case for this “fiscal period” is to allow my accounting and finance folks to know exactly where the periods start and end and can then manage their team calendar appropriately with handling monthly close and expected financial reporting.
Another example is paydates. We pay our hourly employees every other week (fortnightly) or 26 times per year. However we pay our salary employees once per month on the second fortnightly payroll run of the month or 12 times per year. So I will want to add these dates to the fiscal calendar. Employees will be interested in seeing these dates show up on thier calendar.
This brings me to the “subscription” piece. Not sure how to handle in code, but the concept is that you could setup by role. Employee role would “see” entries setup for employees. The pay date entry is a good example. Accounts User and Managers would “see” the fiscal dates because the setting would have accounts on it or something.
Manufacturing shops might have other key dates they want on the calendar. Maybe required inspections of equipment or maintenance. Whatever… The point is there are tons of key dates that all companies operate around. Having these dates tied to the Fiscal Year and managed as data allows for a lot of automation and workflow potential.
Some other dates that we place on our fiscal calendar excel sheet:
- The holidays and when the office is closed (e.g. link to holiday schedule doc type)
- Dates when various taxes are due (fed tax, state tax, unemployment tax, etc)
- When time sheets are due