QuickBooks Integrator 2020 Delphi Edition

Questions / Feedback?

EstimateItem Type

A single estimate line item.

Remarks

This type of line item is used by the Estimate component.

Fields

Aggregate
String

Contains an XML aggregate of the line item. If the line item has not been modified since receiving a response from QuickBooks, the exact LineRet aggregate that QuickBooks returned will be contained in this XML aggregate. However, if you have made changes to the this line item's properties the Aggregate property will re-generate the line item XML with the new data.

If you set the other line item properties and then query the Aggregate, a LineRet aggregate will be generated from the currently set properties.

You may set this property with raw xml. So long as you do not modify any other properties (forcing the line item to regenerate based on new changes), the xml will be sent as-is to the QuickBooks request processor. It is essential that you properly format the XML that you place in this property. When setting this property manually, the component will send exactly what you have set. You must ensure your xml is appropriate for the action you are attempting. For instance, if you are Adding an Invoice, you must ensure the outer tags are "InvoiceLineAdd". If Modifying an Invoice, the outer tags must be "InvoiceLineMod".

If you do not expressly set the Aggregate field with your own custom XML, all of this will be taken care of you automatically by the component.

Amount
String

Line item property: the total amount of this item.

This property represents the total amount of a transaction line. If Rate, Cost and/or Quantity are specified the Amount will be automatically computed by QuickBooks.

Whether Rate or Cost is used will depend on the transaction type. Rate is available for CreditMemo, Estimate, Invoice, PurchaseOrder, SalesOrder, and SalesReceipt transactions while Cost is available for Bill, CCCharge, CCCredit, Check, ItemReceipt, and VendorCredit transactions.

The amount should be formatted as a string in dollars.

ClassId
String

Line item property: Reference to the class of the item.

A reference to the class of this item.

Id/Name Reference Properties

This property is used to reference an object that is already done within QuickBooks. This may be done with its Id (this property) or its full Name, for which a corresponding property is defined.

Using the Id is recommended when feasible, as the Id is guaranteed to never change once defined.

Setting the value of this property will set the corresponding Name property to an empty string.

ClassName
String

Line item property: Reference to the class of the item.

Name/Id Reference Properties

This property is used to reference an object that is already done within QuickBooks. This may be done with its full Name (this property) or its Id, for which a corresponding property is defined. If Name is used, it must contain the full name of the object referred to, as generated by QuickBooks. For hierarchically defined objects, such as Customers, this includes the names of parent objects, and the full name can be determined by reading the FullName special field.

Setting the value of this property will set the corresponding Id property to an empty string.

Description
String

Line item property: Description of item.

A string description of the Item specified by ItemName or ItemId.

GroupId
String

Reference to a group of line items.

Line item groups represent sets of items that are grouped together. A line item group is a predefined shortcut within QuickBooks. For example, a "Cheeseburger Meal" might consist of a cheeseburger, an order of french fries, and a soft drink. To include an item group in a transaction one should simply set the value of ItemGroup, and optionally, of ItemQuantity. QuickBooks will automatically expand the group into its constituent items. This will send an ItemGroup instead of a regular Item on for this index.

When an ItemGroup is returned from QuickBooks it contains xml aggregates of all of the items in the group you specified. You may access the group's regular properties (total Amount, Quantity, and Description), but the line items returned are not accessible with this object. However, you may parse the returned line items by passing the contents of the Aggregate property to the LineItemGroups component. You may use the LineItemGroups component to view or change the contents of the line items, and then pass the xml aggregate generated by the component back to the Aggregate field to use in an Update transaction.

GroupName
String

Reference to a group of line items.

Line item groups represent sets of items that are grouped together. A line item group is a predefined shortcut within QuickBooks. For example, a "Cheeseburger Meal" might consist of a cheeseburger, an order of french fries, and a soft drink. To include an item group in a transaction one should simply set the value of ItemGroup, and optionally, of ItemQuantity. QuickBooks will automatically expand the group into its constituent items. This will send an ItemGroup instead of a regular Item on for this index.

