UltraBooks - Sending orders to QuickBooks™

UltraBooks is a program that interfaces UltraCart with QuickBooks Desktop version.  Please see QuickBooks Online for our integration with QBO.


Many online merchants use Intuits industry leading QuickBooks™ accounting software to maintain their company books. UltraCart has enhanced support for Merchants using QuickBooks™ with the addition of our QuickBooks™ integration tool called UltraBooks.

UltraBooks allows UltraCart merchants to import data directly to QuickBooks™ software. There's no need to deal with file formats and data conversion as UltraBooks does it all for you. Once configuration steps are complete, merchants simply run UltraBooks and it handles all the communication and importing between UltraCart and QuickBooks™.

Getting Help

As of version 5.7, you may (and should) create a support request within Ultrabooks.  Doing so will upload your settings and the temporary database used by Ultrabooks.  If you don't use the built-in feature, Ultracart staff will just ask for these files manually before anything else.   So upgrade and use the built-in feature.  It greatly accelerates conflict resolution.

To create a support case, you must be first authenticated with the system.  Once you've performed the authentication (See the 'Accounts' screen), click on the Help button at the top right of the application.   Follow the instructions within.

Change Log

  • Shipping Tax Code Override (new checkbox in Settings - Orders)
  • Force all Purchase Orders to be Sales Orders instead of Invoices (new checkbox in Settings - Orders)
6.02021-06Additional error handling when connecting to Quickbooks.  We did a major rev to 6.x because of the bug fixes in 5.10.  They were significant enough to warrant a major version change.  Everyone should upgrade to 6.x when possible.
5.102021-03Tax bug fixes and additional logging.
  • Added Comments and Special Instructions to templating engine.  You may now display these values within your memo field (or elsewhere, but that makes little sense).
  • Added new template field for the "Other" field, allowing such things as Order IDs to appear there.  This was a request by a merchant because the memo field isn't available to some of the report builder screens, while Other is, allowing them to place the Order ID on some printouts.
  • Added a default value for payment Authorization Codes if one happens to not be present within the order details.  Authorization Codes are only used by Quickbooks Payments Gateway, and therefore this default value is only needed by those merchants.  While an authorization code should always be present for an order, experience has shown this value is sometimes missing.  Without a dummy value to fill the void, the order is rejected by Quickbooks.
5.82020-06Added LiftGate and Residential to the templating engine.  You may now display these two booleans within your memo field (or somewhere else).
5.72020-02Removed the use of LiteDB for data storage within the UltraBooks application.  All data storage is now done using the system registry.  This makes Ultrabooks perform better within hosted environments and other restrictive installations where it may or may not have access to the local filesystem.
  • The log files were moved out of the Documents directory into the local application directory.  This will eliminate conflicts with cloud based replicators like Dropbox and Microsoft One-Drive.
  • The Help page now has the ability to create a support case with UltraCart directly.  This eliminates the need to find and send in log files.  Responses to issues should improve drastically as several round trip emails are now eliminated.
  • UltraBooks now supports the Avalara AvaTax plugin for QuickBooks.  The Order settings page has a checkbox for "Use AvaTax".  When checked, all customers and transactions are tagged with the "AVATAX" tax item (as directed by Avalara).
  1. Customer profile "qb class" field was not being used properly.  It now is considered when determining what Quickbooks class (if any) to associate with the transaction.  Remember that the "Import Class" checkbox must be checked in your Settings for this field to apply.
  2. Added error handling to correctly return back to user a notification of errors that happen when edits that require single-user mode fail because Quickbooks is running in multi-user mode.

Added new settings tab "QuickBook Payments" and a field "Merchant Account Number" where you can supply your Quickbooks Payment merchant account number.  Some orders are completing without that number in the transaction details.  It's still required to add a Quickbooks Payment order into Quickbooks, so you must manually supply it here.  

See https://quickbooks.intuit.com/learn-support/en-us/merchant-services/locate-your-merchant-account-id-mid-number/00/228856

5.5.12019-10Added additional logging to help troubleshoot some tax rate updating issues specific to one merchant.
  • Additional logging and feedback on Terms matching between order/customer and QuickBook payment terms
  • Bug fix on payment details implemented in 5.4.  We missed a change in a date format (now included timezone), preventing the date from being parsed properly.
5.42019-09Updated payment details to work with QuickBooks Payments payment gateway.

New Setting: General Settings → Manual Import will disable the automatic validation and import of any downloaded orders.  This was requested by a merchant who wished to review all orders and prevent certain orders from flowing into Quickbooks.  The default for this setting is false.

Additional internal logging to aid troubleshooting.


Added new button to customer mapping screen allowing for the existing customer record to be used, but updating it with the current order's information.  This provides the best-of-both-worlds scenario of keeping the existing customer record with its history and also ensuring it has the latest information.

Added three new check boxes to the Customer Settings screen.  

  • Match by Name and Email
  • Match by Name and Zip
  • Automatically update Customer record

