NCR Counterpoint Connections and Settings
The NCR Counterpoint integration connects an on-premises NCR Counterpoint installation to iPaaS.com, allowing customers, products, inventory, categories, locations, shipping and payment methods, gift cards, and transactions to move between Counterpoint and the other systems in a subscriber's integration.
Counterpoint runs on the subscriber's own server rather than in the cloud, so connecting it to iPaaS.com involves two locally installed components: the CPHive web service, which iPaaS.com calls to read and write Counterpoint data, and the CPWebhooks service, which watches the Counterpoint database and notifies iPaaS.com when records change. Both must be installed and reachable before the settings on this page will validate. See the NCR Counterpoint Installation Instructions for how to install them.
How to Connect
Prerequisites
Before configuring the subscription in iPaaS.com, subscribers or their MiSP need the following in place:
CPHive installed and reachable: the CPHive web service must be installed on the Counterpoint server and published at a URL that iPaaS.com can reach over the internet.
CPWebhooks installed and configured: the CPWebhooks service must be installed against the same Counterpoint database and pointed at iPaaS.com. Without it, no change made in Counterpoint reaches iPaaS.com automatically.
A Counterpoint user: a valid Counterpoint user id that the integration will act as when reading and writing records.
An API key: generated for the subscription in iPaaS.com and saved into the CPWebhooks service configuration during installation.
Both installation steps are covered in the NCR Counterpoint Installation Instructions.
Configuration Details
The connection is made up of three settings. All three must be filled in before the subscription will save, though only the first two affect whether it can transfer:
CP Api Url: the address where the CPHive web service is published on the subscriber's server. This is the address iPaaS.com calls, so it must be reachable from iPaaS.com over the internet and secured with a valid certificate. Inbound traffic to it should be restricted to the sources that need it — see the Installation Instructions for the addresses to allow.
CP Api Username: the Counterpoint user id the integration acts as. It is stamped onto every record CPHive writes, so it should be a real, identifiable Counterpoint user.
CP Api Key: the subscription will not save without a value here, but at the time this documentation was written the integration does not use it — it is not sent on the calls iPaaS.com makes to CPHive. It is also not the key the CPWebhooks service needs. That is a separate webhook key that iPaaS.com generates for the subscription; it is not typed into this field. See the Installation Instructions for where the CPWebhooks key comes from. Subscribers can enter any value they wish to keep here.
Authentication Methods
The integration identifies itself to the CPHive web service with the CP Api Username saved on the subscription, and holds a token that CPHive issues in return. There is no interactive sign-in step and no consent screen: the value is entered once on the subscription and used for every subsequent transfer.
The protection around CPHive is where it is published, not this exchange. CPHive runs on the subscriber's own server and reads and writes the Counterpoint database directly, so the controls that matter are the certificate on its address and the restriction of inbound traffic to the sources that need to reach it. Subscribers or their MiSP should confirm both are in place before go-live — see the NCR Counterpoint Installation Instructions.
When the connection is tested, the integration reads the company record from Counterpoint and returns the company name it found. A successful test confirms two things at once — that the CPHive service is reachable at CP Api Url, and that CPHive can read the Counterpoint database it is pointed at.
If the test fails, it is usually one of the following:
The service could not be reached: check that CP Api Url is correct, that the site is running, and that the subscriber's firewall allows traffic from iPaaS.com.
The company record could not be read: CPHive is running but cannot read its Counterpoint database. This normally means the database connection saved during installation is wrong, or the installation did not complete.
Connection and transfer errors surface at Dashboard / Integration Monitoring / Error Logs.
Configure Subscription Settings
Navigate to the NCR Counterpoint subscription settings in iPaaS.com and provide the following. Name and Versions are standard subscription fields; the remainder are specific to this integration.
Field | Description | Required |
Name | A unique name identifying this subscription. | Yes |
Versions | The integration version this subscription runs. | Yes |
CP Api Url | The address where the CPHive web service is published on the Counterpoint server. | Yes |
CP Api Username | The Counterpoint user id the integration acts as. | Yes |
CP Api Key | Required by the form, but not used by the integration. See below. | Yes |
First Order Date | The earliest order date to consider when transferring orders. | No |
Store | The Counterpoint store id to use on transactions. | No |
Drawer | The Counterpoint drawer id to use on transactions. | No |
Station | The Counterpoint station id to use on transactions. | No |
User | The Counterpoint user id to record on transactions. | No |
Template Customer | A Counterpoint customer record to base new customers on. | No |
Default Customer | The customer to use when an order arrives with no identifiable customer. | No |
Next Customer | The next customer number to assign when creating customers. | No |
Tracking #s in CP | Whether package tracking numbers are recorded in Counterpoint. | No |
Item Description From | Which Counterpoint field item descriptions are taken from. | No |
Inventory Qty Method | How available quantity is calculated. See below. | No |
Inventory Location | The location, or location group, that Inventory Qty Method applies to. | No |
Qty Stock Threshold | A stock quantity threshold for inventory reporting. | No |
Inventory Qty Method
Inventory Qty Method determines how the integration calculates the available quantity it reports for a product. It offers three values and is pre-populated with A single location:
A single location: quantity is taken from the one location named in Inventory Location.
All locations in a location group: quantity is summed across every location in the location group named in Inventory Location.
All locations: quantity is summed across every location, and Inventory Location is not used.
Inventory Qty Method must not be left empty. Clearing it causes the quantity calculation to fail with an error rather than falling back to a default.
Inventory Location is required whenever A single location or All locations in a location group is selected, because both read it to decide which location or group to report from. If either is selected and Inventory Location is empty, the quantity calculation fails with an error naming the setting. All locations does not use it.
How the optional settings are used
Inventory Qty Method and Inventory Location are read wherever a mapping uses the quantity-from- settings formula, and they change the quantity that mapping reports. They are the only two settings the integration itself acts on.
The remaining optional settings — First Order Date, Store, Drawer, Station, User, Template Customer, Default Customer, Next Customer, Tracking #s in CP, Qty Stock Threshold and Item Description From — behave differently, and it is worth understanding why before relying on them.
At the time this documentation was written, these settings are not read by the integration on their own. Saving a value in Store, for example, does not by itself cause that store id to appear on transactions. The mapping collections that ship with this integration supply values such as the store, station and drawer as fixed values on the mapping itself, not from these settings.
What these settings do provide is a place to hold an installation-specific value that a subscriber's own Dynamic Formulas can then read, using the Setting function. This makes them useful as a single point of configuration: a value is entered once on the subscription and referenced from any mapping that needs it, instead of being repeated across mappings. For how to reference a setting from a formula, see the Setting function in Functions.
Subscribers who expect one of these settings to take effect without a corresponding mapping change should validate the behavior in a staging environment first.
Initialization Support
Some entities in this integration offer an initialization option, which is intended to load every existing record of that type from Counterpoint in bulk rather than transferring them one at a time. The option is presented for the following:
Alternate ID Type TO iPaaS.com
Customer Category TO iPaaS.com
Location TO iPaaS.com
Location Group TO iPaaS.com
Payment Method TO iPaaS.com
Product Category TO iPaaS.com
Shipping Method TO iPaaS.com
Initialization is supported for each of these, and loads that entity's existing Counterpoint records into iPaaS.com in one operation. It is the intended way to populate reference data when a subscription is first set up, rather than transferring those records one at a time.
Initialization is not offered for products, customers, inventory or transactions. Those are brought in through their own collections — using Manual Sync, which is available on every mapping collection, for a first load. Once the corresponding trigger events are enabled, subsequent changes transfer automatically.
Throttling
NCR Counterpoint does not impose its own API rate limits — CPHive runs on the subscriber's own server, so the practical limit is the capacity of that server and its database rather than a published quota. At the time this documentation was written, this integration does not expose throttle settings on the subscription. For the throttling and concurrency options available at subscription level, see Subscription Configuration – Edit.
The absence of a rate limit is not the same as unlimited capacity. Because Counterpoint is a live retail system, large transfers compete with point-of-sale activity on the same database. Subscribers or their MiSP should schedule large or historical data loads outside trading hours, and avoid running several intensive jobs at the same time. For guidance on large transfers, see Best Practices for Syncing Large Data Sets in iPaaS.com.
Related Documents
NCR Counterpoint Installation Instructions: installing CPHive and CPWebhooks on the Counterpoint server.
NCR Counterpoint Known Limitations: what the integration does not do, and the values to replace before go-live.
NCR Counterpoint Error Messages: the errors a transfer can raise, what causes them, and how to resolve them.
NCR Counterpoint API Endpoints: the CPHive endpoints the integration calls.
