Skip to content

Accounting

Coupa
API integration

Ship Accounting features without building the integration. Full Coupa API access via Proxy, normalized data through Unified APIs, and 420+ MCP-ready tools for AI agents — all extensible to your exact use case.

Talk to us
Coupa

Use Cases

Why integrate with Coupa

Common scenarios for SaaS companies building Coupa integrations for their customers.

01

Push spend data into Coupa for centralized budget tracking

Corporate card, expense management, or subscription SaaS companies can push invoices and expense data into their customers' Coupa instances, ensuring all spend flows through Coupa's approval and budget workflows before hitting the ERP.

02

Automate procurement kickoff from your SaaS product

SaaS platforms that trigger purchasing workflows — like CLM tools, IT request portals, or vendor marketplaces — can create Purchase Order Requisitions directly in Coupa, letting their users stay in-product while Coupa handles approvals and compliance.

03

Sync supplier and vendor data for risk and compliance monitoring

Vendor risk, security, and compliance SaaS companies can pull all Contacts (Suppliers) from Coupa to continuously assess vendor health, flag risks, and keep supplier records up to date across systems.

04

Read approved Purchase Orders to trigger fulfillment or provisioning

B2B e-commerce platforms, SaaS vendors, and service providers can poll for approved Purchase Orders in Coupa to know when budget is secured and they're cleared to deliver goods, activate licenses, or begin services.

05

Discover and catalog software spend from Coupa procurement data

IT asset management and SaaS management platforms can fetch Purchase Orders and Invoices from Coupa to automatically detect software purchases, map them to users, and surface shadow IT to the security or IT team.

What You Can Build

Ship these features with Truto + Coupa

Concrete product features your team can ship faster by leveraging Truto’s Coupa integration instead of building from scratch.

01

One-click requisition creation from your app

Let your users generate a Coupa Purchase Order Requisition directly from your product's UI, pre-populated with the right items, accounts, and tracking categories.

02

Invoice push with status tracking

Automatically push invoices into Coupa and poll for status changes — Pending Approval, Approved, Paid — so your users always know where their money is in the pipeline.

03

Supplier directory sync

Pull or push Contacts (Suppliers) between your platform and Coupa to keep vendor records consistent and eliminate duplicate data entry for procurement teams.

04

Budget-aware spend tagging with Tracking Categories

Fetch departments, project codes, and GL account segments from Coupa so your users can accurately tag requisitions and invoices without leaving your product.

05

User and approval chain lookup

Read Coupa Users and Groups to resolve approver identities, map SSO accounts, or assign the correct requester when programmatically creating procurement documents.

06

Catalog and item sync for internal storefronts

Push your product or service catalog into Coupa as Items so enterprise buyers can browse and purchase directly from Coupa's internal marketplace.

SuperAI

Coupa AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_coupa_accounts

List Coupa accounts. Returns: id, created_at, created_by, updated_at, updated_by, created-at, updated-at, status, notes, deactivate-from-user-after-reassignment, requested-reassignments, from-user, to-user, created-by, updated-by. Coupa recommends filtering large data sets with criteria.

get_single_coupa_account_by_id

Get a single Coupa account by id. Returns the full account object including id, name, code, active, account_type, segments 1-20, created_at, and updated_at. Required: id.

create_a_coupa_account

Create an account in Coupa from its account type and code segments. Returns the created account including id, name, code, account_type, account_type_id, active, and the segment fields. Required: account_type. The account type (chart of accounts) must already exist in Coupa and cannot be created via the API.

update_a_coupa_account_by_id

Update an existing account in Coupa by id, e.g. to rename it, change its code segments, or activate/inactivate it. Returns the updated account including id, name, code, account_type, active, the segment fields, and created_at/updated_at. Required: id.

create_a_coupa_purchase_order

Create an external purchase order in Coupa as part of the external purchase orders feature. Returns the created purchase order with id, po_number, status, supplier, and order_lines. Required: po_number, supplier, ship_to_user, order_lines, version. Not for Coupa-based POs.

list_all_coupa_purchase_orders

Query purchase orders in Coupa. Returns purchase order records with id, po_number, status, supplier, and order_lines. Limit large result sets with filter criteria.

get_single_coupa_purchase_order_by_id