These values allow for a looser matching criteria when determining if an existing customer is the same as an order.

  • Reworked flow.  Entire process of downloading and importing orders happens with one click of the Download button.  This includes dealing with customer mappings.
  • Changed address templates to include city, state, zip and country.  Previously, those fields were given to QuickBooks and allowing it to decide where to place them.  This would lead to errors when address fields 4 and 5 were taken and QuickBooks tried to place the additional data in those fields.

Important Changes with 5.1 RC1

Please read this carefully. Your data will be incorrect otherwise.

This version of UltraBooks changes address field usage. Prior versions had 5 address fields and also added city, state, zip and country to the billing and shipping areas. Behind the scenes, QuickBooks would add the city, state, zip, and country to the address 4 and 5 fields. If those fields were already filled, an error would occur.

UltraBooks no longer sends QuickBooks the city, state, zip, and country separately.

These fields are now part of the templates to ensure there are no errors.

You must: review the templates in the Settings and ensure city, state, zip, and country are present in one of the five address fields.  If you previously had nothing in Address4 and Address5, you are fine. Those will default to correct usage. But if you did have something there, you will need to adjust your templates. Simply blank out those fields if you wish to use the UltraBooks defaults.

The default for field Address5 is now:
[BillToCity], [BillToState] [BillToZip] [BillToCountryCode]

Example: Duluth, GA 30097 USA

5.0.82018-11Bug fix.  Ship to zip code was used instead of bill to zip code for the invoice Bill To Address during certain circumstances.

This is the beginning of tracking changes in a change log. 

This version adds a new setting in the General Settings tab called "Auto Import".  When checked, downloaded orders are automatically validated and imported if no issues were found.  This allows UltraBooksNG (next generation) to function in a batch mode similar to the legacy version of UltraBooks.


UltraBooks is an installed Microsoft Windows application that connects up to the central UltraCart system and downloads orders into Intuit's United States editions of QuickBooks™ version 2004-Current (Pro, Premium or better versions).

****The software is not compatible with Mac, Online, Canadian, International, or Simple Start versions of QuickBooks™.

When the UltraBooks program is launched it will prompt you for the same login information that you use to access your UltraCart account. UltraBooks then securely downloads all the new (completed) orders.

What Type of Data will UltraCart Import?

UltraBooks will create customer profiles for your customers automatically if they do not already exist. After creating the customer profile, UltraBooks will create a sales receipt or, in the case of purchase orders, an invoice for each completed order (i.e. marked as shipped). Those using QuickBooks™ Merchant Services (QBMS) will also have credit card transaction information imported.

Getting Started

To begin the UltraBooks Configuration navigate to:

Main Menu → Configuration → UltraBooks

Required Software:

  • Microsoft VC++ Redistributable

  • Microsoft .NET Framework (v4.6.1)

  • QuickBooks™ SDK QBFC 13.0

  • UltraBooks v6.1

In order to use UltraBooks you must first download and install all the required components onto the same PC that QuickBooks™ is installed (for server installations see the note at end of the installation section).  It's recommend that you read through all the UltraBooks documentation before you install the software discussed below.


Microsoft VC++ Redistributable

https://aka.ms/vs/16/release/vc_redist.x86.exeCore Microsoft Visual C++ Foundation

Microsoft .NET Framework (v4.6.1)

https://www.microsoft.com/en-us/download/details.aspx?id=49981.NET Framework

QuickBooks™ SDK QBFC 13.0


Quicken Connectivity Library

UltraBooks v6.1

https://www.ultracart.com/UltraBooksInstall_v6.1.msiMain Application
  • The installer will install the application and create a desktop icon named 'UltraBooks v5' to launch the application.
  • If you wish to pin the application to your Start Menu or Task Bar, click the desktop icon, and then right click on the running application to pin UltraBooks wherever you desire.
  • For technical reference, the application installs to C:\Program Files (x86)\UltraCart\UltraBooksNG_5.10\

Prior Versions of UltraBooks

Uninstall previous versions

This version of UltraBooks may be installed along side the legacy version (v4.0), but only one version 5 may be installed at a time. Once you are comfortable with the new version, you may uninstall 4.0 at your discretion.  They cannot both run at the same time, but they can be installed side-by-side and run separately.

  • Latest version (link is directly above, scroll up 5 inches).
  • UltraBooks 6.0
  • UltraBooks 5.10
  • We've removed prior versions due to a bug with tax importation.

Supported Versions of QuickBooks: QuickBooks 2012 through 2020 (Pro, Premium, Accountant or Enterprise)

Quickbooks Compatability

UltraBooks is an installed Microsoft Windows application that connects up to the central UltraCart system and downloads orders into Intuit's United States editions of QuickBooks™ version 2012-Current (Pro, Premium or better versions).

This software is not compatible with Mac, Online, Canadian, International, or Simple Start versions of QuickBooks™.

QuickBooks Point Of Sale (POS) version is also not supported.

QuickBooks Online is supported as a seamless integration with UltraCart. See QuickBooks Online for more information.

Software download links within secure.ultracart.com

You may also install UltraBooks via links in the ultracart.com site.  In UltraCart, navigate to:

Main Menu → Configuration → (middle menu) Back Office → UltraBooks

After clicking on the UltraBooks link you'll be taken to the UltraBooks configuration screen (shown below). 

