Invoices
Create, update, delete, and query QuickBooks Invoices.
Table Specific Information
Invoices may be inserted, queried, or updated via the Invoices or InvoiceLineItems tables. Invoices may be deleted by using the Invoices 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 Invoices are Id, Date, TimeModified, ReferenceNumber, CustomerName, CustomerId, IsPaid, Account, and AccountId. 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 Invoices WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'
Insert
To add an Invoice, specify a Customer and at least one Line Item. The ItemAggregate columns may be used to specify an XML aggregate of Line Item data. The columns that may be used in these aggregates are defined in the InvoiceLineItems tables and it starts with Item. For example, the following will insert a new Invoice with two Line Items:
INSERT INTO Invoices (CustomerName, ItemAggregate) VALUES ('Abercrombie, Kristy', '<InvoiceLineItems> <Row><ItemName>Repairs</ItemName><ItemQuantity>1</ItemQuantity></Row> <Row><ItemName>Removal</ItemName><ItemQuantity>2</ItemQuantity></Row> </InvoiceLineItems>')
To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name | Type | ReadOnly | References | ColumnSize | Description |
ID [KEY] | String | True | 255 |
The unique identifier. | |
ReferenceNumber | String | False | 21 |
The transaction reference number. | |
TxnNumber | Integer | True |
The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. | ||
CustomerName | String | False | 1000 |
The name of the customer on the invoice. Either CustomerName or CustomerId must have a value when inserting. | |
CustomerId | String | False |
Customers.ID | 255 |
The Id of the customer on the invoice. Alternatively give this field a value when inserting instead of CustomerName. |
Account | String | False | 1000 |
A reference to the accounts-receivable account where the money received from this transaction will be deposited. | |
AccountId | String | False |
Accounts.ID | 255 |
A reference to the accounts-receivable account where the money received from this transaction will be deposited. |
Date | Date | False |
The 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. | ||
ShipMethod | String | False | 1000 |
The shipping method associated with the invoice. | |
ShipMethodId | String | False | 255 |
The shipping method associated with the invoice. | |
ShipDate | Date | False |
The shipping date associated with the invoice. | ||
Memo | String | False | 5000 |
A memo regarding this transaction. | |
Class | String | False | 1000 |
A reference to the class of the transaction. | |
ClassId | String | False |
Class.ID | 255 |
A reference to the class of the transaction. |
Amount | Decimal | True |
The total amount for this invoice. | ||
Message | String | False | 101 |
A message to vendor or customer to appear in the invoice. | |
MessageId | String | False | 255 |
A message to vendor or customer to appear in the invoice. | |
SalesRep | String | False | 5 |
A reference to the (initials of) sales rep. | |
SalesRepId | String | False |
SalesReps.ID | 255 |
A reference to the sales rep. |
FOB | String | False | 13 |
Freight on board: The place to ship from. | |
BillingAddress | String | True |
Full billing address returned by QuickBooks. | ||
BillingLine1 | String | False | 500 |
First line of the billing address. | |
BillingLine2 | String | False | 500 |
Second line of the billing address. | |
BillingLine3 | String | False | 500 |
Third line of the billing address. | |
BillingLine4 | String | False | 500 |
Fourth line of the billing address. | |
BillingLine5 | String | False | 41 |
Fifth line of the billing address. | |
BillingCity | String | False | 255 |
City name for the billing address. | |
BillingState | String | False | 255 |
State name for the billing address. | |
BillingPostalCode | String | False | 30 |
Postal code for the billing address. | |
BillingCountry | String | False | 255 |
Country for the billing address. | |
BillingNote | String | False | 41 |
A note for the billing address. | |
ShippingAddress | String | True |
Full shipping address returned by QuickBooks. | ||
ShippingLine1 | String | False | 500 |
First line of the shipping address. | |
ShippingLine2 | String | False | 500 |
Second line of the shipping address. | |
ShippingLine3 | String | False | 500 |
Third line of the shipping address. | |
ShippingLine4 | String | False | 500 |
Fourth line of the shipping address. | |
ShippingLine5 | String | False | 41 |
Fifth line of the shipping address. | |
ShippingCity | String | False | 255 |
City name for the shipping address. | |
ShippingState | String | False | 255 |
State name for the shipping address. | |
ShippingPostalCode | String | False | 30 |
Postal code for the shipping address. | |
ShippingCountry | String | False | 255 |
Country for the shipping address. | |
ShippingNote | String | False | 41 |
A note for the shipping address. | |
Subtotal | Decimal | True |
The gross subtotal of the invoice. This does not include tax or the amount already paid. | ||
Tax | Double | True |
The total sales tax applied to this transaction. | ||
TaxItem | String | False | 100 |
A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. | |
TaxItemId | String | False | 255 |
A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. | |
TaxPercent | Double | True |
The percentage charged for sales tax. | ||
POnumber | String | False | 25 |
The purchase order number. | |
DueDate | Date | False |
The date when payment is due. | ||
Terms | String | False | 100 |
The payment terms. | |
TermsId | String | False | 255 |
The payment terms. | |
ItemCount | Integer | True |
The count of item entries for this transaction. | ||
ItemAggregate | String | False | 5000 |
An aggregate of the line item data which can be used for adding a invoices and its line item data. | |
TransactionCount | Integer | True |
The count of related transactions to the invoice. | ||
TransactionAggregate | String | True | 5000 |
An aggregate of the linked transaction data. | |
AppliedAmount | Decimal | True |
The total amount of applied credits and payments. | ||
Balance | Decimal | False |
The unpaid amount for this sale. | ||
CustomerTaxCode | String | False | 3 |
The tax code specific to this customer. | |
CustomerTaxCodeId | String | False | 255 |
The tax code specific to this customer. | |
IsToBePrinted | Boolean | False |
Whether this invoice is to be printed. | ||
IsToBeEmailed | Boolean | False |
Whether this invoice is to be emailed. | ||
IsPaid | Boolean | True |
Whether this invoice has been paid in full. | ||
IsTaxIncluded | Boolean | False |
Determines if tax is included in the transaction amount. | ||
IsPending | Boolean | False |
The transaction status (whether this transaction has been completed or it is still pending). | ||
IsFinanceCharge | String | False | 16 |
Whether this invoice includes a finance charge. The allowed values are NotSet, IsFinanceCharge, NotFinanceCharge. The default value is NotSet. | |
Template | String | False | 100 |
A reference to a template specifying how to print the transaction. | |
TemplateId | String | False |
Templates.ID | 255 |
A reference to a template specifying how to print the transaction. |
SuggestedDiscountAmount | Decimal | False |
A suggested discount amount for the invoice. | ||
SuggestedDiscountDate | Date | False |
A suggested discount date for the invoice. | ||
ExchangeRate | Double | False |
Currency exchange rate for this invoice. | ||
BalanceInHomeCurrency | Double | False |
Balance remaining in units of the home currency. | ||
CurrencyName | String | False | 64 |
Name of the currency code used for this invoice. | |
CurrencyId | String | False |
Currency.ID | 1000 |
Id of the currency code used for this invoice. |
Other | String | False | 29 |
Other data associated with the invoice. The QBXMLVersion connection property must be set to 6.0 for this field to be available. | |
CustomFields | String | False |
Custom fields returned from QuickBooks and formatted into XML. | ||
EditSequence | String | True | 16 |
An identifier used for versioning for this copy of the object. | |
TimeModified | Datetime | True |
When the invoice was last modified. | ||
TimeCreated | Datetime | True |
When the invoice was created. |
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 |
Item* | String |
All line-item-specific columns may be used in insertions or updates. |
LinkToTxnId | String |
Link this transaction to another transaction. This is only available during inserts and requires a minimum QBXML Version 6.0 |
SetCreditAggregate | String |
Apply multiple credit Memos to this transaction. This is only available during inserts and updates requires a minimum QBXML Version 10.0 |