Get a purchase order in Coupa by its id. Returns the full order record including id, po-number, status, supplier, order-lines, total, currency, and created-at / updated-at timestamps. Required: id (Coupa's internal purchase order ID).

coupa_purchase_orders_partial_update

Partially update a Coupa purchase order, sending only the fields to change. Returns the updated purchase order: id, po_number, status, supplier, order_lines, and updated_at. Required: purchase_order_id, supplier, po_number, order_lines, ship_to_user.

update_a_coupa_purchase_order_by_id

Update a Coupa purchase order by id, replacing the supplied fields; send an existing order line with _delete=true to remove it. Returns the updated purchase order: id, po_number, status, supplier, order_lines, and updated_at. Required: id, supplier, po_number, order_lines, ship_to_user.

coupa_purchase_orders_update_cancel

Cancel a Coupa purchase order by id, setting its status to cancelled. Returns the updated purchase order: id, po_number, status, supplier, and updated_at. Required: purchase_order_id.

coupa_purchase_orders_update_close

Close a Coupa purchase order by id, setting its status to closed. Returns the updated purchase order: id, po_number, status, supplier, and updated_at. Required: purchase_order_id.

create_a_coupa_requisition

Create a Coupa requisition and submit it for approval or buyer action in one step. Returns: id, status, total, currency, requisition-lines, line-count, requested-by, ship-to-address, ship-to-attention, need-by-date, req_title, justification, buyer-note, department, and 22 more. Required: requester, requisition-lines, ship-to-address, created-by.

list_all_coupa_requisitions

List Coupa requisitions. Returns: id, status, created-at, created-by, updated-at, updated-by, notes, deactivate-from-user-after-reassignment, requested-reassignments, from-user, to-user.

get_single_coupa_requisition_by_id

Get a single Coupa requisition by id. Returns: id, status, total, currency, requisition-lines, line-count, requested-by, ship-to-address, ship-to-attention, need-by-date, req_title, justification, buyer-note, department, pcard, approvals, current-approval, current-parallel-approvals, attachments, and 17 more. Required: id (Coupa unique identifier).

update_a_coupa_requisition_by_id

Update a Coupa requisition by id. Returns: id, status, total, currency, requisition-lines, line-count, requested-by, ship-to-address, ship-to-attention, need-by-date, req_title, justification, buyer-note, department, pcard, approvals, current-approval, current-parallel-approvals, attachments, and 17 more. Required: id (Coupa unique identifier).

delete_a_coupa_requisition_by_id

Delete a Coupa requisition by id. Returns an empty 204 response on success. Required: id (Coupa unique identifier).

coupa_requisitions_bulk_delete

Delete multiple requisitions in Coupa in a single bulk request. Returns an empty 204 response on success.

coupa_requisitions_bulk_update

Update multiple requisitions in Coupa in a single bulk request. Returns the updated requisition records including id, status, total, created_at, and requisition_lines.

coupa_requisitions_partial_update

Update one or more fields on a Coupa requisition. Returns the updated requisition including id, status, total, requested-by, and requisition-lines. Requires requester, requisition-lines, and ship-to-address.

coupa_requisitions_bulk_delete_requisitions

Bulk delete requisitions in Coupa. Returns an empty 204 response on success.

list_all_coupa_users

List Coupa users. Returns user records including id, login, firstname, lastname, email, active, roles, and created-at.

get_single_coupa_user_by_id

Get a single Coupa user by id. Returns the full user record including id, login, firstname, lastname, email, active, manager, and roles. Required: id (Coupa unique identifier).

coupa_users_bulk_update

Update one or more Coupa users in a single call by sending an array of user records; each record's id selects the user to update. Returns the updated user objects, including id, login, email, firstname, lastname, and 3 more fields. Required: id (plus login, email, firstname, and lastname on any record in the array that creates a new user).

create_a_coupa_user

Create a Coupa user. Returns the created user record, including id, login, email, firstname, lastname, license flags, approval limits, and created_at/updated_at. Required: login, email, firstname, lastname. Set generate-password-and-notify to Yes to have Coupa invite the user to set up their own password.

update_a_coupa_user_by_id

Update an existing Coupa user by id. Send the fields to change (e.g. firstname, lastname, email, active, manager, roles) and get back the updated user record with id, login, email, fullname, active, and updated-at. Required: id.

list_all_coupa_items

List Coupa items (query items). Returns item records including id, item-number, name, description, commodity, uom, active, and created-at/updated-at timestamps.

get_single_coupa_item_by_id

Get a single Coupa item by id. Returns the item record including id, item-number, name, description, commodity, uom, active, and created-at/updated-at timestamps. Required: id.

coupa_items_bulk_update

Bulk update multiple Coupa items in one request by sending an array of item objects, where each object must include its id. Returns the updated items including id, item_number, name, description, active, created_at, and updated_at.

create_a_coupa_item

Create a catalog item in Coupa. Returns the created item including id, item_number, name, description, active, created_at, and updated_at. Required: description, item_number, manufacturer_name, manufacturer_part_number, name, net_weight, pack_qty, and pack_weight. The Commodity and UOM must already exist in the system.

coupa_items_partial_update

Partially update a Coupa item, sending only the fields to change. Returns the updated item including id, item_number, name, description, active, and updated_at. Required: item_id.

update_a_coupa_item_by_id

Update a Coupa item by id. Returns the updated item including id, item_number, name, description, active, created_at, and updated_at. Required: id plus description, item_number, manufacturer_name, manufacturer_part_number, name, net_weight, pack_qty, and pack_weight. The Commodity and UOM must already exist in the system.

list_all_coupa_suppliers

Query Coupa suppliers. Returns supplier records with id, name, display-name, number, status, payment-method, and updated-at. Use a filter such as name, number, or updated-from/updated-to to limit large result sets.

get_single_coupa_supplier_by_id

Get a single Coupa supplier by id. Returns the supplier object with id, name, number, status, payment-method, primary-address, and updated-at. Required: id (Coupa internal ID).

create_a_coupa_supplier

Create a Coupa supplier. Returns the created supplier object with id, name, number, status, payment-method, and created-at. Required: name, payment-method, invoice-matching-level, online-store, primary-address, primary-contact, po-change-method, price-amount. Status defaults to draft and payment-method to invoice if omitted.

update_a_coupa_supplier_by_id

Update a Coupa supplier by id. Returns the updated supplier object with id, name, number, status, payment-method, and updated-at. Required: id (Coupa internal ID). The primary address and primary contact are updated in place and cannot be swapped for different IDs.

coupa_suppliers_bulk_delete

Delete multiple Coupa suppliers in one call by sending an array of supplier references. Returns an empty 204 response on success. Required: id in each item of the body array.

coupa_suppliers_bulk_delete_suppliers

Bulk delete Coupa suppliers by sending an array of supplier references to the suppliers collection. Returns an empty 204 response on success. Required: id in each item of the body array.

coupa_suppliers_bulk_update

Update multiple Coupa suppliers in one call by sending an array of supplier objects. Returns an array of updated supplier records including id, account-number, allow-cxml-invoicing, created-at, and updated-at. Required: id in each item of the body array.

coupa_suppliers_bulk_update_suppliers

Bulk update Coupa suppliers by sending an array of supplier objects to the suppliers collection. Returns the updated supplier records including id, account-number, account-types, created-at, and updated-at. Required: id in each item of the body array.

coupa_suppliers_partial_update

Partially update multiple Coupa suppliers in one call, sending an array of supplier objects containing only the fields to change. Returns the updated supplier records including id, account-number, allow-change-requests, created-at, and updated-at. Required: id in each item of the body array.

list_all_coupa_supplier_items

List supplier items associated with an item in Coupa. Returns: id, supplier, item, supplier_part_num, supplier_aux_part_num, price, price_change, price_tier_1, price_tier_2, price_tier_3, price_tier_4, price_tier_5, price_tier_6, price_tier_7, price_tier_8, price_tier_9, currency, preferred, created_at, and 23 more. Required: item_id.

get_single_coupa_supplier_item_by_id

Get a single supplier item in Coupa by id. Returns the full record including id, supplier, item, supplier_part_num, price, currency, preferred, and created_at. Required: id.

list_all_coupa_currencies

List currencies in Coupa. Returns each currency with its id, code, name, symbol, decimals, created-by, and updated-by.

get_single_coupa_currency_by_id

Get a single Coupa currency by id. Returns the currency record including id, code, name, symbol, decimals, enabled-flag, created-by, and updated-by. Required: id (Coupa unique identifier).

list_all_coupa_invoices

List Coupa invoices. Returns invoice records including id, payments (with check_number, amount_paid, notes, payment_date), paid, payment_date, and payment_notes.

get_single_coupa_invoice_by_id

Get a single Coupa invoice by id. Returns the invoice's id and payment details: payments (with check_number, amount_paid, notes, payment_date), paid, payment_date, and payment_notes. Required: id.

create_a_coupa_invoice

Create an invoice in Coupa; new invoices are created in draft status. Returns the created invoice record with its id and content-schema-specific attributes.

coupa_invoices_partial_update

Partially update an existing invoice in Coupa. Returns the updated invoice record with its id and content-schema-specific attributes.

update_a_coupa_invoice_by_id

Update an existing invoice in Coupa. Returns the updated invoice record with its id and content-schema-specific attributes.

list_all_coupa_payments

List Coupa Pay payments in Coupa. Returns payment records including id, created-at, and updated-at; the remaining payment fields follow Coupa's Payments API reference.

get_single_coupa_payment_by_id

Get a single Coupa Pay payment by id in Coupa. Returns: id, payments, paid, payment_date, payment_notes. Required: id.

list_all_coupa_expense_reports

List Coupa expense reports. Returns: id, title, status, total, currency, created-at, updated-at, created-by, updated-by, expensed-by, submitted-at, submitted-by, approvals, expense-lines, expense-policy-violations, expense-violations, events, comments, reconciliation-lines, payment, payment-channel, reimbursable-total-amount, and 18 more.

get_single_coupa_expense_report_by_id

Get a single Coupa expense report by id. Returns the full record including id, title, status, total, expense-lines, and approvals. Required: id.

create_a_coupa_expense_report

Create an expense report in Coupa in draft status. Returns the created report including id, title, status, total, expensed-by, and expense-lines.

coupa_expense_reports_partial_update

Update one or more fields on an existing Coupa expense report (PATCH). Returns the updated report including id, title, status, total, and expense-lines. Required: expense_report_id.

update_a_coupa_expense_report_by_id

Update an expense report in Coupa by id. Returns the updated report including id, title, status, total, expensed-by, and expense-lines. Required: id.

coupa_expense_reports_update_submit

Create an expense report and attempt to submit it for approval in Coupa. Returns the report including id, status, submitted-at, total, and title. Required: expense_report_id.

list_all_coupa_departments

List Coupa departments. Returns each department's id, name, active, created_at, updated_at, and the created_by/updated_by users.

get_single_coupa_department_by_id

Get a single Coupa department by id. Returns: id, name, active, created_at, updated_at, created_by, updated_by. Required: id.

create_a_coupa_department

Create a department in Coupa. Returns the created department including id, name, active, created_at, updated_at, and created_by. Required: name.

update_a_coupa_department_by_id

Update a department in Coupa by id. Returns the updated department record including id, name, active, created-at, and updated-at. Required: id, name.

list_all_coupa_business_entities

List Coupa business entities. Returns: id, status, created-at, updated-at, created-by, updated-by, notes, deactivate-from-user-after-reassignment, requested-reassignments, from-user, to-user.

get_single_coupa_business_entity_by_id

Get a single Coupa business entity by id (the Coupa internal integer ID). Returns: id, name, display-name, formation-type, status, primary-address, primary-contact, addresses, business-entity-account-owners, business-entity-relationships, business-entity-alternate-names, created-at, updated-at, and 4 more. Required: id.

create_a_coupa_business_entity

Create a business entity in Coupa. Returns the created record including id, name, display-name, type, status, created-at, and updated-at. Required: name, which must be unique and max 100 characters.

coupa_business_entities_partial_update

Partially update a Coupa business entity, changing only the fields provided in the request body. Returns the updated record including id, name, display-name, type, status, created-at, and updated-at. Required: business_entity_id.

update_a_coupa_business_entity_by_id

Fully update a Coupa business entity by id. Returns the updated record including id, name, display-name, type, status, created-at, and updated-at. Required: id and name, which must be unique and max 100 characters.

list_all_coupa_purchase_order_lines

List purchase order lines in Coupa. Returns each line with id, line-num, description, status, price, quantity, total, order-header-id, and supplier details.

get_single_coupa_purchase_order_line_by_id

Get a single purchase order line by id in Coupa. Returns the line with id, line-num, description, status, price, quantity, total, supplier, and account details. Required: id.

coupa_purchase_order_lines_partial_update

Partially update a purchase order line in Coupa, changing only the fields provided (e.g. price, quantity, status). Returns the updated line: id, status, price, quantity, total, updated_at. Required: purchase_order_line_id.

list_all_coupa_addresses

List Coupa addresses (query addresses). Returns each address with its id, name, city, state, postal-code, country, active, created-at, and updated-at, plus related content-groups, purposes, and tax-registrations.

create_a_coupa_address

Create an address in Coupa. Returns the created address record including id, street1, city, country, and created-at. Requires city, country, local-tax-number, postal-code, and street1; the Country reference (name, code, or ID) must already exist in the system.

get_single_coupa_address_by_id

Get a single Coupa address by id. Returns the full address record including id, name, street1-street4, city, country, state-iso-code, and updated-at. Required: id.

update_a_coupa_address_by_id

Update a Coupa address by id. Returns the updated address record including id, name, street1-street4, city, country, and updated-at. Required: id. Addresses that are deactivated or inactive cannot be updated via the API.

list_all_coupa_payment_terms

List Coupa payment terms. Returns payment term objects with id, code, days-for-net-payment, days-for-discount-payment, discount-rate, and type.

get_single_coupa_payment_term_by_id

Get a single Coupa payment term by id. Returns the payment term with id, code, days-for-net-payment, discount-rate, and type. Required: id.

create_a_coupa_payment_term

Create a payment term in Coupa. Returns the created payment term including id, code, days-for-net-payment, discount-rate, and type. Required: code, days-for-discount-payment, days-for-net-payment, discount-due-month, net-due-month, net-due-day, and type.

update_a_coupa_payment_term_by_id

Update an existing payment term in Coupa by id. Returns: id, active, code, content-groups, created-at, created-by, days-for-discount-payment, days-for-net-payment, description, net-due-day, updated-at, and 7 more. Required: id, code, type, days-for-net-payment, days-for-discount-payment, net-due-day, net-due-month, discount-due-month.

create_a_coupa_draft_requisition

Create a requisition in Coupa in draft status, which will then need to be submitted manually for approval. Returns the created requisition object with id plus attributes whose fields are defined by the Requisitions API Elements documentation.

list_all_coupa_account_types

List charts of accounts (account types) in Coupa. Returns: id, name, active, currency, legal-entity-name, primary-address, primary-contact, created-at, created-by, updated-at, updated-by, dynamic_flag, status, notes, deactivate-from-user-after-reassignment, requested-reassignments, from-user, to-user.

get_single_coupa_account_type_by_id

Get a single chart of accounts (account type) by id in Coupa. Returns: id, name, active, currency, legal-entity-name, primary-address, created-at, created-by, updated-at, updated-by. Required: id.

list_all_coupa_groups

List Coupa user groups. Returns each group's id, name, description, mention-name, active, can-approve, owner, and member users.

get_single_coupa_group_by_id

Get a single Coupa user group by id. Returns: id, name, description, mention-name, active, can-approve, open, owner, users, created-at, updated-at, created-by, updated-by, avatar-thumb-url. Required: id.

create_a_coupa_group

Create a Coupa user group. Returns the created group with id, name, description, mention-name, active, owner, and users. Required: name.

update_a_coupa_group_by_id

Update a Coupa user group by id; send only the fields to change. Returns: id, name, description, mention-name, active, can-approve, open, owner, users, created-at, updated-at, created-by, updated-by, avatar-thumb-url. Required: id.

list_all_coupa_supplier_information

List Coupa supplier information (SIM) records. Returns each record with id, name, status, supplier_id, supplier_name, and created_at. Responses may include a harmless Ruby code snippet that can be disregarded.

get_single_coupa_supplier_information_by_id

Get a single Coupa supplier information (SIM) record by id. Returns: id, name, status, supplier_id, supplier_name, supplier_number, display_name, duns_number, website, industry, supplier_region, organization_type, created_at, updated_at, and 90 more. Required: id. Responses may include a harmless Ruby code snippet that can be disregarded.

create_a_coupa_supplier_information

Create a Coupa supplier information (SIM) record. Returns the created record including id, name, status, supplier_id, and created_at. Required: name, status. When supplier_id is omitted, an associated Supplier record is automatically created.

update_a_coupa_supplier_information_by_id

Update a Coupa supplier information (SIM) record by id. Returns the updated record including id, name, status, supplier_id, and updated_at. Required: id, name, status.

list_all_coupa_forms

List the forms (easy_forms) configured in your Coupa instance. Returns form records including id, created-at, and updated-at.

get_single_coupa_form_by_id

Get a single form (easy_forms record) from Coupa by id. Returns the form record with its id, created-at, and updated-at. Required: id.

list_all_coupa_supplier_form_responses

List easy form responses for supplier information records in Coupa. Returns: id, name, created-at, updated-at, code, active, segment-1. The list is scoped to the supplier_information model via the model filter.

get_single_coupa_supplier_form_response_by_id

Get a single easy form response by id in Coupa. Returns: id, name, created-at, updated-at, code, active, segment-1. Required: id.

list_all_coupa_form_responses

List easy form responses across all entity types in Coupa. Returns: id, created-at, created-by, current-approval, current-parallel-approvals, custom_object_code, easy-form-id, easy-form-widget-responses, name, requested-by, status, subject, submitted-at, and 8 more. Use the model query parameter to filter by a specific custom object code.

get_single_coupa_form_response_by_id

Get easy form response records from Coupa. Returns: id, name, created-at, updated-at, code, active, segment-1. Use the model query parameter to filter by a specific custom object code.

list_all_coupa_supplier_information_form_responses

List Coupa easy form responses submitted for a supplier information record. Returns: id, name, created-at, updated-at, code, active, segment-1. Required: supplier_information_id.

get_single_coupa_supplier_information_form_response_by_id

Get the easy form responses for a supplier information record in Coupa. Returns: id, name, created-at, updated-at, code, active, segment-1. Required: supplier_information_id.

list_all_coupa_supplier_information_forms

List supplier information easy form definitions in Coupa by querying GET /api/easy_forms with model=supplier_information. Returns: id, attributes.

get_single_coupa_supplier_information_form_by_id

Get a supplier information easy form in Coupa by id. Returns: id, created_at, updated_at. Required: id.

list_all_coupa_commodities

List commodities in Coupa. Returns commodity records including id, name, description, category, subcategory, deductibility, preferred, parent commodity, and created/updated audit fields.

get_single_coupa_commodity_by_id

Get a single commodity in Coupa by id. Returns: id, name, description, active, category, subcategory, deductibility, preferred, preferred_homepage_search, tags, parent, imported-from-taxonomy, translated_name, created-at, updated-at, created-by, updated-by. Required: id.

create_a_coupa_commodity

Create a commodity in Coupa. Returns the created commodity including its id, name, active flag, category, subcategory, and audit timestamps. Required: name.

coupa_commodities_partial_update

Partially update a commodity in Coupa, sending only the fields to change. Returns the updated commodity including its id, name, active flag, category, and audit timestamps. Required: commodity_id.

update_a_coupa_commodity_by_id

Update a commodity in Coupa by id. Returns the updated commodity including its id, name, active flag, category, and audit timestamps. Required: id.

create_a_coupa_account_type_copy

Copy an existing chart of accounts in Coupa, creating a new account type from the source record. Returns: id, active, name, currency, legal-entity-name, primary-address, primary-contact, created-at, updated-at, created-by, updated-by, dynamic_flag. Required: account_type_id, active.

create_a_coupa_account_type

Create a chart of accounts (account type) in Coupa. Returns the created account type including id, name, active, currency, and legal-entity-name. Required: name, active, currency; name must be unique (max 50 characters).

create_a_coupa_account_validation_rule

Create an account validation rule in Coupa. Returns the created rule including id, name, description, error-message, account-type, active, created-at, and updated-at. Required: name, description, error-message. Segments must already be defined in a chart of accounts.

get_single_coupa_account_validation_rule_by_id

Get a Coupa account validation rule by id. Returns the rule including id, name, description, error-message, account-type, active, created-at, and updated-at. Required: id.

list_all_coupa_account_validation_rules

List Coupa account validation rules. Returns each rule including id, name, description, error-message, account-type, active, created-at, and updated-at.

update_a_coupa_account_validation_rule_by_id

Update a Coupa account validation rule by id. Returns the updated rule including id, name, description, error-message, account-type, active, created-at, and updated-at. Required: id, name, description, error-message.

list_all_coupa_accounts_favorites

List favorite accounts in Coupa. Returns: id, created-at, updated-at, created-by, updated-by, status, notes, deactivate-from-user-after-reassignment, requested-reassignments, from-user, to-user. Limit large data sets with filter criteria.

list_all_coupa_accounts_recents

List recently accessed Coupa accounts. Returns: id, name, code, account_type, account_type_id, active, segment_1, segment_2, segment_3, segment_4, segment_5, segment_6, segment_7, segment_8, segment_9, segment_10, segment_11, created_at, created_by, updated_at, updated_by, and 9 more. Required: account_type (chart of accounts to filter by).

get_single_coupa_announcement_by_id

Get a single Coupa announcement by id. Returns the announcement record including its id, subject, message, short-description, start-at, and created-at. Required: id (Coupa unique identifier).

list_all_coupa_announcements

List Coupa announcements. Returns announcement records including id, subject, message, start-at, new, and summary.

coupa_budget_line_adjusts_bulk_update

Create a budget line adjustment for a Coupa budget line by id. Returns: id, amount, remaining, pending_requisitions_amount, currency, description, error-on-overrun, notes, overrun_calculation, owner, owner-is-approver, period, segment-1, segment-2, and 22 more. Required: budget_line_id, period. Segment values must belong to existing accounts.

create_a_coupa_budget_line

Create a budget line in Coupa for an existing budget period and account segments. Returns: id, period, amount, currency, description, error-on-overrun, notes, overrun-calculation, owner, owner-is-approver, pending_requisitions_amount, remaining, created-at, updated-at, and 22 more. Required: period. New budget periods cannot be created via the API.

get_single_coupa_budget_line_by_id

Get a single Coupa budget line by id. Returns: id, period, amount, currency, description, error-on-overrun, notes, overrun-calculation, owner, owner-is-approver, pending_requisitions_amount, remaining, segment-1, segment-2, segment-3, segment-4, segment-5, segment-6, segment-7, segment-8, created-at, updated-at, and 14 more. Required: id.

list_all_coupa_budget_lines

List (query) Coupa budget lines. Returns budget line objects with: id, period, amount, remaining, currency, owner, created-at, updated-at. Always limit large result sets with GET criteria.

update_a_coupa_budget_line_by_id

Update a Coupa budget line by id. Returns: id, period, amount, currency, description, error-on-overrun, notes, overrun-calculation, owner, owner-is-approver, pending_requisitions_amount, remaining, updated-at, updated-by, and 22 more. Required: id. The account type (chart of accounts) and specific account cannot be changed after creation.

create_a_coupa_business_group

Create a Coupa business group (content group). Returns the created record with id, name, description, created-at, updated-at, created-by, and updated-by. Required: name (must be unique, max 100 characters).

get_single_coupa_business_group_by_id

Get a Coupa business group (content group) by id. Returns: id, name, description, created-at, updated-at, created-by, updated-by. Required: id.

list_all_coupa_business_groups

List Coupa business groups (content groups). Returns records with id, name, description, created-at, updated-at, created-by, and updated-by. For large data sets, limit the query with criteria.

update_a_coupa_business_group_by_id

Update a Coupa business group (content group) by id. Returns the updated record with id, name, description, created-at, updated-at, created-by, and updated-by. Required: id, name.

list_all_coupa_contract_legal_documents

List legal documents for a Coupa contract. Returns each document's id, clm-id, url, contract-template-id, negotiation-rounds, ccc timestamps, and created-at/updated-at audit fields. Required: contract_id.

delete_a_coupa_contract_legal_document_by_id

Delete a legal document of a Coupa contract by id. Returns an empty 204 response on success. Required: contract_id, id.

get_single_coupa_contract_legal_document_by_id

Get a single legal document of a Coupa contract by id. Returns: id, ccc-exec-summary-timestamp, ccc-file-timestamp, clm-id, contract-template-id, created-at, created-by, external-file-upload, locked-by-other-party, locked-by-user-id, negotiation-rounds, reviewer-user-ids, updated-at, updated-by, url. Required: contract_id, id.

create_a_coupa_data_file_source

Create a data file source in Coupa. Returns the record's id, source-for, status, progress, and created-at. Hard limitation: Coupa's upstream API documents that creating data file sources is not supported.

get_single_coupa_data_file_source_by_id

Get a single Coupa data file source by id. Returns: id, created-at, updated-at, created-by, updated-by, source-for, start-time, end-time, status, progress, file-content-type, file-file-name, file-file-size, result-text, upload-errors. Required: id.

list_all_coupa_data_file_sources

List Coupa data file sources. Returns each record with id, source-for, status, progress, start-time, end-time, and created-at.

update_a_coupa_data_file_source_by_id

Update a Coupa data file source by id. Returns the record's id, source-for, status, progress, and updated-at. Hard limitation: Coupa's upstream API documents that updating data file sources is not supported. Required: id.

create_a_coupa_data_file_sources_load_from_coupa_file_service

Load a file from the Coupa file service into a data file source, creating the data file source record that tracks the load. Returns: id, source-for, status, progress, start-time, end-time, result-text, upload-errors, file-content-type, file-file-name, file-file-size, created-at, updated-at, created-by, updated-by.

create_a_coupa_data_file_sources_load_from_sftp

Upload a flat file from SFTP and process it via a data file source in Coupa. Returns the data file source record including its id, status, progress, source_for, and result_text. Required: source_for.

list_all_coupa_data_file_sources_validate_api_keys

Validate the API key configured for Coupa's Data File Sources API. Returns: id, created-at, updated-at, status, created-by, updated-by, notes, deactivate-from-user-after-reassignment, requested-reassignments, from-user, to-user.

create_a_coupa_exchange_rate

Create an exchange rate in Coupa. Returns the created exchange rate including id, from-currency, to-currency, rate, rate-date, created-at, and updated-at. Required: from-currency, to-currency. The referenced currencies must already exist in Coupa.

get_single_coupa_exchange_rate_by_id

Get a single exchange rate from Coupa by id. Returns the exchange rate including id, from-currency, to-currency, rate, rate-date, and created-at. Required: id.

list_all_coupa_exchange_rates

List exchange rates in Coupa. Returns exchange rate records including id, from-currency, to-currency, rate, and rate-date. Coupa recommends limiting large result sets with query criteria.

update_a_coupa_exchange_rate_by_id

Update an exchange rate in Coupa by id. Returns the updated exchange rate including id, from-currency, to-currency, rate, and rate-date. Required: id, from-currency, to-currency.

create_a_coupa_financial_counterparty

Create a financial counterparty in Coupa. Returns the created record including id, abbreviation, name, swift-code, and created-at. Required: abbreviation (unique, max 50 chars), name.

get_single_coupa_financial_counterparty_by_id

Get a financial counterparty by id in Coupa. Returns the full record including id, abbreviation, name, active, swift-code, and updated-at. Required: id.

list_all_coupa_financial_counterparties

List (query) financial counterparties in Coupa. Returns records including id, abbreviation, name, active, swift-code, and updated-at.

coupa_financial_counterparties_partial_update

Partially update a financial counterparty in Coupa; only the fields you send are changed. Returns the updated record including id, abbreviation, name, swift-code, and updated-at. Required: financial_counterparty_id.

update_a_coupa_financial_counterparty_by_id

Update a financial counterparty by id in Coupa. Returns the updated record including id, abbreviation, name, swift-code, and updated-at. Required: id, abbreviation, name.

get_single_coupa_item_image_by_id

Get the image for a Coupa item by id. Returns the item's image as raw binary data rather than a JSON object, so no response fields are enumerated. Required: id (the Coupa item's unique identifier).

