![]() |
![]() |
Technical Support
|
![]() |
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).
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.
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) |
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.
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) |
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.
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 |
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.
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) |
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.
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 |