Skip to content27% offProofmatch for ₹10,999 ₹14,999
CloneifyPro

Billcraft · Invoice generator

GST invoices for any business: CGST + SGST or IGST, HSN/SAC, rupees in lakh and crore, three designs, a client link, payments and PDF.

Billcraft walkthrough video
Video

Walkthrough: the overview, a GST invoice built with its live preview, then the client's link

1 / 6

What Billcraft runs

  • Any number of accounts, each a separate business with its own profile, clients, items and numbering
  • Lines with quantity, unit, rate, discount and their own tax rate; an invoice discount, shipping and rounding
  • GST with CGST + SGST or IGST from the place of supply, HSN/SAC codes, a GST summary and financial-year numbering
  • Rupees in the Indian format (1,23,456.78) with the amount in words in lakh and crore; other currencies for clients abroad
  • Three templates in your accent colour, printed to an A4 PDF from the browser
  • A link for the client, opened-tracking, part payments, overdue, void and duplicate
Platform
Web; the client's link works on any phone
Best for
Freelancers, agencies and small businesses
User roles
Any number of businesses; clients need no account
Database
PGlite or any Postgres

Who it is for

  • Freelancers and agencies

    Clients and services saved once, an invoice in a minute, and a clear view of who owes what.

  • Businesses in India

    GST invoices with GSTIN, place of supply, HSN/SAC, CGST + SGST or IGST and the amount in words, numbered by financial year.

  • SaaS builders

    A multi-account invoicing app to run as your own product, with the money maths in one tested module.

Live now

Demo access

Try it before you download it. Three sample businesses in India (a Bengaluru design studio, a Surat textile wholesaler and a Kochi photographer), all billing in rupees under GST, with 6 to 12 invoices each. No sign-up.

Open the demo
  • Overview

    What's owed, what's overdue and six months of invoiced against collected.

    Open overview
  • Invoices

    Every invoice with its status: drafts, unpaid, overdue, paid and void.

    Open invoices
  • New invoice

    The editor with its live A4 preview. Pick a client and add lines.

    Open new invoice
  • Client's view

    An overdue, partly paid GST invoice, as the client sees it from the link.

    Open client's view

Businesses in the demo

No password in the demo. The bar at the top switches between the three businesses.

  • Aarav Mehta

    Pixel & Pine Studio, Bengaluru

    CGST + SGST or IGST, SAC codes, financial-year numbering, a zero-rated SEZ supply under LUT.

    Open the demo
  • Hetal Shah

    Tapi Textiles, Surat

    HSN codes at 5% and 18% on one invoice, IGST to Jaipur, Kolkata and Delhi, e-way bill and vehicle numbers, the Classic template.

    Open the demo
  • Nikhil Menon

    Kayal Frames Photography, Kochi

    Prices including GST, wedding clients with no GSTIN, advances as part payments, the Minimal template.

    Open the demo
  • A client

    No account

    Opens the invoice from its link, sees what's due and how to pay, and saves the PDF.

    Open the demo

Invoices, clients and settings stay in this browser's storage. “Reset demo” in the bar starts over.

On your own machine

Install it and sign in

  1. 1
    npm install
  2. 2
    npm run dev

Open http://localhost:3000 and create an account: your name, your business and a password of at least 8 characters. Then add your GSTIN and state in Settings. Set AUTH_SECRET before production.

Features

Grouped by where the work happens.

Invoices

8
  • A live A4 preview beside the form: the preview is the invoice
  • Lines with description, details, HSN/SAC or code, quantity, unit, rate, discount and tax rate
  • Saved items fill a line as you type its name
  • Invoice discount as a percentage or an amount, shipping with its own tax rate, rounding
  • Prices with tax added on top, or tax included
  • Custom fields (PO number, project, vehicle number) and any title: Tax invoice, Proforma, Quote
  • Numbers from your own sequence with {YYYY}, {MM} or India's {FY}; never the same number twice
  • Starts from a Leadtrail deal: the customer, GSTIN and quotation lines arrive filled in, ready to check and save

GST and money

5
  • India GST: CGST + SGST inside the state, IGST across states or for exports, from the place of supply
  • A GST summary by rate, GSTIN on both sides, and the state read from a GSTIN
  • Zero-rated supplies under LUT (exports, SEZ units) with the LUT ARN on the invoice
  • Rupees by default, in the Indian number and date format; 29 more currencies for clients abroad
  • Amount in words, in lakh and crore for rupees