create_a_coupa_invoice_remit_to_address

Create a remit-to address under a Coupa invoice. Returns: id, active, city, country, created_at, created_by, external_src_name, external_src_ref, local_tax_number, name, postal_code, remit_to_code, state, street1, street2, and 6 more. Required: invoice_id plus body fields city, country, local_tax_number, postal_code, remit_to_code, street1.

get_single_coupa_invoice_remit_to_address_by_id

Get a single remit-to address under a Coupa invoice by id. Returns: id, active, city, country, created_at, created_by, external_src_name, external_src_ref, local_tax_number, name, postal_code, remit_to_code, state, street1, street2, street3, street4, updated_at, updated_by, vat_country, vat_number. Required: invoice_id and id.

list_all_coupa_invoice_remit_to_addresses

List remit-to addresses under a Coupa invoice. Returns: id, active, city, country, created_at, created_by, external_src_name, external_src_ref, local_tax_number, name, postal_code, remit_to_code, state, street1, street2, street3, street4, updated_at, updated_by, vat_country, vat_number. Required: invoice_id.

update_a_coupa_invoice_remit_to_address_by_id

Update a remit-to address under a Coupa invoice by id. Returns: id, active, city, country, created_at, created_by, external_src_name, external_src_ref, local_tax_number, name, postal_code, remit_to_code, state, updated_at, and 7 more. Required: invoice_id, id, plus body fields city, country, local_tax_number, postal_code, remit_to_code, street1.

create_a_coupa_lookup_value

Create a lookup value in Coupa under an existing lookup. Returns: id, name, description, active, is_default, lookup, lookup_id, account_type, external_ref_num, external_ref_code, parent, parent_id, depth, created_at, updated_at, created_by, updated_by. Required: name, lookup. The lookup must already exist in the system.

get_single_coupa_lookup_value_by_id

Get a single Coupa lookup value by id. Returns: id, name, description, active, is_default, lookup, lookup_id, account_type, external_ref_num, external_ref_code, parent, parent_id, depth, created_at, updated_at, created_by, updated_by. Required: id.

list_all_coupa_lookup_values

List Coupa lookup values. Returns lookup values with id, name, lookup, active, description, and audit fields. Coupa advises always limiting GETs on large lookup value data sets with some filter criteria.

update_a_coupa_lookup_value_by_id

Update a Coupa lookup value by id. Returns: id, name, description, active, is_default, lookup, lookup_id, account_type, external_ref_num, external_ref_code, parent, parent_id, depth, created_at, updated_at, created_by, updated_by. Required: id, name, lookup. external_ref_code cannot be set by the integration.

list_all_coupa_matching_allocations_invoice_line_id_s

List Coupa matching allocations for a specific invoice line. Returns: id, created_at, updated_at, status, inventory_transaction_id, quantity, amount, invoice_line_total, asn_line_id, invoice_line_id, order_line_id, manual_match, status_reason, inventory_transaction_match_reference, uom. Required: invoice_line_id.

create_a_coupa_project

Create a project in Coupa. Returns the created project with its id, name, mention-name, status, start-date, end-date, and created-at. Required: name (unique, max 255 chars) and category-plan.

get_single_coupa_project_by_id

Get a specific project in Coupa by id. Returns the full project record including id, name, mention-name, status, start-date, end-date, and created-at. Required: id.

list_all_coupa_projects

List all projects in Coupa. Returns project records including id, name, mention-name, status, start-date, end-date, and created-at.

update_a_coupa_project_by_id

Update an existing project in Coupa by id. Returns the updated project record including id, name, mention-name, status, start-date, and updated-at. Required: id, name, category-plan.

create_a_coupa_supplier_information_tax_registration

Create a supplier information tax registration in Coupa. Returns the created registration including id, number, country, active, local, and audit timestamps. Requires number and country.

delete_a_coupa_supplier_information_tax_registration_by_id

Delete a supplier information tax registration in Coupa by id. Returns an empty 204 response on success. Required: id.

get_single_coupa_supplier_information_tax_registration_by_id

Get a supplier information tax registration in Coupa by id. Returns: id, number, supplier_information_address_id, supplier_information_id, active, local, country, created_at, updated_at, created_by, updated_by. Required: id.

coupa_supplier_information_tax_registrations_partial_update

Partially update a supplier information tax registration in Coupa — only the fields supplied in the body are changed. Returns the updated registration including id, number, country, active, and updated_at. Required: supplier_information_tax_registration_id.

update_a_coupa_supplier_information_tax_registration_by_id

Fully update a supplier information tax registration in Coupa by id. Returns the updated registration including id, number, country, active, local, and updated_at. Required: id, number, country.

delete_a_coupa_supplier_remit_to_address_by_id

