税金サマリーWebhookと計算リクエストがショップ通貨と表示通貨の情報を含むようになりました

ShopifyのAPIバージョン2026-01から、tax_summaries/create webhookと税金計算リクエストには通貨に関する追加フィールドが含まれます。これらのフィールドは、ショップ通貨と表示通貨の両方で金額を提供します。これにより、税金パートナーは顧客に向けた通貨表示を維持しながら、商人の会計通貨での計算とレポートを行うことが可能になります。

技術的課題の定義と現状分析

多通貨対応のECサイトでは、顧客向けの表示通貨と、商人の会計通貨が異なる場合があります。従来、Shopifyの税金計算リクエストとWebhookは単一通貨のみをサポートしていました。このため、税金計算とレポート作成の際に通貨の変換作業が必要であり、作業の複雑性とエラーの可能性が増加していました。

具体的な技術的ソリューションの提案

この問題を解決するため、Shopify APIの新バージョンでは、税金サマリーWebhookと税金計算リクエストにショップ通貨と表示通貨の情報を含む新しいフィールドが追加されました。具体的には、「Sale Records」(agreements[].sales[])と「Cart Line Costs」(delivery_groups[].cart_lines[].cost)の位置に新しい通貨固有フィールドが追加されました。

これらのフィールドは、既存の単一通貨金額フィールドを補完する形で提供され、ショップが多通貨を有効にしている場合に利用可能となります。

実装手順とコード例

新しいMoneyBagフィールドには、2つのMoneyV2オブジェクトが含まれます。以下にその構造の例を示します。

以前のバージョン(2025-10以前):

{
    "amount_before_taxes_after_discounts": {
        "currency_code": "CAD",
        "amount": "135.00"
    }
}

新バージョン(2026-01以降):

{
    "amount_before_taxes_after_discounts": {
        "currency_code": "CAD",
        "amount": "135.00"
    },
    "amount_before_taxes_after_discounts_currencies": {
        "shop_currency": {
            "currency_code": "USD",
            "amount": "100.00"
        },
        "presentment_currency": {
            "currency_code": "CAD",
            "amount": "135.00"
        }
    }
}

パフォーマンス・コスト分析

この変更により、通貨変換作業が不要になり、開発者はより簡単に税金計算とレポート作成を行うことができます。これにより開発者の作業時間が削減され、エラーの可能性も減少します。

実装時の注意点・ベストプラクティス

新しいフィールドはAPIバージョン2026-01以降で利用可能であり、既存の単一通貨金額フィールドとともに使用することで、より柔軟な通貨対応を実現できます。また、ショップが多通貨を有効にしている場合にのみ利用可能な点に注意が必要です。

次のステップ・発展案

今後の開発では、この新機能を活用して税金計算やレポート作成の自動化を進め、さらなる効率化を図ることが可能です。

参考記事: Tax summary webhook and calculation requests now includes shop and presentment currency amount