バイヤーの通貨で見積を出す
読了時間: 4 分。 対象: 複数のShopify Marketsへ販売し、バイヤーの現地通貨で見積を出すマーチャント。
QuotWayは見積を受け取った時点で為替レートを固定します。見積が進行中である間、バイヤーが承認するまでに為替がどう動いても、価格は安定して見えます。社内の分析は基準通貨で比較可能なまま保たれます。
基本の流れ
- バイヤーが自分の市場でストアフロントを閲覧します(たとえばフランス、EUR)。
- バイヤーが商品で見積を依頼します。 QuotWayはShopifyの
ProductVariant.contextualPricing(context: { country })に問い合わせ、EURで価格が付いたバリエーションを取得します。 - 見積の受け取りで次を記録します。
Quote.currency = "EUR"(表示の通貨)。Quote.exchangeRateSnapshot = 0.91(受け取りの時点でShopifyから記録した、USDあたりのEURのレート)。Shop.baseCurrency = "USD"(ストアの基準通貨)。
- 管理画面の提案の編集画面では、あなた(マーチャント)にEURの価格が表示されます。分析のダッシュボードは、記録したレートを使ってUSDで集計します。
- バイヤーが承認します。 承認された価格はEURです。Shopifyの下書き注文は記録したレートで変換されます。
あなた(マーチャント)に見えるもの
受信箱のすべての見積に、二つの通貨が並んで表示されます。
EUR 1,000.00 (≈ USD 1,088.42)
表示の通貨の金額が真実の源です。USDでの相当額は参考であり、見積の受け取りの時点で保存した記録を使うため、その時々の為替とともに動くことはありません。
見積が基準通貨(ここではUSD)である場合、二重の表示は USD 1,000.00 だけに収まります。
レートはどこから来ますか
QuotWayはレートを、第三者の為替の提供元ではなくShopify自身から読み取ります。具体的には、Storefront APIの ProductVariant.contextualPricing のGraphQLの問い合わせが、ある国のバイヤーに対する表示通貨での価格を返します。QuotWayは同じ商品について (表示通貨の価格 / 基準通貨の価格) としてレートを導きます。
これが重要な理由はこちらです。
- 見積で使うレートが、Shopifyの購入手続きが使うレートと一致します。
- 見積の価格と、最終的な下書き注文やShopifyの注文の価格との間にずれが生じません。
- 第三者の為替の配信に費用を払う必要がありません。
contextualPricingの問い合わせが失敗した場合(通信の不調、Shopifyの障害、対応していない国)、QuotWayは exchangeRateSnapshot = null を設定し、その見積を基準通貨のものとして扱います。誤った確信を与えるレートは記録されません。マーチャントには「通貨の換算が利用できません - USDで見積もります」という帯が表示されます。
基準通貨での分析
ダッシュボードの主要指標(開いているパイプライン、今月の承認額、成約率)は基準通貨で集計されます。処理の流れはこうです。
- 各見積について、
Quote.baseCurrencyTotal(受け取りの時点または版の更新の時点で、記録を使って計算されたもの)を優先します。 - 記録がない場合(同じ通貨の見積)は、
Quote.totalEstimateに戻ります。
これにより、EUR、GBP、CADの見積を、USDを基準にした一つの数字にまとめられます。
バイヤーに見えるもの
ストアフロントの入力欄では、すべての価格がバイヤーの表示通貨で表示されます。提案、ポータル、PDFでも同じです。マーチャントがメッセージの欄に明示的に入力しない限り、バイヤーがUSDでの相当額を見ることはありません。
承認された見積については、Shopifyの下書き注文が表示通貨で作成されます。Shopifyの購入手続きは、同じ通貨で入金を受けます。
制限と今後の項目
- 受け取りの時点で固定されます。 レートは交渉のラウンドごとには更新されません。ラウンドの間にレートが大きく動くと、マーチャントに古い相当額が見えることがあります。見積の合計(表示通貨)は影響を受けません。
- 為替のヘッジの道具はありません。 QuotWayに「このレートを30日固定する」といった方針を設定することはできません。レートは、受け取りの時点でShopifyが示したものです。
- 見積の全体で同じ通貨です。 明細ごとに異なる通貨を持つことはできません。すべてEUR、すべてUSD、すべてGBPのいずれかです。
今後の段階では、ラウンドごとのレートの再取得、通貨をまたぐ集計のための実体化した集約の表示、そしてマーチャントが設定できるレートの古さの警告が加わる可能性があります。
通貨が設定されていない市場
バイヤーが、表示通貨の定義されていない市場でストアフロントに到達した場合(たとえばShopify Marketsの設定に米国とEUしかない場合)、ストアフロントは基準通貨を既定にします。見積の受け取りでは exchangeRateSnapshot = null が記録され、二重の通貨の表示は単一の通貨に収まります。
よくある落とし穴
- 「通貨の換算が利用できません」の帯が表示される。 受け取りの時点のcontextualPricingの問い合わせがエラーを返したことを意味します。Marketsの設定を確認し、そのバリエーションにバイヤーの通貨での表示価格があるか確かめてください。
- 受信箱の合計が小さく見える。 通貨によって桁が異なります。JPYの¥150,000はおよそUSD $1,000です。受信箱を
totalEstimateで並べ替えると、桁の異なるものが混ざって見えます。同じ基準で並べるには、代わりにbaseCurrencyTotalで並べ替えてください。 - 提案に書かれていた価格と違うとバイヤーが言う。 記録が取得されていたか(quote.exchangeRateSnapshot)を確認してください。それが null なら、提案は受け取りの時点とは異なる、閲覧の時点のレートを使った可能性があります。見積を作り直してください。
関連記事
- 一部承認と分割変換
- 複数通貨が分割変換とどう関わるかです。
- プラン、トライアル、料金 - マーチャントの契約側の通貨です(Shopifyが管理し、USDです)。
解決しませんか?サポートチームがお手伝いします。