Magento 2 QuickBooks Online Integration

Magento 2 QuickBooks Online Integration by Meetanshi integrates QuickBooks by Intuit with Magento 2 store for automatic sync of store data with QuickBooks Online system and improve the accounts & finances of the Magento 2 store.

 

Table of Content

  1. Extension Installation Guide
  1. QuickBooks API Configuration
  1. Configuration
  1. Account Type Settings
  1. Customer Synchronization Settings
  1. Products Synchronization Settings
  1. Orders Synchronization Settings
  1. Invoices Synchronization Settings
  1. Credit Memos Synchronization Settings
  1. Tax and Country Settings
  1. Developer Settings
  1. Payment Methods Mapping
  1. Tax Mapping
  1. Sync Queue
  1. History Logs
  1. Synchronized Products in QuickBooks
  1. Customers, Orders, Invoices, Credit Memos Grid after Synchronization

 

  1. Extension Installation
  • For Magento Marketplace Customers
    • Find the Composer name and version of the extension in the extension’s composer.json file.
    • Login to your SSH and run:
    • Enter your authentication keys. Your public key is your username; your private key is your password.
    • Wait for Composer to finish updating your project dependencies and make sure there aren’t any errors.
    • To verify that the extension installed properly, run the command:
      • php bin/magento module:status Meetanshi_QBOnline
          • By default, the extension is probably disabled.
          • Enable the extension and clear static view files:
      • php bin/magento module:enable Meetanshi_QBOnline --clear-static-content
      • php bin/magento setup:upgrade
      • For Magento version 2.0.x to 2.1.x - php bin/magento setup:static-content:deploy
      • For Magento version 2.2.x & above - php bin/magento setup:static-content:deploy –f
      • php bin/magento cache:flush
         
  • For Meetanshi Customers
  • Extract the zip folder and upload our extension to the root of your Magento 2 directory via FTP.
  • Login to your SSH and run below commands step by step:
  • composer require quickbooks/v3-php-sdk --ignore-platform-reqs
  • php bin/magento setup:upgrade
  • For Magento version 2.0.x to 2.1.x - php bin/magento setup:static-content:deploy
  • For Magento version 2.2.x & above - php bin/magento setup:static-content:deploy –f
  • php bin/magento cache:flush

