Extract data from commercial and proforma invoices
Unstract reads export commercial invoices and proforma invoices, whether emailed as PDFs, scanned from a courier pouch or sent as spreadsheets, and returns seller, buyer, Incoterms, origin, HS codes and line values, matched to the packing list, in your customs filing or ERP system.
| ITEM · HS CODE | QTY | UNIT USD | AMOUNT USD |
|---|---|---|---|
| GOODS OF MALAYSIAN ORIGIN | |||
| HS 6912.00 · Stoneware dinner plate 27 cm | 2,400 | 3.85 | 9,240.00 |
| HS 6912.00 · Stoneware bowl 15 cm | 3,600 | 2.40 | 8,640.00 |
| HS 6912.00 · Stoneware mug 350 ml | 4,800 | 1.95 | 9,360.00 |
| HS 6912.00 · Glazed ceramic vase 30 cm | 600 | 7.50 | 4,500.00 |
| Subtotal | 11,400 | — | 31,740.00 |
| CHARGES | |||
| Ocean freight to Savannah | — | — | 2,180.00 |
| Marine insurance | — | — | 95.40 |
| TOTAL CIF SAVANNAH · USD | — | — | 34,015.40 |
vases under 6912? porcelain or 6913 — ask Ravi
Country of origin: Malaysia · Currency: USD · Certified true and correct
{ "invoice_no": "TCM-CI-26-1147", "invoice_date": "21 OCT 2026", "po_number": "BHG-30562", "seller": "Tanjong Ceramics", "buyer": "Bramblewood Home Goods", "incoterms": "CIF Savannah", "country_of_origin": "Malaysia", "currency": "USD", "total_quantity": 11400, "subtotal": 31740, "freight": 2180, "insurance": 95.4, "invoice_total": 34015.4}
Trusted by logistics and supply chain teams around the globe
No two exporters print the invoice the same way
The commercial invoice is the one document every entry needs, and it comes from whoever sold the goods, in whatever form their office uses.
The signed original from the courier pouch, scanned crooked
The HS code sits in a different column for every exporter
Codes and prices corrected in pen before the broker sees them
Invoice, packing list, origin certificate and B/L in one PDF
Proforma invoices sent as spreadsheets, one tab per order
Brokers and trade compliance teams retype every HS code, value and origin from the invoice into the entry, and one slipped digit becomes a wrong duty payment or a penalty notice months after the goods cleared.
Unstract reads each commercial or proforma invoice as it lands, extracts the parties, terms and line items, checks them against the packing list and certificate of origin, and loads the result into your customs filing or ERP system.
Read, extract and clear every commercial invoice
Parsing, extraction and automation are three separate products. Use one on its own, or stack all three to take an invoice from the exporter's email to an entry ready for the broker.
Parse commercial invoices with each HS code on its own line
Exporters print the HS code under the description, in its own column or in a footnote, and some put quantity and unit price on separate lines. LLMWhisperer keeps the invoice table as printed, so the vase line keeps its own code, quantity and price, and freight never merges into the goods subtotal. Scans, faxes and phone photos of a signed original read the same way as a clean PDF.
Hand the text to your own LLM as a commercial invoice parser, or make it the first step of a customs workflow.
Learn more about LLMWhispererTurn every commercial invoice into one customs-ready record
Name the fields your entry needs, and Document Studio works as a commercial invoice data extractor for every exporter's layout: seller and buyer, invoice and PO numbers, Incoterms and named port, currency, country of origin, and one line per item with its HS code, quantity, unit price and amount. Proforma invoices come back in the same JSON schema, so the quote and the final invoice for one order can be compared field by field. Quantities that differ from the packing list and codes that don't fit the description arrive flagged, with the reason beside them.
Call it as an API from your brokerage software, run it as an ETL pipeline over the documents inbox, or make it one step in an orchestrated customs workflow.
Learn more about Document StudioClear imports from commercial invoice to a file-ready entry
Write down how your team builds an entry from a commercial invoice, in plain English, and Flow's agents build the workflow. The invoice, packing list, bill of lading or air waybill and certificate of origin are gathered per shipment, read, and checked against each other: line values against the invoice total, quantities against the packing list, origin against the certificate, each HS code against your tariff table. Clean data goes to your customs filing or ERP system, such as CargoWise or Descartes. You approve the workflow once, and every shipment follows the same steps.
Decide where a person steps in: a value or quantity that disagrees across the documents, an HS code missing or out of line with the description, a certificate of origin that never arrived. Those shipments wait for a licensed customs broker with the reason shown, and the broker files the entry.
Learn more about FlowPull the data from your commercial invoices today
Start for free to parse and extract your own commercial and proforma invoices. Building the full customs clearance run starts with a consultation.
Commercial invoices and the trade paperwork around them
Documents
- Commercial invoices
- Proforma invoices
- Export invoices
- Customs invoices
- Consular invoices
- Packing lists
- Certificates of origin
- Bills of lading
- Air waybills
- Customs declarations
- Purchase orders
- Letters of credit
- Import licences
- Shipper's letters of instruction
- Credit and debit notes
- Any other exporter's invoice layout
Fields captured
Built for everyone who builds an entry from the invoice
Invoice lines arrive classified-ready in the entry, so the broker spends time on the doubtful HS codes instead of retyping the clear ones.
Commercial invoices from every origin office read the same way, so house files get their values and terms before the cargo reaches port.
Declared values, origin and codes checked across invoices for every supplier, so a pattern of drift shows up before an audit does.
Client invoices matched to the goods received, so a short line or a wrong origin is raised before the 3PL releases the stock.
Cleaner entries from the first invoice
Invoice values reveal your margins and your suppliers
A commercial invoice shows the price you paid for each item, and the buyer and supplier on each side of the sale. A competitor holding a season of them can work out your margins and approach your suppliers directly. Customs treats an undervalued invoice as an offence, so every edit to a declared value has to be traceable.




