---
title: "Free Proforma Invoice Generator and Format"
canonical: https://luckpanda.app/tools/proforma-invoice
language: en
updated: 2026-10-09
content: full
---

# Free proforma invoice generator

**What is a proforma invoice?** A proforma invoice is a seller's advance statement of what a sale will cost: the goods or services, quantities, prices, tax, delivery and payment terms, sent before anything is supplied. Buyers use it to approve a purchase, pay an advance, open a letter of credit or declare value to customs. It is not a tax invoice and is not recorded as a sale; the real invoice follows on delivery or payment.

- Title it "Proforma invoice" and number it in its own series, never the tax invoice series.
- The buyer cannot reclaim VAT or claim GST input tax credit on it.
- An advance paid against it can still create tax: GST on advances for services in India, VAT on deposits in the UK and EU.
- For a letter of credit or a normal customs entry, the final commercial invoice is what counts.

Free online tool: https://luckpanda.app/tools/proforma-invoice (create on screen, no account needed).

## What a proforma invoice is, and what it is not

"Pro forma" is Latin for "as a matter of form". A proforma invoice looks like an invoice, with the same parties, lines, prices and tax, but it describes a sale that has not happened yet. It tells the buyer exactly what the final invoice will say, so they can arrange money, approvals or paperwork before you ship or start work.

It does three useful jobs. It **fixes the commercial terms** (price, currency, delivery, validity), it **supports the buyer's paperwork** (a purchase approval, an import payment, a bank loan, a letter of credit), and it **asks for an advance** where you want money before you commit stock or time.

What it does not do: it does not record a sale in your books, it does not create a debt the buyer must pay, and it does not give the buyer a tax credit. Tax authorities in India, the UK and the EU all treat the later invoice, not the proforma, as the tax document.

> **Proforma or performa?** The correct spelling is **proforma** (or **pro forma**, as two words, common in the UK and US). "Performa" is a frequent misspelling, especially in India; it means nothing different.

## How to fill in this proforma invoice generator

1. **Add your business and the buyer** Enter the legal names, addresses and tax numbers exactly as they will appear on the final invoice: GSTIN in India, VAT number in the UK and EU.
2. **List the goods or services** One line per item with quantity, unit and price. In India, add the HSN or SAC code on each line; for exports, put the HS code in the description if the editor shows no code field.
3. **Set the currency and tax** Choose the currency the buyer will pay in and the tax rate you expect to charge on the final invoice. Use 0% for exports and say why in the notes.
4. **Write the terms** In the terms, state the validity date, the advance due and how the balance is paid, the delivery lead time and the Incoterms. In the notes, add country of origin and weights for shipped goods.
5. **Sign in to issue and send** Creating and editing here is free. Signing in gives the proforma a number from its own series and lets you send it and later convert it into the invoice; downloading the PDF is free with a small LuckPanda footer, while issuing, sending and clean PDFs without our branding need the Sales module.

## When to send a proforma invoice

| Situation | Why the buyer needs it | What follows |
| --- | --- | --- |
| Advance or deposit before work starts | They pay against a document that states the full price and the share due now | Receipt for the advance, then the final invoice |
| Export order | The importer needs a priced document for an import licence, a foreign-exchange payment or a letter of credit | Commercial invoice with the shipment |
| Customs for goods not sold | Samples, replacements and repairs have no sale invoice, but customs still needs a value | The proforma travels with the goods |
| Buyer's internal approval | A purchasing or finance team signs off a spend before raising a purchase order | Purchase order, delivery, invoice |
| Loan or grant | A bank or funding body pays the seller directly against the quoted price (vehicles, machinery, course fees) | Invoice to the buyer once the funds arrive |
| Made-to-order or reserved stock | You hold goods or production capacity only once the order is confirmed and part-paid | Final invoice on dispatch |

If the buyer only wants a price to compare suppliers, send a quotation instead. A proforma is for an order that is agreed, or about to be: it is the step between "yes" and delivery.

## Example: an export proforma invoice with an advance

Cascade Lab Instruments in Portland, Oregon, has agreed to sell two centrifuges and spare rotors to Deccan Diagnostics in Hyderabad. Deccan's bank needs a proforma invoice to remit the 30% advance and to open a letter of credit for the balance. Exports from the US carry no sales tax, so the lines are untaxed; Indian customs duty and IGST are paid by the importer on arrival.

