How a finance team moved invoice triage from a manual queue to governed agents on lastloop, without giving up a single line of their audit trail.
less handling time
of actions traced
to first agent in production
The team processed thousands of supplier invoices a month by hand — extracting fields, matching against purchase orders, chasing mismatches, and routing approvals. Earlier automation attempts handled the clean invoices but fell apart on exceptions, and nothing produced the audit trail the controllers needed.
On lastloop, the team built an invoice-triage agent that runs as a long-lived service: it extracts and validates each invoice, matches it to the right PO, resolves routine discrepancies, and escalates only the genuine exceptions to a person. Crucially, the agent runs under a scoped identity with read access to the ERP and inbox — and every action is traced automatically.
agent invoice-triage { runs_as: service permissions: [erp.read, inbox.read] schedule: "*/15 * * * *" traced: true }
Handling time dropped by 60% as the agent cleared the routine volume, leaving the team to focus on real exceptions. Because every action was traced and permissioned from day one, the controllers got an exportable, audit-ready record — and the security review took days, not the six weeks they'd budgeted.
"The agent didn't just save us time — it gave us a cleaner audit trail than the manual process ever had.— [Title, Company]