1

I am getting the error "this feature is not enabled or not available in this version of quickbooks". I am trying to add a customer into QuickBooks. Can any one please let me know the possible reasons for this error? The details of the SDK are:

shortVerion:13
Major Version:0
ENRreleaseLevel:rlRelease
releaseNumber:3

The QBXML request is:

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError = "continueOnError">
<CustomerAddRq requestID = "0">
<CustomerAdd>
<Name>Roger Federer</Name>
<IsActive>1</IsActive>
<ClassRef>
<FullName>Roger classref</FullName> **<-- error was here. I removed it and could run the application.
</ClassRef>
<ParentRef>
<FullName>Abercrombie, Kristy</FullName>
</ParentRef>
<CompanyName>Tennis</CompanyName>
<Salutation>WorldNo1</Salutation>
<FirstName>Roger</FirstName>
<MiddleName>M</MiddleName>
<LastName>Federer</LastName>
<JobTitle>Tennis Player</JobTitle>
<BillAddress>
<Addr1>*String*</Addr1>
<Addr2>*String*</Addr2>
<Addr3>*String*</Addr3>
<Addr4>*String*</Addr4>
<Addr5>*numbers*</Addr5>
</BillAddress>
<ShipAddress>
<Addr1>*String*</Addr1>
<Addr2>*String*</Addr2>
<Addr3>*String*</Addr3>
<Addr4>*String*</Addr4>
<Addr5>*numbers*</Addr5>
</ShipAddress>
<Phone>*********</Phone>
<AltPhone>**********</AltPhone>
<Fax>None</Fax>
<Email>rf@netirrigate.com</Email>
<Cc>rf@gmail.com</Cc>
<Contact>Roger</Contact>
<CustomerTypeRef>
<FullName>Residential</FullName>
</CustomerTypeRef>
<TermsRef>
<FullName>Net 30</FullName>
</TermsRef>
<OpenBalance>10.01</OpenBalance>
<OpenBalanceDate>2007-12-15</OpenBalanceDate>
<ResaleNumber>2</ResaleNumber>
<AccountNumber>numbers</AccountNumber>
<CreditLimit>10065.01</CreditLimit>
<PreferredPaymentMethodRef>
<FullName>Master Card</FullName>
</PreferredPaymentMethodRef>
<CreditCardInfo>
<CreditCardNumber>*16 digits*</CreditCardNumber>
<ExpirationMonth>6</ExpirationMonth>
<ExpirationYear>2023</ExpirationYear>
<NameOnCard>Roger Federer</NameOnCard>
<CreditCardAddress>*string*</CreditCardAddress>
<CreditCardPostalCode>*digits*</CreditCardPostalCode>
</CreditCardInfo>
<JobStatus>Awarded</JobStatus>
<JobStartDate>2014-12-15</JobStartDate>
<JobProjectedEndDate>2014-12-15</JobProjectedEndDate>
<JobEndDate>2014-12-15</JobEndDate>
<JobDesc>job descrip</JobDesc>
<JobTypeRef>
<FullName>Remodel</FullName>
</JobTypeRef>
<Notes>Notes</Notes>
</CustomerAdd>
</CustomerAddRq>
</QBXMLMsgsRq>
</QBXML>

*String * represents that I have enter a string in place of it. *digit * ==> I have entered numbers.

Other configuration that might help understand my code in detail:

IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest
("US",shortVersion, MajorVersion);
shortversion and MajorVersion values are given at the top.
I am using Intuit QuickBooks Enterprise Solutions: Manufacturing and Wholesale 14.0

Please let me know if you need further information. I googled a lot but couldnt come up with a solution to this issue. Even rebooted system as it was given as one of the solution and to my knowledge validated all the field values in the XML, I hope they are correct.

The reason I had the data in the XML is because of this question: https://stackoverflow.com/a/20500250/2738630

And there is nothing sensitive in that XML data, I have added information regarding a tennis player which no way related to any form of sensitivity.

Solved I could solve this error. The reason for the error is because of the property <ClassRef>Roger classref</ClassRef> is not enabled in the version of the quickbooks. I have removed this property from QBXML request and the application has added the customer successfully. I am working on sample database file called: sample rock castle construction, which is a product based company file. Please provide, if any, information you guys have on this.

Community
  • 1
  • 1
Hulk
  • 97
  • 3
  • 16
  • 2
    Your config file has real data in it. You wanna hide it. –  Jun 09 '14 at 21:30
  • 4
    Well, it says `this feature is not enabled or not available in this version of quickbooks`. Do you have a version of quickbooks that does or does not have this feature enabled? You did not say either way. – JK. Jun 09 '14 at 21:31
  • @kbajpai it is just temporary data, I am adding tennis player roger federer for demo purpose – Hulk Jun 09 '14 at 21:33
  • @JK I am not able to figure out "this" in the error message. I have copied the exact same error message here. So I am not able to understand the error message? – Hulk Jun 09 '14 at 21:35
  • The reason I had the data in the file is because of this question, the problem was with the data in the XML please refer this one http://stackoverflow.com/a/20500250/2738630 – Hulk Jun 09 '14 at 22:11
  • Why don't you post the XML you're sending, so that we can actually help you? It is *impossible* to help you based on the information you've posted. Post the rest of your qbXML request. – Keith Palmer Jr. Jun 10 '14 at 01:30
  • @KeithPalmer-consolibyte I have posted the complete XML for that purpose, but the mods/admins have just cleared it considering it as sensitive data. I will update my post. – Hulk Jun 10 '14 at 13:25
  • 1
    Why is this question downvoted?? There are few jerks around here determined to downvote what they dont understand, i found this usefull and iam voting for it,to those geeks who do this with every question : Dear friends please dont think that you know everything and dont expect that you should understand everything, this platform should provide a transparent way for asking true doudts, dont destroy the confidence and dependence people have on stackoverflow – Amarnath R Shenoy Jun 16 '14 at 09:50

1 Answers1

3

The QuickBooks company file that you are using is not set to allow assigning of classes to names. This preference must be turned on in order to include the <ClassRef> section of your XML.

You can check this preference by going to Edit > Preferences > Account > Company Preferences. There should be a check next to "Assign classes to Names". If you have this option turned off, or if you don't have it set to Names, you'll get the error message.

You can check the preferences of a company file by creating a IPreferencesQuery. In the response, you'll want to check for IsUsingClassTracking and AssignClassesTo is set to actNames.

Hpjchobbes
  • 1,309
  • 1
  • 8
  • 11
  • Can you please provide any links to detailed documentation on the properties/attributes of the items. I have this documentation which is not covering in detail: https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/030_entity_services_reference/customer – Hulk Jun 10 '14 at 15:32
  • Also, Can you please let me know why would one want to add classes? – Hulk Jun 10 '14 at 15:34
  • 1
    The documentation that you linked is for the Online version of QuickBooks, which is different than the desktop version. For the desktop version, you'll want to refer to the QBSDK Programmer's Guide and the On Screen Resource. You can access the OSR here: https://developer-static.intuit.com/qbSDK-current/Common/newOSR/index.html – Hpjchobbes Jun 10 '14 at 16:41
  • 1
    Classes are used to flag transactions and is defined by the user. Common examples are for divisional reporting, business location tracking, or revenue source recognition. Here's a support article that goes into a bit of class tracking in QuickBooks: http://support.quickbooks.intuit.com/support/pages/inproducthelp/core/qb2k12/contentpackage/core/classes/info_class_tracking.html?family=pro – Hpjchobbes Jun 10 '14 at 16:43