Skip to content
Odexy Sales

Quotes, invoices and recurring billing, joined to CRM

Per-org multi-currency. Quotation acceptance becomes an invoice draft. Payment posts to Accounting. One schema.

Free for 5 seats · no credit card · every module included

The wedge

Quotation tools email a PDF. Invoicing tools track an invoice. Odexy Sales runs the full quote-to-cash flow in one schema, joined to the CRM deal that produced it and the Accounting journal that records the revenue.

What ships today

  • Quotations — line-itemed quotes with custom currencies, taxes, discounts, expiry. Public accept link emails a signed acceptance.
  • Invoices — drafted, sent, viewed-tracked, paid-tracked. Public pay link integrates with the payment gateway when configured.
  • Recurring invoices — schedule, generate next invoice automatically, suspend on cancel.
  • Multi-currency — per-org default currency + per-customer override; FX conversion via the unified currency system.
  • Templates — branded PDF with letterhead, payment instructions, terms & conditions.
  • Email sends — invoice / quotation emails go through the unified Email module with one suppression list.
  • Quotation → Invoice — accept a quote, invoice is drafted with the same lines, same totals, same currency.

How it integrates

  • CRM — quotations attach to the deal; deal status auto-advances on quotation acceptance.
  • Accounting — invoice payment posts a GL entry tagged to the deal/customer.
  • Email — every send (quotation invite, invoice, reminder, dunning) goes through one outbound module.
  • Forms — public acceptance signed via the Forms public-token infrastructure.
  • Documents — PDF rendering via @helios/documents shared package.

How the AI helps

  • "Draft a quotation for ACME at the same line items as their last invoice, plus 10% for the new SLA tier."
  • "Send the invoice reminder to anyone overdue more than 14 days, using the polite-first-reminder template."
  • "Convert the last 3 quotes from EUR to USD at the configured rate."
  • "Summarize this quarter's invoiced revenue by industry."

State-changing actions (send, post) require approval. Reads are unrestricted within the agent's permissions.

Built for scale

  • Audit log — every quotation revision, every invoice send, every payment recorded.
  • Idempotency — re-firing a "send invoice" won't double-send. Message-ID is unique-indexed.
  • Public token routes/r/<token> and similar for share / accept links; signed, time-limited.
  • Multi-currency — every amount carries its own currency and is held as whole units of it, so totals never drift by a cent.
  • Permissionssales:invoice:send separate from :create and :void.

> What's queued, not shipped: payment gateway integration (spec drafted at docs/plans/PAYMENT_GATEWAY_MODULE_SPEC.md); the public pay link works when the gateway is configured.

Odexy Sales vs. the category

| | Odexy Sales | Stripe Billing | Chargebee |

|---|---|---|---|

| Joined to CRM + Accounting in one schema | ✓ | partial | partial |

| Quote-to-cash in one tool | ✓ | — | ✓ |

| Per-org multi-currency native | ✓ | ✓ | ✓ |

| AI uses the real UI | ✓ | — | — |

Stripe Billing is the leader for subscription primitives; Chargebee for orchestration. Both leave the CRM join to you. Odexy Sales is one of the modules that handles the customer-facing money flow, in the same schema as everything else.

Design-partner take

> "The deal closed, the invoice drafted, the payment landed, and the revenue posted to the GL — and I clicked once. The other 90% used to be reconciliation work." — Design partner, 8-person consulting firm

TryOdexy Sales.

Free for 5 seats — every module included, no credit card, cancel anytime.

Start free

Subscribe to the Odexy changelog.

One email every ~2 weeks. Honest product notes, no marketing pitches.

We email you only when there's something honest to say. Unsubscribe in one click.