税エンジンの統合

税エンジン ( GTE ) を Dynamics 365 Finance と統合するには、税計算のために税エンジンとやり取りする X++ コードを実装する必要があります。それは結果を消費して、伝票および税トランザクションの税金の表示、計算、および転記を行います。 (税計算では、税調整を含める、または除外することができます。)

注記

税エンジン機能は、インドに基本住所がある法人に対してのみ使用可能です。

税エンジンの統合モデル

税エンジンの統合には 3 つのモデルがあります。

  • 税エンジン サービスを使用した税エンジン インターフェース
  • 税 ビジネス サービス
  • Finance アプリケーション統合:
    • アプリケーションの統合
    • 会計の統合

GTE 統合モデル。

税エンジン サービス モデルを使用した税エンジン インターフェース

このモデルは、Finance の統合フレームワークの一部です。 したがって、パートナーや顧客にはほとんど取得の必要がありません。

ITaxEngine インターフェースとその実装には、税エンジンの基本操作が含まれています。 これらの操作には、税エンジンを介した税の計算、Finance テーブルへの計算結果の保持、トランザクションの税務書類の取得、税エンジンキャッシュと Finance テーブルの両方からの税務書類の削除が含まれます。

ITaxDocument インターフェイスと実装のセットにより、税エンジンが計算して返す税務書類から情報を読み取ることができます。 このセットには、ITaxDocument、ITaxDocumentLine、ITaxDocumentField、ITaxDocumentComponentLine、およびITaxDocumentMeasure が含まれます。

GTE インターフェイス。

これらのインタフェースは、ITaxDocumentLine から指定されたフィールド値 (ITaxDocumentField) および ITaxDocumentComponentLine から予測される数値 (ITaxDocumentMeasure) を取得するためのメソッドを提供します。

  • ITaxDocumentMetaData インターフェイスのセットにより、税務文書からモデル情報を読み取ることができます。 このセットには、ITaxDocumentMetaData、ITaxDocumentLineMetaData、ITaxDocumentComponentLineMetaData、および ITaxDocumentMeasureMetaData が含まれます。
  • ITaxDocumentEnumerator および ITaxDocumentMeataDataEnumerator インターフェイスのセットは、ITaxDocumentLine、ITaxDocumentField、ITaxDocumentComponentLine、および ITaxDocumentMeasure などの税務書類関連オブジェクトのリストを読み取るための列挙子を提供します。

税ビジネス サービス モデル

税ビジネス サービス モデルは、Finance の統合フレームワークの一部であり、パートナーや顧客にはほとんど取得の必要がありません。 このモデルは、Finance アプリケーションが基本的な操作のために税エンジンと相互作用することをサポートします。 インタフェース モデルとアプリケーション モデルの両方を使用して、税の計算、会計、および転記を行います。 税ビジネス サービス モデルでは、次の方法を提供します。

メソッド 説明
税の計算 ダーティーとマークされている場合は、税務書類を削除してから税金を計算します。
  • 入力: 課税対象文書の識別子
  • 出力: 税務署類オブジェクト
税の再計算 明示的に税務書類を再計算します。
  • 入力: 課税対象文書の識別子
  • 出力: 税務署類オブジェクト
SaveTaxDocument 税務書類を Finance データベースに保存します。
  • 入力: 課税対象文書の識別子
  • 出力: 該当なし
GetTaxDocumentBySource ソース トランザクション ID に基づいて税務書類を読み取ります。
  • 入力: 課税対象文書の識別子
  • 出力: 税務署類オブジェクト
GetTaxDocumentLineBySource ソース トランザクション明細行 ID に基づいて税務書類明細行を読み取ります。
  • 入力: トランザクション明細行識別子
  • 出力: 税務署類明細行オブジェクト
GetTaxDocumentTaxStatus 関連するトランザクションの税務書類のステータスを読み取ります。
  • 入力: 課税対象文書の識別子
  • 出力: 税務署類オブジェクト
MarkTaxDocumentTaxStatus 下線を引いたトランザクションが更新されたら、税務文書をダーティーとしてマークします。
  • 入力: 課税対象文書の識別子、税務書類のステータス
  • 出力: 該当なし
DeleteTaxDocument トランザクションが削除された場合に、税務書類を削除します。
  • 入力: 課税対象文書の識別子
  • 出力: 該当なし
PostTax トランザクションの税金を転記します。
  • 入力: 転記する必要がある税の元帳伝票、課税対象文書の識別子
  • 出力: 該当なし
