Skip to main content
The Shipping Agent lives under Agents → Shipping in app.dash.fi. This page walks through the layout, how to submit invoices yourself, and what each tab shows.

Prerequisites

The Shipping Agent is gated on a product entitlement. If Shipping doesn’t appear in your Agents list, contact support at support@dash.fi or your Account Executive to have it enabled for your account.

Layout

The Shipping Agent uses a second sidebar with three groups:
  • Overview — high-level KPIs and monthly spend trend.
  • Analytics — Spend Insights and Volume & Growth.
  • Audits — Billing, Charge Summary, Late Shipments, and Recovery.
The top bar shows the current audit status (“Audited”, “Analyzing”, or “No invoices yet”) and a Configure button for uploading files and managing integrations. Tabs under Analytics and Audits stay locked until at least one invoice has been audited. Once an audit completes, they unlock automatically.

Upload invoices and contracts

Uploading is self-serve. Click Configure in the top bar to open the Configure modal, which has three sections:
Upload UPS or FedEx invoices as .xlsx files. Each carrier’s invoice export from the carrier portal works directly — no reformatting required.The section lists past uploads with their parse status. Larger invoices (40+ MB) are supported; the file uploads directly to secure storage, and Dash.fi validates it server-side.
Upload your UPS carrier agreement as a .pdf. Uploading a contract adds a compliance audit to the Billing view — Dash.fi compares your invoiced rates to the agreement and flags surcharge or rate deviations.Contracts are optional. Invoice-only audits still surface billing errors and the Charge Summary rate comparison, but won’t include contract compliance findings.
Connects the UPS live API for delivery-time tracking and Guaranteed Service Refund (GSR) claim detection.Click Connect UPS API to start the OAuth flow. UPS prompts you to sign in and authorize Dash.fi to read your shipment tracking data. When you return to the dashboard, the section shows the connected UPS account and a Disconnect button. Reconnecting later replaces the existing connection.The connection is required for the Late Shipments tab to cover UPS shipments. Nothing else in the dashboard changes when you connect or disconnect.
Enables FedEx delivery-time tracking and Money-Back Guarantee (MBG) claim detection.FedEx doesn’t use a per-customer OAuth flow. Click Connect FedEx to enable tracking for your account. Dash.fi picks up the FedEx account number from your already-parsed invoices and uses a shared FedEx API credential to look up delivery times. When enabled, the section shows the connected FedEx account number and a Disconnect button.The connection is required for the Late Shipments tab to cover FedEx shipments. If no FedEx invoices have been parsed yet, upload them under Configure → Invoices first so Dash.fi can detect your account number.

How the upload runs

Uploads run in the background, so you can close the Configure modal or navigate between tabs while they finish:
  1. The file uploads directly to secure storage with a real progress bar.
  2. Dash.fi parses the file — invoices become line-item data, contracts become structured rate cards.
  3. An audit runs against the parsed data.
  4. When the audit finishes, the dashboard and top-bar status update automatically.
A progress pill stays visible while parsing and analysis run, so you always know when a fresh audit is on the way. Parsing can take a few minutes for large invoices; you don’t need to wait on the modal.

Tabs

Overview

Landing view for the agent. Shows total audited spend, package count, average cost per package, and a month-over-month spend trend. Use it as the starting point after every new upload.

Spend Insights (Analytics)

Breaks spend down by service (Ground, Air, International, etc.), zone, weight bucket, and residential vs. commercial. The service donut collapses long tails into “Other” so the top five services stand out. Hovering a slice highlights the matching legend row.

Volume & Growth (Analytics)

Shipment counts over time, monthly growth, and volume distribution. Pair with Spend Insights to see whether cost changes are driven by volume or by rate.

Billing (Audits)

Actionable output of the audit. The tab is split into two sections:
  • Invoice compliance — ranked billing errors and surcharge overcharges pulled from your invoices. Each opportunity shows an annualized dollar impact and a High / Medium / Low severity badge (High at ≥ 25,000/yr,Mediumat25,000/yr, Medium at ≥ 5,000/yr, Low below). A Recovery potential KPI at the top sums the ranked opportunities.
  • Contract compliance — only appears when a UPS carrier agreement has been uploaded through Configure → Contract. Dash.fi compares your billed rates to the contract and lists each deviation with a High / Medium / Low severity badge, monthly and annual cost, and a plain-language description. If nothing violates the contract for the period, the section shows a compliant empty state. When violations exist, a Recovery potential KPI sums their annualized cost.
To trigger the contract compliance audit, upload your UPS agreement as a .pdf under Configure → Contract. The section appears on the next completed audit; without an uploaded contract it stays hidden.

Charge Summary (Audits)