Delete a remit-to address belonging to a Coupa supplier. Returns an empty 204 response on success. Required: supplier_id, id.

create_a_coupa_purchase

Create a purchase in Coupa. Returns the created purchase record including its id, status, notes, created-at, updated-at, requested-reassignments, and from-user/to-user references. Required: type.

list_all_coupa_purchases

List purchases in Coupa. Returns purchase records including id, status, notes, created-at, updated-at, requested-reassignments, and from-user/to-user references.

coupa_purchases_partial_update

Partially update a purchase in Coupa, changing only the fields you send. Returns the updated purchase record including its id, status, notes, created-at, updated-at, and from-user/to-user references.

update_a_coupa_purchase_by_id

Update a purchase in Coupa. Returns the updated purchase record including its id, status, notes, created-at, updated-at, requested-reassignments, and from-user/to-user references. Required: type.

delete_a_coupa_attachment_by_id

Delete an attachment in Coupa by attachment id. Returns an empty 204 response on success. Required: attachment_id.

list_all_coupa_attachments

List attachments in Coupa across document types such as requisitions, orders, invoices, contracts, and sourcing events. Returns: id, intent, file_url, created_at, updated_at.

list_all_coupa_inventories

List inventories in Coupa by querying the inventory collection. Returns inventory records including their id, created-at, and updated-at.

create_a_coupa_quote

Create a quote in Coupa by posting its attributes. Returns the created quote record: id, type, intent, file-url, created-at, updated-at. Required: type.

delete_a_coupa_quote_by_id

Delete a quote in Coupa. Returns an empty 204 response on success.

list_all_coupa_quotes

List quotes in Coupa. Returns quote records including id, type, status, created-at, and updated-at.

update_a_coupa_approval_hold_by_id

Place a Coupa approval on hold by id (perform the Hold action on an approval). Returns the updated approval record including id, status, holdable, approval-date, approver, and note. Required: id.

get_single_coupa_approval_by_id

Get a single Coupa approval by id. Returns the approval record including id, status, approval-date, position, type, approvable-id, approver, and created/updated timestamps. Required: id.

list_all_coupa_approvals

List Coupa approvals (query approvals), filterable by element fields such as status, approver-id, approvable-id, or approval-date. Returns approval records including id, status, approval-date, position, type, and approver.

update_a_coupa_approval_by_id

Update a Coupa approval by id. Returns the updated approval record including id, status, note, approval-date, approver, and created/updated timestamps. Required: id.

coupa_approvals_update_approve

Approve a Coupa approval by approval_id. Returns the approval record including id, status, approval-date, approver, and position. The approval must be pending (not already approved or rejected) for the action to be valid. Required: approval_id.

coupa_approvals_update_reject

Reject a Coupa approval by approval_id, optionally supplying a reason. Returns the approval record including id, status, approval-date, approver, and position. The approval must be pending (not already approved or rejected). Required: approval_id.

create_a_coupa_asn_header

Create an advance ship notice (ASN) header in Coupa. Returns the created ASN header including id, asn-number, ship-date, delivery-date, supplier, and lines. Required: asn-number, lines, ship-date, ship-to-address, supplier.

list_all_coupa_asn_headers

List advance ship notice (ASN) headers in Coupa, filterable by element fields such as asn-number, status, and ship-date. Returns ASN header records including id, asn-number, ship-date, delivery-date, status, supplier, and lines.

update_a_coupa_asn_header_by_id

Update an advance ship notice (ASN) header in Coupa. Returns the updated ASN header including id, asn-number, ship-date, delivery-date, status, supplier, and lines. Required: id.

update_a_coupa_asn_line_by_id

Update one or more ASN (advance ship notice) lines in Coupa. Returns the updated line record including id, line-num, order-line, quantity, status, received-qty, created-at and updated-at. Required: id, comments, container, line-num, match-reference, order-line, quantity.

update_a_coupa_headers_receive_by_id

Receive an advance ship notice header in Coupa by calling the receive action with fully_consume=true. Returns the received ASN header including id, asn-number, status, lines, ship-date, and supplier. Required: fully_consume, asn-number, lines, ship-date, ship-to-address, supplier.

update_a_coupa_headers_void_by_id

Void advance ship notice headers in Coupa by submitting the ASN header(s) to void in the request body. Returns: id, asn-number, status, ship-date, delivery-date, export-flag, lines, ship-to-address, ship-to-user, ship-to-warehouse, supplier, created-at, updated-at, and 2 more. Required: asn-number, lines, ship-date, ship-to-address, supplier.

update_a_coupa_lines_receive_by_id

Record receipts against ASN lines in Coupa. Returns the updated ASN line record including id, status, quantity, received-qty, line-num, order-line, and created-at. Specify the line id and received-qty for each line to receive.

update_a_coupa_lines_void_by_id

Void one or more ASN lines in Coupa. Returns the ASN line record including id, status, quantity, received-qty, and line-num. Required: comments, container, line-num, match-reference, order-line, quantity.

update_a_coupa_invoice_abandon_by_id

Abandon an invoice in Coupa by id, moving it to abandoned status. Returns the updated invoice record including id, status, abandon-reason, invoice-number, and updated-at. Required: invoice_id.

update_a_coupa_invoice_add_approver_by_id

Manually add an approver to a Coupa invoice. Returns the updated invoice record including id, status, invoice-number, approvals, and supplier. Required: invoice_id (invoice to update) and approver_id (user id of the approver to add).

update_a_coupa_invoice_bypass_approval_by_id

Bypass approvals for a Coupa invoice, allowing a third-party system on the customer's side to get the invoice approved and paid as quickly as possible. Returns the updated invoice record including id, invoice-number, status, approvals, and paid. Required: invoice_id.

update_a_coupa_invoice_bypass_current_approval_by_id

Bypass the current approval step on a Coupa invoice so the invoice is approved by its current approver and can be paid as quickly as possible. Returns the invoice record including id, status, invoice-number, approvals, and updated-at. Required: invoice_id.

update_a_coupa_invoice_dispute_by_id

Dispute an invoice in Coupa, moving it to disputed status and notifying the supplier that there is an issue with the invoice. Returns the updated invoice with id, status, invoice-number, dispute-reasons, and dispute-method. Required: invoice_id. The dispute reason code, when supplied, must be a valid and active dispute reason.

list_all_coupa_mine

List the requisitions belonging to the authenticated user in Coupa. Returns requisition records with: id, status, total, currency, need-by-date, created-at, and requisition-lines.

update_a_coupa_requisition_add_approver_by_id

Manually add an approver to a Coupa requisition. Returns the updated requisition including id, status, approvals, total, and updated-at. Required: requisition_id, approver.

update_a_coupa_requisition_remove_approval_by_id

Remove a manually added approver from a Coupa requisition. Returns the updated requisition record including its id, status, approvals, current_approval, and total. Required: requisition_id.

update_a_coupa_requisition_save_for_later_by_id

Save a Coupa requisition for later by id (Save For Later action for API requisitions). Returns the requisition record including id, status, req_title, total, and updated-at. Required: requisition_id.

update_a_coupa_requisition_update_and_submit_for_approval_by_id

Update a Coupa requisition and submit it for approval in a single call. Returns the updated requisition including id, status, total, submitted-at, and requisition-lines. Required: requisition_id.

create_a_coupa_requisitions_add_to_cart

Add one or more lines to the current user's requisition cart in Coupa. Returns the cart requisition including id, status, requisition-lines, total, and ship-to-address. Required: requisition-lines, ship-to-address, requester, created-by. Each line-num must increment by one; lines sharing a line-num are ignored.

list_all_coupa_requisitions_current_carts

Get the current cart requisition for the user in Coupa; if no current cart exists, a new one is created and sent. Returns: id, status, req_title, justification, buyer_note, currency, total, mobile_currency, mobile_total, need_by_date, submitted_at, created_at, updated_at, exported, line_count, price_hidden, requisition_lines, and 18 more.

create_a_coupa_requisitions_schedule_issuance

Schedule an issuance date for Coupa requisition lines, optionally retrying issuance after a set number of days if the requisition is not approved by the scheduled date. Required: requisition_line_ids, schedule_issuance_date.

update_a_coupa_purchase_order_change_add_approver_by_id

Manually add an approver to a purchase order change in Coupa. Returns the order-header-change with id, created_at, updated_at, order_header_id, and status (approved or pending_approval when new approvals are required). Required: purchase_order_change_id, approvals. The approver login must be a current Coupa approver login.

update_a_coupa_purchase_order_change_remove_approval_by_id

Remove a manually added approver from a purchase order change in Coupa. Returns the updated order-header-change record with id, status, approvals, current-approval, and created-at. Required: purchase_order_change_id, approvals.

update_a_coupa_purchase_order_change_submit_for_approval_by_id

Submit a Coupa purchase order change for approval. Returns the order-header-change record including id, status, po-number, approvals, and total. Required: purchase_order_change_id.

update_a_coupa_purchase_order_ignore_window_and_issue_by_id

Ignore the supplier response window and issue a Coupa purchase order to the supplier. Returns the updated purchase order including id, po-number, status, supplier, and order-lines. Required: purchase_order_id.

update_a_coupa_purchase_order_issue_without_send_by_id

Issue a Coupa purchase order without sending it to the supplier. Returns the updated purchase order record including id, po_number, status, version, and transmission_status. Required: purchase_order_id.

update_a_coupa_purchase_order_issue_by_id

Issue and send a Coupa purchase order to its supplier. Returns the issued purchase order including id, po_number, status, transmission_status, and version. Required: purchase_order_id.

update_a_coupa_purchase_order_line_reopen_for_invoicing_by_id

Reopen a Coupa purchase order line for invoicing so it can be invoiced again. Returns the updated purchase order line record with id, status, invoiced, price, quantity, and total. Required: purchase_order_line_id.

update_a_coupa_purchase_order_line_reopen_for_receiving_by_id

Reopen a Coupa purchase order line for receiving by id, making the line available to receive against again. Returns the updated purchase order line: id, status, quantity, price, total, receipt_required. Required: purchase_order_line_id.

update_purchase_order_line_soft_close_for_invoicing_by_id

Soft close a purchase order line in Coupa for invoicing. Returns the updated purchase order line record including id, status, price, quantity, invoiced, and total. Required: purchase_order_line_id.

update_purchase_order_line_soft_close_for_receiving_by_id

Soft close a purchase order line for receiving in Coupa. Returns the updated purchase order line including its id, status, quantity, received, and version. Required: purchase_order_line_id.

update_a_coupa_purchase_order_reopen_by_id

Reopen a soft-closed purchase order in Coupa. Returns the reopened order header with id, po-number, status, version, and updated-at. Required: purchase_order_id.

update_a_coupa_purchase_order_release_from_buyer_hold_by_id

Release a Coupa purchase order that is on buyer hold. Returns the updated purchase order including id, po_number, status, supplier, total, created_at, and updated_at. Required: purchase_order_id.

create_a_coupa_purchase_order_change

Create a purchase order change request in Coupa against an existing purchase order. Requires order_header_id. Returns: id, created_at, updated_at, order_header_id, status, acknowledged_at, approvals, attachments, created_by, current_approval, total, and 29 more. POST is not accepted for purchase orders in draft or pending approval statuses.

get_single_coupa_purchase_order_change_by_id

Get a single Coupa purchase order change by id. Required: id. Returns: id, created_at, updated_at, order_header_id, status, acknowledged_at, approvals, attachments, created_by, current_approval, easy_form_response_id, exported, justification, order_line_changes, payment_term, pcard, po_number, price_hidden, reject_reason, total, and 20 more.

list_all_coupa_purchase_order_changes

List Coupa purchase order changes (query the change requests on record). Returns per record: id, order_header_id, status, po_number, total, created_at, and updated_at.

update_a_coupa_purchase_order_change_by_id

Update a pending-approval Coupa purchase order change by id. Required: id and approvals. Returns: id, created_at, updated_at, order_header_id, status, acknowledged_at, approvals, attachments, created_by, total, and 30 more. Cannot update records created through the Coupa Supplier Portal or change requests that are already approved.

update_a_coupa_contract_add_approver_by_id

Manually add an approver to a Coupa contract. Returns the updated contract record including id, name, number, status, and current-approval. Required: contract_id.

update_a_coupa_contract_ccc_signature_created_by_id

Notify Coupa that a signature has been added in CCC for a contract. Returns the updated contract including id, number, name, and status. Required: contract_id.

update_a_coupa_contract_check_in_by_id

