Personal Finance App Monthly Reports Database Design ( SQLite )
From what I'm understanding you need to design a database which will be record transactions of a user and draw some conclusion like a profit/loss at the end of a month. To achieve this you don't necessarily need to create a wallet every month this is just basic accounting. You will need Transaction table and Transaction_History_Log and Charts_Of_Accounts for more detail check this. Your Transaction table will have a one-to-many relationship to your Transaction_History_Log and Transaction_History_Log will have many-to-one with your Charts_Of_Accounts. So just basically you will need to record journal entries this will help you get a more understanding about what journal entries are in accounting. You can set a createDate attribute in your Transaction_History_Log to just get the a snapshot of month or a whole year or whatever the user likes.