All IPP and IDS release notes are now combined on one page. Please see the Intuit Partner Platform Release Notes.
Intuit
Data Services 2.8 Release Notes (5/19/10)
Data elements and methods released in BETA quality in v2.7 have now been released in Production quality with the v2.8 release. Please refer to the v2.7 release notes for more information.
Intuit
Data Services 2.7 Release Notes (5/3/10)
These release notes contain important details about the release of IPP Intuit Data Services (IDS) supported by IPP 2.7.
Contents
• Requirements
• What’s New in This Release
• Known Issues and Limitations for IPP 2.7
• Behaviors You Should Note for IPP 2.7, and Beyond
• Notes About Future Behavior
• Unsupported Fields for IPP 2.7
• How to Set Up IDS Synch
Requirements
The following are required in order to use this functionality.
•
In order to observe the synchronization of IDS data and
QuickBooks, you need
to set up synch as instructed under How to Set Up IDS Synch.
•
US versions of QuickBooks 2009 R9 or later (Pro,
Premier, or Simple Start), QuickBooks
• If using IPP Flex, you will need the latest update of the IPP Flex SDK plugin and library.
Where to Find the IDS
XSD Schema Files
The IDS XSD files are available for review at http://services.intuit.com/.
What’s New in This
Release
This release provides several new features and extends support for IDS objects.
New Features
The following features are added in this release:
• A new query (RecordCountQuery) is added as a “wrap-around” to a query to return the count of records that will be returned from the query.
• Several new Query options are added in this release:
> The CDCAsOf filter element, which returns data changed since a specified time.
> The ActiveOnly query attribute, which can only be used in Account, Customer, Employee, Item, Job, Other Name, and Vendor queries, returns active entities only, inactive entities only, or all entities active and inactive.
> The Synchronized filter element, which can be set to return only objects that are synchronized with QuickBooks, or only unsynchronized objects, or all objects regardless of synchronized state.
> The DeletedObjects query attribute which can be used to return objects that were deleted, either from IDS or from QuickBooks.
> The CustomerIdSet aggregate filter is added to JobQuery, allowing developers to filter jobs by customers.
> The sortOrder attribute is added to the SortByColumn query filter element, allowing developers to specify descending or ascending sort orders.
• A new attribute called FullResponse is added to the Add and Mod request, to enable developers to force the return of the full object data in the response to the Add or Mod.
These features are described in the IPP IDS Programmer’s Guide.
New Objects and
Operations
This release provides new read access to several new transaction objects, as well as write support for a subset of these new objects. New operations Delete and Revert are available for many objects on an early access basis (cannot be used in production).
Objects or operations marked with an asterisk are supported only as Beta, which means they must not be used in production applications.
• BillPayment now supports *Create and *Delete
• BillPaymentCreditCard now supports *Create and *Delete
• CreditMemo now supports *Create and *Delete
• Discount (item) now supports *Create, *Update, *Delete and *Revert
• FixedAsset (item) now supports *Create and *Delete
• Payment item now supports *Create, *Update*, *Delete and *Revert
• SalesTax (item) now supports *Create and *Delete
• VendorCredit now supports *Create and *Delete
• Transaction Modify is supported on a Beta basis only (not for production use yet). The transactions supported for Modify are:
> Estimate
> Invoice
> SalesReceipt
• The following Reports are supported as Beta only
> accountbalances
> balancesheet
> customerswhooweme
> incomebreakdown
> profitandloss
> salessummary
> topcustomersbysales
These objects are described in the IPP IDS Programmer’s Guide.
Additional Data
Validation Rules for IDS Operations
In this release, IDS continues to introduce new validation rules to improve IDS data quality and consistency as well as to improve QuickBooks desktop sync reliability. Partners should review their applications to ensure their products conform to the following rules and properly handle the following error conditions when storing data to Intuit Data Services.
Examples of the new validation rules include:
• Name uniqueness across names objects (Customer/Employee/Vendor/Other Names objects)
• Transactions (Bills, Invoices, etc.) must have at least one line
• E-mail addresses must be in standard internet format
• Cannot reference both an Accounts Payable and an Accounts Receivable account in a single General Ledger Journal Entry
• Journal Entries must be in balance (Sum of Credits equal to Sum of Debits)
• For Accounts Payable transactions, a vendor must be referenced in the header.
• For Accounts Receivable posting and non-posting transactions a Customer reference must be provided.
View-only User Roles
New application roles have been added that allow developers to provide read-only access to different classes of IDS objects. (Previously, the access granted was both read and write.) A new Sensitive Reporting role has also been added to support the new data services reports.
The following are the new/revised roles:
• Employees and Payroll --Can read and write data related to Employees
• Read Employees and Payroll --Can read data related to Employees
• Sales and Accounts Receivable--Can read and write data related to AR and Customers
• Read Sales and Accounts Receivable--Can read data related to AR and Customers
• Purchases and Accounts Payable--Can read and write data related to AP and Vendors
• Read Purchases and Accounts Payable--Can read data related to AP and Vendors
• Accounting--Can read and write accounting data such as General Ledger entries and Accounts
• Read Only Accounting--Can read accounting data such as General Ledger entries and Accounts
• Banking--Can read and write data related to banking such as deposits and accounts
• Read Only Banking--Can read data related to banking such as deposits and accounts
• Sensitive Reporting --Can access reports including AR and AP data; account balances; etc. Required for the new reports available in this release.
Improved initial sync
performance for customers
Performance of initial synchronization has been improved by 20% for improved customer experience. \
Known Issues and
Limitations for IPP 2.7
The following are the known issues and limitations for the IDS 2.7 release:
|
Issue |
Notes and Workarounds |
|
Added jobs are not returned when using the v1 endpoint to query for the result |
Use v2 jobquery. |
|
When adding a txn, you must specify a customer or job. If you specify a job in the customername tag you must use a jobname that has the parent customer appended to it with a colon separating the customername and the job name. For example: if the job’s parent customername is Disney and the job name is StoryCreation, then the name should be <CustomerName>Disney:StoryCreation</CustomerName> |
|
|
PagerPIN is in the XSD for Employee, but is not written back to IDS in an Employee Add or Mod |
PagerPIN is not supported. |
|
ItemGroupComponent : If <Quantity> is 1 then the quantity value might not be in the response. |
Derive the quantity from the amount and the unit price, which are returned. |
|
For Transaction Add: LineAmount is given higher precedence over unit price i.e unit price will be altered when writing back to QBs, to match line item amount |
|
|
When modifying the email address in a Transaction, make sure that valid email address exists for customer of that transaction. Otherwise the attempt to synch with QuickBooks will fail. |
|
|
You cannot create Item FixedAsset using the <AcquiredAs> tag . |
|
|
<TaxRate> information is not persisted when creating SalesTax item. |
|
|
<Amount> information is not persisted when creating a Discount item. |
|
|
Estimate SortByColumn option for 'OpenBalance' ignored as there is no balance field |
|
|
The Draft attribute is an attribute of the Add and Mod operations; it is not an attribute on the object itself. In addition, the default on Add and Mod operations is that Draft is set to false. This gives rise to the following possible scenario. Your app saves an object in draft mode; some other app grabs that object, can’t see that it is a draft, and does a Mod on it without setting the Draft attribute and so the default Draft=false is used. So now the object is in IDS in non-draft state and so it will be synched to QuickBooks. |
The rule you must follow is to NOT save an object that has the Synchronized field set to false IF you did not write that object yourself. Keep track of all of your own objects that are in draft mode. |
|
The “Sparse" feature for modifying objects using only the modified data is not supported for terms, sales rep, pay method and class. |
|
|
For TimeActivity read operations, the following fields
are not supported: |
|
|
JournalEntryQuery does not support the new changed data (CDCAsOf) and ErroredObjectsOnly filters. |
|
|
Custom Fields are not supported for the following queries: Account |
|
|
Custom fields for Company are not supported by IDS. |
|
|
If an IDS object does not support the <IncludeTagElements> tag that limits returned data to the specified fields, the tag will be ignored. Even if you specify the <IncludeTagElements>, entities will *always* return with a set of fields(*minimal set of tags*) which varies depending on the entity being queried. If you specify wrong path names or spurious values for this tag, you will simply get the minimal set of tags. |
|
|
ItemGroups (ItemGroupComponent) and Item Assemblies (BOMComponent) queries both return a list of ListIds of the items that make up the group or the assembly, respectively. You then need to do an ItemQuery for each of the ListIds in order to get the full data for the items in the group or assembly. |
|
|
QuickBooks allows you to add a payment without attaching it to any transaction, but if same is done using IDS , error response is received. However, when you Add a Payment in IDS you have to specify the invoice you want to pay. This is normal behavior, not a bug. |
|
|
Queries using the Quickbooks contact ID are not currently supported. |
|
|
CreditCardRefund has multiple <AppliedTo> tags.
Each <AppliedTo> tag refers to lineitem amount in CreditMemo. The exception to above case is when a Service Item ( i.e
Item related to Income Account) , with negative value , exists in Credit Memo
lineitem. |
|
|
There might be performance issues with queries using chunk sizes between 50-200 records. |
Use chunk sizes less than 50. |
|
For a mod requests that do not use the Sparse flag, you must supply all the fields that the user wants to keep. For example, if a phone number needs to be changed, all the user contact information (address, name, email, etc) needs to be part of the mod request. |
|
|
There is slow performance if you use unfiltered queries isued against realms containing large amounts of data. |
Always use filters on your queries. |
|
Federated applications cannot get a list of companies available to the currently logged-in user.
|
|
|
If you query for a customer and the customer has an open balance, the <OpenBalanceWithJobs> element is not returned in the response . |
Customers and/or IPP Developers will need to determine the parent/child relationship (for a customer/job) and do their own rollup of data to determine the open balance for a specific cutomer. |
|
A job can be the subjob of another subjob. However, the return from a Job query does not provide the full sublevel reference in the <JobParentName> field, but only the immediate parent. |
IPP developers will need to do additional manipuation to reference a job with sublevels. Job <JobParentName> field response returns only the immediate parent level (ie. A nested job with 4 levels) and not the full chain. This is even though the user has added/mod the record with the correct reference. |
|
An invoice can be linked to a sales order in QuickBooks. However, if you add an invoice that contains the SalesOrder ID in the invoice header’s TxnId field, the record fails to write to IDS. |
|
|
The discount item type are not returned from the item query. |
Alternatively, use the DiscountQuery. |
|
Certain contact detail information for customer,
employee, or vendor has a label tag associated with it. For example, Phone
data can be labelled Business, Home, If any of the contact details under a label tags is subsequently deleted, you cannot do another mod request that writes that same contact detail data under that same label tag. That is, if you delete the Home email for customer John Smith, any subsequent Mod request that writes a Home email address to customer John Smith will generate error code 3002. |
|
|
Estimate, Invoice, and SalesOrder, do not support the tags SalesTermName and UOM. |
|
|
For transactions, after syncing with QB, city, country and zip information can be lost from shipping and billing addresses. |
|
|
SyncStatus query and activity info history no longer returned after a Forced sync ( a synch invoked manually at the QuickBooks desktop using the Intuit Synch Manager). |
|
|
When you run status query and specify the wrong object type you get a blank response, e.g. specify "Invoice" for the status query of a Customer. |
|
Behaviors You Should
Note for IPP 2.7, and Beyond
|
Highlighted Behavior |
|
Transaction Line IDs are not “sticky”. That is, line ID generated when you Add the transaction to IDS may change when the object is synched down to QuickBooks. Do not rely on the line IDs. |
|
When someone tries or buys your app, they have the option to either set up synch with a QuickBooks company, or enter data manually without QuickBooks, with the possibility of adding QuickBooks synch at a later time. However, certain transactions such as invoices, require all referenced items to be already in QuickBooks before adding the invoice. So if you have transactions like these, where there are referenced items not in QuickBooks, those invoice add requests will not be synched. |
|
Certain data fields in object Add requests are required for synching with QuickBooks. However, for some of these fields, such as the name field in customer, vendor, or employee, IDS will not reject the Add request but the subsequent attempts to synch that object with QuickBooks will fail. |
|
Multicurrency is not supported by IDS. |
|
The ID domains (NG or QB) used in queries must be uppercase, for example, <InvoiceQuery
xmlns="http://www.intuit.com/sb/cdm/xmlrequest"> If you use different case you will get unexpected results. |
|
SalesRep is always returned as the sales rep initial. For example, the name “Smith” is returned as the initial “S”. This follows the usage of QuickBooks. |
|
Tags for address, telephone number, and email address aggregates must be supplied, and these tags must contain a supported value: Valid Address tags: Billing, Shipping |
|
When specifying Quantity, Rate, or RatePercent, or amount in transactions, you must use the 8.2 numeric format ( the two decimals to the right of the decimal point are required). |
|
Checks for Other Names not supported. |
|
If you add or modify an Employee with the party type of Organization, the record will not be synched with QuickBooks. |
|
Although this might not be indicated in the XSDs for IDS, there is support for a maximum of ONE Billing and ONE Shipping address, 5 phones, and 2 email labels. You may add only add one of each tag! |
|
Shipping Address is not supported for Employee and Vendors. Query supports shipping address only for Customers and Jobs. This does not cause a synch failure but it won’t be added to QuickBooks and it won’t come back in queries. |
|
For a name that is synced back to QB, an email address label will always be returned as Business. (i.e. For a name that was added with an email Home label, it will always be returned with a Business label IF it was synced back to QB). QuickBooks doesn’t have a notion of tags or labels for emails. |
|
In transactions, if you don’t specify a sales tax, there will be a synch failure if the target QuickBooks has sales tax turned on but has no default tax specified. |
|
QuickBooks ReceivePayment data contains aggregates called CreditCardTxnInputInfo and CreditCardTxnResultInfo that contain sensitive data. For security reasons, none of this data is written to or from IDS in the synch operation.. |
|
Invoice contains an unused, unsynched field called RemitToName. If data is written to this field and then a query is run, that field’s value will not be the same as the written value. |
|
Invoice queries do not return “pending” invoices. |
|
.For transaction queries, names of referenced customers are not returned, only the customer ID is returned. |
|
When creating transactions that use any IDs in the transaction, such as customer ID or invoice ID, those referenced objects must already have been synched to QuickBooks or the request will fail. |
|
When creating a payment for an invoice, that invoice must already have been synched to QuickBooks. |
|
When you specify addresses, use line1, line2, then city, state, etc. Avoid using line3, line4, line5. |
Notes About Future
Behavior
For v2 and later queries, the default transaction query is expected to change in order to improve performance. Currently, in unfiltered transaction queries, all records are returned. In upcoming releases, this is expected to change where only records within a specific date range will be returned. For example, a default date/time filter for transaction queries will be set, perhaps to the last 12 months. This means that you need to supply a transaction date range filter if you want records outside of the default range.
This applies only to v2 and later versioned queries: v1 queries will maintain backward compatibility and return ALL objects for the query if no date filter is supplied.
Unsupported Fields for
IPP 2.7
The following fields are not supported in the IPP 2.6 release
.
Customer
<Customer>
<County>String</County>
<CountyCode>String</CountyCode>
<CountryCode>String</CountryCode>
<PostalCodeSuffix>String</PostalCodeSuffix>
<GeoCode>String</GeoCode>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
</Address>
<Phone>
<CountryCode>String</CountryCode>
<AreaCode>String</AreaCode>
<ExchangeCode>String</ExchangeCode>
<Extension>String</Extension>
<PIN>String</PIN>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
</Phone>
<WebSite>
<Id
idDomain="NG">String</Id>
<URI>http://www.altova.com</URI>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
<Default>true</Default>
<Tag>String</Tag>
</WebSite>
<Email>
<DateLastVerified>1967-08-13</DateLastVerified>
</Email>
<ExternalId
idDomain="NG">String</ExternalId>
<Gender>Male</Gender>
<BirthDate>1967-08-13</BirthDate>
<UserId>String</UserId>
<OrgId>String</OrgId>
<LegalName>String</LegalName>
<Industry>String</Industry>
<NonProfit>true</NonProfit>
<LegalStructure>String</LegalStructure>
<Category>String</Category>
<TaxId>String</TaxId>
<Notes>
<Id
idDomain="NG">String</Id>
<SyncToken>String</SyncToken>
<MetaData>
<CreatedBy>String</CreatedBy>
<CreatedById>String</CreatedById>
<CreateTime>2001-12-17T09:30:47.0Z</CreateTime>
<LastModifiedBy>String</LastModifiedBy>
<LastModifiedById>String</LastModifiedById>
<LastUpdatedTime>2001-12-17T09:30:47.0Z</LastUpdatedTime>
</MetaData>
..the actual notes data is supported however
</Notes>
<CustomField
xsi:type="a_type_derived_from_CustomField"/>
...
<OpenBalanceWithJobs>
<CurrencyCode>AED</CurrencyCode>
<Amount>3.1415926535897932384626433832795</Amount>
</OpenBalanceWithJobs>
<OverDueBalance>
<CurrencyCode>AED</CurrencyCode>
<Amount>3.1415926535897932384626433832795</Amount>
</OverDueBalance>
<TotalRevenue>
<CurrencyCode>AED</CurrencyCode>
<Amount>3.1415926535897932384626433832795</Amount>
</TotalRevenue>
<TotalExpense>
<CurrencyCode>AED</CurrencyCode>
<Amount>3.1415926535897932384626433832795</Amount>
</TotalExpense>
</Customer>
Invoice, Estimate and SalesOrder
<Header>
..
<ShipAddr>
..
<Line4>String</Line4>
<Line5>String</Line5>
..
<County>String</County>
<CountyCode>String</CountyCode>
..
<CountryCode>String</CountryCode>
..
<PostalCodeSuffix>String</PostalCodeSuffix>
<GeoCode>String</GeoCode>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
..
<BillAddr>
..
<Line4>String</Line4>
<Line5>String</Line5>
..
<County>String</County>
<CountyCode>String</CountyCode>
..
<CountryCode>String</CountryCode>
..
..
<PostalCodeSuffix>String</PostalCodeSuffix>
<GeoCode>String</GeoCode>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
..
</Header>
<Line>
..
<UOMId idDomain="NG">String</UOMId>
<UOMAbbrv>String</UOMAbbrv>
</Line>
..
How to Set Up IDS Synch
In order to get IDS data synchronizing with a QuickBooks company file at a desktop system, you’ll need to make sure you have the correct QuickBooks version and you’ll need to replace a file in a QuickBooks directory.
To set up synch,
1. We strongly recommend that you back up your company file.
2.
Make sure you are on QuickBooks 2009 Pro, Premier, or
Simple Start or QuickBooks
3. Update your QuickBooks to the latest patch level (at least R7). This is done by using the Help -> Update QuickBooks menu and following the instructions.
4.
Make sure you are now at R7P by pressing the F2 key on
your keyboard while within the QuickBooks program. Confirm the Product name
ends with R7P or greater.
Notice that the Services Information will say Company Realm ID null. If it does
not say this, you cannot set up another data sync with this file, it has
already been set up.
5. If you used a beta version of synch with IDS, and turned off auto updates in QB as suggested in the beta release notes, you should consider turning auto updates back on now.
6. In the QuickBooks menbar locate “Online Services”. Click on Online Services-> Intuit Synch Manager and follow the instructions from that point onward.
7. If you wish to retry the sync setup experience at any time you may create a new company file to redo the sync setup. Alternatively, you may wish to use company file backup/restore to get back to a state where you can set up synchronization again.
Intuit
Data Services 2.6 Release Notes (3/3/10)
These release notes contain important details about the release of IPP Intuit Data Services (IDS) supported by IPP 2.6.
Contents
• Requirements
• What’s New in This Release
• Known Issues and Limitations for IPP 2.6
• Behaviors You Should Note for IPP 2.6, and Beyond
• Notes About Future Behavior
• Unsupported Fields for IPP 2.6
• How to Set Up IDS Synch
The following are required in order to use this functionality.
•
In order to observe the synchronization of IDS data and
QuickBooks, you need
to set up synch as instructed under How to Set Up IDS Synch.
•
US versions of QuickBooks 2009 R9 or later (Pro,
Premier, or Simple Start), QuickBooks
• If using IPP Flex, you will need the latest update of the IPP Flex SDK plugin and library.
Where to Find the IDS
XSD Schema Files
The IDS XSD files are available for review at http://services.intuit.com/.
This release provides several new features and extends support for new IDS objects .
New Features
The following features are added in this release:
• Custom Fields are provided for adding your own data to IDS objects. You can also filter IDS objects by the custom field data.
• On an early-access basis (which means it cannot be used in production applications yet), this release provides a “Draft” attribute for Add and Mod operations that allows you to save an object to IDS so that it will not be synched down to QuickBooks. This allows users to save an unfinished object to be completed later.
• Delete and Revert operations (also currently only for early access, not for production applications yet). Allows deletion of objects that have never been synched down to QuickBooks, such as objects that failed to synch. Allows reverting of an object to its last successfully synched state in QuickBooks.
• Query for errored objects. A new ErroredObjectsOnly attribute on queries lets you return objects that failed to synch. (You could then use the Revert feature to restore the failed object to its last good state.)
• A new “Sparse” attribute for data Mods that allows you to do a Mod while supplying only a minimal set of fields along with those fields you are actually modifying. Only the supplied fields will be modified, leaving all other fields are untouched. (Without the Sparse flag, the entire object data needs to be supplied in the Mod.)
• Queries now allow you to specify the fields to be returned in the query, using IncludeTagElements. Only the specified field or fields are returned, along with a minimal set of metadata.
These features are described in the IPP IDS Programmer’s Guide.
New Objects and
Operations
This release provides new read access to several new transaction objects, as well as write support for a subset of these new objects. New operations Delete and Revert are available for many objects on an early access basis (cannot be used in production).
Objects or operations marked with an asterisk are supported only on an early access basis and must not be used in production applications.
• Bill (now supports *Create, *Delete in addition to Read)
• BillPaymentCheck (Read)
• BillPaymentCreditCard (Read)
• Check (now supports *Create, *Delete, in addition to Read)
• Class (now supports *Create, *Delete, in addition to Read)
• CreditCardCharge (Read)
• CreditCardCredit (Read)
• CreditCardRefund (Read)
• Customer (now supports *Revert, *Delete, in addition to Read, Create, Modify)
• CustomerMessage (Read)
• CustomerType (Read)
• Deposit (Read)
• Employee (now supports *Revert, *Delete, in addition to Read, Create, Modify)
• Estimate (now supports *Revert, *Delete, in addition to Read, Create)
• InventoryAdjustment (Read, Create, Modify, *Delete, *Revert)
• Invoice (now supports *Delete in addition to Read, Create)
• Item (inventory, other charge, product, and service items now support *Delete, *Revert)
• BOMComponent, (Read)
• ItemFixedAsset (Read)
• ItemGroup (Read)
• ItemSalesTaxGroup
• ItemReceipt (now supports *Delete in addition to Read, *Create)
• Job (now supports *Delete, *Revert in addition to Read, Create, Modify)
• JobType (Read)
• JournalEntry (now supports *Delete in addition to Read, *Create)
• OtherName (Read)
• Payment (now supports *Delete in addition to Read, Create)
• PaymentMethod (now supports *Create, *Delete in addition to Read)
• PayrollItemWage (Read)
• PurchaseOrder (now supports *Delete in addition to *Read, *Create)
• SalesOrder (now supports *Delete in addition to Read, Create)
• SalesReceipt (now supports *Delete in addition to Read, *Create)
• SalesRep (now supports *Create, *Delete in addition to Read)
• Status (Read)
• SyncActivity (Read)
• Terms (now supports *Create, *Delete in addition to Read)
•
TimeActivity (Read, *Write, *
• Vendor (now supports *Delete, *Revert in addition to Read, Create, Modify)
• VendorType (Read)
*Only for early access investigation, not for production applications.
Known Issues and Limitations for IPP 2.6
The following are the known issues and limitations for the IDS 2.6 release:
|
Issue |
Notes and Workarounds |
|
The Draft attribute is an attribute of the Add and Mod operations; it is not an attribute on the object itself. In addition, the default on Add and Mod operations is that Draft is set to false. This gives rise to the following possible scenario. Your app saves an object in draft mode; some other app grabs that object, can’t see that it is a draft, and does a Mod on it without setting the Draft attribute and so the default Draft=false is used. So now the object is in IDS in non-draft state and so it will be synched to QuickBooks. |
The rule you must follow is to NOT save an object that has the Synchronized field set to false IF you did not write that object yourself. Keep track of all of your own objects that are in draft mode. |
|
The “Sparse" feature for modifying objects using only the modified data is not supported for terms, sales rep, pay method and class. |
|
|
The ContactIdSet filter is not supported by Deposit Query. |
ContactIdSet filter shows up in the XSD for Deposit Query but it is not used because there is no contact ID for Deposits. |
|
For TimeActivity read operations, the following fields
are not supported: |
|
|
JournalEntryQuery does not support the new changed data (CDCAsOf) and ErroredObjectsOnly filters. |
|
|
Custom Fields are not supported for the following queries: Account |
|
|
Custom fields for Company are not supported by IDS. |
|
|
If an IDS object does not support the <IncludeTagElements> tag that limits returned data to the specified fields, the tag will be ignored. Even if you specify the <IncludeTagElements>, entities will *always* return with a set of fields(*minimal set of tags*) which varies depending on the entity being queried. If you specify wrong path names or spurious values for this tag, you will simply get the minimal set of tags. |
|
|
Checks for Other Names not supported. |
In QuickBooks you cannot create checks for Other Names. |
|
ItemGroups (ItemGroupComponent) and Item Assemblies (BOMComponent) queries both return a list of ListIds of the items that make up the group or the assembly, respectively. You then need to do an ItemQuery for each of the ListIds in order to get the full data for the items in the group or assembly. |
|
|
QuickBooks allows you to add a payment without attaching it to any transaction, but if same is done using IDS , error response is received. However, when you Add a Payment in IDS you have to specify the invoice you want to pay. This is normal behavior, not a bug. |
|
|
Queries using the Quickbooks contact ID are not currently supported. |
|
|
CreditCardRefund has multiple <AppliedTo> tags.
Each <AppliedTo> tag refers to lineitem amount in CreditMemo. The exception to above case is when a Service Item ( i.e
Item related to Income Account) , with negative value , exists in Credit Memo
lineitem. |
|
|
There might be performance issues with queries using chunk sizes between 50-200 records. |
Use chunk sizes less than 50. |
|
For a mod requests that do not use the Sparse flag, you must supply all the fields that the user wants to keep. For example, if a phone number needs to be changed, all the user contact information (address, name, email, etc) needs to be part of the mod request. |
|
|
There is slow performance if you use unfiltered queries isued against realms containing large amounts of data. |
Always use filters on your queries. |
|
Federated applications cannot get a list of companies available to the currently logged-in user.
|
|
|
If you use a query that has an iterator, and also specify a sort, the sort is performed on each chunk returned in the iteration, so only each chunk is sorted, but not the whole list. |
|
|
If you query for a customer and the customer has an open balance, the <OpenBalanceWithJobs> element is not returned in the response . |
Customers and/or IPP Developers will need to determine the parent/child relationship (for a customer/job) and do their own rollup of data to determine the open balance for a specific cutomer. |
|
A job can be the subjob of another subjob. However, the return from a Job query does not provide the full sublevel reference in the <JobParentName> field, but only the immediate parent. |
IPP developers will need to do additional manipuation to reference a job with sublevels. Job <JobParentName> field response returns only the immediate parent level (ie. A nested job with 4 levels) and not the full chain. This is even though the user has added/mod the record with the correct reference. |
|
Filtering the invoice query by contactId works only if the contactId has an IdDomain set to to QB. If the IdDomain is NG, the filter is ignored. (For “new” contacts not yet synched to QB, the IdDomain is always NG.) |
|
|
An invoice can be linked to a sales order in QuickBooks. However, if you add an invoice that contains the SalesOrder ID in the invoice header’s TxnId field, the record fails to write to IDS. |
|
|
The discount item type are not returned from the item query. |
Alternatively, use the DiscountQuery. |
|
Certain contact detail information for customer, employee,
or vendor has a label tag associated with it. For example, Phone data can be
labelled Business, Home, If any of the contact details under a label tags is subsequently deleted, you cannot do another mod request that writes that same contact detail data under that same label tag. That is, if you delete the Home email for customer John Smith, any subsequent Mod request that writes a Home email address to customer John Smith will generate error code 3002. |
|
|
Estimate, Invoice, and SalesOrder, do not support the tags SalesTermName and UOM. |
|
|
For transactions, after syncing with QB, city, country and zip information can be lost from shipping and billing addresses. |
|
|
SyncStatus query and activity info history no longer returned after a Forced sync ( a synch invoked manually at the QuickBooks desktop using the Intuit Synch Manager). |
|
|
When you run status query and specify the wrong object type you get a blank response, e.g. specify "Invoice" for the status query of a Customer. |
|
Behaviors You Should Note for IPP 2.6, and Beyond
|
Highlighted Behavior |
|
Transaction Line IDs are not “sticky”. That is, line ID generated when you Add the transaction to IDS may change when the object is synched down to QuickBooks. Do not rely on the line IDs. |
|
When someone tries or buys your app, they have the option to either set up synch with a QuickBooks company, or enter data manually without QuickBooks, with the possibility of adding QuickBooks synch at a later time. However, certain transactions such as invoices, require all referenced items to be already in QuickBooks before adding the invoice. So if you have transactions like these, where there are referenced items not in QuickBooks, those invoice add requests will not be synched. |
|
Certain data fields in object Add requests are required for synching with QuickBooks. However, for some of these fields, such as the name field in customer, vendor, or employee, IDS will not reject the Add request but the subsequent attempts to synch that object with QuickBooks will fail. |
|
Multicurrency is not supported by IDS. |
|
The ID domains (NG or QB) used in queries must be uppercase, for example, <InvoiceQuery
xmlns="http://www.intuit.com/sb/cdm/xmlrequest"> If you use different case you will get unexpected results. |
|
SalesRep is always returned as the sales rep initial. For example, the name “Smith” is returned as the initial “S”. This follows the usage of QuickBooks. |
|
Tags for address, telephone number, and email address aggregates must be supplied, and these tags must contain a supported value: Valid Address tags: Billing, Shipping |
|
When specifying Quantity, Rate, or RatePercent, or amount in transactions, you must use the 8.2 numeric format ( the two decimals to the right of the decimal point are required). |
|
If you add or modify an Employee with the party type of Organization, the record will not be synched with QuickBooks. |
|
Although this might not be indicated in the XSDs for IDS, there is support for a maximum of ONE Billing and ONE Shipping address, 5 phones, and 2 email labels. You may add only add one of each tag! |
|
Shipping Address is not supported for Employee and Vendors. Query supports shipping address only for Customers and Jobs. This does not cause a synch failure but it won’t be added to QuickBooks and it won’t come back in queries. |
|
For a name that is synced back to QB, an email address label will always be returned as Business. (i.e. For a name that was added with an email Home label, it will always be returned with a Business label IF it was synced back to QB). QuickBooks doesn’t have a notion of tags or labels for emails. |
|
In transactions, if you don’t specify a sales tax, there will be a synch failure if the target QuickBooks has sales tax turned on but has no default tax specified. |
|
QuickBooks ReceivePayment data contains aggregates called CreditCardTxnInputInfo and CreditCardTxnResultInfo that contain sensitive data. For security reasons, none of this data is written to or from IDS in the synch operation.. |
|
Invoice contains an unused, unsynched field called RemitToName. If data is written to this field and then a query is run, that field’s value will not be the same as the written value. |
|
Invoice queries do not return “pending” invoices. |
|
.For transaction queries, names of referenced customers are not returned, only the customer ID is returned. |
|
When creating transactions that use any IDs in the transaction, such as customer ID or invoice ID, those referenced objects must already have been synched to QuickBooks or the request will fail. |
|
When creating a payment for an invoice, that invoice must already have been synched to QuickBooks. |
|
When you specify addresses, use line1, line2, then city, state, etc. Avoid using line3, line4, line5. |
For v2 and later queries, the default transaction query is expected to change in order to improve performance. Currently, in unfiltered transaction queries, all records are returned. In upcoming releases, this is expected to change where only records within a specific date range will be returned. For example, a default date/time filter for transaction queries will be set, perhaps to the last 12 months. This means that you need to supply a transaction date range filter if you want records outside of the default range.
This applies only to v2 and later versioned queries: v1 queries will maintain backward compatibility and return ALL objects for the query if no date filter is supplied.
Unsupported Fields for IPP 2.6
The following fields are not supported in the IPP 2.6 release
.
Customer
<Customer>
<County>String</County>
<CountyCode>String</CountyCode>
<CountryCode>String</CountryCode>
<PostalCodeSuffix>String</PostalCodeSuffix>
<GeoCode>String</GeoCode>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
</Address>
<Phone>
<CountryCode>String</CountryCode>
<AreaCode>String</AreaCode>
<ExchangeCode>String</ExchangeCode>
<Extension>String</Extension>
<PIN>String</PIN>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
</Phone>
<WebSite>
<Id
idDomain="NG">String</Id>
<URI>http://www.altova.com</URI>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
<Default>true</Default>
<Tag>String</Tag>
</WebSite>
<Email>
<DateLastVerified>1967-08-13</DateLastVerified>
</Email>
<ExternalId idDomain="NG">String</ExternalId>
<Gender>Male</Gender>
<BirthDate>1967-08-13</BirthDate>
<UserId>String</UserId>
<OrgId>String</OrgId>
<LegalName>String</LegalName>
<Industry>String</Industry>
<NonProfit>true</NonProfit>
<LegalStructure>String</LegalStructure>
<Category>String</Category>
<TaxId>String</TaxId>
<Notes>
<Id
idDomain="NG">String</Id>
<SyncToken>String</SyncToken>
<MetaData>
<CreatedBy>String</CreatedBy>
<CreatedById>String</CreatedById>
<CreateTime>2001-12-17T09:30:47.0Z</CreateTime>
<LastModifiedBy>String</LastModifiedBy>
<LastModifiedById>String</LastModifiedById>
<LastUpdatedTime>2001-12-17T09:30:47.0Z</LastUpdatedTime>
</MetaData>
..the actual notes data is supported however
</Notes>
<CustomField
xsi:type="a_type_derived_from_CustomField"/>
...
<OpenBalanceWithJobs>
<CurrencyCode>AED</CurrencyCode>
<Amount>3.1415926535897932384626433832795</Amount>
</OpenBalanceWithJobs>
<OverDueBalance>
<CurrencyCode>AED</CurrencyCode>
<Amount>3.1415926535897932384626433832795</Amount>
</OverDueBalance>
<TotalRevenue>
<CurrencyCode>AED</CurrencyCode>
<Amount>3.1415926535897932384626433832795</Amount>
</TotalRevenue>
<TotalExpense>
<CurrencyCode>AED</CurrencyCode>
<Amount>3.1415926535897932384626433832795</Amount>
</TotalExpense>
</Customer>
Invoice, Estimate and SalesOrder
<Header>
..
<ShipAddr>
..
<Line4>String</Line4>
<Line5>String</Line5>
..
<County>String</County>
<CountyCode>String</CountyCode>
..
<CountryCode>String</CountryCode>
..
<PostalCodeSuffix>String</PostalCodeSuffix>
<GeoCode>String</GeoCode>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
..
<BillAddr>
..
<Line4>String</Line4>
<Line5>String</Line5>
..
<County>String</County>
<CountyCode>String</CountyCode>
..
<CountryCode>String</CountryCode>
..
..
<PostalCodeSuffix>String</PostalCodeSuffix>
<GeoCode>String</GeoCode>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
..
</Header>
<Line>
..
<UOMId idDomain="NG">String</UOMId>
<UOMAbbrv>String</UOMAbbrv>
</Line>
..
How to Set Up IDS Synch
In order to get IDS data synchronizing with a QuickBooks company file at a desktop system, you’ll need to make sure you have the correct QuickBooks version and you’ll need to replace a file in a QuickBooks directory.
To set up synch,
1. We strongly recommend that you back up your company file.
2.
Make sure you are on QuickBooks 2009 Pro, Premier, or
Simple Start or QuickBooks
3. Update your QuickBooks to the latest patch level (at least R7). This is done by using the Help -> Update QuickBooks menu and following the instructions.
4.
Make sure you are now at R7P by pressing the F2 key on
your keyboard while within the QuickBooks program. Confirm the Product name
ends with R7P or greater.
Notice that the Services Information will say Company Realm ID null. If it does
not say this, you cannot set up another data sync with this file, it has
already been set up.
5. If you used a beta version of synch with IDS, and turned off auto updates in QB as suggested in the beta release notes, you should consider turning auto updates back on now.
6. In the QuickBooks menbar locate “Online Services”. Click on Online Services-> Intuit Synch Manager and follow the instructions from that point onward.
7. If you wish to retry the sync setup experience at any time you may create a new company file to redo the sync setup. Alternatively, you may wish to use company file backup/restore to get back to a state where you can set up synchronization again.
Intuit
Data Services 2.4 Release Notes (12/14/09)
These release notes contain
important details about the v2 release of Intuit Data Services (IDS) supported
by IPP 2.4.
Requirements
The following are required in order to use this functionality.
•
In order to observe the synchronization of IDS data and
QuickBooks, you need
to set up synch as instructed under How to Set Up IDS Synch.
•
US versions of QuickBooks 2009 R9 or later (Pro,
Premier, or Simple Start), QuickBooks
• If using IPP Flex, you will need the latest update of the IPP Flex SDK plugin and library.
What’s New in This
Release
This release changes existing XML and so has a version change to provide for backward compatibility. This release supports new QuickBooks data objects and changes some fields in the data objects of the prior release.
New Version Number
The IDS has a new version number (v2) that you must use in your POSTs or GETs if you want the new functionality provided in this release. Existing applications continue to be supported if they continue to use the old v1 version number. The XML used in v2 has been streamlined significantly, so if you want to migrate an existing v1 app to v2, you need to take a look at the new XML. (The tags are largely the same, but the namespace prefixes, such as pt:, bt: etc, are removed.)
New QuickBooks Objects
Supported
This release provides new read access to several new QuickBooks transaction objects, as well as write support for a subset of these new objects. Objects or operations marked with an asterisk are supported only for early access development and are not to be used in published applications.
• Accounts Payable
> ItemReceipt, Read and *Add
> Bill, BillPaymentCheck, BillPaymentCreditCard, Checks, SalesTaxPaymentCheck, VendorCredit, all read only. *PurchaseOrder is available on an early access basis only: it supports both read and add.
• Accounts Receivable
> CreditMemo and SalesReceipt, both read-only. Early access to *Charge, which is read only.
• General Ledger
• JournalEntry has read support. Early access to *Add.
• List Objects
> Account supports *add and *modify on early access basis.
> Jobs with read, add, and modify support. Customer/Job hierarchy properly represented
> Item reads now return the various types of item: inventory, assembly, group, other charge, payment, product, service, and subtotal. Adds are supported for *inventory, *other charge, *product, and *service items on an early access basis.
•
• Other Objects
> Class, PaymentMethod, ShipMethod, SalesRep, Terms, and UOM (unit of measure), are supported for read.
> *SalesTaxCode, SalesTaxItem, and Discount are available on an early access basis.
• Enhancements to Existing Objects
• Customers, Employees and Vendors can now be filtered by name and company name
• Most transactions now support To be Printed and To Be Emailed attributes
New Fields Supported
for Existing Objects
The following table lists the new fields supported by each existing object:
|
Object |
Added Fields |
|
Account |
OpeningBalance, write OpeningBalanceDate, write CurrentBalance, read CurrentBalanceWithSubAccounts, read |
|
Company |
All of these are read only: Address Phone Fax WebSite LegalAddress IndustryType FiscalYearStart IncomeTaxYearStart TaxForm TaxIdentifier |
|
Customer (and Job) |
All are read/write unless indicated otherwise: Active PrintAs / ShowAs Customer Type Ref Terms Ref Sales Rep Ref Open Balance Date, write CurrentBalanceWithJobs, read Sales Tax Code Ref Item Sales Tax Ref Preferred Payment Method Ref Price Level Ref NOTE: Parent Ref (CDM offers a separate Object – Job, that provides the ability to represent the customer list hierarchy) JobInfo/Status JobInfo/StartDate JobInfo/ProjectedEndDate JobInfo/EndDate JobInfo/Description JobInfo/JobTypeId JobInfo/JobTypeName |
|
|
|
|
Employee |
All are read/write: Active PrintAs / ShowAs Employee Type Hired Date Released Date Account Number |
|
Estimate (header) |
All are read/write: Is Active FOB To Be Emailed Customer Sales Tax Code Ref Other |
|
Estimate (line) |
Sales Tax Code Ref, read/write Override Item Account Ref, write Other 1 and 2, read/write |
|
Invoice (header) |
All are read/write unless indicated otherwise: Customer Message Ref FOB Ship Date To Be Printed To Be Emailed Customer Sales Tax Code Ref Link To TxnID, write Other / Custom |
|
Invoice (line) |
Service Date. read/write Sales Tax Code Ref, read/write Override Item Account Ref, write Link To Txn, write Other 1 and 2, read/write |
|
Payment |
All are read/write unless indicated otherwise: Deposit To Account Ref Is Auto Apply, write |
|
SalesOrder (header) |
All are read/write: FOB Ship Date Is Manually Closed To Be Printed To Be Emailed Customer Sales Tax Code Ref Other |
|
SalesOrder (line) |
All are read/write: Sales Tax Code Ref Is Manually Closed Other 1 and 2 |
|
Vendor |
All are read/write unless indicated otherwise: Active NameOnCheck / ShowAs Vendor Type Ref Terms Ref Vendor1099 Open Balance Date, write Billing Rate Ref Prefill Account Ref |
|
|
|
Known Issues and
Limitations for 2.4
The following are the known issues and limitations for the IDS 2.4 release:
|
Issue |
Note |
|
Certain QuickBooks activities by customers will cause a forced synch. For example, if the customer does a backup/restore or upgrades from QuickBooks 2009 to QB 2010, moves the location of the company file, and so forth. If any new data is written to IDS during this forced synch, that data will not be able to be synched down to QuickBooks and the data will not be able to be retrieved from IDS. The synch log will no longer show the synch history prior to the forced synch. |
SBC003921 |
|
There might be performance issues with queries using chunk sizes between 50-200 records. |
Use chunk sizes less than 50. |
|
When IDS synchs records down to QuickBooks, and one of the records is invalid and cannot be synched, the synch will stop at the point where the bad record fails to synch. |
|
|
For a mod requests, you must supply all the fields that the user wants to keep. For example, if a phone number needs to be changed, all the user contact information (address, name, email, etc) needs to be part of the mod request. |
|
|
If you use an ampersand symbol in your company name, the name will not display properly in the return XML from the company query. It will show up as double encoded. |
Avoid using ampersand in the company name. |
|
There is slow performance if you use unfiltered queries isued against realms containing large amounts of data. |
Always use filters on your queries. |
|
Customers can see data that is not allowed for their role. (Purchase and Accounts Payable role can access Job data.) |
|
|
If you filter a Jobs query by ContactIdSet, you won’t get any records returned |
|
|
Federated applications cannot get a list of companies available to the currently logged-in user.
|
|
|
If you use a query that has an iterator, and also specify a sort, the sort is performed on each chunk returned in the iteration, so only each chunk is sorted, but not the whole list. |
|
|
If you query for a customer and the customer has an open balance, the <OpenBalanceWithJobs> element is not returned in the response . |
Customers and/or IPP Developers will need to determine the parent/child relationship (for a customer/job) and do their own rollup of data to determine the open balance for a specific cutomer. |
|
For Charge query, the transactionId and customerId filters are not working. The query does not consider these filters and returns all entities. |
|
|
In the Preference query, the PaySalesTax field returns an incorrect value. |
|
|
A job can be the subjob of another subjob. However, the return from a Job query does not provide the full sublevel reference in the <JobParentName> field, but only the immediate parent. |
IPP developers will need to do additional manipuation to reference a job with sublevels. Job <JobParentName> field response returns only the immediate parent level (ie. A nested job with 4 levels) and not the full chain. This is even though the user has added/mod the record with the correct reference. |
|
Filtering the invoice query by contactId works only if the contactId has an IdDomain set to to QB. If the IdDomain is NG, the filter is ignored. (For “new” contacts not yet synched to QB, the IdDomain is always NG.) |
|
|
An invoice can be linked to a sales order in QuickBooks. However, if you add an invoice that contains the SalesOrder ID in the invoice header’s TxnId field, the record fails to write to IDS. |
|
|
The discount item type are not returned from the item query. |
|
|
Certain contact detail information for customer, employee,
or vendor has a label tag associated with it. For example, Phone data can be
labelled Business, Home, If any of the contact details under a label tags is subsequently deleted, you cannot do another mod request that writes that same contact detail data under that same label tag. That is, if you delete the Home email for customer John Smith, any subsequent Mod request that writes a Home email address to customer John Smith will generate error code 3002. |
|
|
If you use the FreeFormNumber element in your XML request for customer, vendor, or employee telephone numbers, you must supply a valid FreeFormNumber value. However, if you use this tag and don’t supply a valid value, you don’t get an error code returned, but you do get an exception. |
|
|
For customer, employee, and vendor, if the DeviceType tag
for the phone is not exactly LandLine, Pager, or |
|
|
Estimate, Invoice, and SalesOrder, do not support the tags SalesTermName and UOM. |
|
|
For transactions, after syncing with QB, city, country and zip information can be lost from shipping and billing addresses. |
|
|
SyncStatus query and activity info history no longer returned after a Forced sync ( a synch invoked manually at the QuickBooks desktop using the Intuit Synch Manager). |
|
|
When you run a sync activity for a date range in the past some of the history events are not returned . |
|
|
When you run status query and specify the wrong object type you get a blank response, e.g. specify "Invoice" for the status query of a Customer. |
|
Behaviors You Should
Note for 2.4, and Beyond
|
Highlighted Behavior |
|
When someone tries or buys your app, they have the option to either set up synch with a QuickBooks company, or enter data manually without QuickBooks, with the possibility of adding QuickBooks synch at a later time. However, certain transactions such as invoices, require all referenced items to be already in QuickBooks before adding the invoice. So if you have transactions like these, where there are referenced items not in QuickBooks, those invoice add requests will not be synched. |
|
Certain data fields in object Add requests are required for synching with QuickBooks. However, for some of these fields, such as the name field in customer, vendor, or employee, IDS will not reject the Add request but the subsequent attempts to synch that object with QuickBooks will fail. |
|
Multicurrency is not supported by IDS. |
|
The ID domains (NG or QB) used in queries must be uppercase, for example, <InvoiceQuery
xmlns="http://www.intuit.com/sb/cdm/xmlrequest"> If you use different case you will get unexpected results. |
|
SalesRep is always returned as the sales rep initial. For example, the name “Smith” is returned as the initial “S”. This follows the usage of QuickBooks. |
|
Tags for address, telephone number, and email address aggregates must be supplied, and these tags must contain a supported value: Valid Address tags: Billing, Shipping |
|
When specifying Quantity, Rate, or RatePercent, or amount in transactions, you must use the 8.2 numeric format ( the two decimals to the right of the decimal point are required). |
|
If you add or modify an Employee with the party type of Organization, the record will not be synched with QuickBooks. |
|
Although this might not be indicated in the XSDs for IDS, there is support for a maximum of ONE Billing and ONE Shipping address, 5 phones, and 2 email labels. You may add only add one of each tag! |
|
Shipping Address is not supported for Employee and Vendors. Query supports shipping address only for Customers and Jobs. This does not cause a synch failure but it won’t be added to QuickBooks and it won’t come back in queries. |
|
For a name that is synced back to QB, an email address label will always be returned as Business. (i.e. For a name that was added with an email Home label, it will always be returned with a Business label IF it was synced back to QB). QuickBooks doesn’t have a notion of tags or labels for emails. |
|
In transactions, if you don’t specify a sales tax, there will be a synch failure if the target QuickBooks has sales tax turned on but has no default tax specified. |
|
QuickBooks ReceivePayment data contains aggregates called CreditCardTxnInputInfo and CreditCardTxnResultInfo that contain sensitive data. For security reasons, none of this data is written to or from IDS in the synch operation.. |
|
Invoice contains an unused, unsynched field called RemitToName. If data is written to this field and then a query is run, that field’s value will not be the same as the written value. |
|
Invoice queries do not return “pending” invoices. |
|
.For transaction queries, names of referenced customers are not returned, only the customer ID is returned. |
|
When creating transactions that use any IDs in the transaction, such as customer ID or invoice ID, those referenced objects must already have been synched to QuickBooks or the request will fail. |
|
When creating a payment for an invoice, that invoice must already have been synched to QuickBooks. |
|
When you specify addresses, use line1, line2, then city, state, etc. Avoid using line3, line4, line5. |
Notes About Future
Behavior
For v2 and later queries, the default transaction query is expected to change in order to improve performance. Currently, in unfiltered transaction queries, all records are returned. In upcoming releases, this is expected to change where only records within a specific date range will be returned. For example, a default date/time filter for transaction queries will be set, perhaps to the last 12 months. This means that you need to supply a transaction date range filter if you want records outside of the default range.
This applies only to v2 and later versioned queries: v1 queries will maintain backward compatibility and return ALL objects for the query if no date filter is supplied.
Unsupported Fields for
2.4
The following fields are not supported in the 2.4 release
.
List Object Fields Not
Supported
Customer
<Customer>
<County>String</County>
<CountyCode>String</CountyCode>
<CountryCode>String</CountryCode>
<PostalCodeSuffix>String</PostalCodeSuffix>
<GeoCode>String</GeoCode>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
</Address>
<Phone>
<CountryCode>String</CountryCode>
<AreaCode>String</AreaCode>
<ExchangeCode>String</ExchangeCode>
<Extension>String</Extension>
<PIN>String</PIN>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
</Phone>
<WebSite>
<Id
idDomain="NG">String</Id>
<URI>http://www.altova.com</URI>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
<Default>true</Default>
<Tag>String</Tag>
</WebSite>
<Email>
<DateLastVerified>1967-08-13</DateLastVerified>
</Email>
<ExternalId
idDomain="NG">String</ExternalId>
<Gender>Male</Gender>
<BirthDate>1967-08-13</BirthDate>
<UserId>String</UserId>
<OrgId>String</OrgId>
<LegalName>String</LegalName>
<Industry>String</Industry>
<NonProfit>true</NonProfit>
<LegalStructure>String</LegalStructure>
<Category>String</Category>
<TaxId>String</TaxId>
<Notes>
<Id
idDomain="NG">String</Id>
<SyncToken>String</SyncToken>
<MetaData>
<CreatedBy>String</CreatedBy>
<CreatedById>String</CreatedById>
<CreateTime>2001-12-17T09:30:47.0Z</CreateTime>
<LastModifiedBy>String</LastModifiedBy>
<LastModifiedById>String</LastModifiedById>
<LastUpdatedTime>2001-12-17T09:30:47.0Z</LastUpdatedTime>
</MetaData>
..the actual notes data is supported however
</Notes>
<CustomField
xsi:type="a_type_derived_from_CustomField"/>
...
<OpenBalanceWithJobs>
<CurrencyCode>AED</CurrencyCode>
<Amount>3.1415926535897932384626433832795</Amount>
</OpenBalanceWithJobs>
<OverDueBalance>
<CurrencyCode>AED</CurrencyCode>
<Amount>3.1415926535897932384626433832795</Amount>
</OverDueBalance>
<TotalRevenue>
<CurrencyCode>AED</CurrencyCode>
<Amount>3.1415926535897932384626433832795</Amount>
</TotalRevenue>
<TotalExpense>
<CurrencyCode>AED</CurrencyCode>
<Amount>3.1415926535897932384626433832795</Amount>
</TotalExpense>
</Customer>
Invoice, Estimate and SalesOrder
<Header>
..
<ShipAddr>
..
<Line4>String</Line4>
<Line5>String</Line5>
..
<County>String</County>
<CountyCode>String</CountyCode>
..
<CountryCode>String</CountryCode>
..
<PostalCodeSuffix>String</PostalCodeSuffix>
<GeoCode>String</GeoCode>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
..
<BillAddr>
..
<Line4>String</Line4>
<Line5>String</Line5>
..
<County>String</County>
<CountyCode>String</CountyCode>
..
<CountryCode>String</CountryCode>
..
..
<PostalCodeSuffix>String</PostalCodeSuffix>
<GeoCode>String</GeoCode>
<DateLastVerified>2001-12-17T09:30:47.0Z</DateLastVerified>
..
</Header>
<Line>
..
<UOMId idDomain="NG">String</UOMId>
<UOMAbbrv>String</UOMAbbrv>
</Line>
..
How to Set Up IDS Synch
In order to get IDS data synchronizing with a QuickBooks company file at a desktop system, you’ll need to make sure you have the correct QuickBooks version and you’ll need to replace a file in a QuickBooks directory.
To set up synch,
1. We strongly recommend that you back up your company file.
2.
Make sure you are on QuickBooks 2009 Pro, Premier, or
Simple Start or QuickBooks
3. Update your QuickBooks to the latest patch level (at least R7). This is done by using the Help -> Update QuickBooks menu and following the instructions.
4.
Make sure you are now at R7P by pressing the F2 key on your
keyboard while within the QuickBooks program. Confirm the Product name ends
with R7P or greater.
Notice that the Services Information will say Company Realm ID null. If it does
not say this, you cannot set up another data sync with this file, it has
already been set up.
5. If you used a beta version of synch with IDS, and turned off auto updates in QB as suggested in the beta release notes, you should consider turning auto updates back on now.
6. In the QuickBooks menbar locate “Online Services”. Click on Online Services-> Intuit Synch Manager and follow the instructions from that point onward.
7. If you wish to retry the sync setup experience at any time you may create a new company file to redo the sync setup. Alternatively, you may wish to use company file backup/restore to get back to a state where you can set up synchronization again.
Intuit
Data Services 2.2 Release Notes (9/21/09)
These
release notes contain important details about the 2.2 release of Intuit Data
Services (IDS).
Requirements
The following are required in order to use this functionality.
•
In order to observe the synchronization of IDS data and
QuickBooks, you need
to set up synch as instructed under How to Set Up IDS Synch.
•
US versions of QuickBooks 2009 R7 or later (Pro,
Premier, or Simple Start), QuickBooks
• If using IPP Flex, you will need the latest update of the IPP Flex SDK plugin and library.
What’s New in This
Release
This release provides a new preferences query, additional filtering and sorting when querying for data, and it fixes bugs found in the previous release of IDS:
• For customer and vendor queries, an additional filter is provided for filtering by balance.
• Item queries can now sort by name, date added, inventory and price.
• Account queries can now be sorted by name.
• Preferences query to determine the QuickBooks preferences set for the QuickBooks company file that the IDS realm is being synched with.
Bugs Fixed in This
Release
The following list contains the bugs fixed since the 2.0 release:
|
Bug |
Fix Notes |
|
If two addresses are supplied for Employee and both are non default with no label, the resulting employee add or mod will synch to QuickBooks with empty address information |
Labels are now required so this cannot occur. |
|
A customer, vendor, or employee with two email addresses with the same label causes an internal error in the database write. |
In the request XML, the employee, customer, or vendor cannot have more than one email address with a given label. Error 3002 is now returned if this happens. |
|
After an object was synched back to QB, a query by ID for that object must use idDomain = QB, not NG |
Fixed |
|
SalesOrder is not synced back to QB if customer name is changed after SalesOrder creation. |
Fixed |
|
Item Type in TaxLine is not validated |
Fixed |
|
When data is synchronized with QuickBooks, the data is marked as sent to QB. In some scenarios, such as network failure, the data marked as sent won’t actually be written to QuickBooks. |
Fixed |
|
Customer open balance and credit limit are returned as negative values after sync to QB (even though they were added as positive value). |
Fixed |
|
You get a blank response from a query using a date filter where start date is greater than the end date for the date range. |
Validation now checks to make sure the end date is after start date. If it is not, an error is returned in the XML response. |
Known Issues and
Limitations for 2.2
The following are the known issues and limitations for the IDS 2.2 release:
|
Issue |
Note |
|
If your customer or vendor query uses the new balance filter and you get more than 1000 records returned, don’t use the balance filter. |
You’ll have to do the filtering by balance yourself if the total number of returned records exceeds 1000. |
|
Multicurrency is not supported by IDS. |
|
|
Certain contact detail information for customer,
employee, or vendor has a label tag associated with it. For example, Phone
data can be labelled Business, Home, If any of the contact details under a label tags is subsequently deleted, you cannot do another mod request that writes that same contact detail data under that same label tag. That is, if you delete the Home email for customer John Smith, any subsequent Mod request that writes a Home email address to customer John Smith will generate error code 3002. |
|
|
If you use the FreeFormNumber element in your XML request for customer, vendor, or employee telephone numbers, you must supply a valid FreeFormNumber value. However, if you use this tag and don’t supply a valid value, you don’t get an error code returned, but you do get an exception. |
|
|
For customer, employee, and vendor, if the DeviceType tag
for the phone is not exactly LandLine, Pager, or |
|
|
Estimate, Invoice, and SalesOrder, do not support the tags SalesTermName and UOM. |
|
|
For transactions, after syncing with QB, city, country and zip information can be lost from shipping and billing addresses. |
|
|
SyncStatus query and activity info history no longer returned after a Forced sync ( a synch invoked manually at the QuickBooks desktop using the Intuit Synch Manager). |
|
|
When you run a sync activity for a date range in the past some of the history events are not returned . |
|
|
When you run status query and specify the wrong object type you get a blank response, e.g. specify "Invoice" for the status query of a Customer. |
|
Behaviors You Should
Note for 2.0, 2.2 and Beyond
|
Highlighted Behavior |
|
When someone tries or buys your app, they have the option to either set up synch with a QuickBooks company, or enter data manually without QuickBooks, with the possibility of adding QuickBooks synch at a later time. However, certain transactions such as invoices, require all referenced items to be already in QuickBooks before adding the invoice. So if you have transactions like these, where there are referenced items not in QuickBooks, those invoice add requests will not be synched. |
|
Certain data fields in object Add requests are required for synching with QuickBooks. However, for some of these fields, such as the name field in customer, vendor, or employee, IDS will not reject the Add request but the subsequent attempts to synch that object with QuickBooks will fail. |
|
The ID domains (NG or QB) used in queries must be uppercase, for example, <InvoiceQuery xmlns="http://www.intuit.com/sb/cdm/xmlrequest"> If you use different case you will get unexpected results. |
|
SalesRep is always returned as the sales rep initial. For example, the name “Smith” is returned as the initial “S”. This follows the usage of QuickBooks. |
|
Tags for address, telephone number, and email address aggregates must be supplied, and these tags must contain a supported value: Valid Address tags: Billing, Shipping |
|
When specifying Quantity, Rate, or RatePercent, or amount in transactions, you must use the 8.2 numeric format ( the two decimals to the right of the decimal point are required). |
|
If you add or modify an Employee with the party type of Organization, the record will not be synched with QuickBooks. |
|
Although this might not be indicated in the XSDs for IDS, there is support for a maximum of ONE Billing and ONE Shipping address, 5 phones, and 2 email labels. You may add only add one of each tag! |
|
Shipping Address is not supported for Employee and Vendors. Query supports shipping address only for Customers and Jobs. This does not cause a synch failure but it won’t be added to QuickBooks and it won’t come back in queries. |
|
For a name that is synced back to QB, an email address label will always be returned as Business. (i.e. For a name that was added with an email Home label, it will always be returned with a Business label IF it was synced back to QB). QuickBooks doesn’t have a notion of tags or labels for emails. |
|
In transactions, if you don’t specify a sales tax, there will be a synch failure if the target QuickBooks has sales tax turned on but has no default tax specified. |
|
QuickBooks ReceivePayment data contains aggregates called CreditCardTxnInputInfo and CreditCardTxnResultInfo that contain sensitive data. For security reasons, none of this data is written to or from IDS in the synch operation.. |
|
Invoice contains an unused, unsynched field called RemitToName. If data is written to this field and then a query is run, that field’s value will not be the same as the written value. |
|
Invoice queries do not return “pending” invoices. |
|
.For transaction queries, names of referenced customers are not returned, only the customer ID is returned. |
|
When creating transactions that use any IDs in the transaction, such as customer ID or invoice ID, those referenced objects must already have been synched to QuickBooks or the request will fail. |
|
When creating a payment for an invoice, that invoice must already have been synched to QuickBooks. |
Unsupported Fields for
2.2
The following fields are not supported in the 2.2 release
.
List Object Fields Not
Supported
Customer
<cmo:Customer>
<bt:County>String</bt:County>
<bt:CountyCode>String</bt:CountyCode>
<bt:CountryCode>String</bt:CountryCode>
<bt:PostalCodeSuffix>String</bt:PostalCodeSuffix>
<bt:GeoCode>String</bt:GeoCode>
<bt:DateLastVerified>2001-12-17T09:30:47.0Z</bt:DateLastVerified>
</Address>
<Phone>
<bt:CountryCode>String</bt:CountryCode>
<bt:AreaCode>String</bt:AreaCode>
<bt:ExchangeCode>String</bt:ExchangeCode>
<bt:Extension>String</bt:Extension>
<bt:PIN>String</bt:PIN>
<bt:DateLastVerified>2001-12-17T09:30:47.0Z</bt:DateLastVerified>
</Phone>
<WebSite>
<bt:Id
idDomain="NG">String</bt:Id>
<bt:URI>http://www.altova.com</bt:URI>
<bt:DateLastVerified>2001-12-17T09:30:47.0Z</bt:DateLastVerified>
<bt:Default>true</bt:Default>
<bt:Tag>String</bt:Tag>
</WebSite>
<Email>
<bt:DateLastVerified>1967-08-13</bt:DateLastVerified>
</Email>
<cmo:ExternalId
idDomain="NG">String</cmo:ExternalId>
<Gender>Male</Gender>
<BirthDate>1967-08-13</BirthDate>
<UserId>String</UserId>
<OrgId>String</OrgId>
<LegalName>String</LegalName>
<Industry>String</Industry>
<NonProfit>true</NonProfit>
<LegalStructure>String</LegalStructure>
<Category>String</Category>
<cmo:TaxId>String</cmo:TaxId>
<cmo:Notes>
<bt:Id
idDomain="NG">String</bt:Id>
<bt:SyncToken>String</bt:SyncToken>
<bt:MetaData>
<bt:CreatedBy>String</bt:CreatedBy>
<bt:CreatedById>String</bt:CreatedById>
<bt:CreateTime>2001-12-17T09:30:47.0Z</bt:CreateTime>
<bt:LastModifiedBy>String</bt:LastModifiedBy>
<bt:LastModifiedById>String</bt:LastModifiedById>
<bt:LastUpdatedTime>2001-12-17T09:30:47.0Z</bt:LastUpdatedTime>
</bt:MetaData>
..the actual notes data is supported however
</cmo:Notes>
<cmo:CustomField
xsi:type="a_type_derived_from_CustomField"/>
...
<cmo:OpenBalanceWithJobs>
<bt:CurrencyCode>AED</bt:CurrencyCode>
<bt:Amount>3.1415926535897932384626433832795</bt:Amount>
</cmo:OpenBalanceWithJobs>
<cmo:OverDueBalance>
<bt:CurrencyCode>AED</bt:CurrencyCode>
<bt:Amount>3.1415926535897932384626433832795</bt:Amount>
</cmo:OverDueBalance>
<cmo:TotalRevenue>
<bt:CurrencyCode>AED</bt:CurrencyCode>
<bt:Amount>3.1415926535897932384626433832795</bt:Amount>
</cmo:TotalRevenue>
<cmo:TotalExpense>
<bt:CurrencyCode>AED</bt:CurrencyCode>
<bt:Amount>3.1415926535897932384626433832795</bt:Amount>
</cmo:TotalExpense>
</cmo:Customer>
Invoice, Estimate and SalesOrder
<Header>
..
<ShipAddr>
..
<bt:Line4>String</bt:Line4>
<bt:Line5>String</bt:Line5>
..
<bt:County>String</bt:County>
<bt:CountyCode>String</bt:CountyCode>
..
<bt:CountryCode>String</bt:CountryCode>
..
<bt:PostalCodeSuffix>String</bt:PostalCodeSuffix>
<bt:GeoCode>String</bt:GeoCode>
<bt:DateLastVerified>2001-12-17T09:30:47.0Z</bt:DateLastVerified>
..
<BillAddr>
..
<bt:Line4>String</bt:Line4>
<bt:Line5>String</bt:Line5>
..
<bt:County>String</bt:County>
<bt:CountyCode>String</bt:CountyCode>
..
<bt:CountryCode>String</bt:CountryCode>
..
..
<bt:PostalCodeSuffix>String</bt:PostalCodeSuffix>
<bt:GeoCode>String</bt:GeoCode>
<bt:DateLastVerified>2001-12-17T09:30:47.0Z</bt:DateLastVerified>
..
</Header>
<Line>
..
<UOMId idDomain="NG">String</UOMId>
<UOMAbbrv>String</UOMAbbrv>
</Line>
..
In order to get IDS data synchronizing with a QuickBooks company file at a desktop system, you’ll need to make sure you have the correct QuickBooks version and you’ll need to replace a file in a QuickBooks directory.
To set up synch,
1. We strongly recommend that you back up your company file.
2.
Make sure you are on QuickBooks 2009 Pro, Premier, or
Simple Start or QuickBooks
3. Update your QuickBooks to the latest patch level (at least R7). This is done by using the Help -> Update QuickBooks menu and following the instructions.
4.
Make sure you are now at R7P by pressing the F2 key on
your keyboard while within the QuickBooks program. Confirm the Product name
ends with R7P or greater.
Notice that the Services Information will say Company Realm ID null. If it does
not say this, you cannot set up another data sync with this file, it has
already been set up.
5. If you used a beta version of synch with IDS, and turned off auto updates in QB as suggested in the beta release notes, you should consider turning auto updates back on now.
6. In the QuickBooks menbar locate “Online Services”. Click on Online Services-> Intuit Synch Manager and follow the instructions from that point onward.
7. If you wish to retry the sync setup experience at any time you may create a new company file to redo the sync setup. Alternatively, you may wish to use company file backup/restore to get back to a state where you can set up synchronization again.
|
1Intuit Data Service 2.0
Release Notes(8/05/09) |
These release notes contain important details about the 2.0
release of Intuit Data Services (IDS).
Requirements
The following are required in order to use this functionality.
¢ In order to observe the synchronization of IDS
data and QuickBooks, you need
to set up synch as instructed under
How to Set Up IDS Synch .
¢ QuickBooks 2009 Pro, Premier, or Simple Start or QuickBooks Enterprise Solutions 9.0
¢ If using IPP Flex, you will need the latest update of the IPP Flex SDK plugin and library.
Important Changes from the Beta Release
As we bring IDS out of beta to a production V1, several significant breaking changes have been made to the request and the response structure of IDS, though the data content of accounting objects (i.e. Invoice, Customer, etc.) have not been changed. Updated XSDs for the XML, as well as an updated flex library will be provided. If you have working code that uses Intuit Data Services today, it will stop working when we push our updates to IDS.
Summary of Changes:
¢ All responses are now a part of a RestResponse document, this includes query responses as well as add and modify responses. A RestResponse document may contain an <Error> aggregate if an error occurred, a <Success> aggregate if an add or modify succeeded, or an object-specific collection aggregate (i.e. <Customers>, <Invoices>, etc.) if a query succeeded.
¢ Query request formats have been rationalized to ensure commonly-used fields are named the same throughout the set of possible queries. List queries all have a <ListIdSet> aggregate which can contain one or more list IDs to be retrieved, while transaction queries all have a <TransactionIdSet> which can the ID of one or more transactions to be retrieved as well as a <ContactIdSet> to specify a list of contact IDs (customers, vendors, employees) to filter the returned transactions to only those that apply to the given contacts.
¢ The IdType XSD complexType is now used throughout when an ID is called for previously requests and responses had different ID formats.
Some of the changes to the XSD do not affect the resulting XML content, but have been designed to create a more intuitive and flexible object model in languages that create objects to represent the XSD entities. For example, a CustomerQuery object would be a subclass of the ListQueryBase object, which, in turn, is a subclass of the QueryBase object. This allows an object-oriented language to manipulate queries as QueryBase objects without concern to the specific type of query that might have been created elsewhere within the application.
How to Set Up IDS Synch
In order to get IDS data synchronizing with a QuickBooks company file at a desktop system, you ll need to make sure you have the correct QuickBooks version and you ll need to replace a file in a QuickBooks directory.
To set up synch,
1. We strongly recommend that you back up your company file.
2. Make sure you are on QuickBooks 2009 Pro, Premier, or Simple Start or QuickBooks Enterprise Solutions 9.0
3. Update your QuickBooks to the latest patch level (at least R7). This is done by using the Help -> Update QuickBooks menu and following the instructions.
4. Make sure you are now at R7P by pressing the F2 key on your
keyboard while within the QuickBooks program. Confirm the Product name ends
with R7P or greater.
Notice that the Services Information will say Company Realm ID null. If it does
not say this, you cannot set up another data sync with this file, it has
already been set up.
5. If you used a beta version of synch with IDS, and turned off auto updates in QB as suggested in the beta release notes, you should consider turning auto updates back on now.
6. In the QuickBooks menbar locate Online Services . Click on Online Services-> Intuit Synch Manager and follow the instructions from that point onward.
7. If you wish to retry the sync setup experience at any time you may create a new company file to redo the sync setup. Alternatively, you may wish to use company file backup/restore to get back to a state where you can set up synchronization again.
Behaviors You Should Note for 2.0 and Beyond
When someone tries or buys your app, they have the option to either set up synch with a QuickBooks company, or enter data manually, that is, use your app without QuickBooks, with the possibility of adding QuickBooks synch at a later time. However, certain transactions such as invoices, require the referenced items to be already in QuickBooks before adding the invoice. So if you have transactions like these, where there are referenced items not in QuickBooks, those invoice add requests cannot be synched.
Certain data fields in object Add requests are required for synching with QuickBooks. However, for some of these fields, IDS will not reject the Add request; it will succeed but the subsequent attempts to synch that object with QuickBooks will fail.
These are the fields that are known to be affected
¢ Customer, or vendor, or employee must have the name specified in order for the object to be synched down to QuickBooks.
¢ Tags for address, telephone number, and email
address aggregates must be supplied, and these tags must contain a supported
value:
Valid Address tags: Billing, Shipping
Valid Email tags: Business, Home
Valid Phone tags: Business, Home, Fax,
¢ When specifying Quantity, Rate, or RatePercent, or amount in transactions, you must use the 8.2 numeric format ( the two decimals to the right of the decimal point are required).
¢ If you add or modify an Employee with the party type of Organization, the record will not be synched with QuickBooks.
¢ Although this might not be indicated in the XSDs for IDS, there is support for a maximum of ONE Billing and ONE Shipping address, 5 phones, and 2 email labels. Can only add one of each tag!
¢ Shipping Address is not supported for Employee and Vendors. Query supports shipping address only for Customers and Jobs. This does not cause a synch failure but it won t be added to QuickBooks and it won t come back in queries.
¢ For a name that is synced back to QB, an email address label will always be returned as Business. (i.e. For a name that was added with an email Home label, it will always be returned with a Business label IF it was synced back to QB). QuickBooks doesn t have a notion of tags or labels for emails.
¢ In transactions, if you don t specify a sales tax, there will be a synch failure if the target QuickBooks has sales tax turned on but has no default tax specified.
Known Issues and Limitations for 2.0
¢ If two addresses are supplied for Employee and both are non default with no label, the resulting employee add or mod will synch to QuickBooks with empty address information.
¢ If labels for the phones are not supplied for the Employee, the resulting EmployeeAdd or Mod will have empty Phone and Altphone information.
¢ A customer, vendor, or employee with two email addresses with the same label causes an internal error in the database write.
¢ When data is synchronized with QuickBooks, the data is marked as sent
to QB. In some scenarios, such as network failure, the data marked as sent
won t actually be written to
QuickBooks.
¢ QuickBooks ReceivePayment data contains aggregates called
CreditCardTxnInputInfo and CreditCardTxnResultInfo that contain sensitive data.
For security reasons, none of this data is written to or from IDS in the synch
operation..
¢ Invoice contains an unused, unsynched field called RemitToName. If data
is written to this field and then a query is run, that field s value will not be the same as the written
value.
¢ Invoice queries do not return
pending invoices.
¢ For transaction queries, customer names will not be returned, but only
the customer ID will be returned.
¢ Estimate, Invoice, and SalesOrder, do not support the tags
SalesTermName and UOM.
¢ After data is synched back to QuickBooks, query by ID only supports
idDomain = QB.
¢ When creating transactions that use any IDs in the transaction, such as
customer ID or invoice ID, those referenced objects must already have been
synched to QuickBooks or the request will fail.
¢ When creating a payment for an invoice, that invoice must already have
been synched to QuickBooks.
¢ SalesOrder is not synced back to QB if customer name is changed after
SalesOrder creation.
¢ Item Type in TaxLine is not validated
¢ Customer open balance and credit limit are returned as negative values after
sync to QB (even though they were added as positive value). The workaround for
this bug is to check the Synchronized flag. If the Synchronized flag is set to
true, then flip the signs. otherwise use as is.
¢ For transactions, after syncing with QB, city, country and zip
information can be lost from shipping and billing addresses.
¢ You get a blank response from a query using a date filter where start
date is greater than the end date for the date range.
¢ SyncStatus query and activity info history no longer returned after a
Forced sync ( a synch invoked manually at the QuickBooks desktop using the
Intuit Synch Manager).
¢ When you run a sync activity for a date range in the past some of the
history events are not returned.
¢ When you run status query and specify the wrong object type you get a
blank response, e.g. specify "Invoice" for the status query of a
Customer.
Unsupported Fields for 2.0
The following fields are not supported in the 2.0 release.
List Object Fields Not Supported
Customer
<cmo:Customer>
<bt:County>String</bt:County>
<bt:CountyCode>String</bt:CountyCode>
<bt:CountryCode>String</bt:CountryCode>
<bt:PostalCodeSuffix>String</bt:PostalCodeSuffix>
<bt:GeoCode>String</bt:GeoCode>
<bt:DateLastVerified>2001-12-17T09:30:47.0Z</bt:DateLastVerified>
</Address>
<Phone>
<bt:CountryCode>String</bt:CountryCode>
<bt:AreaCode>String</bt:AreaCode>
<bt:ExchangeCode>String</bt:ExchangeCode>
<bt:Extension>String</bt:Extension>
<bt:PIN>String</bt:PIN>
<bt:DateLastVerified>2001-12-17T09:30:47.0Z</bt:DateLastVerified>
</Phone>
<WebSite>
<bt:Id
idDomain="NG">String</bt:Id>
<bt:URI>http://www.altova.com</bt:URI>
<bt:DateLastVerified>2001-12-17T09:30:47.0Z</bt:DateLastVerified>
<bt:Default>true</bt:Default>
<bt:Tag>String</bt:Tag>
</WebSite>
<Email>
<bt:DateLastVerified>1967-08-13</bt:DateLastVerified>
</Email>
<cmo:ExternalId
idDomain="NG">String</cmo:ExternalId>
<Gender>Male</Gender>
<BirthDate>1967-08-13</BirthDate>
<UserId>String</UserId>
<OrgId>String</OrgId>
<LegalName>String</LegalName>
<Industry>String</Industry>
<NonProfit>true</NonProfit>
<LegalStructure>String</LegalStructure>
<Category>String</Category>
<cmo:TaxId>String</cmo:TaxId>
<cmo:Notes>
<bt:Id
idDomain="NG">String</bt:Id>
<bt:SyncToken>String</bt:SyncToken>
<bt:MetaData>
<bt:CreatedBy>String</bt:CreatedBy>
<bt:CreatedById>String</bt:CreatedById>
<bt:CreateTime>2001-12-17T09:30:47.0Z</bt:CreateTime>
<bt:LastModifiedBy>String</bt:LastModifiedBy>
<bt:LastModifiedById>String</bt:LastModifiedById>
<bt:LastUpdatedTime>2001-12-17T09:30:47.0Z</bt:LastUpdatedTime>
</bt:MetaData>
..the actual notes data is supported however
</cmo:Notes>
<cmo:CustomField
xsi:type="a_type_derived_from_CustomField"/>
...
<cmo:OpenBalanceWithJobs>
<bt:CurrencyCode>AED</bt:CurrencyCode>
<bt:Amount>3.1415926535897932384626433832795</bt:Amount>
</cmo:OpenBalanceWithJobs>
<cmo:OverDueBalance>
<bt:CurrencyCode>AED</bt:CurrencyCode>
<bt:Amount>3.1415926535897932384626433832795</bt:Amount>
</cmo:OverDueBalance>
<cmo:TotalRevenue>
<bt:CurrencyCode>AED</bt:CurrencyCode>
<bt:Amount>3.1415926535897932384626433832795</bt:Amount>
</cmo:TotalRevenue>
<cmo:TotalExpense>
<bt:CurrencyCode>AED</bt:CurrencyCode>
<bt:Amount>3.1415926535897932384626433832795</bt:Amount>
</cmo:TotalExpense>
</cmo:Customer>
Invoice, Estimate and SalesOrder
<Header>
..
<ShipAddr>
..
<bt:Line4>String</bt:Line4>
<bt:Line5>String</bt:Line5>
..
<bt:County>String</bt:County>
<bt:CountyCode>String</bt:CountyCode>
..
<bt:CountryCode>String</bt:CountryCode>
..
<bt:PostalCodeSuffix>String</bt:PostalCodeSuffix>
<bt:GeoCode>String</bt:GeoCode>
<bt:DateLastVerified>2001-12-17T09:30:47.0Z</bt:DateLastVerified>
..
<BillAddr>
..
<bt:Line4>String</bt:Line4>
<bt:Line5>String</bt:Line5>
..
<bt:County>String</bt:County>
<bt:CountyCode>String</bt:CountyCode>
..
<bt:CountryCode>String</bt:CountryCode>
..
..
<bt:PostalCodeSuffix>String</bt:PostalCodeSuffix>
<bt:GeoCode>String</bt:GeoCode>
<bt:DateLastVerified>2001-12-17T09:30:47.0Z</bt:DateLastVerified>
..
</Header>
<Line>
..
<UOMId idDomain="NG">String</UOMId>
<UOMAbbrv>String</UOMAbbrv>
</Line>
..