[TASK] Broke out validation method in to various methods and got transactions working when persisting to tables regarding the invoice.