A customer recently experienced an issue where they created a customer contract with the coverage starting the last day of a month and the billing set up is monthly. This creates billing dates on the last day of each month if the coverage starts from 31-Mar:
When they run their monthly billing, they are selecting the Due Date To of 30-Apr if they are billing for contract coverage in April in advance. Intention was to get all billing period for the single month invoiced for all their contracts where they need payment in April.
However, they found that it billed both 31-Mar and 30-Apr periods when they only wanted to bill the 31-Mar period. This is because the selection is based on the Due Date to <= 30-Apr so would include both the 31-Mar billing date AND the 30-Apr billing date.
The simplest solution to this was create the contract with the 1st Invoice date being the first day of the following month when you create a contract that starts the last day of the month. When you do this, the coverage is still starting 31-Mar but the billing schedule is now:
Then you can bill the single month in advance covering the whole month of April in this case while using the due date to 30-Apr to also retrieve all the April dated billing periods.
The contract coverage is still 31-Mar to 30-Mar (one year contract in this case)