Invoices can enter through a webhook upload, a monitored Gmail inbox, or a watched Drive folder — each normalized into the same internal format so the rest of the pipeline doesn't care where the file came from. The file is validated, OCR'd, and the extracted text is passed to an AI extraction step that returns structured fields (vendor, amount, date, line items) against a strict schema. Before anything is saved, the system checks for a duplicate invoice; if one exists, finance is notified and the record stops there instead of double-booking. Valid, non-duplicate invoices get an AI-generated summary and go to Slack for a one-click approval decision — approved invoices are marked and archived, rejected ones notify the submitter, and anything ambiguous routes to human review rather than being forced through.