Search code examples
xmlsoapxslt-1.0netsuitesuitetalk

SuiteTalk Set Customer as Tax Exempt in NetSuite


I am trying to update a customer in NetSuite with SOAP requests. I am able to search for a customer correctly and get it returned, but when I try to send it taxable or taxExempt field such as below:

<taxExempt xmlns="urn:relationships_2014_1.lists.webservices.netsuite.com">true</taxExempt>
      <taxable xmlns="urn:relationships_2014_1.lists.webservices.netsuite.com">false</taxable>

NetSuite returns the following error:

<?xml version="1.0" encoding="utf-16"?>
<WriteResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <status isSuccess="false" xmlns="urn:core_2014_1.platform.webservices.netsuite.com">
    <statusDetail>
      <code>INSUFFICIENT_PERMISSION</code>
      <message>You do not have permissions to set a value for element taxexempt due to one of the following reasons: 1) The field is read-only; 2) An associated feature is disabled; 3) The field is available either when a record is created or updated, but not in both cases.</message>
    </statusDetail>
  </status>
</WriteResponse>

I've also tried doing taxable or taxExempt individually, but it throws the same issue. Is there a certain setup I need in NetSuite or am I sending the wrong field?


Solution

  • taxExempt is only for Canadian accounts. You want taxable=false and make sure the taxitem field is empty (or just leave taxable alone and set the taxitem to the id of the appropriate non-taxable tax item)