Search code examples
xmlquickbooksqbxmlipp-qbd-sync

Quickbooks data query Filters


Can we filter response from quickbooks based on any field or there are only specific set of tags we can use in qbxml request for filtering quickbooks data?

For example for Sales Order Query we can use the following

<ModifiedDateRangeFilter>
    <!-- optional -->
    <FromModifiedDate >DATETIMETYPE</FromModifiedDate>
    <!-- optional -->
    <ToModifiedDate >DATETIMETYPE</ToModifiedDate>
    <!-- optional -->
</ModifiedDateRangeFilter>

To filter based on date. My question is can we also filter based on other fields like InventorySiteLocationRef.FullName as in the below xml in

<InventorySiteLocationRef>
    <!-- optional -->
    <ListID >IDTYPE</ListID>
    <!-- optional -->
    <FullName >STRTYPE</FullName>
    <!-- optional -->
</InventorySiteLocationRef>

So like the following request XML for querying sales orders data

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
    <QBXMLMsgsRq onError="stopOnError">
        <SalesOrderQueryRq metaData="ENUMTYPE" iterator="ENUMTYPE" iteratorID="UUIDTYPE">
            <ModifiedDateRangeFilter>
                <!-- optional -->
                <FromModifiedDate >DATETIMETYPE</FromModifiedDate>
                <!-- optional -->
                <ToModifiedDate >DATETIMETYPE</ToModifiedDate>
                <!-- optional -->
            </ModifiedDateRangeFilter>
        </SalesOrderQueryRq>
    </QBXMLMsgsRq>
</QBXML>

is the below XML also valid or only specific tags are available for filtering data from quickbooks?

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
    <QBXMLMsgsRq onError="stopOnError">
        <SalesOrderQueryRq metaData="ENUMTYPE" iterator="ENUMTYPE" iteratorID="UUIDTYPE">
            <InventorySiteLocationRef>
                <!-- optional -->
                <ListID >IDTYPE</ListID>
                <!-- optional -->
                <FullName >STRTYPE</FullName>
                <!-- optional -->
            </InventorySiteLocationRef>
        </SalesOrderQueryRq>
    </QBXMLMsgsRq>
</QBXML>

Solution

  • No. The only available options are listed in the OSR for each request.

    You can not mix the different filters between requests.