ODBC Driver for QuickBooks

Build 24.0.9060

BillExpenseItems

Create, update, delete, and query QuickBooks Bill Expense Line Items.

Table Specific Information

Bills may be inserted, queried, or updated via the Bills, BillExpenseItems, or BillLineItems tables. Bills may be deleted by using the Bills table.

This table has a Custom Fields column. See the Custom Fields page for more information.

Select

By default, SupportEnhancedSQL is set to true, and the following will be honored if present. Other filters will be executed client side. If SupportEnhancedSQL is set to false, only the following filters will be honored.

QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Bills are Id, Date, ReferenceNumber, VendorName, VendorId, AccountsPayable, AccountsPayableId, IsPaid, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:

SELECT * FROM Bills WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'

Insert

You can also use Bills and BillExpenseItems to insert a Bill.

To add a Bill, specify a Vendor, Date, and at least one Expense or Line Item. All Expense Line Item columns can be used for inserting multiple expense Line Items for a new Bill transaction. For example, the following will insert a new Bill with two Expense Line Items:

INSERT INTO BillExpenseItems#TEMP (VendorName, Date, ExpenseAccount, ExpenseAmount) VALUES ('Cal Telephone', '1/1/2011', 'Utilities:Telephone', 52.25)
INSERT INTO BillExpenseItems#TEMP (VendorName, Date, ExpenseAccount, ExpenseAmount) VALUES ('Cal Telephone', '1/1/2011', 'Professional Fees:Accounting', 235.87)
INSERT INTO BillExpenseItems (VendorName, Date, ExpenseAccount, ExpenseAmount) SELECT VendorName, Date, ExpenseAccount, ExpenseAmount FROM BillExpenseItems#TEMP

Columns

Name Type ReadOnly References ColumnSize Description
ID [KEY] String True 255

The unique identifier in the format BillId|ExpenseLineId.

BillId String False

Bills.ID

255

The bill identifier.

VendorName String False 1000

Vendor for this transaction. Either VenderName or VendorId must have a value when inserting.

VendorId String False

Vendors.ID

255

Vendor Id for this transaction. Either VenderName or VendorId must have a value when inserting.

ReferenceNumber String False 21

Reference number for the transaction.

Date Date False

Date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value.

TxnNumber Integer True

The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id.

DueDate Date False

Date when payment is due.

Terms String False 100

Reference to terms of payment.

TermsId String False 255

Reference Id for the terms of payment.

AccountsPayable String False 1000

Reference to the accounts-payable account.

AccountsPayableId String False

Accounts.ID

255

Reference Id for the accounts-payable account.

Amount Decimal True

Amount of the transaction. This is calculated by QuickBooks based on the line items or expense line items.

Memo String False 5000

Memo for the transaction.

IsPaid Boolean True

Indicates whether this bill has been paid.

IsTaxIncluded Boolean False

Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks.

ExpenseLineId String True 255

The expense line item identifier.

ExpenseLineNumber String True 255

The expense line number.

ExpenseAccount String False 1000

The account name for this expense line. ExpenseAccount or ExpenseAccountId must have a value when inserting.

ExpenseAccountId String False

Accounts.ID

255

The account Id for this expense line. ExpenseAccount or ExpenseAccountId must have a value when inserting.

ExpenseAmount Decimal False

The total amount of this expense line.

ExpenseBillableStatus String False 13

The billing status of this expense line.

The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED.

ExpenseCustomer String False 1000

The customer associated with this expense line.

ExpenseCustomerId String False

Customers.ID

255

The customer associated with this expense line.

ExpenseClass String False 1000

The class name of this expense.

ExpenseClassId String False

Class.ID

255

The class Id of this expense.

ExpenseMemo String False 5000

A memo for this expense line.

ExpenseTaxCode String False 3

Sales tax information for this item (taxable or non-taxable).

ExpenseTaxCodeId String False

SalesTaxCodes.ID

255

Sales tax information for this item (taxable or non-taxable).

ExpenseCustomFields String True

The custom fields for this expense item.

ExchangeRate Double False

Exchange Rate is the market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the 'home' currency.

TimeModified Datetime True

When the Bill was last modified.

TimeCreated Datetime True

When the Bill was created.

OpenAmount Decimal True

The current balance for the Vendor

Pseudo-Columns

Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
LinkToTxnId String

A transaction to link the bill to. This transaction must be a purchase order. You will get a run-time error if the transaction specified is already closed or fully received. This is only available on insert and requires a minimum QBXML Version 4.0.

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9060