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 | 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. |