Learn basic bookkeeping and QuickBooks concepts

The QuickBooks Online Accounting API lets you access most of the customer-facing features small businesses use to do their accounting.

In this guide, we’ll cover basic accounting concepts as well as features that are unique to QuickBooks Online.

If you’re looking for info about our API, resources, and how it’s modeled, here’s an overview of the QuickBooks Online Accounting API.

Basic bookkeeping in QuickBooks Online

QuickBooks Online gives users powerful tools to track all of their financial activities. Here’s an overview of a few fundamental features small businesses use everyday in QuickBooks:

QuickBooks is based on double-entry bookkeeping. This is a very common accounting system in the US and many other countries. With double-entry bookkeeping, all records involve two (or more) related accounts. Accounts serve as reference points for transactions. Any time a user creates or updates a record in QuickBooks, it increases the value of one account and decreases the same value of a corresponding account.

Here are a few simple examples:

Tip: These increases and decreases are often called “debits” and “credits”. Debits and credits can either increase or decrease the value of an account. What gets debited or credited, however, depends on the types of transactions and accounts involved. Learn more about debits and credits.

Since double-entry bookkeeping tracks both increases and decreases, businesses get a comprehensive view of their finances. Learn more about double-entry bookkeeping.

Basic accounting concepts

We’ve given you a simplified overview of bookkeeping in QuickBooks Online. You may want to your app around specific accounting workflows.

If you need more resources, here are some recommendations:

Concepts unique to QuickBooks Online

As you develop, you’ll encounter many accounting concepts. Most are based on general accounting knowledge. However, some are specific to or behave in ways that are unique to QuickBooks Online.

Here’s an overview of QuickBooks-specific concepts.


Company files

When users first sign up for QuickBooks Online, they create what’s called a “company file.” They use company files to organize all of their business activities and accounting data. Think of them like “profiles” for their business.

Company files store everything related to QuickBooks. This includes transactions, lists, sales forms, customer profiles, financial reports, and much more. Company files usually track the activities for a single business. It’s uncommon for a business to have multiple company files. Learn more about company files.

How this relates to your app

All QuickBooks Online users have a company file. It’s where all the accounting happens.

When users connect to your app and authorize it, they’re connecting their company files. This links it and it’s accounting data to your app. It’s also what gives your app the access and refresh tokens needed to make API calls.

Tip: In our docs, we sometimes refer to company files as a user’s “company.”

Company settings

Company settings define the attributes of a QuickBooks Online company file. This includes settings like the default currency or accounts for features, as well as preferences and customizations like personalized account names.

Users adjust their company settings in QuickBooks Online by selecting the gear icon and then Account and settings.

How this relates to your app

While users call this their “company settings,” the corresponding APIs use different names.

Use the Preferences and CompanyInfo entities to adjust company settings.

Familiarize yourself with the available company settings - they have a big impact on other APIs’ behaviors. We note these effects in the API Explorer.

Here are common preferences to be aware of:


Financial accounts

Financial accounts (or just “accounts”) are how QuickBooks categorizes and organizes transactions.

The list of accounts a business uses to track transactions is known as the chart of accounts. While there are many common accounts, each business will have a unique chart of accounts based on their industry and needs. There are five basic account types:

Each account plays a role in recording transactions. Income and expense accounts track day-to-day business activities. Most count transaction totals while others, like the sales tax account, only track parts of the total.

On the other hand, asset and liability accounts record what a business owns or owes. They track and record the monetary value of things a business holds onto for a long time, like equipment or loans. These entries look similar to transactions, but they’re fundamentally different.

Accounts can be further grouped by the financial report they appear on.

Balance sheet report

Balance sheets look at everything a business owns. The balance sheet gives business owners a snapshot of their business’ total value (i.e. financial position) at a particular moment in time. Asset, liability, and equity accounts appear on the balance sheet. Learn more about the BalanceSheet entity.

Profit and loss report

Profit and loss reports look at income from sales and expenses from running day-to-day operations. This summarizes a business’ performance. Its view is narrower than a balance sheet - it only looks at immediate income and expenses, not long-term assets or liabilities.

Income and expense accounts appear on the profit and loss report. Learn more about the ProfitAndLoss entity.

How this relates to your app

One of your apps first and most critical integration points is account mapping. Your app’s financial accounts need to map to your end-users’ QuickBooks Online chart of accounts.


Use the Account entity to access a users’ chart of accounts. Individual accounts are organized according to their Account.Classification and Account.AccountType attributes.


People (customers and vendors)

Businesses constantly interact with two groups of people: customers (who they sell products and services to) and vendors (who they buy products or services from, including contractors).

QuickBooks keeps customer and vendor lists so businesses always know who’s connected to each transaction.

How this relates to your app

Design your app so it can track your end-user’s existing customers and vendors.

Use the Customer entity to access the customer list.

Use the Vendor entity to access the vendor list.

Tip: Our API always refers to customers as “customers.” But keep in mind, QuickBooks Online users can customize and rename them. You can check the AccountingInfoPrefs.CustomerTerminology attribute of the Preferences endpoint to see how users define their “customers.”

Inventory

Some QuickBooks Online SKUs come with inventory tracking and management features.

Inventory are the products a business sells and tracks quantities for in QuickBooks. Some businesses sell items they don’t track quantities for - these are considered non-inventory. This distinction is important since inventory items are tied to different types of accounts.

Learn more about how inventory works in QuickBooks.

How this relates to your app

Depending on how your app manages inventory, and if your end-users have a QuickBooks Online SKU with inventory features, there are two ways to integrate:

QuickBooks inventory management has several features:

What’s supported What’s not supported
  • FIFO inventory accounting
  • Tracking quantity on hand
  • Categories to four levels
  • Taxable status of the item
  • Price and cost
  • LIFO or Average Cost inventory accounting
  • Tracking individual items, for example, by serial number
  • Tracking by different stock locations

Use the Preferences.ProductAndServicesPrefs entity attribute to enable inventory management. This isn’t enabled by default.

Then set these flags to true:

After enabling inventory management, add individual inventory items as Item entity to create individual inventory items.


Sales and Purchase tax

Taxes are tricky. Familiarize yourself with your region’s tax laws so you can utilize tax features correctly.

How this relates to your app

QuickBooks Online handles sales and purchase taxes in particular ways. The QuickBooks Online API tax model is a set of resources for managing taxes—collected or paid—for transactions such as invoices, bills, purchase orders, and sales receipts.

Refer to the TaxCode, TaxRate, and TaxAgency entities.

These entities behave differently between US and non-US editions of QuickBooks Online.

Basic accounting workflows in QuickBooks Online

As an app developer, you may want to create tools that streamline one or more accounting tasks into a seamless experience for end-users.

Accounting involves many interrelated tasks that follow specific sequences. We can call these groups of tasks “workflows.” Some workflows involve only a few tasks while others involve more than a dozen.

We’ve created guides for common workflows you can build your app around.