Retrieve a List of All Checks for an Account using qbXML - qbxml

I'm working on a website for a client that integrates into QuickBook desktop. I need to get a listing of all the checks for a specific account (ideally I would like all transactions for that account [regardless of their type] but if I have to get them one at a time that's fine). When I send the following XML:
<ns1:sendRequestXMLResponse>
<ns1:sendRequestXMLResult>
<xml version="1.0" encoding="utf-8" ?>
<qbxml version="12.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<CheckQueryRq>
<AccountFilter>
<ListID>800000F1-1362066981</ListID>
</AccountFilter>
<IncludeLineItems>true</IncludeLineItems>
</CheckQueryRq>
</QBXMLMsgsRq>
</QBXML>
</ns1:sendRequestXMLResult>
</ns1:sendRequestXMLResponse>
I receive the following error:
<CheckQueryRs statusCode="1" statusSeverity="Info" statusMessage="A query request did not find a matching object in QuickBooks" />
If I go into QuickBooks I can see there are checks associated with the account so I'm not sure why this doesn't return a result.
Update 1: I rewrote this without the AccountFilter so it returned every check and I found checkes with the 800000F1-1362066981 account. It's also 10 MB so it's really hard to work with. :-)

Related

QBXML Receive payment applied to multiple Invoices

I'm trying to apply 1 payment to multiple invoices with QBXML and I'm getting the following error
QuickBooks found an error when parsing the provided XML text stream
My XML:
<?xml version="1.0" encoding="utf-8"?><?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError="continueOnError">
<ReceivePaymentAddRq>
<ReceivePaymentAdd>
<CustomerRef>
<ListID>8000254C-1444676392</ListID>
</CustomerRef>
<TxnDate>2018-12-13</TxnDate>
<RefNumber>457</RefNumber>
<TotalAmount>863.10</TotalAmount>
<Memo></Memo>
<PaymentMethodRef><FullName/></PaymentMethodRef>
<AppliedToTxnAdd>
<TxnID>11B0C6-1544760951</TxnID>
<PaymentAmount>179.00</PaymentAmount>
</AppliedToTxnAdd>
<AppliedToTxnAdd>
<TxnID>11B0CA-1544761043</TxnID>
<PaymentAmount>684.10</PaymentAmount>
</AppliedToTxnAdd>
</ReceivePaymentAdd><IncludeRetElement>TxnID</IncludeRetElement><IncludeRetElement>RefNumber</IncludeRetElement></ReceivePaymentAddRq></QBXMLMsgsRq></QBXML>
Notice I have 2 AppliedToTxnAdd elements.
However if I only apply 1 AppliedToTxnAdd, it works!
The issue was the order of the xml elements. QB cares about that.

Create Order status code 400 - Server Error

I'm trying to build a simple payment flow using Bluesnap. Currently I've been able to capture the users billing information using Hosted Fields, and then saved it to a "Shopper" in bluesnap. Now I'm trying to use the same Shopper to create an order (https://developers.bluesnap.com/v8976-Extended/docs/create-order), but I can't get it to work.
I'm sending this:
<order>
<ordering-shopper>
<shopper-id>
--Shopper ID--
</shopper-id>
<web-info>
<ip>127.0.0.1:61106</ip>
<remote-host>www.merchant.com</remote-host>
<user-agent>Mozilla/5.0 (Linux; X11)</user-agent>
</web-info>
<fraud-info>
<fraud-session-id>1234567890</fraud-session-id>
</fraud-info>
<authorized-by-shopper>true</authorized-by-shopper>
</ordering-shopper>
<cart>
<cart-item>
<sku>
<sku-id>2425735</sku-id>
</sku>
<quantity>1</quantity>
</cart-item>
</cart>
<expected-total-price>
<amount>15.00</amount>
<currency>USD</currency>
</expected-total-price>
</order>
Using a POST-request to BLUESNAPDOMAINPATH/services/2/orders
The only response I get is a status code 400 with the body containing "Server Error"
Does anyone know how to solve this issue?
Your root xml element is missing the namespace:
<order>
Should be:
<order xmlns="http://ws.plimus.com">

NetSuite and SuiteTalk list all of a type (paged or not)

