ラベル e-Tax の投稿を表示しています。 すべての投稿を表示
ラベル e-Tax の投稿を表示しています。 すべての投稿を表示

2017/02/18

e-Tax平成28年分(2016年分)確定申告の「先物取引に係る雑所得等」のWSH JScriptによる自動入力

e-Taxの平成28年分(2016年分)確定申告書等作成コーナーの「先物取引に係る雑所得等」の入力を支援するWSH(JScript)スクリプトを書いた。
いままでAutoItスクリプトでやっていた(2010年, 2011年など)けどWSHでInternet Explorerを比較的容易に制御できることを去年いまさら知ったのでWSHでやってみた。

動作を確認した環境は次の通り。
  • Windows 10 Pro. x64
  • InternetExplorer 11
  • 2017/02/18時点のe-Tax平成28年分確定申告書作成コーナー
ただし「先物取引に係る雑所得等」などの入力を上記の環境で実行してデータをつくり、e-Taxでの確定申告自体はVirtualBox上のWindows 7で実行した。

入力スクリプトの作成

まずはじめにetax-futures-2016.jsをダウンロードする。
その次にダウンロードしたetax-futures-2016.jsの"/* futures"以下を申告する内容に書き換える。
// 種類 決済月 決済日 数量 決済の方法 差金等決済に係る利益又は損失の額 譲渡による収入金額 その他の収入 委託手数料 譲渡による収入金額に係る取得費 必要経費3項目名 必要経費3 必要経費4項目名 必要経費4 必要経費5項目 必要経費5
/* futures
日経平均先物ミニ 2 4 1 先物返済 10500   74  消費税 4    
日経平均先物ミニ 4 15 1 先物返済 -1000   74  消費税 4    
日経平均先物ミニ 6 10 1 先物最終決済 65911   74  消費税 4    
日経平均先物ミニ 6 10 1 先物最終決済 -66911   74  消費税 4    
日経平均先物ミニ 11 9 1 先物返済 4000   74  消費税 4    
*/

入力スクリプトの実行

Internet Explorerを操作して(保存しておいた確定申告書データから作成を再開するなどして)「【確定申告書作成コーナー】-先物取引に係る雑所得等」ページを開いておく。
所得区分を「雑所得用」などに選択する。
コマンドプロンプトから入力スクリプトを実行する。
>cscript.exe etax-futures-2016.js
エラー処理やログ出力などは実装していないので結果の確認は各自でどうぞ。

特に参考にしたページ

2016/02/19

「公的個人認証クライアントソフト(JPKI利用者ソフト) Ver3.0」で個人番号カードの証明書確認をすると「予期せぬエラーが発生しました。(CryptAcquireContext:0x80090006)」となる場合の対処法

来年も同じことでつまづきそうなので書いておく。
Windows Updateで配信される更新を適用している環境ではこれは起こらないと思う。
自分の場合は年一回の確定申告のために常用環境にソフトをインストールするのがイヤで、手元にあったプレーンなWindows 7 SP1の仮想環境で確定申告をしようとしたところ引っかかった。

まずは現象の再現。
  1. 「公的個人認証サービス」-「JPKI利用者ソフト」を起動する。
  2. 表示されたダイアログの「証明書をみる」の「自分の証明書」をクリックする。
  3. 表示されたダイアログの「署名用電子証明書」を選択して「OK」をクリックする。
  4. ここで「エラーが発生しました。予期せぬエラーが発生しました。(CryptAcquireContext:0x80090006)」というダイアログが表示される。

もちろんこれではe-Taxで申告書等を提出できない。
試行錯誤してしまったのはスルーして、「公的個人認証クライアントソフト Ver3.0」の動作環境を確認すると更新プログラムの適用が必要とのこと。
前提となるWindows更新プログラム
 利用者クライアントソフト(Windows版)は、SHA256に対応する為、 下記のWindows更新プログラムの適用が必須です。
・Windows8.1の場合
  Windowsの更新プログラム(KB2919355)
・Windows7/VISTAの場合
  Windowsの更新プログラム(KB3035131)
  Windowsの更新プログラム(KB3033929)
Windows 8.1の場合とWindows 7/Vistaの場合とx86/x64に注意して上記のWindows更新プログラムを適用することで、「公的個人認証クライアントソフト Ver3.0」が正常に動作してe-Taxで申請書等を提出できた。

2013/03/20

2012/03/19

e-Tax平成23年分(2011年分)確定申告の先物取引のAutoItによる自動入力

e-Taxの平成23年分(2011年分)確定申告書等作成コーナーの先物取引(日経225先物など)の入力を支援するAutoItスクリプト。
基本的に去年のものと同じ。 違うのは最後の一件を入力した後に次に進まないようにしたことだけ(e-Taxの使い勝手はホントにアレ)。使い方は去年のエントリを参照。
スクリプトはetax-future-2011.au3

2011/01/23

e-Tax平成22年分(2010年分)確定申告の先物取引と配当のAutoItによる自動入力

