Coupa V2 Connector > Coupa V2 Operations > Coupa V2 Target Operations
  

Coupa V2 Target Operations

Create a Target transformation in the Mapping Task wizard to write data to Coupa. When you select a Coupa V2 connection for a Target transformation in a mapping, you can select an operation from the list of operations. When you want to write data that is in relational format to Coupa, the Secure Agent converts the relational data to a hierarchical format before writing to Coupa.
The following table lists the supported Coupa target operations and the corresponding API resource path:
Operation
API Resource Path
PATCH_Accounts_update
/api/accounts/:id
PATCH_AccountTypes_action
/api/account_types(/:action(/:id))
PATCH_AccountTypes_update
/api/account_types/:id
PATCH_AccountValidationRules_update
/api/account_validation_rules/:id
PATCH_Addresses_update
/api/addresses/:id
PATCH_AdvanceShipNotices_update
/api/asn/headers/:id
PATCH_Approvals_approve
/api/approvals/:id/approve
PATCH_Approvals_hold
/api/approvals/:id/hold
PATCH_Approvals_reject
/api/approvals/:id/reject
PATCH_Approvals_update
/api/approvals/:id
PATCH_BudgetLineAdjustment_update
/api/budget_lines/:budget_line_id/budget_line_adjustments/:id
PATCH_BudgetLines_update
/api/budget_lines/:id
PATCH_ContentGroups_update
/api/business_groups/:id
PATCH_Contracts_update
/api/contracts/:id
PATCH_ContractTerms_update
/api/contracts/:contract_id/contract_terms/:id
PATCH_Currencies _update
/api/currencies/:id
PATCH_Departments_update
/api/departments/:id
PATCH_ExchangeRates_update
/api/exchange_rates/:id
PATCH_ExpenseArtifacts_ExpenseLines_update
/api/expense_lines/:expense_line_id/expense_artifacts/:id
PATCH_ExpenseArtifacts_ExpenseReports_update
/api/expense_reports/:expense_report_id/expense_lines/ :expense_line_id/expense_artifacts/:id
PATCH_ExpenseArtifacts_update
/api/expense_lines/expense_artifacts/:id
PATCH_ExpenseLines_ExpenseReports_update
/api/expense_reports/:expense_report_id/expense_lines/:id
PATCH_ExpenseLines_update
/api/expense_lines/:id
PATCH_ExpenseReports_update
/api/expense_reports/:id
PATCH_IntegrationHistoryRecord_update
/api/integration_history_records/:id
PATCH_IntegrationRuns_update
/api/integration_runs/:id
PATCH_Integrations_action
/api/integrations(/:action(/:id))
PATCH_Integrations_update
/api/integrations/:id
PATCH_InventoryTransactions_update
/api/inventory_transactions/:id
PATCH_Invoices_update
/api/invoices/:id
PATCH_Items_update
/api/items/:id
PATCH_LookupValues_update
/api/lookup_values/:id
PATCH_OrderPad_update
/api/order_pads/:id
PATCH_OrderPadLines_update
/api/order_pads/:order_pad_id/order_pad_lines/:id
PATCH_PaymentTerms_action
/api/payment_terms(/:action(/:id))
PATCH_PaymentTerms_update
/api/payment_terms/:id
PATCH_PurchaseOrderLines_update
/api/purchase_order_lines/:id
PATCH_PurchaseOrders_update
/api/purchase_orders/:id
PATCH_RemitToAddresses_Invoices_update
/api/invoices/:invoice_id/remit_to_addresses/:id
PATCH_RemitToAddresses_Suppliers_update
/api/suppliers/:supplier_id/addresses/:id
PATCH_Requisitions_update
/api/requisitions/:id
PATCH_ShippingTerms_action
/api/shipping_terms(/:action(/:id))
PATCH_ShippingTerms_update
/api/shipping_terms/:id
PATCH_SupplierItems_Items_update
/api/items/:item_id/supplier_items/:id
PATCH_SupplierItems_update
/api/supplier_items/:id
PATCH_Suppliers_update
/api/suppliers/:id
PATCH_SupplierSites_update
/api/suppliers/:supplier_id/supplier_sites/:id
PATCH_TaxRegistration_update
/api/tax_registrations/:id
PATCH_User_update
/api/users/:id
PATCH_UserGroups_update
/api/user_groups/:id
POST_ ExchangeRates_create
/api/exchange_rates
POST_ ExpenseArtifacts_ExpenseLines_create
/api/expense_lines/:expense_line_id/expense_artifacts
POST_ ExpenseArtifacts_ExpenseReports_create
/api/expense_reports/:expense_report_id/expense_lines/:expense_line_id/expense_artifacts
POST_ LookupValues_create
/api/lookup_values
POST_Accounts_create
/api/accounts
POST_AccountTypes_action
/api/account_types(/:action(/:id))
POST_AccountTypes_copy
/api/account_types/:id/copy
POST_AccountTypes_create
/api/account_types
POST_AccountValidationRules_create
/api/account_validation_rules
POST_Addresses_create
/api/addresses
POST_AdvanceShipNotices_create
/api/asn/headers
POST_Approvals_create
/api/approvals
POST_BudgetLine_create
/api/budget_lines
POST_BudgetLineAdjustment_create
/api/budget_lines/:budget_line_id/budget_line_adjustments
POST_ContentGroups_create
/api/business_groups
POST_Contracts_create
/api/contracts
POST_Contracts_legalAgreement
/api/contracts/:id/legal_agreement
POST_ContractTerms_create
/api/contracts/:contract_id/contract_terms
POST_Currencies _create
/api/currencies
POST_Departments_create
/api/departments
POST_ExpenseLines_classify
/api/expense_lines/classify
POST_ExpenseLines_create
/api/expense_lines
POST_ExpenseLines_ExpenseReports_create
/api/expense_reports/:expense_report_id/expense_lines
POST_ExpenseReports_create
/api/expense_reports
POST_IntegrationHistoryRecord_acknowledge
/api/integration_history_records/acknowledge
POST_IntegrationHistoryRecord_create
/api/integration_history_records
POST_IntegrationHistoryRecord_createAlert
/api/integration_history_records/create_alert
POST_IntegrationHistoryRecord_createAlertAndMarkExported
/api/integration_history_records/create_alert_and_mark_exported
POST_IntegrationHistoryRecord_markExported
/api/integration_history_records/mark_exported
POST_IntegrationRuns_create
/api/integration_runs
POST_Integrations_action
/api/integrations(/:action(/:id))
POST_Integrations_create
/api/integrations
POST_InventoryTransactions_create
/api/inventory_transactions
POST_Invoices_submitForApproval
/api/invoices/new/submit_for_approval
POST_Items_create
/api/items
POST_OrderPad_create
/api/order_pads
POST_OrderPadLines_create
/api/order_pads/:order_pad_id/order_pad_lines
POST_PaymentTerms_action
/api/payment_terms(/:action(/:id))
POST_PaymentTerms_create
/api/payment_terms
POST_PurchaseOrderLines_create
/api/purchase_order_lines
POST_PurchaseOrders_create
/api/purchase_orders
POST_RemitToAddresses_Invoices_create
/api/invoices/:invoice_id/remit_to_addresses
POST_RemitToAddresses_Suppliers_create
/api/suppliers/:supplier_id/addresses
POST_Requisitions_create
/api/requisitions
POST_Requisitions_createAsCart
/api/requisitions/new/create_as_cart
POST_Requisitions_newsubmitForApproval
/api/requisitions/new/submit_for_approval
POST_Requisitions_submitForApproval
/api/requisitions/submit_for_approval
POST_ShippingTerms_action
/api/shipping_terms(/:action(/:id))
POST_ShippingTerms_create
/api/shipping_terms
POST_SupplierInformation_create
/api/supplier_information
POST_SupplierItems_create
/api/supplier_items
POST_SupplierItems_Items_create
/api/items/:item_id/supplier_items
POST_Suppliers_create
/api/suppliers
POST_Suppliers_createSupplierUserPreferences
/api/suppliers/create_supplier_user_preferences
POST_Suppliers_syncSupplierUserLocale
/api/suppliers/sync_supplier_user_locale
POST_SupplierSites_create
/api/suppliers/:supplier_id/supplier_site
POST_TaxRegistration_create
/api/tax_registrations
POST_User_create
/api/users
POST_UserGroups_create
/api/user_groups
PUT_Accounts_update
/api/accounts/:id
PUT_AccountTypes_update
/api/account_types/:id
PUT_AccountValidationRules_update
/api/account_validation_rules/:id
PUT_Addresses_update
/api/addresses/:id
PUT_AdvanceShipNotices_receive
/api/asn/headers/receive
PUT_AdvanceShipNotices_receiveByID
/api/asn/headers/:id/receive
PUT_AdvanceShipNotices_update
/api/asn/headers/:id
PUT_AdvanceShipNotices_void
/api/asn/headers/void
PUT_AdvanceShipNotices_voidByID
/api/asn/headers/:id/void
PUT_Approvals_approve
/api/approvals/:id/approve
PUT_Approvals_hold
/api/approvals/:id/hold
PUT_Approvals_reject
/api/approvals/:id/reject
PUT_Approvals_update
/api/approvals/:id
PUT_ASNLines_receive
/api/asn/lines/receive
PUT_ASNLines_receiveByID
/api/asn/lines/:id/receive
PUT_ASNLines_void
/api/asn/lines/void
PUT_ASNLines_voidByID
/api/asn/lines/:id/void
PUT_BudgetLineAdjustment_update
/api/budget_lines/:budget_line_id/budget_line_adjustments/:id
PUT_BudgetLines_adjust
/api/budget_lines/:id/adjust
PUT_BudgetLines_update
/api/budget_lines/:id
PUT_ContentGroups_update
/api/business_groups/:id
PUT_Contracts_addApprover
/api/contracts/:id/add_approver
PUT_Contracts_legalAgreement
/api/contracts/:id/legal_agreement
PUT_Contracts_removeApproval
/api/contracts/:id/remove_approval
PUT_Contracts_update
/api/contracts/:id
PUT_ContractTerms_update
/api/contracts/:contract_id/contract_terms/:id
PUT_Currencies _update
/api/currencies/:id
PUT_Departments_update
/api/departments/:id
PUT_ExchangeRates_update
/api/exchange_rates/:id
PUT_ExpenseArtifacts_ updateWithocrRresponse
/api/expense_lines/expense_artifacts/:id/update_with_ocr_response
PUT_ExpenseArtifacts_ExpenseLines_update
/api/expense_lines/:expense_line_id/expense_artifacts/:id
PUT_ExpenseArtifacts_ExpenseReports_update
/api/expense_reports/:expense_report_id/expense_lines/ :expense_line_id/expense_artifacts/:id
PUT_ExpenseArtifacts_update
/api/expense_lines/expense_artifacts/:id
PUT_ExpenseLines_ExpenseReports_update
/api/expense_reports/:expense_report_id/expense_lines/:id
PUT_ExpenseLines_update
/api/expense_lines/:id
PUT_ExpenseReports_addApprover
/api/expense_reports/:id/add_approver
PUT_ExpenseReports_removeApproval
/api/expense_reports/:id/remove_approval
PUT_ExpenseReports_submit
/api/expense_reports/:id/submit
PUT_ExpenseReports_update
/api/expense_reports/:id
PUT_IntegrationHistoryRecord_update
/api/integration_history_records/:id
PUT_IntegrationRuns_fail
/api/integration_runs/:id/fail
PUT_IntegrationRuns_pause
/api/integration_runs/:id/pause
PUT_IntegrationRuns_pending
/api/integration_runs/:id/pending
PUT_IntegrationRuns_run
/api/integration_runs/:id/run
PUT_IntegrationRuns_success
/api/integration_runs/:id/success
PUT_IntegrationRuns_update
/api/integration_runs/:id
PUT_Integrations_update
/api/integrations/:id
PUT_InventoryTransactions_update
/api/inventory_transactions/:id
PUT_InventoryTransactions_void
/api/inventory_transactions/:id/void
PUT_Invoices_addApprover
/api/invoices/:id/add_approver
PUT_Invoices_bypassApprovals
/api/invoices/:id/add_approver
PUT_Invoices_bypassCurrentApproval
/api/invoices/:id/bypass_current_approval
PUT_Invoices_dispute
/api/invoices/:id/dispute
PUT_Invoices_flipToAdvanceShipnotice
/api/invoices/:id/flip_to_advance_ship_notice
PUT_Invoices_removeApproval
/api/invoices/:id/remove_approval
PUT_Invoices_restartApproval
/api/invoices/:id/restart_approvals
PUT_Invoices_revalidateTolerances
/api/invoices/:id/revalidate_tolerances
PUT_Invoices_submit
/api/invoices/:id/submit
PUT_Invoices_update
/api/invoices/:id
PUT_Invoices_updatelineAccounts
/api/invoices/:id/update_line_accounts
PUT_Invoices_void
/api/invoices/:id/void
PUT_Invoices_withdrawDispute
/api/invoices/:id/withdraw_dispute
PUT_Items_update
/api/items/:id
PUT_LookupValues_update
/api/lookup_values/:id
PUT_OrderPad_update
/api/order_pads/:id
PUT_OrderPadLines_update
/api/order_pads/:order_pad_id/order_pad_lines/:id
PUT_PaymentTerms_update
/api/payment_terms/:id
PUT_PurchaseOrderLines_update
/api/purchase_order_lines/:id
PUT_PurchaseOrders_cancel
/api/purchase_orders/:id/cancel
PUT_PurchaseOrders_close
/api/purchase_orders/:id/close
PUT_PurchaseOrders_ignoreWindowAndIssue
/api/purchase_orders/:id/ignore_window_and_issue
PUT_PurchaseOrders_issue
/api/purchase_orders/:id/issue
PUT_PurchaseOrders_issueWithoutSend
/api/purchase_orders/:id/issue_without_send
PUT_PurchaseOrders_releaseFromBuyerHold
/api/purchase_orders/:id/release_from_buyer_hold
PUT_PurchaseOrders_update
/api/purchase_orders/:id
PUT_RemitToAddresses_Invoices_update
/api/invoices/:invoice_id/remit_to_addresses/:id
PUT_RemitToAddresses_Suppliers_update
/api/suppliers/:supplier_id/addresses/:id
PUT_Requisitions_addApprover
/api/requisitions/:id/add_approver
PUT_Requisitions_removeApproval
/api/requisitions/:id/remove_approval
PUT_Requisitions_update
/api/requisitions/:id
PUT_ShippingTerms_update
/api/shipping_terms/:id
PUT_SupplierItems_Items_update
/api/items/:item_id/supplier_items/:id
PUT_SupplierItems_update
/api/supplier_items/:id
PUT_Suppliers_update
/api/suppliers/:id
PUT_SupplierSites_update
/api/suppliers/:supplier_id/supplier_sites/:id
PUT_TaxRegistration_update
/api/tax_registrations/:id
PUT_User_avatar
/api/users/:id/avatar
PUT_User_update
/api/users/:id
PUT_UserGroups_update
/api/user_groups/:id
When you configure a Coupa target, you can select Operations on the Target tab to display the list of operations. The Secure Agent creates target fields based on the request message structure of the operation you select on the Target tab.
After you write data to Coupa, the Secure Agent includes all the incoming fields from the source, by default. You can exclude the incoming fields, if required. You can add multiple input sources to write data to Coupa target object and define the primary and foreign key relationships between the input sources before you run the mapping. Each input source appears as separate group in the Field Mapping tab in the target transformation. You can define key relationships on the Field Mapping tab.

File Preparation for Target Transformation

To write data to Coupa, the source file must include the container with the processing options and the wrapper referential elements to perform the specified operation in Coupa.
For information about the required business process parameters and the wrapper elements, see the request elements for the specified operation in the Coupa web service directory. You need to prepare a file to include the wrapper elements along with the data that you want to write to Coupa. You can add the processing options in an Expression transformation later when you write the data to Coupa.
When you run the mapping, the Secure Agent writes data to a configured target .csv file. Later, use this file as a source from which you write data to Coupa.

Field Mapping in a Target Transformation

You can map fields that are in a relational structure to the hierarchical structure used by a Coupa target.
On the Field Mapping tab for the Target transformation, the fields in the Target Fields appear in hierarchical format. The target fields are determined by the request message structure of the operation you select for the Target transformation.
Each source object displays as a group in the Input Fields area. You can select fields in the Input Fields area to map the fields to the request. If the input fields include multiple input groups, map the groups to the corresponding nodes in the request. Be sure to map all of the fields that you require in the request.
The following image shows an example of mapped input fields from the source file with the Coupa target to update data using PUT_UserGroups_update operation:
The image shows the mapped input fields with the Coupa target in the Field Mapping tab.