Tf TfL Refund Dashboard

Dashboard

Every journey compared against how long it normally takes on TfL, with each plausible refund candidate surfaced.

Runs in your browser
Journeys analysed
0
Across all saved cards
Strong claims
0
At or above the selected threshold
Worth trying
0
Within a minute of the refund threshold
Potential refund value
£0.00
Sum of saved fares for surfaced candidates
Money back received
£0.00
Based on refunds marked successful

Import journeys

Add trips in one box: paste statement text, paste CSV, or drop a PDF/CSV file. The format is detected automatically and exact duplicates are skipped.

Add journeys

Paste TfL statement text or CSV rows, or drop a PDF/CSV statement file. New journeys merge into your saved data.

Drop your TfL statement here
Drag in a PDF (contactless / credit card) or CSV (Oyster), or click to choose files. Multiple files are fine.
Or paste statement text / CSV instead
Oyster card: use the CSV. Contactless / credit or debit card: use the PDF — the contactless CSV does not include start and end tap times, so the PDF is required. After importing, expected journey times are calculated automatically from the TfL API — please allow a few minutes for every route's baseline to fill in on the Dashboard. Buses, top-ups, balance lines and automated refunds are ignored. Image-only PDF scans need OCR and are flagged rather than guessed. Everything is processed in your browser.

Settings

Tune screening, manage live TfL estimates and route baselines, and export or reset your data.

Screening settings

Tune how assertively the dashboard surfaces possible claims.

Use reverse-direction baselines Example: use Hillingdon → Canary Wharf for Canary Wharf → Hillingdon.
Include “worth trying” in totals Counts near-threshold candidates toward the potential refund value.
Count exact-threshold journeys Treat exactly 15 minutes as eligible when the threshold is 15.
Live TfL journey estimates On by default. Baselines are resolved from the TfL API automatically in the background and cached, so there is nothing to set up. Turn this off to rely only on saved baselines.
Estimates are fetched live from your browser and cached, so each route is only looked up once. If a station cannot be resolved, that route falls back to the saved baselines automatically.

Live network status

Current TfL disruptions across the tube, DLR, Overground and Elizabeth line. Refreshes automatically; journeys during a logged disruption are flagged in the results table.

Loading live status…

Claim status

Current screening result across all journeys.

Delay trend

Calculated delay by journey date.

Money back by month

Total fares recovered from successful refunds.

Largest calculated delays

Top journeys with a usable baseline.

Journey results

Results are recalculated instantly whenever journeys, baselines or settings change.

Date Journey Actual Baseline Delay Threshold Fare Result Refund raised Successful Denied

Add a journey manually

Useful when copied statement formatting is awkward.

Route baselines

These are the expected journey times. Live TfL estimates fill them automatically; edit any row to override.

Your data

Your journeys sync automatically to this device. Export a backup, restore one, or reset to the demo data.

100% FREE TO USE

Never miss a TfL refund again

If your Tube, DLR, Overground or Elizabeth line journey was delayed, TfL owes you money — but most people never claim. We find the delays worth claiming for, and it costs nothing to use.

You control exactly what you share

Unlike other services, we never ask for your TfL password and never log in to your TfL account. You decide how much to share — use it completely anonymously, or sign up for more convenience.

1. Use it free, share nothing

Upload a statement (or paste it) and we analyse it right in your browser. Your journeys never leave your device. No account, no sign-up.

2. Sign up to save & sync

Create a free account (just an email) so your data is saved securely and follows you across devices. You choose what to store.

3. Subscribe for auto-tracking

On a paid plan we automatically track and manage your journeys and flag every transaction worth claiming — and keep each claim's status up to date for you.

How it works

1

Bring your journeys

Download your journey history from TfL (CSV for Oyster, PDF for contactless) and import it here — or on a paid plan, forward your TfL emails and we do it for you.

2

We find the delays worth claiming

We look up how long each journey normally takes using the live TfL API and flag any that ran over the refund threshold (15 min Tube/DLR, 30 min Elizabeth line/Overground), cross-checked against logged network disruptions.

3

You claim in a couple of taps

Each candidate has a Claim button that opens TfL's official refund form. TfL makes the final decision and pays the refund straight back to your card.

4

We keep track (paid plans)

Forward TfL's refund emails and we automatically mark each claim approved, credited or unsuccessful — no manual ticking.

We are an independent tool and not affiliated with Transport for London. We help you prepare and track claims; TfL decides every claim and pays refunds directly to you. We never take a cut.

