magento2:extensions:magento-2-quickbooks-online-connector
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| magento2:extensions:magento-2-quickbooks-online-connector [2026/08/20 23:53] – created - external edit 127.0.0.1 | magento2:extensions:magento-2-quickbooks-online-connector [2026/10/08 16:20] (current) – swatwik | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== 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 ===== | ||
| + | |||
| + | * ''' | ||
| + | * ''' | ||
| + | * ''' | ||
| + | * ''' | ||
| + | * ''' | ||
| + | * ''' | ||
| + | * ''' | ||
| + | |||
| + | 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:// | ||
| + | |||
| + | Product reference: https:// | ||
| + | |||
| + | ===== 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:// | ||
| + | |||
| + | 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, | ||
| + | |||
| + | 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, | ||
| + | |||
| + | 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, | ||
| + | |||
| + | # 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, | ||
| + | |||
| + | === Configuration checks === | ||
| + | |||
| + | * Authorization failed? Check the environment, | ||
| + | * 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:// | ||
| + | |||
| + | Intuit OAuth SDK guide: https:// | ||
| + | |||
| + | Intuit OAuth configuration: | ||
| + | |||
| + | Towering Media connector: https:// | ||
| + | |||
| + | == 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 === | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | Figure 9 General settings | ||
| + | |||
| + | === 2 QuickBooks Online credentials and accounts === | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | Figure 10 QuickBooks Online credentials and accounts | ||
| + | |||
| + | === 3 QuickBooks Online items and authorization === | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | Figure 11 QuickBooks Online items and authorization | ||
| + | |||
| + | === 4 Field mapping === | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | Figure 12 Field mapping | ||
| + | |||
| + | === 5 Tax mapping === | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | Figure 13 Tax mapping | ||
| + | |||
| + | === 6 QuickBooks Desktop placeholders === | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | Figure 14 QuickBooks Desktop placeholders | ||
| + | |||
| + | === 7 Cron dispatch timing and limits === | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | Figure 15 Cron dispatch timing and limits | ||
| + | |||
| + | === 8 Cron dispatch by entity === | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | Figure 16 Cron dispatch by entity | ||
| + | |||
| + | === 9 Inbound import === | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | Figure 17 Inbound import | ||
| + | |||
| + | === 10 Product inventory and customer exports === | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | Figure 18 Product inventory and customer exports | ||
| + | |||
| + | === 11 Invoice customers and sales exports === | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | Figure 19 Invoice customers and sales exports | ||
| + | |||
| + | === 12 Automatic synchronization triggers === | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | Figure 20 Automatic synchronization triggers | ||
| + | |||
| + | === 13 Save and verify the configuration === | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | 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, | ||
| + | |||
| + | 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/ | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | 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, | ||
| + | |||
| + | 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 === | ||
| + | |||
| + | * ''' | ||
| + | * ''' | ||
| + | * ''' | ||
| + | * ''' | ||
| + | * ''' | ||
| + | * ''' | ||
| + | |||
| + | === Synchronization and results === | ||
| + | |||
| + | * ''' | ||
| + | * ''' | ||
| + | * ''' | ||
| + | * ''' | ||
| + | * ''' | ||
| + | * ''' | ||
| + | |||
| + | == 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. | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | 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 == | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | ''' | ||
| + | |||
| + | === Information to include when contacting support === | ||
| + | |||
| + | Send the Magento and extension versions, environment, | ||
| ====== Toweringmedia QuickBooks Connector User Guide ====== | ====== Toweringmedia QuickBooks Connector User Guide ====== | ||
magento2/extensions/magento-2-quickbooks-online-connector.1787270003.txt.gz · Last modified: by 127.0.0.1