There you'll find instructions for installing the required software. We've even provided hyperlinks that will take you to the install process for each application.

After installing the required software, enter the configuration mode by clicking the Configuration Mode button on the UltraBooks screen.

Note Regarding Server Installations

Question: We run our QuickBooks from our server, do we have to install UltraBooks on the server or can each user needing to use it install UltraBooks on their workstation?

Answer: It is okay to install UltraBooks onto workstations, provided that each employee will be downloading the orders into the same QBW file.

Configuration Mode

QuickBooks Codes

Clicking the Configuration Mode button at the bottom of the Configuration Screen will enable your merchant account for QuickBooks™ configuration and present the "UltraBooks™ Configuration Mode" screen. There, you will be shown a list of your specific areas that will need accounting codes.

Assigning accounting codes allows UltraBooks to match up and properly categorize data in UltraCart to data in QuickBooks™ each and every time you download data.

Click on the QuickBooks Code Configuration Checklist link to be taken to the Unconfigured QuickBooks Codes Screen.  Each time you return to the main UltraBooks configuration page, you will be presented with the list of pending items until all have been configured.

Unconfigured QuickBooks Codes

This is a helpful screen for the entering of the QuickBooks Codes.  It will list all the UltraCart items that have yet to be assigned appropriate QuickBooks Codes.  In addition, each item is a link that when clicked, will take you to the appropriate screen for configuration.  The next time you return to the Unconfigured QuickBooks Codes screen, that particular item will no longer be listed. It's imperative that you complete all the items and that the codes match perfectly with those in QuickBooks.

Coupon QuickBooks Codes

Each of your "active" coupons (Main Menu → Configuration → Checkout → Coupons) must also have a QuickBooks™ code associated with it. Edit each of your coupons and enter the corresponding QuickBooks™ code in the field.

 Typically merchants have a single Item called "Discount" in their QuickBooks™ file that they associate with all of their UltraCart coupons. Click on Lists -> Item List in QuickBooks™ to review your discount items.

Creating a QuickBooks™ Discount Item

Note: Once you create a discount item, you cannot change it to another type.

  1. Go to the Lists menu and click Item List.
  2. Click Item at the bottom of the list and then click New.

  1. In the New Item window, click the Type drop-down list and choose Discount.
  2. Enter an item name, such as Discount.
  3. Enter the description that you want QuickBooks™ to put on your sales forms when you apply the discount.
  4. Enter the discount amount or percentage:

If the discount is a percentage, enter the number of the discount followed by the % symbol. For example, 5% tells QuickBooks™ to multiply the previous line by .05. In the case of downloaded UltraCart sales, you will want to leave the Amount field blank.

  1. Enter the account that you use to track discounts you give to customers. You can use either an expense account or an income account. When an income account tracks discounts on sales, the account is often called a "contra-income" account.
  2. Click the Tax Code drop-down list and choose a tax code for this item.

If you select a taxable code, the discount you specify on taxable sales is applied before the sales tax is calculated. If you select a non-taxable code, the discount is applied after the tax is calculated.

  1. Click OK or click "Next" to create another item.

Payment Method QuickBooks Codes

In UltraCart navigate to:

Configuration → Checkout (section) → Payments

For each of the payment methods you have enabled in UltraCart you will need to specify what the corresponding code is in QuickBooks™.

Run QuickBooks™ and from the drop down menus click on Customers -> Enter Sales Receipts.  You can also access this from the Home window. Click on the "Create Sales Receipts" button.

Then, click the drop-down under Payment Method

Lastly, click on the Payment Method desired or, click "Add Item" if it doesn't exist.

Deposit to Account

Also located on the UltraCart Configuration -> Payments screen is a field called QuickBooks™ deposit to account. This is the account you want the funds to be deposited into in QuickBooks™ when the sales receipts are added. By default, if this field is left blank the funds go into the "un-deposited Funds Account". The following are sections of the payments screen depicting the location of those codes.


Credit Cards

Paper Checks / Money Orders / Electronic Checks 


To specify a different account click on the Chart of Accounts in QuickBooks™ and enter the name of the account you want to deposit funds into. Please note this is the NAME of the account and not the number!

Surcharge QuickBooks™ Code

The Surcharge QuickBooks™ code depicted above for Credit Cards and COD are to allow merchants to charge for those special services payment options. These codes come from the Item List in QuickBooks™. You'll probably need to create new Items in the QuickBooks™ Item List for these surcharges. The Item List can be found under the "Lists" menu or by clicking on the "Items & Services" icon on the Home screen. You'll see a row of menus at the bottom of the Item List window. Click on the Item drop down and select "new" to create a new item. Remember to enter the "name" you assign the item into the Surcharge QuickBooks™ Code field.

Each of your unique tax jurisdictions inside of UltraCart must have a corresponding entry in the QuickBooks™ system. To make this part of the configuration easier, UltraBooks can automatically add the missing tax jurisdiction to your QuickBooks™ file during the import process if it exists in UltraCart. So it is very important to configure the QuickBooks™ Codes inside of UltraCart for each tax jurisdiction.

Shipping Method QuickBooks Codes

Each of your shipping methods needs to have a QuickBooks™ code associated with it. Click on Configuration -> Checkout  -> Shipping -> Methods. Then for each of the methods click on Edit -> Other (tab). In the QuickBooks™ code field enter the corresponding item name in QuickBooks™.

Most merchants typically set up a single Item in QuickBooks™ that represents their shipping costs such as "Shipping and Handling". Click on Lists -> Items List inside of QuickBooks™ to view your item list. Add an item for Shipping and Handling if it does not already exist. 

Tax Rate QuickBooks Codes

Click on Configuration → Sales Tax. Start drilling down into your States, then Counties, then Cities going as deep as you have configured tax . At each level configure the QuickBooks™ tax code. During the import process, UltraBooks will present you with an import dialog if a sales tax item isn't configured in QuickBooks™ and needs to be.

UltraBooks v5.0+ will automatically sync UltraCart tax fields with QuickBooks if you allow it to do so. If you wish to manage this process completely on your own, check the "Use legacy tax code method" on the UltraBooks Order Settings screen.

The typical naming convention for the code is "<state abbreviation> Sales Tax" at the state level, then "<state abbreviation> <county> Sales Tax" at the county level, and finally "<state abbreviation> <county> <city> Sales Tax" at the city level. An Example for a state sales tax code would be: "CASalesTax". For more information on configuring your sales tax within UltraCart, see page .

Setting up Sales Tax in QuickBooks

This section only discusses where to set up your Tax Items and Codes in QuickBooks™. You may want to learn more about sales tax concepts. QuickBooks™ will help you understand how QuickBooks™ uses sales tax items, rates, and codes to track the sales tax you collect from your customers and pay to your tax agency. The QuickBooks™ help section has a tutorial about tracking and paying sales tax that should be very helpful to the novice.

Turn on Sales Tax in QuickBooks

. First you need to make sure you have turned on Sales Tax if you haven't done so already.

  • Go to the Edit menu and click Preferences
  • In the Preferences window, click Sales Tax in the list on the left.
  • Click the Company Preferences tab.
  • For the question "Do You Charge Sales Tax?" select "Yes".

There are several other settings that you will need to make decisions on.

QuickBooks will insist that you set up a most common sales tax item.   This will usually be your state sales tax.   However, it may be multiple jurisdictions such as state, county, and city tax.   These will need to be created before QuickBooks will accept Sales Tax.

You may need to get expert advice for your company tax settings.

Sales Tax Codes

Depending on your state and local sales tax requirements, the preset taxable (TAX) and non-taxable (NON) sales tax codes you see may be the only ones you'll need. If your tax agency requires you to specify additional sales tax codes to track taxable and non-taxable sales, such as for non-taxable out of state sales, refer to QuickBooks™ Help for more information on how to set up additional sales tax codes and for some examples of commonly-used non-taxable sales tax codes.

To add a sales tax code
  1. Go to the Lists menu and click Sales Tax Code List.
  2. Click Sales Tax Code at the bottom of the list and then click New.

  1. In the New Sales Tax Code window, enter a sales tax code you want to use and a description for it.
  2. Choose whether the code is Taxable or Non-Taxable.
  3. Click OK.
Sales tax items, rates, and tax agencies

QuickBooks™ uses sales tax items to calculate and add sales tax charges when you make a taxable sale. When you set up a sales tax item, you assign it a sales tax rate and associate it with the tax agency to which you pay the sales tax.

  1. Still in the Sales Tax Preferences window, click the "Most common sales tax" drop-down list and choose <Add New>.  The New Item window opens with Sales Tax Item already selected in the Type drop-down list.
  2. Enter a sales tax name.  Use the name that you assigned for this location in UltraCart. This name appears as one of the choices in the Tax field on your sales forms.
  3. Enter a description for the way this sales tax item will appear as a line item on your sales forms.  The description prints on your sales forms after the final line item. You can't edit it on the forms themselves. Users frequently use the name of the sales tax item as the description.
  4. Enter the sales tax rate.  The percentage you enter is the rate you set up in UltraCart. For example, your sales tax rate for XYZ County might be 8.25% (or 8 and 1/4 cents per dollar purchased). This rate also appears on your sales forms.
  5. In the Tax Agency drop-down list, select <Add New>.  This will open the New Vendor window where you'll set up the tax agency (a vendor) to which you pay this sales tax.
  6. In the Vendor Name field, enter the name of your tax agency. For example, in California, sales tax is paid to the Board of Equalization. You can enter the other information now, such as the address and opening balance, or you can do it later.
  7. Click OK to close the New Vendor window.
  8. Click OK to close the New Item window.
  9. Repeat steps 1 through 8 for each sales tax item you need to set up for your business.
Selling to Non-taxed customers

If your out-of-state sales aren't taxed, set up a single sales tax item with a 0% rate. You also need to set up sales tax codes to track your non-taxable out-of-state sales. This is required even if you were not going to have any out-of-state sales at all.

Other Codes (Gift Certificates)

If you are selling gift certificates to customers then you will need to create an item called "Gift Certificate" which will be used when the customer redeems the certificate.

When to Import into QuickBooks

The 2nd part to the above screen allows you to indicate when (under what circumstances) you want to import orders into QuickBooks. The options are based on the state or status of your orders.