Check in a contract's legal document in Coupa. Returns the updated contract record including id, name, number, status, version, and updated-at. Required: contract_id.

update_a_coupa_contract_check_out_by_id

Check out a contract's legal document in Coupa, locking it for editing. Returns the updated contract record including id, name, number, status, version, and updated_at. Required: contract_id.

create_a_coupa_contract_create_published

Create a published version of a contract in Coupa. Returns the published contract record including its id, name, number, status, and version. Required: contract_id.

create_a_coupa_contract_legal_agreement

Add or update the legal agreement file on a Coupa contract. Returns the updated contract including id, name, number, status, and legal-agreement-url. Required: contract_id.

update_a_coupa_contract_legal_agreement_by_id

Add or update the legal agreement file attached to a Coupa contract. Returns the updated contract including id, name, number, status, and legal-agreement-url. Required: contract_id. Updating Completed or Published contracts directly requires Contract Hierarchy to be enabled.

update_a_coupa_contract_remove_approval_by_id

Remove an approver who was manually added from a Coupa contract. Returns the updated contract record with id, name, number, status, and current approval details. Required: contract_id.

get_single_coupa_contract_retrieve_legal_agreement_by_id

Get the legal agreement file attached to a Coupa contract. Returns the file content as binary. Required: id.

get_single_coupa_contract_retrieve_executive_summary_by_id

Get the executive summary file for a Coupa contract. Returns the executive summary document itself as a file download rather than a JSON contract record. Required: id.

update_a_coupa_contract_submit_for_approval_by_id

Submit a Coupa contract for approval. Returns the contract record including id, name, number, status, supplier, and submitter. Required: contract_id.

update_a_coupa_contract_update_published_by_id

Update a published Coupa contract directly, without creating a draft. Returns the updated contract record including id, name, number, status, start-date, end-date, and updated-at. Required: contract_id. Requires the Contract Hierarchy setting to be enabled; without CLM Standard, work with contract revisions instead.

update_a_coupa_contract_withdraw_signature_by_id

Withdraw signatures on a Coupa contract after signing is withdrawn in CCC, moving the contract to its corresponding status. Returns the updated contract record including id, name, number, status, and updated_at. Required: contract_id.

get_single_coupa_contracts_template_by_id

Get a single Coupa contract template by id. Returns the full template record including: id, name, active, description, authoring-method, content-groups, created-at, and updated-at. Required: id.

list_all_coupa_contracts_templates

List Coupa contract templates. Returns each template's: id, name, active, description, authoring-method, contract_types, created-at, and updated-at.

get_single_coupa_charge_by_id

Get a single Coupa charge by id. Returns the charge record including id, charge-date, total, merchant-total, supplier, statement, and virtual-card details. Required: id.

list_all_coupa_charges

List Coupa charges. Returns charge records including id, charge-date, total, merchant-total, supplier, and statement details.

list_all_coupa_cycles

List cycle count lines for a cycle count in Coupa. Returns: id, created-at, status, updated-at, notes, deactivate-from-user-after-reassignment, requested-reassignments, from-user, to-user, created-by, updated-by.

coupa_cycles_partial_update

Partially update a cycle count line in Coupa. Returns the updated line including id, quantity, status, cycle_count_line_lots, discrepancy, and updated-at. Required: id, quantity.

update_a_coupa_cycle_by_id

Update a cycle count line in Coupa. Returns the updated line including id, quantity, status, cycle_count_line_lots, discrepancy, and updated-at. Required: id, quantity.

create_a_coupa_custom_object_object_instance

Create a new data record for a Coupa custom object. Returns the created instance with id, custom-object-code, custom-object-name, created-at, and updated-by. Required: object_id, custom-fields.

get_single_coupa_custom_object_object_instance_by_id

Get an individual data record for a Coupa custom object. Returns: id, custom-object-code, custom-object-name, form-response-id, custom-fields, created-at, updated-at, created-by, updated-by. Required: object_id, id.

list_all_coupa_custom_object_object_instances

List all data records for a Coupa custom object. Each record returns id, created-at, updated-at, created-by, and updated-by. Required: object_id.

update_a_coupa_custom_object_object_instance_by_id

Modify an existing data record for a Coupa custom object. Returns the updated instance with id, custom-object-code, custom-object-name, created-at, and updated-by. Required: object_id, id, custom-fields.

list_all_coupa_delegations

List all delegates configured in the Coupa delegations table. Returns: id, created-at, updated-at, delegator-id, delegate-id, start-date, end-date, reason, approval-delegate, receiving-delegate, invoice-requester-delegate, review-delegate, delegator, delegate, created-by, updated-by.

list_all_coupa_expense_delegations

List all expense delegations in Coupa. Returns each record with id, created-at, updated-at, expense-delegate-for, and expenses-delegated-to (user objects with login, firstname, lastname, and email).

create_a_coupa_supplier_risk_aware_feed

Create a new Supplier Risk Aware Feed for a supplier in Coupa. Returns: id, created_at, updated_at, number_field_01, supplier_id, supplier, and 9 more. Required: supplier (specify one of id, name, or number); at least one number_field is required. A supplier can have only one feed; the request fails while the supplier's status is `evaluating`.

get_single_coupa_supplier_risk_aware_feed_by_id

Get a specific Supplier Risk Aware Feed by id in Coupa. Returns: id, created_at, updated_at, number_field_01, number_field_02, number_field_03, number_field_04, number_field_05, number_field_06, number_field_07, number_field_08, number_field_09, number_field_10, supplier_id, supplier. Required: id.

list_all_coupa_supplier_risk_aware_feeds

List Supplier Risk Aware Feeds in Coupa. Returns: id, created_at, updated_at, number_field_01, number_field_02, number_field_03, number_field_04, number_field_05, number_field_06, number_field_07, number_field_08, number_field_09, number_field_10, supplier_id, supplier.

update_a_coupa_supplier_risk_aware_feed_by_id

Update a Supplier Risk Aware Feed by id in Coupa, typically setting or clearing (null) its number fields. Returns: id, created_at, updated_at, number_field_01, number_field_02, number_field_03, number_field_04, number_field_05, number_field_06, number_field_07, number_field_08, number_field_09, number_field_10, supplier_id, supplier. Required: id.

create_a_coupa_payables_allocation

Create a payable allocation between two Coupa payable documents. Returns the created allocation with id, status, payable_from_amount, payable_to_amount, reason_code, source, and created_at. Required: payable_from_amount, payable_from_currency, payable_to_amount, payable_to_currency.

get_single_coupa_payables_allocation_by_id

Get a single Coupa payable allocation by id. Returns the allocation with id, status, payable_from_amount, payable_to_amount, reason_code, payment_reference_id, and created_at. Required: id.

list_all_coupa_payables_allocations

List Coupa payable allocations. Returns each allocation with: id, status, payable_from_amount, payable_to_amount, reason_code, created_at.

get_single_coupa_payables_invoice_by_id

Get a single invoice payable from Coupa by id. Returns: id, status, payable-amount, paid-amount, remaining-amount, remittance-amount, accounting-amount, accounting-currency, currency, document-id, document-type, maturity-date, paid-date, reporting-total, last-exported-at, wc-eligibility, created-at, updated-at, and 4 more. Required: id.

list_all_coupa_payables_invoices

Query invoice payables in Coupa. Returns invoice payable records including: id, status, payable-amount, paid-amount, remaining-amount, currency, document-type, reconciliation-lines.

get_single_coupa_payables_order_by_id

Get a Coupa payables order by id. Returns: id, status, accounting-total, paid-total, remaining-total, remittance-total, paid-date, currency, exported, last-exported-at, milestone-id, reconciliation-lines, created-at, created-by, updated-at, updated-by. Required: id.

list_all_coupa_payables_orders

List Coupa payables orders. Returns each order's id, status, accounting-total, paid-total, remaining-total, remittance-total, currency, exported, and reconciliation-lines.

update_a_coupa_allocation_export_by_id

Mark a Coupa payable allocation as exported by id. Returns the allocation's id, exported flag, status, last_exported_at, payable-from/payable-to amounts and currencies, and reason_code. Required: allocation_id.

update_a_coupa_allocation_reverse_by_id

Reverse a Coupa payable allocation by id, creating negative reconciliation lines to free up the amount that was allocated. Returns the allocation with id, status, payable-from-amount, payable-to-amount, and reason-code. Required: allocation_id.

update_a_coupa_invoice_export_by_id

Mark a Coupa invoice payable as exported. Returns the updated payable record: id, status, last-exported-at, remittance-amount, updated-at. Required: invoice_id.

update_a_coupa_invoice_pay_externally_by_id

Mark a Coupa invoice payable as paid and stop tracking it in Coupa. Returns the payable record: id, status, paid-amount, paid-date, remaining-amount, remittance-amount. Required: invoice_id.

update_a_coupa_invoice_track_externally_by_id

Stop tracking an invoice payable in Coupa, marking it as tracked externally. Returns the invoice payable record including id, status, remittance-amount, remaining-amount, paid-amount, and updated-at. Required: invoice_id.

update_a_coupa_invoice_track_in_coupa_by_id

Start tracking an invoice payable in Coupa. Returns the payable record including id, status, remittance-amount, remaining-amount, currency, and updated-at. Required: invoice_id.

list_all_coupa_invoices_available_allocations

List invoice payables with their available allocations in Coupa. Returns: id, accounting-amount, accounting-currency, created-at, currency, document-id, document-type, exported-to-tradefin-at, last-exported-at, maturity-date, paid-amount, paid-date, payable-amount, received-allocations, remaining-amount, remittance-amount, status, and 5 more.

update_a_coupa_order_pay_externally_by_id

Mark a Coupa payables order as paid externally. Returns the updated order including id, status, paid-date, paid-total, remaining-total, and exported. Required: order_id.

update_a_coupa_order_ready_to_pay_by_id

Mark a Coupa payables order as ready to pay. Returns the updated order record including id, status, accounting-total, paid-total, remaining-total, and reconciliation-lines. Required: order_id.

create_a_coupa_external_payable

Create an external payable in Coupa from a source-system payment document. Returns the created payable with id, status, document-number, document-amount, and payable-amount. Required: account-type, currency, document-amount, document-number, document-type, payable-amount, source-name, and source-reference.

get_single_coupa_external_payable_by_id

Get an external payable by id in Coupa. Returns the payable with id, status, document-number, document-amount, paid-amount, payable-amount, and source-reference. Required: id (Coupa unique identifier).

list_all_coupa_external_payables

List external payables in Coupa. Each record includes id, status, document-number, document-amount, paid-amount, payable-amount, source-name, and source-reference.

coupa_external_payables_partial_update

Partially update an external payable in Coupa by sending only the fields to change. Returns the updated payable with id, status, document-number, document-amount, and payable-amount. Required: external_payable_id.

update_a_coupa_external_payable_by_id

Update an external payable by id in Coupa. Returns the updated payable with id, status, document-number, document-amount, and payable-amount. Required: id, account-type, currency, document-amount, document-number, document-type, payable-amount, source-name, and source-reference.

coupa_external_payables_update_void

Void an external payable in Coupa. Returns the payable record with id, status, document_number, document_amount, paid_amount, and remaining_amount. Required: external_payable_id.

create_a_coupa_expense_line_assign_attendee

Assign an attendee to a Coupa expense line. Returns the updated expense line record including its id, expense-attendee, amount, currency, and status. Required: expense_line_id, attendee_id.

create_a_coupa_expense_line_calculate_mileage

Recalculate a Coupa expense line's total from its mileage data. Returns the recalculated expense line including id, amount, accounting-total, expense-line-mileage, and status. Required: expense_line_id.

create_a_coupa_expense_line_calculate_per_diem

Calculate the line total for a Coupa expense line based on its trip data. Returns the recalculated expense line including amount, status, expense-date, and per-diem-trip. Required: expense_line_id.

delete_a_coupa_expense_line_unassign_attendee_by_id

Unassign an attendee from an expense line in Coupa. Returns an empty 204 response on success. Required: expense_line_id, expense_attendee_id.

update_a_coupa_expense_report_add_approver_by_id

Manually add an approver to an expense report in Coupa. Returns the expense report record including id, status, approvals, total, and updated-at. Required: expense_report_id.

get_single_coupa_expense_report_download_by_id

Download all receipts associated with a Coupa expense report in .zip file format. Returns the receipts packaged as a binary .zip archive (content-type-specific, not a JSON object). Required: id.

update_a_coupa_expense_report_remove_approval_by_id

