Send Purchase Orders Using cXML
The following is a process workflow for purchase orders (POs) transmission using cXML.
The following is a process workflow for purchase orders (POs) transmission using cXML. Note that the first 4 steps are generic and the same for all PO transmission channels (email, SAN, etc.)
- The user logs into Coupa.
- The user adds (punchout, catalog, or non-catalog) items to a requisition.
- The user submits the requisition for approval.
- Once the requisition is approved, Coupa generates a PO.
- Coupa sends the supplier the PO using OrderRequest cXML.
- The supplier receives the cXML and sends an OrderResponse cXML to Coupa.
- The supplier processes the order, delivers it to the user, and bills the user.
For more info, see integrate.coupa.com.
When a cXML PO fails to transmit to the supplier, the Coupa system immediately sends an email with details to the buyer admin. Read the rejection description from the supplier carefully.
In R19 Coupa added in-product cXML error monitoring. Here is a list of cXML PO transmission failures.
The most common errors are the following:
- PO failed: 5xx or 4xx error response
- PO failed: There was an error connecting to the supplier. The problem is most likely in the PO transmission method for supplier.
- PO failed: No status element in setup response:
- PO failed: Setup request failed: 4xx Login name is not available
- PO failed: Connection to supplier failed: 400 Bad Request
- PO failed: Connection to supplier timed out
- PO failed: the connection request failed. undefined method `send_via_cxml!' for XX (connection timeout)
- PO failed: the connection request failed. undefined method `send_via_cxml!' for XX (no status returned)
- PO failed: No status element in setup response: ok