Skip to content
CheckMySupply.com
Tech, Accounting and Integration

Export Purchase History From Your Supplier Portal

How to export purchase history from a supplier portal as a contractor, which fields you actually need, and what to do when the portal only hands you PDFs.

By 10 min read

To export purchase history from a supplier portal, log in, find the section named Order History, Invoice History, Purchase History or My Account Activity, set the date range as wide as it will go (twelve months if the portal allows it), and look for an Export, Download or CSV button. If the portal only produces PDFs, stop fighting it and ask your rep for an item usage report or a sales history report pulled out of the distributor’s ERP. Every major distribution system can produce one. The portal is just the self-service window onto it.

That is the whole how-to. The rest of this post is the part that actually decides whether the export is worth anything: which fields you need, why line-level data beats invoice totals by a mile, and how to clean up what comes back so you can use it to spot material price creep instead of just filing it.

One thing to be clear about up front. Nothing here is adversarial. Your distributor’s portal exists because they want you self-serving your own paperwork instead of calling the branch, and most reps will pull a history report for you the same day you ask. The friction is in the software. These portals were built for reordering, not for auditing, so the export is usually an afterthought.

Invoice totals are useless. You need line-level data.

The single most common mistake is exporting the wrong thing. Most portals default to a list of invoices: invoice number, date, PO reference, total. That view answers “what did I spend” and nothing else. It cannot tell you that the same three-quarter inch copper 90 elbow went from $14.20 to $17.80, because the elbow never appears in it.

What you want is the line detail. One row per SKU per invoice. Here is the field list to check the export against before you accept it.

Field Why you need it
Invoice number and date Anchors every line to a document you can pull if you dispute it
Branch or location Same SKU frequently prices differently by branch, and a branch column is how you find that
Manufacturer catalog number The only stable join key. Descriptions get rewritten; part numbers mostly do not
Description Human check that the catalog number is what you think it is
Quantity Needed for both extended-price math and quantity disputes
Unit of measure The difference between $4.60 each and $4.60 per hundred feet. Skip this and your whole analysis is wrong
Unit price The number the entire exercise exists to track
Extended price Lets you re-add the invoice and catch arithmetic errors
PO number or job reference Without it you cannot cost the line to a job
Quote or contract reference Tells you whether the line priced off an agreement or fell through to the default

That last row is the one people never ask for and it is the most diagnostic. A line with a contract reference priced off your agreement. A line without one may have fallen through to the counter price, which is the mechanism explained in contract price vs counter price.

The field names in your export will not match the list above exactly, because distributors run different ERPs. But the underlying data is standardized more than you would expect. Trade Service, now part of Trimble, supplies managed pricing and product data with fields including manufacturer catalog number, long description, list price and unit of measure, synced into distributor systems. Those fields exist in the database. Getting them onto your screen is the only question.

Where the export button hides in a distributor portal

Portals differ, but the navigation labels cluster into a small set of names. Work through these in order.

Order History or Invoice History. The main event. Look for a date-range filter first, because many portals default to 30 or 90 days and silently truncate. Set it as far back as it goes. If it caps at 90 days, run four exports and stack them.

Item Usage, Purchase Analysis or Buying History. Some portals carry a separate report that is already aggregated by SKU across a period. This is the jackpot when it exists, because it gives you every part you bought, the quantity, and often the price range, in one file.

Statements or Billing. Usually invoice-level only. Fine for AP reconciliation, not for price work.

Saved Lists, Quick Order or Reorder Pads. Not history, but useful adjacent data: these often carry your current price for each item, which is a live snapshot to compare your invoices against.

Reports. Larger distributors sometimes bury a real reporting module here, occasionally with a scheduled-email option. If your portal will email you a monthly CSV on its own, turn that on and you never think about this again.

If none of those exist, the portal is a reorder tool and nothing more. Go to your rep.

When the portal only gives you PDFs

This is the common case, especially with independents and single-branch houses. You get a list of invoices and a download icon that produces one PDF at a time.

Three ways through it, in order of how much of your evening they cost.

Ask for the report from the ERP. Distribution ERPs are built for this. Epicor’s electrical distribution platform, as one example, ships discrete modules for counter sales, contract pricing with customer-specific rates, and job management with bid schedules and lot costs. All of that is transactional data sitting in a database with a report writer attached. A sales history report by customer by item is a standard output, not a special favor. Ask by name: “Can you run me a twelve-month item usage report for our account, by SKU, with quantity and unit price, as a CSV or Excel file?” Naming the format matters, because the default answer is a PDF.

Have invoices emailed instead of downloaded. Ask billing to switch your account to emailed invoices, ideally in a machine-readable form. Even plain emailed PDFs beat portal downloads, because they arrive automatically and land somewhere you can search.

Scan or photograph what you have. If your history is paper in the truck, that is normal and it is still workable. The process for getting it into a usable form is covered in how to scan paper supply house invoices.