![Example proforma invoice PI-2026-0142 from Cascade Lab Instruments Inc., Portland, Oregon, to Deccan Diagnostics Pvt Ltd, Hyderabad, for two benchtop centrifuges, two spare rotors and export crating, total 11,320 US dollars, FCA Portland, 30% advance and balance by letter of credit, with numbered notes on each field.](https://luckpanda.app/img/guide/en--proforma-invoice--export-proforma.svg)

*An export proforma invoice. It carries everything the final commercial invoice will, plus validity and payment terms. The numbers match the worked example below.*

1. **Title**: "Proforma invoice", so nobody books it as a sale or pays it twice.
2. **Reference** from its own series (PI-…), separate from your invoice numbers.
3. **Validity**: how long the prices and terms stand; 30 days is common.
4. **Incoterms**: who pays freight and insurance, and where risk passes.
5. **Payment terms**: advance due now and how the balance is paid.
6. **Buyer** with full address; for imports into India, the importer's IEC.
7. **HS code** per line: customs and the buyer's bank use it to classify the goods.
8. **Origin, weights and a "not a commercial invoice" line** for shipping and customs.

**The numbers: proforma invoice PI-2026-0142**

| Item | Qty | Rate | Amount | Tax |
| --- | --- | --- | --- | --- |
| Benchtop centrifuge, 24-place rotor | 2 | $4,850.00 | $9,700.00 | $0.00 |
| Spare rotor, 12 x 50 ml | 2 | $620.00 | $1,240.00 | $0.00 |
| Export crating and packing | 1 | $380.00 | $380.00 | $0.00 |
| Subtotal |  |  | $11,320.00 | $0.00 |
| Total |  |  |  | $11,320.00 |

Deccan Diagnostics remits the 30% advance of $3,396.00 against this proforma. The balance of $7,924.00 is paid under the letter of credit when Cascade presents the commercial invoice and transport documents after shipment.

## What goes on a proforma invoice, field by field

| Field | What to enter | Why |
| --- | --- | --- |
| Title | "Proforma invoice" (or "Pro forma invoice") | Stops it being treated as a demand for payment or a tax invoice |
| Reference number | Next number in a separate series, e.g. PI-2026-0142 | Tax invoice series must stay continuous; a proforma that never converts would leave a gap |
| Date and validity | Issue date and "valid until" | Prices, exchange rates and stock change |
| Seller | Legal name, address, tax number (GSTIN, VAT number, EIN) | The buyer's bank and customs match it to the final invoice |
| Buyer | Legal name, address, tax number; importer code for imports | Same as on the final invoice |
| Lines | Description, HS/HSN/SAC code, quantity, unit, price | Exactly what the final invoice will show |
| Tax | The rate and amount expected, for information | Lets the buyer budget the full cost; nothing is payable on the proforma itself |
| Total and currency | Total payable and the currency | A letter of credit and a foreign remittance are fixed in one currency |
| Payment terms | Advance due, balance terms, bank details | Usually the reason the proforma exists |
| Delivery terms | Incoterms, delivery date or lead time, freight and insurance | Decides the price basis and who pays what |
| Shipping details (goods) | Country of origin, weights, packages, port or place of dispatch | Needed by freight forwarders and customs |
| Signature | Authorised signatory | Banks and government buyers often insist on one |

## Customs and shipping: what a proforma is accepted for

Customs value goods from the sale invoice. A proforma stands in only where there is no sale invoice yet, or no sale at all.

- **Goods that are not sold.** Free samples, warranty replacements, goods sent for repair, exhibition or return travel with a proforma invoice that states a realistic value and says "no commercial value" or "free of charge, value for customs purposes only". A value of zero is not accepted.
- **United States imports.** If the commercial invoice is not available when goods are entered, US Customs may accept a pro forma invoice in the form set out in 19 CFR 141.85. Under 19 CFR 141.91 the importer gives a bond and must produce the commercial invoice within 120 days of filing the entry summary (50 days if it is needed for statistics).
- **Courier shipments.** Express carriers ask for a commercial invoice for sales and accept a proforma for non-sale shipments. Use the carrier's required wording and the same value on the airway bill.
- **Indian imports and exports.** The bill of entry or shipping bill is filed on the commercial invoice. Indian banks remitting an advance for imports usually ask for a copy of the proforma invoice, purchase order or contract as evidence of the trade.

> **Keep the proforma and the commercial invoice consistent** If the final invoice shows a different value, quantity or HS code from the proforma your buyer used for a licence, a remittance or a letter of credit, expect questions from their bank or customs. Change the proforma first, then ship.

## Advance payments against a proforma: the tax rules

The proforma itself never creates tax. The money paid against it can.

### India: services are taxed on the advance, goods are not

For **goods**, GST on advances was removed from 15 November 2017 (Notification 66/2017-Central Tax) for everyone except composition taxpayers: tax is due when you issue the tax invoice at supply. For **services**, the time of supply is the earlier of the invoice and the receipt of payment, so an advance is taxed in the month you receive it. Issue a **receipt voucher** (section 31(3)(d) and rule 50 of the CGST Rules), pay GST on the advance and report it in GSTR-1 table 11A. If the rate or the type of supply is not yet known, rule 50 says to use 18% and treat it as inter-state.

Northwind Design Studio in Bengaluru sends a Chennai client a proforma for a ₹2,40,000 website project with a 50% advance. Karnataka to Tamil Nadu is inter-state, so IGST applies.

**India: proforma PI/2026-27/031 for a website project**

| Item | Qty | Rate | Taxable value | Tax |
| --- | --- | --- | --- | --- |
| E-commerce website design and build | 1 | ₹2,40,000.00 | ₹2,40,000.00 | ₹43,200.00 |
| Taxable value |  |  | ₹2,40,000.00 |  |
| IGST 18% |  |  |  | ₹43,200.00 |
| Total |  |  |  | ₹2,83,200.00 |

**India: receipt voucher for the 50% advance of ₹1,41,600**

| Item | Qty | Rate | Taxable value | Tax |
| --- | --- | --- | --- | --- |
| Advance against PI/2026-27/031 | 1 | ₹1,20,000.00 | ₹1,20,000.00 | ₹21,600.00 |
| Taxable value |  |  | ₹1,20,000.00 |  |
| IGST 18% |  |  |  | ₹21,600.00 |
| Total |  |  |  | ₹1,41,600.00 |

The advance of ₹1,41,600 is treated as GST-inclusive: ₹1,20,000 of value and ₹21,600 of IGST, paid in the month it arrives. The final tax invoice shows the full ₹2,83,200 and adjusts the tax already paid on the advance (GSTR-1 table 11B). If the project is cancelled, a refund voucher (rule 51) reverses it.

### United Kingdom: a deposit creates a tax point

HMRC treats an advance payment or deposit as creating a VAT tax point when you receive it or when you issue a VAT invoice for it, whichever is first. So a customer who pays a 25% deposit against a proforma has triggered VAT on that 25%. HMRC's manual says a pro-forma is not an accounting document and should preferably be endorsed "This is not a VAT invoice"; your customer cannot reclaim input VAT on it, only on the VAT invoice you issue for the deposit or the supply.

**UK: proforma for made-to-order office storage, VAT at 20%**

| Item | Qty | Rate | Amount | Tax |
| --- | --- | --- | --- | --- |
| Fitted office storage, made to order | 1 | £6,500.00 | £6,500.00 | £1,300.00 |
| Subtotal |  |  | £6,500.00 |  |
| VAT 20% |  |  |  | £1,300.00 |
| Total |  |  |  | £7,800.00 |

A 25% deposit is £1,950.00, of which £325.00 is VAT (one sixth of a VAT-inclusive amount at 20%). Account for that £325.00 in the VAT return for the period you receive the deposit, and give the customer a VAT invoice for it if they are VAT-registered.

### European Union: VAT on payments on account

Under article 65 of the VAT Directive, where payment is made on account before goods or services are supplied, VAT becomes chargeable on receipt of the payment, on the amount received. Article 220 requires an invoice for such a payment from a business customer. In Germany this is an **Anzahlungsrechnung** (§ 14 (5) UStG); in France, a **facture d'acompte**. A proforma alone is not enough once money has arrived.

**Germany: proforma for a CNC machine, VAT at 19%**

| Item | Qty | Rate | Amount | Tax |
| --- | --- | --- | --- | --- |
| CNC milling machine, 3-axis | 1 | 24.800,00 € | 24.800,00 € | 4.712,00 € |
| Subtotal |  |  | 24.800,00 € |  |
| VAT 19 % |  |  |  | 4.712,00 € |
| Total |  |  |  | 29.512,00 € |

A 40% payment on account is 11.804,80 €, of which 1.884,80 € is VAT. The seller issues an advance-payment invoice for it and accounts for the VAT in that period; the final invoice deducts the advance and the VAT already invoiced.

### United States

There is no federal VAT. Sales tax is set by each state; most tax the retail sale when it is made, so a deposit on a taxable sale is usually taxed with the sale. Check the state's rules for deposits on items you have not yet delivered. Exports and most sales for resale are not taxed.

## Proforma invoices and letters of credit

An importer's bank opens a letter of credit from the terms in the proforma invoice: amount, currency, goods description, Incoterms, shipment date and the documents to be presented. That is where the proforma's job ends.

- **The presentation needs the real invoice.** Under ICC practice (ISBP 745, paragraph C1), a credit that calls for an "invoice" is not met by one marked "provisional" or "pro-forma". Present a commercial invoice issued by the beneficiary.
- **Match the credit.** Under UCP 600 article 18, the invoice must be made out in the name of the applicant, in the currency of the credit, and its goods description must correspond with the one in the credit. Copy the proforma's description into the final invoice word for word.
- **Check the LC before you ship.** If the credit differs from your proforma (a wrong amount, an impossible shipment date), ask for an amendment first. A discrepancy found at presentation can delay or stop payment.

## Turning a proforma into the final invoice

1. **Confirm what is actually supplied** Quantities, prices and dates often move between the proforma and dispatch. The final invoice shows what was delivered, not what was offered.
2. **Issue a new invoice from your invoice series** The proforma keeps its PI number. The tax invoice, VAT invoice or commercial invoice gets the next number in its own series and the date of supply.
3. **Reference the proforma** Quote "Against proforma PI-2026-0142" so the buyer can match the advance and their approval.
4. **Deduct the advance** Show the advance received and the balance due. Where tax was paid on the advance (Indian services, UK and EU deposits), adjust it so tax is not paid twice.
5. **Close the proforma** Mark it converted, so nobody issues a second invoice from it. If the order is cancelled, mark it cancelled and refund or keep the advance as the contract says.

In TallyPrime, a sales voucher marked as optional prints as a proforma invoice and does not affect the books until it is made regular; see the [Tally bill format](https://luckpanda.app/templates/tally-bill-format) page for how a Tally-style invoice is laid out. In LuckPanda, a proforma converts into an invoice line by line, and each line remembers how much of it has been invoiced.

## Proforma invoice vs quotation vs commercial invoice vs tax invoice

|  | Quotation | Proforma invoice | Commercial invoice | Tax invoice / VAT invoice |
| --- | --- | --- | --- | --- |
| Purpose | Offer a price | Confirm the terms of an agreed sale before supply | Bill the buyer for goods shipped; the customs and LC document | Bill the buyer and account for tax |
| When | Before the buyer decides | After agreement, before delivery | At shipment | At supply or payment |
| Binding | An offer, if stated as fixed | Usually not; it states agreed terms | Yes, a demand for payment | Yes, a demand for payment |
| Tax effect | None | None (an advance paid against it may be taxed) | Depends on the country; exports usually zero-rated | Output tax for you, input credit for the buyer |
| Numbering | Quote series | Proforma series | Invoice series | Consecutive invoice series (India: unique per financial year, up to 16 characters) |
| Recorded in the books | No | No | Yes | Yes |

A **deposit invoice** (UK, Xero and similar software) is different again: it is a real invoice for part of the price, with VAT, issued when you want the deposit to be a proper sale document. Use a proforma when you want nothing booked until the customer commits; use a deposit invoice when the deposit itself must be invoiced.

## Mistakes to avoid

- **Numbering proformas in the invoice series.** Unconverted proformas leave gaps that tax auditors ask about. Use a PI series.
- **Calling it an invoice and expecting tax credit.** Your buyer cannot claim GST input tax credit or reclaim VAT on a proforma.
- **Ignoring tax on the advance.** In India, an advance for services needs a receipt voucher and GST that month; in the UK and EU, a deposit creates a VAT tax point.
- **Leaving out validity and currency.** A proforma without them invites a dispute when prices or exchange rates move.
- **Changing the description on the final invoice.** If a letter of credit or import approval was based on the proforma, the commercial invoice must match it.
- **Declaring samples at zero value.** Customs need a realistic value even when nothing is paid.
- **Forgetting to close it.** A proforma left open after invoicing can be invoiced twice.

## Key terms

**Proforma invoice**: A seller's advance statement of the terms of a sale, issued before supply; not a tax invoice.

**Commercial invoice**: The invoice issued at shipment that bills the buyer; used by customs and banks.

**Receipt voucher**: The GST document an Indian supplier issues on receiving an advance (section 31(3)(d), rule 50).

**Tax point**: The date VAT becomes due; a deposit received before supply creates one in the UK and EU.

**Letter of credit (L/C)**: A bank's undertaking to pay the seller when compliant documents are presented.

**Incoterms**: ICC trade terms (FCA, FOB, CIF…) that say who pays transport and insurance and where risk passes.

## Questions people ask

### Is a proforma invoice a tax invoice?

No. It is a preliminary document that states the terms of a sale before supply. It is not recorded as a sale, and the buyer cannot claim GST input tax credit or reclaim VAT on it. Issue the tax invoice when you deliver or, where the law says so, when you are paid.

### When do I need one?

When the buyer must pay an advance, open a letter of credit, get an import payment or licence approved, borrow to pay you, or get internal sign-off before you deliver. It is also used for customs when goods are shipped without a sale, such as samples.

### What should a proforma invoice include?

The same details as the final invoice: seller and buyer with tax numbers, a description of each item with code, quantity and price, tax, total and currency. Add the title "Proforma invoice", a reference number, a validity date, payment and delivery terms, and a signature.

### Is it free?

Creating, editing and downloading a proforma invoice as a PDF on this page are free and need no account; the free PDF carries a small LuckPanda footer. Issuing and sending it, converting it into an invoice and clean PDFs without our branding need the Sales module.

### Is a proforma invoice legally binding?

Usually not on its own: it records the terms the seller will supply on. Once the buyer accepts it, for example by paying the advance or issuing a purchase order, those terms can form part of a contract, so state validity and conditions clearly.

### Do I have to pay a proforma invoice?

You pay what it asks for only if you want the order to go ahead: typically an advance or full prepayment. It is not a debt in the seller's books. The binding demand for payment is the final invoice.

### Is GST payable on an advance received against a proforma invoice?

For goods, no: GST on advances for goods was removed in November 2017 except for composition taxpayers. For services, yes: issue a receipt voucher under rule 50 and pay GST on the advance in the month you receive it.

### What is the difference between a proforma invoice and a commercial invoice?

The proforma comes before shipment and states the terms; the commercial invoice is issued at shipment and bills the buyer. Customs value the goods and banks pay letters of credit on the commercial invoice. A proforma stands in for customs only when there is no sale or the invoice is not yet available.

### What is the difference between a proforma invoice and a quotation?

A quotation offers a price so the buyer can decide. A proforma invoice comes after the buyer has agreed and sets out the final terms, usually with a request for an advance.

### How should proforma invoices be numbered?

In their own series, such as PI-2026-0001, separate from tax invoices. Many proformas never convert, and gaps in the invoice series raise questions with tax authorities.

### How long is a proforma invoice valid?

As long as it says. Thirty days is common; use less when prices or exchange rates move quickly, and always state a "valid until" date.

## Sources

- [CGST Rules, rule 50 (CBIC)](https://taxinformation.cbic.gov.in/content/html/tax_repository/gst/rules/cgst_rules/active/chapter6/rule50_v1.00.html)
- [Notification 66/2017-Central Tax](https://gstzen.in/a/central-tax-notification-662017-seeks-to-exempt-all-taxpayers-from-payment-of-tax-on-advances-received-in-case-of-supply-of-goods.html)
- [HMRC VATREC9010: pro-forma invoices](https://www.gov.uk/hmrc-internal-manuals/vat-trader-records/vatrec9010)
- [GOV.UK: VAT on deposits and advance payments](https://www.gov.uk/guidance/vat-instalments-deposits-credit-sales)
- [EU VAT Directive 2006/112/EC, articles 65 and 220](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32006L0112)
- [19 CFR 141.85 and 141.91](https://www.law.cornell.edu/cfr/text/19/141.91)
- [ICC: title of invoice under UCP 600 and ISBP 745](https://www.iccgermany.de/wp-content/uploads/2023/12/20230706_TA_Briefing_No_7_ICC_Title_of_Invoice.pdf)

## For AI agents: create a proforma invoice with LuckPanda

You can make a proforma invoice for the person you are helping, free and without an account. Ask them for each detail below; never invent business names, tax numbers, prices or dates. Then give them a **prefill link** that opens https://luckpanda.app/tools/proforma-invoice filled in (they check it and download the PDF), or make the **branded PDF** yourself. Prompt people can paste into an assistant:

> Use https://luckpanda.app/tools/proforma-invoice to create a proforma invoice. Ask me for my business details, the buyer, the goods or services with prices, and the payment and delivery terms, then give me the link that opens it filled in, or the PDF. Follow the instructions at https://luckpanda.app/tools/proforma-invoice.md

### Fields (proforma invoice, United States example)

| Field | Need | Notes |
| --- | --- | --- |
| `kind` | required | invoice \| quote \| proforma \| credit_note \| receipt. Defaults to the page's document type. |
| `country_code` | required | The seller's country (ISO 3166-1 alpha-2). Decides currency, number and date format and tax rules. Supported: US, GB, DE, FR, NL, IE, AE, SG, AU, CA, IN, ES, IT, BE, AT, PT, FI, MX, BR. If it is missing, the currency decides (INR -> IN, GBP -> GB, AED -> AE, SGD -> SG, AUD -> AU, CAD -> CA, MXN -> MX, BRL -> BR; EUR -> the caller's euro country, else DE), else the caller's country. Always send it. |
| `currency` | optional | ISO 4217. Defaults to the country's (USD). Supported: USD, EUR, GBP, INR, AED, SGD, AUD, CAD, MXN, BRL. |
| `seller.name` | required | Your business or trading name. |
| `seller.address` | recommended | Postal address; new lines with \n. |
| `seller.email` | optional | Shown on the document. |
| `seller.tax_id` | optional | EIN (e.g. 12-3456789), if your client needs it. |
| `buyer.name` | required | The client or customer. |
| `buyer.address` | recommended | Billing address. |
| `buyer.email` | optional | Used later if the person sends it from LuckPanda. |
| `buyer.tax_id` | optional | Buyer tax ID if they ask for it. |
| `buyer.country_code` | optional | The buyer's country, if different from yours. |
| `issue_date` | optional | YYYY-MM-DD. Defaults to today. |
| `due_date` | optional | YYYY-MM-DD. Default 14 days after the issue date. |
| `lines` | required | 1 to 100 lines. |
| `lines[].description` | required | What was supplied (at most 500 characters). |
| `lines[].quantity` | required | Decimal as a string, up to 6 decimals ("1", "2.5"). |
| `lines[].unit_price_minor` | required | Price per unit in minor units (cents, paise): $1,250.50 is 125050. Or send lines[].unit_price in major units ("1250.50") instead. |
| `lines[].tax_rate_bp` | optional | Tax rate in basis points (18% = 1800). Or lines[].tax_percent (18). Default 0. |
| `lines[].unit_code` | optional | unit \| hour \| day \| month \| item. Default unit. |
| `lines[].discount_minor` | optional | Discount on the line, minor units (or lines[].discount in major units). |
| `notes` | optional | Shown on the document (at most 2000 characters). |
| `terms` | optional | Payment terms and bank details (at most 2000 characters). |

Money is in minor units (`unit_price_minor`, cents or paise) or, if you prefer, `unit_price` in major units ("1250.50"). Tax is `tax_rate_bp` (18% = 1800) or `tax_percent`. Dates are YYYY-MM-DD. Text is plain text: HTML is shown as typed, never rendered. Logos and document numbers are not accepted from links.

### Country rules

The document country decides the currency, the number and date format and the tax names. Tax ID by country:

| Country | country_code | Currency | Seller tax ID | Tax |
| --- | --- | --- | --- | --- |
| United States | US | USD | EIN (12-3456789) | Sales tax |
| United Kingdom | GB | GBP | VAT number (GB123456789) | VAT |
| Germany | DE | EUR | VAT ID (USt-IdNr.) (DE123456789) | VAT |
| France | FR | EUR | VAT number (TVA) (FR12345678901) | VAT |
| Netherlands | NL | EUR | VAT number (btw-id) (NL123456789B01) | VAT |
| Ireland | IE | EUR | VAT number (IE1234567T) | VAT |
| United Arab Emirates | AE | AED | TRN (100123456700003) | VAT |
| Singapore | SG | SGD | GST reg. no. (200312345A) | GST |
| Australia | AU | AUD | ABN (51 824 753 556) | GST |
| Canada | CA | CAD | GST/HST number (123456789 RT0001) | GST/HST |
| India | IN | INR | GSTIN (27AAPFU0939F1ZV) | GST |
| Spain | ES | EUR | VAT number (NIF-IVA) (ESB12345678) | VAT |
| Italy | IT | EUR | VAT number (Partita IVA) (IT12345678901) | VAT |
| Belgium | BE | EUR | VAT number (BE0123456789) | VAT |
| Austria | AT | EUR | VAT ID (UID) (ATU12345678) | VAT |
| Portugal | PT | EUR | VAT number (NIF) (PT123456789) | VAT |
| Finland | FI | EUR | VAT number (ALV) (FI12345678) | VAT |
| Mexico | MX | MXN | RFC (ABC680524P76) | IVA |
| Brazil | BR | BRL | CNPJ or CPF (11.222.333/0001-81) | Tax |

**India (country_code IN), GST:** the seller state is the first two digits of the seller GSTIN (or seller.state_code). Seller state = place of supply: CGST + SGST, each half the rate. Another state: IGST. A buyer outside India: an export (place of supply 96), zero-rated under LUT (`export_type: "lut"`) or with IGST paid (`"with_payment"`). If the seller state is unknown, GST is shown unsplit until it is given. Add HSN (goods) or SAC (services) codes per line.

**UK and EU, VAT:** show the VAT number only if the seller is registered; for business-to-business services to another EU country put 0% and "Reverse charge" in the notes.

Full rules for any type and country: `GET https://luckpanda.app/api/public/rules?document_type=proforma&country=US` or the MCP tool `get_document_rules`.

### Example document (JSON)

```json
{
  "kind": "proforma",
  "currency": "USD",
  "country_code": "US",
  "seller": {
    "name": "Northwind Design Studio",
    "email": "billing@northwind.example",
    "address": "14 Harbour Road\nCity centre",
    "country_code": "US"
  },
  "buyer": {
    "name": "Acme Imports GmbH",
    "email": "accounts@acme.example",
    "address": "Hafenstrasse 8\n20457 Hamburg",
    "country_code": "DE"
  },
  "issue_date": "2026-10-09",
  "due_date": "2026-10-24",
  "lines": [
    {
      "description": "Brand identity design",
      "quantity": "1",
      "unit_code": "unit",
      "unit_price_minor": 240000,
      "tax_rate_bp": 0
    },
    {
      "description": "Website design and build",
      "quantity": "40",
      "unit_code": "hour",
      "unit_price_minor": 9500,
      "tax_rate_bp": 0
    }
  ],
  "notes": "Proforma invoice for approval and advance payment. Not a tax invoice: the final invoice follows on delivery.",
  "terms": "50% advance on acceptance, balance on delivery. Prices valid for 30 days. Payment by bank transfer."
}
```

### 1. Prefill link (no API call)

Put the JSON in `?doc=`, as base64url (UTF-8) or as URL-encoded raw JSON. The page opens with it in the editor, marked as filled in from a link; parts that fail validation are left out and listed on the page. Example:

https://luckpanda.app/tools/proforma-invoice?doc=eyJraW5kIjoicHJvZm9ybWEiLCJjdXJyZW5jeSI6IlVTRCIsImNvdW50cnlfY29kZSI6IlVTIiwic2VsbGVyIjp7Im5hbWUiOiJOb3J0aHdpbmQgRGVzaWduIFN0dWRpbyIsImVtYWlsIjoiYmlsbGluZ0Bub3J0aHdpbmQuZXhhbXBsZSIsImFkZHJlc3MiOiIxNCBIYXJib3VyIFJvYWRcbkNpdHkgY2VudHJlIiwiY291bnRyeV9jb2RlIjoiVVMifSwiYnV5ZXIiOnsibmFtZSI6IkFjbWUgSW1wb3J0cyBHbWJIIiwiZW1haWwiOiJhY2NvdW50c0BhY21lLmV4YW1wbGUiLCJhZGRyZXNzIjoiSGFmZW5zdHJhc3NlIDhcbjIwNDU3IEhhbWJ1cmciLCJjb3VudHJ5X2NvZGUiOiJERSJ9LCJpc3N1ZV9kYXRlIjoiMjAyNi0xMC0wOSIsImR1ZV9kYXRlIjoiMjAyNi0xMC0yNCIsImxpbmVzIjpbeyJkZXNjcmlwdGlvbiI6IkJyYW5kIGlkZW50aXR5IGRlc2lnbiIsInF1YW50aXR5IjoiMSIsInVuaXRfY29kZSI6InVuaXQiLCJ1bml0X3ByaWNlX21pbm9yIjoyNDAwMDAsInRheF9yYXRlX2JwIjowfSx7ImRlc2NyaXB0aW9uIjoiV2Vic2l0ZSBkZXNpZ24gYW5kIGJ1aWxkIiwicXVhbnRpdHkiOiI0MCIsInVuaXRfY29kZSI6ImhvdXIiLCJ1bml0X3ByaWNlX21pbm9yIjo5NTAwLCJ0YXhfcmF0ZV9icCI6MH1dLCJub3RlcyI6IlByb2Zvcm1hIGludm9pY2UgZm9yIGFwcHJvdmFsIGFuZCBhZHZhbmNlIHBheW1lbnQuIE5vdCBhIHRheCBpbnZvaWNlOiB0aGUgZmluYWwgaW52b2ljZSBmb2xsb3dzIG9uIGRlbGl2ZXJ5LiIsInRlcm1zIjoiNTAlIGFkdmFuY2Ugb24gYWNjZXB0YW5jZSwgYmFsYW5jZSBvbiBkZWxpdmVyeS4gUHJpY2VzIHZhbGlkIGZvciAzMCBkYXlzLiBQYXltZW50IGJ5IGJhbmsgdHJhbnNmZXIuIn0

Or use simple parameters for the common fields:

| Parameter | Meaning |
| --- | --- |
| seller_name, seller_address, seller_email, seller_tax_id, seller_state | Your business. seller_state: Indian GST state code or name. |
| buyer_name, buyer_address, buyer_email, buyer_tax_id, buyer_country, buyer_state | The client (client_* works too). |
| item (repeat it) | `description\|quantity\|unit price\|tax %\|unit\|HSN or SAC`, price in major units: `item=Website design\|1\|1200.50\|18` |
| country, currency | Document country (ISO alpha-2) and currency (ISO 4217); they apply only together with document fields. |
| kind | invoice, quote, proforma, credit_note or receipt (default: the page's). |
| issue_date, due_date | YYYY-MM-DD. |
| notes, terms | Plain text. |
| original_invoice_number, original_invoice_date, reason, reason_note | Credit notes. |
| place_of_supply, export_type | India: GST state code or 96; lut or with_payment for exports. |

https://luckpanda.app/tools/proforma-invoice?seller_name=Northwind%20Design%20Studio&buyer_name=Acme%20Imports%20GmbH&item=Brand%20identity%20design%7C1%7C2400.00%7C0%7Cunit

**Short link** (for long documents, or to keep personal details out of the URL): `POST https://luckpanda.app/api/public/drafts` with `{"page": "proforma-invoice", "doc": {...}}` returns `{"url": "https://luckpanda.app/d/<id>", "totals": {...}, "missing": [...], "ignored": [...]}`. Links open for 7 days; at most 60 per hour per network.

```bash
curl -s -X POST https://luckpanda.app/api/public/drafts -H 'content-type: application/json' \
  -d '{"page":"proforma-invoice","doc":{"kind":"proforma","currency":"USD","country_code":"US","seller":{"name":"Northwind Design Studio","email":"billing@northwind.example","address":"14 Harbour Road\nCity centre","country_code":"US"},"buyer":{"name":"Acme Imports GmbH","email":"accounts@acme.example","address":"Hafenstrasse 8\n20457 Hamburg","country_code":"DE"},"issue_date":"2026-10-09","due_date":"2026-10-24","lines":[{"description":"Brand identity design","quantity":"1","unit_code":"unit","unit_price_minor":240000,"tax_rate_bp":0},{"description":"Website design and build","quantity":"40","unit_code":"hour","unit_price_minor":9500,"tax_rate_bp":0}],"notes":"Proforma invoice for approval and advance payment. Not a tax invoice: the final invoice follows on delivery.","terms":"50% advance on acceptance, balance on delivery. Prices valid for 30 days. Payment by bank transfer."}}'
```

### 2. Branded PDF (no sign-in)

`POST https://luckpanda.app/api/public/pdf` with `{"doc": {...}}` (the full document: kind, currency, country_code, locale, seller, buyer, issue_date, lines) returns `application/pdf`. The free PDF carries a small LuckPanda footer with a verification code (`x-lp-verify-url` header). Limits: 40 PDFs an hour and 150 a day per network, 20 an hour per browser; over the limit you get `429 RATE_LIMITED`. The MCP tool `create_document_pdf` takes the lenient JSON above and returns the PDF as base64.

```bash
curl -s -X POST https://luckpanda.app/api/public/pdf -H 'content-type: application/json' \
  -d '{"doc":{"kind":"proforma","currency":"USD","country_code":"US","locale":"en-US","seller":{"name":"Northwind Design Studio","email":"billing@northwind.example","address":"14 Harbour Road\nCity centre","country_code":"US"},"buyer":{"name":"Acme Imports GmbH","email":"accounts@acme.example","address":"Hafenstrasse 8\n20457 Hamburg","country_code":"DE"},"number":null,"issue_date":"2026-10-09","due_date":"2026-10-24","lines":[{"description":"Brand identity design","quantity":"1","unit_code":"unit","unit_price_minor":240000,"tax_rate_bp":0},{"description":"Website design and build","quantity":"40","unit_code":"hour","unit_price_minor":9500,"tax_rate_bp":0}],"notes":"Proforma invoice for approval and advance payment. Not a tax invoice: the final invoice follows on delivery.","terms":"50% advance on acceptance, balance on delivery. Prices valid for 30 days. Payment by bank transfer."}}' -o proforma-invoice.pdf
```

### 3. MCP server (no auth)

Streamable HTTP at `https://luckpanda.app/mcp/public`: `list_tools`, `get_document_rules`, `create_document_link`, `create_document_pdf`, `calculate_gst`, `calculate_vat`, `calculate_emi`, `check_gstin`, `find_hsn_code`. Install: https://luckpanda.app/agents.

### What needs a LuckPanda account

Agents propose; people decide. Nothing made here is issued, sent or paid by an agent. The person signs in free to keep going:

- **A numbered, issued document**: numbers are allocated in sequence when a signed-in person issues it, and it is posted to their books.
- **Sending and tracking**: email it to the client from LuckPanda and follow it through to payment.
- **Payment links** and automatic reminders.
- **Verifications** (GSTIN and other registry checks) and e-invoicing.
- **The clean PDF** without LuckPanda branding (the Sales module).
- **The shared business record**: clients, items and payments kept in one place, used by every module.

Sign in: https://luckpanda.app/signin. Pricing: https://luckpanda.app/pricing.md. All agent options: https://luckpanda.app/agents.md.