When an ItemGroup is returned from QuickBooks it contains xml aggregates of all of the items in the group you specified. You may access the group's regular properties (total Amount, Quantity, and Description), but the line items returned are not accessible with this object. However, you may parse the returned line items by passing the contents of the Aggregate property to the LineItemGroups component. You may use the LineItemGroups component to view or change the contents of the line items, and then pass the xml aggregate generated by the component back to the Aggregate field to use in an Update transaction.

ItemId
String

Line item property: Reference to the kind of item.

Line items represent goods or services bought in a QuickBooks transaction.

Each line item is represented by a number of properties, each prefixed by Item (see the list of properties for individual components for details). Properties such as Quantity and Description are always present; some properties are found in only certain types of transactions.

Item is a reference to a kind of item, predefined within QuickBooks. Generally items defined within QuickBooks have default values for Description, etc., and if only Item is set when adding a record to QuickBooks, the other properties will be set automatically.

This component is used to create a single item. However, any InQB component may be set with an unlimited number of these items. For example:


 Invoice.ItemCount = 3

 LineItems.ItemName = "Wingnut"
 LineItems.Quantity = 8
 Invoice.ItemAggregate[0] = LineItems.GetAggregate()

 LineItems.ItemName = "Shovel"
 LineItems.Quantity = 1
 Invoice.ItemAggregate[1] = LineItems.GetAggregate()

 LineItems.ItemName = "Mower blade"
 LineItems.Quantity = 1
 Invoice.ItemAggregate[2] = LineItems.GetAggregate()

Items may also be grouped into ItemGroups, using the LineItemGroups component.

ItemName
String

Line item property: Reference to the kind of item.

Line items represent goods or services bought in a QuickBooks transaction.

Each line item is represented by a number of properties, each prefixed by Item (see the list of properties for individual components for details). Properties such as Quantity and Description are always present; some properties are found in only certain types of transactions.

Item is a reference to a kind of item, predefined within QuickBooks. Generally items defined within QuickBooks have default values for Description, etc., and if only Item is set when adding a record to QuickBooks, the other properties will be set automatically.

This component is used to create a single item. However, any InQB component may be set with an unlimited number of these items. For example:


 Invoice.ItemCount = 3

 LineItems.ItemName = "Wingnut"
 LineItems.Quantity = 8
 Invoice.ItemAggregate[0] = LineItems.GetAggregate()

 LineItems.ItemName = "Shovel"
 LineItems.Quantity = 1
 Invoice.ItemAggregate[1] = LineItems.GetAggregate()

 LineItems.ItemName = "Mower blade"
 LineItems.Quantity = 1
 Invoice.ItemAggregate[2] = LineItems.GetAggregate()

Items may also be grouped into ItemGroups, using the LineItemGroups component.

LineId
String

Identification number of the transaction line, used for Updates.

If you need to add a new transaction line in a transaction Update request, you can do so by setting the LineId to -1.

MarkupRate
String

The markup that will be passed on to the customer for this item on this estimate. Amount, quantity, rate, and markup are related in the following way: Amount = (Quantity * Rate) + MarkupRate.

If MarkupRatePercent is specified instead of MarkupRate, then this line item represents a percentage markup or discount, to be applied to the previous Item or Item group.

MarkupRate should be formatted as a positive or negative dollar amount (including decimal). A positive value indicates a markup and a negative amount a discount.

Only one of MarkupRatePercent and MarkupRate may be specified. If MarkupRatePercent is set, then MarkupRate will be set to its default (and vice-versa). The amount should be formatted as a string in dollars.

MarkupRatePercent
String

The markup that will be passed on to the customer for this item on this estimate. Amount, quantity, rate, and markup are related in the following way: Amount = (Quantity * Rate) + MarkupRate.

If MarkupRatePercent is specified instead of MarkupRate, then this line item represents a percentage markup or discount, to be applied to the previous Item or Item group.

MarkupRatePercent should be formatted as a positive or negative percentage; a positive value indicates a markup, and both integer and floating point values are supported as string representations.

Only one of MarkupRatePercent and MarkupRate may be specified. If MarkupRatePercent is set, then MarkupRate will be set to its default (and vice-versa).

Other1
String

Standard QuickBooks Custom Field available for transaction line items.