Remove an approver who was manually added from a Coupa expense report. Returns the updated expense report including id, status, approvals, and total. Required: expense_report_id.

create_a_coupa_expense_report_expense_line

Create an expense line on a Coupa expense report. Returns: id, account, account-allocations, accounting-total, accounting-total-currency, allow-attach-preapproval, amount, created-at, currency, expense-category, expense-date, status, and 84 more. Required: expense_report_id, expense-category, foreign-currency, start-date, external-src-ref.

delete_a_coupa_expense_report_expense_line_by_id

Delete an expense line from a Coupa expense report. Returns an empty 204 response on success. Required: id and expense_report_id.

get_single_coupa_expense_report_expense_line_by_id

Get a single expense line of a Coupa expense report by id. Returns: id, account, account-allocations, accounting-total, accounting-total-currency, allow-attach-preapproval, amount, approved-amount, audit-status, created-at, created-by, currency, custom-field-1, expense-category, expense-date, status, and 80 more. Required: expense_report_id, id.

list_all_coupa_expense_report_expense_lines

List the expense lines of a Coupa expense report. Returns: id, account, account-allocations, accounting-total, accounting-total-currency, allow-attach-preapproval, amount, approved-amount, audit-status, created-at, created-by, currency, custom-field-1, custom-field-2, expense-category, expense-date, status, and 79 more. Required: expense_report_id.

coupa_expense_report_expense_lines_partial_update

Update an expense line of a Coupa expense report. Returns: id, account, account-allocations, accounting-total, accounting-total-currency, allow-attach-preapproval, amount, approved-amount, audit-status, created-at, created-by, currency, expense-category, expense-date, status, updated-at, and 80 more. Required: expense_report_id, expense_line_id.

update_a_coupa_expense_report_expense_line_by_id

Update an expense line on a Coupa expense report. Returns the updated line with id, expense-date, amount, currency, expense-category, and status. Required: expense_report_id, id.

create_a_coupa_expense_line

Create an expense line in Coupa. Returns the created expense line including id, amount, expense-category, expense-date, currency, and status. Required: expense-category, external-src-ref, foreign-currency, start-date.

delete_a_coupa_expense_line_by_id

Delete an expense line by id in Coupa. Returns an empty 204 response on success. Required: id.

get_single_coupa_expense_line_by_id

Get an expense line by id in Coupa. Returns the full expense line record including id, amount, expense-category, expense-date, currency, status, created-at, and updated-at. Required: id.

list_all_coupa_expense_lines

List Coupa expense lines. Returns: id, account, account-allocations, accounting-total, accounting-total-currency, allow-attach-preapproval, amount, approved-amount, audit-status, created-at, created-by, currency, custom-field-1, custom-field-2, custom-field-3, expense-category, expense-date, merchant, status, updated-at, and 76 more.

coupa_expense_lines_partial_update

Update an expense line in Coupa by id (PATCH). Returns: id, account, account-allocations, accounting-total, accounting-total-currency, allow-attach-preapproval, amount, approved-amount, created-at, expense-category, expense-date, foreign-currency, status, updated-at, and 82 more. Required: expense_line_id, expense-category, foreign-currency.

update_a_coupa_expense_line_by_id

Update an expense line in Coupa by id. Returns the updated expense line including id, expense-category, amount, currency, expense-date, audit-status, and status. Required: id.

create_a_coupa_order_header_confirmation_accept_header

Accept an order header confirmation from a supplier in Coupa. Returns: id, created_at, created_by, exported, external_reference_number, order_header, order_line_confirmations, status, updated_at, and 3 more. Only allowed when the confirmation status is pending_buyer_review and confirmation_level is header. Required: order_header_confirmation_id.

create_a_coupa_order_header_confirmation_reject_header

Reject a supplier's order header confirmation in Coupa; the confirmation must be in pending_buyer_review status and at header confirmation level. Returns: id, status, order_header, order_line_confirmations, created_at, updated_at, created_by, updated_by, and 4 more. Required: order_header_confirmation_id and a reason_insight_events request body.

coupa_order_header_confirmations_bulk_update

Update multiple order header confirmations in Coupa in one call by sending an array of records; line-level confirmations move to buyer_draft. Returns the updated confirmations with id, status, and order-line-confirmations. Each item requires id and order-line-confirmations.

get_single_coupa_order_header_confirmation_by_id

Get a single order header confirmation by id in Coupa. Returns: id, status, order-header, order-line-confirmations, external-reference-number, exported, integration-message, last-exported-at, created-at, created-by, updated-at, updated-by. Required: id.

list_all_coupa_order_header_confirmations

List order header confirmations in Coupa. Returns each confirmation with id, status, order-header, order-line-confirmations, exported, and created-at.

coupa_order_header_confirmations_partial_update

Partially update an order header confirmation in Coupa; when the confirmation is line level, its confirmation lines move to buyer_draft. Returns: id, status, order-header, order-line-confirmations, external-reference-number, exported, integration-message, last-exported-at, created-at, updated-at, and 2 more. Required: order_header_confirmation_id.

update_a_coupa_order_header_confirmation_by_id

Update an order header confirmation by id in Coupa; line-level confirmations move to buyer_draft. Returns: id, status, order-header, order-line-confirmations, external-reference-number, exported, integration-message, last-exported-at, created-at, created-by, updated-at, updated-by. Required: id.

create_a_coupa_order_header_confirmation_submit

Submit a line-level order confirmation that is in a draft state in Coupa. Returns the updated confirmation including id, status, order_header, order_line_confirmations, and updated_at. Required: order_header_confirmation_id.

create_a_coupa_order_pad_order_pad_line

Create an order pad line under an order pad in Coupa. Returns the created line including its id, item, supplier_id, order_amount_method, amount, and par_level. Required: order_pad_id, item, order_amount_method, supplier_id.

get_single_coupa_order_pad_order_pad_line_by_id

Get a single order pad line by id under an order pad in Coupa. Returns the full line object including its id, item, supplier_id, order_amount_method, amount, created_at, and updated_at. Required: order_pad_id, id.

list_all_coupa_order_pad_order_pad_lines

List order pad lines under an order pad in Coupa. Returns line objects including id, item, supplier_id, order_amount_method, amount, and position. Required: order_pad_id.

update_a_coupa_order_pad_order_pad_line_by_id

Update an order pad line under an order pad in Coupa. Returns the updated line including its id, item, supplier_id, order_amount_method, and amount. Required: order_pad_id, id, item, order_amount_method, supplier_id.

create_a_coupa_order_pad

Create an order pad (order list) in Coupa. Returns the created order pad including id, name, base_value, base_value_currency, suppliers, order_pad_lines, order_pad_sections, created_at, and updated_at. Required: name, base_value.

get_single_coupa_order_pad_by_id

Get a single order pad (order list) by id in Coupa. Returns the order pad including id, name, base_value, suppliers, order_pad_lines, order_pad_sections, created_at, and updated_at. Required: id.

list_all_coupa_order_pads

List order pads (order lists) in Coupa. Returns order pad records including id, name, base_value, suppliers, order_pad_lines, and created_at.

update_a_coupa_order_pad_by_id

Update an order pad (order list) by id in Coupa. Returns the updated order pad including id, name, base_value, suppliers, order_pad_lines, and updated_at. Required: id, name, base_value.

list_all_coupa_delivery_schedules

List all delivery schedules in Coupa. Returns: id, external-reference-id, delivery-date, commitment-level, quantity, status, created-at, updated-at, notes, deactivate-from-user-after-reassignment, requested-reassignments, from-user, to-user, created-by, updated-by.

create_a_coupa_delivery_schedules_reset_exported

Reset the exported flag of delivery schedules in Coupa. Returns an acknowledgement with the updated delivery schedule record, including its id and last-updated timestamp.

create_a_coupa_delivery_schedules_set_confirmed

Confirm delivery schedules in Coupa's Scheduling Agreement Collaboration API. Returns the affected scheduling agreement record including id, status, validity dates, supplier, and items with their delivery schedules (id, delivery-date, quantity, status).

create_a_coupa_delivery_schedules_set_exported

Mark delivery schedules as exported in Coupa via a bulk action. The upstream documentation specifies no request payload and no response body for this action; treat the returned response as opaque.

delete_a_coupa_scheduling_agreement_attachment_by_id

Delete an attachment from a Coupa scheduling agreement by id. Returns an empty 204 response on success. Required: agreement_id and id.

get_single_coupa_scheduling_agreement_attachment_by_id

Get a specific attachment of a Coupa scheduling agreement by id. Returns the attachment with id, created_at, and updated_at. Required: agreement_id, id.

list_all_coupa_scheduling_agreement_attachments

List attachments for a Coupa scheduling agreement. Returns attachment records with id, created_at, and updated_at. Required: agreement_id.

create_a_coupa_scheduling_agreement_issue

Issue a scheduling agreement in Coupa. Returns the issued agreement including id, external-scheduling-agreement-number, status, validity-start-date, supplier, and items. Required: agreement_id.

coupa_scheduling_agreements_cancel

Cancel a scheduling agreement in Coupa by agreement_id. Returns the updated agreement record including id, external-scheduling-agreement-number, status, validity-start-date, validity-end-date, supplier, and items. Required: agreement_id.

create_a_coupa_scheduling_agreement

Create a new scheduling agreement in Coupa. Returns the created agreement with id, external-scheduling-agreement-number, status, validity dates, supplier, and line items. Required: external-scheduling-agreement-number, type, validity-start-date, validity-end-date, supplier and items

get_single_coupa_scheduling_agreement_by_id

Get the details of a specific Coupa scheduling agreement by id. Returns the agreement including id, external-scheduling-agreement-number, type, status, validity dates, supplier, shipping_address, payment-term, and items. Required: id.

list_all_coupa_scheduling_agreements

List all Coupa scheduling agreements. Returns agreement records with id, external-scheduling-agreement-number, type, status, validity dates, supplier, and line items.

update_a_coupa_scheduling_agreement_by_id

Update a Coupa scheduling agreement by id. Returns the updated agreement with id, external-scheduling-agreement-number, status, validity dates, supplier, and line items. Required: id.

create_a_coupa_inventory_adjustment

Create an inventory adjustment in Coupa. Returns the created inventory transaction record including id, status, quantity, price, total, and type. Required: type and rfid-tag.

get_single_coupa_inventory_adjustment_by_id

