QuickBooks Integration

Previous Next

FFL Tools QuickBooks Integration Overview

The QuickBooks integration into FFL Tools provides the FFL Tools user the ability to create Bills, Invoices, and Sales Receipts in QuickBooks from FFL Tools. The integration also provides the ability to map existing vendors, customers, and items in FFL Tools to vendors, customers and items in QuickBooks. This integration will generate a complete Bill, Invoice or Sales Receipt.  When creating a Bill you can add non-firearm Items and Expenses to the Bill just as if you where using QuickBooks to create the Bill.  You can even create new Items in QuickBooks from the FFL Tools Bill screen.  The same functionality of creating new Items that is in the Bill creation is in the Invoice and Sales Receipt creation.  

It is a complex integration and may require changes in your QuickBooks Items and your process used to Acquire firearms in FFL Tools. Rest assured, with some effort upfront this integration will save you countless hours by stream lining your work-flows when acquiring and disposing firearms and non-firearm items.

Quick Note about QuickBooks

QuickBooks is a very popular accounting system for small and mid size businesses.  This means that it is flexible and can support many different business requirements.  This flexibility does have a cost when using QuickBooks' Application Program Interface (API) to create an application integration. QuickBooks is a slow data source.  Poor performance in interacting with the QuickBooks database is due to waiting for QuickBooks to respond to queries.  To counter act the slow response from QuickBooks, FFL Tools employs a caching mechanism to cache the data needed from QuickBooks.  The cached data is used where possible and direct access to QuickBooks is used only when caching the data, or creating Items, Vendors, Customers, Bills, Invoices, and Sales Receipts.  In our development environment QuickBooks is running on an HP Laptop with an AMD 2.50 GHz CPU and 8 Gigs of Ram.  It takes about six seconds to add a new Item and about two seconds to add a Bill with 10 different SKUs.  Adding new Items, Vendors, and Customers takes longer than adding Bills, Invoices and Sales Receipts.  This is because when a new Item, Vendor, or Customer is added, FFL Tools has to receive back from QuickBooks the ID for these entries and update the cached data with the new ID.  

QuickBooks does not provide an API to generate a print job.  Due to the limitation of the QuickBooks API when an Invoice or Sales Receipt is created, you will need to open the Invoice or Sales Receipt in QuickBooks to print it.

Versions of QuickBooks Supported

This integration supports QuickBooks Enterprise, Premier, and Professional Desktop Versions. Editions from 2002 - current. The integration was developed and tested using QuickBooks Professional Editions 2014 and 2016. While the integration will work with Enterprise and Premier, it does not support the advanced features such as Sales Orders and Purchase Orders. If you use Enterprise or Premier versions of QuickBooks and require the use of the advanced features, please send us an e-mail with your requirements.  


QuickBooks Online and QuickBooks Point of Sale are not supported by this integration.

Requirements to Using the Integration

The key to the integration is mapping FFL Tools SKUs to QuickBooks Items or Part Numbers. While using SKUs in FFL Tools is optional, if you wish to use the QuickBooks Integration, SKUs MUST be used in FFL Tools. In the FFL Tools Acquire Module the field labeled Man. Item # is stored in the database as SKU. QuickBooks Items have two fields, Item Name/Number and Manufacturer's Part Number  that can be used to map to the FFL Tool's SKU.

Using SKUs in FFL Tools

To map an unique firearm model in FFL Tools to an Item / Part Number in QuickBooks, SKUs must be entered when acquiring firearms.  Each SKU in FFL Tools must uniquely define a firearm.  Here are some examples:


SKU (Man. Item #)

Manufacturer

Importer

Model

Firearm Type

Caliber / Gauge

Description


10174

Smith & Wesson


M&P9

Pistol

9MM

S&W M&P9 Full Size Blk w/CT

good

10176

Smith & Wesson


M&P9

Pistol

9MM

S&W M&P9 Compact Blk w/CT

good

10188

Smith & Wesson


M&P9

Pistol

9MM

S&W M&P9 Full Size FDE

good

10188

Smith & Wesson


M&P40

Pistol

.40S&W

S&W M&P40 Full Size FDE

bad


In the table above the Manufacturer's Part Number is being used for SKU.  The first three records are correct, the forth record has the same SKU as the third.  This will cause issues when acquiring a firearm with SKU 10188 and in mapping to the correct QuickBooks Item.


If you have not been using SKUs in FFL Tools, you can edit the FFL Tools SKU and Description in the Manage QuickBooks Mapping module.  Because SKU  and Description are not tracked by the ATF for the Bound Book, editing the SKU or Description field will not create a voided record.


Note: You can use anything you want as a SKU,  I.E. Manufacturer's Part Number, UPC Code, or a code that you develop.  The UPC code is the safest as there is  less likelihood that there will be two manufacturers that use the same UPC code.  The down side is typing a UPC can be error prone.  So if you want to use UPC for the SKU, I would suggest using a bar code scanner and scanning the UPC code on the firearm's packaging.

QuickBooks Items

Items in QuickBooks can be configured in a variety of ways.  The simplest method in creating an item in QuickBooks is to define the Item Name/Number, Description on Purchase Transactions, (Description on Sales Transactions will be copied from Description on Purchase Transactions), Cost, COG Account, Sales Price, Tax Code, Income Account, and Asset Account.  The COGS Account, Tax Code, and Asset Account will be set to default values when creating the item.



In the above example the Manufacturer's Item Number is being used for the Item Name/Number.  This will match the SKU to be used in FFL Tools.

You can also setup Items to be a Subitem of existing QuickBooks Items.  In the example below the Item Name/Number has been changed to more of a description, the item was assigned as a Subitem of the Pistol Item, and the Manufacturer's Item Number has been put in the Manufacturer's Part Number.  I have found that using a descriptive Item Name/Number works okay for small inventories, but with 26+ variants of the Smith & Wesson M&P9 it becomes very difficult to manage. If you are using a descriptive Item Name/Number, it is important to also use the Manufacturer's Part Number.  This will allow for the FFL Tools' SKU to be mapped to the QuickBooks Manufacturer's Part Number.  



In addition to the basic Item creation, QuickBooks allows for Custom Fields to be used in Items.  Custom fields can be very helpful in searching for items and when items are exported to Excel.  QuickBooks allows for five custom fields for items. Click to open the Custom Fields Dialog.


Four Custom Fields have been defined.  In this case Category, Manufacturer, Caliber Gauge, and Model.  If your Items have custom fields defined, then these custom fields will be available to FFL Tools and you can map them to fields in the firearms table.  Click the button to learn how to add Custom Fields to Items.

RemoteConnector for QuickBooks

The communication between FFL Tools and QuickBooks is performed via the RemoteConnector.  The RemoteConnector is a light weight HTTP server.  FFL Tools passes QBXML request to the RemoteConnector.  The RemoteConnector then accesses the QuickBooks API to send the request to QuickBooks.  QuickBooks then passes the results back to FFL Tools.  

The RemoteConnector must be installed and configured on the computer that is running QuickBooks.  This can be the same computer that is running FFL Tools, if it is not, then the FFL Tools and QuickBooks computers must be on the same Local Area Network (LAN) or have access to each other over a Wide Area Network (WAN).  Setup instructions can be found in RemoteConnector help page.