If you have income in addition to your salary, year-end paperwork and tax filing can involve a lot of small calculations. Income may arrive through payment services, while expenses may be spread across software subscriptions, online services, and credit cards.
Instead of entering every transaction manually, I tried a different approach: asking AI to build a small HTML tool that imports CSV transaction histories and organizes miscellaneous income and related expenses.
The basic idea is simple. Download transaction histories from services such as PayPal and your credit card company as CSV files. Import those files into a browser-based tool. Then classify transactions as income, expense, or excluded, apply expense categories and business-use percentages where needed, and let the tool calculate totals.
A useful first prompt for an AI coding assistant can be fairly simple:
Create a browser-based HTML tool for someone who has income in addition to salary. It should import CSV files from payment services and credit cards, let the user classify transactions as income, expense, or excluded, and calculate annual income, necessary expenses, and net miscellaneous income. Expenses should support categories and business-use percentages. Foreign-currency transactions should support exchange-rate conversion. Include separate views for year-end estimates and annual tax-return totals. Keep the data local in the browser and allow CSV or printable output.
The first version does not need to be perfect. In practice, the most useful improvements appear only after importing real data.
For example, a payment service CSV may contain internal currency conversions, authorization records, balance transfers, or other rows that should not be treated as ordinary income or expenses. A merchant may also use an unhelpful product description, while the merchant name itself is much easier to understand. Recurring services can often be assigned the same expense category and business-use percentage automatically.
Foreign-currency transactions are another area where gradual improvement helps. The tool can import daily exchange-rate data, convert USD or other currencies into yen, and record which rate was used. If a rate is not published on a weekend or holiday, the handling rule can be made explicit instead of silently guessing.
This is why I think the best way to build this kind of personal tool with AI is iterative: build a simple version, import CSV data, notice what is inconvenient, and ask the AI to modify that specific behavior.
It is also important not to automate tax judgment too aggressively. Unknown transactions can remain unclassified, automatic classifications should be editable, and the original CSV values should remain available for review. The tool should help organize records rather than decide whether a particular item is legally deductible or whether a filing obligation exists.
Privacy is another reason a local HTML tool can be useful. Transaction CSV files may contain email addresses, transaction IDs, names, and other personal information. During development, anonymized sample CSVs can be used, while the finished tool can be designed so that the actual files are processed only inside the browser.
For me, the main advantage of using AI here is not simply that it writes the code. It makes it practical to create a small tool that matches a specific workflow and then refine it as the workflow becomes clearer.
A good starting point is just three functions: import CSV files, classify income and expenses, and calculate totals. From there, automatic rules, expense categories, business-use percentages, foreign-currency conversion, year-end estimates, and tax-return summaries can be added one by one.
The tool should still be treated as an organizational aid. Filing requirements, income classification, deductible expenses, and the final tax return should be checked against official guidance or with a qualified tax professional.
Building a Side-Income Tax Organizer with AI
給与以外の副収入を整理するHTMLツールをAIで作る
給与以外に副収入があると、年末調整の時期や確定申告前に、収入と必要経費を整理する作業が発生します。入金は決済サービス、支払いはクレジットカードや各種オンラインサービスなどに分かれていると、手作業でまとめるのは意外と大変です。
そこで、PayPalなどの決済サービスやクレジットカードから取引履歴をCSVでダウンロードし、そのCSVを読み込んで雑所得の収入と必要経費を整理するHTMLツールをAIに作ってもらう、という方法を試しました。
考え方はシンプルです。CSVをブラウザ上のツールへ読み込み、各取引を「収入」「経費」「対象外」などに分類します。経費には科目や事業使用割合を設定し、最後に収入合計、必要経費、差引所得を集計します。
AIへの最初の指示は、例えば次の程度でも十分です。
「給与以外に副収入がある人向けの、ブラウザだけで動くHTMLツールを作成してください。PayPalなどの決済サービスとクレジットカードのCSVを読み込み、取引ごとに収入、経費、対象外を設定できるようにしてください。経費には経費科目と事業使用割合を設定できるようにし、年間の収入、必要経費、雑所得の差引額を集計してください。外貨取引は為替レートを使って円換算できるようにしてください。年末調整用の見込額と、確定申告用の年間実績を分けて表示し、CSV出力や印刷もできるようにしてください。実際の取引データは外部へ送信せず、ブラウザ内だけで処理してください。」
最初から完璧な仕様にする必要はありません。むしろ、実際のCSVを読み込ませてみると、必要な修正点が見えてきます。
例えば、決済サービスのCSVには、実際の売上や支払いだけでなく、通貨換算、承認、残高移動などの内部処理が含まれることがあります。また、商品名より取引先名を表示した方が分かりやすい場合や、毎月同じサービスを同じ経費科目・同じ事業使用割合にしたい場合もあります。
外貨取引も同様です。日別の為替レートを読み込んで円換算し、どの日付のレートを使ったか確認できるようにすると、後から計算根拠を追いやすくなります。土日祝などで当日のレートがない場合の扱いも、曖昧な推測ではなくルールとして決めておくことができます。
そのため、このような個人用ツールは「最初に全部の仕様を決めてAIに一度で完成させる」よりも、「簡単なものを作る → CSVを読み込む → 不便な点を見つける → その部分だけAIに修正してもらう」という流れが使いやすいと思います。
自動化しすぎないことも重要です。分からない取引は未分類に残す、自動分類は後から手動で変更できる、元のCSVの値を残す、といった条件を入れておくと、誤分類に気づきやすくなります。
プライバシー面では、取引CSVにメールアドレス、取引ID、氏名などが含まれることがあります。開発中は個人情報をダミー化したCSVを使い、完成したHTMLでは実データをブラウザ内だけで処理する設計にする方法があります。
AIを使うメリットは、単にコードを書いてもらえることだけではありません。自分の取引や作業手順に合わせて、小さな専用ツールを少しずつ育てられることにあります。
まずは「CSVを読み込む」「収入と経費を分類する」「合計を計算する」の3つから始め、必要になったら自動分類、経費科目、事業使用割合、外貨換算、年末見込、確定申告用年間集計などを追加していくのがおすすめです。
なお、このようなツールは取引や金額を整理するための補助ツールです。申告義務の有無、所得区分、必要経費として認められるかどうか、最終的な申告方法については、国税庁などの公的案内や税務署、税理士等で確認する必要があります。
そこで、PayPalなどの決済サービスやクレジットカードから取引履歴をCSVでダウンロードし、そのCSVを読み込んで雑所得の収入と必要経費を整理するHTMLツールをAIに作ってもらう、という方法を試しました。
考え方はシンプルです。CSVをブラウザ上のツールへ読み込み、各取引を「収入」「経費」「対象外」などに分類します。経費には科目や事業使用割合を設定し、最後に収入合計、必要経費、差引所得を集計します。
AIへの最初の指示は、例えば次の程度でも十分です。
「給与以外に副収入がある人向けの、ブラウザだけで動くHTMLツールを作成してください。PayPalなどの決済サービスとクレジットカードのCSVを読み込み、取引ごとに収入、経費、対象外を設定できるようにしてください。経費には経費科目と事業使用割合を設定できるようにし、年間の収入、必要経費、雑所得の差引額を集計してください。外貨取引は為替レートを使って円換算できるようにしてください。年末調整用の見込額と、確定申告用の年間実績を分けて表示し、CSV出力や印刷もできるようにしてください。実際の取引データは外部へ送信せず、ブラウザ内だけで処理してください。」
最初から完璧な仕様にする必要はありません。むしろ、実際のCSVを読み込ませてみると、必要な修正点が見えてきます。
例えば、決済サービスのCSVには、実際の売上や支払いだけでなく、通貨換算、承認、残高移動などの内部処理が含まれることがあります。また、商品名より取引先名を表示した方が分かりやすい場合や、毎月同じサービスを同じ経費科目・同じ事業使用割合にしたい場合もあります。
外貨取引も同様です。日別の為替レートを読み込んで円換算し、どの日付のレートを使ったか確認できるようにすると、後から計算根拠を追いやすくなります。土日祝などで当日のレートがない場合の扱いも、曖昧な推測ではなくルールとして決めておくことができます。
そのため、このような個人用ツールは「最初に全部の仕様を決めてAIに一度で完成させる」よりも、「簡単なものを作る → CSVを読み込む → 不便な点を見つける → その部分だけAIに修正してもらう」という流れが使いやすいと思います。
自動化しすぎないことも重要です。分からない取引は未分類に残す、自動分類は後から手動で変更できる、元のCSVの値を残す、といった条件を入れておくと、誤分類に気づきやすくなります。
プライバシー面では、取引CSVにメールアドレス、取引ID、氏名などが含まれることがあります。開発中は個人情報をダミー化したCSVを使い、完成したHTMLでは実データをブラウザ内だけで処理する設計にする方法があります。
AIを使うメリットは、単にコードを書いてもらえることだけではありません。自分の取引や作業手順に合わせて、小さな専用ツールを少しずつ育てられることにあります。
まずは「CSVを読み込む」「収入と経費を分類する」「合計を計算する」の3つから始め、必要になったら自動分類、経費科目、事業使用割合、外貨換算、年末見込、確定申告用年間集計などを追加していくのがおすすめです。
なお、このようなツールは取引や金額を整理するための補助ツールです。申告義務の有無、所得区分、必要経費として認められるかどうか、最終的な申告方法については、国税庁などの公的案内や税務署、税理士等で確認する必要があります。