Configuring Coupa for use with Tungsten AP Essentials

Before you can use the Coupa integration with Tungsten AP Essentials, you must:

  • Prepare your connection settings.

  • Register Tungsten AP Essentials as a third-party cXML sender.

  • Check the supplier settings.

  • Create an API response filter. Required for purchase order services.

This topic refers to an older version of the Coupa integration will eventually be phased out in favor of the latest integration, the Coupa AP integration.

Prepare your connection settings

Tungsten AP Essentials connects to Coupa using either token-based authorization or an API key. Whichever method you choose, you specify the settings in the target system settings.

Creating token-based credentials

To create token-based credentials in Coupa:

  1. Log in to Coupa and navigate to Setup > Oauth2/OpenID Connect Clients .
  2. Click Create and use the view that appears to create your credentials.
  3. Make sure you select Client credentials in the Grant Type setting.
  4. After you complete the settings, click Save.

    Note the client Identifier and Secret. Later when you configure Tungsten AP Essentials for use with Coupa, you specify these values in the target system settings.

Creating an API key

To create an API key in Coupa:

  1. Log in to Coupa and navigate to the Setup > API Keys view.
  2. Click Create and use the view that appears to specify an API key.
  3. The API key must have Index and Show permissions on these objects:

    • Api/Account Types

    • Api/Accounts

    • Api/Contracts

    • Api/Currencies

    • Api/Lookup Values

    • Api/Lookups

    • Api/Purchase Orders

    • Api/Suppliers

    • Api/Uoms

    Note the API key. Later when you configure Tungsten AP Essentials for use with Coupa, you specify the API key in the target system settings.

Register Tungsten AP Essentials as a third-party cXML sender

To register Tungsten AP Essentials as a third-party cXML sender in Coupa:

  1. Log in to Coupa and navigate to the Setup view.
  2. In the Invoicing group, click cXML Third Party Senders.

    The cXML Sender view appears.

  3. Click Create and use the view that appears to specify Tungsten AP Essentials as a cXML sender.
  4. Select Buyer Originated.

    Before you save your settings, note the Sender Identity and the Sender Domain. The values you specify here are required in the target system settings.

Check the supplier settings

  1. In Coupa, make sure all of the suppliers have supplier numbers.
  2. Make sure cXML invoicing is enabled for each supplier and specify these settings:
    • CXML Invoice Supplier Domain
    • CXML Invoice Supplier Identity
    • CXML Invoice Buyer Domain
    • CXML Invoice Buyer Identity
    • CXML Invoice Secret
  3. Select these options in the Invoicing Configuration settings:
    • Create Invoices with No Backing Document
    • Allow Non-Backed Lines on PO Invoices

    You can upload Coupa supplier configurations in bulk. See Coupa documentation for more information.

Create an API response filter

If you use Tungsten AP Essentials's Purchase order service, you must create an API response filter in Coupa and specify the name of the filter in the Coupa API filter setting. Create the API response filter in Coupa using these settings:

Name aps_purchaseorder_filter
Description Retrives purchase orders for Tungsten AP Essentials
Resource purchase_orders
Default No
Filter
[
  "po_number",
  "created_at",
  "updated_at",
  "status",
  {
    "supplier": [
      "id",  
      "name",
      "display_name",
      "number",
      "updated_at",
      "status",
      "send_to_kofax",
      {
        "custom_fields": [
          "send_to_kofax"
        ]
      }
    ]
  },
  {
    "requisition_header": [
      "requested_by"
    ]
  },
  {
    "ship_to_user": [
      "email"
    ]
  },
  {
    "order_lines": [
      "id",
      "created_at",
      "updated_at",
      "accounting_total",
      "description",
      "invoiced",
      "received",
      "line_num",
      "need_by_date",
      "price",
      "quantity",
      "receipt_required",
      "source_part_num",
      "status",
      "sub_line_num",
      "supp_aux_part_num",
      "total",
      "type",
      "match_type",
      "service_type",
      {
        "commodity": [
          "name"
        ]
      },
      {
        "currency": [
          "code"
        ]
      },
      {
        "uom": [
          "code"
        ]
      }
    ]
  }
]