Suica / PASMOスクリーンショット抽出

Suica & PASMO乗車履歴を抽出 — アプリのスクリーンショットから駅名・運賃・残高を取得

Suica・PASMOアプリにはエクスポート機能がなく、すべての乗車記録はスクロール式のモバイルリストに埋もれたままです。1週間分の乗車記録を経費精算書に転記するのに約30分かかりますが、スクリーンショット抽出なら1枚あたり約5秒で同じ行を埋められます。

スクリーンショット1枚あたり5〜10秒 · 印字テキスト最大99%の精度

Suica · PASMO
漢字の駅名
名前付き列

Suica・PASMOの乗車行が持つ5つのフィールド

Suica・PASMOアプリの各乗車記録は、すでに構造化された行(駅、運賃、残高)ですが、外部に取り出す方法がありません。カスタム列抽出を使えば、フィールド名を入力するだけで、AIがスクリーンショットから各行を直接読み取ります。

入場駅 (Entry Station)

タッチインした駅。乗車行の左側に漢字で表示されます。

出場駅 (Exit Station)

タッチアウトした駅。同じ行内で入場駅と矢印で結ばれています。

運賃 (Fare)

乗車時に差し引かれた運賃。定期券エリア内の乗車は¥0ですが、記録は必要です。

利用日 (Ride Date)

乗車日。経費精算書では行ごとに必要で、アプリでは行ヘッダーに表示されます。

残高 (Balance After)

各乗車後に表示される残高。提出前に運賃計算を検証する唯一の方法です。

データはすでに構造化されている——アプリが出力させないだけ

SuicaやPASMOの乗車履歴はすべてクリーンな行として保存されています。入場駅、出場駅、運賃、残高。問題はデータではなく、公式アプリにエクスポート機能がなく、これまでの回避策は物理カードか券売機が必要だったことです。

01

エクスポートボタンがどこにもない

Suicaアプリ、PASMOアプリ、Apple Walletはいずれも、利用履歴をスクロールリストで表示するだけで、CSVやスプレッドシートへのエクスポート機能はありません。r/japanlifeの定番アドバイスは今も「券売機で履歴を印刷できます。SuicaはJRの券売機、PASMOは対応機種を使ってください」というもので、紙の明細を手でExcelに入力するしかありません。

02

公式の方法には厳しい制限がある

JR東日本の公式FAQでは、印刷可能な履歴は26週間以内の100件までに制限され、画面上のリストは約20件しか表示されません。それより古い乗車記録は、個人情報開示請求という書類手続きが必要で、しかも登録済みカードのみ対象です。期間を過ぎると記録は単純に消えてしまいます。

03

NFCリーダーアプリはカードが必要——しかも見える範囲はさらに狭い

SuikakeiboなどのアプリはNFCで物理カードを読み取りますが、ICチップ自体に保存されているのは直近の約20件のみで、日本のICカードは定期券で乗車した区間を一切記録しません。JNSフォーラムのユーザーが言うように、「定期的に読み取らないとデータは失われます」。

01

すでにあるものから始める — スクリーンショット

NFCカードも券売機も会社の経費システムも不要。すでに表示している乗車履歴のスクリーンショットをアップロードするだけ。カスタム列抽出は、フィールドの意味(入場駅、出場駅、運賃、残高)に基づいて各行を読み取ります。レイアウト上の位置ではありません。

02

1本の矢印行が2つの列になる

東京→新宿の乗車行は1本の視覚的な行です。Entry Station(入場駅)とExit Station(出場駅)を別々の列として定義すると、AIが正しく分割します — 新宿は新宿のまま。交通費精算書には漢字の駅名がそのまま必要だからです。

03

1ヶ月分を一括で、提出できる状態に

履歴が上書きされる前に全ページをスクリーンショットし、まとめてアップロード。AIが1つのスプレッドシートに統合します — 入場駅、出場駅、運賃、利用日、残高、乗車ごとに1行。ExcelやCSVにエクスポート、またはGoogle Sheetsに直接連携して、毎月の交通費精算の提出にそのまま使えます。

スクロールする乗車履歴から提出可能な交通費精算書へ

毎月の交通費精算書を作成していて、乗車履歴がSuicaやPASMOアプリにある場合、スクリーンショットをツールにドロップするとこうなります。

1.

乗車履歴をキャプチャ

SuicaまたはPASMOアプリの乗車履歴(SF利用履歴)を開き、表示されている行をスクリーンショットし、スクロールして古いページもキャプチャします。クリーンなフル解像度のスクリーンショットが最適です——JPG、PNG、WebPのいずれでも問題ありません。画面ごとに1枚ずつ撮影し、まとめてアップロードしてください。

