m m
Technical Support
m

Detailed Field Listings - Accounts, Classes, etc.

This section contains descriptions of general accounting record types, including accounts, classes, currencies, terms, and budgets.

Of the record types in this section, accounts are the most important. Classes generally need to be used for all transactions to be of value in reports. Currency is new as of QuickBooks 2009.

Terms are also included here because they are used for both customers (sale cycle) and vendors (purchase cycle).

Contents
Accounts
Classes
Currency
Terms
Budgets

Back to OfficeQ Overview

Accounts

Accounts make up the general ledger and are the most important record type in QuickBooks. Each account acts as an accumulator for transactions posted to it. Asset, Liability, and Equity type accounts have perpetual balances. Balances for Income and Expense type accounts are theoretically reset to zero at the end of each accounting period, with the difference posted to the Equity account.

QuickBooks uses nested accounts, which can be up to up to 5 levels deep. The balance of any nested account is automatically summed to it's parent.

There are 15 types of general ledger accounts, broken down as follows:

Asset: Bank, Accounts Receivable, Other Current Asset (which normally includes inventory items), Fixed Asset, Other Asset.

Liability: Accounts Payable, Credit Card, Current Liability, Long Term Liability.

Equity: Equity

Income: Income, Other Income

Expense: Expense, Other Expense, Cost of Goods Sold (similar to type expense)

Accounts can optionally use account numbers. There is an option in the file preferences to require account numbers when an account is entered, but in most files it is not used.

Fields in record type: Account
Field Name Type How Used Description
nKey Long PKey Unique account record identifier
sListID S36 Req Unique identifier used with QBXML.
sName S31 Req Short account name. Does not include colon separators or names of parent accounts.
sFullName S159 Req Full name with colon separators and name(s) of parents - if any. Field sName and sFullName will always have the same value if the account is not nested.
nReportSort Long Opt Sort order used for nested level reporting,
sAcctType S12 Req Account type One of: "Bank", "AcctRec", "OthCurrAsset", "FixedAsset", "OthAsset", "AcctPay", "CredCard", "OthCurrLiab", "LongTermLiab", "Equity", "Income", "COGS", "Expense", "OthIncome", "OthExpense", "NonPosting".
sAcctSort S8 Req String that can be used to sort accounts in same order QB does. Mainly useful for reports.

Examples: Bank type accounts = "11+", Other Asset type accounts = "19+", Income type accounts = "53-". Always 2 decimal digits, followed by a + or -. The + indicates that the account normally has a debit balance, - indicates normally credit balance.
sSpecAcct S16 Opt Predesignated special account Special accounts are 'marked' accounts QB uses for processing - such as where to debit / credit accounts receivable.

One of: "AcctPay", "AcctRec", "COGS", "CondensedItem", "DirectDepLiab", "Estimates", "InvtAsset", "OpeningBalEquity", "PayrollExp", "PayrollLiab", "PettyCash", "PurchOrd", "ReconcilDiff", "RetEarnings", "SalesOrders", "SalesTaxPay", "UncatExpense", "UncatIncome", "UndepFunds"
bTaxAcct Bool OptDftF T if this is a special tax account (non US only)
nNestLevel Long OptDft0 Depth of nesting If missing, this is a root (has no parent) account.
kParent Long FKeyOpt Key of parent account - which is in this set of records
sDescr S200 Opt Description of account
sAcctNum S7 Opt Account number - optional There is a settings flag to indicate if account numbers are being used (bAcctNumbers). If account numbers are not being used, there is no guarantee that each account will have a number. Any numbers that exist are returned, even if not used - however there is no enforced scheme for what the user entered numbers are.
sBankNumber S25 Opt BankNumber for Bank type accounts. This field may also appear in the QuickBooks user interface as Note or Account No. - depending on the type of account.
mBalance Curr OptDft0 Current balance of account - the sum of all debits and credits to this account for all transactions posted to it. OfficeQ6 also exports the current balance (total sum) of income and expense accounts - even though they are never displayed by QuickBooks.
mTotalBalance Curr OptDft0 Current combined balance for this account and all subordinate accounts.
kSalesTax Long FKeyOpt Sales tax associated with this account (non US only)
nTaxLine Long Opt Income tax form line assigned to account. This is the number for a specific line on a specific U.S. income tax form. (US only).
sTaxLineName S255 Opt Name of tax line from tax form
sCashFlowType S13 Opt How this account is classified for cash flow reporting. One of: "None", "Operating", "Investing", "Financing", "NotApplicable"
kCurrency Long FKeyOpt Currency associated with this account. Note that often the currency will not display in the QuickBooks user interface, but will be extracted anyway. This is because it can only be set at the time the account is created.
bInactive Bool OptDftF T if currently inactive. (Inactive checkbox is checked)

Contents of this page
OfficeQ Overview


Classes

Classes are used in QuickBooks to group transactions so reports can have dollar amounts separated by department, division, location, or any other user defined grouping.

If and how they are used is not critical and there are no enforcement mechanisms in QuickBooks to ensure they are entered. In most of the data files we have examined, they are either not used at all or used only on some transactions - which makes them useless for reporting.