The Other1 and Other2 custom fields are available for immediate use: you don't need to enable these in the transaction template to be able to access them via SDK. (However, those Other1 and Other2 fields and their values are viewable and printable in QuickBooks only if the transaction template has these enabled!). QBXMLVersion 6.0 or higher is required to use this property.

Other2
String

Standard QuickBooks Custom Field available for transaction line items.

The Other1 and Other2 custom fields are available for immediate use: you don't need to enable these in the transaction template to be able to access them via SDK. (However, those Other1 and Other2 fields and their values are viewable and printable in QuickBooks only if the transaction template has these enabled!). QBXMLVersion 6.0 or higher is required to use this property.

OverrideAccountId
String

An account which will override the default account for the line item. QBXMLVersion must be 2.0 or higher to use this configuration setting.

OverrideAccountName
String

An account which will override the default account for the line item. QBXMLVersion must be 2.0 or higher to use this configuration setting.

Quantity
String

Line item property: Quantity of item or item group.

The quantity of the Item specified in this line.

If Quantity and only one of Cost, Rate, or Amount are specified, QuickBooks will automatically calculate the other.

This property is a String type in order to allow setting fractional quantities. Setting this property with non-numeric data will cause an error. Correct usage of this property is shown below:


  component.Quantity = "3.5"

Leave this property blank and no quantity will be sent to QuickBooks.

Rate
String

Unit rate of item.

The unit rate charged for this item.

If Amount is specified, then Rate will be calculated automatically and should not be specified.

The amount should be formatted as a string in dollars.

RatePercent
String

Line item property: A markup or discount percentage.

If RatePercent is specified instead of Rate, then this line item represents a percentage markup or discount, to be applied to the previous Item or Item group.

RatePercent should be formatted as a positive or negative integer; a positive value indicates a markup.

Only one of RatePercent and Rate may be specified. If RatePercent is set, then Rate will be set to its default.

ServiceDate
String

Line item property: Date of service.

For Items that represent a service, ServiceDate refers to the date of service. ServiceDate is only applicable for the CreditMemo, Invoice, PurchaseOrder, and SalesReceipt components.

The standard formatting for dates is YYYY-MM-DD; i.e., September 2, 2002 is formatted as 2002-09-02. When getting the value of a date property, the date will always be in this format.

When setting the value of a date property, the formats MM-DD-YY, MM-DD-YYYY, MM/DD/YY, and MM/DD/YYYY are also acceptable. Dates in these formats will be automatically parsed and stored in YYYY-MM-DD format.

TaxCodeId
String

Line item property: Sales tax information for this item.

This is a reference to a sales tax code predefined within QuickBooks.

By default, two standard TaxCodes exist: "TAX", or Taxable Sales, and "NON", or Non-Taxable Sales. The QuickBooks user may also define custom tax codes.

Id/Name Reference Properties

This property is used to reference an object that is already done within QuickBooks. This may be done with its Id (this property) or its full Name, for which a corresponding property is defined.

Using the Id is recommended when feasible, as the Id is guaranteed to never change once defined.

Setting the value of this property will set the corresponding Name property to an empty string.

TaxCodeName
String

Line item property: Sales tax information for this item.

This is a reference to a sales tax code predefined within QuickBooks.

By default, two standard TaxCodes exist: "TAX", or Taxable Sales, and "NON", or Non-Taxable Sales. The QuickBooks user may also define custom tax codes.

Name/Id Reference Properties

This property is used to reference an object that is already done within QuickBooks. This may be done with its full Name (this property) or its Id, for which a corresponding property is defined. If Name is used, it must contain the full name of the object referred to, as generated by QuickBooks. For hierarchically defined objects, such as Customers, this includes the names of parent objects, and the full name can be determined by reading the FullName special field.

Setting the value of this property will set the corresponding Id property to an empty string.

UnitOfMeasure
String

Unit of measure describing the Quantity.

In a transaction line item, the name of the unit of measure selected from within the item's available units. If the company file is enabled only for single unit of measure per item, this must be the base unit!

This property is only available for QBXMLVersion 7.0 and higher.

Constructors

constructor Create();

Copyright (c) 2021 /n software inc. - All rights reserved.
QuickBooks Integrator 2020 Delphi Edition - Version 20.0 [Build 7941]