fix: invoice creation via form and make huge refacto