You have posted a lot of code, but there is one important piece of code missing. Your HistoryView has the following property that contains the history data:
@StateObject var historyData1 = historyData()
Your InvoiceView has the following property:
@ObservedObject var historyData: historyData
But I do not see any code on how you set the InvoiceView's historyData value. Is the value of historyData supposed to be the same as HistoryView's historyData1 property?
I think you have a better chance of getting an answer if you post a new question and strip out most of the code. The problem you have is the list isn't updating when you add a new item to it. Show the code that deals with adding the items to the list and strip out the other stuff. You have posted so much code that has nothing to do with the problem, and that makes it hard for people reading the question to see the code they need to answer your question.
I also recommend coming up with better names for some of your data structures and variables. You have a struct named HistoryData and a class named historyData. That is confusing because the only difference in the names is making the H in History uppercase or lowercase. You have a variable named historyData and another one named historyData1. I know it can be hard to come up with good variable names, but your code will be easier for people to read if you give your data structures and variables less confusing names.