D365BCで新たな概念として”VAT日付”が導入されました。先日のブログで書いた方法で作成した新旧のオブジェクト変更一覧を眺めていると”VAT Date”という項目が多くのテーブルに追加されていることがわかります。このVAT Dateの使われ方や追加されたテーブル、画面を確認して解説します。
目次
1. VAT Date の変更概要
2. レポート(VAT Statement)の実行
3. Posting Date と VAT Dateが異なるデータの転記
4. General Ledger Setupによる初期日付設定
5. 伝票から元帳へのデータの流れを確認する
6. その他のテーブル
7. 補足、気になること
1. VAT Date の変更概要
テーブル項目の変更点一覧で新規項目名を”VAT Date”でフィルタすると21個存在することがわかります。21テーブルに追加されるのは結構大きな変更点です。

Docsを検索すると以下の記事が見つかりました。
リリースノート(日本語) : ドキュメントとエントリの新しい VAT 日付フィールド | Microsoft Docs
リリースノート(英語) : New VAT Date field on documents and entries | Microsoft Docs
VATの申告は基本的には”Posting Date(転記日付)”を基準に計算します、一部の国では”Document Date(文書日付)”で計算する場合があります。さらにDocument Dateですらない場合があるということで、Posting Date, Document Dateとは別にVAT Dateを追加したという説明が書かれています。この時点で日本は関係なさそうですw

2. レポート(VAT Statement)の実行
最初にVAT申告関連の書類を確認してみます。”VAT”でキーワード検索して、”VAT Statement”を実行します。

レポート実行のパラメータ指定画面に”Period Date Type”があります。どの日付を基準としてVATの計算を行うかを指定することができます。

選択肢は3つあります。”Posting Date”, “Document Date”, “VAT Date”です。

V20のVAT Statementがどうなっていたか確認すると、”Period Date Type”がそもそも存在しません。

V21のVAT Statementに戻ります。Period Date Typeに”Posting Date”を指定し、日付も指定してPreviewボタンをクリックします。

このようなレポートが出力されました。

今度はPeriod Date Typeに”VAT Date”を指定し、同じ日付でPreviewをクリックします。

すると全く同じ結果が返ってきました。CRONUの初期データではこのように同じ結果が返ってきます。この後、Posting Date と VAT Date が異なるデータを転記し、再度レポートを実行し、差が発生することを確認します。

3. Posting Date と VAT Dateが異なるデータの転記
Sales Invoiceを新規作成します。下図のように”VAT Date”が項目追加されています。Posting Date=2/1, VAT Date=2/2でSales Invoiceを作成して転記します。このPosting Dateの2/1という日付は先ほどVAT Statement を実行した際に指定した日付です。

念のため転記済のSales Invoiceを確認します。Posting Date, VAT Dateが引き継がれています。

VAT Statement を再実行します。まずはPeriod Date Typeに”Posting Date”を指定し、先ほどPostingDateに指定した2/1をStarting DateとEnding Dateに指定し、Previewを実行します。

VAT Statementが実行されました。

別のタブでVAT Statementを実行し、Period Dateを”VAT Date”に指定して同じ日付でPreviewを実行します。

するとVAT Statement が表示されます。Posting Dateで実行したときとPeriod Dateで実行したときは赤い下線の部分が異なる結果になっていることがわかります。

4. General Ledger Setupによる初期日付設定
項目の変更点一覧を見てみます。General Ledger Setupだけキャプションが”Default VAT Date”になっています。

General Ledger Setup画面を開きます。Default VAT Dateという項目がv21から追加されています。選択肢は”Posting Date”と”Document Date”の2つです。ツールチップを読むと伝票作成時にVAT日付の初期値をPosting DateにするかDocument Dateにするかを決める項目とのことです。

初期値が”Posting Date”の場合の挙動を確認します。例えばSales Orderを新規作成すると、初期状態では”Posting Date”, “Document Date”, “VAT Date”は同じ日付です。

ここでPosting Dateを変更してみます。するとVAT日付も連動して変更されます。

上の図だとPosting Date に連動して Document Dateも変化したのでDocument Date依存ではないと断言できないですね。。ではDocument Dateのみを変更するとどうでしょう。VAT Dateは変更されませんでした。ということで Posting Date が VAT Dateに連動していることがわかります。

今度はGeneral Leger Setup の Default VAT Date を “Document Date”に変更してみましょう。

すると、Document Dateを変更すると連動してVAT Date も変更されました。

(以後のシナリオとはあまり関係ないですが、General Ledger Setupを”Posting Date”に戻しておきます。)

5. 伝票から元帳へのデータの流れを確認する
伝票で入力したVAT Dateが各種元帳(Ledger)にどのように引き渡されていくかを確認します。例としてSales Headerに入力して確認します。

