GNOME Bugzilla – Bug 148904
[RFE] Skip Certain Days on Scheduled Transactions
Last modified: 2018-06-29 20:45:42 UTC
I would like to have the ability to be able tell the "Schedules Transactions" features to skip processing on predesignated dates, specifically Jan 1 and Feb 29. I run a subscription service where customers pay in advance quarterly, semi-annually or annually against which I charge a daily fee. As the clients submit payment in advance, I debit an Asset account and credit a Liabilities account under the customer's name. Each day I then debit the client's account with a daily charge and credit an "Earned Income" Equity account. I do the accounting daily so that I have an accurate idea where each account stands with respect to the amount of service delivered. For ease of accounting, I have developed a "World Calendar" style accrual system. Each quarter is defined as exactly 91 days, each half-year is exactly 182 days and each year is exactly 364 days. I essentially ignore the extra day (January 1) and on that day, all accounts with a balance receives essentially "free rent." On leap years, February 29 is treated exactly the same way, so every four years customers receive another "free rent" day. There are quite a few advantages to this sort of reckoning this way, but the big one being the ease in computing between dates, even on leap years. Quarters begin and end on the same days each year (Jan 2 - Apr 2; Apr 3 - Jul 2; Jul 3 - Oct 1; Oct 2 - Dec 31). In order to use GnuCash to perform the daily calcuations, I simply configure the "Scheduled Transactions" for daily runs starting from a specific date for the required number of days (91, 182, 364). If the account is going to be active over the new year, I just add an extra day on the run and then credit the customer's account with an extra day's service on his subscription. The same applies for February 29 on leap years. In order to make the books balance, a special "Free Days" account is created with debits equivilent to the total amount in credits that each account receives. Sometimes, of course, mistakes are made and either too few days are subtracted or the customer's account is not credited with the extra day's service to keep everything in sync with the calendar. And of course, all of this is going on while the accounts are all being balanced at year end. It would be sooo convenient to be able to say, "run the scheduled transactions each day for the next 91, 182 or 364 times except on Jan 1 and Feb 29. That way, no mistakes are made by forgetting to credit a customer's account properly or adjust the scheduled transaction with the extra day and make sure that the "Free Days" account has the proper amount in debits to balance all the credits that will be added to each account on that day which will immediately be withdrawn.
Changing severity to "enhancement" since it's just that.
*** This bug has been marked as a duplicate of 155327 ***
Oops, sorry, I confused this with the bug in front of this one and errornously added the duplicate notation here. Please ignore the duplicate notation.
Thank you for taking the time to explain your enhancement request. The described enhancement is a good proposal and would be an advantage for the software. However, as a volunteer-driven project with limited resources, the GnuCash developers have their own priorities about the features which are most likely being worked on in the near future. In that sense, the current GnuCash developers decided not to work on your proposed feature in the next 4-6 months. In case you would like to have this feature implemented in any case, you have the following option: 1. Start to program in gnucash yourself - see http://wiki.gnucash.org/wiki/Development . 2. Convince someone who is not yet part of the GnuCash team to join the team and implement your feature. 3. Pay some of the GnuCash developers to implement your feature - ask on the mailing list gnucash-devel@gnucash.org in that case. Thank you very much. Feel free to file other bugs or enhancement requests that you find, though.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=148904. Please update any external references or bookmarks.