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 usUse Cases
Why integrate with Coupa
Common scenarios for SaaS companies building Coupa integrations for their customers.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
Unified Accounting API
Accounts
Account represents bank accounts or a general ledger account
Contacts
Contacts represents the company's vendor or a customer
Currencies
Currency represents the currencies used by the company
Employees
Employee represents an employee of the company
Invoices
Invoices represents the invoices of the company
Items
Items represents the items of the company
Purchase Order Requisitions
Purchase Order Requisitions represents the purchase order requisitions of the company
Purchase Orders
Purchase Orders represents the purchase orders of the company
Tracking Categories
TrackingCategories represents the tracking categories of the company
How It Works
From zero to integrated
Go live with Coupa in under an hour. No boilerplate, no maintenance burden.
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.
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.
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.
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.