Sales Order(受注伝票)を作成します。デフォルトではPosting Dateと同じ日付になっています。

ツールチップの説明も見ておきます。

さて、Docsのリリースノートでは”Posting Date”でもなく”Document Date”でもない日付として”VAT Date”を追加する、と書かれていました。ですが、Sales OrderではGeneral タブを詳細表示しないとDocument Dateが確認できません。これは少し不便なので、画面のパーソナライズで簡易表示の場合もDocument Dateが表示されるようにします。以下のやり方を参考にしてください。”Show Always”を指定すればOKです。

配置位置も見やすく並べます。以降、他の伝票画面でも適宜パーソナライズで表示処理や配置調整を行いますが特に言及はしません。さて、初期状態ではDocument DateもPosting DateもVAT Dateも同じ日付です。

1日ずつ違う日付にしてみましょう。

そして転記プレビューします。余談ですが、転記ボタンの位置が大幅に変わりましたね。早く慣れましょう。

以下のEntry(元帳)に影響があります。

なぜそう言えるかというと、、テーブル項目の変更点一覧に答えがあります。VAT Dateが追加されたテーブルをみるとEntry系のテーブルは”G/L Entry”, “VAT Entry”, “Value Entry”の3つだけです。他はすべて伝票か仕訳帳(Journal)です。(プラス先ほど紹介したGeneral Ledger Setupがあります。)

G/L Entryのプレビュー画面です。Ctrl+Alt+F1をクリックしてPage Inspectionを起動します。そしてキーワード=”date” で検索します。するとPosting Date, Document Date, VAT Dateが表示されます。それぞれSales Orderで入力した日付が引き継がれています。

ただし、1点注意があります。Document Type = 空白の明細を見るとDocument DateはSales Orderで入力した日付ではなく、Posting Dateを同じになっています。少し不思議な感じがしますが、v20でDocument DateとPosting Dateが異なるSales Orderを作ったところ同じようになったので昔からの仕様です。v21のVAT Dateの変更とは関係ないということです。(在庫の減と原価適用なのでVAT関係ないですし。)

VAT Entryも確認します。G/L Entry同様、Posting Date, Document Date, VAT Dateには、それぞれSales Orderで入力した日付が引き継がれています。前のセクションで実行した”VAT Statement” はVAT Entryを読みに行っているので、これが一番重要です。

Value Entryも確認します。こちらもPosting Date, Document Date, VAT Dateには、それぞれSales Orderで入力した日付が引き継がれています。

6. その他のテーブル
その他のテーブルにもVAT Dateが追加されていることを1テーブルずつ確認します。結構多いので、飽きそうな方は次のセクション(7.補足、気になること)にジャンプしてください(笑)
まずはSales Invoice Headerです。

Sales Orderを転記します。

Posted Sales Invoiceが作成されます。開きます。

Posted Sales Shipmentが 開きます。こちらもPosting Date, Document Date, VAT Dateには、それぞれSales Orderで入力した日付が引き継がれています。 Find Entires からG/L Entry, VAT Entry, Value Entryに引き継がれていることも確認できますが、画面は割愛します。

次はSales Cr.Memo Header。

先ほどのPosted Sales InvoiceからSales Credit Memoを作成します。

転記前のSales Credit Memoです。実はこれはまだSales Headerですが、Posting Date, Document Date, VAT Dateには、それぞれPosted Sales Invoiceの日付が引き継がれています。転記します。

Posted Sales Invoiceが作成されました。

Posted Sales Invoiceを開きます。この伝票のヘッダーテーブルがSales Cr. Memo Headerです。Posting Date, Document Date, VAT Dateには、それぞれ日付が引き継がれています。

次はPurchase Headerです。

Purchase Order(発注伝票)を作成します。例によってPosting Date, Document Date, VAT Dateには異なる日付を設定しています。

転記するとG/L Entryに日付が引き継がれます。

VAT Entryにも引き継がれます。

Value Entryにも引き継がれます。

続いてPurch Inv. Headerです。

Purchase Orderを転記して作成されたPosted Purchase Invoiceに日付が引き継がれています。

Purch Cr. Memo Hdr.

Purchase Credit Memoのヘッダーが該当します。

Service Header

Service Invoiceを新規作成して確認できます。後で述べますが、Service Orderも同じヘッダーテーブルですが Service Order にはVAT Dateが表示されません。

転記するとG/L Entryに引き継がれます。

Document Typeがブランクの場合はPosting Date=Document Dateとなるのも同じ。

Service Invoice Header.

Service Invoiceを転記して作成されるPosted Service Invoiceのヘッダーが該当します。

Service Cr. Memo Header.

Service Credit Memoを作成します。が、これはService Headerなので注意です。

転記して作成されたPosted Service Credit Memoが Service Cr. Memo Header. に該当します。なかなか複雑です。(サービス系は結構経験ありますが、毎回調べて確認してますw)

