Neither replaces the other completely. Here's where each one actually helps.
Checking that every line's quantity times unit price equals its total, and that everything sums correctly, takes a computer under a second and it never gets tired on line 40 of a long invoice.
A human reading top to bottom once can miss two identical rows several lines apart. A program comparing every row against every other row won't.
Whether a rate, a fee, or a quantity makes sense against the actual work delivered requires knowing the context of the job — something a math check can't evaluate.
An invoice that's a scanned image, handwritten, or laid out unusually can defeat automated text extraction entirely. A person can still read it.
Knowing that a vendor's rates changed last quarter, or that a project scope shifted, is context a single invoice doesn't contain.
Run every invoice through an automated math and duplicate check first — it costs seconds and catches the mechanical errors reliably. Save human attention for the invoices that get flagged, or for judgment calls the tool can't make: whether a rate is fair, whether the work described actually happened, whether a fee makes sense for the engagement.