invoice form_object refactor