Free tool · Incoterms 2020 · HS codes · PDF + Excel

Free Proforma Invoice Generator

Quote an international buyer with an Incoterm, an offer validity window, and per-line HS code, country of origin, and net/gross weight — the fields customs brokers and import buyers actually ask for. Export a PDF for the quote or an Excel file with formulas for your records, and switch straight to a commercial invoice once the order is confirmed.
From
No logo
Bill to
Line items
DescriptionHS codeOriginNet/gross kgQtyRate (USD)Amount
USD 0.00
SubtotalUSD 0.00
Discount-USD 0.00
Sales taxUSD 0.00
ShippingUSD 0.00
TotalUSD 0.00

Nothing leaves your browser. No account, no upload — the invoice is built and saved on your own device (localStorage), and the PDF/Excel/CSV files are generated locally.

A proforma invoice needs customs fields a generic invoice doesn't have

A proforma invoice is a quotation dressed as an invoice — buyers use it to arrange financing, apply for an import license, or open a letter of credit before the goods ship. That means it needs information a domestic sales invoice never asks for: the Incoterm (who pays for freight and insurance and where risk transfers), an HS code and country of origin per line so customs can classify the goods, and net and gross weight for freight quotes.

The tools that rank for this term mostly don't have those fields. Billdu's proforma generator is genuinely dedicated to the format but keeps saving and converting to a real invoice behind a free account; several of the smaller sites in this space load their form in an iframe that points every button back to a login page. None of them let you fill in an HS code or country of origin line by line, and none export the finished proforma as an editable Excel file — at best you get a separate, static Excel template to download instead.

Incoterms, HS codes, weights — all per line, all exportable

Pick your Incoterm from the full Incoterms 2020 list (EXW through DDP), set how many days the quote is valid for, and optionally show a reference currency alongside your invoice currency with a manual exchange rate — useful when your buyer wants to see the amount in their own currency without you having to maintain a live FX feed.

Each line item has its own HS code, country of origin, and net/gross weight fields in addition to the usual description, quantity, and rate. That detail carries through to both the PDF and the Excel export, so the workbook you download is a real customs-ready document, not a generic invoice with the word 'proforma' typed at the top.

Ready to switch to a commercial invoice

Once the order is confirmed, a proforma invoice typically gets replaced by a commercial invoice for the actual shipment — same structure, but now a legal declaration with shipper/consignee, transport details, and a bill of lading number. Our Commercial Invoice Generator (linked below) shares the same customs fields, so you're not re-entering the HS codes and weights from scratch.

A quote your buyer's bank or customs office can actually use

Import buyers often need the proforma invoice for a specific purpose — applying for a letter of credit, clearing an advance import license, or getting an internal purchase approved — and a document missing the Incoterm or HS codes can get bounced back and delay the deal. Having every field the buyer's bank or broker is likely to ask for on one form, instead of a generic invoice you'd have to annotate by hand, is the whole point of a dedicated proforma tool.

Keep the paper trail

Track every invoice you send

This tool generates one invoice at a time and nothing is stored on our servers. If you want a running record of every invoice, payment, and outstanding balance across all your clients, our Bookkeeping for Small Business template adds an invoice log, an accounts-receivable aging view, and a monthly P&L — built in Excel and Google Sheets, tested to the cent.

See the Bookkeeping template — $19

Frequently asked questions

What's the difference between a proforma and a commercial invoice?

A proforma invoice is a preliminary quote sent before goods ship — buyers use it for financing, licenses, or letters of credit, and it isn't a demand for payment. A commercial invoice is the final, legally binding customs document created once the shipment goes out. Use the 'Switch to proforma' / 'Switch to commercial' links to move between the two tools without losing your data pattern.

Which Incoterms are included?

All eleven Incoterms 2020 rules: EXW, FCA, CPT, CIP, DAP, DPU, DDP, FAS, FOB, CFR, and CIF. Pick the one your sales contract specifies — it determines who pays freight/insurance and where risk transfers from seller to buyer.

Do I need an HS code for every line item?

Most customs authorities expect one, since it determines duty rates and import eligibility. The field is optional in the tool so you can start a quote before you have final codes, but fill it in before the invoice needs to clear customs.

Can I show the total in two currencies?

Yes — set a reference currency and an exchange rate, and both the primary invoice total and the reference-currency equivalent are shown. You supply the rate; the tool doesn't fetch live exchange rates (nothing here calls out to the internet).

Does the Excel export keep the HS codes and weights?

Yes — the 'Details' column in the exported workbook includes HS code, country of origin, and net/gross weight for every line that has them filled in, alongside the standard formula-driven amount column.

More invoicing tools & templates