web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Supply chain | Supply Chain Management, Commerce
Suggested Answer

Preventing Credit Memo Issuance to Enforce Same-Tender Return Policy in Dynamics 365 Commerce POS

(0) ShareShare
ReportReport
Posted on by 2

Hi everyone,

I’m currently working on a customization in Microsoft Dynamics 365 Commerce (Store Commerce / POS) and I’m facing an issue related to return policy enforcement.

Business Requirement

We have a strict return policy:

If a customer pays using a specific payment method (e.g., card, e-wallet, BNPL, etc.), the refund must be processed using the same payment method.

So far, the standard return flow respects this policy.

The Problem

Some stores are bypassing this restriction by using a process similar to issuing a credit memo:

  1. The cashier processes a return.

  2. Instead of refunding directly to the original tender type, they issue a credit receipt (negative transaction).

  3. The customer then uses that receipt at another register/teller.

  4. The teller pays the customer in cash.

This effectively bypasses the same-tender return restriction and allows cash payout even when the original payment was made via card or other restricted methods.

What I Need

I want to:

  • Locate where the “credit memo” (or equivalent negative return receipt) logic is implemented.

  • Understand whether this is handled:

    • In POS (TypeScript extension layer)

    • In Commerce Runtime (CRT – C#)

    • Or via a specific operation/tender configuration

  • Customize or block this behavior when the original payment method is not eligible for cash payout.

Any guidance on where to start tracing this logic (operation IDs, request handlers, return workflows, tender validation) would be greatly appreciated.

Thank you in advance.

Categories:
I have the same question (0)
  • Suggested answer
    Syed Haris Shah Profile Picture
    1,088 Super User 2026 Season 1 on at
     
    Could you confirm whether the existing Channel Return Policy configuration is insufficient for your scenario?
    Out of the box, it can enforce that refunds for credit card transactions are processed back to the same tender type (credit card to credit card).
     
     
    If you find this answer helpful, please consider verifying the answer. 👍
     
    Regards,
    Syed Haris Shah
  • Khaled Abdo Profile Picture
    2 on at

    Here is a shorter and clearer version:


    Hello @Syed Haris Shah,

    I don’t want to disable the credit memo functionality entirely — I just need to restrict it conditionally.

    Here in the Middle East, we use BNPL providers like Tabby and Tamara. These providers do not allow customers to withdraw their balance as cash.

    The issue is that customers can:

    1. Pay using BNPL.

    2. Return the item and receive a credit-style receipt.

    3. Redeem that receipt for cash at another register.

    This bypasses the BNPL restriction.

    What I need is to enforce a same-tender return policy only for BNPL payments — meaning:

    • If the original payment was cash or card → credit memo is allowed.

    • If the original payment was BNPL → refund must go back to the same BNPL method and not be convertible to cash.

    Where would be the best place to enforce this logic (POS or CRT)?

  • Suggested answer
    Syed Haris Shah Profile Picture
    1,088 Super User 2026 Season 1 on at
     
    In your scenario, it looks like there may be an extension allowing credit memo redemption to be paid out in cash, which is not typically unrestricted out of the box.
    To answer your question: this logic should be enforced in CRT, not POS.
    Since a credit (negative) transaction can be recalled at another register, any financial or tender control must be implemented in Commerce Runtime. POS validation alone can be bypassed.
    You would need to extend ValidateTenderLineServiceRequest in CRT to:
    • Detect return transactions
    • Identify the original transaction
    • Validate the original payment method (e.g., BNPL)
    • Restrict the refund tender to match the original method
    This ensures consistent enforcement across all registers and channels.
     
    If you find this answer helpful, please consider verifying the answer. 👍
     
    Regards,
    Syed Haris Shah

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Stars!

Congratulations to our 2025 Community Spotlights

Thanks to all of our 2025 Community Spotlight stars!

Leaderboard > Supply chain | Supply Chain Management, Commerce

#1
Mallesh Deshapaga Profile Picture

Mallesh Deshapaga 1,093

#2
Laurens vd Tang Profile Picture

Laurens vd Tang 193 Super User 2026 Season 1

#3
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 159 Super User 2026 Season 1

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans