Most invoicing tools are built to extract, not to serve
Freelancers and small businesses spend real money on invoicing software that does almost nothing. Monthly subscriptions for features they use once. Data locked in proprietary formats. Emails stored in plaintext on undisclosed servers.
RupaX exists because invoice generation should be a utility, not a subscription. You fill in the form, you get a signed PDF, and your data is cleaned up automatically. No account, no recurring charge, no retention of data you didn't authorise.
We believe invoicing infrastructure should be transparent about its security model, free to use for core functionality, and built with the same engineering rigour as financial software.
Four things we will never compromise on
A stack chosen for correctness, not trend
RupaX is built on a FastAPI backend with SQLModel for ORM, WeasyPrint for server-side PDF rendering, and slowapi for rate limiting. The frontend is intentionally dependency-free — no React, no build step, no 500 KB of JavaScript for a form.
We chose this stack because every component has a single, well-understood job. There is no abstraction for its own sake. The codebase is readable by any Python developer on day one.
How your data is protected end to end
* is never combined with allow_credentials=True. Frequently asked questions
Everything you need to know about using RupaX.