NCR Counterpoint Error Messages
Overview
This article catalogs the error messages subscribers or their MiSP may encounter while synchronizing data between iPaaS.com and NCR Counterpoint, and how to resolve each one. Every error listed here appears at Dashboard / Integration Monitoring / Error Logs.
How to read a Counterpoint error
Errors arrive wrapped, and the wrapping tells you something about where the failure happened — but it does not tell you everything, and reading it the wrong way is the most common way to chase the wrong cause. iPaaS.com records the failure prefixed with Unable to process transfer. Reason: followed by the message.
Where Counterpoint itself refused the write, the message carries a second prefix — CPHive returned the following error: — followed by the reply Counterpoint sent and the HTTP code. The reply is assembled from whatever parts Counterpoint returned, joined together with no separator between them, so a real message often runs two sentences into each other and reads oddly:
Unable to process transfer. Reason: CPHive returned the following error: "The given key was not present in the dictionary."Bad Request (Http Code: BadRequest)
Note that any quotation marks you see are part of Counterpoint's own reply, not something the integration adds, and that the status text — Bad Request in the example above — is joined directly onto the end of the message with no space. The part worth reading is the innermost message.
Three things to know before you use the prefix to locate a failure
First, the absence of the CPHive prefix does not mean Counterpoint was never contacted. Where Counterpoint replies that a record was not found, the integration deliberately leaves the prefix off, because a not-found reply is often an expected step rather than a failure. A message ending in (Http Code: NotFound) came from Counterpoint even though it has no prefix.
Second, a large family of integration-side errors is worded to look like Counterpoint errors. Messages of the form Attempt to update [record type] in Counterpoint without specifying [FIELD]. This is a required field. are raised by the integration before anything is sent, and they carry no prefix — but the wording mentions Counterpoint and mentions a required field, so they are easily confused with the genuine Counterpoint required-field error described further down. These are covered in their own section, Required fields checked before the transfer is sent, below. If your message begins with Attempt to and ends with This is a required field., read that section, not the Counterpoint one.
Third, everything else without a prefix did happen before Counterpoint was contacted — in the integration itself, which usually means a setting, a mapping, or a Dynamic Formula needs attention rather than anything in Counterpoint.
The most important thing to know about Counterpoint errors
Counterpoint checks many of the values a transfer supplies and refuses the ones it will not accept — those refusals are the errors catalogued below, and subscribers should expect to meet them while a new installation is being configured.
That checking is not applied uniformly to every field. Counterpoint applies four separate families of check at transfer time — field length, required fields, lookup values, and a small number of data-type rules — and each family covers a different subset of fields. Whether a particular field is verified against a list of permitted values, in particular, is a property of the Counterpoint installation's own data dictionary, not something this integration sets or controls. So a value that is wrong for your installation may come back as an error — or may be accepted and written to the record.
Where a value is accepted without being checked, the problem surfaces later — when the record is posted, or when another Counterpoint function reads it — a long way from the transfer that caused it, and it will not look like an integration error when it does.
So an error tells you more than silence does. Before enabling a collection, confirm that the codes and ids the mappings supply exist in your own Counterpoint installation, rather than treating a clean transfer as proof. The mapping notes on each collection call out every value that must be replaced. This is the single most valuable thing subscribers or their MiSP can do to avoid problems that are expensive to trace afterwards.
Supported Flows
Errors in this article are grouped by where they come from rather than by collection, because most of them can arise on any transfer:
Connection and settings
Required fields checked before the transfer is sent
Writing a record to NCR Counterpoint
Creating a customer, vendor or item in NCR Counterpoint
Gift cards, store credit and addresses
Timecards
Dynamic Formula errors
Refunds — Add NCR Counterpoint Item Refund FROM iPaaS.com and Add NCR Counterpoint Deposit Refund FROM iPaaS.com
Errors that mean something has gone wrong internally
Connection and settings
No Counterpoint API address configured
Error message: No CP API Url specified for system [system id]. Please verify your settings
Description: The subscription has no address recorded for the Counterpoint API, so the integration has nowhere to send the transfer. Nothing reached Counterpoint.
Resolution: Set the Counterpoint API address in the subscription settings. See the Connections and Settings article for where the value comes from.
Counterpoint company data cannot be read
Error message: Unable to retrieve data from SY_COMP
Description: The integration reached the Counterpoint API but could not read the company record it needs before transferring anything. This usually means the connection is configured but not working — the credentials, the address, or the Counterpoint service itself.
Resolution: Confirm the connection settings and that the Counterpoint API is running and reachable. A companion message, Retrieved data from SY_COMP, but it appears invalid, means the company record was read but is not usable; contact iPaaS.com Support if the connection is otherwise healthy.
The active Counterpoint connection cannot be found
Error message: Unable to retrieve active Counterpoint connection
Description: The integration could not resolve which Counterpoint connection this transfer should use. The message is prefixed with the stage of the transfer that hit the problem — reading a record, creating one, updating one, or calling the destination — and a companion form of the message adds the external system id it was looking for, reading Unable to retrieve active Counterpoint connection. ActiveConnection.ExternalSystemId[id].
Resolution: Confirm the Counterpoint connection exists on the subscription and is marked active. Where the connection is present and active, contact iPaaS.com Support quoting the system id in the message.
A Dynamic Formula cannot reach the Counterpoint connection
Error message: Unable to retrieve Counterpoint Connection.
Description: A Dynamic Formula that needs to read from Counterpoint — to look up a customer or resolve a unit of measure — could not obtain the connection to do it. The message is prefixed with the path of the formula code that raised it, so it appears in the log as, for example, ConversionFunctions.UnitNameFromFlag: Unable to retrieve Counterpoint Connection.
Resolution: The same cause as above — confirm the Counterpoint connection exists on the subscription and is marked active. Where it is, contact iPaaS.com Support.
The token could not be renewed
Error message: Request failed and reconnection attempt failed:
Description: The integration's access token for the Counterpoint API had expired, and the attempt to obtain a new one also failed. The remainder of the message carries the reply Counterpoint gave to the renewal attempt.
Resolution: Confirm the credentials in the connection settings are still valid and that the Counterpoint API is reachable. Where the credentials have been changed in Counterpoint, update them on the iPaaS.com connection.
No inventory quantity method configured
Error message: No Inventory Quantity Method specified. This is required to use the QuantityFromSettings method. Ensure you have a value for this setting on the System page.
Description: A quantity mapping is using the quantity-from-settings formula, but the subscription has no quantity method chosen, so the formula does not know which quantity figure to report.
Resolution: Set the inventory quantity method in the subscription settings, as the message says. Alternatively, replace the mapping with one that reports the quantity figure directly.
No inventory location configured
Error message: No Inventory Location specified. This field is required for the quantity method [method] if the QuantityFromSettings formula is used
Description: The chosen quantity method needs a location to report stock for, and none is set.
Resolution: Set the inventory location in the subscription settings. The location must be one configured in your own Counterpoint installation.
The quantity method names a field Counterpoint does not have
Error message: Attempt to call CPHiveApi.ConversionFunctions.QuantityFromSettings with an invalid field name: [field name]. Ensure that the field you've entered exists in IM_INV
Description: The inventory quantity method setting names a quantity field that does not exist on the Counterpoint inventory table, so no figure can be read.
Resolution: Correct the inventory quantity method setting so it names a quantity field your Counterpoint installation actually holds. The Connections and Settings article lists the values this setting accepts.
Required fields checked before the transfer is sent
Error message: Attempt to update [record type] in Counterpoint without specifying [FIELD]. This is a required field.
Description: This is the largest single family of errors in the integration and the one most often misread. Despite the wording, these are raised by the integration before anything is sent to Counterpoint — Counterpoint never saw the record. They exist because these particular fields form part of the address the integration uses to reach the record; without them the call cannot be built at all, and the reply Counterpoint would give to a malformed call is far less helpful than this message. A small number are worded Attempt to get rather than Attempt to update, meaning the field was missing when reading an existing record rather than when writing one.
Where they arise: Each record type checks the fields that identify it. Customer Ship-To Address needs SHIP_ADRS_ID. Customer Category needs CATEG_COD. Item Inventory needs ITEM_NO and LOC_ID. Item Inventory Cell needs ITEM_NO, LOC_ID and DIM_1_UPR. Item Grid Dimension 1, 2 and 3 each need ITEM_NO plus DIM_1_UPR, DIM_2_UPR or DIM_3_UPR respectively. Sales Kit and Kit Component each need ITEM_NO. Ecommerce Category needs CATEG_ID. Ecommerce Category Assignment needs ITEM_NO and CATEG_ID. Substitute Item needs ITEM_NO and SUBST_ITEM_NO. Gift Card Activity and Store Credit Activity each need SEQ_NO. Timecard and Timecard Line each need STR_ID and USR_ID. Alternate id (barcode) types need BARCOD_ID.
On older builds, the record type named in the message may be wrong. In three places the record type quoted did not match the record actually being transferred: an Ecommerce Category Assignment reported itself as CustomerShipToAddress, and an alternate id type reported itself as CustomerCategory naming CATEG_COD. This is corrected, but installations running an earlier build will still see the old wording. Where the record type in the message disagrees with the collection the error appeared on, trust the collection — the field genuinely missing is the identifying field of the collection you were running.
Resolution: Map the named field on the collection that raised the error, or confirm the mapping already there is producing a value rather than an empty one. Each collection's mapping notes state which fields identify the record and what supplies them. Where the missing field is one the integration derives from a parent record — an ITEM_NO on a grid dimension, for example — check that the parent transferred successfully first; an earlier failure in the log on the same product is usually the real cause.
Writing a record to NCR Counterpoint
These come from Counterpoint and are nested behind CPHive returned the following error. Counterpoint applies four families of check, described below in the order it applies them. All four report the field twice — once as it reads on screen in Counterpoint, once as Counterpoint's own field name.
A value is too long for the field
Error message: [Field name] ([TABLE].[COLUMN]) is [n] characters long but has a maximum length of [max]
Description: Counterpoint stores many fields as text of a fixed length, and refuses a value longer than the field allows. The message gives the length supplied and the length permitted — for example, a description arriving at 45 characters where Counterpoint allows 30. Note that the message contains two spaces before the word is, so searching the log for the phrase as you would naturally type it may not match; search for the field name or for maximum length of instead.
Resolution: Shorten the value at source, or change the mapping so it supplies a shorter value — a shortened form of a description, or a code rather than a full name. The mapping notes state the permitted length wherever it constrains a field. Where a field matters in full, confirm the source values fit before enabling the collection rather than discovering the limit one record at a time.
A required field is missing
Error message: [Field name]([FIELD]) is a required field.
Description: Counterpoint refused the record because a field it requires arrived empty and has no default value configured to fall back on — for example Store(STR_ID) is a required field. This check confirms only that a value is present, not that it is correct. Yes/no fields are exempt, because Counterpoint supplies a default of N for them on save.
Resolution: Map the named field, or confirm the mapping already there is producing a value. Each collection's mapping notes state which fields are required and what supplies them. Note that a required field can be satisfied by a value that is itself wrong — see The most important thing to know about Counterpoint errors above.
A value is not present in its lookup
Error message: [Field name]([FIELD]) has a value that is not present in its lookup: [value]
Description: Counterpoint refused the value because it is not in the list of permitted values for that field. The message names both the field and the value that was rejected.
Resolution: Supply a value that exists in your own Counterpoint installation, or create the missing record in Counterpoint so the value resolves. Where the value comes from a mapping that ships with the integration, that collection's mapping notes state what the value is and what to replace it with.
Two limits worth understanding. This check runs only where your Counterpoint installation's data dictionary both defines a lookup for the field and is configured to enforce it, so it applies to some fields and not others — its absence on a given field is not a guarantee that the value there was verified. It also runs only on values that changed in this transfer. A value already sitting on a record is never re-checked, so a bad value that reached a record before the lookup was enforced — or through a field that is not checked — will survive every later update to that record without ever being reported. Where you suspect bad reference data, verify it in Counterpoint directly rather than relying on a clean transfer.
A value is the wrong kind of data
Error message: [Field name] is not a valid T_BOOL
Description: Counterpoint stores yes/no fields as a single letter and accepts only Y or N. The mapping supplied something else — commonly true, false, 1, 0 or an empty-looking value that is not actually empty. Note that this message names the field only once, without the Counterpoint field name in brackets.
Resolution: Correct the mapping so it produces Y or N. Where the source system supplies a true/false value, use a Dynamic Formula or a value mapping to translate it.
Error message: [Field name]([FIELD]) contains time. It should contain only the date.
Description: Counterpoint holds certain fields as a date with no time component, and the value supplied carried a time as well. This commonly happens where a source system records a full timestamp and the mapping passes it through unchanged.
Resolution: Change the mapping so it supplies only the date part of the value.
Capitalization is corrected without an error
Description: Some Counterpoint fields require upper or lower case. Where a mapped value arrives in the wrong case, it is corrected silently and the transfer succeeds — this is not treated as an error and nothing is reported.
Resolution: No action is needed. Be aware of it only when comparing a value in Counterpoint against its source and finding the case differs; that difference is expected and is not a sign of a failed transfer.
Creating a customer, vendor or item in NCR Counterpoint
These arise on collections that create a record in Counterpoint rather than update one. They do not arise when an existing record is updated.
The workgroup has no template customer
Error message: Unable to load the specified template customer [customer number]
Description: A new customer is not built from nothing. Counterpoint copies the field values from the template customer assigned to the workgroup the transfer is running under, and the integration then applies the mapped values on top — the template supplies everything the mappings do not, which is most of a customer record. Where the workgroup names a template customer that does not exist, no new customer can be built and the transfer is refused.
Resolution: Confirm the workgroup these transfers run under has a template customer defined, and that the customer it names exists in Counterpoint. Where the incoming record carries a custom field named WRKGRP_ID, that field decides which workgroup is used, so check the workgroup that field names rather than the default one.
The workgroup for an automatic number cannot be found
Error message: Attempt to create a customer using (AUTO-ASSIGN) but the Workgroup was not found
Description: Where the number mapping hands assignment to Counterpoint instead of supplying a value, Counterpoint takes the next number from the workgroup the transfer runs under. The workgroup could not be found, so no number could be assigned. The vendor collections raise the same error worded Attempt to create a vendor using (AUTO-ASSIGN) but the Workgroup was not found.
Resolution: Confirm the workgroup exists. Where the incoming record carries a custom field named WRKGRP_ID, that field decides which workgroup is used, so confirm the workgroup that field names exists in Counterpoint.
The workgroup has no next number configured
Error message: Attempt to create a customer using (AUTO-ASSIGN) but the Next Customer Number for Workgroup [workgroup id] is empty
Description: The workgroup named in the message was found, but it has no next customer number recorded, so Counterpoint has nothing to assign. The vendor equivalent reads Attempt to create a vendor using (AUTO-ASSIGN) but the Next Vendor Number for Workgroup [workgroup id] is empty.
Resolution: Set the next customer number — or next vendor number — on the workgroup named in the message, in Counterpoint. Note that item collections configured to assign numbers automatically raise the customer wording rather than an item-specific one; where this error appears on a product transfer, the setting to check is still the workgroup's next customer number.
An address needs a name
Error message: Name is required for addresses with a Business name type
Description: Counterpoint requires a name on an address recorded as a business. The address arrived marked as a business with no name to go with it.
Resolution: Confirm the source record supplies a company or business name for addresses of that type. Where the source has no company, the address should be recorded as a person rather than a business.
Gift cards, store credit and addresses
The gift card number is missing
Error message: Gift Card Number is required
Description: Counterpoint refused the card because it arrived with no number. A gift card cannot be created without one.
Resolution: Confirm the gift card number mapping is producing a value. See the mapping notes on the gift card collections.
The gift card cannot be loaded
Error message: Unable to load gift card [number]
Description: The transfer refers to a gift card that Counterpoint does not hold. This usually means the card was never transferred, or was removed in Counterpoint after it was.
Resolution: Confirm the card exists in Counterpoint. Gift cards are transferred automatically as a prerequisite of a transaction that sells or redeems one, so a card missing here usually means that prerequisite transfer failed — check the error log for an earlier failure on the same transaction.
A duplicate address was blocked
Error message: PreventDuplicate address option was used and a duplicate was found. Address will not be added
Description: The address mapping carries the duplicate-prevention option, and an address already on the customer matched every value being supplied. The address was not added. This is the option working as intended, not a fault — it is reported as an error only because that is the mechanism available to stop the transfer.
Resolution: No action is needed where the duplicate is genuine. Where addresses that differ are being blocked, review the values the mapping supplies — the match is made across the whole address, so two addresses are treated as duplicates only when every mapped value agrees. To allow duplicates, remove the duplicate-prevention option from the mapping.
Timecards
A timecard line sequence number is not a whole number
Error message: Invalid SEQ_NO for TimecardLine
Description: A timecard line is identified by its store, user, date and a sequence number, and the sequence number supplied was not a whole number. The record could not be located or written.
Resolution: Correct the mapping so the sequence number is a whole number. Where the identifier is being assembled from several parts, confirm the parts are in the expected order and that none is empty.
Dynamic Formula errors
These come from formulas rather than from Counterpoint. Dynamic Formula mappings are editable by subscribers or their MiSP in the iPaaS.com mapping UI, so these errors can be resolved by correcting the formula — unlike the errors above, which need the data or the settings to change.
Most of them arise only after a formula has been edited. A formula that shipped with the template and has not been changed does not normally produce them.
Several of these messages are prefixed in the log with a path such as ConversionFunctions.UnitNameFromFlag: before the text shown below. That prefix identifies the block of formula code that raised the error, not the formula you see in the mapping UI — one prefix is often shared by several mappings that do similar work, so it narrows the search but does not name the mapping to edit. The part quoted here is the part that identifies the problem — search the log for that rather than for the whole line, then work out which mapping on the failing collection uses it.
The item cannot be loaded
Error message: Unable to load the specified item: [item number]
Description: A unit-of-measure formula was asked for an item Counterpoint does not hold. Products are not transferred automatically as a prerequisite, so this usually means the product has not reached Counterpoint.
Resolution: Transfer the product to Counterpoint before the record that refers to it. Where products are expected to already be there, confirm the item number the formula is reading is the one Counterpoint uses.
The unit flag is not a value Counterpoint recognises
Error message: Invalid UNIT_FLG value: [value]
Description: The formula that resolves a unit of measure recognises a fixed set of unit positions and was given something outside it.
Resolution: Confirm the item's unit configuration in Counterpoint. Where the formula has been edited, confirm it is passing a unit position the formula handles.
The unit does not exist for this item
Error message: The unit specified does not exist for this item: [item number], [unit]
Description: The item exists, but the unit of measure asked for is not one of the units configured against it.
Resolution: Confirm the unit is configured on the item in Counterpoint, or that the formula is asking for a unit the item actually has.
A refund line cannot be linked to its original sale
Error message: LinkLineGuidFromParent failed: [reason]
Description: A refund line must be linked back to the line of the original sale it reverses, and the link could not be made. The reason names which step failed. The reasons you may see are: Original order not specified; Original order line not found by specified id; Original order line does not have an external id for this system; The External Id for transaction line items should be in the format DOC_ID|LIN_SEQ_NO, but it is not; the same message ending but LIN_SEQ_NO is not an integer; Original order not found in Hive; Line seq no not found on original order from Hive; Line seq no found on original order from Hive, but it has no LIN_GUID; No acceptable release line found, apparently due to previous returns; and no acceptable release line found.
Resolution: Confirm the original sale has been transferred to Counterpoint and that the refund refers to it. Where the reason mentions an external id that is not in the expected format, the link between the iPaaS.com order line and its Counterpoint counterpart is malformed — contact iPaaS.com Support quoting the value shown in the message. Where the reason mentions no acceptable release line found, the quantity being returned may already have been returned; confirm the return is valid against what remains on the original order.
A formula argument is wrong
Error message: DimPosition must be 1, 2, or 3. Sku: [sku], DimPosition: [value]
Description: A grid-dimension formula was given a dimension position outside the three Counterpoint supports. Counterpoint grids have at most three dimensions.
Resolution: Correct the formula so the dimension position is 1, 2 or 3.
A formula names a field that does not exist
Error message: The table [table] does not include the field [field name]
Description: A lookup formula was asked for a Counterpoint field that does not exist on the table it is reading. This is a formula error rather than a data problem. The message appears in several forms — naming the item table directly as The table IM_ITEM does not include the field [field name], or prefixed as Attempt to access invalid field in CPHive.ConversionFunctions.ValueFromLookupTable: The table [table] does not include the field [field name].
Resolution: Correct the field name in the formula, and confirm the field exists on the Counterpoint table the formula is reading. In the lookup-table form, the field named is the one the formula was asked to return. On installations running an earlier build the message named the field the formula matches on instead, so where the named field looks correct, check the other one as well.
A lookup matched more than one record
Error message: Item [item number] returned more than one result from a CPHive table data lookup
Description: A lookup formula expected at most one row per item and found several, so it could not decide which value to return. A longer form of the message adds the table and field it was reading. This usually means the match conditions in the formula are not specific enough for the table being read.
Resolution: Add match conditions to the formula so it identifies a single row — commonly a location, a grid dimension, or a sequence number. Where the duplicate rows are unexpected, check the item in Counterpoint for records that should not be there.
A formula is missing required arguments
Error message: ChildMapTableLookup requires parentItemNumber, dictionaryMatches, lookupTableName, and returnFieldName
Description: A lookup formula was called without all the values it needs. Companion messages are VariantMapTableLookup requires parentItemNumber, dictionaryMatches, lookupTableName, and returnFieldName for the variant equivalent, and Secondary lookup requires secondaryMatches, secondaryTableName, and secondaryFieldName where a formula begins a second lookup without supplying all three of its arguments.
Resolution: Supply the missing arguments in the formula. Where a secondary lookup is not wanted, remove all three of its arguments rather than some of them.
A formula supplies a value the integration adds for itself
Error message: Child ITEM_NO is dynamically added to dictionaryMatches and cannot be provided ahead of time
Description: The opposite of the error above — the formula is supplying a value the integration inserts for you, so the value collides with the one being added. There are four forms of this message, covering child items and variants, and covering the primary match list and the secondary one: Child ITEM_NO is dynamically added to dictionaryMatches, Child ITEM_NO is dynamically added to secondaryMatches, Variant ITEM_NO and DIMS are dynamically added to dictionaryMatches, and Variant ITEM_NO and DIMS are dynamically added to secondaryMatches. The first and third forms end with the values that collided.
Resolution: Remove the item number — and, for variants, the grid dimensions — from the match list the message names. The integration adds them itself as it walks each child or variant.
A custom field formula was given the wrong kind of value
Error message: Invalid object passed to GetCustomField_CPHive. inputObject must be List> or inherit AbstractHiveDataWithCustomFields. Type: [type]
Description: A formula that reads a custom field was pointed at something that does not carry custom fields — commonly a single field value where the whole record was intended, or a parent record where a line was intended.
Resolution: Correct the formula so it reads the custom field from the record itself rather than from one of its values. Compare it against a working custom-field mapping on another collection in the same template.
A customer could not be linked by email
Error message: Unable to dynamically link to existing iPaaS customer using email address. This may result in duplicate customer records.
Description: A customer arriving from Counterpoint matched an existing iPaaS.com customer by email address, but the link between the two could not be created. The message says what the consequence is: the same person may end up on two iPaaS.com records.
Resolution: Contact iPaaS.com Support. Check iPaaS.com for a duplicate of the customer named in the surrounding log entries.
A kit component could not be transferred
Error message: Error transferring kit component or parent with SKU [sku]
Description: A kit's transfer also transfers the products it is built from, and one of them failed. The kit does not transfer without them. A companion message, Kit parent or component SKU [sku] could not be retrieved, means the product could not be read from iPaaS.com at all rather than failing on the way to Counterpoint.
Resolution: Look for an earlier error in the log for the named SKU — that error is the actual cause. Resolve it and transfer the kit again. Where the message says the SKU could not be retrieved, confirm the product exists in iPaaS.com and that the kit refers to the SKU it actually uses.
Refunds
A declined refund
Owning collections: Add NCR Counterpoint Item Refund FROM iPaaS.com and Add NCR Counterpoint Deposit Refund FROM iPaaS.com
Description: Both refund collections raise an error rather than transferring when the refund's first payment carries a status of Declined. A refund whose payment was declined has not returned any money, so writing it to Counterpoint would record a refund that did not happen.
Resolution: No action is needed for a genuinely declined refund — the error is the collection doing its job. Where a refund was expected to succeed, investigate the payment in the source system.
A partial deposit refund
Owning collection: Add NCR Counterpoint Deposit Refund FROM iPaaS.com
Description: As shipped, this collection returns a deposit in full and nothing less. A refund whose amount does not equal the total of the order it is written against — a partial deposit refund — is raised as an error rather than being written to Counterpoint as a smaller amount.
Resolution: Handle partial deposit refunds in Counterpoint directly. This behaviour comes from the collection's error condition, which is editable by subscribers or their MiSP alongside the declined-payment condition on the same collection, so it can be relaxed if partial deposit refunds should transfer. Do not change it without validating the result in a staging environment first — the condition exists because a partial amount written against a deposit does not necessarily reconcile the way a full return does, and the consequences appear in Counterpoint rather than in the error log.
Errors that mean something has gone wrong internally
Some messages indicate a fault in the integration rather than anything a subscriber can configure or correct. They take forms such as:
Call to [stage] with unhandled parameters: the transfer reached a stage of processing with a combination of record type and data the integration does not handle. The stage named may be reading a record, creating one, updating one, calling the destination, or reading or setting a record's primary key.
Unable to determine table name for mapping collection type [type] and Unable to determine primary key: mappingCollectionType=[type], Type: [type]: the integration could not work out how to identify the record it was given.
The supplied mapping collection type did not contain the required structure: TM_MappingCollectionType = [type], id: [id]: the identifier supplied for a record does not have the shape that record type requires. Where this appears on a collection whose records are identified by several values joined together, check that the mapping supplying the identifier has not been altered before contacting Support.
Invalid data passed to [record].SetPrimaryKey: a record's identifier could not be applied.
Unable to GetValue from source object. Type=[type], propertyName=[name]: a value could not be read from a record during translation.
Unhandled endpoint type, Unsupported parameter type, and GetPrimaryId was not implemented for this Response method: the integration attempted a call it is not built to make.
Error occurred running CustomerExternalId_POSTAsync: [reason]: the integration could not record the link between an iPaaS.com record and its Counterpoint counterpart. The transfer may have written the record successfully; a later transfer of the same record may create a duplicate rather than updating it.
Resolution: Contact iPaaS.com Support, quoting the message and the transaction it appeared on. There is no subscriber-side configuration that resolves these. Where the message concerns an external id, also check Counterpoint for a duplicate of the record named in the surrounding log entries.
