Version 2024.1
For details and updates associated with this version of the app, see the App Catalog Changelog.
Introduction
View Supplier Invoices Inbound forum page for more information on this app.
To use Orchestrate for Integrations, an Innovation Service Agreement opt-in is required and you will need to contact Workday for Limited General Availability access. Please see this post for more details.
Overview
The purpose of this orchestration is to demonstrate the following:
- Loading Supplier Invoice Data into Workday via Import Supplier Invoices web service
- Checking the result of an Import Web service.
This orchestration is used to load supplier invoices into Workday via the Import_Supplier_Invoice web service. The orchestration contains a test file that is based on the Coupa Supplier Invoice XML format. The orchestration performs some validations on the supplier invoice data, before transforming it to the Import_Supplier_Invoice format and posting it to Workday. The import process is an asynchronous process and can take some time when loading large amounts of data.
After the supplier invoice orchestration is complete, the second integration is triggered from the Business Process to check the result of the import job. It’s calling the Get_Import_Processes web service to check the import result. If any errors occurred, it calls the Get_Import_Process_Messages web service to get information on the errors. It creates an audit file with the import status of all supplier invoices.
Deploy Instructions
Create Copy
- Click the “Create Copy” button above.
- To modify Orchestration source code:
- Open the app in the Console.
- Click the INT_Supplier_Invoices_Inbound link under Orchestrations to open Orchestration Builder.
- After making any changes, Save to App Hub.
- If you are an Extend customer and would like to work out of a dev tenant:
- Deploy the app to your dev tenant.
- If you are not an Extend customer, or would prefer to work out of an implementation or sandbox tenant:
- Visit the App Overview, click on the Promotions tab and promote the app from Development to Implementation Release (for implementation tenants) or Sandbox Release (for sandbox tenants) and then install the app to the target tenant. If you have an implementation tenant available we highly recommend you install to the implementation tenant first and test there before moving to sandbox.
Configuration Instructions
Configure Tenant Manually
You need to create 2 integration systems. The first integration loads supplier invoices via the Import_Supplier_Invoice web service. The second integration checks the result of the import status and creates and audit files with the results.
Create First Integration System to Import Supplier Invoices
- In your tenant, search for the
Create Integration Systemtask. - Fill in the form as outlined below:
- *System Name:**
{Your Integration's ID and name - this does not have to be the same as the app or Orchestration name} - *New using Template:**
Orchestrate Integration Template - Click OK
- Add Integration Attributes
- Click the Related Actions icon next to the Integration System name in the header
- From the menu, select Integration System > Maintain Integration Attributes
- Add the first attribute:
- *Name:**
debugMode - *Attribute Type:**
Data Type(radio button) - *Data Type:**
Boolean - *Option(s):**
Required for Launch - Add Integration Maps
- Click the Related Actions icon next to the Integration System name in the header
- From the related actions, select Integration System > Maintain Integration Maps
- Add the first Integration Map:
- *Name:**
PaymentTerms - *Integration Map Type:**
Data Type(radio button) - *Data Type:**
Payment Terms
- *Name:**
- Configure the Integration Map
- From the related actions, select Integration System > Configure Integration Maps
- Add the default value of “NET_30” to the PaymentTerms map.
- Click OK
Create Second Integration System to Check Import Status
- In your tenant, search for the
Create Integration Systemtask to create the integration system that checks the import results - Fill in the form as outlined below:
- *System Name:**
{Your Integration's ID and name - this does not have to be the same as the app or Orchestration name} - *New using Template:**
Orchestrate Integration Template - Click OK
- Add Integration Attributes
- Click the Related Actions icon next to the Integration System name in the header
- From the menu, select Integration System > Maintain Integration Attributes
- Add the first attribute:
- *Name:**
debugMode - *Attribute Type:**
Data Type(radio button) - *Data Type:**
Boolean - *Option(s):**
Required for Launch - *Name:**
documentTags - *Attribute Type:**
Data Type(radio button) - *Data Type:**
Document Tags(Delivered Workday ID: eef1d7fe8ea9408e85a43ce755c69ef2) - *Option(s):**
Required for Launch
- *Name:**
- *System Name:**
Configure Tenant Security
-
In your tenant, search for the
Create Integration System Usertask.- Use this task to create an ISU.
-
Search for the
Create Security Grouptask.- Fill in the form as outlined below:
-
*Type of Tenanted Security Group:**
Integration System Security Group (Unconstrained) -
*Name:**
{Your Integration System Security Group name - align to your naming standards}- Add the ISU from the previous step to the group members.
- Give the security group VIEW permissions to the following Domain Policies:
View: Supplier
- Give the security group MODIFY permissions to the following Domain Policies:
Workday Query Language
- Give the security group Get and Put permissions to the following Domain Policies:
Process: Supplier InvoiceIntegration Event
- Add the security group to the following Actions of the
Supplier Invoice EventBusiness Process Policy- Initiating Action:
Initiate (Import Supplier Invoice (WS Background Process)
- Initiating Action:
-
Repeat the above steps to create an ISU for the second integration system. The only permissions required for the ISU to check the import result is access to the `Integration Event’ Domain Policy.
-
Search for the
Activate Pending Security Policy Changestask.- Review the domain and BP policy changes
- Confirm and activate
Configure 1st Integration System
- In your tenant, search for the supplier invoice Integration System created above.
- Assign a Workday Account
- Click the Related Actions icon next to the Integration System name in the header
- From the menu, select Workday Account > Edit
- Select the ISU created above.
- Click OK
- Configure Integration Attributes
- Click the Related Actions icon next to the Integration System name in the header
- From the menu, select Integration System > Configure Integration Attributes
- Set configuration:
- *Attribute:**
Orchestration Name - *Value:**
INT_Supplier_Invoices_Orch_Inbound
- *Attribute:**
- Set configuration:
- *Attribute:**
Application Reference ID - *Value:** use the name of the app from the developer site
- *Attribute:**
- Set configuration:
- *Attribute:**
debugMode- *Value:**
No - *Attribute:**
XvalidateMode - *Value:**
No
- *Value:**
- *Attribute:**
Note: The debugMode attribute enables the the Import Supplier Invoice web service request and response as well as the check invoice status WQL response to be stored to the integration event. This can be helpful for troubleshooting, but may affect performance. debugMode should only be enabled during testing/troubleshooting as needed and disabled in production to increase performance. XvalidateMode: Validate only mode enables you to test and validate a SOAP request without actually updating Workday
Configure 2nd Integration System
- In your tenant, search for the import results Integration System created above.
- Assign a Workday Account
- Click the Related Actions icon next to the Integration System name in the header
- From the menu, select Workday Account > Edit
- Select the ISU created above.
- Click OK
- Configure Integration Attributes
- Click the Related Actions icon next to the Integration System name in the header
- From the menu, select Integration System > Configure Integration Attributes
- Set configuration:
- *Attribute:**
Orchestration Name - *Value:**
INT_Check_Import_Result_Orch
- *Attribute:**
- Set configuration:
- *Attribute:**
Application Reference ID - *Value:** use the name of the app from the developer site
- *Attribute:**
- Set configuration:
- *Attribute:**
documentTags - *Value:**
importMessages
- *Attribute:**
Create an Integration Business Process
- Click the Related Actions icon next to the supplier invoice Integration System name in the header
- From the menu, select Business Process > Create, Copy or Link Definition
- Configure the Integration Business Process
- Select the
Business Process Definitionstab on the View Integration System screen. - From the related actions of the Business Process Definition, choose Business Process > Edit Definition.
- Click the plus button in the left margin to add another step with the following values:
- *Order:**
c - *Type:**
Integration
- *Order:**
- Select the
- Click OK
- Click the
Configure Integration Stepbutton and select the import result integration that you created
Usage Instructions
The sample file contains 2 supplier invoices with references to data available in a GMS tenant. The first invoice should load successfully, the second invoice will throw an error related to an invalid Spend_Category_ID. Below is the output of the audit file called ImportResults.csv
| Timestamp | Severity | Message | Details |
|---|---|---|---|
| 2024-03-25T11:43:56.039-07:00 | Info | Invoice 1130 successfully created/updated | Completed |
| 2024-03-25T11:43:50.745-07:00 | Error | Invoice INVOICE5541Error failed to process | Invalid ID value. ‘HARDWARE_COMPUTERS_Error ’ is not a valid ID value for type = ‘Spend_Category_ID’ |