Invoice Control
Properties Methods Events Configuration Settings Errors
An Invoice indicates that a CUSTOMER owes money to the QuickBooks company. An Invoice is the opposite of a CREDITMEMO .
Syntax
Invoice
Remarks
The Invoice control represents an invoice sent to a Customer. When an invoice is added, the total amount is automatically entered into the Accounts Receivable register.
An Invoice should only be used if the Customer does not make payment at the time of the sale. If payment is made at the time of sale, the transaction should be recorded as a SalesReceipt instead.
Required Fields (Add): Customer*, Items
Supported Methods: Add, Get (Id), Cancel, Delete
Example
Invoice1.CustomerName = "John Q. Customer" '* Invoice1.TransactionDate = "1/17/03" Invoice1.ItemCount = 1 Invoice1.ItemName(0) = "Our Company's Product" '* Invoice1.ItemAmount(0) = "140.00" Invoice1.ShipDate = "1/20/03" Invoice1.Add() '*: Item must already exist in QuickBooks.
The total of an Invoice is the total of its item lines. There is no total amount property; when the control represents an invoice returned from QuickBooks, the total amount is divided between AppliedAmount and BalanceRemaining.
Item Lines: Item lines are used to track the sale of goods or services. Line items may be added by first setting ItemCount. Then for each line set the Item Id (or Name) or Group. You may also optionally set the Rate/RatePercent/PriceLevel, Quantity, Description, Class, TaxCode, ServiceDate, and Amount for each item as well.
The control supports a variety of other operations as well. The control's Get, Cancel, and Delete methods may be used to retrieve, cancel, and delete Invoices, respectively. The ObjSearch Control may be used to search for Invoices in the QuickBooks database.
Property List
The following is the full list of the properties of the control with short descriptions. Click on the links for further details.
AppliedAmount | Amount customer has paid on this invoice. |
ARAccountId | Reference to the Accounts Receivable account where money goes. |
ARAccountName | Reference to the Accounts Receivable account where money goes. |
BalanceRemaining | Balance remaining. |
BillingAddress | Address to bill to. |
CustomerId | A reference to the customer or customer job. |
CustomerMessageId | Reference to message to appear to customer. |
CustomerMessageName | Reference to message to appear to customer. |
CustomerName | A reference to the customer or customer job. |
DueDate | Date when payment is due. |
FinanceCharge | If true, this invoice includes a finance charge. |
IncludeLinkedTxns | Indicates whether to include linked transactions in the response. |
IsPaid | Indicates whether this invoice has been paid. |
IsPending | If true, this transaction has not been completed. |
IsToBePrinted | Whether this transaction is to be printed. |
ItemCount | The number of records in the Item arrays. |
ItemLineId | Identification number of the transaction line, used for Updates. |
ItemAggregate | Contains an XML aggregate of the line item. |
ItemName | Line item property: Reference to the kind of item. |
ItemId | Line item property: Reference to the kind of item. |
ItemDescription | Line item property: Description of item. |
ItemQuantity | Line item property: Quantity of item or item group. |
ItemUnitOfMeasure | Unit of measure describing the Quantity . |
ItemRate | Unit rate of item. |
ItemRatePercent | Line item property: A markup or discount percentage. |
ItemPriceLevelName | Line Item property: Specify custom pricing for specific customers. |
ItemPriceLevelId | Line Item property: Used to specify custom pricing for specific customers. |
ItemClassName | Line item property: Reference to the class of the item. |
ItemClassId | Line item property: Reference to the class of the item. |
ItemAmount | Line item property: the total amount of this item. |
ItemServiceDate | Line item property: Date of service. |
ItemTaxCodeName | Line item property: Sales tax information for this item. |
ItemTaxCodeId | Line item property: Sales tax information for this item. |
ItemOverrideAccountName | An account which will override the default account for the line item. |
ItemOverrideAccountId | An account which will override the default account for the line item. |
ItemOther1 | Standard QuickBooks Custom Field available for transaction line items. |
ItemOther2 | Standard QuickBooks Custom Field available for transaction line items. |
ItemGroupName | Reference to a group of line items. |
ItemGroupId | Reference to a group of line items. |
ItemLinkToTxnId | A link to an existing SALESORDER transaction. |
ItemLinkToTxnLineId | A link to a specific line of an existing SALESORDER transaction. |
LinkedTxnCount | The number of records in the LinkedTxn arrays. |
LinkedTxnAmount | The amount of the linked transaction. |
LinkedTxnDate | The date of the linked transaction. |
LinkedTxnLinkType | Indicates the nature of the link between the transactions. |
LinkedTxnRefNumber | This is the reference number assigned to the linked transaction. |
LinkedTxnId | This property can be used by another component to reference the original transaction which is linked to the current response. |
LinkedTxnType | This property indicates which type of linked transaction has been returned. |
LinkToTxnId | The LinkToTxnId property allows you to link to an entire transaction, pulling in all of its line items. |
Memo | Memo to appear on internal reports only. |
PONumber | P.O. number. |
QBConnectionString | An aggregate consisting of various QuickBooks connection properties. |
QBRequestAggregate | The request aggregate. |
QBRequestId | The Id of the next message to be sent to QuickBooks. |
QBRequestMode | Defines whether the request is made online or stored offline. |
QBResponseAggregate | The last QBXML response aggregate received from QuickBooks. |
QBXMLVersion | The version of QBXML used in the outgoing message. |
RefId | An alphanumerical identifier generated by the server. |
RefNumber | Reference number for the transaction. |
SalesRepId | Reference to (initials of) sales rep. |
SalesRepName | Reference to (initials of) sales rep. |
SalesTaxTotal | Total amount of sales tax. |
ShipDate | Date of shipping. |
ShipMethodId | Reference to preferred method of shipping. |
ShipMethodName | Reference to preferred method of shipping. |
ShippingAddress | Address to ship to. |
Subtotal | Gross subtotal; doesn't count taxes/amount already paid. |
TaxItemId | Reference to detailed taxation information. |
TaxItemName | Reference to detailed taxation information. |
TemplateId | Specifies how to print Invoice transactions. |
TemplateName | Specifies how to print Invoice transactions. |
TermsId | Reference to terms of payment. |
TermsName | Reference to terms of payment. |
TransactionDate | Date of transaction. |
Method List
The following is the full list of the methods of the control with short descriptions. Click on the links for further details.
Add | Adds the record into QuickBooks. |
Cancel | Cancels (voids) the transaction. |
CheckRequestStatus | Checks whether or not the specified request was processed by QuickBooks. |
CloseQBConnection | Closes a persistent connection to QuickBooks. |
Config | Sets or retrieves a configuration setting . |
Delete | Deletes the record from QuickBooks. |
Get | Gets a single record from QuickBooks. |
GetCustomField | Gets a custom field value from QuickBooks. |
ImportQBXML | Imports a QBXML response aggregate. |
OpenQBConnection | Opens a persistent connection to QuickBooks. |
Reset | Resets all properties to their defaults. |
SetCustomField | Sets a custom field value within QuickBooks. |
Update | Updates the invoice in QuickBooks. |
Event List
The following is the full list of the events fired by the control with short descriptions. Click on the links for further details.
Error | Information about errors during data delivery. |
SSLServerAuthentication | Fired after the server presents its certificate to the client. |
SSLStatus | Shows the progress of the secure connection. |
Status | Shows the progress of the QuickBooks connection. |
Warning | Fired when a warning occurs. |
Configuration Settings
The following is a list of configuration settings for the control with short descriptions. Click on the links for further details.
SendRawXML | Sends specified XML to quickbooks without modification. |
AppendAfter | Appends an XML tag after the specified QBXML element. |
TimeCreated | The time the object was created. |
TimeModified | The time the object was created. |
EditSequence | An identifier for this copy of the object. |
TemplateName | The name of an existing template to apply to the transaction. |
TemplateId | The ID of an existing template to apply to the transaction. |
SuggestedDiscountAmount | A suggested discount amount for the Invoice. |
SuggestedDiscountDate | A suggested discount date for the Invoice. |
ExchangeRate | Currency exchange rate for this invoice. |
FinanceCharge | If set to True, a finance-charge item has been added to the invoice. |
BalanceInHomeCurrency | Balance remaining in units of the home currency. |
CurrencyName | Name of the currency code used for this invoice. |
CurrencyId | Id of the currency code used for this invoice. |
IsTaxIncluded | Determines if tax is included in the transaction amount. |
IsToBeEmailed | When true, if no email address is on file for the customer the transaction will fail. |
CustomerSalesTaxName | Reference to sales tax information for the CUSTOMER. |
CustomerSalesTaxId | Reference to sales tax information for the CUSTOMER. |
SalesTaxPercentage | Percent paid as sales tax. |
FOB | Freight On Board: the place from where shipped. |
ClassName | A reference to the class of transaction. |
ClassId | A reference to the class of transaction. |
Items[index].OverrideItemAccountName | An account which will override the default account for the line item. |
Items[index].OverrideItemAccountId | An account which will override the default account for the line item. |
StopOnError | Specifies how QuickBooks is to proceed if an error occurs in processing of the current request. |
SSLAcceptServerCert | The SSL certificate being used by the Remote Connector. |
SSLAcceptServerCertFile | The SSL certificate file being used by the Remote Connector. |
EnforceMaxLength | Indicates whether to enforce max lengths for QB Fields. |
AuthFlags | Connection Flags (use for QuickBooks Simple Start). |
GetHighestVersion | Highest QBXMLVersion supported by the installed instance of QuickBooks. |
GetSupportedVersions | Returns a list of QBXMLVersions that are supported by QuickBooks. |
GetRequestProcessorDLLVersion | Returns the version of the QB Request Processor that is installed on your system. |
IsReadOnly | This causes the QuickBooks authorization dialog to display text informing the user that its access will be read-only. |
UnattendedModePref | Whether connecting while QuickBooks is closed is required or optional for the user. |
PersonalDataPref | Whether the connecting application will require access to personal data such as SSN or credit card information. |
QBOpenCompanyFile | The file currently open in QuickBooks. |
QBConnectionMode | The mode of connection to QuickBooks. |
QBFileStatus | The status of the company file as it pertains to accepting connections. |
WarningCodes | A comma-separated list of QuickBooks warning codes that should not result in an exception. |
Tax1Total | Canadian field used for Goods and Services Tax, or GST. |
Tax2Total | Canadian field used for Provincial Sales Taxes, or PST. |
ExchangeRate | Indicates the exchange rate for the transaction. |
CodePage | The system code page used for Unicode to Multibyte translations. |