[FEATURE] Refactored invoice to sourceAddress which correlates more to the json in the requests.

Also refactored validate function to remove fields that are valid and keep invalid fields in a sourceAddress object to be added to the response.