Set a monthly reminder for the 31st of January and ask almost any date library for the next occurrence. It will say 28 February, which is correct — February has no 31st, so it clamps.
Now ask for the one after that.
The answer is 28 March
It clamped once, forgot what it clamped from, and now computes every future date from the clamped one. February borrows three days from the rest of your life.
By December the schedule is three days out of step with the bank that is actually taking the money.
The fix is remembering the anchor
Instead of stepping from the previous result, Completo steps from the previous result and then re-applies the day the series was created on, clamped to whatever the target month can hold.
January 31st, February 28th, March 31st, April 30th, May 31st. The series bends around short months and returns.
Why it's worth writing about
Because it is invisible. Nothing errors, nothing looks broken, and the only symptom is a date that is slightly wrong in a way you would blame on yourself.
Those are the bugs worth hunting in a finance app — not the ones that crash, the ones that quietly disagree with reality.
Ready to try it?