I am in fact saving the list so the user can have history of what was entered and then they can name the transaction, duplicate and restore transactions. I'm just using JSON to save the history. I tested up to 100k records and didn't see a slow-down in performance so to deter me from doing it that way.
Best possible solution in a perfect world? No. Works? yes. Works well? Yes.
Best possible solution in a perfect world? No. Works? yes. Works well? Yes.