Inspiration

Freelancers often agree on important project details inside WhatsApp messages, emails, and DMs. The price may be clear, but deadlines, revisions, dependencies, and exclusions remain scattered across the conversation.

Work begins with both sides holding slightly different versions of the agreement. When the client later requests “one small addition,” nobody has a reliable baseline for deciding whether it is included or requires a new fee.

Receipts was created to make those informal agreements clear before the work begins.

What it does

Receipts turns a client conversation into a clear, source-linked agreement.

A freelancer can import or paste a conversation, and Receipts identifies:

  • Terms both parties agreed on
  • Details that remain unclear
  • Statements that contradict each other
  • Requests that may fall outside the original scope

Every extracted term links back to the exact message that supports it. Receipts never silently decides an ambiguous term—the freelancer must resolve it explicitly.

Once everything is clear, Receipts creates a Start Receipt that the client can review and approve without creating an account.

If the client later asks for additional work, Receipts compares the request with the approved baseline and creates a linked Change Receipt containing the new deliverables, additional fee, and revised deadline.

How we built it

The frontend is built with React, TypeScript, and Vite.

The product has a separate domain layer for agreement analysis, term resolution, receipt creation, approval status, and scope-change tracking.

Xano provides the durable backend for:

  • Project snapshots
  • Revision and conflict protection
  • Approval-link records
  • Activity and audit history
  • API workflows for creating, loading, and updating projects

The frontend uses a repository adapter that connects to Xano when the API URL is configured while retaining a local development mode.

This separation allows messaging integrations and document providers to be added without rewriting the core product experience.

Why Xano is essential

Receipts is not simply a document generator. It is a stateful workflow that must remember what was agreed, which version was approved, who approved it, and what changed afterward.

Xano acts as the system of record for that workflow. Its database and APIs preserve the agreement across sessions, prevent one session from silently overwriting another, and maintain an auditable history of important actions.

Challenges we faced

The hardest challenge was deciding how much authority to give the AI.

Automatically producing a polished agreement is easy, but confidently inventing an answer when the conversation is unclear would make the product less trustworthy. We designed the workflow so AI organizes the evidence while humans make the consequential decisions.

We also had to model scope changes without modifying the original agreement. Start Receipts remain the approved baseline, while every later addition becomes a separate, linked Change Receipt.

Finally, we introduced revision checks so two browser sessions cannot unknowingly overwrite each other’s updates.

Accomplishments we are proud of

  • A complete conversation-to-approval workflow
  • Source-linked terms instead of unsupported summaries
  • Explicit resolution of ambiguity and contradictions
  • No-account client approval
  • Immutable Start Receipts and linked Change Receipts
  • Durable Xano state with revision protection
  • An append-only activity history
  • A focused demo that communicates the value in under a minute

What we learned

The real problem is not generating contracts. It is helping two people establish the same definition of done before money and work are at risk.

We also learned that trustworthy AI products need visible evidence, clear boundaries, and intentional moments where a human remains responsible for the final decision.

What's next

Next, Receipts will support direct conversation forwarding through WhatsApp, Instagram DMs, Telegram, email, and Slack.

We also plan to add production document generation and digital signing, authenticated multi-device workspaces, automated scope-change detection, payment milestones, and reusable agreement templates for different freelance industries.

Our goal is simple: wherever a client conversation happens, Receipts should turn it into a shared, verifiable agreement.

Built With

  • xano
  • xanoscript
Share this project:

Updates

Submission history