One warning about relying on the portal’s own price display rather than your invoices. The pricing your outside tools see is fed by the distributor, not pulled independently. NetPricer, which supplies electronic pricing into electrical estimating packages, provides pricing only for products your distributor feeds to the service on your behalf. The invoice is the record of what you were actually billed. The portal price is what you are expected to be billed next time. Track both, but audit against the invoice.

The email that gets the report pulled

Short, specific, no accusation. Reps run these all day.

Subject: 12-month purchase history export for account [number]

Hi [rep], can you pull a twelve-month item usage or sales history report for our account? By line item, with invoice number, date, branch, catalog number, description, quantity, unit of measure and unit price. CSV or Excel if the system will do it. We are building our own cost history for estimating. Thanks.

The last sentence is doing work. “We are building our own cost history for estimating” is true, is unthreatening, and is a request reps hear from good customers. It is a very different email from “I think we have been overcharged,” which is a conversation for after you have the data, and which has its own ready-made template once you have a specific line to point at.

If you buy from more than one house, send the same email to each. Comparing the same SKU across two suppliers is one of the few pieces of leverage that costs you nothing to acquire.

Cleaning the export so the numbers mean something

Raw distributor exports are messy in predictable ways. Budget an hour the first time.

Unit of measure is the big one. The same part shows up as EA, BX, C (per hundred), M (per thousand), and FT depending on how the counter wrote it up. A jump from $0.42 to $42.00 is almost always a UOM change, not a price increase. Normalize everything to a price per each or per foot before you compare anything.

Credits and returns come through as negative lines. Leave them in when you are reconciling spend. Pull them out when you are charting unit price, or your average will be nonsense. And check that the credit you were promised actually landed, because the gap between “we will issue you a credit” and a credit appearing on the account is real.

Freight, fuel surcharge, core charges and environmental fees are lines too. They have no catalog number and no meaningful unit price. Tag them and exclude them from price analysis, but do keep a running total, because they are real cost and they move.

The same physical part can carry two catalog numbers. Manufacturer changes, house-brand substitutions, or a counter person picking a different equivalent. When your price history for a SKU stops abruptly and a new SKU starts, that is usually a substitution, not a stopped purchase.

Duplicate rows are not always duplicates. Two identical lines on one invoice can be legitimate (two separate pulls) or a real double-bill. Same invoice number appearing twice with different dates is a different problem entirely, covered in duplicate supply house invoices.

Watch for the same part at two prices on one document. It happens. One contractor on the Mike Holt forums described it plainly: “I have had projects where two different P.O.s with the same part on it got charged two different prices.” You will not see that in a stack of PDFs. You see it instantly in a sorted spreadsheet.

What twelve months of line-level history lets you do

This is why the export is worth the hour.

Build a real unit-price trail. Sort by catalog number, then by date. Every part you buy repeatedly now has a price curve. That curve is the difference between “prices seem high” and “this fitting is up 25% since March and nobody called me.”

Separate market movement from your own drift. Some increases are the market. Copper and brass mill shapes, the BLS series behind copper fittings and wire, ran 645.990 in January 2025 and 803.275 preliminary in June 2026. If your copper prices moved and that index moved, you are seeing the market. If your PVC prices jumped while the plastics pipe series barely moved, the increase is yours specifically and it is worth a phone call.

Estimate off your own numbers. Your actual paid unit prices are a better estimating basis than any catalog, and a better basis than the material costs frozen in your flat rate pricebook, because they already include your discounts, your branch, and your buying pattern.

Cost material to jobs properly. With a PO or job reference on each line, you can tie committed cost to actual cost. Purchase orders let contractors track committed cost and remaining committed cost at job, cost code or cost class level, and without them contractors risk thinking a job is more profitable than it is.

Run the match. Line-level history is what makes three-way matching possible at all, since matching cross-checks the invoice against the purchase order and the delivery receipt line by line.

Walk into the annual review with receipts. Twelve months of your own unit prices changes the shape of a pricing conversation. You stop asking for a better price in the abstract and start asking about four specific part numbers.

The checklist

  1. Log into the portal. Find Order History, Invoice History or Item Usage.
  2. Set the date range to the maximum. Run multiple exports if it caps at 90 days.
  3. Export to CSV or Excel, not PDF. Confirm the file has one row per line item, not one row per invoice.
  4. Check the file carries catalog number, description, quantity, unit of measure, unit price, branch and PO reference.
  5. If the portal cannot do it, email your rep for a twelve-month item usage report from the ERP, and name the format.
  6. Repeat for every supplier you buy from.
  7. Normalize unit of measure before comparing anything.
  8. Split out freight, fuel, core and environmental charges.
  9. Sort by catalog number and date, and read the price trail on your top 20 items by spend.
  10. Set a calendar reminder to re-export monthly, so you never have to reconstruct a year again.

Sources