TransferTaxDocument ソースがサポートしているトランザクションから別のトランザクションに税務書類を転送します。
  • 入力: ソース トランザクション、ターゲット トランザクション
  • 出力: 該当なし
PostTaxDocument 税務文書のステータスを 転記済に変更するだけです。
  • 入力: 課税対象文書の識別子
  • 出力: 該当なし

Finance アプリケーション統合

Finance からのトランザクション情報は、税エンジンに送信する必要があります。 同時に、税の会計と転記は、Finance の実装と整合する必要があります。 そのため、Finance アプリケーションでは 3 つの部分が作成されます。

  • 課税対象文書
  • 税会計
  • 税転記

一方、統合では、輸送文書フレームワークを使用して、Finance トランザクションと税務書類の間の関係を維持します。

アプリケーションの統合

課税対象文書

課税対象文書は、一連のデータ プロバイダーを使用して、トランザクションの情報をカプセル化します。 トランザクションの情報は、TaxableDocument オブジェクトによってラップされます。 このオブジェクトの TaxableDocumentDescriptor オブジェクトは、トランザクションとは何かを説明し、税モデル属性をトランザクション データにバインドする一連のデータ プロバイダーをリストする必要があります。

課税対象文書。

TaxableDocumentDescriptor は、一連の TaxableDocumentTypeDefinition インターフェイスを実装し、トランザクションとは何かを説明するクラスです。 技術的には、TaxableDocumentDescriptors は Finance のテーブル ベースですが、TaxableDocumentTypeDefinitions はよりビジネス主導型であり、主に税の設定条件に使用されます。

次の例では、TaxableDocumentDescriptorPurchaseOrderParm は、同じ PurchParmTable テーブルを共有する 3 つのインターフェースを実装します。

共有テーブルの例。

追加の属性が税コンフィギュレーションに追加され、それらがルックアップ、条件、式、またはその他のコンフィギュレーションに使用される場合は、属性をトランザクション データとバインドする必要があります。 したがって、トランザクションに対応するデータ プロバイダー クラスを変更して、このようなデータ バインディングが行われるようにする必要があります。

メモ

追加のトランザクションが GTE をサポートする必要がある場合は、関連する TaxableDocumentTypeDefinitions、TaxableDocumentDescriptors、および TaxableDocumentDataProviders を作成する必要があります。

輸送文書

輸送文書は、次の 2 つの目的に使用される Finance の既存のフレームワークです。

  • トランザクションおよび輸送文書間の関係を維持します。
  • あるトランザクションから別のトランザクションにドキュメントを転送します。

このフレームワークを使用すると、トランザクションのドキュメントを簡単に見つけて輸送履歴を追跡できます。 たとえば、VendInvoiceInfoTable から税務書類が作成され、輸送ドキュメントでは VendInvoiceInfoTable と TaxDocument の関係が維持されます。 発注書が請求されると、VendInvoiceInfoTable からの税務書類が VendInvoiceJour に転送されます。

メモ

追加のトランザクションが税エンジンをサポートする必要がある場合は、ヘッダー レベルと明細行レベルの両方から、どのトランザクションに税務書類があるかを説明するための輸送ドキュメント フレームワークのルールを定義する必要があります。 ルールには、ソース トランザクションからターゲット トランザクションへの輸送アクションも定義する必要があります。

トランザクションの統合

トランザクションの統合は個別でのみ発生します。 各トランザクションおよびシナリオに対して、税 ビジネス サービスは税計算、税の仮定、および税転記に対して適切な方法で呼び出す必要があります。 例については、この記事で後述する Finance 統合の例 - 発注請求書 セクションを参照してください。

会計の統合

税会計

Finance トランザクションの会計には、元伝票会計と非元伝票会計の 2 つの部分があります。 同じ動作が税エンジンの税務会計にも当てはまります。税務会計は、以下の両面で Finance の実装と統合されています。

  • 発注書やフ自由書式の請求書などの元伝票のトランザクションでは、税務書類が作成されたときに税のアカウント情報が取得されます。
  • 販売注文や一般仕訳帳などの非元伝票トランザクションの場合、アカウント情報は税が転記されるときに決定されます。

メモ

追加の元伝票トランザクションに税エンジンのサポートが必要な場合は、指定されたビジネス イベントと金額に対して AccountingJournalizationRule と AccountingDistributionRule を拡張するための元伝票関連クラスを作成する必要があります。

税エンジン税転記

