# Coupa

Coupa (opens new window) is a business spend management platform. It supports procurement, invoicing, expense, and payment functions for enterprises. Coupa enables users to create and approve procurement processes such as requisitions and invoices. It also has an integrated expense module that allows users to submit expense reports and have them approved directly on Coupa. Traditionally, this information is then synced with ERP systems such as NetSuite, Oracle EBS or SAP for other business functions such as accounting or making payments.

Workato's integration with Coupa helps you to sync this data with any of these ERP systems to support your Procure To Pay, Procure To Order and Expense Management processes. Read on to find out how to set up your connection on Workato to your Coupa instance and how you can leverage on Workato to increase the business value you gain from Coupa through integrations with your other business applications.

# How to connect to Coupa on Workato

Coupa uses authentication based off API keys. API keys are keys you generate to let Coupa know this Workato connection is allowed to work with your information. Generate your API key in your Coupa instance by heading to https://[your-instance-name].coupacloud.com/api_keys or logging into your Coupa account.

API keys can be found under the Setup => Integrations => API Keys in the top navigation header in your Coupa instance.

Configure Coupa connection view

The connection configuration page for Coupa on Workato

Field Description
Connection name Give this Coupa connection a unique name that identifies which API key it is connected to.
Host Enter the Coupa URL for your instance.
API key Enter your API key which you have generated in your Coupa instance.

# Working with the Coupa connector

# Objects

In Workato, we grouped Coupa data into objects in our actions and triggers. Objects refer to almost anything Workato currently supports in our Coupa actions or triggers. When selecting an action such as Create Object, you'll be prompted later on to clarify whether you want to create a purchase order or an invoice. We currently support the following objects in Coupa.

Object Description
Account Trigger off, query, create, or update accounts that match your financial structure.
Address Trigger off, query, create, or update personal or supplier remit-to address information.
Approvals Trigger off or query approvals for requisitions or purchase orders
Contract Trigger off, query, create, or update a contract.
Department Trigger off, query, create, or update department information. Departments are used to mimic your company's operating structure and to organize groups and users accordingly.
Exchange rate Trigger off, query, create, or update exchange rates.
Expense line Query or create expense report lines used for expense management.
Expense report Trigger off, query, create, or update expense reports used for expense management.
Integration Query or create integrations in Coupa.
Integration error Query or create integrations errors in Coupa.
Integration run Query or create integrations runs in Coupa.
Integration history record Query or create integrations history records in Coupa.
Invoice Trigger off, query, create, or update invoices in Coupa.
Inventory Transaction Trigger off, query, or create inventory transactions. Receipts of goods are the same as inventory transactions in Coupa.
Item Trigger off, query, create, or update items not provided by suppliers. If you are looking to work with items provided by suppliers, use the supplier item object.
Lookup value Trigger off, query, create, or update lookup values in Coupa.
Purchase order Trigger off, query, create, or update purchase order in Coupa.
Purchase order line Trigger off, query, or create purchase order lines in Coupa.
Remit to address Trigger off, query, create, or update supplier remit-to addresses. This address is used to send payment to suppliers.
Requisition Trigger off or query requisitions in Coupa.
Supplier Trigger off, query, create, or update suppliers.
Supplier information Trigger off, query, create, or update supplier information.
Supplier item Trigger off, query, create, or update items provided by suppliers that users can select when creating a requisition.
Supplier site Trigger off, query, create, or update supplier sites.
User Trigger off, query, create, or update a user.

This is a non-exhaustive list of Coupa objects and there are still more enhancements to come. Check out the rest of the available Coupa objects on their resource portal (opens new window). If you see an object that we currently don't support, you can use custom actions that allow you to send custom HTTP requests.

# Using Coupa actions and triggers on Workato

The Coupa connector in Workato first requires you to select your action which is a mixture of generic actions as well as commonly used specific actions.

Generic triggers

Generic actions

Specific actions

For generic actions and triggers, you'll be able to select the object you want to work with later on when configuring the step. The required input fields for the object you select will then be dynamically generated. This includes any custom fields that you or your team have defined in Coupa

Selecting an object

Selecting an object in the Coupa connector

# Custom object fields in Coupa

The Coupa connector on Workato automatically pulls all custom fields whenever you request for an object. Search for custom fields you or your team have defined in the Add/remove optional fields drop down.

# Return types in Coupa

Records in Coupa can be large due to its many attributes. Sometimes, retrieving a batch of records may result in time outs or slow performance. The Coupa connector allows you to control the amount of data retrieved per record to combat these cases. This can be done via the input field - Return Type. As the input field is toggled, the output datatree that describes the record changes as well. We provide 3 different options for return types in Coupa.

Option Description
Default This is the default option on the Coupa Connector. All fields and child attributes will be returned
Shallow All attributes/fields of the object being called and only the IDs and natural keys of the one-deep associations.
Limited Only ID's are returned. This is supported for all commands.

Configure return type for coupa actions

Return types change the output datatree.

# List of triggers and actions

Workato currently supports the following Coupa triggers and actions. Find out more details about each by clicking on the links below. You can also navigate to them through the sidebar.