Separate the document from the business event
An invoice file, an invoice record, an approved liability, and a completed payment are different objects. I would give each a distinct identity and state. That prevents the system from reporting progress it has not actually achieved.
The incoming document record should retain its source, received time, supplier association, and file reference. Extraction produces proposed fields. Validation checks those fields. Review resolves exceptions. Only the approved downstream process can authorize payment.
For a first release, I would stop before payment execution. The deliverable is a dependable queue of matched records and clearly explained exceptions. That scope can remove administrative work while preserving the finance team's existing authority.