現在、税エンジンの税転記により、TaxTrans、TaxTrans_IN (インドの国/地域コードで実行している場合)、および TaxTrans の関連伝票が生成されます。 taxTrans フィールドに税務書類の属性または基準を入力するには、TaxAcctTaxTransTaxDocAttrMapping および TaxAcctTxTransTaxDocMeasureMapping を使用してマッピングを提供する必要があります。

次の図は、TaxTrans および伝票の作成方法を示します。

TaxTrans および伝票を作成します。

メモ

taxTrans フィールドに税務書類の追加フィールドを入力する必要がある場合は、 TaxAcctTaxTransTaxDocAttrMapping クラス、TaxAcctTxTransTaxDocMeasureMapping クラス、またはこれらのクラスのいずれかの拡張クラスをデータ バインディングに適切な方法で更新する必要があります。

例: Finance の統合 – 発注請求書

このセクションでは、税エンジンが発注請求書とどのように統合されるかの例を示します。 関連するトランザクション テーブルには、VendInvoiceInfoTable、VendInvoiceInfoLine、VendInvoiceJour、およびVendInvoiceTrans が含まれます。

統合 チェックリスト

以下の表は、発注請求書との統合に関連するすべての該当する変更をまとめたものです。

トランザクションの取得のチェックリスト 説明 AOT オブジェクト
定義 課税対象文書を定義します。 課税対象文書タイプとトランザクションの説明を作成します。 TaxableDocumentTypeDefinitionPurchaseInvoice
TaxableDocumentDescriptorPurchaseInvoice
データ プロバイダーを定義します。 トランザクション データを GTE に提供するデータ プロバイダーを作成します。 TaxableDocumentTypeDefinitionPurchaseInvoice
TaxableDocumentDescriptorPurchaseInvoice
作成 トランザクションに税務書類ボタンを追加します。 トランザクション ページに税務書類ボタンを追加します。 VendEditInvoice
VendInvoiceInfoListPage
トランザクションの合計と統合します。 合計ボタンをクリックすると、税務書類を作成します。 PurchTotals_ParmTrans.calcTax()
PurchTotals_ParmTransEdit.calcTax()
PurchTotals_ParmTransEditInvoice.calcTax()
元伝票と統合します。 仕入請求書は元伝票トランザクションなので、税が計算されるときに元伝票を作成します。 AccDistRuleProductTaxMeasure
AccJourRuleVendPaymReqTaxMeasure
削除 トランザクションを削除します。 トランザクションが削除される場合、税務書類を削除します。 VendInvoiceInfoTable.delete()
トランザクション明細行を削除します。 トランザクション明細行が削除される場合に、税を再計算します。 VendInvoiceInfoLine.delete()
更新 トランザクション ヘッダー情報を更新します。 トランザクション ヘッダー レベルで税に影響するフィールドが更新されると、税を再計算します。 VendInvoiceInfoTable.update()
トランザクション明細行情報を更新します。 トランザクション明細行で税に影響するフィールドが更新されると、税を再計算します。 VendInvoiceInfoLine.update()
税情報を更新します。 税情報のフィールドが更新されると、税を再計算します。 TransTaxinformation.Write() (ページのデータ ソース)
転記 税務書類の移行ルールを定義します。 あるトランザクションから別のトランザクションへの税務書類の転送に関するルールを定義します。 TaxDocumentTransitRuleEventHandler.initTransitDocumentTransactionRuleList()
税務書類を転送します。 転記中にあるトランザクションから別のトランザクションに税務書類を転送します。 PurchaseInvoiceJournalCreate.endCreate()
税金を転記します。 トランザクションの転記時に、税を転記します。 PurchaseInvoiceJournalPost.PostTax()
在庫税を追加します。 在庫に対する課税が可能な場合は、在庫に税を追加します。 PurchaseInvoiceJournalPost.PostInventory()
税務書類を転記します。 トランザクションの伝票が転記された後に、税務書類を転記します。 結果として、税務書類のステータスが、転記済に更新され、レコードが関連テーブルに生成されます。 PurchaseInvoiceJournalPost.endUpdate()
照会 仕訳帳に税務書類ボタンを追加します。 照会用に、ジャーナル ページに税務書類ボタンを追加します。 VendInvoiceJournal

課税対象文書の定義

TaxableDocumentTypeDefintionPurchaseInvoice および TaxableDocumentDescriptorPurchaseInvoice は、税エンジンの課税対象文書として仕入請求書を定義するクラスです。

課税対象文書クラス。

