# NetSuite Add/Update Contact Error: "A contact record with this name already exists"

**URL:** <https://connective.celigo.com/t/netsuite-add-update-contact-error-a-contact-record-with-this-name-already-exists/5676>\
**Category:** Integrator.io\
**Tags:** netsuite\
**Created:** [October 8, 2025, 5:41pm UTC](https://connective.celigo.com/t/netsuite-add-update-contact-error-a-contact-record-with-this-name-already-exists/5676 "2025-10-08T17:41:12Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![nuriensing](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/nuriensing/32/6918_2.png) [@nuriensing](https://connective.celigo.com/u/nuriensing)\
**Post date:** [October 8, 2025, 5:41pm UTC](https://connective.celigo.com/t/netsuite-add-update-contact-error-a-contact-record-with-this-name-already-exists/5676/1 "2025-10-08T17:41:12Z")

</div>

I’m working on a flow that adds/updates a contact in NetSuite.

If the contact doesn’t exist, it gets created successfully but intermittently I am receiving this error and the flow doesn’t continue:

```auto
Failed to save record because A contact record with this name already exists. Every contact record must have a unique name.

```

**Importing record request to Netsuite:**

```auto
{
  "nlobjRecordType": "contact",
  "nlobjFieldIds": {
    "internalid": "",
    "company": 1234,
    "subsidiary": 4,
    "email": "john.doe@example.com",
    "entityid": "John Doe"
  },
  "nlobjSublistIds": {},
  "documentIndex": 0,
  "INTEGRATOR_IO_MAPPER": true
}

```

**nlapi calls registered for $R:**

```auto
r = nlapiCreateRecord("contact", {});
r.setFieldValue("company", 1234);
r.setFieldValue("subsidiary", 4);
r.setFieldValue("email", "john.doe@example.com");
r.setFieldValue("entityid", "John Doe");
nlapiSubmitRecord(r, false, false);

```

In NetSuite, the contact record does get created at the time of the request.

**Question:**  
What could trigger this intermittent error. Any ideas?

---

<div class="post-metadata">

**Author:** ![nelpatiga](https://avatars.discourse-cdn.com/v4/letter/n/dbc845/32.png) [@nelpatiga](https://connective.celigo.com/u/nelpatiga)\
**Post date:** [October 9, 2025, 3:46pm UTC](https://connective.celigo.com/t/netsuite-add-update-contact-error-a-contact-record-with-this-name-already-exists/5676/2 "2025-10-09T15:46:44Z")

</div>

Hi there!

Did you have any criteria set for “how to find existing records?” in your import? We suggest to review your mappings and flow configuration to make sure the correct field is being used for record matching. You may also need to confirm that the data being sent does not unintentionally duplicate an existing record’s name.

You may also try the following steps:

1. Check existing contacts in the target system to identify if a record with the same name already exists.
2. Adjust the source data or your flow logic to ensure that each Contact record sent into the target system has a unique name. This may involve:
  - Appending an identifier (like an email address, number, or a timestamp) to the Contact’s name, or
  - Using the system’s auto-generated numbering features (if available) to assign unique values automatically.

3. If you have multiple records with the same name but they are different entities, consider introducing an additional field (such as email or an external ID) to guarantee uniqueness or to distinguish between them.

If none of these work, feel free to send a support ticket and we’ll be glad to take a look at it.

---

<div class="post-metadata">

**Author:** ![tylerlamparter](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/tylerlamparter/32/9204_2.png) [@tylerlamparter](https://connective.celigo.com/u/tylerlamparter)\
**Post date:** [October 9, 2025, 7:57pm UTC](https://connective.celigo.com/t/netsuite-add-update-contact-error-a-contact-record-with-this-name-already-exists/5676/3 "2025-10-09T19:57:26Z")

</div>

So it gets created, but you're getting this intermittent error, and you've aligned the create timestamp of the contact to when this error came back? If so, seems like a bug to me.

---

<div class="post-metadata">

**Author:** ![nuriensing](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/nuriensing/32/6918_2.png) [@nuriensing](https://connective.celigo.com/u/nuriensing)\
**Post date:** [October 16, 2025, 12:37pm UTC](https://connective.celigo.com/t/netsuite-add-update-contact-error-a-contact-record-with-this-name-already-exists/5676/4 "2025-10-16T12:37:40Z")

</div>

Yep seems like a bug. For example today:  
Lookup contact \> Not found  
Create contact returned error at 10/15/2025 11:17:04 AM via Celigo  
However Celigo created this record in the same step:

| 15/10/2025 11:16 | 9801 Celigo Service Account | Script (Suitelet) | Create | Record | Contact | 242106 |
| --- | --- | --- | --- | --- | --- | --- |

---

<div class="post-metadata">

**Author:** ![tylerlamparter](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/tylerlamparter/32/9204_2.png) [@tylerlamparter](https://connective.celigo.com/u/tylerlamparter)\
**Post date:** [October 16, 2025, 3:30pm UTC](https://connective.celigo.com/t/netsuite-add-update-contact-error-a-contact-record-with-this-name-already-exists/5676/5 "2025-10-16T15:30:26Z")

</div>

Are you using our native NetSuite import and using add/update to contact? We're wondering what this "9801 Celigo Service Account" script is.

---

<div class="post-metadata">

**Author:** ![nuriensing](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/nuriensing/32/6918_2.png) [@nuriensing](https://connective.celigo.com/u/nuriensing)\
**Post date:** [October 17, 2025, 4:19am UTC](https://connective.celigo.com/t/netsuite-add-update-contact-error-a-contact-record-with-this-name-already-exists/5676/6 "2025-10-17T04:19:50Z")

</div>

Yes, native.  
"9801 Celigo Service Account" is the netsuite user where the token and roles are assigned to.

However I do have these advanced settings:

 ![image](https://us1.discourse-cdn.com/flex001/uploads/celigo/original/2X/d/d69f2f597e9f8229d1498e2389ea0367ce6000f7.png)

---

<div class="post-metadata">

**Author:** ![tylerlamparter](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/tylerlamparter/32/9204_2.png) [@tylerlamparter](https://connective.celigo.com/u/tylerlamparter)\
**Post date:** [October 18, 2025, 12:24am UTC](https://connective.celigo.com/t/netsuite-add-update-contact-error-a-contact-record-with-this-name-already-exists/5676/7 "2025-10-18T00:24:18Z")

</div>

I'd recommend a support ticket, but this will probably be a tough one to troubleshoot since it's intermittent.

---

<div class="post-metadata">

**Author:** ![nuriensing](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/nuriensing/32/6918_2.png) [@nuriensing](https://connective.celigo.com/u/nuriensing)\
**Post date:** [October 22, 2025, 8:53am UTC](https://connective.celigo.com/t/netsuite-add-update-contact-error-a-contact-record-with-this-name-already-exists/5676/8 "2025-10-22T08:53:37Z")

</div>

What I have done first is i re-created this step so that it uses the newest Netsuite API Version, and I removed the concurrency lock.