I am currently trying to work with the SuiteTalk 2017_2_0 API for a new integration with NetSuite. I have all the basics rolling of single record retrieval, etc.; however, I am having a problem trying to figure out how to list all of a given object/type in the system.
Example: I want to list ALL InventoryItem data.
Not sure what I am missing. Does anyone have a sample SOAP doc?
What I did so far
I have been working primarily with types: Sales Order, Customer and Inventory Item.
Tried using the getAll call defined in the WSDL - only supports limited fields:
budgetCategory
campaign*
currency
etc.
Tried using getList but a set of internal IDs are required in the baseRef/RecordRef (INVALID_KEY_OR_REF - The specified key is invalid.)
Fails:
<urn:getList>
<urn1:baseRef xsi:type="core:RecordRef" type="salesOrder" />
</urn:getList>
Succeeds:
<urn:getList>
<urn1:baseRef xsi:type="core:RecordRef" type="salesOrder" internalId="1" />
<urn1:baseRef xsi:type="core:RecordRef" type="salesOrder" internalId="2" />
</urn:getList>
Tried formulating a search that would return all the data but the types I need are unavailable (or I haven't been able to figure it out)
Define a saved search that pulls the appropriate data, then call the saved search.

Quickbooks Desktop BillPaymentCheckAdd error object not found

I am trying to add a $20 payment to a bill. This is from the sample Quickbooks file. However i am getting the error Object \"3E42-1071498278\" specified in the request cannot be found. " Any ideas. I have tried multiple things. I have indeed checked that the bill exists. I have included below the generated qbxml from the sdk. I am using version 13 of the sdk and QB version 14. Changing the date has no bearing on the error response
<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError = "continueOnError">
<BillPaymentCheckAddRq requestID = "0">
<BillPaymentCheckAdd>
<PayeeEntityRef>
<FullName>Sergeant Insurance</FullName>
</PayeeEntityRef>
<APAccountRef>
<FullName>Accounts Payable</FullName>
</APAccountRef>
<TxnDate>2017-01-21</TxnDate>
<BankAccountRef>
<ListID>20000-933270541</ListID>
<FullName>Checking</FullName>
</BankAccountRef>
<RefNumber>11000</RefNumber>
<Memo>786-35 Sample</Memo>
<ExchangeRate>1.000000</ExchangeRate>
<AppliedToTxnAdd>
<TxnID>3E42-1071498278</TxnID>
<PaymentAmount>20.00</PaymentAmount>
</AppliedToTxnAdd>
</BillPaymentCheckAdd>
</BillPaymentCheckAddRq>
</QBXMLMsgsRq>
</QBXML>
The error says the transaction with that ID cannot be found. You may see the transaction in QB, but how do you know that the transaction you are looking at in QB has that ID? QB does not think it does.
I would expect to see a BillToPayQueryRq and pulling the transactionID out of the BillToPayQueryRs.
Make sure the payeeEntityRef matches the Bill Txn. You can provide a valid TxnID but if it is not tied to the proper Payee QB will give a TXNID not found error.

Query Non Inventory Items QuickBooks Desktop

How do I query non-inventory items using QuickBooks Desktop IPP SDK? My code only gets the service items and discounts:
ItemConsolidatedQuery itQuery = new ItemConsolidatedQuery();
itQuery.NameContains = theName;
var itemsList = itQuery.ExecuteQuery<ItemConsolidated>(dataServices.ServiceContext).ToList();
ItemConsolidated should get you all items, including non-inventory items.
If you're sure that you aren't getting any non-inventory items back, and that Sync Manager has run recently, and that you're hitting the correct realmID (F2 in QuickBooks will show you the realm ID of the QuickBooks file) then I would submit a support ticket to Intuit.
NonInventory Item is displayed on querying ItemConsolidated entity. It will be under the type “Product” item.
Can you please try to test this use case using apiexplorer tool.
Link - https://developer.intuit.com/apiexplorer?apiname=V2QBD
PFB a sample request
<ItemConsolidated>
<Id idDomain="QB">24</Id>
<SyncToken>1</SyncToken>
<MetaData>
<CreatedBy>app</CreatedBy>
<CreateTime>1999-07-29T18:24:16.0Z</CreateTime>
<LastModifiedBy>app</LastModifiedBy>
<LastUpdatedTime>2007-05-05T16:42:40.0Z</LastUpdatedTime>
</MetaData>
<ExternalKey idDomain="QB">24</ExternalKey>
<Synchronized>true</Synchronized>
<Name>Appliance</Name>
<Active>true</Active>
<UnitPrice>
<CurrencyCode>USD</CurrencyCode>
<Amount>0</Amount>
</UnitPrice>
<Type>Product</Type>
<SalesTaxCodeId idDomain="QB">1</SalesTaxCodeId>
<SalesTaxCodeName>Tax</SalesTaxCodeName>
</ItemConsolidated>
Doc Ref -https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0500_quickbooks_windows/0600_object_reference/itemconsolidated