Plans

The dashboard is free to use. Upgrade only if you want us to store your data and track your claims automatically.

Free

Find and file claims yourself. Nothing stored on our servers.

£0
  • Import Oyster / contactless statements
  • Automatic TfL journey baselines
  • Delay detection & refund candidates
  • Live network status & disruption flags
  • Data stays in your browser only
  • Supported by occasional ads
  • You track claim outcomes yourself

Base

Saved, synced and auto-tracked for one card.

£3/month
  • Everything in Free
  • No ads
  • Securely store & sync 1 card / Oyster
  • Automatic claim status updates by forwarding TfL emails
  • Up to 5 cards
  • Email alerts for new claims

Plus Most popular

For multi-card households who want it handled.

£5/month
  • Everything in Base
  • Store & sync up to 5 cards / Oysters
  • Overcharge & incomplete-journey detection — catch max fares from missed tap-outs
  • Email notifications when you have claims ready to submit
  • Priority support

How automatic claim tracking works (Base & Plus): set your email to forward TfL's refund emails to tfl-refunds@taricone-solutions.com. We read only those TfL messages, match each one to your journey by its reference number, and update the status on your dashboard automatically — approved, credited, or unsuccessful. We never ask for your TfL password and never access your TfL account. You choose exactly what to forward.

Support this project

This tool is free and runs on a shoestring. If it has saved you money, a small tip helps cover hosting and keeps it free for everyone.

Buy me a coffee

One-off tips of any size are hugely appreciated and go straight towards the AWS bill that powers the live TfL tracking.

Donate on Ko-fi Buy Me a Coffee

Prefer to go Premium instead? See the Premium tab for ad-free use and automatic claim tracking.

Help & FAQ

How to get your journey history out of TfL and into this dashboard, and answers to common questions.

Getting your TfL journey history

1

Sign in to your TfL account

Go to account.tfl.gov.uk/my-account and sign in with the account that holds the Oyster or contactless card you travel with.

TfL account dashboard after signing in, showing Oyster and Contactless cards
2

View your journey history

Open your Oyster or Contactless card from the account dashboard, then under Journeys select View journey history.

Card page with the View journey history button highlighted
3

Pick a date range

Choose the date range you want to check (for example the last seven days) and submit.

Journey history date range selector with Submit button
4

Download the right format for your card

Oyster card: download the CSV — it includes the exact start and end tap times we need.

Contactless / credit or debit card: download the PDF. The contactless CSV does not include the full start and end times of each journey, so the PDF is required for an accurate delay calculation.

Then open the Import tab here and drop the file in; duplicates are skipped automatically.

Download statement buttons offering CSV and PDF formats
5

Go to Service delay refunds

Back in your TfL account, select Service delay refunds in the My Account menu for your chosen Oyster or contactless payment card.

My Oyster cards page, with the Service delay refunds link highlighted in the account menu
6

Claim using the details from this dashboard

For each strong candidate, click Claim on the Dashboard to open TfL's Service Delay Refund form, then copy across the service, stations, dates, times and delay length shown in your results table.

TfL service delay refund journey details form with service, stations, dates and delay length fields

FAQ

Is my data private?

Yes. Journeys are stored in your browser and synced to a private record keyed to this device. The public demo ships with sample data only, never anyone's real journeys.

What counts as a refundable delay?

TfL offers a Service Delay Refund when your journey was delayed 15 minutes or more on the Tube or DLR, or 30 minutes or more on the Elizabeth line or London Overground. You must claim within 28 days.

How is the "expected" time worked out?

Live TfL journey estimates run automatically in the background: each station is resolved via the TfL API and your actual time is compared against the fastest planned journey. You can override any expected time under Settings → Route baselines.

What do the disruption flags mean?

A scheduled job records TfL line disruptions every few minutes. If one of your journeys overlapped a logged disruption on its line, it gets a flag — a stronger signal that a claim is justified.

Should I use CSV or PDF?

For an Oyster card, use the CSV — it lists exact start and end tap times. For a contactless or credit/debit card, use the PDF: the contactless CSV omits the full start and end times of each journey, so only the PDF gives an accurate delay calculation.

Will importing the same statement twice duplicate journeys?

No. A journey is treated as a duplicate when the card, date, route and both tap times match an existing one, so re-importing is safe.

Does this guarantee a refund?

No. It is an assertive screening tool. Only submit journeys you actually took and describe disruptions honestly; TfL uses its own timetable and operational records when deciding a claim.