bwcaputo

Phase1 Three Way Match — DevOps skill for Claude Code

DevOps community

AI agent that performs three-way match (PO + goods receipt + vendor invoice) against Odoo ERP.

How to install Phase1 Three Way Match

This entry records only its repository, not the path inside it, so there is no exact command to give. Open bwcaputo/phase1-three-way-match and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Phase1 Three Way Match does

AI agent that performs three-way match (PO + goods receipt + vendor invoice) against Odoo ERP. Built with Claude and Python to show how mid-market finance teams can deploy agentic AI on real back-office work.

Alternatives in DevOps

  • Chat — chat web app for teams, sass with user management and ratelimit, support chatgpt(openai & azure), claude, gemi 568 ★
  • Deploy Status — SSH to 2anki.net, show pm2 status and recent server log tail 324 ★
  • Deploy Info — Show what will deploy next — diff staging vs main with issue/PR summary, risk assessment, and deploy checklist 117 ★

README

Three-Way Match Agent

An AI agent that reads a vendor invoice, the purchase order it claims to be against, and the goods receipt that proves the goods arrived — and tells an AP clerk whether to pay it, hold it, or block it. Runs against a real Odoo instance in Docker.

Why this workflow

Three-way match is the control every mid-market finance team says they do and half of them do partially. A purchase order, a goods receipt, and a vendor invoice all have to agree on who, what, how many, and how much before money leaves the company. When a team does it by hand, the same clerk checks thousands of invoices a month, misses the small variances because the small variances look like the big ones, and leaves an audit trail that says "approved by J. Smith" with no supporting evidence.

An agent fits this job because the work is structured, the rules are already written, and the hard part is judgment at the margin — not reading the documents. The agent does the reading and the arithmetic. A human still owns the exceptions.

What this repo does

Point the agent at a vendor invoice number. It will:

  1. Pull the invoice from Odoo
  2. Pull the purchase order the invoice references
  3. Pull the goods receipt tied to that PO
  4. Check the vendor's other invoices for a duplicate
  5. Run a deterministic match that flags discrepancies across vendor, quantity, unit price, and totals
  6. Recommend one of three actions — approve, route for review, or block — with a plain-English rationale and a full audit trail

The agent narrates. The code decides. The model never computes a dollar amount or decides the final action — that's the only way to make an AP agent that a finance team will trust.

Scorecard

Seven experiments. Four RPST axes. The scorecard a consulting team runs before a client picks an AP agent.

Variant RPST Axis Model Accuracy
baseline — Sonnet 4.6 96.7% (29/30)
tight_tolerance Policy Sonnet 4.6 90.0% (27/30)