ledgerloop

Reads a client's HRIS, derives their approval workflow, and runs procure-to-pay against it.

How it works
Gate:
an approval step that fires on a condition (amount, variance, …) and pauses for a human.
2-way / 3-way match:
invoice ↔ PO, or invoice ↔ PO ↔ goods receipt (did we receive it?).
Verdict:
clean (reconciles), exception (a variance needs a decision), duplicate (blocked, never paid twice).
Investigator:
an AI agent that reads messy records on an exception and recommends. A human still decides.

Demo mode. This deployment has no database and no model key: the queue, the org and the ERP run from the repo's fixtures in your browser, extraction returns the seeded record each PDF is drawn from, and the agents (onboarding, workflow edits, the investigator) replay answers recorded from the same prompts. Matching, routing and reconciliation are the real code.

HRIS discovery

Point the agent at the client's HR system. It reads the org chart, derives who signs off on what (resolved to real people), and flags the data issues to fix before going live.

What discovery produces

  1. 1Read the org chartPull every active employee, their title, and who they report to.
  2. 2Resolve approversMap each approval gate to a real person, not a placeholder role.
  3. 3Flag data issuesSurface orphans, missing managers, and junk records to fix first.

Derived approval workflow

No workflow yet

Run discovery and the agent derives a conditional approval workflow like this from the client's org chart, resolved to real approvers and ready to edit in plain language.

ledgerloop · onboarding agent for procure-to-pay