Search code examples
sdkquickbooks-online

Intuit QBO SDK v3 Setting Customer PreferredDeliveryMethod to None does not seem to be working correctly


I use Intuit QBO SDK v3 DataService.FindById to get a Customer entity, modify some of the attributes including PreferredDeliveryMethod then call DataService.Update. When I set PreferredDeliveryMethod to 'Print' or 'Email', the Customer is modified correctly as shown by the response object. When I set PreferredDeliveryMethod to 'None', the response comes back with 'Print' regardless of what it was before I applied the modification. How do I set PreferredDeliveryMethod to 'None' for a proper response?

Update: This issue was with a Sandbox Company. When I tried it with a Production Company, the update worked correctly. There is some suspicion Company settings are involved but I don't know what yet.

Request:

<?xml version="1.0"?>
<Customer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" domain="QBO" sparse="false" xmlns="http://schema.intuit.com/finance/v3">
  <Id>3</Id>
  <SyncToken>2</SyncToken>
  <MetaData>
    <CreateTime>2014-09-19T19:51:22-04:00</CreateTime>
    <LastUpdatedTime>2015-02-10T09:53:30-05:00</LastUpdatedTime>
  </MetaData>
  <GivenName>Grace</GivenName>
  <FamilyName>Pariente</FamilyName>
  <FullyQualifiedName>Cool Cars</FullyQualifiedName>
  <CompanyName>Cool Cars</CompanyName>
  <DisplayName>Cool Cars</DisplayName>
  <PrintOnCheckName>Cool Cars</PrintOnCheckName>
  <Active>true</Active>
  <PrimaryPhone>
    <FreeFormNumber>(415) 555-9933</FreeFormNumber>
  </PrimaryPhone>
  <AlternatePhone />
  <Fax />
  <PrimaryEmailAddr>
    <Address>[email protected]</Address>
  </PrimaryEmailAddr>
  <DefaultTaxCodeRef />
  <Taxable>false</Taxable>
  <BillAddr>
    <Id>4</Id>
    <Line1>65 Ocean Dr.</Line1>
    <City>Half Moon Bay</City>
    <CountrySubDivisionCode>CA</CountrySubDivisionCode>
    <PostalCode>94213</PostalCode>
    <Lat>37.4300318</Lat>
    <Long>-122.4336537</Long>
  </BillAddr>
  <ShipAddr />
  <Job>false</Job>
  <BillWithParent>false</BillWithParent>
  <SalesTermRef />
  <Balance>0</Balance>
  <BalanceWithJobs>0</BalanceWithJobs>
  <PreferredDeliveryMethod>None</PreferredDeliveryMethod>
</Customer>

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2015-02-10T06:53:55.320-08:00">
<Customer domain="QBO" sparse="false">
   <Id>3</Id>
   <SyncToken>3</SyncToken>
   <MetaData>
      <CreateTime>2014-09-19T16:51:22-07:00</CreateTime>
      <LastUpdatedTime>2015-02-10T06:53:55-08:00</LastUpdatedTime>
   </MetaData>
   <GivenName>Grace</GivenName>
   <FamilyName>Pariente</FamilyName>
   <FullyQualifiedName>Cool Cars</FullyQualifiedName>
   <CompanyName>Cool Cars</CompanyName>
   <DisplayName>Cool Cars</DisplayName>
   <PrintOnCheckName>Cool Cars</PrintOnCheckName>
   <Active>true</Active>
   <PrimaryPhone><FreeFormNumber>(415) 555-9933</FreeFormNumber></PrimaryPhone>
   <PrimaryEmailAddr><Address>[email protected]</Address></PrimaryEmailAddr>
   <Taxable>false</Taxable>
   <BillAddr>
      <Id>4</Id>
      <Line1>65 Ocean Dr.</Line1>
      <City>Half Moon Bay</City>
      <CountrySubDivisionCode>CA</CountrySubDivisionCode>
      <PostalCode>94213</PostalCode>
      <Lat>37.4300318</Lat>
      <Long>-122.4336537</Long>
 </BillAddr>
 <Job>false</Job>
 <BillWithParent>false</BillWithParent>
 <Balance>0</Balance>
 <BalanceWithJobs>0</BalanceWithJobs>
 <PreferredDeliveryMethod>Print</PreferredDeliveryMethod>
 </Customer>
</IntuitResponse>

Solution

  • Per Intuit Developer Community, "Most probably it is a sandbox issue as it has data already setup which can sometimes cause data issues."

    Yes, I have seen other data issues with Sandbox. This is the accepted answer.