続いて仕訳帳を確認します。Gen. Journal Line.

General Journals画面を開きます。VAT Dateがデフォルトで表示されています。

Document Dateはパーソナライズで追加できます。Posting Date, Document Date, VAT Dateに異なる日付を入れて転記しましょう。

G/L Entryに引き継がれます。

VAT Entryにも引き継がれます。

Item Journalもテーブル項目変更点一覧に登場します。

ですが、Item Journals画面でキーワード”VAT”で検索しても何も見つかりません。

パーソナライズでも追加できません。Document Dateはせっかくなので追加しておきましょう。

画面のデザインモードを使えばVAT Dateを追加できます。

Posting Date, Document Date, VAT Dateに異なる日付を入力して転記します。

G/L EntryのPosting DatとVAT Dateには引き継がれますが、Document Dateは引き継がれずPosting Dateと同じ日付がセットされています。この点はSales Orderを転機した際にDocument Type=ブランクの明細と同じ挙動です。

Value Entryにも引き継がれます。

続いて、Sales Header Archive, Purchase Header Archive.

Sales OrderやPurchase Order(発注伝票)を印刷した際にオプション指定すると作成できるテーブルです。例えばPurchase OrderでPrintをクリック。

Archive Document をOnにするのがポイントです。”Send to”をクリック。

PDF出力します。PDFは開かなくて大丈夫。

Purchsase Order Archivesの一覧画面を開きます。

伝票を選んで開きます。

Purchase Order Archiveの伝票を開きます。Posting Date, Document Date, VAT Dateには、それぞれPurchase Orderで入力した日付が引き継がれています。 Page Inspectionを使うとPurch Header Archiveテーブルを使っていることがわかります。

Sales Header Archiveも同様の手順で確認できます。

そろそろ自分でも飽きてきましたw
Reminder HeaderとIssued Reminder Headerです。

Reminderを新規作成します。VAT Dateが追加されています。Posting Date, Document Date, VAT Dateに異なる日付をセットして”Issue”をクリック。

Issued Reminderです。Posting Date, Document Date, VAT Dateには、それぞれReminderで入力した日付が引き継がれています。

これで最後です。Finance Charge Memo HeaderとIssued Finance Charge Memo Headerです。

Finance Memoを新規作成します。 VAT Dateが追加されています。Posting Date, Document Date, VAT Dateに異なる日付をセットして”Issue”をクリック。

Issued Finance Charge Memoです。Posting Date, Document Date, VAT Dateには、それぞれ Finance Charge Memo で入力した日付が引き継がれています。

7. 補足、気になること
テーブルの項目変更一覧に基づいて、基本的には1テーブル1画面で紹介してきました。実際には1テーブルに複数の画面が紐づいている場合もあります。例えばGen. Journal LineテーブルにはGeneral Journals画面以外にも多くのJounral画面が存在します。例えばSales Journals画面があります。これらの画面にもVAT Dateは追加されているのでしょうか? 全部の画面は紹介できないので、いくつか見てみましょう。
Sales JournalsにはVAT Dateが追加されています。売上を計上する目的の画面なのでVAT Dateを必要としています。VAT Dateが追加されているのは妥当です。

一方、Cash Reciipt JounalsにはVAT Dateは存在しません。テーブル項目としては持っています。

しかし、パーソナライズでは追加できません。

画面デザインであれば追加できます。まあ、現金を受け取る際に売上計上してVATが発生することはそれほどないので、VAT Dateがなくても困らないかと思います。

Job G/L Journalsを見てみましょう。テーブルは同じく Gen. Journal Lineです。

こちらもパーソナライズでは追加できません。 Job G/L Journals画面からジョブ紐づきの仕入計上することを考えると、この画面にはVAT Dateが欲しいところですね。今後の追加に期待しましょう。

続いてService Order画面です。Service Invoice画面にはVAT Dateが存在したのですが、Service Orderには存在しません。同じ Service Headerテーブルを使っているので項目としては存在します。

しかしパーソナライズでは追加できません。

サービスラインを確認するとそもそもテーブルレベルでVAT Dateが項目として存在しません。Service Orderからはサービス売上計上する場合があるので、VAT Dateは欲しいところですね。

このように、個々の画面にはVAT Dateが追加されていたりいなかったりします。大事なことは、最初にテーブル項目として追加されているかを確認し、次にパーソナライズで追加できるか、デザインモードで追加できるかを確認し、追加しても正しく動作するかを確認することです。
以上みてきたように、かなり多くのテーブル・画面にVAT Dateが追加されています。一部の画面には追加して欲しいものがあるものの、必要そうなテーブルには追加されていますし、画面項目は今後追加されていくことを期待しましょう。
とこれだけ書いておいてナンですが、日本では多分使いどころがないですw