Coupa ERP Integration

Overview


Coupa Integration streamline procurement by automating purchase requisition (PR) generation and management, ensuring seamless data flow and operational efficiency. The Spendflo-Coupa integration simplifies PR creation, allowing Spendflo to send structured data to Coupa, ensuring accurate PR generation. Once a PR is created, Spendflo fetches and displays its ID and URL, offering complete visibility. Since PRs convert into purchase orders (POs) in Coupa, Spendflo performs daily syncs to update PR statuses and capture PO details, ensuring real-time tracking.

This integration further enhances compliance by allowing Spendflo to generate PRs with predefined Coupa statuses, maintaining standardization across procurement processes. The mapping interface enables admins to seamlessly map Spendflo fields to Coupa’s PR structure, ensuring all mandatory data is correctly transmitted. Spendflo enforces accuracy by preventing the deletion of required fields and ensuring admins complete mappings before publishing workflows.

The Spendflo-Coupa integration reduces manual intervention, improves data accuracy, and provides real-time visibility into procurement processes. By automating PR and PO workflows, organizations enhance financial control, accelerate approvals, and align purchases with budgetary and operational goals. This automation optimizes procurement efficiency, improves vendor negotiations, and drives cost savings, making Spendflo a powerful procurement enabler.


Spendflo – Coupa integration overview

Prerequisites

Before setting up the integration, make sure the following is in place:

  • You must be a Coupa Administrator to access OAuth2 credentials and configure the integration.

  • You must have Admin access in Spendflo to connect integrations.

  • Your Coupa instance must have OAuth2/OpenID Connect enabled.

Part 1: Setting Up Credentials in Coupa

Before connecting in Spendflo, you'll need to retrieve or create OAuth2 credentials from your Coupa account. Here's how to find them.


Step 1: Navigate to OAuth2/OpenID Connect Clients

Log into your Coupa account. Click Setup in the top navigation bar.

On the Setup page, use the Instant Filter to search for OAuth2/OpenID Connect Clients, or scroll down to the Integrations section and click on it.



Step 2: Get Your Client Credentials

You can either use an existing OAuth2 client or create a new one specifically for Spendflo.


Option A: Use an Existing Client

In the OAuth2/OpenID Connect Clients list, click on an existing client entry. From the General Info section, copy the Identifier — this is your Client ID. From the Security Info section, click Show/Hide to reveal and copy the Secret — this is your Client Secret.



Option B: Create a New Client for Spendflo

Click Create on the OAuth2/OpenID Connect Clients page.

  1. Give the client a name (e.g., Spendflo).

  2. Set the Grant Type to Client Credentials.

  3. Add the following required OIDC scopes. You may add additional scopes as needed, but these are mandatory for the integration to work:

  • core.accounting.read

  • core.approval.configuration.read

  • core.approval.read

  • core.budget.read

  • core.business_entity.read

  • core.catalog.read

  • core.comment.read

  • core.commodity.read

  • core.common.read

  • core.contract_party_role.read

  • core.contract.read

  • core.contracts_template.read

  • core.data_tables.read

  • core.easy_form_response.approval.write

  • core.easy_form_response.read

  • core.easy_form.read

  • core.estimated_tax.read

  • core.expense.read

  • core.expense.secure.read

  • core.financial_counterparty.read

  • core.global_navigation.read

  • core.globalization.read

  • core.integration.read

  • core.inventory.adjustment.read

  • core.inventory.asn.read

  • core.inventory.balance.read

  • core.inventory.common.read

  • core.inventory.consumption.read

  • core.inventory.pick_list.read

  • core.inventory.receiving.read

  • core.inventory.return_to_supplier.read

  • core.inventory.transfer.read

  • core.invoice.assignment.read

  • core.invoice.read

  • core.item.read

  • core.pay.charges.read

  • core.pay.payments.read

  • core.pay.statements.read

  • core.pay.virtual_cards.read

  • core.payables.expense.read

  • core.payables.external.read

  • core.payables.invoice.read

  • core.payables.order.read

  • core.project.read

  • core.purchase_order_change.assignment.read

  • core.purchase_order_change.assignment.write

  • core.purchase_order_change.read

  • core.purchase_order_change.write

  • core.purchase_order_only.read

  • core.purchase_order_only.write

  • core.purchase_order.assignment.read

  • core.purchase_order.assignment.write

  • core.purchase_order.read

  • core.purchase_order.write

  • core.requisition.assignment.read

  • core.requisition.assignment.write

  • core.requisition.read

  • core.requisition.write

  • core.sourcing.read

  • core.supplier.read

  • core.supplier.write

  • core.user_group.read

  • core.user_group.write

  • core.user_recent_activity.read

  • core.user.read

  • core.user.write

  • email

  • login

  • offline_access

  • openid

  • profile


  1. Click Save. Copy the Identifier and Secret that are displayed — you will need these in Spendflo.

Note: Store the Client ID and Secret securely. The Secret is only fully visible immediately after creation.

Part 2: Connecting Coupa in Spendflo

Once you have your Coupa credentials ready, follow these steps to complete the connection in Spendflo.


  1. In Spendflo, go to Settings → Integrations → Procurement.

Spendflo – Integrations page, Procurement section

  1. Find Coupa and click Connect.

Spendflo – Coupa connect button

  1. Spendflo uses Truto to connect securely. In the connection form, enter:

  • Coupa Domain – Your Coupa account URL (e.g., spendflo-us-appmarketplace.coupacloud.com)

  • Client ID – The Identifier copied from Coupa

  • Client Secret – The Secret copied from Coupa

  1. Click Connect. Spendflo will begin validating the connection.

Spendflo – Running post install actions & validation

  1. Once validation completes, Coupa will be successfully connected to Spendflo.

Part 3: Post-Integration – Configuring Your Data

Selecting Your Chart of Accounts

After a successful connection, a slider will appear prompting you to select the Chart of Accounts you want to import into Spendflo. Only active charts of accounts from your Coupa instance will be shown.

Truto credentials form – Coupa domain, Client ID, Client Secret

Select the relevant chart(s) of accounts and confirm. All active accounts associated with the selected charts will be imported automatically.


What Gets Imported Automatically

Once you select the Chart of Accounts, the following data is automatically imported from Coupa into Spendflo — no manual selection needed:

  • Accounts – All active accounts linked to the selected Chart of Accounts, including Account Code, Account Name, and Chart of Accounts details.

  • Vendors – All active vendors from your Coupa instance.

  • Items – All active items from your Coupa catalogue.

You can view all imported data on the Coupa integration page under the Accounts, Vendors, and Items tabs.

Spendflo – Accounts tab showing imported accounts with Account Code, Account Name, Chart of Accounts, Imported On

Updating Your Chart of Accounts

You can add or update the Chart of Accounts selection at any time. Go to Integrations → Coupa → Edit Configuration and click Configure Chart of Accounts to open the selection slider and make changes.

Controlling What Users See – Show to Users

Each imported account, vendor, and item has a Show to Users toggle. Use this to control which values are visible to end users in request forms and workflows:

  • Toggle ON – The value is visible and available for use in request flows.

  • Toggle OFF – The value is hidden from end users but remains in the system for reference.


Keeping Your Data Up to Date

Spendflo keeps your Coupa data current in two ways:

  • Auto Sync – Spendflo automatically syncs with Coupa every hour.

  • Manual Sync – Click the Sync Data button at the top right of the integration page to trigger an immediate sync at any time.


OAuth 2.0 Getting Started with Coupa API




Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article