While integrating a third-party system with NetSuite, our team encountered a SOAP service error that halted data transmission. The root cause? A mismatch in the country enumeration value for Vietnam.
Error Message
Service error - (soapenv:Server.userException) org.xml.sax.SAXException: _vietnam is not a legal value for {urn:types.common_2024_1.platform.webservices.netsuite.com}Country
This error indicates that the value _vietnam—used by the third-party system—is not recognized by NetSuite’s SOAP API as a valid country enumeration.
What NetSuite Expects
According to the official
https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N3785183.html
documentation, the correct enumeration for Vietnam is:
_vietNam
This camel-cased format is critical for SOAP-based integrations. The https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2017_1/schema/enum/country.html?mode=package confirms this naming convention.
Why This Matters
NetSuite enforces strict validation on country values in SOAP requests. If the value passed does not match the expected enumeration, the system throws a SAXException and rejects the request. This can disrupt vendor onboarding, payment processing, and other automated workflows.
In our case, the third-party system was sending _vietnam, which is not recognized by NetSuite. As a result, vendor creation and payment template updates failed.
Resolution Steps
- Update the Integration Code\Ensure that the country value passed to NetSuite is
_vietNam instead of _vietnam. - Refer to Release Notes\The ReleaseNotes_2023.2.0 document highlights updates to country names, including the change from “Vietnam” to “Viet Nam”.
Final Thoughts
This issue underscores the importance of aligning integration parameters with NetSuite’s schema definitions. Even minor discrepancies like casing or spacing in enumeration values can lead to major disruptions. Always refer to NetSuite’s official documentation and release notes when configuring integrations.