- Commercial and proforma invoices are encrypted in transit and at rest.
- Trade documents are never used to train any model.
- Access by role, client and office, with every changed value, HS code and origin logged against the invoice number.
- Retention follows your record-keeping rules: invoices are kept for as long as customs requires and deleted on the date you set.
- Brokers and importers that must hold trade data on their own servers can run Unstract self-hosted.
What brokers and trade compliance teams ask first
Upload it to Document Studio with the fields you need, and it returns seller, buyer, quoted quantities, unit prices, Incoterms and validity date as JSON. To extract data from proforma invoice files at volume, deploy the same schema as an API or point an ETL pipeline at the inbox. The bank and licensing office get the same figures you later compare with the final commercial invoice.
One that keeps the invoice table intact. LLMWhisperer reads PDFs, scans, faxes and phone photos of commercial invoices and holds each HS code, quantity and price on its own line, so the extraction that follows reads the values as the exporter printed them.
Document Studio finds each field by meaning, not position, so "Tariff No.", "HS Code" and "H.S." all fill the same field. Commercial invoice data extraction for a new exporter needs no template and no training: the first invoice comes back in your schema.
Yes. Each line returns its HS or HTS code, description, origin, quantity, unit price and amount. A code that does not match the description or your tariff table comes back flagged for a broker.
Yes. Quantities are matched line by line with the packing list, origin is compared with the certificate, and the line amounts are added up against the subtotal and the Incoterms charges. A mismatch holds that shipment with both figures shown.
The exporter sends a proforma invoice before shipment as a quote, and importers use it to open a letter of credit or apply for an import licence. The commercial invoice follows with the goods and is the one customs values the entry on. Both extract into one schema, so the two can be compared.
Yes. The currency is captured as printed with every amount, and LLMWhisperer reads more than 300 printed languages, so invoices from Vietnam, Turkey or Mexico come back in the same record.
No. Unstract prepares the entry data and stages it in your customs filing or ERP system. A licensed customs broker reviews the flagged lines and files the entry.
Unstract is SOC 2, ISO 27001, GDPR and HIPAA compliant. Invoices are encrypted, never used for training and deleted on your schedule, and teams that keep trade data in-house can self-host. Your auditors can check each control in the Trust Center.
In a consultation we map your exporters' invoices, your checks and your brokerage software, and most teams run live shipments within days. To test the extraction first, start for free and upload an invoice.
Bring commercial invoices from three exporters to the consultation
Signed originals, proforma quotes and spreadsheet invoices, pen corrections included. Watch each one read on screen and checked against its packing list.









