Using a complex type for ItemInformation

In some exercises, we are asked to change the type of ItemInformation type to store complex types. I understand I should use a collection, for instance (Invoice Number, Vendor Tax ID, Invoice Item, Total, Date).
From the walkthroughs, I understand that I should “make sure that the argument types in the GetTransactionData, Process, and SetTransactionStatus files match the type of TransactionItem”
Isn’t there a way to change this to a user-defined type, so that when the structure changes, I only have to correct in one place?

Can I have an example on this

In one case, I might have the ItemInformation as a single string, for example a database key that allows me to fetch all relevant data.
In another case, I might prefer to have it complex, like Invoice (Number, Date, Status)
I would like to implement these variations with the minimum possible code changes.