スマレジ・デベロッパーズ・コミュニティはアーカイブされました。


これまでに投稿いただいた内容は引き続きご覧いただけます。

今後のお問い合わせはこちら

取引一覧取得/取引取得APIでの「単価値引き小計」の集計方法について

取引一覧取得/取引取得APIで取得できる「 unitDiscountsubtotal (単価値引き小計)」について、確認をさせてください。


APIリファレンスには『単価値引き小計:取引明細の、マイナス値の単価値引きの合計。』とありますが、負数だけカウントすればよいということでしょうか。


また、details(取引詳細)には「単品値引」という項目はありますが、「単価値引」がありません。

これらは同一のものと言う解釈になりますでしょうか。


もし通常の取引と取消取引とで異なる場合や、その他アプリの実装時に注意すべき点がありましたら、併せてお知らせいただけるとありがたいです。

ベストアンサー

  • December 2021 編集されました 回答済み✓

    【※12/29に計算式への補足を追記しました】


    @エーエヌラボ

    2つ目の質問について、メールにてお問い合わせありがとうございます。

    確認してご返信いたします。


    こちらでは1つ目のご質問について回答いたします。


    APIリファレンスには『単価値引き小計:取引明細の、マイナス値の単価値引きの合計。』とありますが、負数だけカウントすればよいということでしょうか。

    また、details(取引詳細)には「単品値引」という項目はありますが、「単価値引」がありません。

    これらは同一のものと言う解釈になりますでしょうか。

    申し訳ございません。

    正しくは単価値引き小計は「取引明細の単品値引の合計」となります。

    「単品値引(unitDiscountPrice)」項目を負数のみでなくすべてカウントしてご確認お願いします。


    念のため当方の理解として、API使用時は

    「単品値引」*「数量」(=「単価値引き計」)

    unitDiscountPrice * quantity (= unitDiscountSum )

    を集計することで、「 unitDiscountsubtotal (単価値引き小計)」と同じ値が求められます。

    「単価値引き計 unitDiscountSum」と「単価値引き小計 unitDiscountsubtotal」は下記より算出可能です。


    • 単価値引き計 unitDiscountSum = 単品値引 unitDiscountPrice * 数量 quantity
    • 単価値引き小計 unitDiscountsubtotal = details の ( 単価値引き計 unitDiscountSum + 商品バンドル値引按分 productBundleProportional ) を足し合わせた値
      • 足し合わせる際に 取引明細区分 transactionDetailDivision 「2:返品」の場合は符号を反転させる
      • 足し合わせる際に 商品区分 productDivision「4 ~ 6 ・8」となっている明細は取り除く


    仕様書に 商品バンドル値引按分 productBundleProportional も影響がある旨の記載がなく申し訳ございません。


    上記計算式にてご確認お願いします。

  • 本お問い合わせにて判明した不具合の修正が完了しましたのでご報告いたします。

    詳細は下記をご確認ください。

    【1つ目】

    スマレジ・プラットフォームAPI POS仕様書 unitDiscountsubtotal(単価値引き小計) の説明を修正しました。

    修正前 単価値引き小計:取引明細の、マイナス値の単価値引きの合計。

    修正後 単品値引き小計:取引明細の単品値引き計の合計と商品バンドル値引按分の合計を合算した値。


    【2つ目】

    取引履歴CSVの「単価値引き小計」と取引取得APIの「単価値引き小計 unitDiscountsubtotal」が

    同じ項目名にもかかわらず、計算式が異なっておりました。


    <従来>

    それぞれの計算式は以下でございました。

    取引履歴CSV ( ( 単価値引き計 + 商品バンドル値引按分 ) * (返品なら-1、通常なら1) + 社員値引き按分 + セール値引き按分 ) の合計値

    取引取得API  ( 単価値引き計 unitDiscountSum + 商品バンドル値引按分 productBundleProportional ) * (返品なら-1、通常なら1) の合計値


    <修正内容>

    ①APIの項目名を「単価値引き小計」から「単品値引き小計」に修正いたしました。

    ※その他修正項目

    unitDiscountSum 単価値引き計 → 単品値引き計

    unitNonDiscountsubtotal 単価値引き前小計 → 単品値引き前小計

    上記項目名の修正に伴い、仕様書の説明も修正しております。

    ②取引履歴のCSVダウンロード項目に「単品値引き小計」と「商品バンドル値引按分」を追加しました。


    以前がご利用のお客様を考慮し、取引履歴CSVの「単価値引き小計」はそのままに、

    取引取得APIの「単価値引き小計 unitDiscountsubtotal」を「単品値引き小計 unitDiscountsubtotal」と修正し、

    こちらと同じ項目を取引履歴CSVの項目にも追加したという対応になります。


    以上となります。

    この度はご迷惑をおかけし申し訳ございませんでした。

    どうぞよろしくお願いいたします。

答え

  • December 2021 編集されました

    念のため当方の理解として、API使用時は

    「単品値引」*「数量」(=「単価値引き計」)

    unitDiscountPrice * quantity (= unitDiscountSum )

    を集計することで、「 unitDiscountsubtotal (単価値引き小計)」と同じ値が求められます。


    しかし、スマレジ管理画面の取引履歴からCSVダウンロードをした場合、「 単価値引き小計」の数字が合いません。

    数字だけで判断すると「セール値引き按分」の分が加算されているように見受けられますが、因果関係はこちらでは不明です。

    こちらについてもご確認をお願いいたします。

  • @エーエヌラボ

    本件確認中です。お待ちください。


    尚、実際のデータを用いての確認を希望される場合は、弊社サポート宛にお問い合わせお願いします。

    お問い合わせ先はスマレジ管理画面右上「?(サポート情報)」よりご確認いただけます。

  • ご連絡ありがとうございます。

    自己レスの後半部分については、サポートさま宛に別途メールでご連絡をいたしました。

    御社での調査が重複するとそれはそれでマズいので、こちらのディスカッションでは1つめの投稿に関してご確認を頂ければと思います。

  • ご回答ありがとうございます。

    助かりました!!😉