Hello ACCOUNTS advisors. We have a somewhat subtle design question we’d like opinions on.
It’s about how, when you use Write Cheques, the “next” cheque number is supposed to appear in the Cheque # field as the default. The same should happen when you are in the Number field in a Register window, and press the “+” key.
Our original design for how that worked was that it found the highest cheque number you had used in that bank account in the last 13 months (plus in any post-dated cheques) and showed a number one higher than that. However, a major problem was discovered with that, for organizations that get new cheques numbered back starting at 1 after they pass (say) 999. In that case, it would keep trying to prompt you to use cheque number 1,000, which you don’t have.
So in version 1.14b, released in February 2013, we changed how it comes up with that next cheque number. The new rule was that it would use a number one higher than the number of the latest-dated cheque in that bank account in the last 13 months (including any post-dated cheques).
That worked well for most users, until recently when a user had written a post-dated cheque number 874 for quite a while in the future, then wrote a number of cheques with current dates and of course higher cheque numbers after that. While all of then had numbers higher than 874, the program would always suggest number 875, because it was the latest-dated cheque in that bank account (although it was in the future).
So, what is the right solution? One thought would be to ignore post-dated cheques when looking for the latest-dated cheque. But that will end up prompting you for the same cheque number (874 in that case) when you go to write the very next cheque after that post-dated one, because it would only see 873 in the past. Of course, once you had entered an 875, everything would be OK again.
So, here’s a possible solution, partly suggested by the user who’s having this problem. Have a configuration field, probably in Maintenance -> Main Options, labelled something like “When suggesting the next cheque number, ignore previous numbers higher than: ____”. And set the rule back to the old way: always suggest the number one higher than the highest cheque number in that bank account in the last 13 months (or in the future), as long as it’s not higher than that configured number, if it has been filled in.
This resolves the problem that we made the change in version 1.14b to fix, because if you have wrapped your cheque numbers around from 999 to 1, you just set that configuration number to some reasonable number like 500, and it will not suggest any higher numbers.
And it resolves the problem that the current user is having, because he won’t set that value, and it will prompt for a number higher than any number (past or post-dated) he has used yet.
There’s one remaining problem that I can see – what happens if you set that configuration to 500, and then reach cheque # 500 again? My thought is that if you manually enter cheque # 500 (or any higher number) when that configuration value is set, the program gives you a message about that, and tells you to clear that configured value so as not to have further problems. That should be safe, because the program only looks back 13 months to figure out the correct next number to use, and it’s hard to imaging that any of the previous run of cheques that were numbered 500 or higher would be within the last 13 months, if it wrapped around at 999. (At least, not for the sizes of organizations that are likely to adopt ACCOUNTS.)
One other tiny thought relates to what would be acceptable values for that configuration setting. If someone entered 1, because they didn’t understand the setting, the program would then always suggest number 1! So I think there should be a minimum value, which the user would be warned if they tried to set the configuration lower than. Perhaps 100?
Any thoughts? Anything we may have missed? Thank you in advance for your comments!