# Purchase Order PDF to Excel: Lines, Quantities, Prices

- Author: FastBankConvert (https://fastbankconvert.com)
- Published: 2026-10-17
- Category: Other financial documents
- Canonical: https://fastbankconvert.com/blog/purchase-order-pdf-to-excel

> Turn a purchase order PDF to Excel: header fields, line items with quantities and unit prices, part numbers with leading zeros, and totals.
To turn a purchase order PDF to Excel, make one row per order line with part number, description, quantity, unit, unit price and extended price, and repeat the PO number, date and supplier on every row. Format part numbers as text first, then check quantity times price on each line and that lines sum to the total.

## Purchase order header fields and where to put them

The header of a purchase order identifies the whole document: PO number, order date, buyer, supplier, ship-to address, payment terms and requested delivery date. In Excel, these belong in columns repeated on every line row, not in a block of cells above the table, so each line can be filtered and matched on its own.

### The fields that matter

Not every header field earns a column. The ones that usually do:

- **PO number**, the key every invoice and receipt will quote back.
- **Order date** and **requested delivery date**, as real dates.
- **Supplier name** and supplier ID, if your system issues one.
- **Buyer** or department, for spend reporting.
- **Payment terms**, such as Net 30.
- **Currency**, if you buy from abroad.

Addresses, signatures and the terms and conditions on the back page are better left in the PDF. Link to the file from the sheet if you need them.

### Why repeat the header on each row

A purchase order with eight lines becomes eight rows. If the PO number sits only in cell B2, a filter or a pivot on that sheet loses track of which order a line came from the moment you add a second purchase order below. Repeating the header values costs a few columns and makes the sheet stackable: fifty purchase orders become one long table you can sort by supplier or by part.

## Purchase order line items: one row per line

Each line item on a purchase order becomes one row with the same columns: line number, part number, description, quantity, unit of measure, unit price and extended price. Keep the printed line number. It is how a supplier refers to a line on the invoice, and it survives reordering when you sort the sheet.

### Unit of measure matters

A quantity of 10 means very different things when the unit is EA, BX or CS. Keep the unit in its own column, exactly as printed. When two purchase orders buy the same part in different units, you can convert later with a lookup table. Without the unit, a box of 100 looks like one screw.

### Unit prices with more than two decimals

Low-value parts are often priced to three or four decimals, such as 0.065 per washer. Import that value exactly and format the column to show four places. The extended price is rounded to the cent on the PDF, but the unit price is not, and rounding it to 0.07 throws every later check off. The same rule applies if you hand the data to a script: [storing money amounts in JSON without float errors](/blog/store-money-amounts-in-json) covers keeping prices as exact decimal values outside Excel.

### Optional columns

Some purchase orders carry a supplier part number next to your own, a required date per line, a tax code or a cost centre. Keep any that you would filter on. Leave a column empty rather than skipping it when a purchase order does not print that field, so every order lands in the same layout.

## How do you keep part numbers with leading zeros intact?

Keep part numbers intact by setting the part number column to Text before the data arrives, either in the import step or by formatting the empty column first. Excel otherwise reads 007120 as the number 7120, turns 3-14 into a date in March, and turns 12E4 into 120000. None of these changes can be undone reliably afterwards.

### The three ways part numbers break

- **Leading zeros dropped.** 00451 becomes 451. Two different parts, 451 and 00451, now look identical.
- **Date conversion.** A part such as 3-14 or 1/2 becomes a date, and the cell stores a serial number.
- **Scientific notation.** A code with a digit, the letter E and more digits becomes a number in exponent form, and long numeric codes lose their final digits beyond fifteen significant figures.

### Fixing it at import

In Excel's import steps, change the column's data type to Text before you load it. If you open a CSV directly, Excel guesses the types and the damage is done before you see the sheet; import it instead. Pasting into a column already formatted as Text also works, as long as the format was set before the paste.

### Checking afterwards

Sort the part number column and look at the shortest values. A part list where most codes have six characters and a few have three or four probably lost zeros. A cell aligned to the right in a Text column is also a sign: numbers align right by default, text aligns left.

## Do the purchase order totals add up?

Purchase order totals add up when each line's quantity times unit price equals its extended price, the extended prices sum to the subtotal, and the subtotal plus tax, freight and other charges equals the order total. Check all three with helper columns before you use the sheet, because a misread digit fails at least one of them.

### Worked example: a four-line order

This purchase order is a made-up example to show the checks.

| PO | Line | Part number | Description | Qty | UoM | Unit price | Extended |
| --- | --- | --- | --- | --- | --- | --- | --- |
| PO-20418 | 1 | 00451-A | Hex bolt M8 x 30 | 200 | EA | 0.42 | 84.00 |
| PO-20418 | 2 | 007120 | Flat washer M8 | 500 | EA | 0.065 | 32.50 |
| PO-20418 | 3 | 3-14 | Steel angle bracket | 25 | EA | 6.80 | 170.00 |
| PO-20418 | 4 | 12E4 | Nylon spacer | 40 | EA | 1.15 | 46.00 |

Below the lines, the PDF prints a subtotal of 332.50, sales tax of 26.60, freight of 18.00 and a total of 377.10.

### The checks, step by step

1. Add a column with quantity times unit price, rounded to two decimals, and a second column with the difference from the printed extended price. Every difference should be zero.
2. Sum the extended column: 84.00 + 32.50 + 170.00 + 46.00 = 332.50, matching the subtotal.
3. Add tax and freight: 332.50 + 26.60 + 18.00 = 377.10, matching the total.
4. Check the part number column still reads 00451-A, 007120, 3-14 and 12E4, not 451, 7120, a date and 120000.

If step 1 fails on a single line, look at that line's quantity and unit price in the PDF. If step 2 fails but every line passes step 1, a line is missing or duplicated.

### Discounts and charges

Some purchase orders print a discount line, a minimum-order charge or a handling fee between the lines and the total. Keep these as rows with a Charge type and no part number, so the sum of all rows still equals the total.

## Purchase orders with wrapped descriptions, multiple pages and revisions

Three layouts break a simple line table: descriptions that wrap onto a second line, line items that continue onto later pages with the header repeated, and revised purchase orders that replace an earlier version. Each needs a specific fix before the sheet can be trusted.

### Wrapped descriptions

A long description can print across two or three lines, and a converter may read the extra lines as new rows with no quantity or price. Join each such row onto the description of the row above it, then delete it. A filter on rows with an empty quantity finds them quickly.

### Multi-page orders

Long purchase orders repeat the column header and sometimes a "continued" note at the top of each page, and some print a page subtotal. Delete repeated headers. Delete page subtotals after you have checked them, or they will be summed twice.

### Revisions and change orders

A revised purchase order often carries the same number with a revision suffix, such as PO-20418 Rev 2. Keep a Revision column. When you stack orders, filter to the latest revision of each before totalling, or a changed line will count once for every version.

### When the PDF is a scan

A signed purchase order that was printed and scanned has no text to extract, only a picture. That needs text recognition first, and digits in part numbers deserve a second look afterwards, because a recognised O and 0 look the same but sort differently.

## Matching purchase order lines to invoices and receipts

Once purchase order lines are rows in Excel, you can match them to supplier invoice lines and goods-received records on PO number and line number. This is the three-way match: the quantity ordered, received and billed should agree, and the billed price should equal the ordered price.

### Building the match

Put invoice lines on a second sheet with the same PO number and line number columns. Use a lookup on a key that joins the two, such as PO number and line number together, to pull the ordered quantity and price next to each invoice line. Flag any row where billed quantity exceeds ordered quantity or where price differs.

### Where the spend ends up

Matched and approved purchases eventually land in the accounts as expenses or assets. If you later need to compare the purchase totals with the company's reports, the [profit and loss PDF to Excel guide](/blog/profit-and-loss-pdf-to-excel) and the [balance sheet PDF to Excel guide](/blog/balance-sheet-pdf-to-excel) cover bringing those statements into the same workbook.

### Proving payment went out

The last step of the purchase is the payment leaving the bank. FastBankConvert is aimed at that end of the trail rather than at purchase orders: it is being built to turn bank statement PDFs into Excel, CSV or JSON and to warn you when the statement's balances do not add up. It has not opened yet, and the [get-started page](/get-started) takes sign-ups for launch.
