← ブログ一覧に戻る

楽天市場の領収書を一括保存したい。AIと何度も作り直して分かったこと

楽天市場にも、領収書の一括保存ツールが欲しかった

Amazonの領収書を一括でダウンロードできるChrome拡張機能は見かけますが、楽天市場向けのものは、私が探した範囲では見つけられませんでした。

私はAmazonより楽天市場を利用することが多く、購入履歴から領収書を一枚ずつ保存する作業を面倒に感じていました。

「表示している購入履歴の領収書を、まとめてダウンロードできたら便利なのに」

そう考えて、Antigravityと一緒にChrome拡張機能を作ることにしました。

ログイン情報は、拡張機能に持たせない

作り始める前に気になったのが、楽天市場へのログインです。

会員ページから領収書を取得するため、IDやパスワードを拡張機能へ保存するような仕組みは避けたいと思いました。

AIと相談してたどり着いたのは、とてもシンプルな方法です。

  1. 自分で楽天市場へログインする
  2. ダウンロードしたい月の購入履歴を表示する
  3. 画面に表示されている注文だけを拡張機能で処理する

たとえば1年分が必要なら、1月から12月まで12回操作します。すべてを自動で移動するわけではありませんが、安全性と作りやすさを考えれば、このくらいは十分に妥協できると思いました。

「できました」と言われても、一枚も保存されない

Antigravityへ、領収書の宛名を入力できること、保存先のサブフォルダー名を指定できることなどを伝えると、まずは拡張機能を形にしてくれました。

Chromeへ読み込み、購入履歴の画面で実行してみます。新しいタブが開き、何かを処理しているようには見えました。

ところが、領収書は一枚もダウンロードされていません。

動いていないことを伝えると、Antigravityは修正してくれました。しかし、もう一度試しても保存されません。領収書の画面までは開けても、その先にあるボタンを押し、ファイルを保存するところまで進めていないようでした。

スクリーンショットやURLを渡しても、別の問題が起きる

そこで、領収書を発行する画面のスクリーンショットを撮り、「このボタンを押す」と伝えました。ボタンを押した先のURLがどのような形になるのかも調べ、できるだけ具体的な情報を渡しました。

「これで大丈夫です」と修正版ができても、今度は同じ領収書を2枚ずつ保存したり、途中で処理が止まったりします。

一つ直ると、別のところで想定外の動きが起きる。その繰り返しでした。

これまで作ったChrome拡張機能の中には、一度の指示ですんなり動いたものもあります。だからこそ、今回は「なぜ、こんなにうまくいかないのだろう」と戸惑いました。

楽天市場と楽天ブックスでは、領収書までの道順が違った

何度も試す中で分かったのが、楽天市場の商品と楽天ブックスの商品では、領収書をダウンロードするまでの画面やクリック回数が違うことでした。

同じ購入履歴に並んでいても、処理の流れは同じではありません。楽天ブックスの商品が混ざると、拡張機能の動きがさらに複雑になります。

そこで、一つの拡張機能ですべてを処理するのをやめました。

  • 楽天市場の領収書を保存する拡張機能
  • 楽天ブックスの領収書を保存する拡張機能

まずは、この二つに分けて作ることにしました。

切り分けたことで、楽天市場用は、ようやく思ったとおりに動くようになりました。領収書が実際に保存されたときは、本当にうれしかったです。

失敗した内容をMarkdownへ残し、最初から作り直す

次は、楽天ブックス専用の拡張機能です。

先に完成した楽天市場用の仕様や注意点をまとめてもらい、楽天ブックスでは画面がどう違うのかを伝えました。それでも、なかなか動きませんでした。

修正を重ねるほど全体が分かりにくくなり、直したはずの部分が別の不具合につながることもあります。

そこで、途中の拡張機能を直し続けるのではなく、一度作り直すことにしました。

それまでのやり取りから、次の内容をMarkdownファイルへ整理しました。

  • どの画面から処理を始めるのか
  • どのリンクやボタンを順番に操作するのか
  • 実際のURLがどのような形になるのか
  • これまで、どこで失敗したのか
  • 重複ダウンロードなど、避けたい動きは何か

複雑になった処理を楽天市場用と楽天ブックス用の二つに分け、失敗の記録を整理しているイラスト

一つに詰め込まず、処理を二つに分ける。失敗した内容も記録に残し、次の作り直しへ引き継ぎました。

新しい作業では、その記録を最初にAIへ読ませました。スクリーンショットやURLも改めて渡し、何度も確認と修正を繰り返します。

時間はかかりましたが、楽天ブックス用も、最後には何とか動くところまでたどり着きました。

二つを統合したら、また動かなくなった

楽天市場用と楽天ブックス用をそれぞれ作れたなら、最後は一つにまとめられるのではないか。そう考えて作ったのが、両方に対応する統合版です。

楽天市場と楽天ブックスの領収書一括取得を目指して作った統合版Chrome拡張機能の画面

宛名と保存先のサブフォルダー名を指定できる統合版。画面は完成しましたが、期待した処理は動きませんでした。

結果は、動きませんでした。

それぞれでは動くようになった処理も、一つへ統合すると、また期待どおりに進まなくなりました。

さすがに、ここで心が折れました。無理に一つへまとめず、楽天市場用と楽天ブックス用を分けて使えばいい。今回は、そこで区切ることにしました。

作る時間で、自分で保存した方が早かった

正直に言うと、今回の開発にかけた時間があれば、自分で領収書を一枚ずつクリックして保存した方が早かったと思います。

便利にするためのツールなのに、作る方が何倍も大変でした。

一方で、完成した機能だけを成果と考えるなら失敗ですが、AIと開発するうえで得たものはたくさんありました。

  • 「動かない」だけでなく、どの画面で止まるのかを伝える
  • スクリーンショット、URL、クリックの順番を具体的に渡す
  • 複数の処理が混ざるなら、まず分けて考える
  • 修正で複雑になったら、失敗を記録して作り直す
  • AIの「できました」を完成とせず、自分で実際に動かして確かめる

一度で完成することもあれば、何度やってもうまくいかないこともあります。今回は、試して、失敗して、原因を切り分け、記録を次へ引き継ぐという、開発の基本を体験できました。

なぜ楽天市場向けのツールが少ないのか、少し分かった気がした

調べる中では、楽天市場側の画面や仕組みの変更に影響を受けやすい、という話も目にしました。

もし仕様が変わるたびに確認と修正が必要になるなら、ツールを公開して維持し続けるのは簡単ではありません。最初に「なぜ楽天市場向けの拡張機能が見つからないのだろう」と思いましたが、自分で挑戦してみて、その難しさを少し実感しました。

今回は、統合版まで完成させることはできませんでした。それでも、AIへどんな情報を渡せばよいのか、うまくいかなかった過程をどう次へ残すのかを学べたことは、大きな収穫です。

AIはこれからも進化していきます。今は難しかったこの課題も、いつかもう一度、最初から作り直してみたいと思っています。