Have you ever thought about automating repetitive QuickBooks accounting tasks through Delphi or C++ Builder?
If yes, this post helps you to quickly get started with QuickBooks automation development.
As a reminder, QuickBooks is accounting software for businesses.
With the nsoftware QuickBooks components, you can easily connect to your QuickBooks and can automate accounting with your programming skills.
What is QuickBooks Connectivity Component?
The QuickBooks Integrator provides easy-to-use components for QuickBooks development, facilitating tasks such as adding, updating, or retrieving customer information, vendor information, employee information, transactions, etc. The QuickBooks Integrator helps you access QuickBooks remotely with the included QBConnector Component or the free Remote Connector for QuickBooks utility.
QuickBooks Connectivity Component Features:
- Uniform & Extensible Design
- Fully Integrated Components
- Blazing Fast Performance
- Detailed documentation and hundreds of sample application to start
- and more
- C++ Builder
- and more
procedure TFormBillpayment.btnPayBillsClick(Sender: TObject);
for i := 0 to lvwBillsToPay.Items.Count - 1 do
if lvwBillsToPay.Items[i].Checked then
iqbBillPayment1.AppliedToCount := iqbBillPayment1.AppliedToCount + 1;
iqbBillPayment1.AppliedToRefId[iqbBillPayment1.AppliedToCount - 1] := lvwBillsToPay.Items[i].SubItems;
// For simplicity, pay the full amount
iqbBillPayment1.AppliedToPaymentAmount[iqbBillPayment1.AppliedToCount - 1] := lvwBillsToPay.Items[i].SubItems;
iqbBillPayment1.QBConnectionString := qbConnectionString;
iqbBillPayment1.PaymentMethod := TiqbbillpaymentPaymentMethods(cbMethod.ItemIndex);
if (rbToBePrinted.Checked and rbToBePrinted.Visible) then
iqbBillPayment1.IsToBePrinted := true;
if (rbAssignNumber.Checked and rbAssignNumber.Visible) then
iqbBillPayment1.RefNumber := txtCheckNumber.Text;
// The references to accounts and vendors in Quickbooks use IDs in place of
// names. Because these values are unique, Quickbooks can access them faster.
iqbBillPayment1.PayeeId := vendorIDs[cbVendor.ItemIndex];
if iqbBillPayment1.PaymentMethod = pmCheck then
iqbBillPayment1.BankAccountId := accountIDs[cbAccount.ItemIndex]
iqbBillPayment1.CreditCardId := accountIDs[cbAccount.ItemIndex];
Screen.Cursor := crHourglass;
ShowMessage('Bill payment ' + iqbBillPayment1.RefId + ' added successfully.');
except on ex:EiqbBillPayment do
ShowMessage('Error entering bill payment: ' + ex.Message);
Screen.Cursor := crDefault;