Shipping Bill PDF to Excel: Every Field, Free
A shipping bill arrives as a PDF and the work that follows happens in a spreadsheet: the EDPMS reconciliation, the incentive workings, the eBRC bulk file. Getting the fields across without retyping them is easy. Getting them across correctly is the part this guide is about.
Start with the right PDF
Every method below needs the PDF that ICEGATE generated, with its text layer intact. A scan of a printout or a phone photograph is an image, and none of these methods can read an image; the extractor refuses one rather than guess. If all you have is a print, download the shipping bill copy from ICEGATE first. It takes a minute and it removes the largest source of wrong numbers.
Then know what you are converting. An ICEGATE shipping bill is printed in four parts, a summary page followed by one record per invoice, one row per item and the scheme declarations; the shipping bill format guide lays them out. A conversion that produces a single flat table has lost that structure somewhere.
Way one: Excel's own PDF import
Excel for Microsoft 365 on Windows can open a PDF directly: on the Data tab, choose Get Data, then From File, then From PDF, pick the shipping bill, and the Navigator lists every table Excel found. Choose one and load it, or transform it in Power Query first.
It works, with three costs. A shipping bill is not one table but dozens, one per block, and the Navigator presents them as Table001, Table002 and so on with no names, so finding the value summary means opening each. Headers that wrap in the print come through split across two rows, and a container table that crosses a page break arrives as two tables. And numbers formatted with commas often load as text, so a SUM over them returns zero until every column is converted. For a single bill and a patient half hour it is a fair route. For the second bill it is not.
Way two: the free extractor
Drop the PDF on the shipping bill extractor and it returns the document in the shape the later work needs: one CSV of the filing fields (the shipping bill number and date, the port code, the IEC and GSTIN, the exporter and consignee, the AD code, the currency, the FOB value and each deduction, the invoice summary and the container table) and one CSV of the item lines, one row per item with its HS code, quantity, rate and values. Both open in Excel or Google Sheets with a double click. The whole document is also available as JSON.
Before it hands anything back, it checks the bill against itself: the invoice, item and container counts in the header against what the document prints, and the declared totals against the lines. A difference is reported rather than passed on, which is the check you would otherwise do by hand in the sheet. It is free, needs no sign-up, and reads ten bills per internet connection a day; the file is kept so the extractor can be improved against real documents.
Way three: the exporter app, for a book of bills
Twenty bills a month is not a conversion problem, it is a filing problem. Inside the eBRC exporter app the same read runs on every shipping bill with no daily limit, keeps the history of every document read, and feeds the fields into the mapping directly: every IRM is auto-mapped to the shipping bill and invoice it paid for, and the mapped shipments can be exported as a spreadsheet and filed through the bulk workflow. A platform reading bills from its own systems uses the extraction endpoints of the eBRC API, documented at docs.ebrc.in.
Two checks before a number leaves the sheet
Whichever way the fields arrived, run these before the sheet feeds anything.
- Counts. The header says how many invoices, items and containers the bill has. Count the rows in your sheet. A short count means a page was lost in the conversion.
- Currency columns. The bill prints most values twice, in the invoice currency and in rupees at the customs exchange rate. An eBRC filing takes the invoice currency; an incentive working takes rupees. A column that mixes the two is the most common reason a bulk file is refused.
The extractor runs the first check for you and labels the currency of every value; Excel's import does neither, which is the real difference between the two.
What a sheet of shipping bills is for
Three jobs, usually. Reconciling the bank's EDPMS list against what was actually shipped, which the EDPMS guide covers. Working out the drawback and RoDTEP due, from the item rows. And building the eBRC bulk file, where each row pairs a remittance with the shipping bill it paid for and the values above are typed in exactly. The last one is the reason to care about accuracy: a bulk row with a wrong FOB value or a wrong port code is refused, and the certificate for that shipment waits.