Inspiration Corporate treasury is still surprisingly manual. An invoice arrives, someone cross-checks it against a spreadsheet, another person approves it in Slack, and a third person manually triggers payment. The "CFO" in most modern startups and enterprises is often a founder or finance lead juggling dashboards, spreadsheets, and a prayer.

We set out to build OmniCFO with a non-negotiable design philosophy: an autonomous agent can move money, but only within strict, fail-closed policy boundaries. The agent should handle the routine, repetitive 94% of operational payments seamlessly, while escalating the critical 6% that require human judgment.

What it does OmniCFO is an autonomous corporate treasury agent that automates the end-to-end invoice-to-settlement lifecycle with built-in safety guardrails:

Invoice Ingestion & Audit: Automatically ingests incoming invoices, extracts structured data, and checks historical records to prevent double billing or duplicate payouts.

Fail-Closed Policy Engine: Evaluates each payment against predefined corporate spending limits (e.g., $500 threshold).

Autonomous Execution (<$500): Low-value, routine invoices are auto-approved and routed straight to settlement.

Human-in-the-Loop Escalation (>$500): High-value invoices cause the agent to pause its workflow, persist its exact execution state, and send an interactive Telegram alert to the CFO featuring one-tap [Approve] and [Reject] buttons.

Programmatic Settlement: Upon human approval via Telegram webhook, the agent wakes back up and executes the fiat payout via Dodo Payments.

Observability & Audit Trails: Every decision point, LLM audit verification, and approval event is streamed to Neatlogs for auditability.

How we built it Agent Orchestrator (AO): Used AO to design, run, and persist state across the multi-node financial agent workflow.

Dodo Payments: Integrated Dodo Payments Sandbox for executing programmatic fiat payouts.

Telegram Bot API & Webhooks: Configured an Express backend with webhooks to receive real-time inline button callbacks (callback_query) straight from mobile.

Supabase (PostgreSQL): Stored invoice details, spending policy limits, and persistent agent run states (invoices, agent_runs, policy_rules).

Frontend Dashboard: Built a dark-mode, high-performance UI using Next.js, Tailwind CSS, and Lucide React, deployed live on Vercel.

Challenges we ran into State Persistence Across Delays: Long-running financial workflows cannot remain stuck in memory while waiting for human input. Designing the system to save its exact DAG position in Supabase and wake up cleanly when a Telegram webhook fired required careful state management.

Enforcing Fail-Closed Security: Designing the policy engine so that any unexpected error or API timeout causes the system to fail closed (halting funds) rather than proceeding with execution.

Accomplishments that we're proud of Zero-Loss State Machine: Successfully built a human-in-the-loop loop where an agent pauses mid-workflow, notifies a user on Telegram, receives an inline button tap, and resumes payment seamlessly.

Clean Hackathon Architecture: Delivered a production-ready stack unifying AO orchestration, Dodo Payments, Supabase, and Neatlogs observability under 48 hours.

Live Deployment: Shipped a functional landing page and live interactive treasury dashboard at omnicfo.vercel.app.

What we learned Guardrails Over Pure Autonomy: In financial operations, raw autonomy is dangerous without strict limits. High-value agent systems must be engineered around safety, predictability, and fail-closed defaults.

Frictionless Human-in-the-Loop: Executives won't open a heavy dashboard to approve every $50 expense, but a 1-second tap on a phone screen via Telegram makes policy enforcement practical.

What's next for OmniCFO Intra-Company Debt Netting: Building multi-subsidiary cash minimization algorithms to settle inter-company debts in the fewest possible transactions.

ERP & Accounting Sync: Adding two-way integrations with QuickBooks, Xero, and NetSuite to close books automatically after settlement.

Multi-Channel Approvals: Expanding approval hooks to Slack, Discord, and multi-sig crypto wallets for Web3 corporate treasuries.

Built With

  • aoagent
Share this project:

Updates

Submission history