title: Add customer successfully in US version of QuickBooks Online but getting validatiuon error in Canadian version of QBO through Intuit API in PHP
body: <p>I am using QBO IPP PHP SDK QuickBooks V3 API.
  The errors are </p>
  
  <p>"6000: [A business validation error has occurred while processing your request, Business Validation Error: Something this action required is no longer available.  Another user may have deleted it.  Please refresh your screen to see the current information.]"</p>
  
  <p>"6000: [A business validation error has occurred while processing your request, Business Validation Error: You can only add or edit one name at a time. Please try again."</p>
  
  <p>But When I get Customer Detail through same API then I get successfully All the customer details.</p>
  
  <p>Any one can guide me.
  sorry, I forget to tell that I am using Canadian version Quick Books "<a href="https://ca.qbo.intuit.com" rel="nofollow">https://ca.qbo.intuit.com</a>".</p>
  
  <p>Here is my Sample code for Add customer But the error is still not understandable for me.</p>
  
  <p><strong><em>I am using V3 API</em></strong></p>
  
  <p>$CustomerService = new QuickBooks_IPP_Service_Customer();</p>
  
  <pre><code>$Customer = new QuickBooks_IPP_Object_Customer();
  $Customer-&gt;setTitle('MR');
  $Customer-&gt;setGivenName('Abdul');
  $Customer-&gt;setMiddleName('Hanan');
  $Customer-&gt;setFamilyName('Cheema');
  $Customer-&gt;setFullyQualifiedName('FullyQualifiedName cheema');
  $Customer-&gt;setDisplayName('Abdul Hanan Cheema ' . mt_rand(0, 1000));
  
      $Customer-&gt;setCompanyName('Seed Corporation');
      $Customer-&gt;setPrintOnCheckName('PrintOnCheckName See');
      $Customer-&gt;setActive('1');
  
      $Customer-&gt;setDefaultTaxCodeRef('12');
      $Customer-&gt;setTaxable('0');
      $Customer-&gt;setJob('jobSee');
  
      $Customer-&gt;setBillWithParent('0');
      $Customer-&gt;setBalance('100');
      $Customer-&gt;setBalanceWithJobs('0');
      $Customer-&gt;setCurrencyRef('CAD');
      $Customer-&gt;setPreferredDeliveryMethod('Email');
     // $Customer-&gt;setJob('jobSee');
  
  
  // Terms (e.g. Net 30, etc.)
  $Customer-&gt;setSalesTermRef(4);
  
  // Phone #
  $PrimaryPhone = new QuickBooks_IPP_Object_PrimaryPhone();
  $PrimaryPhone-&gt;setFreeFormNumber('860-532-0099');
  $Customer-&gt;setPrimaryPhone($PrimaryPhone);
  
  // Mobile #
  $Mobile = new QuickBooks_IPP_Object_Mobile();
  $Mobile-&gt;setFreeFormNumber('860-532-0099');
  $Customer-&gt;setMobile($Mobile);
  
  // Fax #
  $Fax = new QuickBooks_IPP_Object_Fax();
  $Fax-&gt;setFreeFormNumber('860-532-0099');
  $Customer-&gt;setFax($Fax);
  
  // Bill address
  $BillAddr = new QuickBooks_IPP_Object_BillAddr();
  $BillAddr-&gt;setLine1('Office#2 Ali Tower');
  $BillAddr-&gt;setLine2('GUlburg3');
  $BillAddr-&gt;setCity('Lahore');
  $BillAddr-&gt;setCountrySubDivisionCode('PK');
  $BillAddr-&gt;setPostalCode('44000');
  $Customer-&gt;setBillAddr($BillAddr);
  
  // Email
  $PrimaryEmailAddr = new QuickBooks_IPP_Object_PrimaryEmailAddr();
  $PrimaryEmailAddr-&gt;setAddress('support@consolibyte.com');
  $Customer-&gt;setPrimaryEmailAddr($PrimaryEmailAddr);
  
  if ($resp = $CustomerService-&gt;add($Context, $realm, $Customer))
  {
      print('Our new customer ID is: [' . $resp . '] (name "' . $Customer-&gt;getDisplayName() . '")');
  }
  else
  {
      print($CustomerService-&gt;lastError($Context));
  }
  </code></pre>
  
  <p>Thanks in Advance</p>