当事務所では、ビューカード、三井住友カード、三菱UFJニコスの3社から、毎月カード利用明細を取得しています。
2026年9月、前回までに作成した請求書・領収書取得の仕組みを拡張し、この3社についても、カード利用明細のPDFを取得して所定のフォルダへ保存する処理を自動化しました。
いずれも、カード会社から請求額確定などのメールが届いた後、会員向けウェブサイトへログインし、対象月の利用明細を確認する流れです。
ただし、3社のウェブサイトは画面構成だけでなく、PDFを取得する方法も異なります。
- ビューカードは、ウェブサイトから正式なPDFをダウンロードする
- 三井住友カードは、印刷用の利用明細ページをPDF化する
- 三菱UFJニコスは、追加確認を経て正式な明細PDFを取得する
今回は、2026年9月に実施した検証を基に、3社の違いにどのように対応し、共通の経理自動化へ組み込んだのかを紹介します。
前回の記事では、エッサム、ストレージサービス、ベルテクノスの請求書・領収書を、Gmailの通知から自動取得する仕組みを紹介しました。
「Gmailの通知から請求書・領収書を自動取得した実録|3社の異なる仕組みに対応」もあわせてご覧ください。
カード会社ごとに取得方法が異なる
カード利用明細を取得する基本的な流れは、次のとおりです。
- カード会社から届いたメールを確認する
- メールから支払日や請求対象月を判定する
- 会員向けウェブサイトへログインする
- 対象となるカードを選ぶ
- 対象月の利用明細を開く
- 支払金額を取得する
- 明細をPDFとして保存する
- 処理済みメールを記録する
全体の流れは共通していますが、対象月の選び方、カードの切り替え、追加認証、PDFの取得方法はカード会社によって異なりました。
3社の主な違いは、次のとおりです。
| 対象 | 対象の選び方 | PDFの取得方法 | 主な特徴 |
|---|---|---|---|
| ビューカード | メールから引落日と対象月を判定 | ウェブサイトから正式なPDFをダウンロード | 対象月リンクの選択が必要 |
| 三井住友カード | 支払日から対象カードを判定 | 印刷用ページをブラウザーからPDF化 | 2種類のカードを切り替える |
| 三菱UFJニコス | メールから請求月を判定 | PDF表示画面から正式な明細を取得 | ログイン時に追加確認がある |
共通Chromeと暗号化した認証情報を利用する
カード3社の自動化では、自動化専用の共通Chromeプロファイルを使用しました。
共通Chromeプロファイルには、ウェブサイトのCookie、ログインセッション、サイト設定などが保存されます。
また、各カード会社のIDやパスワードは、サービスごとに異なる情報を共通の形式で暗号化して保存しました。
ログイン状態が有効な場合は、その状態を利用して明細画面へ進みます。ログアウトしている場合は、各社のプログラムが暗号化された認証情報を参照して、通常のログインを行います。
暗号化した認証情報と、それを復号するために必要な情報は、同じ場所に置かない設計としました。
共通Chromeプロファイルと認証情報の管理方法については、前回の記事で詳しく紹介しています。
専用ChromeへPlaywrightから接続する
今回の仕組みでは、自動化専用のChromeを用意し、PlaywrightからそのChromeへ接続して操作します。
接続には、Chrome DevTools Protocolという、外部のプログラムからChromeを操作するための仕組みを利用しました。
これにより、カード会社ごとに新しいブラウザー環境を作るのではなく、共通のChromeプロファイルに保存されたログイン状態やサイト設定を利用できます。
一方、同じChromeプロファイルを複数の処理から同時に使用すると、正常に起動できない場合があります。
そのため、3社のプログラムは同時に動かさず、共通の実行プログラムから順番に起動する構成にしました。
ビューカードは対象月の正式PDFを取得する
ビューカードでは、請求額や引落日を知らせるメールを処理のきっかけにしました。
メールから次の情報を取得します。
- 引落日
- 支払総額
- 対象となる利用明細の月
その後、共通Chromeを通じてVIEW’s NETへログインし、利用明細の画面から対象月を選びます。
処理の流れは次のとおりです。
- ビューカードからの案内メールを探す
- メールから引落日、支払総額、対象月を取得する
- VIEW’s NETへログインする
- 利用明細の画面を開く
- 対象月のリンクを選ぶ
- PDFのダウンロードボタンを押す
- 引落日、カード会社名、金額を含むファイル名で保存する
- PDFの保存後にメールを処理済みとして記録する
開発中には、メール本文から支払総額を正しく取得できないことがありました。
また、対象月を選択できても、PDFのダウンロードが始まらず、一定時間を経過してエラーになることもありました。
メールの解析方法とダウンロード処理を修正し、最終的には対象月の自動選択、PDFの保存、処理完了まで確認できました。
三井住友カードは2種類のカードを切り替える
当事務所では、三井住友カードの会員向けサービスで、支払日の異なる2種類のカード明細を取得しています。
同じVpassの中に複数のカードがあるため、ログインするだけでは処理対象を特定できません。
そこで、カード会社から届く支払案内メールに記載された支払日を使って、処理するカードを判定することにしました。
現在の運用では、次のように判定します。
- 10日支払いの案内:NLカード
- 月末付近の支払いの案内:Amazon Mastercard
ただし、ファイル名には固定した日付を使用せず、メールに記載された実際の支払日を使用します。
休日などの影響で支払日が変わった場合にも、実際の案内に合わせるためです。
処理の流れは次のとおりです。
- 三井住友カードからの支払案内メールを探す
- メールから支払日を取得する
- 支払日から処理対象のカードを判定する
- Vpassへログインする
- 対象カードへ切り替える
- 対象月の利用明細を開く
- 支払金額を取得する
- 印刷用の利用明細ページを表示する
- 印刷用ページをPDF化して保存する
- 保存後にメールを処理済みとして記録する
印刷用ページをブラウザーからPDF化した
三井住友カードでは、今回使用した画面から、希望する形式のPDFをそのままダウンロードする方法を利用できませんでした。
そこで、「印刷用ページを表示」から利用明細の印刷画面を開き、そのページをブラウザーの機能でPDF化しました。
具体的には、Chromeを操作する仕組みを通じて、印刷用ページをPDFとして出力しています。
この方法では、画面のスクリーンショットを保存するのではなく、印刷用として整えられたページ全体をPDFとして保存できます。
カード会社から提供される正式なPDFをダウンロードするビューカードや三菱UFJニコスとは、取得方法が異なります。
カードの切り替えで処理が止まった
三井住友カードのテストでは、Vpassへのログインには成功しても、対象カードへの切り替えに失敗することがありました。
同じ会員ページの中に複数のカードがあり、表示されるカード名とプログラム側の判定を正しく対応させる必要があったためです。
そこで、ログイン処理とカード選択処理を分け、次の順序で確認するように修正しました。
- Vpassへのログインが完了しているか確認する
- 選択可能なカードを取得する
- メールから判定したカードを探す
- 対象カードへ切り替える
- 切り替え後の明細画面を確認する
対象カードを選択した後で、改めて表示中の明細を確認することで、別のカードの明細を誤って保存することを防ぎました。
最終的には、2種類のカードについて、支払日、カード名、金額を含むファイル名でPDFを保存できました。
三菱UFJニコスは追加確認が必要だった
三菱UFJニコスでは、My Digital Connectへログインして利用明細を取得します。
通常のIDとパスワードに加えて、ログイン時に追加の本人確認を求められる場合がありました。
今回の検証では、電話番号の下4桁を使った確認に対応しました。
この追加確認に使用する情報も、プログラムへ直接書き込まず、ほかの認証情報と同様に暗号化して保存しました。
処理の流れは次のとおりです。
- 請求額確定の案内メールを探す
- メールから請求対象月を判定する
- My Digital Connectへアクセスする
- IDとパスワードでログインする
- 必要な場合は追加確認を行う
- 請求額・利用明細照会を開く
- 対象月を選ぶ
- 支払日と請求金額を取得する
- 正式な利用明細PDFを取得する
- 保存後にメールを処理済みとして記録する
表示されているボタンを正しく見つけられなかった
三菱UFJニコスの開発中には、ログインと追加確認に成功しても、その後の「ご利用明細」に相当するボタンをプログラムが見つけられず、処理が停止することがありました。
人が画面を見ればボタンを確認できても、プログラムが想定していた文字や画面構造と一致しないことがあります。
そこで、ログイン後の画面遷移と、実際に表示されている要素を改めて確認し、明細照会へ進む処理を修正しました。
その後、対象月の支払日と請求金額を取得し、複数ページの正式な明細PDFを保存できることを確認しました。
このように、ログインに成功しただけでは自動化が完成したとはいえません。
対象月の選択、金額の取得、PDFの保存までを確認して、初めて処理が完了したと判断しました。
ファイル名にカード名も入れる
カード利用明細は、基本的に次の情報を含むファイル名で保存します。
支払日_カード会社名_カード名_金額.pdf
カード会社内で1種類だけを扱う場合など、カード名を入れる必要がないときは省略します。
カード名を含めることで、同じカード会社に複数のカードがあっても、PDFを開かずに内容を区別できます。
3社で統一した主な要素は、次のとおりです。
- 支払日
- カード会社名
- 必要に応じてカード名
- 支払金額
発行元が付けたファイル名をそのまま使用せず、経理処理で確認しやすい形式へ変更して保存します。
メールと保存済みファイルの両方で重複を確認する
カード利用明細についても、請求書や領収書と同じように、二重処理を防止する仕組みを設けました。
- すでに処理したメールか確認する
- 同じ名称のPDFが保存されていないか確認する
- PDFの保存に成功した後でメールを処理済みにする
メールを確認しただけで処理済みにすると、その後のログインやPDF取得に失敗した場合、明細を保存できないまま次回の対象から外れてしまいます。
そのため、PDFが所定の場所へ保存されたことを確認してから、対象メールを処理済みとして記録します。
3社で共通化できた部分とできなかった部分
カード3社の処理を作成した結果、共通化できる部分と、会社ごとに実装する必要がある部分が明確になりました。
共通化できた部分
- Gmailから対象メールを探す
- メールの処理済み状態を管理する
- 暗号化した認証情報を読み込む
- 共通Chromeへ接続する
- 保存先とファイル名を組み立てる
- 同じファイルがないか確認する
- 実行結果をログへ記録する
会社ごとに異なる部分
- ログイン後の画面遷移
- 対象月の選び方
- 複数カードの切り替え
- 追加確認の内容
- 支払日と請求金額の取得場所
- PDFのダウンロード方法
- 印刷用ページのPDF化
共通処理を無理に一つへまとめるのではなく、共通化できる部分だけを共通機能とし、サイト固有の操作は各社のプログラムへ残しました。
自動化しても明細内容の確認は残る
カード利用明細を自動取得できても、会計処理に必要な確認まで自動的に完了するわけではありません。
取得後には、少なくとも次の点を人が確認します。
- 対象となるカードが正しいか
- 請求対象月が正しいか
- 支払日と支払金額が正しいか
- 明細が途中で切れていないか
- すべてのページが保存されているか
- PDFを正常に開けるか
- ファイル名と保存先が正しいか
特に、印刷用ページをPDF化する場合は、明細の全ページが保存されていることを確認する必要があります。
自動化の目的は、人による確認をなくすことではなく、ログイン、画面移動、対象月の選択、保存といった定型操作を減らすことです。
まとめ
今回は、ビューカード、三井住友カード、三菱UFJニコスのカード利用明細を自動取得する仕組みを作りました。
3社に共通する基本的な流れは、次のとおりです。
- Gmailから請求案内を探す
- 支払日や対象月を判定する
- 共通ChromeをPlaywrightから操作する
- 暗号化した認証情報を必要に応じて利用する
- 対象となるカードと明細を選ぶ
- 支払日と金額を取得する
- PDFを保存する
- 保存後にメールを処理済みとして記録する
一方、PDFの取得方法は3社で異なりました。
- ビューカードは正式なPDFをダウンロードする
- 三井住友カードは印刷用ページをブラウザーからPDF化する
- 三菱UFJニコスは追加確認後に正式な明細PDFを取得する
同じ「カード明細の取得」であっても、ウェブサイトごとに必要な処理は異なります。
共通部分を再利用しながら、カード会社固有の画面や取得方法に個別対応することで、3社の処理を一つの経理自動化へ組み込むことができました。
次回は、6つの取得プログラムを一括実行し、ログの記録、エラーの確認、Windowsのタスクスケジューラによる定期実行までを共通化した方法を紹介します。
※本記事は、2026年9月に当事務所で行った自動化の事例を紹介するものです。カード会社のウェブサイト、認証方法、画面構成、利用条件は変更されることがあります。自動化を行う場合は、各サービスの最新の利用規約や画面を確認し、認証情報や明細データを適切に管理してください。
新星パートナーズ会計事務所
代表・税理士 井河 伸郎
税務・会計に関する記事は、専門家の立場から内容を確認しています。
本記事は、一般的な情報の提供を目的としています。個別の取引や税務上の取扱いについては、契約内容や事実関係によって判断が異なる場合があります。また、掲載内容は記事作成時点の情報に基づいています。最新の情報は、各サービスの公式サイトや関係機関の公表資料をご確認ください。

