Proforma Invoice Generator
Turn a buyer's inquiry into a clean proforma invoice: enter product, quantity and unit price line by line, and the tool computes each line amount, subtotal, freight, insurance and grand total, plus the customary SAY US DOLLARS … ONLY amount in words. The document renders as an A4 sheet you can print or save as PDF, with an in-document language switch between English and Chinese. Everything is processed locally in your browser.
A proforma invoice is the first formal document in an export deal: it lists products, quantities and prices, states the trade terms, payment method, validity and banking details, and the buyer confirms it before you start production. This generator turns those details into a well-formed A4 sheet - type the items line by line and the amounts, totals and amount in words are computed for you, with no calculator double-checking.
The invoice number, date and validity stay exactly as you type them - nothing is auto-generated, so the document always matches your quotation ledger. Up to 40 line items cover a full container's mix. The in-document language can be switched between English and Chinese: send the English copy overseas and print the Chinese one for your factory or bookkeeper.
Did this tool solve your problem?
Submitting sends the tool name, your input and the current result to the server. Please do not include ID numbers, phone numbers or other private data.
AI assistant It answers using your current input and result
Asking again sends your current input and result to the server once more. Please do not include private data.
How to use
- Enter the invoice number and date - keep your own numbering such as PI-2026-0001; the Today button fills the current date.
- Pick the currency and trade terms: the currency drives the grand total and the words; terms take FOB / CIF plus the port.
- Paste seller, buyer and banking details line by line; the bank line prints in the notes block at the bottom.
- Add product lines with quantity and unit price; amounts are computed automatically, then add freight and insurance.
- Check the A4 preview, hit Print / Save as PDF to send it, or copy the summary line for your records.
How it works
Proforma invoice vs quotation: what is the difference?
A quotation is usually a plain price list, while a proforma invoice is a quasi-contract: besides prices it states trade terms, payment method, lead time, validity and banking details, and buyers use it to arrange import permits or foreign exchange. Fill in the terms block carefully and one document covers both jobs.
What should I put in number, date and validity?
Reuse your own quotation ledger numbering so each PI stays unique all year - it makes follow-ups and filing much easier. The date is the day you send the offer; validity is how long your prices hold, commonly 15 or 30 days. For volatile raw-material prices, a shorter validity avoids re-quoting arguments later.
Why is the amount in words written as SAY … ONLY?
It is the international convention that prevents tampering: SAY introduces the words, the currency is spelled out (US DOLLARS, not USD), AND CENTS introduces the cents, and ONLY closes the amount. Read it back against the figures before sending - customs and banks take the words as binding.
Code example
JavaScript Line amount and grand total
// Line amount = qty × unit price (2 decimals)
const amount = qty * unitPrice; // 1000 × 4.50 = 4500
// Grand total = sum of lines + freight + insurance
const total = amounts.reduce((s, a) => s + a, 0)
+ freight + insurance; // 5300 + 500 + 120 = 5920
JavaScript Amount in words convention
// SAY + currency name + integer part + AND CENTS + cents + ONLY
amountInWords(5920, 'USD');
// 'SAY US DOLLARS FIVE THOUSAND NINE HUNDRED TWENTY ONLY'
amountInWords(1234.56, 'USD');
// 'SAY US DOLLARS ONE THOUSAND TWO HUNDRED THIRTY-FOUR AND CENTS FIFTY-SIX ONLY'
FAQ
Is my document stored on a server?
No. Everything is rendered locally in your browser and disappears when you close the page. Nothing is uploaded. For records, print to PDF or copy the summary line.
Does it print as a real A4 document?
Yes. The preview is laid out as an A4 sheet, and printing hides everything else on the page. Choose Save as PDF in the print dialog to get the file.
Can the document be in Chinese?
Yes. Switch the document language to Chinese and the title, field labels and notes render in Chinese - handy for your factory, forwarder or accountant. Switch back to English for the overseas buyer.
How many line items are supported?
Up to 40. Beyond that, split into two invoices or merge similar items. The × at the end of a row deletes it; the last row cannot be deleted.
How are freight and insurance added?
Type them into the freight and insurance fields (same currency as the goods). They are added after the subtotal. Leave 0 for FOB / EXW - zero rows are omitted from the printed sheet.
Are the number and date auto-filled?
No. They stay exactly as typed so a document never changes when reopened. The date field offers a Today button for convenience, but it only acts when you click it.
Will a long list slow the page down?
No. All math runs locally and instantly; preview and totals refresh as soon as a row changes, with no network involved.
How does it relate to the CI and packing list?
They form a set: the PI confirms the deal, the commercial invoice (CI) clears customs and settles payment, and the packing list (PL) gives the forwarder and customs the cargo detail. All three generators on this site share the same field structure, so line items copy across directly.