Paid orders were invoiced as PDFs while the order pipeline lived in a spreadsheet, so matching invoices to orders and checking payment was manual, and web addresses garbled by OCR never matched the sheet exactly. Invoice PDFs are read with OCR, and the amounts and web addresses are extracted. Each is fuzzy-matched to a live order row, so OCR noise does not break the match, and the system writes back paid, missing or discrepancy status.