Compares your actual UPS invoice charges against Dash.fi’s contract rates, charge type by charge type. Use it to see exactly which charges Dash.fi would price lower and by how much. Savings are signed — a negative value (shown in red) means Dash.fi’s rate costs more for that charge type. UPS invoices only for now. At the top, a This Period / Annualized toggle switches the totals between the uploaded invoice period and a full-year projection. Annualizing needs at least 7 days of invoice coverage; below that, Dash.fi keeps showing period totals and explains why in a note under the toggle. Four KPIs summarize the comparison:
  • Compared net — what you actually paid across the charges Dash.fi could compare.
  • Dash net — what the same charges would cost at Dash.fi’s rates.
  • Dash savings — the signed difference. This is a target, not a contracted rate.
  • Dash savings % — savings as a percentage of compared net, with the coverage span in days.
Below the KPIs, the Charges by type table lists every compared charge with quantity, published rate, your discount, your net, Dash.fi’s discount, Dash.fi’s net, and the per-row savings. Charge lines that can’t be matched to a Dash.fi rate — no matching contract rate, zero billed weight, or zero shipment count — move to a Not compared section with their combined net amount, so excluded spend never inflates the headline savings percentage. If a minimum-charge floor applies to any Dash.fi rate, a note flags that it can lower the modeled savings.

Late Shipments (Audits)

Late-delivery refund claim worklist covering UPS Guaranteed Service Refunds (GSR) and FedEx Money-Back Guarantee (MBG). Requires a connected carrier: the UPS API connection under Configure → UPS API for UPS, or the FedEx connection under Configure → FedEx API for FedEx. Before you connect, the tab shows a prompt to connect the relevant carrier. Once connected, it becomes a paginated worklist of late deliveries with:
  • Status filter tabs — All, Eligible, Expired, Not eligible, Exported, Error — each showing a count.
  • Tracking-number search.
  • Export eligible button that downloads the currently eligible claims as a CSV you can file in the UPS Billing Center or the FedEx Billing Online refund portal. Claims move to Exported once downloaded. Claims the Dash.fi team has excluded during review are left out of the export.
  • Re-download exported button that re-serves a CSV of everything already exported, without changing any claim’s status. Use it to grab a fresh copy of a previous export.
Both download buttons require the agent:write permission. Read-only cardholders see the worklist but not the buttons. Each row shows the tracking number, carrier (UPS or FedEx), service level, Picked up date (the carrier’s pickup date, not label creation), Scheduled delivery time, Delivered time, refund amount in the claim’s currency, the Window ends date (the filing deadline), and the current status. Hovering the status badge on a Not eligible or Expired claim reveals the reason it landed in that bucket. Delivery times render in the delivery’s local clock, not the viewer’s timezone, so a customer in London and one in Chicago see the same time for the same package. Date-only fields (Picked up, Window ends) render in UTC. Carrier coverage differs because the two programs have different terms:
  • UPS — all services with a UPS Service Guarantee. The 15-day filing window is anchored on the scheduled delivery date.
  • FedEx — only the four time-definite domestic Express services eligible under FedEx’s Money-Back Guarantee: FedEx First Overnight, Priority Overnight, Standard Overnight, and 2Day A.M. Ground and non-A.M. deferred Express tiers are excluded. The 15-day filing window is anchored on the FedEx invoice date.

Recovery (Audits)

Tracks what happens to UPS Guaranteed Service Refund (GSR) claims after they’ve been filed with the carrier. Where Late Shipments is the worklist of claims to file, Recovery shows the status of claims that have already been submitted. Filing and status changes are handled by the Dash.fi team, so the tab is read-only. You can’t open, edit, or withdraw a claim from here. If a claim needs attention, contact support at support@dash.fi. The tab requires the UPS API connection under Configure → UPS API. Before you connect, it shows a Connect UPS API prompt (read-only cardholders see a note to ask an administrator instead). Once connected, it becomes a paginated list where each row shows:
  • Tracking — the shipment’s tracking number, so you can match the claim to a package.
  • Carrier case — the carrier’s claim reference number, once the carrier has assigned one.
  • Status — where the claim is in the filing and review process (see below).
  • Submitted — the date the claim reached the carrier. Blank while the claim is still at Filed.
  • Recovered — the refund amount credited so far, in the claim’s currency. Empty until the carrier approves something.
A claim moves through these statuses: Every claim starts at Filed and only moves forward. The Dash.fi team files claims in batches, so a claim can sit at Filed briefly before the team confirms it reached the carrier and it moves to Submitted. If nothing has been filed yet, the tab shows an empty state until the first claim goes in.

Alternatives to self-serve upload

If you’d rather not upload invoices yourself, email them to support@dash.fi or send them to your Account Executive. The audit data ends up in the same dashboard either way.