I'm currently working on improving a QuickBooks Desktop integration with the Web Connector and have it working with Reading / Creating data from my apps side (Sales Orders, Invoices, Etc.)
However, I'm not sure what the best process is for retrieving updates from the QuickBooks Desktop side? Since I can't use any Event Notifications, is my only option to use some logic in my API to request all the Data for all Sales Orders that meet certain criteria, and then compare the EditSequence against what I've stored? This seems like it could be excessive data pulls.
Or the preferred way is storing the date that I last retrieved any updates from the users QBD and then with perform queries for each resource I'm using (SalesOrderQuery, InvoiceQuery, CustomerQuery, ItemQuery) get all the resources that were modified using the ModifiedDateRangeFilter
or FromModifiedDate
/ToModifiedDate
?
Just looking to hopefully get some guidance from someone who's done this before.
My experience has been that filtering by TimeModified
using the filters is the way to go. You'll pull wayyyy less data from larger QuickBooks files by filtering on those fields vs. trying to pull a full ~10+ years of transaction history for established merchants.