TaxableDocumentTypeDefinitionPurchaseInvoice は、課税対象文書として仕入請求書を定義するインターフェイスです。

仕入請求書の課税対象文書。

TaxableDocumentDescriptorPurchaseInvoice.getDataProvider() は、仕入請求書に使用されるデータ プロバイダー クラスを指定します。

仕入請求書のデータ プロバイダー。

データ プロバイダーの定義

次の図は、税関連の操作でトランザクション データを税エンジンに送信するために使用されるデータ プロバイダーを示しています。

GTE のデータ プロバイダー。

TaxableDocPurchaseInvoiceDataProvider.buildQuery() は、VendInvoiceInfoTable や VendInvoiceInfoLine など、すべての関連トランザクションに対するクエリを提供します。 また、行のデータ プロバイダーで各データ ソースを登録します。 たとえば、VendInvoiceInfoTable データ ソースは、TableDocVendInvoiceInfoTableRowDP で登録されます。

VendInvoiceInfoTable データ ソース。

TaxableDocVendInvoiceInfoTableRowDP は TaxableDocPurchTableRowDataProvider クラスを拡張してトランザクション ヘッダー関連情報を設定し、TaxableDocVendInvoiceInfoLineRowDP は TaxableDocPurchLineRowDataProvider を拡張して請求明細行関連の情報を設定します。

次の表に、Finance にマップされている課税対象文書フィールドの一覧を示します。

課税対象文書フィールド AOT オブジェクトのロジック 必須 既定値
SubLines TaxableDocumentLineObject.getSubLines
フィールド TaxableDocumentLineObject.getFields
ModelFieldName TaxableDocumentLineObject.parmModelFieldName
TaxAdjustment TaxEngineIntegrationAXContractEventHandler.getLineAdjustment
TableId TaxableDocumentLineObject.getTransactionLineTableId
Recid TaxableDocumentLineObject.getTransactionLineRecordId
課税対象文書タイプ TaxableDocumentDescriptor.createRow
スキップ済 (ドキュメント レベル) TaxableDocumentDescriptor.createRow
DistributionSide TaxableDocumentObject.getDistributionSide 自動
ExchangeRates TaxEngineIntegrationAXContractEventHandler.getExchangeRate
ReportingCurrencyExchangeRates TaxEngineIntegrationAXContractEventHandler.getReportingCurrencyExchangeRate
税務書類の目的 TaxableDocumentRowDataProviderLine.fillInFrameworkFields 取引
トランザクション通貨 TaxableDocumentRowDataProviderLine.fillInFrameworkFields
トランザクション日付 TaxableDocumentRowDataProviderLine.fillInFrameworkFields
スキップ済 (明細行レベル) TaxableDocumentRowDataProviderLine.fillInFrameworkFields
税提示方法 TaxableDocumentRowDataProviderLine.fillInFrameworkFields 消費税収入
元帳への転記 TaxableDocumentRowDataProviderLine.fillInFrameworkFields
会計の有効化 TaxableDocumentRowDataProviderLine.fillInFrameworkFields
行タイプ TaxableDocumentRowDataProviderLine.fillInFrameworkFields ライン
インポート注文 TaxableDocumentRowDataProviderHeader.fillInFields
エクスポート注文 TaxableDocumentRowDataProviderHeader.fillInFields
GST 構成スキーム TaxableDocumentRowDataProviderHeader.fillInFields
構成スキーム TaxableDocumentRowDataProviderHeader.fillInFields
顧客タイプ TaxableDocumentRowDataProviderHeader.fillInFields なし
仮評価 TaxableDocumentRowDataProviderHeader.fillInFields
外部関係者 TaxableDocumentRowDataProviderHeader.fillInFields なし なし
評価の種類 TaxableDocumentRowDataProviderHeader.fillInFields なし 会社
優先的関係者 TaxableDocumentRowDataProviderHeader.fillInFields
GTA 商業仕入先 TaxableDocumentRowDataProviderHeader.fillInFields
元帳通貨 TaxableDocumentRowDataProviderHeader.fillInFields
合計割引率 TaxableDocumentRowDataProviderHeader.fillInFields
免税 TaxableDocumentRowDataProviderLine.fillInFields
目的 TaxableDocumentRowDataProviderLine.fillInFields 取引
税込価格 TaxableDocumentRowDataProviderLine.fillInFields
配送日 TaxableDocumentRowDataProviderLine.fillInFields
DiscountAmount TaxableDocumentRowDataProviderLine.fillInFields
正味金額 TaxableDocumentRowDataProviderLine.fillInFields
件数 TaxableDocumentRowDataProviderLine.fillInFields
消費状態 TaxableDocumentRowDataProviderLine.fillInFields
返金 TaxableDocumentRowDataProviderLine.fillInFields
処分アクション TaxableDocumentRowDataProviderLine.fillInFields いいえ (返品あり) クレジット
課税金額 TaxableDocumentRowDataProviderLine.fillInFields
州間 TaxableDocumentRowDataProviderLine.fillInFields
カスタム税率コードのインポート TaxableDocumentRowDataProviderLine.fillInFields いいえ (インポート注文はあり)
カスタム税率コードのエクスポート TaxableDocumentRowDataProviderLine.fillInFields いいえ (エクスポート注文はあり)
IEC 番号 TaxableDocumentRowDataProviderLine.fillInFields
最大小売価格 TaxableDocumentRowDataProviderLine.fillInFields
パーティ GST 登録番号 TaxableDocumentRowDataProviderLine.fillInFields
GST 登録番号 TaxableDocumentRowDataProviderLine.fillInFields
HSN コード TaxableDocumentRowDataProviderLine.fillInFields
SAC TaxableDocumentRowDataProviderLine.fillInFields
サービス カテゴリ TaxableDocumentRowDataProviderLine.fillInFields 内向き
ITC カテゴリ TaxableDocumentRowDataProviderLine.fillInFields 入力
仕損 TaxableDocumentRowDataProviderLine.fillInFields いいえ (販売注文はあり)