e-Taxの平成22年分(2010年分)確定申告書等作成コーナーの先物取引(日経225先物など)と上場株式の配当の入力を支援するAutoItスクリプトを書いた。
動機はただ単純に手動で入力するのが面倒だったから。特に「先物取引に係る雑所得等」は最大で990件(330ページ * 3件)入力可能にされているのに、構造化したデータをアップロードするなどの方式が提供されずにWebブラウザで手動での入力が想定されているのはおかしい。面倒ってレベルじゃない。
去年もAutoItのスクリプトを書いたけど、去年のものはキー入力やマウス操作の命令ばかり使ったもので処理が遅くて不安定で良い出来ではなかった。今年はIE操作用のUDF "IE.au3"を使ってそれなりにまともなものができたと思うので晒してみる。

動作を確認した環境は次の通り。
  • Windows 7 Pro. x64
  • InternetExplorer 8
  • AutoIt v3 (v3.3.6.1)
  • 2011/01/22時点のe-Tax平成22年分確定申告書作成コーナー
InternetExplorerはAutoItやe-Taxのサイトが対応していればいいと思う。

内容の簡単な説明としては、普通にInternetExplorerを操作してデータを入力するページ(「先物取引に係る雑所得等」ページとか)を開いた状態にしてAutoItのスクリプトを実行するというのが主操作手順。そうするとAutoItがデータ(タブ区切りテキスト形式で事前に作成しておく)を入力してくれて、それが完了したらまた自分でInternetExplorerを操作してデータを保存するとか次の処理に進んだりできる。
AutoItで処理するのはデータの入力部分だけで、保存しておいた確定申告書データを読み込んで作成を再開するとかデータの入力後に確定申告書データを保存するとかの処理は、自然に手動で操作するだけで済むようになっている(AutoItで処理するよりも柔軟かつ分かりやすい)。またAutoItで処理する範囲が小さくて済むためAutoItのスクリプトも簡単になっている。

処理の所要時間は私の環境で1件の入力に約0.8秒だった。まあこんなものだと思う。
オンライン送信ではなく郵送すれば済む話だけど、折角可能なんだからオンライン送信に固執するつもりで書いた。

先物取引のデータの入力支援のスクリプトの使い方

入力データの作成

入力する先物取引の内訳をタブ区切りテキスト形式で作成する。
テンプレートはetax-future-sample.xlsx
入力項目は「【確定申告書作成コーナー】-先物取引に係る雑所得等」ページ(https://www.keisan.nta.go.jp/h22/syotoku/ta_subB62.jsp)の取引の内訳と全く同じ。

etax-future-sample.xlsxの列順でデータを作成してタブ区切りテキスト形式で保存して、項目の説明である先頭の2行を削除すればいい。入力データのサンプルはetax-future-sample.txt

入力データ作成時の注意点:
  • 正しいデータを作成すること
  • 作成されたデータはそのまま入力ページへの入力に使われる
  • スクリプトではデータのバリデーションをしていない。おかしなデータが含まれていると入力ページのバリデーション処理によりメッセージを通知するダイアログが表示されるため、データの入力処理がそこで止まってしまう。

スクリプトの実行

InternetExplorerを操作して(保存しておいた確定申告書データから作成を再開するなどして)「【確定申告書作成コーナー】-先物取引に係る雑所得等」ページ(https://www.keisan.nta.go.jp/h22/syotoku/ta_subB62.jsp)を開いておく。

その状態でAutoItのスクリプトetax-future-2010.au3を実行する。

スクリプトの10行目付近の$filename変数が入力データ(タブ区切りテキスト形式)のファイル名。
とりあえず次のようにしてある。この場合etax-future-2010.txtという名前のファイルが読み込まれる。
;$filename = "etax-future-sample.txt"  ; 取引の内訳データのファイル名(タブ区切りテキストファイル)
$filename = "etax-future-2010.txt"  ; 取引の内訳データのファイル名(タブ区切りテキストファイル)

1件入力するごとに進捗を標準出力に書き出すのでそれを確認できる環境でスクリプトを実行するのが良い。
コマンドラインでもいいし、AutoIt Script Editor(SciTE4AutoIt3)(AutoIt Full Installationに含まれる)でスクリプトを開いてメニューの「Tools」-「Go」で実行すると、エディタのOutputペインが開いてそれが標準出力になるので、スクリプトを変更して実行する場合にはこれが便利。

配当のデータの入力支援のスクリプトの使い方

構成や使い方は先物取引のデータ入力と同じなので省略。
スクリプトやテンプレートとサンプルはksksts / junk / source – Bitbucketのetax-dividend-*という名前のファイル。
対象としているのは「【確定申告書作成コーナー】-配当所得、配当控除(上場株式等)」ページ(https://www.keisan.nta.go.jp/h22/syotoku/ta_subX5b.jsp)への入力。
これは「配当所得、配当控除(取引区分の選択)」ページで「1 上場株式等」-「(2) 源泉徴収口座への受入れを行っていない配当等」を選択したケースのこと。