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

Community site session details

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

Punchout cXML and extrinsic values

(5) ShareShare
ReportReport
Posted on by 152
I am a business with multiple locations. Each location orders products individually but they all share the same vendor(s). When the user at each location visits the vendors shopping platform to order goods they can only see items allowed for their respective location (ie. customized catalog for each location).
 
I am being asked to send an extrinsic value along with my cXML request when punching out to uniquely identify which location is doing the ordering.

How do I send a unique username and location code as an extrinsic value in the request if we only have one instance of D365?
How do I make the extrinsic value dynamic in the request based on the user/location that's punching out?
 


 
I have the same question (0)
  • Guy Terry Profile Picture
    28,866 Moderator on at
    Punchout cXML and extrinsic values
    You could ask your Vendor to provide different PunchOut credentials for each of your locations.
     
    In F&O, you could configure an External catalog for each location.
  • HNd365FO Profile Picture
    152 on at
    Punchout cXML and extrinsic values
    Thanks for your response, Guy.

    Could you expand on this multiple external catalogs suggestion? I am not sure what you mean and how it could be implemented.
     
    I truly appreciate the help.
  • Guy Terry Profile Picture
    28,866 Moderator on at
    Punchout cXML and extrinsic values
    This is the list of extrinsics that F&O supports. If you can't use one of these I think you'd need to be doing a development.
     
     
    Have you considered asking the Vendor if they can do a different PunchOut website for each of your locations, and configuring multiple External catalogs?
  • HNd365FO Profile Picture
    152 on at
    Punchout cXML and extrinsic values
    bumping this up again. I am still trying to figure this out.

    Has anyone actually done this?
  • Guy Terry Profile Picture
    28,866 Moderator on at
    Punchout cXML and extrinsic values
    Username is a supported extrinsic, but unless each of your locations are different Legal entities in F&O, there is no 'location' extrinsic.
     
    Perhaps you could provide the vendor with a list of users and their default location, and the vendor could build appropriate logic on their end.
  • Jonas "Jones" Melgaard Profile Picture
    4,855 Super User 2025 Season 2 on at
    Punchout cXML and extrinsic values
    You have the ability to send the WHS UserName, but I wonder if it's enough for you?
    It's documented here: https://learn.microsoft.com/en-us/dynamics365/supply-chain/procurement/purchasing-cxml-enhancements
     
    I'd say that it's worth investigating if a customization can solve this.
  • Suggested answer
    Holly Huffman Profile Picture
    6,520 Super User 2025 Season 2 on at
    Punchout cXML and extrinsic values
     
    Good morning, afternoon, or evening depending on your location!
     
    You can dynamically send extrinsic values (such as username and location code) in your cXML PunchOut request by configuring external catalog settings in Dynamics 365 Supply Chain Management.
     
    How to Send a Unique Username & Location Code in cXML
     
    1. Use cXML Parameters in External Catalog Setup
      • Go to Procurement and Sourcing > Setup > cXML Management > cXML Parameters.
      • Configure extrinsic values to include user-specific and location-specific identifiers.
    2. Modify the PunchOut Request Format
      • In Procurement and Sourcing > External Catalogs, define Order Properties to include dynamic extrinsic values.
      • Ensure the cXML request template includes placeholders for username and location.
    3. Make Extrinsic Values Dynamic Based on User/Location
      • Use user attributes in D365 to dynamically populate extrinsic values.
      • Configure security roles or user profiles to store location codes.
      • Implement Power Automate or X++ logic to inject the correct values into the cXML request.
    4. Validate the Request Setup
      • Test the configuration using the Validate Settings action in the external catalog setup.
      • Ensure the vendor receives the correct extrinsic values in the PunchOut request.
     
    Please note: I teamed up with CoPilot AI to research and craft the best response to your question!
    Hope this helps some!

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

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Andrés Arias – Community Spotlight

We are honored to recognize Andrés Arias as our Community Spotlight honoree for…

Leaderboard > Supply chain | Supply Chain Management, Commerce

#1
CA Neeraj Kumar Profile Picture

CA Neeraj Kumar 289

#2
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 199 Super User 2025 Season 2

#3
Yng Lih Profile Picture

Yng Lih 142

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans