The Best Way To Buy!
IP*Works!
Microsoft .NET ActiveX / VB ASP Delphi C++ Builder C++ Java J2EE Unix / Linux Mac OS X .NET CF
IP*Works! SSL
IP*Works! S/MIME
Microsoft .NET ActiveX / VB ASP Delphi C++ Builder C++ Java J2EE
IP*Works! SSH
Microsoft .NET Java J2EE .NET CF
IP*Works! Zip
IP*Works! EDI/AS2
Microsoft .NET Java / J2EE
Secure SNMP
Microsoft .NET ActiveX / VB Delphi C++ Builder C++ Java J2EE .NET CF
QuickBooks Integrator
E-Payment Integrator
Vital/TSYS Integrator
Microsoft .NET ActiveX / VB ASP Delphi C++ Builder C++ Unix / Linux Mac OS X
Paymentech Integrator
FDMS Integrator
Microsoft .NET ActiveX / VB ASP Delphi C++ Builder C++ Java J2EE .NET CF
USPS Integrator
FedEx Integrator
E-Banking Integrator
Microsoft .NET ActiveX / VB ASP Delphi C++ Builder C++ Java J2EE Unix / Linux
PayPal Integrator
Amazon Integrator
Biztalk Adapters
SQL Server SSIS Tasks
3-D Secure MPI
Microsoft .NET ASP Delphi C++ Builder C++ Java / J2EE
IBiz Integrator for QuickBooks:
IBiz QuickBooks Integrator [IBiz QB] is a toolkit for QuickBooks developers that provides for quick and easy development of fully integrated QuickBooks solutions. It eliminates the complexity of developing integrated accounting solutions by providing easy-to-use components that facilitate tasks such as adding, updating or retrieving customer information, vendor information, employee information, transactions etc.
IBiz QB consists of easy-to-use components, suitable for use in client or server applications that need to interact with QuickBooks. IBiz QB provides simple interfaces to the QuickBooks API. Internally, the package generates and parses XML documents and uses COM to exchange them with QuickBooks. IBiz QB handles the details of the XML processing and COM interop, allowing you, the developer, to focus on your business requirements. IBiz QB is built on top of the QBXML SDK provided within QuickBooks, and therefore requires QuickBooks 2002 or later. Additionally, the integrator is not supported by QuickBooks Basic; IBiz QB will only work with QuickBooks Pro or higher. Applications built with IBiz QB will only work on machines with appropriate versions of QuickBooks installed. The package has no dependencies other than QuickBooks 2002 Pro or better. End users do not need to download the integrator, the MSXML parser, or any other utilities to run applications built with IBiz QB.
IBiz QB consists of easy-to-use components, suitable for use in client or server applications that need to interact with QuickBooks.
IBiz QB provides simple interfaces to the QuickBooks API. Internally, the package generates and parses XML documents and uses COM to exchange them with QuickBooks. IBiz QB handles the details of the XML processing and COM interop, allowing you, the developer, to focus on your business requirements.
IBiz QB is built on top of the QBXML SDK provided within QuickBooks, and therefore requires QuickBooks 2002 or later. Additionally, the integrator is not supported by QuickBooks Basic; IBiz QB will only work with QuickBooks Pro or higher. Applications built with IBiz QB will only work on machines with appropriate versions of QuickBooks installed.
The package has no dependencies other than QuickBooks 2002 Pro or better. End users do not need to download the integrator, the MSXML parser, or any other utilities to run applications built with IBiz QB.
Nearly all of the IBiz QB components represent a business object such as a customer, invoice, or bill, and can be used to store information and communicate with QuickBooks. Different operations are supported for different components. Each object may be added to QuickBooks with Add, retrieved with Get, or deleted with Delete. "Entity objects" are objects representing people or corporations with whom the QuickBooks user does business. IBiz QB offers Customer, Vendor, and Employee objects. These objects may be retrieved by name with GetByName, and modified and updated with the Update method. Use caution when updating, however; in general only contact information such as the name and address may be updated. The description for each property specifies whether or not it may be updated. Transaction objects represent common business transactions such as a Bill, an Invoice, a PurchaseOrder, etc. All transaction objects have an array of Items, used to list items bought or sold in the transaction, and many have an array of Expenses, used to itemize expenses that may be charged to expense account. Transaction objects may be added or retrieved, and may also be voided where appropriate with the Cancel method. The ObjSearch component is used to query the QuickBooks database using a combination of query filters. See the documentation for ObjSearch for more information on how this is done.
Nearly all of the IBiz QB components represent a business object such as a customer, invoice, or bill, and can be used to store information and communicate with QuickBooks.
Different operations are supported for different components. Each object may be added to QuickBooks with Add, retrieved with Get, or deleted with Delete.
"Entity objects" are objects representing people or corporations with whom the QuickBooks user does business. IBiz QB offers Customer, Vendor, and Employee objects. These objects may be retrieved by name with GetByName, and modified and updated with the Update method. Use caution when updating, however; in general only contact information such as the name and address may be updated. The description for each property specifies whether or not it may be updated.
Transaction objects represent common business transactions such as a Bill, an Invoice, a PurchaseOrder, etc. All transaction objects have an array of Items, used to list items bought or sold in the transaction, and many have an array of Expenses, used to itemize expenses that may be charged to expense account. Transaction objects may be added or retrieved, and may also be voided where appropriate with the Cancel method.
The ObjSearch component is used to query the QuickBooks database using a combination of query filters. See the documentation for ObjSearch for more information on how this is done.
Each component may connect with QuickBooks in a variety of ways. By default, each component is configured to interactively connect to a copy of QuickBooks running on the same machine. However, a variety of QB connection properties may be set to customize the type of connection. IBiz QB can be configured to connect to QuickBooks even if the UI is not running, and can also be configured to share access with other applications and end-users, or to lock them out. Developers can choose any name for their application, and applications certified by Intuit can be configured to provide a copy of their certificate to QuickBooks for verification. And, IBiz QB also supports the QuickBooks API for error tracking and recovery, through the use of unique request IDs. Please see the appropriate QBConnection properties (all prefixed with "QB") for more details.
Each component may connect with QuickBooks in a variety of ways. By default, each component is configured to interactively connect to a copy of QuickBooks running on the same machine. However, a variety of QB connection properties may be set to customize the type of connection. IBiz QB can be configured to connect to QuickBooks even if the UI is not running, and can also be configured to share access with other applications and end-users, or to lock them out.
Developers can choose any name for their application, and applications certified by Intuit can be configured to provide a copy of their certificate to QuickBooks for verification. And, IBiz QB also supports the QuickBooks API for error tracking and recovery, through the use of unique request IDs.
Please see the appropriate QBConnection properties (all prefixed with "QB") for more details.
Each component's properties are set to default values when the component is created. However, any communication with QuickBooks will reset all property values, excluding the QBConnection properties. All information returned in the QuickBooks response will be set in the component, and all information not returned will be reset to its default in the component. So for example, to get information about a customer, the Get method of a Customer object should be used. Then each of the properties will contain appropriate information, or a default value if the information has not been specified. Note that even Adding an object to QuickBooks will alter the state of the component. Defaults not set by the component may be set by QuickBooks, and QuickBooks will frequently fill out descriptions, compute totals, and so on. This is the same behavior as when new objects are added through the QuickBooks UI. Every time QuickBooks returns data, the QBResponseAggregate will be populated with the XML data returned from QuickBooks. This is a convenient way to encapsulate and save all the relevant information concerning a QuickBooks object. This property may also be set, to initialize a component as if it had just been returned with QuickBooks. Additional properties are available as special fields. In general, special fields are properties that are unusual and/or infrequently used. To keep the IBiz QB API simple, access to special fields is offered though the SetSpecialField and GetSpecialField methods.
Each component's properties are set to default values when the component is created. However, any communication with QuickBooks will reset all property values, excluding the QBConnection properties. All information returned in the QuickBooks response will be set in the component, and all information not returned will be reset to its default in the component.
So for example, to get information about a customer, the Get method of a Customer object should be used. Then each of the properties will contain appropriate information, or a default value if the information has not been specified.
Note that even Adding an object to QuickBooks will alter the state of the component. Defaults not set by the component may be set by QuickBooks, and QuickBooks will frequently fill out descriptions, compute totals, and so on. This is the same behavior as when new objects are added through the QuickBooks UI.
Every time QuickBooks returns data, the QBResponseAggregate will be populated with the XML data returned from QuickBooks. This is a convenient way to encapsulate and save all the relevant information concerning a QuickBooks object. This property may also be set, to initialize a component as if it had just been returned with QuickBooks.
Additional properties are available as special fields. In general, special fields are properties that are unusual and/or infrequently used. To keep the IBiz QB API simple, access to special fields is offered though the SetSpecialField and GetSpecialField methods.
Many properties are reference properties: They refer to entities or items that already exist in QuickBooks. For example, when you add an Invoice, you must specify the Customer being invoiced. QuickBooks will only allow customers that have been added to its database, so you must either ensure that the Customer has been added to QuickBooks, or add the customer yourself before adding the invoice. All reference properties are represented by two properties in IBiz QB: a Name and an Id. The properties are redundant, so whichever is known may be specified. Moreover, setting either will reset the other to an empty string, ensuring that there is never any conflict between the two. Whenever data is returned from QuickBooks, both the Name and the Id will always be returned, and user application may read either or both. You should consider storing the Id rather than the Name: Unlike the Name it cannot ever be changed by QuickBooks users or other integrated applications, and will always be valid unless the object is deleted.
Many properties are reference properties: They refer to entities or items that already exist in QuickBooks. For example, when you add an Invoice, you must specify the Customer being invoiced. QuickBooks will only allow customers that have been added to its database, so you must either ensure that the Customer has been added to QuickBooks, or add the customer yourself before adding the invoice.
All reference properties are represented by two properties in IBiz QB: a Name and an Id. The properties are redundant, so whichever is known may be specified. Moreover, setting either will reset the other to an empty string, ensuring that there is never any conflict between the two.
Whenever data is returned from QuickBooks, both the Name and the Id will always be returned, and user application may read either or both. You should consider storing the Id rather than the Name: Unlike the Name it cannot ever be changed by QuickBooks users or other integrated applications, and will always be valid unless the object is deleted.
All transaction objects have item lines, and expense transactions have expense lines as well. These are used in IBiz QB in the same way that they are used in QuickBooks. Item lines are used to record the purchase or sale of tangible items or services. In IBiz QB, item lines are represented by a collection of array properties. The ItemCount property controls the size of each array, and the Item reference property (i.e., ItemId/ItemName) refers to each item. The quantity is given by ItemQuantity, the total is given by ItemAmount, and the unit cost or rate is given by ItemCost (payment transactions) or ItemRate (transactions with customers). Other optional properties may be present as well; the list of properties varies slightly with different components, corresponding to the QuickBooks UI. Example: Transaction1.ItemCount = 2 Transaction1.ItemName(0) = "Wood Door:Exterior" 'Transaction1.ItemCost(0) = 5000 Transaction1.ItemQuantity(0) = 4 'Transaction1.ItemAmount(0) = 20000 'Transaction1.ItemDescription(0) = "Default" Transaction1.ItemName(1) = "Cabinets - Custom" Transaction1.ItemAmount(1) = 16400 Transaction1.Add() Expense lines are used to charge an expense to an expense account. Common examples might include rent, gasoline, freight, etc. The number of expenses is controlled with ExpenseCount, and the ExpenseAccount (Name/Id) and ExpenseAmount should be specified for each expense. ExpenseClass (Name/Id), ExpenseCustomer* (Name/Id), and ExpenseMemo are optional. Example: Transaction1.ExpenseCount = 1 Transaction1.ExpenseAccountName = "Freight & Delivery" Transaction1.ExpenseAmount = "9500" All transactions must have at least one item and/or expense line.
All transaction objects have item lines, and expense transactions have expense lines as well. These are used in IBiz QB in the same way that they are used in QuickBooks.
Item lines are used to record the purchase or sale of tangible items or services. In IBiz QB, item lines are represented by a collection of array properties. The ItemCount property controls the size of each array, and the Item reference property (i.e., ItemId/ItemName) refers to each item. The quantity is given by ItemQuantity, the total is given by ItemAmount, and the unit cost or rate is given by ItemCost (payment transactions) or ItemRate (transactions with customers).
Other optional properties may be present as well; the list of properties varies slightly with different components, corresponding to the QuickBooks UI.
Example:
Transaction1.ItemCount = 2 Transaction1.ItemName(0) = "Wood Door:Exterior" 'Transaction1.ItemCost(0) = 5000 Transaction1.ItemQuantity(0) = 4 'Transaction1.ItemAmount(0) = 20000 'Transaction1.ItemDescription(0) = "Default" Transaction1.ItemName(1) = "Cabinets - Custom" Transaction1.ItemAmount(1) = 16400 Transaction1.Add()
Expense lines are used to charge an expense to an expense account. Common examples might include rent, gasoline, freight, etc. The number of expenses is controlled with ExpenseCount, and the ExpenseAccount (Name/Id) and ExpenseAmount should be specified for each expense. ExpenseClass (Name/Id), ExpenseCustomer* (Name/Id), and ExpenseMemo are optional.
Transaction1.ExpenseCount = 1 Transaction1.ExpenseAccountName = "Freight & Delivery" Transaction1.ExpenseAmount = "9500"
All transactions must have at least one item and/or expense line.
This is just a brief overview of the components in IBiz QB. Please download the fully functional trials available on this website for more information.