GST billing software for India
Subscription billing in India, built for GST and recurring rupees
Two Minute Billing raises GST invoices for subscriptions by place of supply, with GSTIN, HSN or SAC codes and TDS recorded on the invoice. Renewals are charged on e-mandates. Sell abroad in USD and EUR from the same business.


GST splits on each line, both GSTINs on each invoice, and TDS recorded
A B2B buyer claims input tax credit from your invoice. A wrong GSTIN, a wrong split or a gap in the series turns into a dispute and a late payment.
TDS withheld and still reconciled
When a customer withholds tax, the invoice shows the full amount and the withheld part, so receivables still match.
One invoice series with both GSTINs
One continuous number series, with your GSTIN and your customer's on every invoice.
GST splits worked out on each line
CGST, SGST and IGST are worked out per line from the customer's state.
GST invoices by place of supply, with GSTIN and HSN or SAC codes
Built into the engine. Each invoice records the rates, your registration and the place of supply as they were that day.
- Place of supplyCGST and SGST inside a state, IGST across states, worked out per line. Cess where it applies.
- GSTIN on every invoiceYours for the right state, and your customer's, with HSN or SAC codes.
- One continuous seriesInvoice numbers run in one unbroken series per business.
- SEZ and exportZero-rated with your note, or with IGST, set per customer.


Recurring INR on a Razorpay e-mandate, with a pre-debit notice
Connect your own Razorpay account. Customers approve a mandate once; each renewal is charged within the limit they agreed.
- Approved onceThe customer approves a mandate on your Razorpay checkout, with a limit they agree to.
- Pre-debit noticeA notice email tells the customer the amount before each mandate charge.
- Charged each renewalThe GST invoice is raised and the mandate is charged within the agreed limit.
- Recovery that knows mandatesWith smart decline handling, a cancelled mandate pauses the invoice and asks for a new one.
HSN on goods
GST invoices for physical goods, too
Selling boxes or refills? Give each price its HSN code, and every invoice line prints it.
- TDS, recordedThe invoice shows the full amount and the withheld part, so receivables still match.
- Prices with or without GSTExclusive for business buyers, inclusive for consumers. Inclusive tax is backed out of the price.
- Sell abroad from the same businessUSD and EUR prices, collected through another gateway you connect, routed by currency.
- Reports in rupeesMRR, churn and receivables per currency, never mixed with dollars.


A renewal on an e-mandate
- Step 1
The customer signs up
They pay on the hosted checkout and approve a Razorpay mandate.
- Step 2
A pre-debit notice goes out
Before the renewal, with the amount to be charged.
- Step 3
The GST invoice is raised
With the right GSTIN, place of supply and HSN or SAC codes.
- Step 4
The mandate is charged
Within the agreed limit. Money settles in your own Razorpay account.
Money you can trace, cards you never hold
How we keep billing safeAn append-only ledger
Balances come from double-entry records. A correction is a new entry, so every figure traces back to the rows behind it.
PCI DSS SAQ-A scope
Card numbers go from the browser straight to your payment gateway. They never reach our servers or yours.
An audit log
Who changed what, from the dashboard or the API, with the values before and after.
GST billing questions
Read next
Raise a GST invoice in test mode
Add your GSTIN and rates, bill a test customer in another state, and read the invoice before any real customer does.