Note:

  1. Make sure to configure the cron job to make the extension work smoothly.
  2. Before configuring the extension, go to QuickBooks Online Settings > Sales > Sales Form Content, and turn the checkbox ON for Shipping as shown here.
  3. As PaymentMethod.php file is unavailable while installing the extension using composer command, download the PaymentMethod.php file from Github and put it to MAGENTO_ROOT/vendor/quickbooks/v3-php-sdk/src/Facades.

 

  1. QuickBooks API Configuration
    Prior to configuring the extension, you need to configure the payment gateway for the API connection.
  • First of all, go to https://developer.intuit.com/app/developer/homepage and login with your QuickBooks account credentials. Move to the dashboard and click on the Apps where you can find apps if you have already added. Click “Create an App” to create a new app if you haven’t created already.

  • Select the platform as “QuickBooks Online and Payments”.

  • Enter the app name, select the score as com.intuit.quickbooks.accounting and click “Create App”.

 

  • Immediately after the app creation, the app is saved and shown in the dashboard. Click on the app name to get the client ID, client secret and add redirect URL.

 

  • From the app page, click on “Keys and Credentials” under the development/production mode based on the app you have created for. The values under the client ID and client secret fields need to be copied and added to your Magento 2 extension configuration. Also, add the redirect URL as https://yoursite.com/qbonline/connection/success and click save.

  1. Configuration
    For configuring the extension, login to Magento 2, move to Stores à Configuration à Meetanshi à QuickBooks Online Integration, where you can find various settings to configure the extension.

 

  • After configuring the settings, save the configuration and click “Connect to QuickBooks” for the API connectivity. You will get a new window to sign in with the QuickBooks credentials.

 

  • Once you are signed in, the API will ask to select the company.

 

  • After the company selection, you will get the API connection success message.

 

  • After the API gets connected, close the window and refresh the Magento 2 configuration page and you can see the “Connection Status” as connected.

 

  1. Account Type Settings
    Click “Fetch All Accounts” to fetch and set 3 account types i.e asset account, expense account and income account. If accounts don’t get auto selected, you have to set them manually.

 

  1. Customer Synchronization Settings
    To synchronize the Magento 2 customers with the QuickBooks API, configure the settings below.
  • Sync Mode: Select how you want to synchronize Magento 2 customers to QuickBooks.
    • Immediately: Syncs customers immediately on account creation.
    • Cron Job: Syncs customers on cron job run time and frequency.
      • Frequency: Select cron job frequency to automate customer sync with QuickBooks.
      • Start Time: Set start time of the cron job based on the set frequency.

 

  1. Products Synchronization Settings
    To synchronize the Magento 2 products with the QuickBooks API, configure the settings below.
  • Sync Mode: Select how you want to synchronize Magento 2 products to QuickBooks.
    • Immediately: Syncs products immediately on creation.
    • Cron Job: Syncs products on cron job run time and frequency.
      • Frequency: Select cron job frequency to automate products sync with QuickBooks.
      • Start Time: Set start time of the cron job based on the set frequency.
  • Sync Product Name: Select what you want to set as product name for QuickBooks products.
  • Sync Product Description: Select what you want to set as product description for QuickBooks products.
  • Track Product Inventory: Select YES to track product inventory in QuickBooks.
  • Strip HTML: Select YES to strip HTML tags from product description.

 

  1. Orders Synchronization Settings
    To synchronize the Magento 2 orders with the QuickBooks API, configure the settings below.
  • Sync Mode: Select how you want to synchronize Magento 2 orders to QuickBooks.
    • Immediately: Syncs orders immediately on placement.
    • Cron Job: Syncs orders on cron job run time and frequency.
      • Frequency: Select cron job frequency to automate orders sync with QuickBooks.
      • Start Time: Set start time of the cron job based on the set frequency.
  •  Order Prefix: Enter order prefix for order reference in QuickBooks.

 

  1. Invoices Synchronization Settings
    To synchronize the Magento 2 invoices with the QuickBooks API, configure the settings below.
  • Sync Mode: Select how you want to synchronize Magento 2 invoices to QuickBooks.
    • Immediately: Syncs invoices immediately on generation.
    • Cron Job: Syncs invoices on cron job run time and frequency.
      • Frequency: Select cron job frequency to automate invoices sync with QuickBooks.
      • Start Time: Set start time of the cron job based on the set frequency.

 

  1. Credit Memos Synchronization Settings
    To synchronize the Magento 2 credit memos with the QuickBooks API, configure the settings below.
  • Sync Mode: Select how you want to synchronize Magento 2 credit memos to QuickBooks.
    • Immediately: Syncs credit memos immediately on generation.
    • Cron Job: Syncs credit memos on cron job run time and frequency.
      • Frequency: Select cron job frequency to automate credit memos sync with QuickBooks.
      • Start Time: Set start time of the cron job based on the set frequency.
  • Credit Memo Prefix: Enter credit memo prefix for credit memo reference in QuickBooks.

 

  1. Tax and Country Settings
    Set tax country to sync tax class with QuickBooks.

 

  1.  Developer Settings
    Select YES to enable debug log.

 

  1. Payment Methods Mapping
    After the configuration settings, move to QuickBooks Online Integration à Payment Methods Mapping to map Magento 2 payment methods with QuickBooks. First of all, click “Add All Payment Methods” button to add all the Magento 2 payment methods to the list in the grid and then, click “Synchronize” to sync each payment method with QuickBooks API.

 

  • To see the mapped payment methods in QuickBooks, from the QuickBooks dashboard, click on Settings à Lists à All Lists à Payment Methods where you can see all the mapped payment methods.

 

  1. Tax Mapping
    Move to QuickBooks Online Integration à Tax Mapping to map Magento 2 tax classes with QuickBooks. First of all, click “Add All Tax Code” button to add all the Magento 2 tax codes to the list in the grid and then, click “Synchronize” to sync each tax code with QuickBooks API.

  • To see the mapped tax codes in QuickBooks, from the QuickBooks dashboard, click on Taxes from the sidebar where you can see all the mapped tax codes.

 

  1. Sync Queue
    If your store is already having customers, products, orders, invoices, credit memos and want all of them to sync with QuickBooks after the extension installation, move to QuickBooks Online Integration à Sync Queue. Click “Add Customers”, “Add Products”, “Add Orders”, “Add Invoices”, “Add Credit Memos” one by one in the same order as mentioned to add all here in the sync queue. Click on “Synchronization” button to sync them gradually with QuickBooks.

 

  1.  History Logs
    After synchronization is done, the status of each entity is shown with the details on the separate grid in backend at QuickBooks Online Integration à History Logs. If the data is synchronized right, the status will be success else if there’s problem during data sync, it will show error status.

 

  1. Synchronized Products in QuickBooks
    After successful synchronization of Magento 2 products, move to Sales à Products and Services from the QuickBooks dashboard where you can see all the products listed.

 

  1. Customers, Orders, Invoices, Credit Memos Grid after Synchronization
    After synchronization of customers, orders, invoices and credit memos in QuickBooks, if you check the backend grid of individual, you can see QBO ID for each entity.
  • Customers Grid with QBO Customer ID
    After the successful synchronization of customers to QuickBooks, move to Customers à All Customers to see QBO customer ID. The admin can select multiple customers and use “Sync to QuickBooks” mass action to sync them manually.

 

    • To see the mapped customers in QuickBooks, from the QuickBooks dashboard, click on Sales à Customers.

  • Orders Grid with QBO Order ID
    After the successful synchronization of orders to QuickBooks, move to Sales à Orders to see QBO order ID. The admin can select multiple orders and use “Sync to QuickBooks” mass action to sync them manually.

 

  • Invoices Grid with QBO Invoice ID
    After the successful synchronization of invoices to QuickBooks, move to Sales à Invoices to see QBO invoice ID. The admin can select multiple invoices and use “Sync to QuickBooks” mass action to sync them manually.

 

    • To see the mapped orders and invoices in QuickBooks, from the QuickBooks dashboard, click on Sales à All Sales à Invoices.

 

  • Credit Memos Grid with QBO Credit Memo ID
    After the successful synchronization of credit memos to QuickBooks, move to Sales à Credit Memos to see QBO credit memo ID. The admin can select multiple credit memos and use “Sync to QuickBooks” mass action to sync them manually.