Get a single Coupa inventory adjustment by id. Returns the full inventory transaction record including id, status, quantity, price, total, created-at, and updated-at. Required: id (Coupa's internal inventory transaction id).

list_all_coupa_inventory_adjustments

List (query) Coupa inventory adjustments. Each item is an inventory transaction record including id, status, quantity, price, total, and type.

coupa_inventory_adjustments_partial_update

Update a Coupa inventory adjustment's export flag only via PATCH. Returns the updated inventory transaction record including id, exported, status, quantity, and total. Required: inventory_adjustment_id.

update_a_coupa_inventory_adjustment_by_id

Update a Coupa inventory adjustment's export flag only via PUT. Returns the updated inventory transaction record including id, exported, status, quantity, and total. Required: id.

create_a_coupa_inventory_consumption

Create inventory consumptions in Coupa by posting an InventoryConsumption transaction. Returns: id, quantity, price, total, status, exported, last-exported-at, transaction-date, created-at, updated-at, created-by, updated-by, rfid-tag, barcode, match-reference, and 25 more. Required: type; rfid-tag is also required for RFID-enabled inventory items.

get_single_coupa_inventory_consumption_by_id

Get a Coupa inventory consumption by id. Returns: id, quantity, price, total, status, exported, last-exported-at, transaction-date, created-at, updated-at, created-by, updated-by, rfid-tag, barcode, match-reference, asset-tags, attachments, comments, account, account-allocations, adjustment-code, item, order-line, and 17 more. Required: id.

list_all_coupa_inventory_consumptions

List (query) Coupa inventory consumptions. Returns inventory consumption objects: id, type, quantity, status, exported, created-at.

coupa_inventory_consumptions_partial_update

Update an inventory consumption in Coupa by id (PATCH). Returns the updated consumption: id, type, quantity, status, exported. Required: inventory_consumption_id.

update_a_coupa_inventory_consumption_by_id

Update an inventory consumption in Coupa by id. PUT is limited to updating the export flag only. Returns: id, quantity, price, total, status, exported, last-exported-at, transaction-date, created-at, updated-at, created-by, updated-by, rfid-tag, barcode, match-reference, asset-tags, attachments, comments, account, and 21 more. Required: id.

create_a_coupa_inventory_transfer

Create inventory transfers in Coupa by posting an InventoryTransfer transaction. Returns the created record including id, status, quantity, price, and exported. Required: type, rfid-tag.

get_single_coupa_inventory_transfer_by_id

Get a single Coupa inventory transfer by id. Returns the inventory transaction record including id, status, quantity, price, exported, and transaction-date. Required: id.

list_all_coupa_inventory_transfers

List (query) Coupa inventory transfers. Returns inventory transaction records including id, status, quantity, price, exported, and transaction-date.

coupa_inventory_transfers_partial_update

Partially update a Coupa inventory transfer by inventory_transfer_id — the export flag only. Returns the updated record including id, status, exported, and updated-at. Required: inventory_transfer_id.

update_a_coupa_inventory_transfer_by_id

Update a Coupa inventory transfer by id — the export flag only. Returns the updated record including id, status, exported, and updated-at. Required: id.

create_a_coupa_receiving_transaction

Create a receiving transaction in Coupa. Returns the created transaction including id, type, quantity, price, total, order-line, status, created-at, and updated-at. Required: type, rfid-tag; type must be one of the documented receiving or void transaction types (e.g. InventoryReceipt).

delete_a_coupa_receiving_transaction_by_id

Delete a Coupa receiving transaction by id. Returns an empty 204 response on success.

get_single_coupa_receiving_transaction_by_id

Get a Coupa receiving transaction by id. Returns the transaction with id, type, quantity, price, total, order-line, status, timestamps, and related references. Required: id.

list_all_coupa_receiving_transactions

List and query Coupa receiving transactions ordered by id. Returns transactions with id, type, quantity, price, total, order-line, status, and timestamps.

coupa_receiving_transactions_partial_update

Update a Coupa receiving transaction's export flag by id (PATCH supports the export flag only). Returns the updated transaction including id, type, exported, quantity, price, and status. Required: receiving_transaction_id, exported.

update_a_coupa_receiving_transaction_by_id

Update the export flag of a Coupa receiving transaction by id — this endpoint changes only the exported flag and no other fields. Returns the updated receiving transaction with id, type, status, exported, quantity, price, total, and updated_at. Required: id.

coupa_receiving_transactions_update_void

Perform the Void action on a Coupa receiving transaction. Returns the updated receiving transaction with id, type, status, voided_value, original_transaction_id, and updated_at. Required: receiving_transaction_id.

create_a_coupa_pick

Create a pick list fulfillment reservation in Coupa. Returns the created reservation including id, qty-ordered, qty-fulfilled, status, type, item, and warehouse. Required: qty-ordered.

list_all_coupa_picks

List pick list fulfillment reservations in Coupa. Returns each reservation with id, qty-ordered, qty-fulfilled, status, type, item, and warehouse-location.

create_a_coupa_return_request

Create a Coupa return request in draft status. Returns: id, number, status, rma, address, lines, created-at, updated-at, created-by, updated-by, notes, deactivate-from-user-after-reassignment, requested-reassignments, from-user, to-user. Required: address, lines.

get_single_coupa_return_request_by_id

Get a single Coupa return request by id. Returns: id, number, status, rma, address, lines, created-at, updated-at, created-by, updated-by, notes, deactivate-from-user-after-reassignment, requested-reassignments, from-user, to-user. Required: id.

list_all_coupa_return_requests

List Coupa return requests. Returns each request with id, number, status, rma, address, lines, created-at, and updated-at.

coupa_return_requests_submit

Submit a Coupa return request for approval. Returns: id, number, status, rma, address, lines, created-at, updated-at, created-by, updated-by, notes, deactivate-from-user-after-reassignment, requested-reassignments, from-user, to-user. Required: return_request_id.

get_single_coupa_return_to_supplier_transaction_by_id

Get a single return to supplier transaction in Coupa by id. Returns the full transaction record including id, type, status, quantity, price, total, exported, and created-at. Required: id.

list_all_coupa_return_to_supplier_transactions

List return to supplier transactions in Coupa. Returns each transaction with id, type, status, quantity, price, total, exported, and created-at.

coupa_return_to_supplier_transactions_partial_update

Update only the export flag of a return to supplier transaction in Coupa. Returns the updated transaction including id, exported, status, type, and updated-at. Required: return_to_supplier_transaction_id, exported.

update_a_coupa_return_to_supplier_transaction_by_id

Update a return to supplier transaction in Coupa by id. Returns the updated transaction including id, type, status, quantity, exported, and updated-at. Required: id, type, rfid-tag.

update_a_coupa_header_add_approver_by_id

Add an approver or watcher to a Coupa work confirmation header (service sheet) that is pending approval. Returns the updated sheet including its id, status, approvals, supplier-display-name, total, and created-at/updated-at timestamps. Required: work_confirmation_header_id, approver_id.

update_a_coupa_header_bypass_current_approval_by_id

Bypass the current approval step on a Coupa work confirmation header (service sheet) that is pending approval. Returns the updated sheet with id, status, approvals, total, and created_at. Required: work_confirmation_header_id. Cannot be used on the last step in the approval chain; returns a 422 error if the sheet is not in pending approval status.

update_a_coupa_header_remove_approval_by_id

Remove an approver or watcher from a Coupa service sheet that is pending approval. Returns the updated service sheet including id, status, approvals, po-number, and total. Required: work_confirmation_header_id, approval_id.

update_a_coupa_integration_error_resolve_by_id

Resolve a Coupa integration error, marking it as resolved. Returns the updated integration error record including id, resolved, status, document_type, and responses. Required: integration_error_id.

update_a_coupa_integration_error_unresolve_by_id

Unresolve a previously resolved integration error in Coupa. Returns the integration error record including id, resolved, status, document_type, document_id, and updated_at. Required: integration_error_id.

create_a_coupa_integration_errors_create_alert

Create an alert for a Coupa integration error by supplying the alert contact type and the associated integration run. Returns the integration error record including id, contact_alert_type, document_type, status, and resolved. Required: contact_alert_type, integration_run.

create_a_coupa_integration_history_records_acknowledge

Acknowledge integration history records in Coupa. Returns: id, contact_alert_type, created_at, created_by, creation_method, document_id, document_revision, document_status, document_type, external_id, integration, resolved, status, updated_at, and 3 more. Required: contact_alert_type, document_id, and document_type in the request body.

create_a_coupa_integration_history_records_create_alert

Create an integration history record alert in Coupa for a document. Returns the created record including id, contact_alert_type, document_type, document_id, and status. Required: contact_alert_type, document_id, document_type.

create_a_coupa_integration_history_records_mark_exported

Mark integration history records as exported in Coupa. Returns the integration history record including id, status, resolved, document_type, and document_id. Required: document_type, document_id, contact_alert_type.

update_a_coupa_receipt_request_add_approver_by_id

Add a user as an approver on a Coupa receipt request. Returns the updated receipt request including id, status, type, and lines. Required: receipt_request_id, approver_id.

update_a_coupa_receipt_request_add_watcher_by_id

Add a user as a watcher on a Coupa receipt request. Returns the receipt request with: id, status, type, lines, created_at, updated_at, created_by, updated_by. Required: receipt_request_id (path), id.

update_a_coupa_receipt_request_remove_approval_by_id

Remove a user as an approver from a Coupa receipt request. Returns the updated receipt request including id, type, status, lines, and updated_at. Required: receipt_request_id.

update_a_coupa_receipt_request_remove_watcher_by_id

Remove a user as a watcher from a receipt request in Coupa. Returns the receipt request including its id, type, status, created_at, updated_at, and request lines. Required: receipt_request_id.

create_a_coupa_receipt_request_withdraw

Withdraw a receipt request in Coupa, pulling it back out of the approval flow. Returns: id, created_at, updated_at, status, lines, created_by, updated_by. Required: receipt_request_id.

create_a_coupa_suppliers_create_supplier_user_preference

Create supplier user preferences in Coupa. This custom Suppliers API action takes no documented request parameters and returns a success response whose payload Coupa does not enumerate in its documentation.

delete_a_coupa_suppliers_logout_iframe_session_by_id

Log out the current Coupa Supplier Portal (CSP) iframe session. Returns an empty 204 response on success. Takes no parameters.

create_a_coupa_suppliers_sync_supplier_user_locale

Sync supplier user locale in Coupa. Returns the supplier record including id, name, number, status, created-at, and updated-at.

list_all_coupa_user_reassignment_transactions

List the transaction details of a Coupa user reassignment request. Returns: id, created-at, updated-at, status, notes, deactivate-from-user-after-reassignment, summary, requested-reassignments, from-user, to-user, created-by, updated-by. Required: user_reassignment_id.

get_single_coupa_worker_assignment_show_history_by_id

Get the history for a worker assignment in Coupa. Returns the assignment's history records with fields such as id, status, start_date, end_date, worker, and resource_manager. Required: id.

create_a_coupa_worker_invite_worker

Invite a Coupa worker to register for portal access by sending an invitation for the worker identified by worker_id. Returns the worker record including id, first-name, last-name, status, and portal-access. Required: worker_id.

get_single_coupa_work_confirmation_header_by_id

Get a single Coupa work confirmation header (service sheet) by id. Returns: id, status, po-number, total, order-total, order-total-received-amount, currency, supplier, supplier-display-name, supplier-reviews, order-header, lines, approvals, comments, created-at, created-by, created-by-fullname, updated-at, and 3 more. Required: id.

list_all_coupa_work_confirmation_headers

List Coupa work confirmation headers (service sheets). Returns sheets with id, status, po-number, total, supplier-display-name, and created-at.

coupa_work_confirmation_headers_void

Void an approved Coupa work confirmation header (service sheet): it moves to pending_void and starts the void approval chain. Only one pending void per sheet. Returns: id, status, po-number, 18 more. Required: work_confirmation_header_id, comments, reason_insight_code, reason_insight_id. Provide reason_insight_code or reason_insight_id, not both.

create_a_coupa_user_reassignment

Create a Coupa user reassignment request moving a user's responsibilities, memberships, approvals, and platform roles to another user. Returns: id, status, requested-reassignments, summary, and 8 more. Required: from-user, to-user; if deactivate-from-user-after-reassignment is false, at least one requested-reassignments element must be true.

get_single_coupa_user_reassignment_by_id

Get a Coupa user reassignment request by id to check its status and reassignment summary after a preceding POST. Returns: id, created-at, updated-at, status, notes, deactivate-from-user-after-reassignment, requested-reassignments, summary, from-user, to-user, and 2 more. Required: id (the numeric reassignment request id returned by create).

create_a_coupa_worker_assignment

Create a worker assignment in Coupa. Returns the created assignment record including id, status, start-date, end-date, worker, resource-manager, and sourceable. Required: end-date, start-date, status, service-manager-email.

get_single_coupa_worker_assignment_by_id

Get a single Coupa worker assignment by id. Returns the full assignment record including id, status, start-date, end-date, worker, resource-manager, sourceable, and audit fields. Required: id.

list_all_coupa_worker_assignments

List all worker assignments in Coupa. Returns assignment records including id, status, start-date, end-date, worker, resource-manager, and sourceable details.

update_a_coupa_worker_assignment_by_id

Update a Coupa worker assignment by id. Returns the updated assignment record including id, status, start-date, end-date, worker, resource-manager, and sourceable. Required: id, start-date, end-date, status, service-manager-email.

coupa_worker_assignments_update_cancel

Cancel a Coupa worker assignment by id: sets the assignment status to Cancelled and records the cancellation in the assignment history. Returns the updated assignment with id, status, start-date, end-date, and worker. Required: worker_assignment_id. Coupa also requires a cancel reason on cancel.

coupa_worker_assignments_update_close

Close a Coupa worker assignment. Status becomes Closed when the end date is today or in the past, otherwise Pending Close; Coupa requires a Close Reason element. Returns the updated assignment with id, status, start-date, end-date, and worker. Required: worker_assignment_id.

coupa_worker_assignments_update_confirm

Confirm a Coupa worker assignment once all mandatory onboarding activities are approved; status becomes Active, or Scheduled when the start date is in the future. Returns the updated assignment with id, status, start-date, end-date, and worker. Required: worker_assignment_id.

coupa_worker_assignments_partial_update

Update a Coupa worker assignment by id (PATCH). Returns the updated assignment record with id, status, start-date, end-date, worker, resource-manager, and sourceable details. Required: worker_assignment_id.

create_a_coupa_worker

Create a worker in Coupa. Returns the created worker record including id, first-name, last-name, status, and supplier. Required: first-name, last-name, date-of-birth, gender-code, and total-experience-in-years.

get_single_coupa_worker_by_id

Get a single Coupa worker by id. Returns the worker record including id, first-name, last-name, status, supplier, and worker-emails. Required: id.

list_all_coupa_workers

List Coupa workers. Returns worker records including id, first-name, last-name, status, supplier, and worker-emails.

update_a_coupa_worker_by_id

Update a Coupa worker by id. Returns the updated worker record including id, first-name, last-name, status, and supplier. Required: id, first-name, last-name, date-of-birth, gender-code, and total-experience-in-years.

coupa_workers_partial_update

Partially update a Coupa worker by worker id. Returns the updated worker record including id, first-name, last-name, status, and supplier. Required: worker_id, first-name, last-name, date-of-birth, gender-code, and total-experience-in-years.

update_a_coupa_easy_form_response_add_approver_by_id

Manually add an approver to an easy form response in Coupa. Returns the updated easy form response record including id, status, approvals, current-approval, and subject. Required: user_id, easy_form_response_id, approver_id.

update_a_coupa_easy_form_response_approval_by_id

Submit an easy form response for approval in Coupa on behalf of a specific user. Returns the easy form response record including id, status, approvals, current-approval, and submitted-at. Required: user_id, easy_form_response_id.

update_a_coupa_easy_form_response_remove_approval_by_id

Remove a manually added approver from a Coupa easy form response. Returns the easy form response record with id, name, status, approvals, current-approval, easy-form-widget-responses, subject, created-at, and updated-at. Required: user_id, easy_form_response_id.

update_a_coupa_easy_form_response_review_by_id

Review an easy form response for a Coupa user. Returns the reviewed response including its id, name, status, approvals, and subject. Required: user_id, easy_form_response_id.

coupa_integrations_bulk_update

Bulk update of integrations. Returns an empty 204 response on success.

create_a_coupa_integration

Create an integration in Coupa. Returns the created integration record including id, code, name, direction, end-system, and integration-type. Required: business-object, code, direction, end-system, end-system-type, name.

get_single_coupa_integration_by_id

Get a single Coupa integration by id. Returns the integration record including id, code, name, direction, end-system, and created-at. Required: id.

list_all_coupa_integrations

List integrations in Coupa. Returns each integration record including id, code, name, direction, end-system, and integration-type.

coupa_integrations_partial_update

Partial update of integrations. Returns an empty 204 response on success.

update_a_coupa_integration_by_id

Update an existing integration in Coupa by id. Returns the updated integration with id, name, code, direction, end-system-type, standard, and updated-at. Required: id, business-object, code, direction, end-system, end-system-type, and name.

create_a_coupa_uom_translation

Create a new translation for a Unit of Measure (UOM) in Coupa. Returns the created translation including id, locale, key, value, created_at, and updated_at. Required: uom_id, key, value.

delete_a_coupa_uom_translation_by_id

Delete a UOM translation in Coupa by id. Returns an empty 204 response on success. Required: uom_id, id.

get_single_coupa_uom_translation_by_id

Get a single UOM translation in Coupa by id. Returns: id, locale, key, value, created_at, updated_at. Required: uom_id, id.

list_all_coupa_uom_translations

List all UOM translations for a Unit of Measure in Coupa. Returns: id, locale, key, value, created_at, updated_at, created_by, updated_by, created-at, updated-at, status, notes, deactivate-from-user-after-reassignment, requested-reassignments, from-user, to-user, created-by, updated-by. Required: uom_id.

coupa_uom_translations_partial_update

Modify an existing UOM translation in Coupa. Returns the updated translation including id, locale, key, value, created_at, and updated_at. Required: uom_id, uom_translation_id.

update_a_coupa_uom_translation_by_id

Update an existing UOM translation for a Unit of Measure in Coupa. Returns the updated translation with its id, locale, key, value, and created_at / updated_at timestamps. Required: uom_id, id, key, value.

get_single_coupa_user_easy_form_response_by_id

Get a single easy form response for a Coupa user by id. Returns the full record with id, name, status, easy-form-id, submitted-at, approvals, and easy-form-widget-responses. Required: id, user_id.

list_all_coupa_user_easy_form_responses

List easy form responses for a Coupa user. Returns each response with id, name, status, easy-form-id, submitted-at, approvals, and easy-form-widget-responses. Required: user_id.

update_a_coupa_user_easy_form_response_by_id

Update an easy form response for a Coupa user by id. Returns the updated record with id, name, status, easy-form-id, submitted-at, approvals, and easy-form-widget-responses. Required: id, user_id, easy-form-id.

get_single_coupa_supplier_information_easy_form_response_by_id

Get a single easy form response for a supplier information record in Coupa. Returns the response with id, name, status, easy-form-id, submitted-at, approvals, and easy-form-widget-responses. Required: supplier_information_id, id.

update_a_coupa_supplier_information_easy_form_response_by_id

Update an easy form response belonging to a supplier information record in Coupa. Returns the updated response with id, name, status, easy-form-id, submitted-at, approvals, and easy-form-widget-responses. Required: supplier_information_id, id, easy-form-id.

create_a_coupa_data_file_sources_load_file

Upload a file to Coupa and process it through a data file source. Returns the load record with id, source-for, status, progress, records-created, records-updated, result-text, and upload-errors. Required: source-for.

list_all_coupa_default

List default receiving locations from Coupa, each pairing an item with a warehouse and warehouse location. Returns: id, created-at, updated-at, item, warehouse, warehouse-location. Optional filters: item-id, warehouse-id, warehouse-location-id.

create_a_coupa_default

Create a default receiving location in Coupa that pairs an item with a warehouse (and optionally a warehouse location) for default receiving. Returns: id, created-at, updated-at, item, warehouse, warehouse-location. Required: item-id, warehouse-id.

update_a_coupa_user_group_by_id

Update a Coupa user group by id, replacing the group's fields. Returns the updated group including id, name, mention-name, description, active, open, owner, users, created-at, and updated-at. Required: id, name.

create_a_coupa_integration_error

Create a Coupa integration error to log a failed integration transaction. Returns the created error including id, contact_alert_type, status, resolved, and document_id. Required: contact_alert_type, integration_run.

get_single_coupa_integration_error_by_id

Get a single Coupa integration error by id. Returns the full error record including id, contact_alert_type, status, resolved, document_type, document_id, and created_at. Required: id.

list_all_coupa_integration_errors

List Coupa integration errors. Returns each error's id, contact_alert_type, status, resolved, document_type, document_id, and created_at.

update_a_coupa_integration_error_by_id

Update a Coupa integration error by id, for example to change its status or resolved state. Returns the updated record including id, status, resolved, updated_at, and updated_by. Required: id.

delete_a_coupa_receipt_request_by_id

Delete a receipt request in Coupa by id. Returns the deleted receipt request's id, status, notes, requested-reassignments, from-user, and to-user. Required: id.

get_single_coupa_receipt_request_by_id

Get a single receipt request in Coupa by id. Returns the receipt request's id, status, notes, requested-reassignments, from-user, to-user, and created-at/updated-at timestamps. Required: id.

list_all_coupa_receipt_requests

List receipt requests in Coupa. Returns each receipt request's id, status, notes, requested-reassignments, from-user, to-user, and created-at/updated-at timestamps.

coupa_receipt_requests_submit

Submit a receipt request in Coupa for approval. Returns the updated receipt request with id, status, notes, requested-reassignments, from-user, and to-user. Required: receipt_request_id.

create_a_coupa_integration_history_record

Create an integration history record in Coupa for an integration document. Returns the created record including id, document_type, document_id, status, resolved, and created_at. Required: contact_alert_type, document_id, document_type.

get_single_coupa_integration_history_record_by_id

Get a single Coupa integration history record by id. Returns the record's id, document_type, document_id, status, external_id, resolved, responses, created_at, and updated_at. Required: id.

list_all_coupa_integration_history_records

List Coupa integration history records (query integration history records). Returns each record's id, document_type, document_id, document_status, status, resolved, created_at, and updated_at.

create_a_coupa_order_reconciliation_line

Create an order reconciliation line in Coupa. Returns the created line with id, payable-id, payable-type, amount-paid, and payment-date. Supply the payable-id of the milestone being reconciled plus adjustment-date, amount, category, and note in the body.

get_single_coupa_order_reconciliation_line_by_id

Get a single order reconciliation line in Coupa by id. Returns: id, payable-id, payable-type, amount-paid, notes, payment-date, created-at, created-by, updated-at, updated-by. Required: id.

list_all_coupa_order_reconciliation_lines

List order reconciliation lines in Coupa. Returns each line's id, payable-id, payable-type, amount-paid, and payment-date.

create_a_coupa_worker_avatar

Create or update a worker's avatar in Coupa. Returns the updated worker with avatar metadata (avatar-file-name, avatar-content-type) plus id, status, supplier, and created-at/updated-at. Required: worker_id.

delete_a_coupa_worker_avatar_by_id

Delete a worker's avatar in Coupa. Returns an empty 204 response on success. Required: id (the worker id).

get_single_coupa_worker_avatar_by_id

Get a worker's avatar in Coupa. Returns the worker with avatar metadata (avatar-file-name, avatar-content-type) plus id, status, supplier, and country-of-residence. Required: id (the worker id).

update_a_coupa_worker_avatar_by_id

Update a worker's avatar in Coupa. Returns the updated worker with avatar metadata (avatar-file-name, avatar-content-type) plus id, status, supplier, and updated-at. Required: id (the worker id).

Why Truto

Why use Truto’s MCP server for Coupa

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 850+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

Unified APIs

Unified APIs for Coupa

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified User Directory API

Groups

Groups are a collection of users in the source application. In some applications, they might also be called Teams.

View Docs

Users

The User object represents a User.

View Docs

Unified Accounting API

Accounts

Account represents bank accounts or a general ledger account

View Docs

Contacts

Contacts represents the company's vendor or a customer

View Docs

Currencies

Currency represents the currencies used by the company

View Docs

Employees

Employee represents an employee of the company

View Docs

Invoices

Invoices represents the invoices of the company

View Docs

Items

Items represents the items of the company

View Docs

Purchase Order Requisitions

Purchase Order Requisitions represents the purchase order requisitions of the company

View Docs

Purchase Orders

Purchase Orders represents the purchase orders of the company

View Docs

Tracking Categories

TrackingCategories represents the tracking categories of the company

View Docs

How It Works

From zero to integrated

Go live with Coupa in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Coupa account

Use Truto’s frontend SDK to connect your customer’s Coupa account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Coupa

Truto’s Proxy API is a 1-to-1 mapping of the Coupa API. You call us, we call Coupa, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Coupa’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Coupa on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

What authentication methods does Coupa support?

Coupa's API supports OAuth 2.0 and API key-based authentication. Truto handles the auth flow for your end users, so you don't need to manage token exchange, refresh cycles, or credential storage yourself.

Which Coupa objects are available through Truto's Unified APIs?

Through the Unified Accounting API: Accounts, Contacts (Suppliers), Currencies, Employees, Invoices, Items, Purchase Order Requisitions, Purchase Orders, and Tracking Categories. Through the Unified User Directory API: Users and Groups. Additional Coupa-specific tools can be built on request.

Can I create records in Coupa or is it read-only?

Truto's unified API models support both read and write operations where the underlying Coupa API permits. You can create Purchase Order Requisitions, push Invoices, and sync Contacts. The exact supported operations per resource depend on the unified model — reach out to confirm write support for a specific object.

How does Truto handle Coupa's API pagination and rate limits?

Truto abstracts away pagination and rate limit handling entirely. You make standard requests to Truto's unified API, and Truto manages cursor-based pagination and respects Coupa's rate limits under the hood so your integration doesn't get throttled.

Can I access Coupa custom fields and account segments?

Coupa uses custom fields and account segments extensively. Tracking Categories in the Unified Accounting API map to Coupa's account structure (departments, GL codes, project codes). For deeply custom field mappings beyond the unified model, Truto can build Coupa-specific tools on request.

What if I need a Coupa endpoint that isn't covered by the Unified API?

Truto builds integration tools on request. If you need access to Coupa objects beyond the current Unified Accounting and User Directory models — such as Contracts, Budget Lines, or Approval Chains — the Truto team can add support for those endpoints.

From the Blog

Coupa integration guides

Deep dives, architecture guides, and practical tutorials for building Coupa integrations.

Coupa

Get Coupa integrated into your app

Our team understands what it takes to make a Coupa integration successful. A short, crisp 30 minute call with folks who understand the problem.