Table of Contents

FAQ - Reckon Accounts Desktop SDK

What's the difference between Reckon Accounts, Reckon QuickBooks® and QuickBooks® by Intuit, and how does this effect me as a developer?

Our relationship with Intuit and the building of the QuickBooks® and Quicken® brands in Australasia for over 25 years by Reckon is best summed up at https://www.reckon.com/au/reckon-quickbooks/

The ending of the relationship had minimal effect on developers (and users); essentially the products stayed exactly the same except for re-branding as Reckon Accounts. The desktop SDK remained at v6.1; we added a Hosted API for the Reckon Accounts Hosted service, as well as a RESTful API for Reckon One. We continue to invest heavily in the Hosted and Reckon One APIs (with the desktop SDK remaining as the Hosted backbone).

 


I can't seem to find an assembly (.dll) to develop in the SDK. Please advise where I can find this?

When you install Reckon Accounts desktop the dll is included as a reference library. This can then be added in Visual Studio [Project > Add Reference...]

 

 

  • Reference: QBXMLRP2Lib
  • File: Qbxmlrp2.dll
  • Default Location: C:\Program Files (x86)\Common Files\Intuit\QuickBooks

I know there are some obvious differences between the US and AU/NZ SDK because of the way AU/NZ handles tax on both purchases and sales. Are there any tips you can give me?

A. Sure can. Here are the most frequently asked questions around Reckon Accounts Bills (aka supplier/vendor invoices) and tax codes.

We have been able to create a simple bill with expense and Item lines, however now we need some help in how we should be dealing with GST. In our simple bill test we didn't include the <IstaxIncluded> and if the supplier had a default taxcode then Reckon calculated the tax which was great (we don't recommend setting a default tax code for suppliers by the way - Reckon API team).

Now we would like to calculate the tax at line level on a supplier invoice (Bill) and also need to support GST/GST free lines. ** Default GST FREE goods purchase tax code in Reckon Accounts is NCG, but can have variations.

We think we need to populate the following nodes to achieve this:

<IstaxIncluded>True</IstaxIncluded> (at header)

<taxAmount>xx.xx</taxAmount> (at each line for both Expense and Item)

<SalesTaxCodeRef> the listID > (at each line for both Expense and Item)

  1. Is the above assumption true?
    Yes
  2. Would we need to do this in all cases, that is set the IstaxIcluded node to true even where a line is Tax/GST Free and other line has tax?
    It is best practice to do so because of mixed transactions. If you do this you can let the tax codes deal with whether the tax should be calculated. However, you would set istaxincluded to false is if you are passing NET not Gross amounts to the API.
  3. If a bill is tax free do we set the IstaxIcluded node to true with an amount of 0.00 and a SalesTaxCodeRef which is free and Reckon will process.?
    Yes the only thing is you would not set a tax amount, Reckon would determine from the tax rate that its a zero rated item/expense (eg NCF is the default tax rate for GST Free Purchases).
  4. What would we ever set the IsTaxIncluded to false?
    Yes if you are passing NET not Gross amounts to the system in the amount field (Reckon would then add the tax on top of the NET Amount you pass).
  5. The <SalesTaxCodeRef> listID - can you confirm that we just populate with tax code and we don't need to be concern with the relationship to a tax item?
    Yes that is correct. Tax Items are required on journals however regular transactions such as a BILL, PURCHASE ORDER, ESTIMATE, SALES ORDER or INVOICE only accept Tax Codes.
  6. What is the difference between a tax item and a tax code?
    Tax items determine the rate (eg 10%) and whether it is a sales tax or purchase tax for GST return purposes. The tax item is then linked to a tax code for use in transactions (excluding journals as they can be both sales and purchases in the one transaction, hence use tax items instead).
    This allows for one tax code to be used on sales and purchases (GST code for example) however by default, and what has been common in Reckon for many years, is the use of only one tax item per tax code. For example, the tax item for purchases with GST is NCG, and this would also be the tax code rather than combining NCG and GST tax items to form one-only tax code (also known as a consolidated tax code).
    1. Tax Item for Purchases with GST
    2. Consolidated Tax Code (can be used on Purchase and Sales forms to calculate 10% GST)
    3. Tax Code that can only be used on Purchase forms such as Bills, Cheques, Credit Cards

 


