インボイスの登録番号をWeb-APIで(第2回 4回シリーズ)

2023年08月30日 12:00 PM

tipsファイル


とりあえずデータを取得してみよう!編

インボイス番号(適格請求書発行事業者登録番号)をWeb-APIを利用して

国税庁の適格請求書発行事業者公表サイトから情報を取得してみよう

前回は、アプリケーションIDの申請についてご紹介しました。

さて今回はいよいよ「国税庁の適格請求書発行事業者公表サイト(以下「公表サイト」)」から
Web-API機能を使って「登録番号」をリクエストして、
「公表サイト」にある情報を取得する カスタムApp を作成することとします。

まずは簡単なプロセスから

今回はシンプルなプログラムをご紹介しようと思います。

すなわち最低限の情報をリクエストしてデータを取得、
そのデータを振り分けてフィールドに表示するという
簡単なプロセスについてお伝えしたいと思います。

なぜならばこのこの基本的なプロセスを抑えて、
その後に必要な機能を追加していった方が初心者の方には
分かりやすいのではないかと思っているからです。

ということは中級者以上の方には退屈な内容になる事をお許しください。


非常にシンプルな流れです

今回のカスタムAppsの流れ

前準備として国税庁から発行された「アプリケーションID」を入力します。

  1. 登録番号を入力します。
  2. その登録番号とその他の情報を公表サイトにリクエストします。
  3. 返ってきた情報をフィールドに格納します。
  4. そのフィールドの値から関数を利用して必要なデータを取り出します。

    ※アプリケーションIDは国税庁に利用の届出をしなければ入手できません。
     入手の方法は前回のブログをご覧ください。

早速カスタムAppsを作ってみよう

①フィールドとレイアウトの作成


「新規ファイル」を作成します。ファイル名は何でも結構です。

ここでは「登録者番号照会」とします。

「登録番号」
「社名」
「住所」
「登録日」
「アプリケーションID」
「結果表示」

と6つのテキストフィールドを作ります。

「アプリケーションID」フィールドだけグローバル格納とします。


(ただし通常はマスタとして別テーブルとします。また共有でファイルを利用する際には
このグローバル格納の利用方法はありえない使い方です。あくまでもレコードごとに
何度もアプリケーションIDを入力したくないため とご理解ください)

テーブル名はファイル名と同じになります。ここでは「登録者番号照会」となっています。

6つのフィールドを作ってみよう



次にレイアウトを作成します。

「結果表示」フィールドだけ大きめにしておくと良いかもしれません。

  (通常はこういったフィールドはレイアウトに配置しません。
   あくまでもこのサンプルファイルのためだけに配置します。
   例えば変数に格納して利用することが多いと思います)

結果表示フィールドを大きくするのはあくまでも確認のため



②リクエストをするスクリプトの作成(URLから挿入)

「スクリプトワークスペース」から「新規スクリプト」を選び
スクリプト名を「リクエスト」とします。

次に「URLから挿入」スクリプトを選びます。

「URLから挿入」

そうして 「選択;ダイアログあり:オン」を「オフ」にします。

「内容全体を選択」にチェック(有)

ターゲットは「結果表示」フィールド

「URLを指定」に以下を入力します。

“https://web-api.invoice-kohyo.nta.go.jp/1/num?id=” & 登録者番号照会::アプリケーションID &”&number=”&登録者番号照会::登録番号&”&type=21&history=0″

入力が終われば「OK」をクリックして完了です。


③JSONデータを振り分け(JSONGetElement関数)
 そして各フィールドに表示(フィールド設定)

「新規スクリプト」を選び名前を「振り分け」とします。

「フィールド設定」を選び「ターゲットフィールドの指定」に「社名」を選び「OK」

「計算結果」と「ターゲットフィールドの指定」は右側の歯車マークをクリックすると表示されます。

「フィールドの指定」には「社名」フィールド


つぎに「計算結果」に以下を入力します。


   JSONGetElement ( 登録者番号照会::結果表示 ; “announcement[0].name” )



次に「フィールド設定」を選択してメニューの「編集」→「複製」を2回します。

2回複製


2番目のフィールド設定の歯車をクリックします。

ターゲットフィールドの指定を「住所」に

計算結果を

JSONGetElement ( 登録者番号照会::結果表示 ; “announcement[0].address” )

とします。


3番目のフィールド設定の歯車から

ターゲットフィールドの指定を「登録日」に

計算結果を

JSONGetElement ( 登録者番号照会::結果表示 ; “announcement[0].updateDate” )

とします。

④実行用スクリプトを作って完成

最後に「リクエスト」と「振り分け」のスクリプトを連続で実行するスクリプトを作ります。

新規スクリプトから「実行」と名前を付け「スクリプト実行」を選びます。

そうして先ほど作成したスクリプト2つ「リクエスト」と「振り分け」を選択して
実行用スクリプトを作成します。

以上で完成です。

早速カスタムAppsを動かしてみよう

アプリケーションIDフィールドに国税庁から発行された「アプリケーションID」を入力します。

そうして登録番号の欄に登録番号を入力します。
(登録番号は弊社の登録番号を使っています)

アプリケーションIDは規約上お見せできません。



そうしてスクリプトの「実行」を実行。以下のようにデータが表示されれば成功です。


最後にまとめ

今回はあくまでもデータを「公表サイト」から取得するだけに絞り込むことを
目的としてご紹介をしました。

次回はどうしてそのようなスクリプトを作ったのかを
国税庁が公表しているWeb-APIの仕様書を基にいくつか解説をしたいと思います。

またこのカスタムAppsは実際に運用を想定してはいません。

例えばアプリケーションIDの格納方法やデータの持ち方など応用が利きません。

また最終的な目的である自社にある顧客マスタと照合をしてデータを
反映させる方法などまだまだ見直す点が多々あります。

上記に関しまして最終回にてお伝えする予定です。

次回

インボイスの登録番号をWeb-APIで(第3回 4回シリーズ)
JSONを選んで何が悪い!編 

インボイス番号(適格請求書発行事業者登録番号)をWeb-APIを利用して
国税庁の適格請求書発行事業者公表サイトから情報を取得してみよう
をお楽しみに。

※このプログラムはデータの正確性を保証するものではありません。

また国税庁のWeb-APIの利用規約に従ってご利用ください。