As seen above, the three options to import orders are:

  1. after shipment
  2. after payment (shipped in UltraCart/Fulfillment House) or
  3. after payment (shipped in QuickBooks)

The recommended time is after the order has shipped (and is complete). If you want to import the order after the payment is processed there are two methods depending upon whether you are shipping the order from within QuickBooks or UltraCart/Fulfillment House.

If you choose option 3; to ship after payment (shipped in QuickBooks), the order will be marked shipped in UltraCart. It will be the responsibility of QuickBooks to notify the customer of the tracking information (number). UltraBooks does not currently export tracking information back to UltraCart.

Matching UltraCart Items with QuickBooks Items

Different scenarios required different actions

It's absolutely necessary to set up UltraBooks Items that exactly match each of your UltraCart Items. When doing so, one of the following scenarios will apply:

1Your Items already exist in QuickBooks™ but not in UltraCartCreate your UltraCart Items using the exact same name you used for your QuickBooks™ Items
2Your Items already exist in UltraCart but not in QuickBooks™Create your QuickBooks™ Items using the exact same name you used for your Item ID's
3Your Items DO NOT exist in either programCreate both using the exact same name
4Your Items already exist in both UltraCart and QuickBooks™ but with different namesYou'll need to enter the exact QuickBooks™ Item name into the QuickBooks™ Class field at the Item Editor level in UltraCart (see screen shot below)

Although it's not common, Scenario #4 above does indeed occur.   One's first thought is to either change all the Item ID's in UltraCart to the same as QuickBooks™ (not recommended) or vice versa.  That is one way of doing it (for new accounts) but we have an easier solution.  You can leave the Item names in both applications as they are and simply enter the QuickBooks™ Item name into the QuickBooks™ Code field for all your UltraCart Items.  See the screen shot below for an example.

Manage Inventory in QuickBooks

Item Type - Inventory

QuickBooks™ definition: "use for goods you purchase, track as inventory, and resell"

If you plan to manage inventory via QuickBooks™ there's one important configuration. When you create a "New Item" in QuickBooks™, you not only want the name to exactly match that of the Item in UltraCart, you also need to set the Item Type as "Inventory Part".   If you do not see Inventory Part in your list below, you need to turn inventory management on within your QuickBooks.  Edit → Preferences and make the changes shown below.

Create New QuickBooks Item

In your QuickBooks program navigate to:

Home → Lists (menu item) → Item List   →

From the Item List window, click the Item button (bottom left corner) and select New from the top of the pop up list.

Select Inventory from the Type field drop-down menu.  Configure the rest of your Item details and click the OK button when finished.

How UltraCart stores data

Once an order is placed all the data is packaged up and stored separately from your configuration information. So if you configure a shipping method and use it on an order before configuring the QuickBooks™ code for that new shipping method, you will receive an error message during import about something not being configured that you can not work around without the assistance of UltraCart Support. Always configure the QuickBooks™ code for everything before using it.

Using Sequential Order Ids

If you are currently using date/time based order Ids you should switch to numerically sequential order IDs. The date/time format is too long for QuickBooks™ to store and makes matching up orders between the systems difficult. Click on Configuration -> Order ID Scheme to verify your order ID configuration. We typically recommend that merchants start at 10000 and a width of 8 on their order ID scheme.
If you decide to stick to using the date/time based order ID then UltraBooks will allow QuickBooks™ to assign the next sales receipt number automatically and will place the UltraCart order number in the memo.

Going Live with UltraBooks

After configuring all of the required Accounting Codes, the following screen will appear. Please read the disclaimer statement.

 Click the box to the left of "I accept this agreement" and then click the "Go Live" button. The following confirmation screen will appear.

After you have entered live mode, all new orders placed on the system will be eligible for export to QuickBooks™. Any existing orders placed on the system before entering live mode will not be eligible for export to QuickBooks™. If you are interested in importing all your historical order data, please contact support@ultracart.comReminder: All the required software must be installed, on the same PC as your QuickBooks™ installation, in order for UltraBooks to work properly.

Running UltraBooks

Prior to launching your UltraBooks program from your Start button, make sure you have your QuickBooks™ company file open in the background.

Start → Program files → UltraBooks → UltraBooks

Connecting to UltraCart

The application will prompt you to Authorize UltraBooks to manage orders on your behalf.  Click the Authorize Merchant Account button.

The UltraBooks application will display the UltraCart login screen.  Login, then click the green button to authorize UltraBooks.

Connecting to QuickBooks

Additional steps needed if Re-connecting Ultrabooks to Quickbooks.

Only do the following 8 steps inside this red block if UltraCart support has asked you to reconnect Quickbooks while troubleshooting an error.

  1. Log in to QuickBooks as Admin
  2. Switch to Single-User mode from the File menu
  3. Open Preferences from the Edit menu
  4. Select Integrated Applications in the list on the left
  5. Select the Company Preferences tab
  6. Select Ultrabooks in the list and click Properties
  7. Remove Ultrabooks from the Application Name list
  8. Close the Preferences menu in QuickBooks, but keep QuickBooks open

  • Ensure QuickBooks is running on your desktop.
  • Within UltraBooks, click the Connections link at the top of the screen.

  • Click the Connect to QuickBooks button.

  • QuickBooks will display a prompt to authorize UltraBooks to act on your behalf.  Adjust the settings as desired to grant UltraBooks the level of access you are comfortable with.

If you are using a multi-user QuickBooks™ environment then this application confirmation process must be completed by an Administrative level user. 

UltraBooks Settings

Every merchant should, prior to conducting their first import of orders, click the Settings button and configure their specific import options as needed.

Upon clicking the Settings button (top of screen) you will be presented with the UltraBooks Options Screen. 

Customer Settings

OptionResults (box checked)
Uppercase all name informationAll customer names will be converted to upper case during import.
Import by company name instead of last name, first name when possibleWhenever a company name is present, the record will be imported by such.
Default Terms for new customers

If you wish new customers assigned a default/initial Terms, enter it here. The value must be a valid Terms found in your QuickBooks application.

Within QuickBooks, navigate to Lists → Customer & Vendor Profile Lists → Terms List

Default Type for new customers

If you wish new customers assigned a default/initial Customer Type, enter it here. The value must be a valid Type found in your QuickBooks application.

Within QuickBooks, navigate to Lists → Customer & Vendor Profile Lists → Customer Type List

Default Sales Rep for new customers

If you wish new customers assigned a default/initial Sales Rep, enter it here. The value must be a valid Type found in your QuickBooks application.

Within QuickBooks, navigate to Lists → Customer & Vendor Profile Lists → Sales Rep List

Import individual customer sales under customer recordALL retail orders import as the same customer. You must configure the customer first.

Linking Customer to Customer Profile

An UltraCart Customer profile can be linked to a specific customer record in QuickBooks. This configuration will ensure that orders placed via the customer profile will be linked to the same customer regardless of the billing/shipping address details provided in the order. This can be useful with wholesale customers that may have many locations for which they place orders.

To add QuickBooks codes to customer profiles:

  1. Login to https://secure.ultracart.com,
  2. Navigate to Customer Profiles (Home → Operations → Customer Profiles.
  3. Edit a customer.
  4. Add a QuickBooks customer Name into the QuickBooks Code field.


OptionResults (box checked)
Canadian VersionAllows use of the Canadian version of QuickBooks™.

Order Settings

OptionResults (box checked)
Import all orders as invoicesALL orders will be imported as Invoices. (Normally, Credit Card orders are imported as Sales Receipts and Purchase Orders as invoices).
Import as Sales Orders instead of ReceiptsRecords are created as Sales Orders
Mark customers as non-taxable if no tax was charged
Mark all items as non-taxable if no tax is chargedIn most cases, this is good to have checked.
Use legacy tax code method (no tax groups)Prior versions of UltraBooks would use a single tax code to represent all taxes collected for an order. The new version uses tax groups (automatically created for you) to correctly represent the tax collected at all levels. This eliminates a host of issues the old system caused. Checking this box will use the old system.
Mark sales receipts as "to be printed"When you select Print Forms/Sales Receipts in QuickBooks™, all sales receipts will appear in a list for batch printing. You can still de-select certain ones prior to printing.
Mark Invoices as "to be printed" in QuickBooksWhen you select Print Forms/Invoices in QuickBooks™, all invoices will appear in a list for batch printing. You can still de-select certain ones prior to printing.
Use QuickBooks default item descriptorsIf the QuickBooks item has a description, then that description is used on the invoice/receipt. Otherwise, the UltraCart description is used.
Import credit card information (Requires QuickBooks™ 2006 or 2005 (R5 and later))This feature no longer works with v5.0 due to PCI compliance rules.
Import QBMS Transaction InformationThis feature is for merchants that have the QuickBooks™ Merchant Services payment gateway configured. It will import the transaction information for orders that were processed via QBMS.
Import TermsSome merchants have terms spelled out in the checkout that will become part of the order. This options will insure those terms are imported to become part of the QuickBooks™ sales record.
Import Sales RepThe Sales Rep name is configured on the Customer Profile and will be imported along with the order.
Import ClassThe Class is configured on the Customer Profile and will be imported along with the order.
Import Referral Code into MemoThis is a special field. It will not apply to 99% of merchants.
Allow QuickBooks™ to assign the invoice/sales receiptThis would be used if you are making direct entry into QuickBooks™ as-well-as importing. This will help avoid collisions.
Ignore kit component itemsThis is only used by merchants that have kits in their Item Configuration.
Use shipping date as invoice date
If ShipTo address is missing, copy BillTo to ShipToSome merchants well digital goods and have no shipping address but still charge tax. This setting will prevent missing ship to addresses for orders without any shipping information.
Map Screen Branding to QuickBooks Order ClassLegacy sites only. If you're still using the old screen branding, why haven't you upgraded to StoreFronts?? It's free, and provides a vastly superior mobile checkout experience for your customers.
Map StoreFront to QuickBooks Order ClassAssigns the StoreFront server name to your Order classes. If checked, UltraBooks will expect to find an Order class with the same name as your storefront server name (www.mystore.com, etc).
Sales Receipt/Invoice No. PrefixIf you want to precede your Sales Receipt of Invoice with a special Prefix, enter it into the box provided
Default Invoice TermsQuickBooks™ invoice form allows merchants to set various payment terms. Here you can define the Default term when the Invoice is created during import.


Templates are a new feature to v5.0 allowing for custom control of the Invoice/Receipt Address blocks.  Each ShipTo and BillTo address blocks contain 5 lines.   These templates allow you to specify each line exactly as desired.  The template tokens are surrounded by square brackets.   You may also enter other characters and symbols to be interpreted literally when the templates are processed.  A full list of template tokens is found at the bottom of the Templates screen.    As of 6/23/2017, the list of tokens was as follows, but is sure to change with time.

  • [AdvertisingSource]
  • [AutoOrderCode]
  • [AutoOrderOriginalOrderId]
  • [BillToAddress1]
  • [BillToAddress2]
  • [BillToCompany]
  • [BillToFirstName]
  • [BillToLastName]
  • [BillToTitle]
  • [ChannelPartnerCode]
  • [ChannelPartnerOrderId]
  • [Comments]
  • [CustomField1]
  • [CustomField2]
  • [CustomField3]
  • [CustomField4]
  • [CustomField5]
  • [CustomField6]
  • [CustomField7]
  • [DayPhone]
  • [Email]
  • [EveningPhone]
  • [MerchantNotes]
  • [OrderId]
  • [PlacedByUser]
  • [SalesRepCode]
  • [ScreenBrandingThemeCode]
  • [ShipToAddress1]
  • [ShipToAddress2]
  • [ShipToCompany]
  • [ShipToFirstName]
  • [ShipToLastName]
  • [ShipToTitle]
  • [StoreFront]
  • [UpsellPathCode]

Importing Orders

Importing orders is a three step process with the majority of time spent validating mappings.   

  1. Download the orders. Orders without validation errors will download into QB's. 
  2. Validate the orders. If one or more orders fails to validate for downloading, then you'll need to review the flagged orders and:
    1. Fix any issues.
    2. Revalidate the orders
    3. Re-download orders if new mappings were created
  3. Import to QuickBooks

Validating Mappings

Select the orders to validate (or all if desired), and click the Validate Mappings button.   UltraBooks will examine each order and report back any issues to correct.   If the order had no issues, a green "Ready to Import" text will appear in the Status column.  Those orders may be then imported into QuickBooks.   The reported issues are detailed, so read through any issues and take appropriate action.

The order below has issues.

Validation Notes:

  • "Look up" data is data we pull from Quickbooks, such as a listing of tax codes, vendors, and other list items created within QuickBooks.  This does not include customers.  
  • The "Sync" button is needed if you make changes to those lists, such as adding a new tax code.
  • "Mark exported" for order you wish to skip and not import into Quickbooks.  Ultrabooks automatically marks anything successfully imported.   If you wish a skip, mark it as exported and ultrabooks will remove it from the list and not download it again.

These orders are ready to import.

The 'Mark as Imported' button completely bypasses QuickBooks. It provides a means of removing unwanted orders from the UltraBooks import queue.
Be careful that you do not remove wanted orders!

Common Tasks

Re-importing an Order

UltraBooks will only export orders that are in the "completed" state (have been marked as shipped). Once exported via UltraBooks, they will be tagged as "Exported to QuickBooks™".
If, for some reason, you want to re-export an order, you'll need to reset its export status. To do so, log in to your account and navigate to:

Main Menu → Order Management → Review Orders

In the search screen, enter the order ID or whatever search criteria necessary to locate the order. Once you have located the order:

  • click on the order ID to bring the record into the order editor.
  • click on the "Edit Customer Information" link.
  • click on the "other" tab.
  • locate the "Exported to QuickBooks™" field.
  • remove the check mark by clicking on it.
  • click the Save button at the bottom of the screen.

That particular order is reset to be exported to QuickBooks™ the next time your run UltraBooks.

Importing Historical Orders

After you have done your initial configuration you can import historical orders (orders placed before UltraBooks configuration) by navigating to the Batch Order Operations page, where you will have choices for flagging order(s) for downloading by entering in either the list of orderIDs (or the range of orderIDs) the clicking the button "reset exported to QuickBooks". 

Manually Entering Orders into QuickBooks

If you're going to enter sales receipts or invoices manually into QuickBooks™ in addition to having UltraBooks import information, make certain that you do not use a number that will conflict with UltraCart orders. For instance manual sales receipts/invoices may be done in the 1000-9999 range while UltraCart orders would be in the 10000+ range. UltraBooks assumes that if the invoice/sales receipt with the same number exists then it needs to be deleted and replaced by the new one in the event that the merchant is re-downloading order information. It has no way of distinguishing something that is hand entered from something that is downloaded and dealing with it in any other way.

Processing Refunds

If the refund takes place before the order is exported to QuickBooks then the transaction will reflect it. 

If the refund takes place after the order has been exported to QB then it currently has to be manually adjusted within QuickBooks.


UltraBooks Errors and Troubleshooting

Troubleshooting UltraBooks - Ultrabooks.log

UltraBooks v5.0+ now automatically reports most errors back to ultracart.com. UltraCart system engineers will receive the errors and investigate. However, you may be contacted for your log file (ultrabooks.log) which will reside within your installation directory, C:\Program Files\UltraBooks , The log file provide the full context to what is causing the error.

Additionally, the validation and import of each order is captured and reported to ultracart.com. This information is tied to the order and viewable by UltraCart support. If you have questions about an order, contact UltraCart support and they will assist you.

If your issue requires further investigation by UltraCart Engineers, please use the "Contact UltraCart" form, located in the Help menu of the UltraBooks Application.

  1. Enter email and then enter any pertinent notes that you can provide regarding the issue.
  2. Click the "Create a Support Case" button to send the case to UltraCart Support.

Disabling UltraBooks

If you should decide to disable UltraBooks integration, navigate to;

Main Menu → Configuration → UltraBooks

Pressing the "Disable" button will prevent future downloading of orders. There will be no warning dialog for this action. However, the codes you have entered will remain intact. You can again configure UltraBooks without having to re-enter the codes (except for any additions that you may have made in Coupons, Gift Charge / Wrap Papers, Payment Methods, Shipping Methods or Tax Rates.

Frequently Asked Questions (FAQ)

Question: I am trying to log into UltraBooks but I'm getting a message that says I need to activate my IP?

Answer: When you receive this prompt, you will need to log directly into the UltraCart website and complete the IP Activation step there. Upon successfully completing the IP activation, you will be able to go back to the UltraBooks application and log in with your user.

Question: Can UltraBooks be used with cloud-hosted Quickbooks hosting services?

Yes, provided that the hosting service allows the required Utrabooks application and related software components to be installed on the cloud server. Installation of the software must be done by a server administrator, but once the installation is complete it can be used by a normal Windows user on the server.

Question: We recently upgraded Quickbooks and now we cannot get UltraBooks to connect to download orders?

If you view the UltraBooks log file and see an error like this:

Then you will need to check the "Integrated Applications Preferences" settings inside your Quickbooks account:
  1. Go to the Edit menu and click Preferences.

  2. In the Preferences window, click Integrated Applications in the list on the left.

  3. Click the Company Preferences tab.

  4. Make sure the Don't allow any application to access this company file check box is cleared.

  5. Click OK to save your preferences.

  6. Leave QuickBooks open and remain logged in as the Administrator.

  7. Open your UltraBooks application log in and click the download button to initiate the connection to Quickbooks.

  8. Switch to QuickBooks by pressing  or choosing QuickBooks from the taskbar.

    If you see a message asking whether the UltraBooks should be allowed access to your company file, click Yes.

  9. Open the integrated applications preferences

  10. Highlight UltraBooks name in the list of applications to specify that you are allowing access.

  11. Select Properties.

  12. Select the Allow this application to login automatically check box.

  13. Select the Software Access user (from step 2 above) and click OK. You can select any user with full access rights, such as "Admin".

  14. Click OK to close the preference screen.

  15. Now your add-in application will be able to access your company file data even if QuickBooks is not running.

Question: I am using inventory assemblies in QuickBooks. When I export orders from Ultracart into QuickBooks the parts of the inventory assemblies also show up on the sales receipts which is messing up my inventory counts. How can I configure the downloads so that only the item sold shows up?

Answer: Launch UltraBooks application then click on the options button and check the box "Ignore Kit Components". Click the save button. Close UltraBooks and relaunch it to have the save changes take affect.

Question: We recently updated our Quickbooks and we have multiple people in our organization using UltraBooks to import our orders and recently one of our bookkeepers is unable to connect?

Answer: Quickbooks has a limitation restricting 3rd party applications connecting to QB's where the QB's server has multiple QB files open at the same time.  
                See: http://www.smartvault.com/support/kb305-error-0x80040438-the-application-trying-to-connect-to-quickbooks-is-not-supported-while-multiple-instances-of-quickbooks-are-running/

                 Example of the error captured in the log:

Question: We have multiple ultracart accounts that are linked together, can I initiate the order download for each account at once or do I need to log into each account separately via the UltraBooks application?

Answer: You will need to log into each account - one-at-a-time - and perform the order download/import into your Quickbooks account. 

Question: I received the following error when trying to download orders into Quickbooks. Error! A system error has prevented 'Import Order' from completing. Please contact UltraCart Support. Error: There was an error when saving a SalesReceipt. QuickBooks error message: This Merchant Account Services transaction must have an Authorization Code. It looks like it's coming from a specific order, *****-00046023, that doesn't have an authorization code. Looking at the backend of QBMS, there was no authorization code issued for the payment. I don't know why as all other orders have one. Is it possible to modify the backend of the order with some random numbers to get it to download? Or do I have to do it manually? I can't download any other orders as this one is blocking me from doing so.

Answer: This is a known issue with the Quickbooks Payment Gateway.  For some unknown reason, they just don't provide an auth code at times.  We've talked it through with them numerous times and they can't/won't fix it. We have a field you can supply a dummy value to make the import work.  See the screenshot below.  The field for you to enter the dummy value is located at the bottom of the order settings screen in the UltraBooks v5.* application: