TPASS.calc
Monthly pass break-even tool
Free · Designed for iPhone. Not verified for macOS.
Still deciding whether that TPASS monthly pass is worth it? Bought one but no idea when it pays for itself?
TPASS.calc is your personal commute accountant — supporting 20+ monthly pass plans across Taiwan, plus the THSR Periodic Ticket!
Built for pass holders, packed with powerful features:
【Automatic Fare Calculation】 No more typing in amounts! Built-in fare database covering Taiwan's metro, TRA, THSR, light rail, city buses and intercity coaches — 11 transport types and city bus networks across all 21 counties. Just pick your origin and destination, and the official fare is filled in automatically. Logging a trip takes two taps.
【Precise Break-Even Tracking】 Your daily spending adds up automatically, paired with a visual dashboard and break-even progress ring — see at a glance how close you are to earning back your pass. Every ride counts!
【Smart Transfer Discounts】 Our rules engine automatically applies transfer discounts for every plan nationwide, handling county-specific rules and resident-only discounts for you. No more working out deductions by hand.
【Voice Quick Entry】 Just say "MRT Zhongxiao Fuxing to Taipei Main Station" and it's logged. Powered by Apple Intelligence for smart parsing — perfect for when your hands are full.
【Automatic Trip Detection】 Head out and ride: the app detects your movement in the background with low power usage. On arrival, it prepares a suggestion card with fares and transfer discounts already calculated — one tap to confirm and log.
【Multi-Modal Route Planning】 Enter your origin and destination to search routes across metro, TRA, bus and coach in one go, complete with transfer details and fare estimates. Plan your trip before you leave — and log it while you're at it.
【Home Screen Widgets】 Keep an eye on your break-even progress right from your Home Screen and Lock Screen. The quick-log widget lets you record a trip in one tap, without even opening the app.
【In-Depth Analytics】 The Commute Heatmap and Break-Even Race analyze your weekday and weekend riding habits, turning your data into visuals that reveal exactly where your transit spending goes.
【Commuter DNA Achievements】 Are you a Taipei Metro addict or a TRA regular? Unlock badges based on your riding habits and turn routine logging into a game full of surprises.
【Your Data, Your Control】 Stored locally on your device, with iCloud backup and CSV import/export supported. Your data stays yours.
Not a pass holder? We offer a flexible plan too — track your commute spending however you like!
Download now, take command of your commute data, and get the most out of your pass!
Terms of Use (EULA): https://tpass-app-ios.web.app/terms.html
Privacy Policy: https://tpass-app-ios.web.app/privacy.html
more ● One place for Issue Reports
・Settings now has a single Issue Report entry. Anyone can send an app issue or suggestion there.
・New: report a Voice Recognition Issue. If voice logging misread what you said, pick that entry and send it to us.
・Pro 1-on-1 Support: tap "+" in a conversation to attach an Auto-Detection Report or a voice recognition record, as well as screenshots. Each Auto-Detection Report opens its own case and does not count toward your open-case limit.
● Auto-Detection improvements
・Fixed multiple cards and notifications appearing for a single transfer. At metro transfer stations such as Daan, you are only notified once you have actually exited, and a trip that continues on the same journey is merged into one card.
・The first leg of a merged trip now appears as a split-trip option inside the merged card, so you can still log it as separate trips. Its notification is cleared automatically.
・Walking between platforms is no longer mistaken for exiting the station. Out-of-station transfers between Xinpu and Xinpu Minsheng are detected more accurately.
● Layout and stability fixes
・With larger text sizes, the transfer button stays on the same row as the fare instead of moving to its own line. Long names are shortened to fit.
・Fixed the Update Info button being pushed off screen in Edit Trip when the Plan row is shown.
・Improved launch performance: the app no longer occasionally freezes when opening.
・Fixed the app's label peeking out around the Dynamic Island or notch on some iPhone models, including iPhone 14 Pro, 15, 16 and 18 Pro, and when Display Zoom (Larger Text) or Bold Text is turned on.
2.17.1 12h ago
● Auto Detection
・New "Report a Detection Issue": find it at the bottom of the Auto-Detected Trips page or in Settings. Report a trip that was detected incorrectly (wrong station or transport type, or a trip that was split or merged), or a ride that wasn't detected at all, with the time filled in from a trip you've already logged. You'll see the map and time range first, and only that stretch of location is uploaded after you confirm.
・Long-press a suggestion card to report that trip directly.
・New "Share Corrections": when you change a detection result, you can choose to share the change with us to help find stations and situations that are often misdetected. It only includes station names, transport types, and times, with no coordinates.
・Auto-logging is more careful: if another way of making the trip better matches where you actually got on and off, the trip isn't logged automatically. You'll get a notification to choose instead.
・Your transport order now only applies when a station is within walking distance (about 500 m). If the station is farther from where you started or ended, options are ranked by detection results instead.
● Privacy
・Detection logs from the last 14 days are kept on your iPhone to help find the cause of detection errors. They're never uploaded automatically and are deleted when you turn off Auto Detection.
・New "Share Usage Statistics": sends only daily counts of detections and confirmations, with no station names, times, or locations. You can turn it off in Settings.
・The Privacy Policy has been updated.
● Improvements & Fixes
・Filled in missing English translations.
・Fixed an issue where the invalid-amount message during CSV import showed raw code.
・Fixed VoiceOver reading English on some screens when the app is set to Chinese.
・Taipei Metro fares are now calculated by distance for better accuracy
・Fixed an issue where the TPE Metro fare didn't update when you changed the date after choosing stations
・Trips dated before Guangci/Fengtian Temple Station opened (Aug 30, 2026) now show a notice that the station wasn't open yet and can't be saved
・When billing cycles overlapped, a trip added manually on the Trips tab could be saved to the other overlapping cycle instead of the one you had selected. Trips are now saved to the cycle you're viewing.
2.17.0 1d ago
● Auto Trip Detection
• Trip notifications now show the transit mode, e.g. "Airport MRT | You just went from Taipei Main Station to Linghang…". When a station is served by several lines, you can tell at a glance whether the detection is right.
• Fixed an issue where a metro trip with a one-stop leg before or after changing lines could be recorded as starting or ending at the transfer station. The actual boarding and exit stations are now detected correctly.
● Stability & Privacy
• Updated the widget's privacy details and improved overall stability.
2.16.2 3d ago
Three fixes for automatic trip detection:
• Walking between two metro stations is no longer mistaken for a one-stop metro ride.
• Metro-to-bus trips can now be split into two legs with a single tap on the suggestion card.
• Bus trips arriving at stops whose names contain "MRT" are no longer held back by the transfer-station notification delay.
2.16.1 Sep 20
● Automatic Trip Detection
・No more mistaking late-night and early-morning travel for Taipei Metro: Travel after the last train has departed and before the first train of the day will no longer be incorrectly detected as a Taipei Metro trip. On New Year’s Eve, when the Metro operates overnight, detection will continue as usual.
・Transfer notifications will no longer trigger too early: When changing lines at transfer stations such as Zhongxiao Fuxing and Taipei Main Station, notifications will wait for a reasonable amount of transfer walking time.
- Exit the station: Notify immediately.
- Transfer to another Metro line: No separate notification during the transfer; the entire Metro journey will be combined and notified as one trip after arriving at the destination.
- Transfer to a bus: Notify as usual.
- Take a bus to a transfer station: Notify immediately; the notification will not be delayed.
・More accurate major-station detection: Taipei Metro stations are now identified based on the nearest station entrance. This improves accuracy when entering and exiting large stations with widely dispersed entrances, such as Taipei Main Station and Chiang Kai-shek Memorial Hall.
・More accurate bus route matching: Taipei City buses now use their actual operating routes for matching, making it easier to correctly identify routes with loops, frequent turns, or more complex paths.
● Missed Trains
・Timetables have been updated to the latest schedules. The Xinyi Line extension now directly displays “Towards Guangci/Fengtian Temple.”
● Bus Fares
・Taipei City bus fares now use data updated daily by the Taipei City Department of Transportation, with Route 606 Commuter also added.
2.16.0 Sep 19
● Voice Logging
・Added a third recognition engine option — Apple Private Cloud Compute (sends each sentence to Apple's private cloud for the most accurate, if slower, results) — alongside the on-device model and rule-based NLP. Tap the "Current Model" card before recording to switch
・Now understands more natural, conversational commute descriptions, including filler words, Chinese numeral times, and many bus route naming styles (branch routes, interval trains, lettered route numbers, etc.)
・Fixed an issue where the first recording after launch was mistakenly treated as offline; fixed "Enhanced Recognition" getting stuck; clearer messaging when the on-device model is unavailable (disabled, downloading, or unsupported)
・Metro stations with dual names can now be recognized from just one name, with fare applied automatically
(Devices freshly updated to iOS 27 need to re-download the on-device model — the menu will show "Preparing model" until it's ready, which is expected)
● Auto Trip Detection
・Fixed loop-route buses (e.g. Blue 7) not being recognized when boarding a few stops before the terminal and riding past it on the return leg — fare is still calculated as a single fare
・Bus trips no longer get incorrectly split into two segments when stopping at the terminal
● UI & Other
・Tab content now fades into the background near the bottom of the scroll instead of overlapping the tab bar
・Fixed a stray horizontal line at the top of the Home tab on iOS 27
・Paywall pricing and currency now update automatically after an App Store region change (hidden during the current free-access period)
2.15.0 Sep 18
New
• Pro features are free for a limited time: Route Planner, Auto Trip Detection, iCloud Auto Backup, Commute Reports, multiple concurrent passes, and 1-on-1 Support are available to everyone, planned through December 31, 2026.
Changes
• Subscription screens are hidden during the free period: Settings no longer shows subscription status, and features no longer show locks or the paywall.
• "Pro Support" is renamed "1-on-1 Support".
• Removed the "for reference only" banner at the top of the Advanced tab.
Fixes
• Subscriber-only announcements now appear as soon as your subscription status is confirmed.
2.14.0 Sep 17
This update introduces 8 new TPASS plans, expanding coverage to Hualien, Taitung, Changhua, Nantou, Yunlin, and Chiayi, alongside multiple performance enhancements and transfer discount calculation fixes.
● New TPASS Plans
• Hualien 199: TRA Heping–Fuli (25 stations) + Hualien city bus routes
• Hualien 399: Includes all Hualien 199 transit, plus highway buses and intercity routes between Hualien and Taitung
• Taitung 299: TRA Chishang–Dawu, Taitung city bus, and highway bus routes
• Changhua 699: TRA Changhua–Ershui, Jiji Line Yuanquan station, city buses, highway buses, and YouBike
• Nantou 699: TRA Jiji Line Zhuoshui–Checheng, city buses, and highway buses
• Yunlin 199: TRA Linnei–Shigui, county bus routes, intercity bus routes, and YouBike
• Yunlin Cross-Regional 399: Expands TRA coverage to Yuanlin–Minxiong, with all other inclusions identical to the 199 plan
• Chiayi 399: TRA Dalin–Nanjing (6 stations, non-reserved trains only), Chiayi city and county buses, Happy Bus services, highway buses, and YouBike
● Performance & Usability Improvements
• Faster cycle editing load times: cards now open instantly without lag, even with extensive trip histories.
• Enhanced tap targets: tapping anywhere on a cycle card (including blank spaces) now opens the edit screen.
• Layout and architecture refinements: stabilized top-bar button alignment across various device screen layouts.
● Discount Calculation & Bug Fixes
• Corrected Hsinchu–Miaoli transfer discount logic to apply accurate local Hsinchu free-transfer rules.
• Fixed an issue where plans without transfer benefits (such as Keelung and Pingtung) incorrectly inherited Taipei–New Taipei discounts when importing via CSV, templates, or Siri Shortcuts.
• Fixed stop-selection support for highway bus routes between Taipei/New Taipei and Yilan (including 1571, 1572, and 9028).
2.13.0 Sep 15
This update adds the Taichung Public Transport Pass and supports Taipei Metro's new Guangci/Fengtian Temple station.
● NEW: Taichung Public Transport Pass
"Taichung City PASS (Resident) NT$299" and "Taichung City PASS NT$599" now appear in the Central Taiwan group when you choose a plan.
Coverage is limited to Taichung City: Taichung MRT, Taichung city buses, intercity buses within the city, YouBike, and TRA between Tai'an–Chenggong (Mountain Line), Rinan–Zhuifen (Coast Line), and the Chenggong–Zhuifen link.
● NEW: Guangci/Fengtian Temple (Tamsui–Xinyi Line east extension)
During the free-fare period (through September 28), Xiangshan ↔ Guangci/Fengtian Temple is recorded as NT$0, and trips between other stations and Guangci/Fengtian Temple are priced as if to Xiangshan.
From September 29, the app switches to standard distance-based fares automatically — nothing to configure.
Fares always follow the date of the trip itself, so back-dated entries get the fare that applied then. Manual entry, Quick Add, voice logging, and auto-detection all use the same rule.
● IMPROVED: Taichung city bus fares now match what your card is charged
Picking stops from the route list used to fill in the cash fare, which didn't match manually entered amounts. It now always uses the stored-value card fare:
Resident plans (Central Taiwan PASS Resident, Taichung City PASS Resident) — Taichung's "Double Ten" policy: free within 10 km, NT$10 beyond.
Non-resident plans — card fare: NT$15 within 8 km, rising with distance.
Choosing a resident plan applies Double Ten automatically; there's no need to set your registered city separately. "Taichung Double Ten" no longer appears in the transfer discount list, so a fare is never discounted twice.
● IMPROVED: Setup now asks for residency before you pick a plan
Registered in Taichung → only the two resident plans are listed
Registered elsewhere → only the two non-resident plans
"Show all" → all four
The plan list under Cycles → New Cycle follows the same rule.
● FIXED
Buses outside Taipei and New Taipei are no longer mislabeled as "Express".
Metro Bus, Express, Minibus, and Shuangyuan Bus routes exist only in Taipei and New Taipei, so those tags now appear only on plans that cover them — Tainan's route 902 is no longer treated as New Taipei's 902.
2.12.0 Sep 9
【Ver 2.11.0 Release Notes】
・Added Guangci/Fengtian Temple Station (R01) on Taipei Metro’s Tamsui–Xinyi Line, with support for manual logging, trip editing, automatic detection, and voice logging.
・Until September 28, fares from R01 follow Xiangshan Station fares, with R01–R02 trips priced at NT$0.
・Added an automatic trip detection page to Apple Watch, allowing you to review, confirm, dismiss, or undo detected trips.
・Improved Apple Watch trip synchronization, quick logging, and overall interface presentation.
・Fixed an issue where cycle reports incorrectly included flexible-cycle trips in pass-cycle reports.
2.11.1 Aug 30
【Ver 2.11.0 Release Notes】
The headline this time: TPASS.calc is on your wrist.
● New Apple Watch App
・Break-even dashboard: this cycle's break-even rate, net spending vs. pass price, today's trips and spending, and days remaining — all at a glance
・Quick logging: your favorites and commute routes from iPhone appear on the watch; one tap logs a trip
・Watch face complications: circular, corner, rectangular and inline — long-press the face ▸ Edit ▸ add the complication
・Requires watchOS 11 or later and installs alongside the iPhone app. If it doesn't appear, open the Watch app on iPhone ▸ Available Apps and install it manually
● New: Hsinchu PASS (NT$288)
・Covers city buses in Hsinchu City and Hsinchu County, intercity and highway coaches, TRA between Beihu and Xiangshan (including the Liujia and Neiwan lines), and YouBike
・Transfers follow the existing Hsinchu city bus rule: free transfers within 4 hours
● Fixes
・Tainan Citizen Card benefits are now applied based on Settings ▸ Citizenship, and only for residents of Tainan — matching how the Taoyuan citizen Airport MRT discount already works
・For non-residents, city buses return to the full fare and trunk route student fares no longer get the 15% discount. The trunk route "first NT$26 of mileage free" is unaffected — every stored-value card gets it, so short trips still cost nothing
・Fixed untranslated text on the delete/merge card screens, which showed Chinese in the English interface
● Current Apple Watch limitations
・Only one active cycle is shown at a time. When several plans run in parallel, the most recently started cycle is displayed — use iPhone to log to a different one
・Logging always writes through iPhone. Numbers shown while the watch is offline are temporary estimates
2.11.0 Aug 27
【Ver 2.10.0 Release Notes】
● New: End a Pass Cycle Early (Pro)
・Moved out of your commute area early? Shift the cycle's end date back to the day you actually stopped using the pass
・Before confirming, you'll see how many trips fall in the trimmed period
・No trip records are deleted — they're only excluded from this cycle for now
・Tap "Undo Early End" any time to restore the original end date and those trips
・Free users can see the entry point; cycles already ended early can still be restored after a subscription lapses
● Automatic Fare Calculation for Tainan Buses
・Trunk and branch routes (Green, Blue, Brown, Orange, Yellow, Red), DRT minibuses and distance-based tourist routes now calculate fares from the actual boarding and alighting stops, instead of always charging a single-section fare
・The first NT$26 of base mileage is free with a stored-value card — roughly the first 8 km costs nothing
・City buses (including Route 98) apply Tainan Citizen Card benefits: half fare (NT$9) on weekdays, free on weekends. The Citizen Card half fare is not age-based, so adult and student fares are the same
・Student fares on trunk and branch routes are 15% off the card fare (Citizen Card Youth / Student Card)
・Route H31 (HSR Express) and Route 111 (Airport Bus) are excluded from Citizen Card benefits per the official announcement
・Added Tainan's NT$9 bus-to-bus transfer discount within 2 hours; the Tainan transfer window is corrected from 1 hour to 2 hours
・Note: only Saturdays and Sundays are treated as holidays. Please adjust fares manually on national holidays
● Fare Discount Explanations
・A note next to the fare now explains which discount is being applied, e.g. "Trunk route: first NT$26 of mileage is free with a stored-value card"
・Shown when adding a trip, editing a trip, logging by voice, and on auto-detected trip cards
・The Taoyuan citizen 30% off Airport MRT hint now also appears in voice logging and auto-detection
・For transfer combinations, each leg shows its own discount
● Automatic Trip Detection
・"Confirm Record" now reads "Confirm Record (with transfer)" whenever a transfer discount will be applied automatically
・Notifications for a single bus or coach result now include the route number, e.g. "Bus Green Trunk"
・When several possibilities are detected, the notification suggests opening the app to confirm
・Fixed the transfer marker in the info row and the button disagreeing when multiple cycles run in parallel
● Backup Management
・Tap the stats row on a backup entry to see what each number means
・Commuter routes now sit alongside the other stats for a consistent layout
・Fixed the pin button not aligning with the Restore and Delete buttons
・Added accessibility labels to the stats, so VoiceOver no longer reads bare numbers
2.10.0 Aug 26
This update makes trip detection miss fewer rides, and refreshes bus route data nationwide.
● Automatic trip detection
・Loop-back bus routes are now detected
Routes like Taipei's 651 loop past the terminus and continue straight into
the return trip without passengers getting off. That pattern could never be
matched before, so the route never appeared as a suggestion at all.
・Each suggested route now shows its own boarding and alighting stops
Instead of always using the stop nearest your start and end points — which
produced combinations where the route doesn't actually serve that stop.
Switching routes now updates the stop names too.
・Intercity coach trips no longer disappear entirely
Detection now considers several stops at each end to find the real boarding
stop, and freeway segments that cover 20 km in just two stops are no longer
rejected as too short.
・New fallback: if no route matches but you clearly moved faster than walking,
the trip is still saved
Traffic, detours, and long waits only push the average speed down — if it's
still faster than walking, you were on board, and the trip shouldn't vanish.
These are marked low-confidence and wait in your inbox for confirmation;
they are never logged automatically.
● Voice logging
・Station names containing 轉 are no longer mistaken for transfers
"1550客運光華商場到基隆轉運站" used to be split incorrectly, dropping the
origin entirely and leaving only "基隆" as the destination. Names like
轉運站 and 轉乘站 are now kept intact.
● Bus data
・Bus routes and stops updated nationwide from the latest MOTC TDX release,
covering changes since June
・Tainan Route 5 renumbered to 105 and extended to Tainan Airport; new Route 25
・New and discontinued routes updated across Taipei, New Taipei, Taoyuan,
Taichung, Kaohsiung, Pingtung, and Chiayi County, with stop sequences
corrected on 625 route directions and missing fares restored on some routes
2.9.2 Aug 22
【Ver 2.9.1 Release Notes】
Major improvements to voice quick-entry
• More accurate bus route recognition — Named routes like Citizen Minibus 7 and the Metro Bus trunk lines are now restored automatically when speech recognition mishears them. When a misheard name could match two real routes, the stop names you spoke decide which one.
• Metro line names are no longer mistaken for stations — Say "Bannan Line Fuzhong to Xinpu" and the origin is now recorded as Fuzhong. Line names alone are enough to identify the metro, even without saying "MRT".
• Train and seat classes recorded as spoken — Say Tze-Chiang and you get Tze-Chiang, with the correct fare and pass assignment.
• A chance to fix it, instead of starting over — When a station doesn't match, the app now tells you which one and offers a one-tap switch to bus, rather than asking you to record again.
• It learns how you speak — Route names you've corrected are applied automatically next time.
2.9.1 Aug 19
【Ver 2.9.0 Release Notes】
● New: Commute Report (Pro)
• Generate a PDF report for a pass cycle, a calendar month, or any custom date range
• Includes trip details, spending summary, and per-plan subtotals
• Available in both English and Chinese, with a preview before you share or print
● New: Siri & Shortcuts
Log trips and check your spending without opening the app.
Find it under Settings → Preferences → Siri & Shortcuts, with example phrases and a walkthrough.
• Log a Saved Route (Pro): pair it with an automation such as "when I leave work" and it records even when you're not looking at your phone
• Check Payback and Check Monthly Spending (free): Siri reads the amount out loud
• With several passes active at once, the payback answer now covers every cycle separately
● Auto-Detect Trips: major fixes
• Fixed trips disappearing entirely. When you stopped somewhere for a long time but the system never delivered an arrival or departure event, two rides were glued into one impossibly long trip, then discarded as walking because the average speed was too low. Missing endpoints are now recovered from your movement trail, and the ride is judged by actual path length and in-motion speed.
• You can now switch bus routes. A single stop is often shared by several routes, and cards used to offer just one with no way to change it. Other routes along the same corridor are now listed as well — one tap swaps them, and your choice is remembered for the next trip between the same stops.
• When bus isn't the top guess on a card (for example "Metro / Bus 616"), switching to bus still lets you pick the route — and on two-leg cards such as "Metro → Bus", the bus leg can be changed too.
• If you already logged a trip through Shortcuts, auto-detection no longer records a duplicate — it sends a pending-confirmation notification instead.
● Other fixes and improvements
• Favorite Route names no longer show station codes or untranslated text
• Settings now marks Pro features with a lock when you're not subscribed
• Pro details open in a sheet with a close button in the top-left corner, making it easier to get back
2.9.0 Aug 18
【Ver 2.8.1 Release Notes】
● New: Do-not-detect hours for Auto-Detect Trips
- Where: Auto-Detect Trips > "Do-not-detect hours"
- Add as many windows as you like; each has its own start time,
end time, and days of the week
- One tap to add overnight hours (2:00–5:30 AM)
- Location keeps working during these hours; only the suggestions
stop. Turning location off as well would make the first trip
after the window start from the wrong place.
- A trip is skipped only if both its start and end fall inside the
window, so late-night last trains and early-morning first trains
are still kept
- For windows that cross midnight, the selected days refer to the
day the window starts
- A trip you are actively tracking is never affected
● Fixes and improvements
- Missed Trains: the Daan scenario showed "toward Xiangshan," which
did not match "toward Guangci/Fengtian Temple" used by Missed Last
Train. Both now read the same. Xiangshan Station itself has not
been renamed — station pickers and your statistics are unchanged.
- In English, Missed Last Train no longer shows Chinese station
names for terminals.
- Other stability improvements.
2.8.1 Aug 16
【Ver 2.8.0 Release Notes】
● Added “Missed Trains”
・Record extra waiting time caused by Taipei Metro branch-line trains and local services
・Record missed last-train incidents
・Automatically record cases when the last train has already departed
・Added monthly/yearly statistics, route badges, and shortcuts for common situations
・Available for free
● Enhanced Backup and Restore
・Back up commuter routes, transit cards, Missed Trains records, route ordering, high-speed rail plans, and portable preferences
・Create a local recovery snapshot before restoring, with automatic rollback if restoration fails
・Fixed backup list updates and cloud query issues after uploading a backup
・Restoration results now show counts for each data category
・Added full data archive export and restore
● Data and Transit Cards
・Added Taiwan Railway and Taiwan High Speed Rail ticket details, including ticket type, train type, and seat class
・When deleting a transit card, choose to transfer its trips or remove the association while preserving historical trips
● Automatic Trip Detection
・Fixed transfer-combination recovery when a single-segment trip cannot be determined correctly
● Other Improvements
・Improved location messages by distinguishing location failures from being away from a station, and showing the nearest station and distance
・Added consent and privacy information for voice-record sharing; shared content does not include audio recordings or identity information actively added by the app
● Voice logging
• Fixed color-prefixed bus routes (Red 26, Orange 20, Green 1) being missed entirely — they're now recognized even without saying "bus"
• Multi-leg trips spoken in one breath are captured properly, including three-leg journeys with several transfers
• Shisizhang MRT station is no longer misheard as a number and left unmatched
• If any leg of a multi-leg trip isn't understood clearly, you'll be asked to confirm instead of it being saved incomplete
2.8.0 Aug 14
Ver 2.7.1 Update Notes
【Lock Screen Widgets】
・Fixed an issue where the “Select Cycle” menu could briefly appear and close immediately
・When no cycle is available, the menu now shows “Automatic (Active Plan)” instead of appearing empty
・Added an “Automatic” cycle option, allowing you to switch back to automatic selection after manually choosing a cycle
・Improved Pro entitlement syncing and the reliability of cycle selection
【Cycles & Data Management】
・Deleting a cycle now also handles trips that belong to that cycle, preventing inaccessible leftover data
・The number of trips that will be deleted is now shown before confirming cycle deletion
・Improved trip handling for overlapping cycles to reduce the chance of deleting trips that may belong to another cycle
・Fixed an issue where leftover trips from deleted cycles could still affect frequent-rider rewards, annual totals, and payback calculations
【Settings & Interface】
・Added the “Habitual Route Auto-Recording” entry back to the Settings page
・Updated the transfer information page to hide transfer details for discontinued transport types
・Fixed layout issues in Backup Management
・Fixed other interface details and stability issues
【Others】
・Fixed the price and currency display on the subscription page
・Fixed the student fare calculation for Kaohsiung four-digit highway buses
2.7.1 Aug 13
Ver 2.7.0 Update Notes
【Subscription】
・Added a Pro annual plan, allowing you to freely choose between monthly and annual billing
・Added Pro expiration reminders. Users who have canceled auto-renewal will receive a notification before their subscription expires
【Fare Calculation & Pass Cycles】
・Improved trip assignment and fare calculation when multiple passes or plans are active at the same time
・Trips within the HSR Pass valid section are calculated using non-reserved seat fares, while trips outside the valid section use reserved seat fares and are assigned to the Flexible Cycle
・Switching HSR or TRA ticket types now instantly recalculates the fare and trip assignment
・Fixed station validation for Tainan「TRA ↔ Bus」transfer discounts
・Fixed an issue where previous transfer discounts were not recalculated after deleting or modifying a trip segment
・Automatically detected TRA trips are now correctly treated as electronic fare card trips
【Automatic Trip Detection & Notifications】
・Improved automatic trip recording and notification confirmation when multiple plans are active
・「Multi-Plan Assignment」now provides a unified setting for both habitual route auto-recording and trip confirmation from notifications
・Fixed an issue where long-pressing「Confirm Trip」in a notification did not respond immediately
・Notifications now indicate which ticket type was used to calculate the fare
・Fixed an issue where automatically recorded trips could display a seat type or TRA ticket label that did not match the calculated fare
・Announcements and Pro Support notifications are now enabled by default. If you previously turned them off manually, your setting will remain unchanged
・Fixed an issue where some notification preferences were not saved correctly during initial setup
・Pending trips now support ticket type switching, allowing you to directly select HSR non-reserved/reserved seats, as well as TRA electronic fare cards and different train types
【Voice Trip Logging】
・Improved an issue where the end of a sentence could be missed when stopping a recording
・「Just now」is now correctly interpreted as 5 minutes before the current time
・Improved recognition of transfer phrases, route numbers, and station names
・If recording cannot start or recognition fails, the reason will now be displayed and you can switch directly to manual input
【Interface & Usability】
・「Quick Home」and「Quick Out」are now always displayed. If no stations have been configured, tapping them will take you directly to setup
・Fixed an issue where the top of the first trip could be clipped when switching cycles
・Fixed an issue where HSR, TRA, Airport MRT, and light rail stations were incorrectly restricted when adding trips to a Flexible Cycle
・Improved the tappable area of the「Confirm Trip Assignment」button
・Fixed other interface details and stability issues
・Added a dedicated card icon for the HSR Pass
2.7.0 Aug 7
【Ver 2.6.0 What's New】
● Cross-System Transit Voice Recording
・Supports cross-system origin/destination voice input (e.g., "Light Rail Fisherman's Wharf Station to Metro Guting Station"), automatically split into two segments with official fares calculated.
・Automatic transfer discounts for Greater Taipei systems (Taipei Metro ↔ New Taipei Metro).
・Supports transfers across Taipei Metro, New Taipei Light Rail/San-Ying Line, Kaohsiung Metro ↔ Kaohsiung Light Rail, and Taipei Metro ↔ Taoyuan Airport MRT.
・Clear labeling with one-tap restore to single segment; prompts to mention transfer stations if direct connection is unavailable.
・Auto-mapping for corresponding cross-system station names in Kaohsiung (e.g., Light Rail Cianzhen Star / Metro Kaisyuan).
● San-Ying Line Support
・Includes 12 stations from LB01 Dingpu to LB12 Yingtao Fude, supporting ride logging, station selection, and auto-fare calculation.
● Enhanced Voice Recording Experience
・Saying "Metro" auto-detects the system based on station names (e.g., "Metro National Taipei University to Dingpu" auto-maps to San-Ying Line).
・Saying "Light Rail" directly maps to Danhai and Ankeng Light Rail; short station names (e.g., "Fisherman's Wharf") are accurately recognized.
・Supports voice recognition and auto-pricing for TRA train types (Chu-Kuang, Tze-Chiang, Taroko, Puyuma, Tze-Chiang Non-reserved) and THSR seating (Non-reserved, Reserved).
・Fixed recognition issues caused by transport terms, time phrases, or words like "Transfer Station" sticking to station names.
● Automated Plan Assignment & Cycles
・Remembers selected plans for frequent routes and auto-applies them upon renewal.
・Quickly added rides determine available cycles based on date, transport type, fare category, and route segment; prompts clear selection when multiple plans overlap.
・Logged rides can be moved directly to other compatible plans.
● Flexible Plans Support TRA Standard Tickets
・Added support for TRA standard paper/digital tickets (non-IC cards), auto-calculating fares for Local, Chu-Kuang, Tze-Chiang, and Tze-Chiang Non-reserved trains.
・Standard tickets are categorized exclusively under "Flexible Tracking" to avoid skewing TPASS return rates or frequent rider discount statistics.
● In-App Announcements
・Added an announcement entry on the home screen to receive important updates from the dev team, supporting push notifications and unread badges.
● Optimizations & Fixes
・Kaohsiung Bus Zonal Fares: Reverted to cumulative price difference method when exact fares are unavailable for flat-rate routes.
・Auto-Detection: Expanded co-location detection coverage; fixed issues with Airport MRT Taipei Main Station transfers to Taipei Metro.
・Accessibility Support: Added VoiceOver support for dictation and voice recording flows; optimized layout scaling for large text.
・Menu Isolation: THSR Periodic Pass and Flexible Cycle station menus operate independently to prevent misinherited route restrictions.
・Widget Fixes: Resolved lock screen return rate widget showing 0% under multiple active plans, and fixed instant collapse issue in Pro menu loading.
・Advanced Features: Removed Beta tag from Route Planning and Auto-Detection features.
2.6.0 Aug 6
This update introduces a brand-new pass renewal feature and interface optimizations, along with bug fixes and adjustments for iOS 27:
• One-Tap Pass Renewal: All users can now renew their pass with a single tap within 3 days before expiration. Renewal automatically creates a new cycle starting the next day, retaining the original plan, card, and THSR station settings.
• Expiration Reminders & Auto-Switching: Updated expiration notification copy—tapping the notification takes you directly to the Cycles page. When the currently viewed cycle expires, the App will automatically and seamlessly switch to the new active cycle.
• Active Cycle UI Redesign: Active cycle cards now highlight the plan name with theme colors and a bold border, making the overall interface cleaner and clearer at a glance.
• Chart Tooltip Fix: Resolved an issue where data tooltips could overflow card boundaries when dragging across charts.
• Tooltip Alignment Calibration: Calibrated tooltip positioning so it now aligns more accurately with where you point.
• iOS 27 Compatibility Adjustments: Made compatibility adjustments for iOS 27 to ensure layouts display correctly in resizable windows.
2.5.0 Aug 2
This update revamps Lock Screen widgets, optimizes large text accessibility layouts, and delivers a smoother subscription experience:
• Lock Screen Widget Fixes: Resolved issue where widget data failed to auto-update, fixed blank preview boxes, and corrected remaining day calculations. "Today's Trips/Amount" now resets automatically at midnight, with adjusted background textures for better visual contrast.
• Customizable Widget Cycles (Pro Feature): Customize Lock Screen widgets to display specific pass cycles by long-pressing the widget. Supports multiple widgets for different plans, auto-switches to active cycles upon expiration, and clearly displays plan names.
• Large Text Layout Improvements: Significantly fixed layout overlapping and clipping when dynamic type is enlarged across trip creation, editing, quick-logging forms, and onboarding flows.
• Redemption Code Fixes: Resolved an issue where the paywall failed to unlock instantly after redeeming a code. Features will now automatically unlock right after successful redemption.
2.4.1 Jul 30
Thank you for using TPASS.calc! This update brings brand-new transit mode categories, support for New Taipei Metro rewards, and several interface and functional optimizations:
• Separated Light Rail Transit Modes: Added independent categories for "New Taipei Metro" (including Danhai LRT, Ankeng LRT, and Sanying Line [coming soon]) and "Kaohsiung Light Rail", no longer sharing the legacy light rail option. Existing light rail records will be safely migrated automatically.
• New Taipei Metro Annual Rewards: Added calculation for New Taipei Metro annual accumulated rewards ($50 reward for every $200 spent), with historical migrated trips retroactively included in the total.
• Voice & Route Planning Adaptation: Voice logging, auto-detected trips, and multi-modal route planning now fully support the new transit modes with more precise voice recognition and accurate light rail fare estimations.
• Reward Calculation & UI Optimizations: R1/R2 reward details are now presented as progress bars, making tier levels and break-even calculations clear at a glance; theme color schemes have also been updated for better visual distinction.
• Pro Subscription: Added a "Redeem Code" entry point to the subscription screen.
• TRA Logging Fixes: Fixed location detection functionality, station card styling, and text display issues for TRA stations on the trip editing page.
2.4.0 Jul 28
This update brings improvements to the "Pro Support" feature, adding a new image attachment capability to help you communicate with us more efficiently.
• Screenshot Uploads: You can now upload images directly in support threads to easily illustrate any issues you encounter (e.g., error screens).
• Privacy & Permissions: We use the native system photo picker, so no additional photo library permissions are required. To protect your privacy, all EXIF and GPS data are automatically stripped, and images are compressed before uploading.
• Data Saving: Attachments are displayed as cards by default and are only downloaded and cached when tapped, preventing unnecessary cellular data usage.
• Storage Cleanup: When you delete a support thread, all associated image attachments are automatically and permanently removed.
• Backward Compatibility: Support threads created prior to this update seamlessly support receiving and displaying images sent by our support team.
2.3.1 Jul 27
This update introduces a brand-new Pro Support feature and significantly improves the trip segmentation logic in Auto Trip Detection:
● New Feature: Pro Support
TPASS Pro subscribers can now have two-way conversations directly with the development team, with priority responses and ongoing progress tracking — available alongside the existing one-way issue reporting. The conversation view auto-refreshes when both sides are online, no manual pull-to-refresh needed. Cases with unread replies are highlighted so you can spot what needs attention at a glance.
● Auto Trip Detection: Major Segmentation Improvements
A new, independent segmentation engine now decides whether a trip should be split into a transfer, instead of relying solely on system-detected stops — traffic-related mid-trip stops are no longer mistaken for transfers, and genuinely quick transfers are no longer incorrectly merged into a single leg. If a suggestion looks wrong, a one-tap pill button lets you switch between "single leg" and "two legs," and your correction is remembered for the same route going forward.
Also fixed an issue where MRT trips could be misidentified as "MRT-to-bus" combinations, now only suggesting a split when there's clear evidence of a mid-trip stop; and improved the efficiency and merge logic for mixed-mode transfers to prevent duplicate entries.
● Interface Adjustment
The inbox toolbar has been reorganized — "Clear All Pending Trips" has moved to the bottom of the list so the screen title displays properly.
2.3.0 Jul 27
● One place for Issue Reports
・Settings now has a single Issue Report entry. Anyone can send an app issue or suggestion there.
・New: report a Voice Recognition Issue. If voice logging misread what you said, pick that entry and send it to us.
・Pro 1-on-1 Support: tap "+" in a conversation to attach an Auto-Detection Report or a voice recognition record, as well as screenshots. Each Auto-Detection Report opens its own case and does not count toward your open-case limit.
● Auto-Detection improvements
・Fixed multiple cards and notifications appearing for a single transfer. At metro transfer stations such as Daan, you are only notified once you have actually exited, and a trip that continues on the same journey is merged into one card.
・The first leg of a merged trip now appears as a split-trip option inside the merged card, so you can still log it as separate trips. Its notification is cleared automatically.
・Walking between platforms is no longer mistaken for exiting the station. Out-of-station transfers between Xinpu and Xinpu Minsheng are detected more accurately.
● Layout and stability fixes
・With larger text sizes, the transfer button stays on the same row as the fare instead of moving to its own line. Long names are shortened to fit.
・Fixed the Update Info button being pushed off screen in Edit Trip when the Plan row is shown.
・Improved launch performance: the app no longer occasionally freezes when opening.
・Fixed the app's label peeking out around the Dynamic Island or notch on some iPhone models, including iPhone 14 Pro, 15, 16 and 18 Pro, and when Display Zoom (Larger Text) or Bold Text is turned on.
more Version 2.17.1 12h ago
Data Linked to You The following data may be collected and linked to your identity:
Location Contact Info User Content Usage Data Data Not Linked to You The following data may be collected but it is not linked to your identity: