At the moment when you are creating a Fiscal Year there is a button you can use to automatically create either monthly or quarterly periods. This works well if the year runs from the beginning of a month to the end of another month.
The Create Periods buttons don’t work so well if the fiscal year starts on the 6th April. Using the button results in 13 periods, the first is 6th to 30th April, the ones in the middle are calendar months, and the final one is just the 1st to 5th April.
One option maybe to add an extra argument to create_period, which would be the day of the month that a period should start/end on? A default for this could be calculated from the fiscalyear dates, and the user could be asked to confirm it using a wizard?
In the code the end day of the period is hard-coded to be the end of the month. This is because in many countries, the first fiscal year starts at the creation of the company but after that it has to catch up with the standard periods. I guess it is the same in UK, if you starts the company the 2nd, the first period ends the 5th and a new period starts the 6th then it is 6th-5th over and over.
So if we want to improve the situation, it is this 31 parameter that must be configurable. I would put it on the company.