The two documents look almost identical on the page, which is the entire problem. One is a priced offer that binds nobody and appears in no return; the other is the document that fixes your tax liability the moment it leaves your outbox.
What each one actually does
A proforma invoice commits nothing. It is a quotation formatted like an invoice, because that is the shape a buyer's procurement system can consume — line items, quantities, rates, a total. It creates no output tax liability for you, it is not reported in your GSTR-1, it gives your customer no input tax credit, and it is not a demand for payment. If the deal never happens, the proforma leaves no trace anywhere in your books.
A tax invoice is the opposite in every respect. It is the document that fixes the time of supply, puts the tax into your return for that period, and puts the corresponding credit into the buyer's GSTR-2B. It has to carry your GSTIN and theirs, HSN or SAC per line, the place of supply, the tax split into CGST plus SGST or into IGST, and a number drawn from a unique consecutive series for the financial year.
The asymmetry between them is the thing worth holding on to. A proforma you should not have sent costs you a conversation. A tax invoice you should not have sent costs you a credit note, an amendment in the following return, and somebody else's reconciliation.
The differences that matter
| Proforma invoice | Tax invoice | |
|---|---|---|
| What it is | An offer, issued before the order | A record of a supply that happened |
| Numbering | Its own series, e.g. PI-2026-0091 | Unique and consecutive for the year |
| Your tax liability | None | Output tax, in the period it is issued |
| Buyer's input credit | None | Yes, once it appears in their GSTR-2B |
| In your GST return | No | Yes |
| Demand for payment | No | Yes |
| If it is wrong | Reissue it | Credit note, and an amendment |
| Expiry | Has a validity date | Does not expire |
The row people skip is numbering, and it is the one that causes an argument with an auditor. Tax invoice numbers must be unique and consecutive within a financial year. Every proforma that consumes a number from that run leaves a gap, and a gap in an invoice series is a question you will be asked to answer — the natural reading is a suppressed sale, not a quote that went nowhere.
Why their accounts team pays it anyway
Accounts payable does not read your document the way you wrote it. It processes shape.
A PDF arrives in a shared inbox carrying a payee, an amount, a total in words, a GSTIN and bank account details. That is a payable. The person keying it in was not on the call with your sales team, does not know an order has not been placed yet, and has no reason to treat this page differently from the forty others in the queue. If the only thing distinguishing it is a small word in the header, the word loses.
Two things go wrong from there, and the second is much worse than the first.
They pay it, and then they pay the tax invoice that follows. Now you are holding an overpayment against an order that may or may not exist, someone spends a morning finding it, and you spend a second morning refunding it or adjusting it.
Or they book it as a purchase and claim credit against it. There is nothing to match — you filed nothing, so nothing appears in their GSTR-2B. The mismatch surfaces at reconciliation, the credit is reversed, and interest runs from the date it was taken. On a ₹12 lakh order at 18%, that is ₹2.16 lakh of credit reversed with interest at 18% per annum on top, for a mistake neither side intended.
There is a quieter version too. If the payment does land against a proforma, that money is an advance sitting against an order your system does not know about. For services, an advance attracts GST at the point of receipt and requires a receipt voucher. If nobody notices the money arrived — because it arrived against a document that is not in your invoice ledger — the liability is missed in the period it fell due, and you find out when the reconciliation does.
Mark it so it cannot be mistaken
Every mitigation here is cosmetic in the sense that it changes nothing legally, and load bearing in the sense that it is the only thing standing between your quote and their payment run.
- Title it twice. PROFORMA INVOICE as the document heading, and NOT A TAX INVOICE immediately under it. In the header, not the footer — the person scanning the page reads the top of it.
- Use a visibly different number. A
PI-prefix, orQT-. Anything that does not look like the invoice numbers you normally send them. - Remove the payment language. No "amount due", no "payable by", no due date. Use estimated total and valid until instead. Those two phrases do more work than the disclaimer does.
- Label the tax as an estimate, because it is one. The rate may be right, but you are not charging it, and a clean tax breakup is the single strongest signal that a document is a real invoice.
- Add a two-line disclaimer block. This is a quotation; no tax is charged; a tax invoice will be issued on despatch.
Bank details are the judgement call. A page carrying an amount and an account number is a payment instruction whatever the heading says. If you are not asking for money yet, take them off. If you are asking for an advance, keep them and write the request in a sentence — "40% advance against this proforma; balance on despatch against tax invoice" — so the intent is on the document rather than implied by an account number.
The free proforma invoice template is laid out this way already, with the marking in the header, the validity date beside the total, and the tax column labelled as an estimate. If you are building your own, those are the three places to look at first.
What a proforma is genuinely good for
None of this is an argument against sending them. A proforma does several jobs no other document does.
Getting the purchase order raised. Most procurement functions cannot open a requisition without a priced document on file, and they cannot ask you for an invoice because there is nothing to invoice yet. The proforma is what the requisition is raised against.
Budget approval. A finance lead signing off spend needs a number with your name, a date and a scope attached to it. An email saying "roughly eight lakh" does not clear an approval workflow; a numbered document does.
Customs and shipping. A commercial invoice cannot exist before the goods do, so the proforma stands in for pre-shipment documentation, for opening a letter of credit, and for a freight forwarder estimating duty and landed cost. This is the use case the format was originally built for.
Asking for an advance. Standard for made-to-order goods, long lead times and new customers. It is a legitimate reason to send one — just be explicit that it is what you are doing, and issue the receipt voucher when the money lands.
The field that makes all four safe is valid until. A price with no expiry binds you indefinitely, and buyers do reappear six months later holding a printed proforma and an expectation. Steel moves, freight moves, the rupee moves. Thirty days is a reasonable default for goods with volatile inputs and ninety is normal for services. The date also creates useful pressure in the right direction — a quote expiring on 16 September is a reason for someone's procurement team to finish the approval in August.
The short version
A proforma is a quote in invoice clothing. It costs you nothing to send and nothing to withdraw, and its only real risk is that it gets mistaken for the thing it resembles.
So make it hard to mistake. Different number series, unmistakable heading, no payment language, tax marked as estimated, and an expiry date. Then when the order converts, issue a fresh tax invoice with its own number and quote the proforma on it. The amounts may legitimately differ — actual quantities, actual freight, actual tax — and that is fine, as long as the two documents point at each other clearly enough that whoever opens the file eight months from now can see which one was the offer and which one was the sale.