This article is relevant if you are managing NetSuite entities that serve in multiple roles, such as both Customer and Vendor, and need to remove one of those subtypes, but find the standard UI pathway unintuitive or opaque.
TL;DR Summary
In NetSuite, entities can serve multiple roles (e.g., Customer and Vendor), but removing a role like “Customer” isn’t obvious through the UI. While it’s possible to delete the subtype if there are no related transactions, most users miss this built-in capability. To make the process more transparent, we have developed a no-cost utility that helps identify dual-role entities and facilitates subtype removal, providing both visibility and action in a single tool.

Background
One of NetSuite’s more powerful architectural features is that a single entity can function across multiple business roles. For example, a record that begins its life as a customer can later be augmented to also function as a vendor, partner, contact or other name—all under the same internal ID. This consolidation promotes continuity and clarity in business relationships, but it comes with hidden nuances.
A typical scenario we see with clients is confusion arising from custom field filtering. For instance, a user may define a custom entity field restricted to vendors only, yet a record that also happens to be a customer unexpectedly does not appear in the selection list. The root cause: NetSuite is honoring the entity’s multi-role design even if the user only had one function in mind. These situations prompt clients to ask, “Can we remove the unintended relationship type?”
Historically, the UI doesn’t advertise an obvious method for reversing these subtype assignments. However, with some exploration, this can be resolved.
NetSuite’s Entity Model: Flexibility with Caveats
NetSuite permits a single record to simultaneously act as a Customer, Vendor, Partner, Contact, or Other Name. This is reflected in the Other Relationships section on the entity record and is controlled through underlying subrecord associations.
The platform excels at adding these roles, enabling administrators to grant additional functionality to a record as business needs evolve. However, it doesn’t make it equally easy to remove them. The reasons are partly technical (to preserve relational integrity) and partly design-based (to reduce inadvertent data loss).
Still, there are legitimate reasons to remove a role:
- A vendor record was incorrectly created as a customer.
- A custom field filtered for vendors (or vice versa) may miss irrelevant matches due to lingering customer associations.
- A record cleanup project is eliminating unused or legacy roles.
Although it appears that the UI offers no removal option, NetSuite actually supports this, but only if there are no transactions tied to the subtype in question.
Our Utility: A Bridge Between Visibility and Action
To address this subtle challenge, we developed a lightweight utility available to our clients as part of our Accelerator Template library. It provides three key functions:
- Discovery: Uses SuiteQL to identify all entities that serve in both Customer and Vendor roles.
- UI Facilitation: Presents a friendly interface where administrators can select records and request the removal of a subtype (Customer or Vendor).
- Confirmation: Clearly displays success messages confirming role removal.
While the utility doesn’t bypass NetSuite’s built-in constraints (e.g., it won’t remove a Customer record with existing transactions), it does surface and streamline what’s otherwise buried functionality.
See the Utility in Action
1. UI Limitation Notice
The standard NetSuite UI allows role additions but does not offer a direct “remove” button under Other Relationships.
Click images to see them full screen.
2. Record Selection & Subtype Choice
Our tool lets you select multi-role entities and specify which role to remove.
3. Diagnostic Panel
Entities that qualify (i.e., both customers and vendors) are listed through this SuiteQL-driven insight:
SELECT c.id, c.entityid
FROM customer c
JOIN vendor v ON c.id = v.id
ORDER BY c.entityid
4. Navigation Path
Access the tool via Lists > Relationships > Entity Subtype Removal.
5. Confirmation
Successful execution provides precise feedback on which role was removed.
But Wait! It Is Possible via NetSuite’s Built-in UI
Here’s the hidden gem: NetSuite does support subtype removal via its UI—it just doesn’t advertise it clearly.
If an entity is both a customer and a vendor, and there are no customer-related transactions, simply navigate to the Customer record and delete it. NetSuite will remove the customer subrecord while leaving the vendor data untouched. The remaining entity will still function as a vendor, and the Other Relationships section will reflect the removal of the customer association.
Technical Option: Use SuiteScript for Role Removal
For developers or administrators comfortable with scripting, NetSuite’s API allows direct deletion of subrecords. Here’s a basic example for removing a Customer subtype:
require(['N/record'], function(record) {
var entityId = 1234;
try {
record.delete({
type: record.Type.CUSTOMER,
id: entityId
});
} catch (e) {
log.error('Could not delete Customer subrecord', e);
}
});
Delivering More Than Advice: Expert NetSuite Insight with Real-World Tools
While NetSuite’s data model allows an entity to serve in multiple roles, removing one of those roles, especially after it’s no longer needed, can feel like a mystery. Our utility provides a pragmatic and user-friendly approach to identifying and managing these dual-role records, aligning with NetSuite’s own built-in, albeit hidden, removal capabilities.
We provide this tool to all clients at no license cost, as part of our commitment to bringing clarity, control, and capability to every NetSuite engagement.
If you found this article relevant, feel free to sign up for notifications to new articles as I post them. If you’re ready to clean up your entity roles or build a smarter relationship model in NetSuite, let’s have a conversation.





