Summary and recommendation
Coupa user management can be run manually, but complexity usually increases with role models, licensing gates, and offboarding dependencies. This guide gives the exact mechanics and where automation has the biggest impact.
Coupa manages users through Setup > Users on your instance at https://<your-instance>.coupahost.com/users. There is no native SCIM endpoint; provisioning relies on Okta Group Linking or direct API calls. Every app in your procurement stack that touches Coupa access depends on getting role and Business Group assignment right at creation time.
Quick facts
| Admin console path | Setup > Users |
| Admin console URL | Official docs |
| SCIM available | No |
| SCIM tier required | Enterprise |
| SSO prerequisite | No |
User types and roles
| Role | Permissions | Cannot do | Plan required | Seat cost | Watch out for |
|---|---|---|---|---|---|
| System Administrator | Full access to all Coupa modules, configuration, user management, integrations, and reporting. | Administrator accounts should be tightly controlled; Coupa does not enforce MFA by default unless SSO is configured. | |||
| Buyer | Create and manage requisitions, purchase orders, and sourcing events within assigned business groups and approval limits. | Cannot access system configuration or manage other users without additional admin roles. | Approval limits and business group scope must be configured per user; defaults are often too broad or too narrow out of the box. | ||
| Requester / Employee | Submit purchase requisitions, view own order status, and submit expense reports (if Expenses module is licensed). | Cannot approve requests, manage suppliers, or access reporting dashboards. | Requester access is the most common user type; licensing implications vary by contract-confirm with Coupa account team whether requesters consume named seats. | ||
| Approver | Approve or reject requisitions, purchase orders, invoices, or expense reports within configured approval chains. | Cannot create sourcing events or manage supplier records without additional roles. | Approval chains are configured separately from user roles; assigning the Approver role does not automatically place a user in any approval chain. | ||
| Supplier / Supplier Portal User | Access Coupa Supplier Portal (CSP) to manage invoices, PO acknowledgements, and profile information. | Cannot access buyer-side Coupa instance or internal procurement data. | Supplier portal access is generally free for suppliers via the Coupa Supplier Portal (coupa.com/suppliers); buyer-side licensing is separate. | Supplier users are managed through the CSP, not the buyer's admin console. Invitations are sent from the buyer's Coupa instance under the Suppliers module. | |
| Custom Role | Configurable combination of permissions across modules as defined by the administrator. | Cannot exceed the permissions of the modules licensed by the organization. | Custom roles require careful scoping; overly permissive custom roles are a common audit finding in Coupa implementations. |
Permission model
- Model type: hybrid
- Description: Coupa uses a role-based access control model with a library of predefined system roles (e.g., Buyer, Approver, Requester) that can be assigned individually or in combination. Administrators can also create custom roles by selecting specific permission sets from a granular list of module-level and action-level permissions. Users can hold multiple roles simultaneously, and permissions are additive.
- Custom roles: Yes
- Custom roles plan: Not documented
- Granularity: Module-level and action-level (e.g., create, edit, view, approve per procurement module). Business group and content group scoping adds a second dimension of access control beyond role assignment.
How to add users
- Log in as an administrator and navigate to Setup > Users.
- Click 'Create' or the '+' button to open the new user form.
- Enter required fields: First Name, Last Name, Email (used as login), and Login (username).
- Assign one or more Roles from the available role list.
- Set the user's Default Business Group and any additional Business Group access.
- Configure Content Groups if applicable to restrict data visibility.
- Set Approval Limit if the user will act as an approver.
- Click 'Save' to create the user. An activation email is sent to the user's email address.
- User must click the activation link in the email to set their password and activate the account (unless SSO is configured, in which case the account activates on first SSO login).
Required fields: First Name, Last Name, Email, Login (username), At least one Role
Watch out for:
- The Login field must be unique across the instance; using email as the login is common practice but must be consistent.
- If SSO (SAML 2.0) is enabled, the Login or Email must exactly match the identity provider's NameID attribute or the mapped attribute, or login will fail.
- Activation emails can expire; administrators can resend activation from the user record.
- Users are not active until they complete the activation step; this is a common source of 'user can't log in' support tickets.
- Business Group assignment controls which organizational data the user can see and transact against; misconfiguration leads to users seeing no data or too much data.
- Coupa does not enforce password complexity by default unless configured under Setup > Security.
| Bulk option | Availability | Notes |
|---|---|---|
| CSV import | Yes | Setup > Data Loads > Users (using Coupa's CSV Data Load framework; template downloadable from the Data Loads page) |
| Domain whitelisting | No | Automatic domain-based user add |
| IdP provisioning | Yes | Available via Okta Group Linking or other SAML 2.0 IdP with JIT (Just-in-Time) provisioning; no native SCIM endpoint. Okta integration requires Enterprise-tier Coupa contract and Okta configuration. API-based provisioning available to all instances with API access. |
How to remove or deactivate users
- Can delete users: No
- Delete/deactivate behavior: Coupa does not allow permanent deletion of user records. Users can only be deactivated (status set to 'Inactive'), which prevents login but preserves all historical transaction records, audit trails, and associations. This is by design to maintain procurement audit integrity.
- Navigate to Setup > Users.
- Search for and open the user record to be deactivated.
- Change the 'Status' field from 'Active' to 'Inactive'.
- Click 'Save'.
- The user's session is terminated and they cannot log in. No notification is sent to the user automatically.
| Data impact | Behavior |
|---|---|
| Owned records | All records created by or assigned to the deactivated user (requisitions, POs, invoices, contracts) remain intact and fully accessible to other users with appropriate permissions. Ownership is not transferred automatically. |
| Shared content | Approval chains and workflows that reference the deactivated user will fail or stall if not updated. Administrators must manually reassign the user's role in approval chains before or immediately after deactivation. |
| Integrations | API tokens or integration credentials associated with the user account should be reviewed and rotated. If the user was the owner of any integration configurations, those must be reassigned. |
| License freed | Deactivating a user frees the seat for reassignment per Coupa's licensing model, but the specific mechanism depends on the contract type. Confirm with the Coupa account team whether seat counts are reconciled in real time or at contract renewal. |
Watch out for:
- Approval chains referencing a deactivated user will cause transactions to stall in pending approval state; this must be remediated before or immediately after deactivation.
- Deactivated users still appear in historical reports and audit logs, which is expected behavior.
- If the user was a delegate or had delegates configured, delegation settings should be reviewed and removed.
- Coupa does not send an automated offboarding notification to the user upon deactivation.
- Reactivating a user restores their previous role assignments; verify roles are still appropriate before reactivating.
License and seat management
| Seat type | Includes | Cost |
|---|---|---|
| Named User (Buyer-side) | Access to licensed Coupa modules (Procurement, Invoicing, Expenses, etc.) as configured in the contract. | Custom enterprise pricing; not publicly listed. Typically negotiated per module and user volume. |
| Supplier Portal User | Access to Coupa Supplier Portal (CSP) for invoice submission, PO acknowledgement, and profile management. | Free for suppliers; cost is borne by the buying organization as part of their Coupa platform subscription. |
- Where to check usage: Setup > Users (filter by Status = Active to count active users); no dedicated license usage dashboard is documented in publicly available Coupa help content.
- How to identify unused seats: Filter Setup > Users by Status = Active, then cross-reference with last login date if available in the user list export. Coupa's reporting module may allow building a custom report on user last login timestamps.
- Billing notes: Coupa pricing is custom and contract-based. Seat counts and module access are defined at contract signing. Overages or additional users may require a contract amendment. Annual uplift of approximately 5% is commonly reported. Confirm seat reconciliation timing (real-time vs. annual true-up) with the Coupa account team.
The cost of manual management
Coupa uses custom, contract-based enterprise pricing - seat counts and module access are defined at signing, and overages may require a contract amendment. Requester-type users are the most common user type, but whether they consume named seats varies by contract; confirm with your Coupa account team before bulk-provisioning.
An approximately 5% annual uplift is commonly reported, so unreviewed inactive seats compound cost over time.
There is no built-in license usage dashboard. Identifying unused seats requires filtering Setup > Users by Status = Active, exporting the list, and cross-referencing last login timestamps via a custom report - a manual process with no shortcut.
What IT admins are saying
Practitioners consistently flag three friction points in Coupa user management. First, approval chains are not automatically reassigned when a user is deactivated, causing purchase orders and invoices to stall in pending state - this must be remediated before or immediately after offboarding.
Second, activation emails expire without warning, generating repeat support tickets for new hires who never completed setup.
Third, Business Group and Content Group misconfiguration is a frequent audit finding: users either see no transactional data or far more than intended, because scope is configured separately from role assignment and defaults are rarely correct out of the box.
Common complaints:
- No native SCIM endpoint; user provisioning via IdP requires Okta Group Linking or custom API development, adding implementation complexity.
- Approval chain reassignment is not automated when a user is deactivated, causing transactions to stall.
- Activation email expiry causes repeated support tickets for new user onboarding.
- Business Group and Content Group configuration is complex and frequently misconfigured, leading to users seeing incorrect data scopes.
- No built-in license usage dashboard makes it difficult to identify inactive seats without custom reporting.
- Role assignment UI can be slow and cumbersome when managing large user populations.
- CSV bulk load for users requires strict template adherence and provides limited error messaging on failure.
- JIT provisioning via SAML does not always sync role changes from the IdP without additional configuration.
The decision
Coupa is appropriate for organizations that need granular, module-level procurement access control across large user populations.
The hybrid role model - predefined system roles plus configurable custom roles - covers most enterprise procurement structures, but every app of that complexity carries administrative overhead: role scoping, approval chain maintenance, and Business Group configuration all require ongoing attention.
If your team lacks a dedicated Coupa admin or an IdP integration (Okta is the most documented path), manual user lifecycle management will scale poorly. Overly permissive custom roles are a common audit finding; plan for periodic access reviews from day one.
Bottom line
Coupa gives procurement teams precise, layered access control across roles, Business Groups, and Content Groups, but that precision comes with real administrative weight.
There is no native SCIM, no automated approval-chain reassignment on offboarding, and no built-in seat usage dashboard - meaning every app of user lifecycle management from onboarding to deactivation requires deliberate process design.
Teams that invest in IdP integration and structured access review cycles will get the most out of the platform; those relying on ad hoc manual administration will accumulate stalled approvals, expired activations, and unreviewed seats.
Automate Coupa workflows without one-off scripts
Stitchflow builds and maintains end-to-end IT automation across your SaaS stack, including apps without APIs. Built for exactly how your company works, with human approvals where they matter.