トランザクションに税務書類ボタンを追加する

税エンジンで税計算をトリガーする 1 つの方法は、トランザクションに追加する税務書類ボタンを使用することです。 このボタンをクリックすると、トランザクション データが事前定義された課税対象文書オブジェクトとして税エンジンに送信され、税計算が税エンジンでトリガーされます。 ボタンは通常、VendEditInvoice などのトランザクション ページに追加されます。 税が計算された直後に、結果が税務書類のユーザー インターフェイスに表示されます。

アクション ウィンドウの税務書類ボタン。

taxdocumentlauncher プロパティ。

トランザクションの合計との統合

合計ボタンは税金額、割引額、合計額などのトランザクションの財務情報を表示するために使用されます。 合計ページに表示される税額も、仕訳帳の請求金額に追加されます。

Finance の既存の実装では、この機能を処理するために PurchTotals クラスのセットが作成されています。 したがって、税エンジン関連のコードがクラスの calcTax メソッドに挿入され、予想される税金の合計金額が確実に開始されるようになります。

calcTax メソッド。

既存のロジックとの調整のため、既存の taxTotal パラメーターを使用して、トランザクション全体の税額を表示します。 taxTotalGTE という名前の新しいパラメーターは、仕入先に転記される税を表示するために使用されます。 逆請求など、場合によっては、taxTotal の値が taxTotalGTE の値と一致しません。 したがって、taxTotal が仕訳の転記に使用され、taxTotalGTE合計ページで合計税額を表示するために使用されます。

元伝票との統合

仕入請求書は、元伝票のトランザクションです。 したがって、税エンジンから計算された税の結果は、Finance の既存の元伝票フレームワークと統合する必要があります。 主要なロジックはすでに完成しており、税エンジン統合フレームワークによって処理されています。 ただし、各元伝票トランザクションについては、配分ルールおよび仕訳ルールを会計目的で定義する必要があります。

配分ルールと仕訳ルール。

仕入請求書用に AccPolicyVendPaymReqForExpensedProductsAccDistRuleProductTaxMeasure および AccJourRuleVendPaymReqExpPurchTaxMeasure のクラスが作成されます。

AccPolicyVendPaymReqForExpensedProducts クラス。

AcctDistRuleProductTaxMeasure クラス。

AccJourRuleVendPaymReqTaxMeasure クラス。

元伝票クラスが正しく作成されると、配分ページには、計算された税金とコンポーネント ラベル、税額、および勘定科目が表示されます。

勘定配布。

トランザクションの削除

仕入請求書が削除されると、関連する税務書類も削除されます。 関連する税務書類を削除するには、VendInvoiceInfoTable の削除メソッドで TaxBusinessService を呼び出します。

トランザクションの削除方法。

トランザクション明細行を削除する

