Carrier scorecard reporting

Score every carrier on on-time delivery, damage, and cost. Consolidate UPS, FedEx, DHL, and NetSuite shipment data into a formatted scorecard the procurement team can act on.

The prompt

I want to build a carrier scorecard by pulling shipment and invoice data from UPS, FedEx, DHL, NetSuite, and inbound PDF reports and emails. Can you build me a flow that consolidates performance data by carrier, calculates on-time delivery and damage rates, scores each carrier against defined thresholds, and outputs a formatted scorecard report?

Just copy and paste the prompt into a new Parabola flow to get started.

What Parabola builds

A workflow with seven steps you can edit:

1. Pull shipment data from each carrier. UPS, FedEx, DHL, regional parcel carriers, your TMS, the freight forwarder portal. The flow reads from APIs and parses what only comes as a PDF or email attachment.

2. Pull the ERP record. NetSuite or your finance system holds the booked cost, expected ship date, and customer. Bring it in alongside the carrier records.

3. Standardize the fields. Carrier names spell themselves four different ways across four systems. Tracking numbers carry leading zeros that one system strips and another keeps. Normalize once so the join works.

4. Calculate the metrics. On-time delivery rate, damage rate, average transit time, cost per shipment, exception count. Per carrier, per lane, per service level.

5. Grade against thresholds. A carrier hitting 96% OTD with a 0.4% damage rate gets a green light. Anything below your floor gets flagged with a reason.

6. Roll up the period. Monthly, quarterly, or rolling 90 days. Output a single scorecard view sorted with the worst offenders first.

7. Send it where the team works. Emailed PDF for the procurement review, CSV for the warehouse leads, Slack alert if a carrier slips two periods in a row.

Why teams stop doing this manually

Every carrier sends a different file. UPS gives you one cut of the data. FedEx gives you another. DHL emails a PDF. The regional carrier sends nothing and you scrape it out of the portal. The procurement team needs one view that compares all of them on the same metrics, and nobody on the team has a clean way to build it.

The manual version is a quarterly spreadsheet. Someone pulls each carrier file, lines them up by tracking number, calculates the deltas in Excel, and emails the scorecard out. It works fine when freight is small. It breaks the moment volume grows, the moment a new carrier joins the mix, or the moment a procurement lead asks for the same view monthly instead of quarterly.

The cost of skipping the scorecard is real. Damage rates drift up before anyone notices. A carrier renegotiation starts without the numbers to back it. The next contract gets signed because the procurement team had to estimate. Operators feel this every time a shipment misses commitment.

How it works

Step 1. Paste the prompt.

Open Parabola, paste the prompt in section 2, and let it ask follow-up questions about which carriers you ship with, where the rate cards live, and how your service-level tiers are defined.

Step 2. Connect your data.

API connections to UPS, FedEx, DHL, NetSuite, and your TMS. PDF parsing for any carrier that still emails reports. Rate-card files for the cost comparison.

Step 3. Run it every period.

Monthly during the scorecard review, rolling 30 days for the warehouse Slack alert, on-demand when a procurement lead asks for an updated cut.

FAQ

Does this work if my carriers send data in different formats?

Yes. The flow handles APIs for the parcel carriers, parses PDFs for the ones that still email reports, and pulls portal data for the regional carriers. Everything gets normalized in the same standardization step at the top of the flow.

Can I score LTL and ocean freight on the same scorecard as parcel?

Yes, but you'll want different thresholds per mode. The flow lets you set OTD, transit, and cost bands per service level so a parcel carrier and an ocean carrier each get scored against the right expectations.

How does the flow handle carriers that don't report damage themselves?

Damage rate gets pulled from your claims system or warehouse receiving records, not the carrier file. Add a source for whichever system owns the damage data and the flow joins it in by tracking number.

What about cost variance against the rate card?

Add the rate card as a reference file. The flow looks up the booked rate by service, zone, and weight and flags any shipment billed above contract. This is the same logic the parcel invoice audit uses.

How is this different from a TMS dashboard?

Most TMS dashboards show one carrier at a time and miss the data that lives in carrier emails, PDFs, or your ERP. This flow pulls every source into one comparison, which is what procurement actually needs to negotiate.
Grade every carrier on the same scale.
Paste the prompt, point it at your carriers and your ERP, and let the scorecard run on its own each period.
Start for free