CI_Trade_Tax は VAT 専用?――JP PINT での制約と、Allowance/Charge による源泉所得税・自動車重量税の正しい表現

Views: 10

1. 要旨(アップデート)

結論: JP PINT の検証運用では CI_Trade_Tax は実質的に VAT 明細 の説明枠です。源泉所得税や自動車重量税などの「非 VAT 税」や“マイナス税額”は CI_Trade_Tax に置かず、SpecifiedTradeAllowanceCharge(以下「Allowance/Charge」)で表すのが、相互運用上もっとも安全です。中小企業共通EDIと JP PINT の連携を考慮すると、この方針が望ましく、先日の記事を全面改訂しました。

2. 背景と誤解しやすいポイント

  • UN/CEFACT の原典コード表(UNCL 5153)には SWT(Shifted Wage Tax:源泉系)や CAR(Car tax:車両税)等の税種コードが存在する。しかしコードの存在プロファイル(JP PINT)での受入要件は別の話。

  • JP PINT(EN 16931 系)の実装では、CI_Trade_TaxVAT の課税区分・税率・課税標準と税額を説明する部品として扱われ、非 VAT 税を混在させると検証に落ちやすい。

3. なぜ CI_Trade_Tax に非 VAT 税を書いてはいけないのか

  1. カテゴリ O(VAT 適用外)× 税額 ≠ 0 の矛盾
    VAT 適用外(CategoryCode=O)の税額に値(とくに負値)を置くと、プロファイルルールと相反し、バリデーションエラーが発生しやすい。

  2. 税額集計の破綻
    VAT 集計(税率別小計、課税標準、TaxTotal)に非 VAT 税が混ざると、レポート・会計連携で破綻する。

  3. マイナス税額の非推奨
    CII は “正値+Indicator(Allowance/Charge)” で符号を表す設計。税額欄に負値を入れる設計は非互換になりやすい。

4. 正しい実装:Allowance/Charge 方式

非 VAT 税は Allowance/Charge に載せる。VAT は従来どおり CI_Trade_Tax に限定する。

4.1. A) 源泉所得税(Withholding tax)

請求合計の支払時控除として表す。

<!-- VAT(JCT 10%)の説明は CI_Trade_Tax に限定 -->
<ram:ApplicableTradeTax>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:CategoryCode>S</ram:CategoryCode>
  <ram:RateApplicablePercent>10</ram:RateApplicablePercent>
  <ram:BasisAmount currencyID="JPY">100000</ram:BasisAmount>
  <ram:CalculatedAmount currencyID="JPY">10000</ram:CalculatedAmount>
</ram:ApplicableTradeTax>

<!-- 源泉所得税は Allowance(控除):正値+Indicator=false -->
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
  <ram:ActualAmount currencyID="JPY">10210</ram:ActualAmount>
  <ram:ReasonCode>26</ram:ReasonCode> <!-- Taxes deducted from payment -->
  <ram:Reason>Withholding income tax (10.21%)</ram:Reason>
  <!-- VAT 集計には干渉させない -->
  <ram:CategoryTradeTax>
    <ram:TypeCode>VAT</ram:TypeCode>
    <ram:CategoryCode>O</ram:CategoryCode>
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>

4.2. B) 自動車重量税(Vehicle weight tax)

不課税の加算として表す。

<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator><udt:Indicator>true</udt:Indicator></ram:ChargeIndicator>
  <ram:ActualAmount currencyID="JPY">45000</ram:ActualAmount>
  <ram:Reason>Automobile weight tax</ram:Reason>
  <ram:CategoryTradeTax>
    <ram:TypeCode>VAT</ram:TypeCode>
    <ram:CategoryCode>O</ram:CategoryCode> <!-- VAT適用外 -->
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>
Note

重量税を行明細として表現する場合は、重量税用の行を作成し、行の ApplicableTradeTax/CategoryCode=O(CalculatedAmount=0)で「不課税」を示し、行金額は価格・金額側に載せる方法でも可(VAT計算には載らない)。

