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


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

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

取引のポイント再計算

カテゴリ: POS

非会員で取引を登録し、後から会員を割り当ててポイントを再計算し付与する方法は無いでしょうか。


やりたい事としては、購入時に会員カードを新規作成希望されたお客様に対して

初回購入時はまだ会員カードが無いため、一旦非会員にて会計を行い

会員カード情報をお客様から頂いて、会員登録した後、初回購入の取引を

作成したお客様の会員を割り当てることで、初回購入分もポイント対象とする運用がしたいと思っています。


後から会員の割り当ては、「取引履歴の編集」にて行えるかと思いますが

ポイントの再計算される「取引履歴詳細の編集」が行えるのは、条件があり

すべての取引について行えるものではないため、他にポイントの再計算を行う方法は無いでしょうか。

答え

  • @福島

    おっしゃる通り、取引履歴の編集では会員の紐づけは可能ですがポイントの再計算はされません。


    したがって、プラットフォームアプリを利用しない場合は、付与されるポイントを手動で計算いただいたうえで、

    管理画面の「会員 > 会員一覧」にて該当会員のポイントを書き換えたり、

    スマレジ・アプリで「ポイント加算」の処理を入れていただく運用になります。

    ポイントを付与する

    https://help.smaregi.jp/hc/ja/articles/360001819968


    取引履歴詳細の編集では、会員情報の紐づけとポイントの再計算の処理が行われます。

    管理画面から操作できない取引でもアプリからは編集が可能です。

    スマレジ・アプリで取引内容を編集する

    https://help.smaregi.jp/hc/ja/articles/360036961094-

    ※店舗に設置されたスマレジ・アプリにて、常に取引編集機能を有効にすることは不正にもつながります。

     操作後オフにするか、管理者しか操作できない端末などで利用ください。


    プラットフォームAPIを利用いただく場合、「取引会員更新」にて該当の取引に対して会員情報の紐づけと、ポイントの付与が可能です。

    お申し出の状況の場合 pointUpdateDivision を2で指定すると、現在のポイント付与設定にてポイントの再計算が可能です。

    詳しくは仕様書をご覧ください。

    https://www1.smaregi.dev/apidoc/#operation/updateTransactionForCustomer


    それ以外の運用方法としては、スマレジ管理画面上にダミー会員を事前に登録しておき、

    ダミー会員にて初回のお会計を行うという方法もあります。

    ダミー会員でお会計後、会員のお名前などの情報を後から修正することで、

    会員のポイントは計算、付与された状態になります。

    こちらの方法もご検討いただければ幸いです。

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

    ご教示いただいた「取引会員更新」を使って取引のポイント更新を検討しています。


    具体的には、会員の割り当てを行った取引について更新のWebhookが来た際に

    対象の取引データの内容によって、「取引会員更新」を実行するかを判定したいと思います。

    主な判定条件として、「取引の付与ポイントが0ポイント」かつ「ポイント対象の金額が0円ではない」場合に

    「取引会員更新」を使用して取引のポイントを再計算を行います。


    その際に取引のポイント対象の合計金額を知りたいのですが

    これは、detailsの取引明細をなめて、ポイント対象になっている明細の金額を算出するしかないでしょうか。

  • @福島

    恐れ入りますがポイント対象の明細金額が記載された箇所はございません。


    したがって、設定しているポイント付与計算のルールに基づきdetailsの取引明細から計算する必要があります。

    【参考】ポイント付与計算

    https://help.smaregi.jp/hc/ja/articles/1500002360261


    具体的には商品ごとにまず、pointNotApplicable(0:ポイント対象、1:ポイント対象外)で分け、

    値引後計(unitDiscountedSum)から、ポイント利用額や税額などを足し引きして、

    ポイント対象額を算出するような流れとなります。

    計算式は異なりますが、どの項目を対象にすべきかなどは、こちらも参考にされるとよいと思います。

    https://community.smaregi.dev/discussion/comment/309

  • 承知いたしました。

    ご教示いただいた内容を参考に、detailsの中のポイント対象の明細を計算して

    ポイント対象金額を求めたいと思います。


    1点、detailsでくるデータで「商品区分」の「6:簡易セット(親)」はどのような商品でしょうか。

    バンドル販売は「4:バンドル(親)」、「5:セット売(親)」のいずれかで来るかと思いますが

    それ以外でセット販売する方法があるのでしょうか。


    また、「A:プラン(子)」、「B:コース(子))」は親がありませんが

    これは「5:セット売(親)」が親データで来るのでしょうか。


    よろしくお願いいたします。

  • @福島

    簡易セット(親)はレジ端末上でバンドル販売を作成した場合にセットされます。

    以下のヘルプサイトの「直接バンドル販売を行う方法」がそれに該当いたします。

    複数商品をセットで販売する(バンドル販売)

    https://help.smaregi.jp/hc/ja/articles/202518503


    「A:プラン(子)」、「B:コース(子))」は、ウェイター機能を利用されている場合にのみ利用されます。

    コースやプランの場合、商品区分に親という項目はなく、例えば以下のようになります。

    例)「ランチコース」というコースで、パスタかハンバーグを選べる場合

      ランチコース …商品区分:0

       (セクション①)

        ‐パスタ …商品区分:B

        ‐ハンバーグ …商品区分:B


    また、プランに関しては「A:プラン(子)」の中で追加料金はかからないですが、

    コースの場合「B:コース(子))」の中の選択肢次第で追加料金が発生することがあります。


    詳しくはこちらをご確認ください。

    プランの登録を行なう

    https://help-waiter.smaregi.jp/hc/ja/articles/360053440933

    コース料理の登録を行う

    https://help-waiter.smaregi.jp/hc/ja/articles/228356168

  • 承知いたしました。

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


    先日、ご案内いただきました「取引会員更新」についてですが更新されるポイントが

    iPadのスマレジアプリで計算した場合と、「取引会員更新」APIにて行った場合で差異があるようです。


    例:

     ポイント付与設定→ポイント含む、税含む、100円で1ポイント付与

     スマレジアプリ→990円(税込)税10% → 9ポイント付与

     「取引会員更新」API → 990円(税込)税10% → 10ポイント付与

    と差異が出てしまいます。ただし

     スマレジアプリ→916円(税込)税10% → 9ポイント付与

     「取引会員更新」API → 916円(税込)税10% → 9ポイント付与

    と一致するパターンもあります。おそらく、APIの場合、税込金額にさらに税額が足された金額が

    ポイント対象金額になってしまっているのではと思われますが、ご確認頂きたくよろしくお願いいたします。

  • @福島

    お申し出の内容で弊社でも再現しました。

    恐れ入りますが開発部署で確認させていただくのでお待ちくださいますようお願いいたします。

  • @福島

    ご不便をおかけして申し訳ございません。


    店舗のポイント条件の付与ポイント計算が「税額を含める」にして、

    税込み商品を販売したのちに、"pointUpdateDivision": "2"で更新を行うと

    税込商品の税額分がさらに加算された金額をもとに計算されたポイントが付与されておりました。


    本不具合に関しては、11月中旬に修正予定となります。

    修正が完了しましたら、またご連絡させていただきます。

  • 承知いたしました。

    よろしくお願いいたします。

  • @福島

    こちらの不具合について、先日11/17のアップデートで修正されております。

    ご確認をよろしくお願いいたします。

  • 修正確認いたしました。

    ご対応ありがとうございました。