I can, I’ve written a billing system before (unfortunately). There’s a lot of annoying math/edge cases and systems to sync between.
While I never implemented a restriction like this, it would have prevented a lot of weird bugs/customer support issues and kept the underlying code much simpler.
(Annoying math = time zones, prorations, discounts, billing cycle anchors, etc. see the “falsehoods programmers believe about X” series)
(Systems to sync between = internal DBs, billing APIs, payment processors, etc.)