- June 26, 2023
- Posted by: Mustafa Chohan
- Category: Finance & accounting
In today’s fast-paced business environment, efficient purchase order processing is crucial for organizations to maintain smooth operations and optimize their procurement workflows. Dynamics 365 Finance and Operations provides a robust platform for managing purchase orders, and integrating cXML (commerce eXtensible Markup Language) can further enhance the efficiency and automation of this process. This blog post explores how cXML integration in Dynamics 365 Finance and Operations can streamline purchase order processing, providing insights and best practices for implementing this powerful tool.
What is cXML?
cXML, short for Commerce eXtensible Markup Language, is an XML-based protocol designed to facilitate the exchange of business documents between different applications. Its primary application lies in procurement punchout, where users can seamlessly transition from a procurement application to a supplier’s website. This integration allows users to browse catalogs, add items to their shopping carts with organization-specific pricing, and subsequently retrieve these selections for purchase requisitions and the issuance of purchase orders. Within the realm of cXML protocol, various types of business documents can be exchanged, including the delivery and issuing of purchase orders.
Since the initial release of AXE 7 in the cloud, punchout processing has been accessible within Dynamics 365 Finance and Operations. However, with the latest update (PU34), this capability has been expanded to include purchase orders as well.
At a broad level, here is an overview of how the purchase orders will be processed and transmitted using cXML.
Process of cXML Purchase Order Processing in Dynamics 365 Finance and Supply Chain
The Process of cXML Purchase Order Processing in Dynamics 365 Finance and Supply Chain
Please note that in this blog post, we will be examining the functionality in Test mode. This allows us to utilize a suitable web service that can receive the XML and provide appropriate responses. Test mode is beneficial during the initial configuration and implementation stages. You can share the XML with vendors for validation purposes to ensure that they can successfully import or validate the information on their end.
Here are the parameters that need to be configured to validate the functionality of the cXML feature in Test mode:
- Set the cXML test mode to “Test” in the cXML parameters. This setting ensures that when creating a purchase order request in the form, the XML will be generated but not sent to the vendor.
- Activate the “Send Purchase Order via cXML” option for vendors who need to be enabled for receiving purchase orders through cXML.
- Generate a default set of Order Properties and create an external catalog for the vendor(s).
- To process a purchase order without a purchase requisition, set the attribute below to TRUE in the order properties.
- For further information regarding the properties and their impact on the processing, please refer to the Microsoft articles available here.
Now, let’s delve into the process. While I will skip the Purchase Requisition aspect for now, I will discuss how it influences certain properties at a later stage.
To initiate the process, a new Purchase Order (PO) is generated, accompanied by a Procurement catalog and an External reference number. It is crucial to consistently provide the External reference number as it will serve as the item number transmitted to the vendor within the cXML message.
You will notice that the “Send Purchase Order via cXML” option is enabled at the header level of the Purchase Order.
This option is determined by two factors: first, the “Send Purchase Order via cXML” setting on the vendor level, and second, the “ENABLEMANUALPO” property set to TRUE in the External Catalog.
Since I am not creating a Purchase Order from a Purchase Requisition for testing purposes, these two configurations should be considered if you encounter any issues with cXML generation in test mode.
After confirming the Purchase Order, make sure that the Submit batch job is active. By doing so, you can observe the generation of the Request XML. Please be aware that if this were a real request sent to the supplier’s fulfillment system, an XML response would be issued.
Attributes/Properties within the cXML document
This approach allows you to securely submit Purchase orders to your supplier’s system. There are specific attributes/properties within the cXML document that require authentication based on the agreement established between your organization and the supplier. Here are some examples:
FROM_DOMAIN: Enter the value provided by your vendor, which is used for sending purchase order documents.
FROM_IDENTITY: Enter the value provided by your vendor, which is used for sending purchase order documents.
SENDER_DOMAIN: Enter the value provided by your vendor, which is used for sending purchase order documents.
SENDER_IDENTITY: Enter the value provided by your vendor, which is used for sending purchase order documents.
SHARED_SECRET: Enter the value provided by your vendor, which is used for sending purchase order documents.
TO_DOMAIN: Enter the value provided by your vendor, which is used for sending purchase order documents.
TO_IDENTITY: Enter the value provided by your vendor, which is used for sending purchase order documents.
These values ensure secure and authenticated communication between your organization and the supplier’s system when exchanging purchase order documents.