Project name: Ask2Bill Tagline: An AI front desk for solo businesses that turns inquiries into PayPal invoices — but never moves money without the owner's approval.

Inspiration / The problem Solo operators and micro-businesses lose hours every week to the same loop: answer an inquiry, draft a quote, chase approval, create an invoice, check whether it was paid, send a reminder. The work is clerical, but the money step is scary to automate — a wrong amount on a real invoice is a real problem. Existing tools automate either the chat or the invoicing, not the hand-off between them, and fully autonomous agents that can issue invoices on their own are exactly what small owners do not trust.

What it does Ask2Bill is an agentic front desk that runs the whole loop as one pipeline:

  1. Intake — a customer inquiry arrives (web form / chat).
  2. Classify & draft — the agent classifies the request against the business's service catalog and drafts an itemized estimate.
  3. Human approval gate — the draft goes to the owner. Nothing financial happens until the owner approves; a rejected draft is logged and no invoice exists. This gate is the core design decision.
  4. Invoice via PayPal — on approval, the agent creates and sends a PayPal invoice (Invoicing API) / checkout order (Orders API) in the PayPal Sandbox, and the customer gets a payment link.
  5. Payment reflection — when the customer pays, the ledger entry flips to PAID through the payment-confirmation path: a webhook handler for PAYMENT.CAPTURE.COMPLETED / INVOICE.PAID updates the ledger (verified locally with simulated payloads, including duplicate-event idempotency), and the demo confirms the paid state through the PayPal API. The owner is notified, and the customer receives a receipt message. Unpaid invoices get a polite, generated reminder.
  6. Dashboard — every inquiry, estimate, invoice and payment status is visible in one ledger grid (an AG Grid dashboard generated from the ledger, with a plain-table fallback if the AG Grid CDN is unavailable), so the owner sees the whole business at a glance.

How we built it Python (standard library for the prototype core), with the payment layer isolated behind a single adapter interface. The production adapter talks to the PayPal Sandbox REST APIs (OAuth2 client credentials, Orders API v2 create/capture, Invoicing API v2 create/send, webhook handler plus API confirmation for ledger updates). The intake/classification layer is reused from our earlier SMB-automation prototypes (FAQ intake bot; inquiry→ledger→notify pipeline); the new work for this hackathon is the estimate→approval→invoice layer and the PayPal integration. AI is used where it is safe — drafting estimates and messages from a fixed catalog — and deliberately not used to decide final amounts: pricing authority stays with the human owner.

Challenges we ran into Designing the trust boundary: which steps an agent may do alone (draft, classify, remind) and which must stay human (approve an amount, issue an invoice). Getting idempotency right so a retried webhook or a duplicated inquiry can never create a second invoice for the same job.

Accomplishments we're proud of A working end-to-end pipeline where the "AI moves money" moment is structurally impossible without a recorded human approval — the approval, the invoice, and the payment are all in one auditable ledger.

What we learned For agentic commerce, the winning feature is not autonomy; it is a well-placed pause. Owners adopt agents that make their control visible.

What's next Real PayPal production onboarding path for micro-businesses, LLM-based classification for free-text inquiries beyond keyword catalogs, recurring invoices for maintenance plans, and multi-channel intake (Telegram/LINE).

Built with: Python, PayPal Sandbox (Orders API v2, Invoicing API v2, Webhooks), AG Grid, LLM-assisted drafting.

Built With

Share this project:

Updates

Submission history