5. 請求合計金額の内訳表示(日本の実務向け)

税理士報酬(税抜 100,000)・消費税 10,000・源泉 10,210・重量税 45,000(任意の例)を同一請求に含めるときの見せ方と計算

表示行(例) 金額 備考/CII 対応

報酬(税抜)

100,000

Line/TaxBasis(VAT 対価)

消費税(10%)

10,000

ApplicableTradeTax(VAT,S,10%)

請求金額(税込・対価部分)

110,000

GrandTotal(対価+VAT)

自動車重量税

45,000

ChargeChargeIndicator=true、Category=O)

源泉所得税(10.21%)

▲10,210

AllowanceChargeIndicator=false、Category=O)

前払

▲0

該当時は Allowance or 既入金差引

差引支払額(振込額)

144,790

110,000 + 45,000 − 10,210

5.1. サマリアイテム整合(HeaderMonetarySummation)

  • LineTotalAmount … 100,000

  • TaxTotalAmount … 10,000

  • AllowanceTotalAmount … 10,210(源泉のみを合算)

  • ChargeTotalAmount … 45,000(仕様により省略可。未サポートの場合は GrandTotal に含める)

  • GrandTotalAmount … 155,000(= 対価税込 110,000 + 重量税 45,000)

  • DuePayableAmount … 144,790(= Grand 155,000 − Allowance 10,210)

Important

源泉は「返金」や「値引き」ではなく“支払時控除”。画面ラベルに「返金合計」を用いる場合は、「返金合計(源泉徴収)」など注記で誤解を避ける。

6. 実装チェックリスト

  • CI_Trade_Tax には VAT のみ(Type=VAT / Category=S 等)。

  • ❏ 源泉・重量税・印紙税など 非 VAT 税は Allowance/Charge に分離。

  • 源泉:ChargeIndicator=falseActualAmount=正値ReasonCode=26Category=O

  • 重量税:ChargeIndicator=trueActualAmount=正値Category=O

  • DuePayableAmount差引支払額と一致することを検証。

  • ❏ 表示は 「請求金額(税込)」と「差引支払額」を併記。

7. 付録:最小スニペット(源泉のみのケース)

<ram:ApplicableTradeTax>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:CategoryCode>S</ram:CategoryCode>
  <ram:RateApplicablePercent>10</ram:RateApplicablePercent>
  <ram:BasisAmount currencyID="JPY">100000</ram:BasisAmount>
  <ram:CalculatedAmount currencyID="JPY">10000</ram:CalculatedAmount>
</ram:ApplicableTradeTax>

<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
  <ram:ActualAmount currencyID="JPY">10210</ram:ActualAmount>
  <ram:ReasonCode>26</ram:ReasonCode>
  <ram:Reason>Withholding income tax (10.21%)</ram:Reason>
  <ram:CategoryTradeTax>
    <ram:TypeCode>VAT</ram:TypeCode>
    <ram:CategoryCode>O</ram:CategoryCode>
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>

<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:LineTotalAmount currencyID="JPY">100000</ram:LineTotalAmount>
  <ram:TaxTotalAmount currencyID="JPY">10000</ram:TaxTotalAmount>
  <ram:AllowanceTotalAmount currencyID="JPY">10210</ram:AllowanceTotalAmount>
  <ram:GrandTotalAmount currencyID="JPY">110000</ram:GrandTotalAmount>
  <ram:DuePayableAmount currencyID="JPY">99790</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>

1. 要点

UN/CEFACT CII の税要素 ApplicableCI_TradeTax(= CI_TradeTax) は、Tax Type(TypeCode)に UNCL 5153Tax Category(CategoryCode)に UNCL 5305 を用いるのが原則です。
インボイスに記載する税は 消費税(VAT)以外にも 給与の源泉徴収(SWT)自動車重量税印紙税関税物品税(Excise) など多様であるため、TypeCode と CategoryCode の双方が埋まっていない税行はインボイスでは使用できません(不足すると意味づけ・集計・相互運用が不能)。