I have set custom fields on a list entry (customer, supplier, item) and need to be able to post to these via the API. How can I do this?

To do this you need to include an extended QBXML call to also include the additional elements required for custom fields. For an example please see below.

<DataExtModRq>
<DataExtMod>
<OwnerID>0</OwnerID>
<DataExtName>CustomerNumber</DataExtName>
<ListDataExtType>Customer</ListDataExtType>
<ListObjRef>
<FullName>Test Customer.</FullName>
</ListObjRef>
<DataExtValue>1234</DataExtValue>
</DataExtMod>
</DataExtModRq>

 

In this instance, the user is updating the Customer List for the Customer Test Customer and adding the number 1234 to the custom field CustomerNumber.

Data Element

Purpose

OwnerID

Always 0 - Indicates that custom fields need to be accessed via the API

DataExtName

The name of the custom field

ListDataExtType

The type of list element being edited - Customer, Vendor or Item

FullName

The name of the list element being edited

DataExtValue

The value to set for the custom field


How do I retrieve price levels via the Reckon Accounts SDK?

Price Levels can be retrieved via the API. If you want to get the price level list, just do a price level query request – <PriceLevelQueryRq /> – which will get all price levels.

If you want to see what price level is assigned to a specific customer just do a customer query request for that customer and the response will include the price level.

For example, I have a customer called “Customer1” linked to a price level called “Price Level Per Item”. When I make a call for that customer the price level is included –

<PriceLevelRef>\n<ListID>80000001-1513464301</ListID>\n<FullName>Price Level Per Item</FullName>\n</PriceLevelRef>

The best place to find how to make specific calls and what the response will be would be in the desktop SDK in the samples area, in the “qbxmlops61.XML” file. This has all the calls and how to make them. Also, the Intuit Onscreen Reference for QuickBooks SDK is a good resource- https://developer-static.intuit.com/qbsdk-current/common/newosr/index.html.


If I don't wish to use the SDK to import data, can I use another format?

Yes. HERE is the import file for timesheets into Reckon Accounts (IIF – Intuit Interchange Format). More examples can be found online by searching 'Intuit IIF examples'. Please note the following:

  • Always backup your file before performing an IIF import.
  • Date must be in US date format (see example).
  • If you are not billing your time, then there is no requirement for Customer:Job or indeed Service Item.
  • You can bill a customer (on its own) or job, however if billing a job you need to use the format CUSTOMER:JOB as a job is really a child of the customer.
  • Of course you would need to ensure the same items (data) with the same names exist in your company file.

 


Why do I get error code 510 for < GeneralDetailReportQueryRq >?

If I send a <GeneralDetailReportQueryRq>, for example, to create a General Ledger Report, I receive the below error:

<GeneralDetailReportQueryRs statusCode="510" statusSeverity="Warn" statusMessage="Unable to return object." />

You will get this error if you do not send the required column names you want in the response.

This issue happens in Reckon Accounts 2020 Desktop only and does not affect the previous Desktop versions. Hosted 2020 API does not have this issue either.

The Reckon Accounts Development team are looking into this issue.

Workaround: Specify the columns in your request

You will need to specify the columns that you require in your payload to create the Report.

Example of a payload:

<?xml version="1.0"?>
<?qbxml version="6.1"?>
<QBXML>
<QBXMLMsgsRq onError="continueOnError">
<GeneralDetailReportQueryRq>
<GeneralDetailReportType>GeneralLedger</GeneralDetailReportType>
<ReportPeriod>
<FromReportDate>2019-10-01</FromReportDate>
<ToReportDate>2020-07-21</ToReportDate>
</ReportPeriod>
<IncludeColumn>TxnType</IncludeColumn>
<IncludeColumn>Date</IncludeColumn>
<IncludeColumn>RefNumber</IncludeColumn>
<IncludeColumn>Name</IncludeColumn>
<IncludeColumn>Memo</IncludeColumn>
<IncludeColumn>SplitAccount</IncludeColumn>
<IncludeColumn>Debit</IncludeColumn>
<IncludeColumn>Credit</IncludeColumn>
<IncludeColumn>RunningBalance</IncludeColumn>
</GeneralDetailReportQueryRq>
</QBXMLMsgsRq>
</QBXML>

