2023年10月から、インボイス制度とよばれる電帳法の対応の一つとして請求書に適格請求書発行事業者番号(T番号)の記載が必要になるとのことで、会社で支払の管理の為に使用しているSharePointリストの項目にも、この番号を記載するための列を作成する必要が出てきましたので、実装した内容について記載したいと思います。
やったこと
作業環境:
Windows11 Pro 22H2, HP Pavilion Aero, Microsoft 365 E3
SharePointリストに適格請求書発行事業者番号の列を追加
- まず対象のSharePointリストのリストの設定を開き、適格請求書発行事業者番号(T番号)を入力するための列を追加します。
今回は例として、以下のように3つの列を追加しました。
列名 タイプ InvoiceRegistrationNumber – T番号(13桁)適格請求書発行事業者番号 1行テキスト InvoiceRegistrationNumber(na) – T番号(13桁)適格請求書発行事業者番号の有無 選択肢 InvoiceRegistrationNumber(full) – T番号(13桁)適格請求書発行事業者番号 計算式
PowerAppsのカスタムフォームに追加した列を追加
- カスタムリストを開き、適当なアイテムを開き、上部の…アイコンをクリック➡「PowerAppsでカスタマイズ」をクリックします
- PowerAppsが開いたら、左カラムの円筒形のアイコン(データ)をクリック➡該当リストのデータ右側の…をクリック➡「更新」をクリックしてフォームの表示を最新に同期させます
- 次に左カラムのひし形が3つ重なったアイコン(ツリービュー)をクリック➡「NewScreen」➡「NewForm」の順に開きます。
- 次に右カラムの「フィールドを編集」をクリック➡「列を追加」をクリック➡列名を検索し、チェックを入れ「追加」を押します。
- フォーム内に列が追加されます。なお項目をドラッグすると任意の順番に並べ替えができます。
選択肢によって入力テキストボックスの表示/非表示を制御する
選択の結果によって、T番号を入力する列の表示を制御する設定を行います。今回は、未選択であれば非表示、有りを選択すれば番号入力モード、無しを選択すれば番号欄に無しと表示させるようにします。
- ツリービューの「NewForm」内で「InvoiceRegistrationNumber – T番号(13桁)適格請求書発行事業者番号」列を選択し、右カラムの「詳細設定」を開き、「Visible」プロパティに以下のように入力します。
If(IsBlank(DataCardValue番号.Selected.Value),false,true)
※今回の例ではDataCardValue46という名前になっているので、上記の式の番号部分を修正する必要があります。
この例の場合、以下のように入力します。
- 次に、ツリービューでDataCardValue47を選択し、右カラムのDefaultプロパティに以下のように入力します。
If(DataCardValue46.Selected.Value="No - 無し","No - 無し",Parent.Default)
- 併せてFormatプロパティに以下のように入力します。
If( DataCardValue46.Selected.Value="Yes - 有り",TextFormat.Number, DataCardValue46.Selected.Value="No - 無し",TextFormat.Text )
- 次に、ErrorMessage47を右クリック➡コピーをクリックします。そして同じ場所でまた右クリック➡ペーストします。
同じフィールド内にErrorMessage47_1が作成されますので、これを選択し右カラムの詳細設定タブ内の「Live」プロパティをLive.Offにし、Textプロパティに以下のように入力します。If( DataCardValue47.Text="No - 無し","","桁が足りません" )
これにより、入力している桁数が正しくない場合のみ、「桁が足りません」と表示させることができます。ダブルクォーテーション内の文言は任意の注意書きに変更可能です。
- 次に、NewScreenを右クリック➡複製を選択し、画面のコピーを2つ作成します。
作成した画面はEditScreen、ViewScreenと名前を変更し、配下のフォームもEditForm、ViewFormとそれぞれ名前を変更します。
- EditFormを選択し、右カラムの「プロパティ」タブ内の「標準モード」を「編集」にします。
同様にViewFormを選択し、右カラムの「プロパティ」タブ内の「標準モード」を「ビュー」にします。
また、「フィールドの編集」を開き、先ほどと同じ手順で「InvoiceRegistrationNumber(full) – T番号(13桁)適格請求書発行事業者番号」列を表示させます。同時に「InvoiceRegistrationNumber – T番号(13桁)適格請求書発行事業者番号」列はVisibleプロパティをfalseにして非表示にします。 - SharePointリストの設定を開き、「InvoiceRegistrationNumber(full) – T番号(13桁)適格請求書発行事業者番号」列に以下の計算式を入力します。
="T"&[該当列]
※[該当列]の部分は列名を選択します。今回の例では「InvoiceRegistrationNumber – T番号(13桁)適格請求書発行事業者番号」を入力します。
※列名の後半に日本語表示がないのは、列の作成時に前半の英語部分のみで作成しているためです。日本語表記があるとPowerAutomateフロー上などで表示が変換され判りづらくなるためこのようにしています。
- 先ほどのデータの更新の操作を再度行い、ウィンドウ右上の発行(Publish)ボタンから変更の反映を行います。
- 設定に問題なければ、以下のような挙動になります。
まとめ
今回のインボイス関連の対応は、法改正ということもあり、すべての企業組織に影響があるのではないかと思います。すでに10月から請求書へのT番号の記載は必須となっておりますので、皆さん何かしらの対応は既に住んでいることかと思いますが、SharePointで社内の請求書や支払の管理をされている方のお役に立てると幸いです。
コメント