Fields in record type: Class
Field Name Type How Used Description
nKey Long PKey Unique class record identifier
sListID S36 Req Unique record identifier within QuickBooks file. Combination of object ID and creation time, separated by a hyphen.
sName S31 Req Short name of this class Does not include colon separators or names of parent classes.
sFullName S159 Req Full name with colon separators - w/ name(s) of parents if any
nReportSort Long Opt Sort order used for nested level reporting
kParent Long FKeyOpt Key of parent in this set of records
nNestLevel Long OptDft0 Depth of nesting Parent (root) if missing
bInactive Bool OptDftF T if currently inactive (Inactive checkbox is checked)

Contents of this page
OfficeQ Overview


Currencies

Currencies are new - as of QuickBooks  2009.  They are for companies that do international business - allowing transactions entered using a foreign currency.  Users can assign a currency to customers, vendors, price levels, and accounts of type bank, credit card, accounts receivable, and accounts payable.  (Other account types always use the home currency).

Money amounts used in transactions are always stored only in the home currency.  When transactions are entered, the money amounts are immediately converted from the foreign currency to the home currency at whatever exchange rate was applicable as of the date the transaction occurred.

Very few of the U.S. data files we have seen use multiple currencies (which will probably change in the future), but they are prevalent in Canadian versions. Note also that additional Intuit services, such as payroll and online banking, are only available if the home currency is the US dollar.

Fields in record type: Currency
Field Name Type How Used Description
nKey Long FKeyReq Unique currency record identifier
sListID S36 Req Unique record identifier within QuickBooks file. Combination of object ID and creation time.
sName S64 Req Unique name of currency. For built in currencies, this is the internationally accepted name and can't be edited.
sCurrencyCode S3 Opt 3 character ISO 4217 recognized code for this currency
sFmtThousSep S11 Opt Name of character used to separate the thousandth's place from the next thousand. One of: Comma, Period, Space, Apostrophe.
sFmtThousSepGrp S11 Opt How the display of currency value is grouped. One of: XX_XXX_XXX or X_XX_XX_XXX
nDecPlaces Long Opt Count of decimals displayed to right of decimal point. Either 0 or 2.
sDecSeparator S6 Opt Character used to display decimal point. One of: Period or Comma.
bUserDefined Bool Opt T if this currency was entered by a QuickBooks user, as opposed to being supplied by Intuit as built-in.
rExchangeRate Doub Opt Most recent market price used to exchange this currency with the home currency.
dRateAsOf Date Opt Date rExchangeRate became effective
bInactive Bool Opt T if this currency is inactive

Contents of this page
OfficeQ Overview


Terms

Terms are payment terms that can apply to both receivables paid by customers and payables paid to vendors.

There are 2 categories of terms - date driven, where payment is due by a certain day of the month, and days driven where payment is due within a specific number of days.

Terms affect transaction processing in that dates are set in transaction documents based on terms that were selected when the document was initially created.

Fields in record type: Terms
Field Name Type How Used Description
nKey Long PKey Unique terms record identifier (used in sales and purchases)
sListID S36 Req Unique name used in QBXML API
sName S31 Req Name used for terms
nDueDays Long Opt Number of days in which payment is due. If bDateDriven = T, this is the day of the month on which payment is due.
nDiscDays Long Opt Number of days by which early payment gets the rDiscPercent discount. If bDateDriven = T, this is the day of the month by which payment must be made to receive the discount.
rDiscPercent Doub Opt Discount percentage for early payment - could be %
bDateDriven Bool Opt T if for date driven terms where payment is to be made by a certain date of the month. Otherwise, payment is to be made within a specific number of days.
nDueBefore Long Opt Day of month the payment is due
nDiscBefore Long Opt If invoice or bill is issued within this many days of it's due date - payment will not be due until the following month. (Date Driven only).
nMinDays Long Opt Due the next month if payment is issued within ___ days of due date. Applies to date driven (bDateDriven = T) only.
bInactive Bool OptDftF T if currently inactive (Inactive checkbox is checked)

Contents of this page
OfficeQ Overview


Budgets

Budgets are used to enter projected income and expenses or projected account balances by month.

Each budget record has projected amounts for a full year. The kAcct and nYear fields are always present. All months do not need to be filled in.

Budget amounts do not affect transaction processing. They are only used for reports and graphs. Also note that budgets take a lot of extra time to extract and may be eliminated in future versions of OfficeQ6.

Fields in record type: Budgets
Field Name Type How Used Description
nKey Long PKey Unique budget item identifier - never externally referenced
nYear Long Req Year
kAcct Long FKeyReq Key of account these budget amounts are for.
mPeriod1 Curr Opt Budgeted dollar amount - January
mPeriod2 Curr Opt Budgeted dollar amount - February
mPeriod3 Curr Opt Budgeted dollar amount - March
mPeriod4 Curr Opt Budgeted dollar amount - April
mPeriod5 Curr Opt Budgeted dollar amount - May
mPeriod6 Curr Opt Budgeted dollar amount - June
mPeriod7 Curr Opt Budgeted dollar amount - July
mPeriod8 Curr Opt Budgeted dollar amount - August
mPeriod9 Curr Opt Budgeted dollar amount - September
mPeriod10 Curr Opt Budgeted dollar amount - October
mPeriod11 Curr Opt Budgeted dollar amount - November
mPeriod12 Curr Opt Budgeted dollar amount - December

Contents of this page
OfficeQ Overview