Home News Order Support Download Links About

OfficeQ6               (Jan 2010)
Customers / Sale Cycle

  This section contains descriptions and field lists for record types involved in the sales cycle - including: customers, customer types, jobs, job types, price levels, sales taxes, and customer messages.

Customers and jobs are treated almost identically - jobs are nested under customers and have a few additional fields. There is a strong similarity between customers, vendors, employees, and other names - often referred to as 'entities'. Many of the fields are identical between them.


Contents

Customers / Jobs
Customer Types
Job Types
Price Levels
Sales Taxes
Customer Messages

Back to OfficeQ Overview

Customers / Jobs
 
Customers are companies / people and to which services and products are sold. A current balance (amount of money they currently owe) is maintained for each customer.  This record type has lots of field but most of them are 'inert' (don't affect balances or other processing).

Customers and Jobs are treated almost identically in QuickBooks®. Jobs can be either jobs or projects depending on the type of business. Each job belongs to a customer. Jobs can be nested 4 levels deep under a customer. The sEntityType field can be used to distinguish between customers and jobs.

Eight transaction types typically involve a customer or job:

    cash sale (CashSale), estimate (Estimate), sales order (SalOrder), invoice (CustInvc),
    statement charge (CustChrg), payment receipt (CustPymt), card refund (CustRfnd),
    credit memo (CustCred)

Fields in record type: CustJob

Field Name

Type

How
Used

Description

nKey

Long

PKey

Unique customer or job record identifier

sListID

S36

Req

Unique record identifier within QB file

sName

S41

Req

Short name of this customer or job Does not include colon separators or names of parent jobs or customer.

sFullName

S209

Req

Full name with colon separators - w/ name(s) of parents if any

nNestLevel

Long

OptDft0

Depth of nesting. Parent (root) if missing

kParent

Long

FKeyOpt

Key of parent in this set of records This does not exist for customers, only for jobs. If top level job, this is the customer's key. If nested job, this is it's parent job's key. There is a maximum of 4 nested levels of jobs under each customer.

sEntityType

S8

Req

Entity type - always "Customer" or "Job"

sCompanyName

S41

Opt

Name of company used on invoices and other forms (box Company Name)

sSalutation

S15

Opt

Salutation (Mr., Mrs., etc. of contact)

sFirstName

S25

Opt

First name of person

sMidName

S5

Opt

Person's middle name or initial

sLastName

S25

Opt

Person's last name

sBillAddr1

S41

Opt

Billing address line1

sBillAddr2

S41

Opt

Billing address line2

sBillAddr3

S41

Opt

Billing address line3

sBillAddr4

S41

Opt

Billing address line4

sBillAddr5

S41

Opt

Billing address line5 - sometimes combines city, state, and zip code

sBillCity

S31

Opt

Billing address - city

sBillState

S21

Opt

Billing address - state

sBillPostalCode

S13

Opt

Billing address - zip or postal code

sBillCountry

S31

Opt

Billing address - country

sBillAddrNote

S41

Opt

Billing address - miscellaneous note

sShipAddr1

S41

Opt

Shipping address line1

sShipAddr2

S41

Opt

Shipping address line2

sShipAddr3

S41

Opt

Shipping address line3

sShipAddr4

S41

Opt

Shipping address line4

sShipAddr5

S41

Opt

Shipping address line5 - sometimes combines city, state, and zip code

sShipCity

S31

Opt

Shipping address - city

sShipState

S21

Opt

Shipping address - state

sShipPostalCode

S13

Opt

Shipping address - zip or postal code

sShipCountry

S31

Opt

Shipping address - country

sShipAddrNote

S41

Opt

Shipping address - miscellaneous note

sPhone

S21

Opt

Main telephone number

sPhone2

S21

Opt

Second telephone number

sPhoneFax

S21

Opt

Fax telephone number

sEmail

S1023

Opt

Email address or customer

sContact

S41

Opt

Primary contact name

sContact2

S41

Opt

Secondary contact name

kCustType

Long

FKeyOpt

Key of customer type (box Type). Applies to Customer only.

kTerms

Long

FKeyOpt

Key of payment terms for payments from this customer (box Terms). Applies to Customer only.

kSalesRep

Long

FKeyOpt

Key of sales rep assigned to this account

mBalance

Curr

Opt

Current balance owed for this customer or job only by this customer. Not visible on form.

mTotalBalance

Curr

Opt

Total balance for customer - including all jobs

kSalesTax

Long

FKeyOpt

Sales tax code - indicating if taxable and why

kTaxItem

Long

FKeyOpt

Key of sales tax (in inventory items) to use for this customer item for this customer (box Tax Item). Applies to Customer only.

sSalesTaxCountry

S9

Opt

Identifies the country collecting sales taxes for this customer. One of: Australia, Canada, UK. (non US only)

sResaleNum

S15

Opt

State resale certificate number when sales tax is not charged. Equivalent to Canadian sBusinessNum - but both never occur simultaneously.

sAccount

S99

Opt

Customer's account number (not an account in chart of accounts)

mCreditLimit

Curr

Opt

Maximum credit limit for this customer. Applies to Customer only.

kPayMeth

Long

FKeyOpt

Key of payment method customer normally uses

sCardNum

S25

Opt

Credit card number

sCardMonth

Long

Opt

Month credit card expires (such as 02, 11)

sCardYear

Long

Opt

Year credit card expires (such as 2009)

sCardName

S41

Opt

Name of credit card

sCardAddr

S41

Opt

Address associated with credit card

sCardPostalCode

S41

Opt

Postal code associated with credit card

sJobStatus

S12

Opt

Current job status (box Job Status) Applies to job only. One of: "Pending", "Awarded", "In progress", "Closed", "Not awarded"

dJobStart

Date

Opt

Date job was started or will start (box Start Date) Applies to job only.

dJobProjectedEnd

Date

Opt

Date job was last projected to be completed (box Projected End) Applies to job only.

dJobActualEnd

Date

Opt

Date job was actually completed (box End Date) Applies to job only.

sJobDescr

S99

Opt

Description of job Applies to job only.

kJobType

Long

FKeyOpt

Key of job type Applies to job only.

sNotes

Memo

Opt

Memo notes about this customer or job Unlimited length.

kPriceLevel

Long

FKeyOpt

Price level for this customer or job

sTaxRegNum

S30

Opt

Tax registration number (non US only)

kCurrency

Long

Opt

Key of currency used for this customer

nCustomCnt

Long

OptDft0

Count of custom fields (0 to 7). Each will have a label and field value. Indexes of labels and field values run from 1 to 15 - although not all are used.

sCustomLabel1...

S31

Opt

Custom field label - number corresponds to field

sCustomLabel15

S31

Opt

Custom field label - number corresponds to field

sCustomField1...

S30

Opt

Custom field value used in customer or job - number corresponds to field

sCustomField15

S30

Opt

Custom field value used in customer or job - number corresponds to field

bInactive

Bool

OptDftF

T if currently inactive (Inactive checkbox is checked)

Contents of this page
OfficeQ Overview


Customer Types
 
Customer types are only used to categorize customers for reporting purposes. They do not affect transaction processing.

Customer types can be nested up to 4 deep. If the kParent field is 0 (does not exist), then it is a root customer type and does not have a parent.

Fields in record type: CustType

Field Name

Type

How
Used

Description

nKey

Long

PKey

Unique customer type 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 customer type Does not include colon separators or names of parent customer type(s).

sFullName

S159

Req

Full name with colon separators - w/ name(s) of parents if any

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


Job Types
 
Job types are used to categorize jobs for reporting purposes - they do not affect transaction processing.

Job types can be nested up to 4 deep. If the kParent field is 0 (does not exist), then it is a root job type and does not have a parent.

Fields in record type: JobType

Field Name

Type

How
Used

Description

nKey

Long

PKey

Unique record identifier within this record type

sListID

S36

Req

Unique record identifier within QuickBooks file. object ID and creation time, separated by a hyphen.

sName

S31

Req

Short name Does not include colon separators or names of parent job type(s).

sFullName

S159

Req

Full name with colon separators - w/ name(s) of parents if any

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


Price Levels
 
Price levels are for setting custom pricing for different customers or jobs. Price levels are created first - then associated with particular customers or jobs. Whenever a sales type transaction is created with that customer or job - a lookup is done and the correct price is entered for each transaction line.

There are 2 types of price levels - PerItem and FixedPercentage. With PerItem price levels, a hard dollar amount is provided for each item of interest - multiple items are listed.  With FixedPercentage, the normal price is adjusted down (or up) as specified and the price level applies to any item.

Fields in record type: PriceLevel

Field Name

Type

How
Used

Description

nKey

Long

PKey

Unique price level 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

Name given to price level

sPriceLevelType

S15

Req

Type of price level. Either "PerItem" or "FixedPercentage"

rAdjustPercent

Doub

Opt

Positive or negative fixed percentage adjustment to apply to items. Only applies if field sPriceLevelType is FixedPercentage.

nGroupCnt

Long

FKeyOpt

Count of items (per item only). This is the occurence count of the kItem and rUnitPrice fields below. The first item / price will be named kItem1 with price rUnitPrice1. Subsequent items will have suffixes of 2, 3, etc. - up to nGroupCnt.

kItem...

Long

FKeyOpt

nKey of item in InvtItem that this discount applies to

rUnitPrice...

Curr

Opt

Price of item to use as basis for price level adjustment, or percentage

kCurrency

Long

FKeyOpt

Key of currency used for this price level

bInactive

Bool

Opt

T if this price level is not currently active

Contents of this page
OfficeQ Overview


Sales Taxes
 
Sales Taxes are taxes that are collected when a sale takes place.  The money collected is then remitted to a tax agency on a regular schedule.  Note that the main sales tax items and item groups are in the InvtItem table.

Sales tax codes here are used to distinguish taxable from non-taxable sales.  For example, some customers and some inventory items are non taxable and an appropriate sales tax code is assigned to them.

For Canadian QuickBooks, this table is also used for purchase and sale tax separation.

Fields in record type: SalesTax

Field Name

Type

How
Used

Description

nKey

Long

PKey

Unique sales tax record identifier. Note that individual sales tax items and groups of sales tax items are contained in InvtItems. See Intuit help for details.

sListID

S36

Req

Unique record identifier within QuickBooks file

sName

S3

Req

Short name that appears on documents to mark tax status

bTaxable

Bool

Opt

T if this tax item is tracking a chargeable sales tax

sDescr

S31

Opt

Description of this sales tax

kItemPurchTax

Long

Opt

Tax item for purchases (non US only)

kItemSaleTax

Long

Opt

Tax item for sales (non US only)

bInactive

Bool

Opt

T if this sales tax is not currently active

Contents of this page
OfficeQ Overview


Customer Messages
 
Customer messages are messages that can be reused in different customer transactions. Each message does not have a real name - the name field is the text of the message itself.

They typically are printed at the bottom of sales invoices. They exist primarily to maintain uniformity and speed data entry. They do not affect transaction processing.

Fields in record type: CustMessage

Field Name

Type

How
Used

Description

nKey

Long

PKey

Unique customer message record identifier

sListID

S36

Req

Unique record identifier within QuickBooks file. Combination of object ID and creation time, separated by a hyphen.

sName

S101

Req

The message

bInactive

Bool

OptDftF

T if currently inactive (Inactive checkbox is checked)

Contents of this page
OfficeQ Overview