Getting paid

5
  • A private link per invoice: the client views it and saves the PDF, no account
  • Opened, overdue and partly paid worked out for you
  • Record part payments by bank transfer, UPI, card or cash; the balance and status follow
  • An overview with what's owed, what's overdue and six months of invoiced against collected
  • Email the client from your own mail app, duplicate, back to draft, void, CSV export

Accounts

3
  • Sign-up creates a separate business; one account never sees another's data
  • Your logo, address, tax ID, payment details and signature on every invoice
  • Starts as an Indian GST business; VAT and sales-tax presets (UK, Europe, US, UAE, Australia) if you ever bill abroad

Tech and requirements

Exact versions, because that is the first thing a developer checks.

Stack

Framework
Next.js 16, App Router
Interface
React 19, Tailwind CSS 4
Language
TypeScript
Database
PGlite by default, or PostgreSQL 13+
Sign-in
Email and password, scrypt, signed session cookie
PDF
A4 print stylesheet: the browser saves the exact preview as a PDF

To run it

Node.js
22.6 or newer
Database
None to start; Postgres for production
Secret
AUTH_SECRET in production
Hosting
Vercel, or any server that runs Node.js

What you get in the download

billcraft.zip, 147 KB: the whole project as it unzips, counted from the zip itself.

  • Complete source code, nothing obfuscated
  • A README: quick start, configuration and deploying
  • An .env.example with every setting and its default
  • The script that builds the browser demo
billcraft.zip66 files · 147 KB
  • Pages and API routes15 files
    14 KB
  • Core logic12 files
    104 KB
  • Server8 files
    23 KB
  • Screens and components22 files
    210 KB
  • Scripts1 files
    3 KB
  • README and configuration8 files
    81 KB

Common questions

01. Can several businesses use one installation?

Yes. Every account is a separate business with its own profile, clients, items, numbering and invoices, and every query is scoped to the signed-in account. Set SIGNUP=closed to stop new accounts.

02. Is it GST compliant?

Invoices carry both GSTINs, the place of supply, HSN/SAC per line, CGST and SGST or IGST, a summary by rate, the amount in words and a financial-year number. It doesn't file returns or generate e-invoices (IRN) or e-way bills; those need the government portals or a GSP.

03. How is the PDF made?

The invoice is laid out as an A4 sheet with a print stylesheet, so the browser's Save as PDF gives a sharp, text-selectable copy of exactly what the preview shows. Nothing to install on the server.

04. Can clients pay online?

Each invoice prints your payment details (bank, UPI, IBAN or a payment link) and you record payments as they arrive. A card gateway isn't built in; the invoice page is where one would plug in.

05. Does it handle prices that include tax?

Yes, per invoice or as your default. Discounts are shared across the lines before tax, and tax is rounded once per rate, the way returns report it.

More products

All products

Leadtrail

Sales CRM

A sales CRM for any number of companies: enquiries from IndiaMART, JustDial, Facebook and the website, a repeat check on every mobile number, follow-ups, WhatsApp templates, a drag-and-drop pipeline, and one-click invoices in Billcraft.

  • Next.js 16
  • React 19
  • TypeScript
  • PostgreSQL
Files
74
Lines
10,823
Source
₹12,499

Renewly

Membership management

Memberships and fees for gyms, studios, dance academies and coaching classes: members and plans, part payments with receipts, renewals and pauses, WhatsApp reminders, Razorpay payment links, and a Today screen of who to collect from and who to renew.

  • Next.js 16
  • React 19
  • TypeScript
  • PostgreSQL
Files
86
Lines
12,718
Source
₹9,999

Consentdesk

DPDP privacy and consent

Privacy and consent for India's DPDP Act and Rules: a notice in English and Indian languages, a consent banner and form (a parent's email code for under-18s), a receipt for every answer, a privacy page where people withdraw consent or ask to see, correct or erase their data, requests with deadlines, a 72-hour breach register, and a data map with vendors.

  • Next.js 16
  • React 19
  • TypeScript
  • PostgreSQL
Files
84
Lines
10,531
Source
₹12,499