トランザクション明細行が削除されると、税務書類を再計算する必要があります。 パフォーマンス上の理由から、トランザクション明細行が削除された直後に GTE が税を再計算することはありません。 代わりに、税務書類のステータスをダーティーに更新します。 表示または転記できるように税務書類が取得されると、GTE は状態が ダーティー かどうかを確認します。 ステータスによっては、再計算が行われます。

税務書類のステータス。

税務書類のステータスの変更。

トランザクション ヘッダー情報を更新する

一部のトランザクション ヘッダー情報は税の計算に影響を与えることがあります。 例には、トランザクションの日付と通貨が含まれます。 したがって、この種の情報が別の値に更新された場合は、後で再計算できるよう税務書類をダーティーとしてマークする必要があります。

税務書類のダーティー ステータス。

次の方法は、仕入請求書の税計算に影響を与える可能性のあるフィールドを一覧表示します。

税計算に影響を与えるフィールドを一覧表示する方法。

トランザクション明細行情報を更新する

同様に、いくつかのトランザクション明細行フィールドの更新も、税計算に影響します。

税計算に影響を与えるトランザクション明細行。

税情報を更新する

トランザクション明細行の税情報は、税計算に大きな影響を与えます。 ロジックはアプリケーション オブジェクト ツリー (AOT) TransTaxInformation ページで管理されています。 このページはそれ以上の取得を必要としない可能性があります。

税務書類の輸送ルールを定義する

仕入請求書および仕訳帳に税務書類を関連付けるには、ルールを定義する必要があります。 TaxDocumentTransitRuleEventHandler::initTransitDocumentRuleList() では、VendInvoiceInfoTable、VendInvoiceInfoLine、VendInvoiceJour、VendInvoiceTrans の各ルールを定義して、税務書類または税務書類行をトランザクション テーブルに関連付ける必要があります。

税務書類の輸送ルール。

TaxDocumentTransitRuleEventHandler::initTransitDocumentRuleExtList() には、トランザクションから仕訳帳への輸送アクションの拡張ルールの定義が含まれています。

税務書類の輸送ルールの拡張。

税務書類を転送する

トランザクションから仕訳帳が作成される場合、税務書類を仕訳帳に転送する必要があります。 次のコードは、税務書類を仕入請求書から仕入請求書の仕訳帳に転送します。

税務書類を転送します。

税を転記する

税の転記は、仕入請求書の仕訳帳が転記されるときに発生します。 したがって、FormLetterJournalPost.postTax() 基本クラスで TaxBusinessService::PostTax() が仕入請求書の仕訳帳を転記するために呼び出されます。

税の転記。

在庫税を追加する

在庫に転記する必要がある税は、在庫トランザクションに追加する必要があります。

次の例は、taxEngineInventMovement().updateTaxFinancial() クラス メソッドを使用して、在庫に対する税を転記する在庫モジュールのロジックを示しています。

在庫税を追加する。

税務書類を転記する

税が転記されたら、税務書類を転記したことを示すステータスに税務書類を更新する必要があります。

税務書類を転記します。

上記のメソッドが呼び出されると、GeneralDournalEntry と仕訳帳トランザクションの関係を維持するために、TaxDocumentGeneralJournalEntryLink テーブルに追加のレコードが作成されます。 このレコードは GTE が GeneralJournalEntry レベルで税務書類を簡単に取得するのに役立ちます。

税務書類の仕訳帳入力。

デバッグ

税エンジンのデバッグは、主にトランザクション データの検証と計算された税務書類の結果に基づいて行われます。 トランザクションデータと計算結果はどちらも JavaScript Object Notation (JSON) 文字列形式です。

トランザクション データのデバッグ

次の図に示すように、TaxEngineServiceProxy.calculate() にブレークポイントを設定します。

トランザクション データのデバッグ。

JsonStr には、データ プロバイダーによって作成されたすべてのトランザクション データ情報が含まれています。 オンラインの JSON ビューアーを使用して、税モデルの属性にデータが正しく設定されているかどうかを簡単に識別できます。

税務書類のデバッグ

税エンジンが計算に対してエラーを返した場合、すべての結果は上記のメソッドの RET 属性に設定されます。 属性にクイック ウォッチ コマンドを使用すると、税エンジンからの完全なエラーを簡単に理解できます。

税エンジンが問題を返さない場合、税務書類の結果は以下の表に保持されます。

  • TaxDocument
  • TaxDocumentRow
  • TaxDocumentJson

これらのテーブルを照会して JSON 文字列を取得することで、オンラインの JSON ビューアーを介して結果の詳細を簡単に確認できます。

追加リソース