The primary issue here is how you apportion your budget when it is completed at the year time period.
Another solution is to copy your forecast into your budget version which is dimensioned by month time period and then using the break-back functionality update your budget numbers at the year level. This will then update all month time periods in line with the forecast phasing. Once you have updated the totals you will then be able to adjust each period while maintaining the overall full year value.
This option could be the work around you are looking for.
1. As @ChrisAHeathcote Two different modules will be required due to the time granularity.
But here to consolidate data into 1 module a apportion/disaggregation logic defined/approved by client would be required to get all data by months.
2. The entire logic can be built in one single module using Breakback functionality as @ChrisAHeathcote mentioned.
I had come across a similar requirement, wherein, had built with 4 levels and faced a problem where there are multiple users to input at same item.
If one user makes a mistake in breakback lineitem the proportions/disaggregation logic goes for a toss. (Solution :- Snapshot the data prior inputting data by each user, suppose if a mistake is done , you could roll back using a roll back action. This will still have backdrops)
Better go for option one if you have multiple user handling it at same time.
@AmruthaB Are u looking only from data input purpose from dashboard?
Your application time range must be defined in TIME Setting and TIME RANGE and as @rob_marshall mentioned that u will require 2 different modules to cater this requirement which are certainly displayed on dashboard/s for input.
I hope u got the clarity. Let us know if your query to be looked from other lens.