Important
  • TypeCode … 税の種類。値域は UNCL 5153(例:VATSWTEXCCUDOTH など)。

  • CategoryCode … 税区分。値域は UNCL 5305(例:S=標準、Z=ゼロ、E=非課税、O=その他 等)。

  • RateApplicablePercent / CalculatedAmount / BasisAmount は税種に応じて設定(課税標準の取り方はプロファイル規約に従う)。

2. 代表例(スニペット)

以下は または ヘッダApplicableCI_TradeTax 設定例です。実装時はプロファイル定義(属性名・必須性・多重度・schemeID 等)に合わせてください。

2.1. 消費税(VAT・標準 10%)

<ApplicableCI_TradeTax>
  <TypeCode>VAT</TypeCode>                <!-- UNCL 5153 -->
  <CategoryCode>S</CategoryCode>          <!-- UNCL 5305: Standard -->
  <RateApplicablePercent>10</RateApplicablePercent>
  <BasisAmount currencyID="JPY">300000</BasisAmount>
  <CalculatedAmount currencyID="JPY">30000</CalculatedAmount>
</ApplicableCI_TradeTax>

2.2. 給与の源泉徴収(SWT:Shifted wage tax)

趣旨:請求金額の一部を賃金天引き税として税務署へ直接納付する性質の税。UNCL 5153 に SWT が定義済み。
区分:VAT ではないため、多くのプロファイルで O(Other) を用いる。

<ApplicableCI_TradeTax>
  <TypeCode>SWT</TypeCode>                <!-- UNCL 5153: Shifted wage tax -->
  <CategoryCode>O</CategoryCode>          <!-- UNCL 5305: Other(プロファイル規約に従う) -->
  <RateApplicablePercent>10.21</RateApplicablePercent>
  <BasisAmount currencyID="JPY">100000</BasisAmount>
  <CalculatedAmount currencyID="JPY">10210</CalculatedAmount>
</ApplicableCI_TradeTax>

2.3. 自動車重量税(非 VAT 税)

趣旨:国内の非 VAT 系の特定目的税。UNCL 5153 に直接的な専用コードが無い場合は、OTH を用い、schemeID で国内コード体系(例:VWT)を示します。

<ApplicableCI_TradeTax>
  <TypeCode>OTH</TypeCode>
  <CategoryCode>O</CategoryCode>
  <CalculatedAmount currencyID="JPY">8200</CalculatedAmount>
  <Description>Vehicle weight tax (Japan)</Description>
</ApplicableCI_TradeTax>

2.4. 印紙税(定額・非 VAT)

<ApplicableCI_TradeTax>
  <TypeCode>OTH</TypeCode>
  <CategoryCode>O</CategoryCode>
  <CalculatedAmount currencyID="JPY">200</CalculatedAmount>
  <Description>Stamp duty</Description>
</ApplicableCI_TradeTax>

3. 実装チェックリスト

  • TypeCode(UNCL 5153) を必ず指定(必要に応じ schemeID/agency/version を付与)。

  • CategoryCode(UNCL 5305) を必ず指定(S/Z/E/AE/O … をプロファイル許容値から選ぶ)。

  • Rate / Amount / Basis の関係が妥当(端数規則はプロファイル依存)。

  • VAT と非 VAT 税を混在させずに集計順序を定義(VAT の課税標準 → VAT 計算 → 非 VAT 税は並記)。

  • 鑑(繰越・入金・差引)表示であり、対価・税計算の基礎に含めない。

4. まとめ

  • CI_TradeTax は「Tax Type=UNCL 5153」×「Tax Category=UNCL 5305」両方が必須

  • SWT(給与の源泉)など 非 VAT 税も適切に型付けして並記する。

  • 直接コードの無い国内税は OTH + schemeID国別語彙を明示し、相互運用性を担保する。


投稿日

カテゴリー:

,

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です