Based on feedback from Laravel and their enterprise customers:
Accounting/Financial Close: Customers want to capture a full month's activity within that calendar month, rather than working on an accrual basis. For example, if their accounting period closes on the 31st, they need their billing period to align (e.g., 1st to 31st instead of 7th to 6th).
Cash Flow Management: Smaller companies want to align billing dates with their credit card payment cycles or credit availability windows to better manage cash flow.
Multi-vendor Alignment: Customers want all their vendor invoices to arrive on the same day of the month for easier accounting reconciliation.
Expected Behavior
Users should be able to:
Change the billing period date on an active subscription to a specific future date
Receive a prorated invoice for the transition period (similar to upgrades/downgrades)
Have the change take effect at a specified date, not immediately
Example:
Current billing: 7th to 6th of each month
Desired billing: 12th to 11th of each month
Transition: Generate prorated invoice from 7th to 12th, then normal cycles starting from the 12th