GST-compliant invoicing and UPI-native payments — built for one freelancer, not a finance team.
🔗 Live demo: https://invoiceflow-xehb.vercel.app/demo 🔗 Product: https://invoiceflow-xehb.vercel.app
Indian freelancers and small agencies still invoice the way they did a decade ago — WhatsApp PDFs, Excel trackers, manual bank-transfer follow-ups. It works, until it doesn't: a wrong CGST/SGST split costs a client their input tax credit, a missed follow-up costs you a month of cash flow, and every new tool on the market is either an accounting suite you don't need or a free plan that caps out the moment your business gets serious.
InvoiceFlow is built around one idea: invoicing software for a single person shouldn't feel like software built for a finance department.
- Automatic GST — CGST, SGST, or IGST calculated correctly from your client's state, every time, including zero-rated export invoices under LUT. No spreadsheet, no manual lookup, no compliance risk.
- One-click, on-demand PDF invoices — professional, branded, generated fresh from your data every time, never a stale cached file.
- UPI & card payments, in one tap — every invoice ships with a Razorpay payment link. Clients pay directly; you're notified the moment it lands.
- A payments-first dashboard — total earned, outstanding, and overdue, visible the second you log in. Not a report you have to go looking for.
- Full client history — every invoice, every payment, tied to the client it belongs to.
- Compliance-correct corrections — sent invoices are never silently edited. Mistakes are voided and reissued under a new sequential number, exactly as GST requires.
- Built-in automation — overdue invoices are detected automatically, and a weekly digest keeps you from losing track of who owes you money.
- No invoice caps. Ever.
| Zoho Invoice | Refrens | Riffit | InvoiceFlow | |
|---|---|---|---|---|
| Built for | Broad SMB | GST-focused SMB | Solo freelancers (chat-first) | Solo freelancers (product-first) |
| Invoice cap on free tier | Feature-gated | 15/year | — | None |
| Payment tracking depth | Report-buried | Moderate | Minimal (chat ceiling) | Home screen, day one |
| Payment collection | Multi-gateway | Multi-gateway | WhatsApp link | UPI-native via Razorpay |
InvoiceFlow doesn't compete on feature count. It competes on being the thing a freelancer actually wants to open every day.
A production-grade, security-conscious stack — not a prototype:
- Next.js 16 (App Router, TypeScript) — Server Components by default, minimal client JS
- PostgreSQL (Neon) via Prisma 6 — every monetary value stored as
Decimal, neverFloat - Better Auth — session-based authentication, fully isolated per-tenant data access
- Razorpay — payment links with cryptographically verified, idempotent webhooks; duplicate delivery of the same event is guaranteed to never double-process a payment
- Resend — transactional email, including automated overdue digests
- Tailwind CSS v4 + shadcn/ui — a real design system, not utility-class sprawl
- Vercel — deployed with scheduled cron automation for overdue detection and reminders
- Money is never a float. Every tax and total field is a fixed-precision
Decimal, computed once at invoice creation and never silently recalculated. - Payment state has one source of truth. Whether a client pays via Razorpay or a freelancer marks an invoice paid manually, both write to the same append-only payment ledger — never a status field mutated directly.
- Webhooks are trusted, not assumed. Every incoming payment event is signature-verified and checked for duplicate delivery before it's allowed to touch the database.
- Multi-tenancy is enforced at the query, not the UI. Every database read is scoped by the authenticated user's ID — cross-tenant access fails closed, not open.
- Compliance shapes the architecture. GST's sequential-invoice-number requirement is why sent invoices are voided and reissued instead of edited — a business rule encoded directly into the data model, not bolted on as a UI restriction.
Now: single-tenant payment collection — all client payments settle to the platform's own Razorpay account.
Next — Marketplace payments (Razorpay Route): The most significant evolution on the roadmap is turning InvoiceFlow into a true multi-tenant payments platform:
- In-app KYC onboarding — freelancers verify their identity and bank details directly inside InvoiceFlow (PAN, business details, bank account), no separate portal
- Direct settlement — client payments route straight to the freelancer's own linked account via Razorpay Route, not through a shared pool
- Optional platform fee — a small, transparent cut on each transaction, enabling a sustainable business model without subscription friction
- Full accountability — every linked account, every split, every settlement traceable end-to-end
This is a deliberate, sequenced roadmap item — not an oversight. Marketplace-style payment routing carries real regulatory weight in India (RBI's Payment Aggregator framework), and this project is being built to eventually meet that bar properly rather than shortcut it.
Later:
- CSV export for tax filing season
- Rate-limited, hardened public endpoints at scale
- Search and pagination across every list view (already shipped for invoices)
Asif Mulla
This project was built end-to-end — schema design, backend, payment architecture, and UI — as a demonstration of production-grade full-stack engineering, not a tutorial clone.