Seems like a pretty good use of ML really - shouldn’t be an intractable problem to identify something like a scanned W2, run OCR on it and extract the income fields.