Refactor invoice module to use custom read-only repositories