I've been thinking about creating a budgeting app that finally does away with months. I hate setting a budget for a month and would instead love to do a 30 rolling window.
The rolling window started wrecking havoc very quickly. For instance, we gave all employees $300/month budget for parking garage. However, on some months they would charge the card on 5th of the month, on another at 11th, etc. It was literally unusable and we left for another provider (later Brex also went back to calendar days).
While this might not be an issue for your application per se, the real world operates on calendar days. You will quickly run into situations where 30 day rolling window not only doesn’t work but is explicitly causing problems.
My 2 cents.
ledger bal <filters> -f <journal file> -b "28 days ago"