Inspiration

Small businesses track vendors in spreadsheets and pay by hand: find who is due, verify amounts, send each payment, record it, hope nothing was missed. The data to automate this already exists. What is missing is a trusted operator.

What it does

vendor-payment-system is a working vendor payment platform (built and tested during a software engineering internship at Nurofin): a FastAPI REST API for full vendor CRUD, PostgreSQL persistence through SQLAlchemy, and a dashboard frontend. For this hackathon an agent layer goes on top: list_due_vendors, draft_payment_run, execute_run through PayPal's payouts API in sandbox, and record_outcome. One instruction, "pay everyone due this week", becomes a drafted run the operator reviews line by line and approves; the agent prepares, the human holds the trigger.

How we built it

The ledger gains a REST tool surface; the agent reasons over it and PayPal executes in sandbox first, always. Amounts are verified against ledger records before a draft is shown, the run is draft-only until approved, and every action is audited. The gated-boundary pattern from my agent-security work reappears here: a blocked or unconfirmed call never reaches the payment rail.

Challenges

Keeping trust honest: the PayPal payouts integration is the build of this hackathon, while everything about the vendor-payment-system API and dashboard comes straight from its repo README.

What's next

Automatic invoice intake, duplicate and out-of-pattern anomaly checks, multi-tenant isolation, dispute states reconciled back into the ledger.

Built With

Share this project:

Updates

Submission history