Overview
This article catalogs the errors the Heartland integration can record in the iPaaS.com error logs. Each error carries a stable code, its message, the cause, and the action to take. The codes have the form HRTL-{CATEGORY}-{NUMBER} (for example, HRTL-VALD-1001) and never change once published, so you can search this page for the exact code shown in your error log to find its entry.
Some messages contain values that are filled in when the error occurs. These appear here in braces, for example {Sku}, and are described in each entry.
Most resolutions below refer to your Managed Integration Service Provider (MiSP) — the party that owns this integration's mapping collections, connection settings and credentials, and day-to-day reconciliation. Where a fix means changing a mapping, a filter, or a connection, your MiSP is the right first contact.
iPaaS.com categorizes errors by families. You can learn more about that categorization at Understanding iPaaS.com API Error Codes.
Supported Flows
Customer and Customer Address
Product and Product Variant
Product Inventory
Gift Card
Sales Order and Ticket
Invoice
Heartland API Responses
Record Identifiers
Internal Validation
Connection Authorization
Error Collection
Customer and Customer Address
Existing customer could not be linked by email (To iPaaS.com)
HRTL-BIZL-1001 - Unable to dynamically link to an existing iPaaS.com customer using the email address. This may result in duplicate customer records.
Description: Before a customer is transferred, the integration looks for an existing match on email address and writes the external-id link that ties the two records together. This warning is raised when that link is written but does not come back holding the expected identifier, so the two customer records are left unlinked. It is raised from Add Heartland Customer TO iPaaS.com and Update Heartland Customer TO iPaaS.com.
Resolution: Check both systems for two customer records that share the same email address. If duplicates exist, merge or remove the unwanted record and re-run the transfer so the link is written against the surviving record.
Existing customer could not be linked by email (From iPaaS.com)
HRTL-BIZL-1006 - Unable to dynamically link to an existing iPaaS.com customer using the email address. This may result in duplicate customer records.
Description: The same email-match and link step runs when a customer is transferred from iPaaS.com toward Heartland. The warning is raised when the link is written but does not return the expected identifier, leaving the records unlinked. It is raised from Add Heartland Customer FROM iPaaS.com and Update Heartland Customer FROM iPaaS.com.
Resolution: Check both systems for duplicate customers sharing one email address, resolve the duplicate, and re-run the transfer.
Customer could not be updated — missing id
HRTL-VALD-1001 - Could not update the customer in Heartland because the customer id is 0.
Description: An update to a Heartland customer arrived without the Heartland customer id needed to identify the record, so the integration cannot tell which customer to update. It is raised from Add/Update Heartland Customer FROM iPaaS.com.
Resolution: Confirm the customer transferred to Heartland successfully and is linked before an update is sent — an update depends on that link supplying the id. Re-run the customer transfer to establish the link, then re-run the update. If the customer is linked and the error persists, ask your MiSP to review the customer id mapping on the collection.
Customer could not be created
HRTL-EXTN-1003 - The customer could not be created in Heartland.
Description: The integration sent a create request for a customer and Heartland did not return a created customer record. It is raised from Add Heartland Customer FROM iPaaS.com.
Description note: A Heartland API response error (see HRTL-EXTN-1001) is usually logged alongside this and names the specific reason.
Resolution: Review the Heartland API response logged with this error for the field or value Heartland rejected, correct it on the source record or its mapping (with your MiSP), and re-run the transfer.
Customer could not be updated
HRTL-EXTN-1004 - The customer could not be updated in Heartland.
Description: The integration sent an update request for a customer and Heartland did not return the updated record. It is raised from Update Heartland Customer FROM iPaaS.com.
Resolution: Review the Heartland API response logged with this error, correct the rejected value with your MiSP, and re-run the transfer.
Customer could not be created for the address
HRTL-BIZL-1003 - Unable to create the customer. This will prevent the transfer of the customer address.
Description: A customer address cannot exist on its own. When an address arrives for a customer that is not yet linked, the integration transfers the parent customer first; this error is raised when that customer transfer fails, which stops the address transfer. It is raised from Add Heartland Customer Address TO iPaaS.com and Update Heartland Customer Address TO iPaaS.com.
Resolution: Find the customer transfer error logged immediately before this one and resolve that first — most often the customer is missing a value the receiving system requires. Transferring the customer on its own is enough to clear this error, after which you can re-run the address.
Customer address could not be updated — missing id
HRTL-VALD-1002 - Could not update the customer address in Heartland because the customer id or customer address id is 0.
Description: An update to a customer address arrived without the customer id or the address id needed to identify the record in Heartland. It is raised from Update Heartland Customer Address FROM iPaaS.com.
Resolution: Confirm the customer and the address both transferred to Heartland and are linked before an update is sent. Re-run the customer (and address) transfer to establish the links, then re-run the update.
Product and Product Variant
Existing product could not be linked by SKU
HRTL-BIZL-1007 - Unable to dynamically link to an existing Heartland product using the SKU. This may result in duplicate product records.
Description: When a product is sent to Heartland and is not yet linked, the integration first searches Heartland for an item with the same SKU so an existing item is reused rather than duplicated. This warning is raised when a match is found but the external-id link written back does not hold the expected Heartland item identifier. It is raised from Add/Update Heartland Product FROM iPaaS.com.
Resolution: Search Heartland for the SKU and confirm exactly one item uses it. Duplicate or reused SKUs in Heartland are the usual cause; correct the SKU in Heartland and re-run the product transfer.
Existing product variant could not be linked by SKU
HRTL-BIZL-1008 - Unable to dynamically link to an existing Heartland product variant using the SKU. This may result in duplicate product variant records.
Description: The same SKU-matching step runs for each variant of a grid item. This warning is raised when a Heartland grid variant is matched on SKU but the external-id link written back does not hold the expected variant identifier. It is raised from Add/Update Heartland Product FROM iPaaS.com while processing the product's variants.
Resolution: Confirm each variant SKU is unique within Heartland and that the variants belong to the expected grid item. Correct any duplicated variant SKU and re-run the parent product transfer, which reprocesses all of its variants.
Variant requires a product option
HRTL-BIZL-1009 - Variant transfers require a product option to be provided.
Description: A grid (variant) product in Heartland is defined by its options, so the integration cannot create variants when no product option is supplied. It is raised from Add/Update Heartland Product FROM iPaaS.com.
Resolution: Ask your MiSP to confirm the product option mappings are populated for grid products so each variant carries at least one option and value. Re-run the product transfer once the options are supplied.
Product identifier not supplied
HRTL-VALD-1008 - The product id is not provided correctly.
Description: A product was requested from Heartland without an identifier, or with an empty one. In practice this happens when a Manual Sync is submitted with a blank ID. It is raised from Add/Update Heartland Product TO iPaaS.com.
Resolution: Re-run the Manual Sync with the Heartland product ID filled in.
Product public id missing
HRTL-VALD-1009 - A Public Id is required to transfer this product.
Description: A product being written to Heartland has no Public Id, which Heartland requires to identify the item. It is raised from Add/Update Heartland Product FROM iPaaS.com.
Resolution: Ask your MiSP to confirm the Public Id mapping is populated from a source field that is always present, then re-run the transfer.
Product Inventory
Inventory location not found in Heartland
HRTL-NFND-1001 - The inventory location id could not be found in Heartland.
Description: The inventory record being sent to Heartland carries an iPaaS.com location that has no matching, linked Heartland inventory location, so the validation stops the transfer rather than writing a quantity against the wrong location. This validation lives in the mapping filter on Add/Update Heartland Product Inventory FROM iPaaS.com.
Resolution: Confirm the iPaaS.com location has been transferred to Heartland and is linked — transferring locations through Add/Update Heartland Location TO iPaaS.com establishes the link. Once the location is linked, re-run the inventory transfer. Because this check lives in the mapping filter, your MiSP can adjust or remove it in the iPaaS.com UI if the behavior needs to change.
Gift Card
Gift card fields missing on create
HRTL-VALD-1005 - The gift card number is not provided correctly through the mappings.
Description: A gift card being written to Heartland has no card number supplied through the mappings, so it cannot be created. It is raised from Add Heartland Gift Card FROM iPaaS.com.
Resolution: Ask your MiSP to confirm the gift card number mapping is populated, then re-run the transfer.
Gift card fields missing on update
HRTL-VALD-1007 - The gift card number is not provided correctly through the mappings for this update.
Description: A gift card update reached Heartland without the card number needed to identify and update the card. It is raised from Update Heartland Gift Card FROM iPaaS.com.
Resolution: Ask your MiSP to confirm the gift card number mapping is populated on the update collection, then re-run the transfer.
Invalid gift card id
HRTL-VALD-1006 - The provided gift card id is incorrect.
Description: A gift card was requested from Heartland with a missing or malformed id. In practice this happens on a Manual Sync submitted with a blank or wrong ID. It is raised while retrieving a gift card from Heartland.
Resolution: Re-run the Manual Sync with the correct Heartland gift card id.
Gift card activity fields missing
HRTL-VALD-1003 - The gift card activity payload is missing mandatory fields.
Description: A gift card activity record reached Heartland without the mandatory fields (such as the gift card it applies to and the reason) needed to record it. It is raised while processing gift card activity.
Resolution: Ask your MiSP to confirm the required gift card activity mappings are populated, then re-run the transfer.
Invalid gift card activity id
HRTL-VALD-1004 - The provided gift_card_activity id is incorrect.
Description: A gift card activity was requested from Heartland with a missing or malformed id. It is raised while retrieving gift card activity from Heartland.
Resolution: Re-run the Manual Sync with the correct gift card activity id.
Sales Order and Ticket
Customer could not be created for the order (To iPaaS.com)
HRTL-BIZL-1002 - Unable to create the customer. This will prevent the transfer of the order.
Description: An order or ticket coming from Heartland references a customer that is not yet linked in iPaaS.com. The integration transfers that customer first, and this error is raised when that customer transfer fails, which stops the order. It is raised from the Sales Order and Ticket collections that capture into iPaaS.com.
Resolution: Resolve the customer transfer error logged just before this one, then re-run the order. Transferring the customer on its own first is a reliable way to confirm the problem is cleared.
Customer could not be created for the order (From iPaaS.com)
HRTL-BIZL-1004 - Unable to create the customer. This will prevent the transfer of the order.
Description: The same prerequisite runs in the opposite direction: an order being written to Heartland references an iPaaS.com customer with no linked Heartland customer, so the integration transfers the customer first. This error is raised when that customer transfer fails. It is raised from Add/Update Heartland Sales Order FROM iPaaS.com and the ticket and invoice collections in the same direction.
Resolution: Resolve the customer transfer error logged just before this one — most often a value Heartland requires that the iPaaS.com record does not supply — then re-run the order.
Gift card could not be created for the payment
HRTL-BIZL-1005 - Unable to create the Gift Card. This will prevent the transfer of the order.
Description: An order or ticket being written to Heartland includes a gift card payment whose gift card is not yet linked in Heartland. The integration transfers the gift card first so the payment can be applied, and this error is raised when that transfer fails. It is raised from Add/Update Heartland Sales Order FROM iPaaS.com and Add Heartland Ticket FROM iPaaS.com while handling gift card payments.
Resolution: Resolve the gift card transfer error logged just before this one, then re-run the order. If the gift card carries a zero balance, ask your MiSP whether the Adjust Empty Gift Card For Payment subscription setting should raise the balance to cover the payment before the card is transferred.
Transaction identifier not supplied
HRTL-VALD-1010 - The transaction id is not provided correctly.
Description: A Heartland transaction was requested without an identifier, or with an empty one. In practice this happens when a Manual Sync is submitted with a blank ID. It is raised from the Sales Order, Ticket, Invoice, and Transaction Status collections that capture into iPaaS.com.
Resolution: Re-run the Manual Sync with the transaction ID filled in, using the suffixed format described in the next entry.
Transaction identifier missing its type suffix
HRTL-VALD-1011 - The transaction id must contain an _ORDER, _INVOICE, or _TICKET suffix to determine the proper source.
Description: Heartland orders, tickets, and invoices share one transaction record type, so the integration needs the identifier to state which kind it is. The identifier must end in
_ORDER,_TICKET, or_INVOICE(for example,123456_ORDER). This error is raised when the identifier supplied has none of those suffixes.Resolution: Re-run the Manual Sync with the suffix appended to the Heartland transaction number:
_ORDERfor a sales order,_TICKETfor a ticket,_INVOICEfor an invoice.
Missing transaction object
HRTL-VALD-1012 - The transaction object is null.
Description: A transaction validation ran with no transaction to check, meaning the record did not reach the validator in a usable form. It is raised from the transaction create and invoice validators.
Resolution: Re-run the transfer. If it recurs for the same record, ask your MiSP to review the mapping collection that produces the transaction payload for the record named in the log.
Unrecognized transaction type
HRTL-VALD-1013 - The transaction type is not one of the supported types (invoice, order, ticket).
Description: A transaction reached Heartland carrying a type other than order, ticket, or invoice. The integration validates the type before creating or updating the record. It is raised from the Sales Order, Ticket, and Invoice collections in both directions.
Resolution: Ask your MiSP to check the mapping that supplies the transaction type on the collection named in the error and confirm it resolves to one of the three supported values.
Unsupported transaction type on create
HRTL-BIZL-1013 - A transaction of type {Type} cannot be created in Heartland.
Description: The create path was reached by a transaction whose type Heartland does not create through this integration.
{Type}resolves to the type that was supplied. It is raised while creating a transaction in Heartland.Resolution: Ask your MiSP to confirm the transaction type mapping resolves to a type this integration creates (order, ticket, or invoice) for the collection named in the error.
Unsupported transaction type on update
HRTL-BIZL-1014 - A transaction of type {Type} cannot be updated in Heartland.
Description: The update path was reached by a transaction whose type Heartland does not update through this integration.
{Type}resolves to the type that was supplied. It is raised while updating a transaction in Heartland.Resolution: Ask your MiSP to confirm the transaction type mapping resolves to a type this integration updates for the collection named in the error.
Transaction component could not be saved
HRTL-EXTN-1002 - A component of the transaction (line, payment, address, tracking, note, or status) could not be saved in Heartland.
Description: An order, ticket, or invoice is written to Heartland as a parent record plus its components — lines, payments, addresses, tracking numbers, notes, and status. This error is raised when one of those components fails to save; the logged text carries the specific reason for the component that failed. It is raised from the Sales Order, Ticket, and Invoice collections written to Heartland.
Resolution: Read the component detail in the logged message to see which part failed and why. A Heartland API response error (see HRTL-EXTN-1001) is usually logged alongside it. Correct the value on the source record or its mapping (with your MiSP), then re-run the transfer.
Transaction update did not complete
HRTL-INTL-1001 - The transaction could not be updated in Heartland.
Description: A transaction update reached the end of its processing without completing successfully and without a more specific error. It is raised from Update Heartland Invoice FROM iPaaS.com (Order Complete) and the update paths of the sales order and ticket flows.
Resolution: Re-run the transfer. If it recurs, share the full log — including any Heartland API response logged with it — with your MiSP, who can escalate to iPaaS.com Support at support@ipaas.com if the integration itself needs a change.
Invoice
Order identifier missing on the invoice
HRTL-VALD-1014 - The Order ID is missing or invalid.
Description: A Heartland invoice is always created against an existing Heartland sales order. This error is raised when the invoice reaching Heartland carries no usable order identifier. It is raised from Add Heartland Invoice FROM iPaaS.com (Invoice).
Resolution: Confirm the originating sales order transferred to Heartland successfully and is linked before the invoice is sent. Transfer the order first, then re-run the invoice.
Save invoice identifier missing
HRTL-VALD-1015 - The Save Invoice ID is missing or empty.
Description: The invoice reaching Heartland has no invoice identifier to save against. It is raised from Add Heartland Invoice FROM iPaaS.com (Invoice) and Update Heartland Invoice FROM iPaaS.com (Order Complete).
Resolution: Ask your MiSP to review the mapping that supplies the invoice identifier on the collection named in the error and confirm the source field is populated. Records that genuinely have no invoice number should be excluded by the collection's mapping filter rather than left to fail.
External identifier missing
HRTL-VALD-1016 - The External ID is missing or empty.
Description: The order being invoiced at completion has no external-id link to a Heartland transaction, so the integration cannot tell which Heartland record to invoice. It is raised from Update Heartland Invoice FROM iPaaS.com (Order Complete).
Resolution: Confirm the sales order transferred to Heartland and is linked before the completion event runs. Re-run the sales order transfer, then re-run the invoice update.
Invoice creation not enabled
HRTL-BIZL-1010 - Invoice creation is not enabled for this transaction.
Description: The invoice reaching Heartland does not carry the flag that authorizes the integration to create an invoice from it. It is raised from Add Heartland Invoice FROM iPaaS.com (Invoice).
Resolution: Ask your MiSP to review the mapping that supplies the create-invoice flag and confirm it resolves to true for records that should be invoiced. If invoicing is not intended for this subscription, the invoice collections should be disabled rather than left to fail.
Transaction status not complete
HRTL-BIZL-1011 - The transaction status must be 'complete' before it can be invoiced.
Description: Only completed transactions can be invoiced. This error is raised when the transaction's status is missing, or is present but something other than complete. It is raised from Add Heartland Invoice FROM iPaaS.com (Invoice) and Update Heartland Invoice FROM iPaaS.com (Order Complete).
Resolution: This is usually correct behavior — wait until the order is marked complete and let the completion event re-trigger the invoice. If orders that are complete in iPaaS.com still report this, ask your MiSP to check that the status mapping translates the iPaaS.com status to the value Heartland expects.
Invoice source transaction not open
HRTL-BIZL-1012 - An invoice cannot be created from transaction {External_Id} while it has status {Status}.
Description: An invoice can only be created from a source transaction that is still open.
{External_Id}resolves to the transaction being invoiced and{Status}resolves to its current status. This error is raised when the source transaction is in a status that does not allow invoicing.Resolution: Confirm the source transaction is in an open, invoiceable state in Heartland before the invoice is sent. If the transaction is already closed or fully invoiced, no further invoice is expected.
Invoice line item not linked to a Heartland sales order line
HRTL-BIZL-1015 - Transaction {Parent.TransactionNumber} cannot be invoiced because line item {Sku} is not linked to a Heartland sales order line id.
Description: Every line on a Heartland invoice must point at a line on the originating Heartland sales order. This validation stops the invoice when one of its lines has no such link.
{Parent.TransactionNumber}resolves to the transaction number of the invoice, and{Sku}resolves to the SKU of the unlinked line. This validation lives in the mapping filter on Add Heartland Invoice Line Item FROM iPaaS.com (Invoice).Resolution: Confirm the originating sales order and all of its lines transferred to Heartland successfully. A line added to the order after it reached Heartland, or a line whose product never linked, will produce this. Transfer the missing line or correct the product link, then re-run the invoice. Because this check lives in the mapping filter, your MiSP can adjust it in the iPaaS.com UI; relaxing it allows the invoice through with an unlinked line, which Heartland may then reject on its own terms.
Heartland API Responses
Heartland rejected the request
HRTL-EXTN-1001 - Error calling Heartland: the Heartland API returned an error for {action} (Http Code: {code}).
Description: Heartland rejected the request the integration sent. The logged message includes Heartland's own response, so the specific wording changes with each failure and is not controlled by the integration.
{action}names the operation and{code}is the HTTP status returned. Any collection that reads from or writes to Heartland can produce this.Resolution: Read the Heartland text in the message — it usually names the field or condition Heartland objected to. Common causes are a required Heartland field left empty by a mapping, a value outside the range or list Heartland accepts, and a record that no longer exists in Heartland. Correct that value on the source record or its mapping (with your MiSP) and re-run the transfer. If the Heartland text does not make the cause clear, share the full message with your MiSP.
Record Identifiers
Record identifier could not be read
HRTL-VALD-1017 - An invalid primary key value was supplied for this record.
Description: The identifier supplied for a record could not be interpreted as a valid key for that record type. The logged message names the record type and the value that was rejected, and the specific field when the failure is on one part of a compound key. It can be raised from any collection while reading a record's identifier — customer, customer address, location, payment method, shipping method, and others.
Resolution: If the transfer was started from Manual Sync, check the identifier entered against the ID Format section of that collection's mapping documentation and re-run with a correctly formed value. If the transfer was automatic, share the rejected value from the message with your MiSP to review the mapping that supplies the identifier.
Internal Validation
Unhandled internal validation
HRTL-INTL-1002 - An internal validation in the integration was reached with a record type, endpoint, or parameter it does not handle.
Description: A record type, endpoint, or request parameter reached a step in the integration that has no branch for it — for example an unsupported parameter type or a call made with parameters the step does not recognize. These indicate a fault in the integration or in how the subscription is configured, not a problem with the data on the record, and any flow can produce one. The logged text names the unhandled type in a short technical statement.
Resolution: These are not correctable from the record itself. Share the full message text and the name of the mapping collection that was running with your MiSP, who can escalate to iPaaS.com Support at support@ipaas.com if the integration or the subscription configuration needs a change.
Connection Authorization
The messages in this section apply only when a Heartland subscription is connected through the guided authorization callback. Subscriptions authenticated with an API key entered directly in the subscription settings do not use this path.
Authorization callback returned no code
HRTL-AUTH-1001 - Unable to complete the OAuth authorization process because no authorization code was returned.
Description: The authorization flow returned to iPaaS.com without the temporary code needed to complete the connection.
Resolution: Start the authorization again from the Heartland subscription and complete it without navigating away or letting the browser session expire. If it fails again, contact your MiSP.
Authorization code could not be exchanged
HRTL-AUTH-1005 - Unable to complete the OAuth authorization process because the temporary code could not be exchanged for a permanent token.
Description: The temporary code returned by the authorization flow was rejected when the integration tried to exchange it for a lasting credential. Expired codes and revoked application access both produce this.
Resolution: Start the authorization again and complete it promptly. Confirm the Heartland user completing it still has access to the Heartland account. If it fails again, contact your MiSP.
Client identifier not configured
HRTL-AUTH-1002 - Unable to complete the OAuth authorization process because the Client Id is not configured for this connection.
Description: The integration version being connected is missing the client identifier the authorization flow requires. This is a configuration value held by iPaaS.com, not by the subscriber or the MiSP.
Resolution: Contact iPaaS.com Support at support@ipaas.com.
Client secret not configured
HRTL-AUTH-1003 - Unable to complete the OAuth authorization process because the Client Secret is not configured for this connection.
Description: The integration version being connected is missing the client secret the authorization flow requires. This is a configuration value held by iPaaS.com.
Resolution: Contact iPaaS.com Support at support@ipaas.com.
Redirect address not configured
HRTL-AUTH-1004 - Unable to complete the OAuth authorization process because the Redirect Url is not configured for this connection.
Description: The integration version being connected is missing the return address the authorization flow sends the subscriber back to. This is a configuration value held by iPaaS.com.
Resolution: Contact iPaaS.com Support at support@ipaas.com.
Connection could not be validated
HRTL-AUTH-1006 - The connection to Heartland could not be validated. Verify the credentials and try again.
Description: When a subscription is established or tested, the integration validates the connection against Heartland. This error is raised when that validation does not succeed — most often because the credential is missing, expired, or revoked.
Resolution: Re-enter or re-authorize the Heartland credential on the subscription and test the connection again. If it continues to fail with a known-good credential, contact your MiSP.
Related Documents
Setup & Reference