Workaround 1: Specify the columns in your request

You will need to specify the columns that you require in your payload to retrieve the Report.

Example of a payload:

<?xml version="1.0"?>
<?qbxml version="6.1"?>
<QBXML>
<QBXMLMsgsRq onError="continueOnError">
<GeneralDetailReportQueryRq>
<GeneralDetailReportType>GeneralLedger</GeneralDetailReportType>
<ReportPeriod>
<FromReportDate>2019-10-01</FromReportDate>
<ToReportDate>2020-07-21</ToReportDate>
</ReportPeriod>
<IncludeColumn>TxnType</IncludeColumn>
<IncludeColumn>Date</IncludeColumn>
<IncludeColumn>RefNumber</IncludeColumn>
<IncludeColumn>Name</IncludeColumn>
<IncludeColumn>Memo</IncludeColumn>
<IncludeColumn>SplitAccount</IncludeColumn>
<IncludeColumn>Debit</IncludeColumn>
<IncludeColumn>Credit</IncludeColumn>
<IncludeColumn>RunningBalance</IncludeColumn>
</GeneralDetailReportQueryRq>
</QBXMLMsgsRq>
</QBXML>

Workaround 2: Replace the DLL files

We have identified the issue and until the next release of Reckon Accounts, you can download and replace the affected DLL files to have this issue resolved.

Download link: click here.

Instructions:

  1. Close Reckon Accounts 2020
  2. Download the zip file that contains all the DLL files
  3. Extract the files to a location (for example, Desktop)
  4. Go to the below locations and make a backup of these files by copying them to a separate location (for example, Desktop > Reckon DLL backup):
    1. C:\Program Files (x86)\Intuit\Reckon Accounts 2020 >
      1. QBW32.exe
      2. QBXMLRP.DLL
      3. SDKCORE.DLL
      4. SDKDATABIND.DLL
      5. SDKEVENT.DLL
      6. SDKQBIMPL.DLL
      7. SDKUTIL.DLL
    2. C:\Program Files (x86)\Common Files\Intuit\QuickBooks >
      1. QBSDKCOMUtil.DLL,
      2. qbwps.dll,
      3. QBXMLRP2.DLL,
      4. sdkparse.dll
      5. sdksubscription.dll
  5. Go to the extracted files from Step 3 and then copy the files over to the specific locations
    1. C:\Program Files (x86)\Intuit\Reckon Accounts 2020 >
      1. QBW32.exe
      2. QBXMLRP.DLL
      3. SDKCORE.DLL
      4. SDKDATABIND.DLL
      5. SDKEVENT.DLL
      6. SDKQBIMPL.DLL
      7. SDKUTIL.DLL
    2. C:\Program Files (x86)\Common Files\Intuit\QuickBooks >
      1. QBSDKCOMUtil.DLL,
      2. qbwps.dll,
      3. QBXMLRP2.DLL,
      4. sdkparse.dll
      5. sdksubscription.dll



Q. Why do I get the error "Error connecting to Reckon Accounts. E03: Failed to access the Reckon Accounts company file using the supplied credentials. Please verify the user exists and the username and password match those supplied."?

You will get this error for one of the below reasons:

  1. The username and password details are incorrect or
  2. The user's details provided has been deleted in the Accounts Hosted application or
  3. The username value's length is more than 21 characters. The maximum characters allowed of the username object is 21 characters. Please update the username value in the Accounts Hosted application and then update in the third-party application for successful integration.



Need more help?

Ask the Reckon Community at: https://community.reckon.com/categories/reckonapi

How did we do?

Overview - Desktop SDK

When Posting transactions, the amount or rate is being ignored

Related Articles

Powered by HelpDocs (opens in a new tab)

Powered by HelpDocs (opens in a new tab)