2.

列名を指定

精算書の形式に合わせて列を入力します:利用日、入場駅、出場駅、運賃、残高。推論列として利用目的(選択肢:通勤/業務/私用)を追加すると、AIが抽出時に各乗車を分類します——会社が業務出張のみを精算対象としている場合に便利です。

3.

シートをエクスポートして提出

出力は1つのスプレッドシートです——キャプチャしたすべての乗車が、漢字の駅名、運賃、日付、残高を保持した行になります。ExcelまたはCSVにエクスポートして交通費精算に添付するか、継続的な台帳として保存すれば、26週間の履歴ウィンドウに記録が消されることはもうありません。

Suica・PASMOスクリーンショット抽出 — うまくいく場合と注意が必要な場合

最適なケース

✓

アプリのスクリーンショットをフル解像度で撮影。モバイルSuicaまたはPASMOアプリの利用履歴画面のスクリーンショットは、印字された数字と駅名で最大99%の精度に達します。

✓

一般的な漢字の駅名。新宿、東京、渋谷 — 主要路線の一般的な駅は確実に読み取れ、駅名は元の日本語表記のまま保持されます。

✓

26週間の期間が終了する前に一括取得。履歴の各ページをスクリーンショットしてまとめて処理 — 物理カードでもNFCリーダーでも、どちらでも機能します。

注意が必要なケース

⚠

スクリーンショットは画面に表示されているものしか取得できません。アプリには一度に約20件の履歴が表示されます。古い利用記録はスクロールして追加のスクリーンショットが必要です — 抽出はスクリーンショットに写った範囲しか認識できないため、記録が上書きされる前に画面を取得してください。

⚠

圧縮・転送されたスクリーンショットは詳細が失われます。メッセージアプリで共有された画像は圧縮されます — AIは従来のOCRより優れていますが、抽出された駅名と運賃は目視で確認してください。

⚠

一部の利用種別は省略表記や特殊コードで表示されます。アプリは乗り換えや調整を*入や精などの記号で表し、JR以外の路線では駅情報が限られる場合があります — そのような行は提出前に手動で確認してください。

よくある質問

入場駅と出場駅が「東京→新宿」のように矢印で1行に表示されている場合、抽出できますか?

はい。Suicaアプリでは各乗車が入場駅と出場駅を矢印で結んだ1行として表示されます。Entry StationとExit Stationの2つの列を定義すれば、AIがその視覚的な行を2つのセルに分割し、両方の駅名を元の漢字のまま保持します。

交通費精算書用に駅名は日本語の漢字のままになりますか?

はい。駅名はアプリに表示されている通りに抽出されます — 新宿は新宿のままで、ローマ字化や翻訳はされません。交通費精算書には漢字の駅名が必要なため、「親切心」でShinjukuに変換することなく、そのままの表記を保持します。

定期券の乗車は運賃が¥0と表示されますが、それも記録できますか?

はい。定期券エリア内の乗車は運賃¥0と定期券マークが表示されますが、出勤記録や移動履歴のために記録する必要があります。Entry Station、Exit Station、Ride Dateの列を定義すれば、AIは¥0の定期券乗車を含むすべての行を記録し、Fare列にはそれらの行に¥0と表示されます。

各乗車後の残高を検証用の列として取得できますか?

はい。両アプリとも各乗車の横に残りのBalance Afterを表示します。これを列として定義すると、AIがすべての行の残高を抽出するため、提出前に運賃計算(乗車前残高 − 運賃 = 乗車後残高)を検証できます。これにより、経理から差し戻されるような転記ミスを防げます。

アプリには直近の乗車履歴が約20件しか表示されませんが、古い履歴はどうやって取得すればよいですか?

画面に表示されるリストは直近の約20件で、JR東日本の印刷用履歴は26週間以内の100件が上限です。スクリーンショット抽出は表示されている内容に対して機能するため、履歴をスクロールして各ページをスクリーンショットし、まとめて一括アップロードしてください。期間が過ぎる前に毎月の取得習慣をつけましょう。それより古い記録はJR東日本への正式な個人情報開示請求が必要となり、登録済みカードのみ対象となる書類手続きです。

交通系・プリペイドカードのスクリーンショット概要に戻る — Suica、Oyster、T-money、Opalなど12以上のシステムの残高、チャージ、乗車履歴の抽出

交通系・通勤カードの抽出ガイドは近日公開予定です。

📮 contact email: [email protected]