The Cardknox bundle for NetSuite is an easy integration that allows users to accept payments via the Cardknox gateway directly within NetSuite. This plugin also supports the secure storage of customer payment methods for future transactions.

Note: Only NetSuite administrators can install this bundle.

Bundle Components

Install the Bundle


  • An existing Cardknox account (live or sandbox) with a token and transaction key.

  • Provide Cardknox with your NetSuite ID by emailing it to We will enable the bundle for your NetSuite ID and enable the license for NetSuite on your Cardknox account.


  1. Navigate to Customization > Suite Bundler > Search & Install Bundles.

  2. Search and install the ‘xPayment’ bundle (you can also install ‘xPayment Beta’ for additional features).


Configure Account Settings:

  1. Navigate to Setup > Company > PE Merchant Account to create a new PE merchant account record.

    • Name: Name of the merchant account.

    • PE Transaction Key: API key.

    • PE Token Key: iFields key

    • PE Void When Canceled: Voids the Cardknox transaction if a NetSuite transaction is voided.

    • PE Accept ACH: Accept ACH payments with Cardknox. Note: The merchant account needs to be set up for ACH as well.

    • PE Allow Undeposited Funds: This allows the system to accept a payment in the Undeposited Funds account. Note: Make sure to change all credit card types to ‘Group with Undeposited Funds’ (Setup > Accounting > Accounting Lists > Card Type > Edit > Account Tab > Group with Undeposited Funds).

    • PE Void Transaction When Declined: Automatically void the NetSuite transaction If a Cardknox transaction gets declined or fails.

      Note: Only use this setting if the 'PE Require Charge Button' setting is unchecked.

    • PE Require Charge Button Transaction: does not process if the 'PE PROCESS TRANSACTION' button was not selected. Note: This does not apply to sales orders or transactions in edit mode.

    • PE Send Record Type ID: Send the record type and ID of the record along with transaction to the gateway as the 'xCustom01' field.

    • PE Description Field ID: NetSuite Field ID to send along with the transaction to the gateway as the ‘xDescription’ field. If this field is empty, or the field is not found on the form that submits the transaction, the system does not send a description as part of the transaction.

  2. Navigate to Setup > Accounting > Accounting preferences

    • Void Transactions Using Reversing Journals: Enable this setting.

Form Setup

Add the “PE” fields to the forms that accept payments (cash sale, cash refund, customer deposit, customer payment, customer refund, sales order). Make sure to hide the NetSuite fields that the plugin is replacing.



PE Stored Credit Card

The payment method saved with the customer.

PE Credit Card Number

The credit card number.


The security code of the credit card.

PE Account Number

The ACH account number (only needed if ACH is enabled).

PE Routing Number

The ACH routing number (only needed if ACH is enabled).

PE Get Authorization

Perform an Authorize Only transaction (only needed by sales order).

PE Retry Transaction

Try charging the card again.

PE Merchant Account

The name of the merchant account that should be used. It defaults to the first merchant account created.

PE Charge Card

The button that the merchant needs to select for the transaction to process. It should be renamed on the refund form to PE Refund Card.

Step 3: Upload Existing Customer Card Use a regular .CSV upload and map the fields to PE Stored Credit Card.

Step 4: Use a Card Reader To use the card reader, select the PE Credit Card Number field, then swipe or insert the card to populate the field with the card data.

Step 5: Test the Installation From Cardknox, request a sandbox account with a token and transaction key. Follow the installation steps above to perform the setup.

What to Test:

  • Approved transaction

  • Declined transaction

  • Ensure that all scripts are running by creating a transaction and adding a stored payment.

  • Verify that the Cardknox log shows the transaction history.

  • Make sure that other users in NetSuite have access to the bundle and that the scripts run.

NetSuite recommends that administrators installing a bundle test that bundle using a NetSuite sandbox account.

Use the Bundle

Roles and Permissions

Make sure the roles using this plugin have permission for the following:

  • Transaction Logs: Saved Search and Audience (Roles and Employees) need to be set for all users using this bundle (Transaction logs > Edit > Audience).

  • Accounting lists need at least View rights (Role > Permissions > Setup > Accounting lists ).

  • Customers need at least View rights (Role > Permissions > Lists > Customers).

  • PE Merchant Account needs at least View rights (Role > Permissions > Custom Record).

  • PE Payment Logs need at least Create rights (Role > Permissions > Custom Record).

  • PE Stored Credit Card needs Edit rights (Role > Permissions > Custom Record).

User Procedures

Add a Stored Card to a Customer

  1. In the customer record, select Financials > PE Stored Card.

  2. Select the new PE Stored Card button.

You can also add a new card to a transaction screen that has the PE Stored Card field. Check the plus symbol (+) to add a new card.


How the Plugin Pulls Customer Billing and Shipping Values

The plugin retrieves customer billing and shipping values from various locations in a specific order of preference. The order is as follows:

  1. From the current record itself. If the Bill To or Ship To values are set, they are used. (Exception: a customer payment with a single applied invoice. See Note below.)

    • If the current record doesn’t have the Bill To or Ship To values set, then the plugin pulls the values from the parent record (if one exists).

    • If no parent record exists, or the parent record does not have the values set, the plugin pulls the values from the address list on the customer record:

      1. The default billing and shipping addresses are used if they are set.

      2. If the defaults are not set, the first address is used.

Note: For customer payments with a single applied invoice, the plugin pulls the values from the applied invoice first. If the values are not set on the applied invoice (or if multiple invoices are applied), the plugin pulls the values from the address list on the customer record.

Update the Bundle

Use SuiteBundler to update when a new version is available. SuiteBundler capabilities may change over time; verify the current SuiteBundler features as described in the NetSuite Help Center topic, Updating Bundles in the Bundle Repository.

Uninstall the Bundle

Use SuiteBundler to uninstall the bundle completely. Note that this completely removes all history of Cardknox payments.

Uninstalling this bundle should generally follow the steps provided in the NetSuite Help Center topic, Uninstalling Bundles into Your NetSuite Account. The SuiteBundler capabilities may change over time; review this help topic to verify the current behavior of uninstalling bundles.

Last updated