Table of Contents

Toweringmedia QuickBooks Connector

User guide for Magento 2

Overview

Toweringmedia QuickBooks Connector connects your Magento 2 store to QuickBooks Online. It helps you move store data into QuickBooks and reduces the need to enter the same information twice.

What this extension does

* 'Customers and products.' Send customers and products to QuickBooks, or import them into Magento. * 'Inventory.' Export, import, or sync inventory in both directions to keep stock quantities up to date. * 'Sales records.' Send orders, invoices, payments, refunds, and credit memos to QuickBooks Online. * 'Connection.' Connect through Intuit OAuth 2.0. Use sandbox for testing and production for your live company. * 'Scheduled sync.' Process sync tasks in the background through Magento cron, with automatic retries. * 'Logs and retries.' Check failed tasks in the logs and retry them after fixing the problem. * 'Sync controls.' Choose what to sync through configuration settings, bulk actions, or CLI commands.

This guide covers QuickBooks Online. Full QuickBooks Desktop sync is planned but has not been released.

Installation

Please refer to the installation guide in the following article: [https://toweringmedia.com/installation https://toweringmedia.com/installation]

Product reference: https://toweringmedia.com/toweringmedia-quickbooks-connector

Intuit QuickBooks configuration

First, set up your app in the Intuit Developer portal. You will need its Client ID and Client Secret to connect Magento to your QuickBooks company.

1 Create an Intuit workspace

Sign in at https://developer.intuit.com and create a workspace if you do not already have one.

Enter a Workspace name and click Next. The name can have up to 80 characters, without special characters.

You can use an existing workspace for this setup.

Figure 1 Create an Intuit workspace

2 Enter company and contact information

Enter your Doing business as name, registered Company name, and business address, including country, city, state, and ZIP code.

Click Next and complete Contact info. Use your own company details.

Figure 2 Enter company and contact information

3 Select your QuickBooks app

Choose your Workspace and App at the top of the portal. The screenshot uses Towering Media and Test App.

If you do not have an app yet, create a QuickBooks Online app in your workspace.

Open App Overview to check the app you selected. The app shown here is In Development. Use Get production keys when you are ready to set up live credentials.

Figure 3 Select your QuickBooks app

4 Obtain the correct credentials

Open Keys and credentials. Choose Development for sandbox testing or Production for your live QuickBooks company.

Turn on Show credentials and copy the Client ID and Client secret into Magento. Use credentials from the same environment as the connector. Keep the Client secret private.

Development credentials are for testing. In the app settings, register the exact Redirect URL shown in Magento for the same environment.

Figure 4 Obtain the correct credentials

5 Review authorization permissions

Open Permissions to check the app scopes. The screenshot lists com.intuit.quickbooks.accounting and com.intuit.quickbooks.payment.

The accounting scope gives access to QuickBooks Online accounting data. The payment scope is for the separate QuickBooks Payments API; it is not automatically needed to export accounting payment records.

Use the scopes required by the connector and save any changes.

Figure 5 Review authorization permissions

6 Review webhook configuration

Open Webhooks and choose Development or Production to match your connection. This page contains the Endpoint URL, verifier token, and event subscriptions.

Set up webhooks only if your connector version supports them. Get the endpoint and required events from the extension documentation or support.

Enter the endpoint, set the verifier token as instructed, select the required events, and save. You do not need to select every event shown in the screenshot. Webhooks and scheduled cron sync are separate.

Figure 6 Review webhook configuration

7 Monitor app connections

Open Analytics and choose Development or Production. Here you can see new, disconnected, expired, and active app connections.

Choose a date range under Connection Reports to view connection activity. To check whether a product, customer, or invoice synced, use the Magento operation logs.

Figure 7 Monitor app connections

8 Review changes in the audit log

Open Audit Log and choose a Date Range. Check the date, user, event type, and environment. Open Details for more information about a change.

The log covers app creation and configuration changes. It does not track changes to client secrets, webhooks, team members, app connections, or sandbox companies.

For sync errors, check the connector logs in Magento.

Figure 8 Review changes in the audit log

Connect Magento to QuickBooks Online

Once you have the Intuit app credentials, connect the company from Magento Admin.

# Open Stores > Configuration > Towering Media > QuickBooks Connector. # Set Connector Type to QuickBooks Online. Choose sandbox for testing or production for live use. # Enter the Client ID and Client Secret from the matching Intuit environment. Save the configuration. # Copy the Redirect URL from Magento’s QuickBooks Online settings. Add the exact URL to the Intuit app settings for the same environment. # Click Connect to QuickBooks under OAuth Connection. Sign in to Intuit, choose your QuickBooks company, and approve access. # Return to Magento and check the connection status. Run a small test, then check Pending Sync Queue and Sync Operation Logs under System > QuickBooks Connector.

For live use, complete Intuit’s production setup, get production credentials, and register the production callback URL. Switch Magento to Production and authorize the live company.

Configuration checks

* Authorization failed? Check the environment, credentials, and exact Redirect URL. * Wrong company connected? Reconnect and choose the correct company before syncing more records. * Records not syncing? Check the queue, operation logs, and Magento cron.

References

Intuit Developer portal: https://developer.intuit.com

Intuit OAuth SDK guide: https://developers.intuit.com/app/developer/qbo/docs/develop/sdks-and-samples-collections/python/python_oauth_client

Intuit OAuth configuration: https://help.developer.intuit.com/s/article/Configuring-the-Oauth-2-0-Playground-for-QuickBooks-Online

Towering Media connector: https://toweringmedia.com/toweringmedia-quickbooks-connector

Magento Admin configuration

Go to Stores > Configuration > Towering Media > QuickBooks Connector. Choose the configuration scope you want to edit. The settings below explain each section; screenshot values are examples.

1 General settings

'Open configuration.' Go to Stores > Configuration > Towering Media > QuickBooks Connector and choose the scope you want to edit.

'Enable Connector.' Set this to Yes to use the extension.

'Connector Type.' Choose QuickBooks Online.

'Connection Profile Scope Mode.' Choose whether the connection is managed globally, by website, or by store view. This is a global setting. The screenshot uses Website.

'Global Sync Direction.' Choose the sync direction. The screenshot uses Magento to QuickBooks.

'Default Conflict Policy.' Choose how to handle conflicting records. The screenshot uses Manual Review Required.

'Log Retention Period.' Choose how long to keep logs. The screenshot uses 90 days. Click Save Config when finished.

Figure 9 General settings

2 QuickBooks Online credentials and accounts

'Client ID and Client Secret.' Enter your Intuit app credentials for the selected environment.

'Redirect URL.' Copy this read-only URL into the Intuit app’s Redirect URIs list. Use the URL from your own Magento store.

'Environment.' Choose Sandbox for testing or Production for live data. Use the matching Intuit credentials.

'Realm / Company ID and Token Status.' These read-only fields are filled after OAuth authorization. If they show Not connected, complete the connection. OAuth tokens are stored encrypted outside system configuration.

'Default Income Account ID.' Enter the QuickBooks income account ID for new NonInventory and Service items.

'Default Expense Account ID.' Enter the QuickBooks expense or COGS account ID used when items are created or updated. This is also required when Purchase Cost Mode is percent of sale price.

Figure 10 QuickBooks Online credentials and accounts

3 QuickBooks Online items and authorization

'Shipping Item ID.' Enter an existing QuickBooks item ID for shipping lines on invoices. If left empty, the connector uses the default Services item.

'Default Product Item.' Choose a NonInventory or Service item to use when a product has not synced. The dropdown loads after you connect. You can also enter its Item ID. Set this explicitly instead of relying on the Services fallback.

'Use Generic Item for All Product Lines.' Choose Yes to use Default Product Item for every product line, including mapped products. This also skips the Sold-only requirement to sync each product first. Choose No to use mapped items where available and the default item for the rest. Discounts use DiscountLineDetail.

'OAuth Connection.' Save your credentials, then click Connect to QuickBooks and authorize the company. If the credentials are set for a website, select that website scope before connecting.

'Payment Method Deposit Account Mappings.' Enter one mapping per line: payment_method_code=quickbooks_deposit_account_id. Use your payment method codes and QuickBooks account IDs. Lines starting with # are comments.

Figure 11 QuickBooks Online items and authorization

4 Field mapping

'Mapping format.' Customer, Product, and Invoice Line mappings use a JSON array. Each entry needs magento_field and qbo_field keys. An empty array is [].

'Customer example.' [{“magento_field”:“email”,“qbo_field”:“PrimaryEmailAddr”},{“magento_field”:“company_name”,“qbo_field”:“CompanyName”}]

'Product example.' [{“magento_field”:“sku”,“qbo_field”:“Sku”},{“magento_field”:“description”,“qbo_field”:“Description”}]

'Invoice line example.' [{“magento_field”:“name”,“qbo_field”:“Description”},{“magento_field”:“row_total”,“qbo_field”:“Amount”}]

'Review mappings.' Check the entries in the Field Mapping grid. Validate the JSON and test a record before using changed mappings on live data.

Figure 12 Field mapping

5 Tax mapping

'Global Tax Calculation.' Choose how QuickBooks handles invoice line amounts. The field guidance recommends Tax Excluded for VAT companies because Magento row totals exclude tax, and the company default for US companies. Check this against your QuickBooks tax setup.

'Default QuickBooks Tax Code ID.' Enter the tax code to use when no tax class or rate mapping matches. Use an ID from the connected company.

'Nontaxable QuickBooks Tax Code ID.' Enter the code for lines with zero tax. The screenshot uses NON.

'Tax Class Mappings.' Map Magento tax class IDs to QuickBooks tax code IDs using a JSON object, for example: {“2”:“TAX”,“5”:“NON”}. Replace these example IDs with your own.

'Tax Rate Mappings.' Enter rate mappings as JSON. The screenshot shows an empty object, {}. Check the supported key format in the extension documentation before adding entries.

'Test invoice.' Compare line amounts, discounts, shipping, tax, and totals in Magento and QuickBooks before turning on live automation.

Figure 13 Tax mapping

6 QuickBooks Desktop placeholders

'Current status.' QBWC SOAP endpoints, session tickets, and .qwc file generation are not implemented in the version shown.

'Desktop fields.' Application Name, QBWC Username, QBWC Password / Shared Secret, and QBWC Endpoint URL are placeholders for future Desktop support. Endpoint generation is not available.

'Enable QBWC Polling Preparation.' Leave this set to No for QuickBooks Online. QBWC polling is not implemented in the version shown.

Figure 14 QuickBooks Desktop placeholders

7 Cron dispatch timing and limits

'Enable Cron Dispatch.' Set Yes to let cron process pending tasks. When set to No, reliability maintenance still runs, but cron does not dispatch pending tasks.

'Dispatch Interval.' Set the minimum number of minutes between dispatch runs. The screenshot uses 5. The connector cron runs every minute and checks whether the interval has passed.

'Max Operations Per Run.' Set the maximum number of pending tasks to dispatch in one run. The screenshot uses 10.

'Dispatch Products / Items and Dispatch Inventory.' Set these to Yes to process the matching tasks through cron. You also need to enable the relevant exports.

'Magento cron.' Make sure cron is running on the server. Set the interval and batch size to suit your store.

Figure 15 Cron dispatch timing and limits

8 Cron dispatch by entity

'Entity dispatch controls.' Choose which tasks cron can process: Products / Items, Inventory, Customers, Orders, Invoices, Payments, Refunds, and Credit Memos.

'Entity Sync settings.' Dispatch processes tasks already in the queue. The export switches under Entity Sync control which data can be sent to QuickBooks.

'Enable the tasks you need.' Check the matching export and Auto-Sync settings as well. Customer and product imports have their own settings under Inbound Import.

Figure 16 Cron dispatch by entity

9 Inbound import

'Enable Customer Import.' Set Yes to allow customer imports from QuickBooks into Magento.

'Enable Product Import.' Set Yes to allow product imports from QuickBooks into Magento.

'Inbound Import Conflict Policy.' Choose what happens when a record already exists. Skip If Exists keeps the existing record. Use an overwrite option only if QuickBooks should supply the replacement data.

'Export-only setup.' Leave imports disabled if you only want to send data from Magento to QuickBooks. Import settings are separate from exports and cron dispatch.

Figure 17 Inbound import

10 Product inventory and customer exports

'Enable Product Export.' Set Yes to send Magento products to QuickBooks.

'Bundle / Grouped Export Strategy.' Choose whether to skip bundle and grouped parents or flatten them to child simple products. Configurable parents and their child simple variants export as separate QuickBooks items.

'Enable Inventory.' Set Yes to enable inventory sync.

'Enable Customer Export.' Set Yes to send Magento customers to QuickBooks.

'Sync direction.' Entity Sync controls Magento exports. Customer and product imports from QuickBooks are configured under Inbound Import.

Figure 18 Product inventory and customer exports

11 Invoice customers and sales exports

'Invoice Customer Mode.' Magento customer syncs or links each shopper, including guests linked by email. Shared QuickBooks customer uses one existing customer for order invoices, payments, and credit memos. Per payment method QuickBooks customer uses payment_method_code=qbo_customer_id mappings, with an optional shared fallback.

'Shared QBO Customer ID.' Enter an existing customer ID for Shared QuickBooks customer mode. You can also use it as a fallback for unmapped payment methods. The field does not create a customer. Shared and per-payment-method modes do not create individual shopper customers in QuickBooks.

'Sales exports.' Enable Order Export, Invoice Export, Payment Export, Refund Export, and Credit Memo Export as needed. Each has its own switch.

'Sync on save.' Auto-Sync Customers on Save and Auto-Sync Products on Save add tasks to the queue when records are saved. Product saves are ignored in Sold-only mode.

Figure 19 Invoice customers and sales exports

12 Automatic synchronization triggers

'Auto-Sync Customers on Save.' Add a customer sync task to the queue whenever a customer is saved.

'Auto-Sync Products on Save.' Queue supported product saves using the bundle/grouped strategy. This setting is ignored in Sold-only mode.

'Auto-Sync Orders.' Queue an order when it enters an allowed status, or when an invoice is paid and the order has an allowed status.

'Order Status Allowlist for Auto-Sync.' Enter Magento order status codes separated by commas, for example: processing,complete. Invoice payment also requires the order status to be in this list.

'Auto-Sync Credit Memos on Save.' Queue a credit memo sync task when a credit memo is saved.

'Process the queue.' Enable the Auto-Sync triggers you need, the matching exports, and cron dispatch.

Figure 20 Automatic synchronization triggers

13 Save and verify the configuration

'Save Config.' Save the settings in the correct scope. Complete OAuth authorization and check Realm / Company ID and Token Status.

'Run a sandbox test.' Test the exports you plan to use. Check the customer mode, item and tax mappings, and deposit accounts.

'Check automatic sync.' Review export switches, Auto-Sync triggers, allowed order statuses, and cron dispatch together.

'Check the result.' Open Pending Sync Queue and Sync Operation Logs under System > QuickBooks Connector. Fix any errors before retrying.

'Screenshot settings.' Many export and Auto-Sync switches are disabled in the examples. Set them for your own workflow.

Figure 21 Save and verify the configuration

Admin features

These pages help you check sync tasks, manage mappings and rules, and send records manually. Enable the connector and connect your QuickBooks company first. After a sync request, check the admin message, logs, and destination record.

1 Pending Sync Queue

Open System > QuickBooks Connector > Pending Sync Queue to see tasks waiting to be processed.

Each row shows the operation and profile IDs, entity, operation type, direction, connector type, status, and Magento reference. Retry Count and Next Retry At show retry activity. The date columns show when the task started, was created, and was last updated.

Use Filters and Columns to find the task you need. If the queue is empty, check Sync Operation Logs for the result.

Figure 22 Pending Sync Queue

2 Sync Operation Logs

Open System > QuickBooks Connector > Sync Operation Logs to check sync results and errors.

Connection Health Summary shows whether the connector is enabled, its type and environment, the company ID, and token status. In the screenshot, the connector is disabled and no company is connected.

This version shows a basic read-only summary. Detailed connection test results are not available here.

Find the operation and read Error Code and Error Message. Fix the cause before using the Retry mass action for a failed task. The grid also shows status, retry count, direction, entity, operation/profile IDs, and dates.

Figure 23 Sync Operation Logs

3 Conflict Review

Open Conflict Review in the connector’s System menu to check records that need your attention.

Read Conflict Type, Summary, Recommended Action, and Review Status. The row identifies the operation, profile, Magento record, and QuickBooks object involved.

Reviewed By and Reviewed At show who reviewed the conflict and when. Select the record and use the available Actions option.

Compare the Magento and QuickBooks records before resolving the conflict. The screenshot shows an empty list.

Figure 24 Conflict Review

4 Field Mapping grid

Use Field Mapping to see how Magento fields are matched to QuickBooks fields.

The grid shows ID, Entity Type, Magento Field, and QuickBooks Field.

Click Edit Mappings to update Customer, Product, or Invoice Line JSON mappings. See the Field mapping instructions under Magento Admin configuration for the format.

Figure 25 Field Mapping grid

5 Sync Rules list

Use Sync Rules to manage rules for the records you want to sync.

The list shows each rule’s ID, name, entity type, enabled status, priority, last update, and action.

Click Add New Rule to create a rule. If you use several rules, test how they work together.

Figure 26 Sync Rules list

6 Create a sync rule

Open Sync Rules and click Add New Rule.

Enter a Rule Name and choose an Entity Type. Both fields are required. The screenshot uses Order.

Set Enabled and enter a Priority. Rules with lower priority numbers are evaluated first.

Expand Conditions and set your criteria. Click Save, or Save and Continue Edit if you want to keep editing. Click Back to return to the list.

Figure 27 Create a sync rule

7 Set sync rule conditions

Order Statuses. Choose the statuses for an order rule. Leave this empty to match any status.

Minimum Order Total and Maximum Order Total. Set a total range for order rules. Leave either field empty if you do not need that limit.

Customer Groups. Choose groups for order or customer rules. Leave this empty to match any group.

For example, you could match Complete orders within a specific total range and customer group. Save the rule and test records that should match, as well as records that should not.

Figure 28 Set sync rule conditions

8 Class and preferred vendor lists

Class & Vendor Lists imports active Classes and Preferred Vendors from your connected QuickBooks company. Product fields store the QuickBooks IDs, while dropdowns show their names.

If the lists show Unavailable, enable the connector and connect QuickBooks Online first.

Create Classes and Vendors in QuickBooks, then refresh the lists here. Magento does not create these records in QuickBooks.

Inactive records are not imported. Imported records that disappear from the active QuickBooks list are marked inactive and hidden from dropdowns. Products already using their IDs keep a fallback option so saving the product does not clear the value.

Figure 29 Class and preferred vendor lists

9 Bulk product synchronization

Open Catalog > Products. Use search or filters to find the products.

Select the products, open Actions, and choose Sync to QuickBooks.

Read the admin message and check the queue or logs. After processing, confirm the items in QuickBooks.

Before syncing, check Enable Product Export and the product export strategy.

Figure 30 Bulk product synchronization

10 Synchronize a single product

Open Catalog > Products and edit the product.

Save your changes, then click Sync to QuickBooks in the top toolbar.

Check the admin message and operation logs, then confirm the item in QuickBooks.

The button is shown on the product edit page. Fields from Magento or other extensions are not connector settings.

Figure 31 Synchronize a single product

11 Disabled connector message

The message QuickBooks connector is disabled means the extension needs to be enabled before you can sync.

Go to Stores > Configuration > Towering Media > QuickBooks Connector. Enable the connector in the correct scope, save, and check the QuickBooks connection. Then try again.

This screenshot shows the error under a loading overlay; QuickBooks product attributes are not visible.

Figure 32 Disabled connector message

12 Bulk customer synchronization

Open Customers > All Customers and find the customers you want to sync.

Select the customers, open Actions, and choose Sync to QuickBooks.

Check the admin message and operation logs. Confirm the customer records in QuickBooks after processing.

Before syncing, check Enable Customer Export and the customer field mappings.

Figure 33 Bulk customer synchronization

13 Synchronize a single customer

Open Customers > All Customers and edit the customer.

Save your changes, then click Sync to QuickBooks in the top toolbar.

Check the admin message, queue, and logs for the result.

The screenshot shows the button while the page is loading. Check the logs to confirm whether the request finished.

Figure 34 Synchronize a single customer

14 Bulk invoice synchronization from orders

Open Sales > Orders and select the orders you want to send invoices for.

Open Actions and choose Sync Invoice to QuickBooks.

This requests invoice sync to QuickBooks. Magento’s invoice creation and print actions are separate.

Check the admin message and logs for errors, then confirm the invoice in QuickBooks.

Figure 35 Bulk invoice synchronization from orders

15 Invoice synchronization from an order

Open Sales > Orders and view the order.

Click Sync Invoice to QuickBooks in the top toolbar.

Check the admin message and logs. Confirm the invoice in QuickBooks after processing.

The screenshot shows a Pending order. Check the response to see whether it is eligible to sync. Magento’s Invoice button creates a Magento invoice; Sync Invoice to QuickBooks requests a transfer to QuickBooks.

Figure 36 Invoice synchronization from an order

Validation checklist

Check the following before turning on regular sync. Start with a few records in sandbox, then repeat the checks for your production company.

Connection and configuration

* '[ ] Connector.' Enable Connector is Yes, Connector Type is QuickBooks Online, and the settings are saved in the correct scope. * '[ ] Environment.' The credentials, authorized company, and Magento environment all match. * '[ ] Redirect URL.' The exact URL from Magento is registered in the matching Intuit app environment. * '[ ] Connection.' OAuth authorization is complete. Check Realm / Company ID and Token Status. Resolve Not connected before syncing. * '[ ] Mappings.' Check customer, product, invoice line, tax, payment deposit, and customer-mode mappings. Use IDs from your QuickBooks company and valid JSON. * '[ ] Items and accounts.' Check income and expense accounts, shipping item, default product item, generic-item setting, and bundle/grouped strategy.

Synchronization and results

* '[ ] Data to sync.' Enable the exports or imports you need. Check direction, conflict policy, and rule conditions. * '[ ] Automatic sync.' Magento cron is running. Check dispatch switches, export switches, Auto-Sync triggers, and allowed order statuses. * '[ ] Manual test.' Sync one eligible product, customer, and invoice as needed. Check the admin response, queue, and logs. * '[ ] Result.' Confirm the records in the correct company or store. Compare customer details, items/SKUs, quantities, and invoice lines, discounts, shipping, tax, and totals. * '[ ] Errors and rules.' Resolve failed tasks and conflicts. Test records that should match your rules and records that should not. * '[ ] Production.' Use production credentials and the production callback URL to authorize the live company. Check a small transfer before increasing volume.

Troubleshooting

Start with the admin message and Sync Operation Logs. Find the affected record and note the operation ID, status, Error Code, Error Message, and profile.

'QuickBooks connector is disabled.' Go to Stores > Configuration > Towering Media > QuickBooks Connector. Set Enable Connector to Yes in the correct scope and click Save Config. Check the connection and try again.

'OAuth fails or shows Not connected.' Check the environment, Client ID, Client Secret, and exact Redirect URL. Save the settings and click Connect to QuickBooks to authorize the company. If it still fails, send the displayed error to support.

'Wrong company connected.' Check Realm / Company ID. Reauthorize the correct company in the right scope and environment before syncing more records. Check any records already sent to the other company before correcting them.

'Token status shows Unknown.' Check the QuickBooks Online connection settings and operation errors. This version has a basic read-only health summary, so Unknown alone does not explain the cause. Reauthorize if the error asks you to connect again.

'Tasks stay pending.' Check that Magento cron is running, Enable Cron Dispatch is Yes, and dispatch is enabled for the affected entity. Check Dispatch Interval, Max Operations Per Run, Next Retry At, Retry Count, and the logs. The task may be waiting for the next run.

'Manual sync has no result.' Read the admin message and logs. Check the connection, export switch, scope, mappings, and record eligibility. For invoices, also check the order and invoice state. Confirm you are looking in the right QuickBooks company.

Fix the error before retrying the failed task. If the result of an earlier request is unclear, check QuickBooks before sending it again.

Troubleshooting mappings and data

'Automatic sync does not start.' Check the export switch, Auto-Sync setting, and rule conditions. For orders, compare the actual Magento status code with Order Status Allowlist for Auto-Sync. Product saves are ignored in Sold-only mode. Cron processes queued tasks; the triggers create them.

'Field item or account error.' Read Error Message and check the named field or ID. Review required fields and JSON mappings. Confirm item and account IDs in the connected company. For unmapped products or shipping, check Default Product Item, Shipping Item ID, and the generic-item setting.

'Invoice tax or totals differ.' Compare line amounts, discounts, shipping, and tax. Check Global Tax Calculation, tax class/rate mappings, default tax code, and nontaxable code against your QuickBooks company settings. Fix the mapping and test an invoice before restarting automation.

'Conflict needs review.' Open Conflict Review and read the summary, type, recommended action, and review status. Compare the Magento record with the QuickBooks object. Use the resolution action available in your version and check the result.

'Classes or vendors are unavailable.' Enable and connect QuickBooks Online. Create Classes or Vendors in QuickBooks, then refresh the Magento lists. Only active records are imported. Records no longer active are hidden from dropdowns; products may keep their existing IDs as fallback choices.

'Imports do not appear.' Check Enable Customer Import or Enable Product Import, the scope, direction, and connected company. Check the logs and Inbound Import Conflict Policy. Skip If Exists leaves an existing Magento record unchanged.

'QuickBooks Desktop does not connect.' Desktop fields are placeholders in the version shown. QBWC endpoints, session tickets, .qwc generation, and polling are not implemented. Use QuickBooks Online for this setup.

Information to include when contacting support

Send the Magento and extension versions, environment, scope, affected record, operation ID, exact error, and steps to reproduce. Include relevant screenshots and the result you expected. Remove secrets, tokens, passwords, and unnecessary customer data.

Toweringmedia QuickBooks Connector User Guide

For a shopper-friendly overview of features and setup, see the Magento 2 QuickBooks Online Connector User Guide on the storefront. This wiki page remains the full technical documentation.

Extension context

This is a Toweringmedia Magento 2 extension guide for the current admin extension catalog.

Product page

Overview

This connector links Magento 2 with QuickBooks so that order, customer, and accounting records can be kept in step. It provides a queued sync with configurable direction, field mapping, sync rules, and a conflict review screen for records that changed on both sides.

What this extension does

Requirements

Installation

Install and validate in a staging environment before production rollout.

cd /path/to/magento
composer require toweringmedia/module-quickbooks-connector
 
bin/magento module:enable Toweringmedia_QuickbooksConnector
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento cache:flush

Currently published versions at the time of writing:

Toweringmedia packages are served from the licensed Composer repository https://composer.toweringmedia.com/. If Composer reports that the package could not be found, your credentials are missing or the license does not cover this package yet. Retrieve your keys from My Account on toweringmedia.com, or contact support@toweringmedia.com.

General installation notes that apply to every Toweringmedia extension are in the installation guide.

Package naming note

The storefront product and CMS guide refer to the QuickBooks Online Connector, but the Composer package is toweringmedia/module-quickbooks-connector (no -online segment). The install command above uses the real package name.

Configuration

Basic usage and what to expect

  1. Set the connector type and sync direction first, then complete the QuickBooks authorization.
  2. Review Field Mapping before enabling any sync so records land on the correct QuickBooks fields.
  3. Use Pending Sync Queue and Sync Operation Logs to confirm records are moving, and Conflict Review for records that changed on both sides.

Notes and limitations

Validation checklist

Troubleshooting

Support