0

I am using the following SOAP request to upsert a customer into NetSuite.

It is retuning the following: ERROR USER_ERROR Please enter value(s) for: Primary Subsidiary

I've tried to add the subsidiary field and a few others but nothing seems to be working.

Does anyone know how to assign a Primary Subsidiary on customer upsert?

Thank you!

<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:ns1="urn:messages_2019_1.platform.webservices.netsuite.com" 
    xmlns:ns2="urn:relationships_2019_1.lists.webservices.netsuite.com" 
    xmlns:ns4="urn:relationships.lists.webservices.netsuite.com" 
    xmlns:ns3="urn:core_2019_1.platform.webservices.netsuite.com"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soap-env:Header>
        <tokenPassport>
            <account>%v</account>
            <consumerKey>%v</consumerKey>
            <token>%v</token>
            <nonce>%v</nonce>
            <timestamp>%v</timestamp>
            <signature algorithm="HMAC-SHA256">%v</signature>
        </tokenPassport>
        <preferences>
      </preferences>
    </soap-env:Header>
    <soap-env:Body>
        <ns1:upsert>
            <ns2:record xsi:type="ns2:Customer" externalId="10">
                <ns2:entityId>%v</ns2:entityId>
                <ns2:companyName>%v</ns2:companyName>
                <ns2:email>%v</ns2:email>
                <ns3:customField xsi:type="ns3:RecordRef" scriptId="custbody_inv_worksheet_currency">
                    <ns3:value internalId="10">
                        <ns3:name>EUR</ns3:name>
                    </ns3:value>
                </ns3:customField>
                <ns2:customFieldList>
                    <ns3:customField xsi:type="ns3:SelectCustomFieldRef" scriptId="custentity_vies_check_customer">
                        <ns3:value internalId="2">
                            <ns3:name>Approved</ns3:name>
                        </ns3:value>
                    </ns3:customField>
                    <ns3:customField xsi:type="ns3:SelectCustomFieldRef" scriptId="custentity_sales_type">
                        <ns3:value internalId="2">
                            <ns3:name>B2B</ns3:name>
                        </ns3:value>
                    </ns3:customField>
                    <ns3:customField xsi:type="ns3:SelectCustomFieldRef" scriptId="custentity_kyc_status">
                        <ns3:value internalId="2">
                            <ns3:name>Approved</ns3:name>
                        </ns3:value>
                    </ns3:customField>
                    <ns3:customField xsi:type="ns3:SelectCustomFieldRef" scriptId="custbody_inv_worksheet_currency">
                        <ns3:value internalId="10">
                            <ns3:name>EUR</ns3:name>
                        </ns3:value>
                    </ns3:customField>
                </ns2:customFieldList>
            </ns2:record>
        </ns1:upsert>
    </soap-env:Body>
</soap-env:Envelope>
Dan
  • 1

1 Answers1

0

If you check out the NetSuite Schema Browser (https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2021_2/schema/record/customer.html), you'll see that the subsidiary field is named "subsidiary" and is a RecordRef type, so that in your code you will need to (assuming C#) use "new RecordRef { internalid = XX } to create the RecordRef for the subsidiary and assign that to the field in your Customer object.

Pierre Plourde
  • 708
  • 4
  • 12