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.
Log in or sign up for Devpost to join the conversation.