Using the Opencart QuickBooks Connector you will be able to sync your Opencart Store – Customer, Product, and Order details with the QuickBooks.
Also, when a new user registers, or you add a new product, and when an order is placed by customers all of this data is automatically synchronized with your QuickBooks account.
The admin is also able to import products/customers from QuickBooks to the Opencart Store. Also, whenever a customer/product information is edited at Opencart it is auto-updated at Quickbooks as well.
For integrating QuickBooks Desktop with OpenCart, then please check out OpenCart QuickBooks Desktop Connector module.
Features- Opencart QuickBooks Connector
- Admin can manually synchronize the Opencart store – Customers, Products, and Orders with the QuickBooks.
- Auto-Sync New Customer Registration from the Opencart Store to the QuickBooks.
- Newly Added Products will be Auto- Sync From the Opencart Store to the QuickBooks.
- Auto-Sync Orders placed from the Opencart Store to the QuickBooks.
- The Guest Order can also be synchronized from OpenCart to QuickBooks.
- Auto edit Customer information at QuickBooks when edited at Opencart Store.
- Auto edit Product information at QuickBooks when edited at Opencart Store.
- Real time synchronization in QuickBooks to your Opencart store and Opencart store to Quickbooks.
- Import Customers from QuickBooks to your Opencart store.
- Import Products from QuickBooks to your Opencart store.
- Batch processing in order to reduce the data sync time.
Installation
Customers will get a zip folder and they have to extract the contents of this zip folder on their system according to their Opencart version.
The extracted folder has – admin, catalog, ocmod, system, and wk_qbo folders. You need to transfer the admin, catalog, system and, wk_qbo folders into the Opencart root directory on the server as shown below.
Now, you will navigate to Extension Installer and upload the file wkqboc.ocmod.xml which you will find inside the ocmod folder.
Then navigate to ->Extensions->Modifications and click refresh on the top right-hand side as shown below.
After that, navigate to System -> Users -> User Group and edit the administrator and select all for “Access Permission” and “Modify Permission” as per the snapshot below.
Module Translation
As this Opencart QuickBooks Connector module supports multiple languages so this section will describe how to make the module work in different languages. Please check this link for language translation.
Configuration
Once you have performed the above steps you can now see the module under Extensions->Modules->Webkul QuickBook Online Connector from here you can install and edit it.
Click the edit option to configure the module, this brings up another page as per the below screenshot.
Connector Configuration
Here the admin will –
- Enable or Disable the module.
- Select Order Mapping on QuickBooks – Orders will be mapped on the selected transaction type(Sales receipt, Invoice, Estimate, and Credit Memo). This will be reflected in your QuickBooks online account as shown below in the snapshot.
- Select the Mode as Sandbox(testing mode) or Development(Live mode) as required.
- Now choose the Authentication Mode as OAuth or OAuth2.
- Enter the Oauth Consumer
- key/Client ID.
- Secret/Client Secret.
- Enter the Oauth Authentication
- Token/Access Token Key.
- Secret/Refresh Token Key.
- Realm ID/Company ID.
- Set the Sync Slot number(It should be between 3 to 50. It’s used to set the number of records that will be synced at a time).
- Select the Categories for the Imported products from QuickBooks.
Lastly, save the configuration by clicking the Save button at the top right-hand corner.
**Note: Before using this module, please install the Oauth on your server. For Oauth installation you may follow the blog: https://webkul.com/blog/ubuntu-oauth-installation/
How to get the QuickBooks Keys?
- You need to go here https://developer.intuit.com/ and then click on the Sign In option on the top right-hand side to bring up the Sign-in page. On the Sign-in page click “Create an account” to create a new account.
- Now, enter the details required for registration and then click the “Create Account” option on the registration page.
- After clicking the Create Account option your account will be created on QuickBooks. Henceforth, you will see a page that has an option to ‘Create an app‘.
- On clicking create an app the creator need to select the platform for development. Herein, Quickbook Online and Payments need to select.
- Thus, the app developer will get a screen wherein the app name and scope for the API. Herein both the scope need to select. Then click on Create App.
- After creating the app, go to the Keys & OAuth wherein client id and client secret key is visible.
However, the redirect URL can be added as – siteurl/index.php?route=account/validateoauth
Quickbooks- Company Settings
After the above step, you will now navigate to Settings and select Company Settings option.
The section that comes up click on the Sale and then edit- the Sales from the content section as shown below in the snapshot.
Lastly, check the shipping check-box and click the save button. If this shipping option is disabled then the orders will not sync.
- After the above step, go to the Setting menu option and just click the app name to rename your new app. Now, click the Save button to save the configuration.
- Now, go to the “Keys” menu option. Here you will find your – OAuth Consumer key, and OAuth Consumer Secret. Copy these keys to the module configuration part in the admin panel.
**Note: If you are using the application in the sandbox mode then you can make use of Development keys. If you are using the application in the Live mode then you can make use of the Production keys.
To get the rest of the keys – Access Token, Access Token Secret, and RealmId you have two options to choose from:
Connect To QuickBook Button
8(a) Click the Connect to QuickBooks button at the bottom end of the module configuration page as shown below –
After clicking the Connect to Quickbooks button, a pop-up window will appear. You need to enter your Email or User Id and Password for the same. After that, click the Sign In button as shown below in the snapshot.
After this, you will select your company to proceed further. This brings up the pop-up to authenticate the app. Click Authorize to authenticate, after this you will find the required fields auto-filled.
Key Button
8(b) Or you can also click the ‘key‘ option after which you will be redirected to another page.
Here, enter the already generated keys from the above step and enter the Access Token Duration – to set the minimum seconds before it expires. Lastly, tap the option – Connect to QuickBooks.
**Note: After going through the above steps, depending upon the selection for Authentication mode as OAuth or OAuth2 in the admin back-end setting you can proceed further for receiving respective keys.
For receiving the keys for the OAuth –
A) After clicking the ‘key‘ option in the above snapshot you will be redirected to another page. Here, enter the already generated keys from the previous step and enter the Access Token Duration – to set the minimum seconds before it expires. Lastly, tap the option – Connect to QuickBooks.
- Now a pop-up appears where you have to authorize your application to submit data on your behalf. Click “Authorize” to allow the application.
- Finally, you will now get the rest of the keys – Access Token, Access Token Secret, and RealmId.
For receiving the keys for the OAuth2
B). After clicking the ‘key‘ option in step 7 you will be redirected to the below page(If the authentication mode is selected as OAuth2).
Now, select your application from the drop-down, select scopes as “Accounting” and “Payments” and then click the “Get Authorization Code“.
2. Now a pop-up will appear wherein you have to tap the “Authorize” button.
3. After this, you will receive the Realm ID. Copy this into the module configuration section in the admin backend and after that you will have to click on the “Get Token” button.
4. Now, you will have the “Realm ID” and the “Access Token“. Click Get company info.
5. lastly, you will get the Access Token and the Refresh Token.
How To Synchronize – Customers, Orders, and Products
Syncing your Opencart Customers to the QuickBooks
The admin will navigate under dashboard -> QuickBooks ->Customers. Here the admin has two option to select from – All Customers or Only Enabled Customers.
If the admin selects ‘All Customers’ then all of the customers of the Opencart will be synchronized to the QuickBooks otherwise ‘Only Enabled Customers’ will be synchronized.
To export the customers from Opencart to Quickbooks the admin will tap the – Export Customer button. Similarly, clicking the Import Customer button, the admin can import the customers from the QuickBooks to the Opencart Store.
Whenever any new customer registers himself at your Opencart store they will be automatically synchronized with the QuickBooks.
Here, the admin can also filter the customers using various filter options like -Opencart Customer Id, Customer Name, Quickbook Customer Id, email.
Syncing your Opencart Products to the QuickBooks
The admin will navigate under dashboard -> QuickBooks ->Products. Here the admin has two options to select from – All Products or Only Enabled Products.
If the store owner selects ‘All Products’ then all of the products of the Opencart will be synchronized to the QuickBooks otherwise ‘Only Enabled Products’ will be synchronized.
To export the products from Opencart to Quickbooks the admin will tap the – Export Product button. Similarly, clicking the Import Product button, the admin can import the products from the QuickBooks to the Opencart Store.
Thus, additionally, whenever the admin adds a new product to his Opencart Store it will automatically be synchronized with the QuickBooks.
Here, the admin can filter the products using various filter options like – Product Id, Name, Quickbook ProductId, and the Model.
Syncing your Opencart Orders to the QuickBooks
The admin will navigate under dashboard -> QuickBooks ->Orders. Here the admin can easily synchronize the orders by simply tapping the “Export Orders” option. Henceforth, now all the Opencart store Orders will be synced with the QuickBooks.
Whenever a new order is placed on your Opencart store it will automatically be synchronized with the Quick Books. The admin can filter the Orders using the Order Id and the Quickbook Order Id.
To check all of the synchronized data, the admin can login to his own QuickBooks account(Online) to view the Customers, Orders & the Products via –
Sandbox Environment – https://sandbox.qbo.intuit.com/qbo50/login
Production Environment –https://qbo.intuit.com/
How to create a Live/Production QuickBooks account?
**Note: For using a production account your site must have SSL.
Steps-
1: Intuit Developer Account
Go to developer.intuit.com . If you do not already have an account follow thislink to create one.
2: Get Product Keys
Now, select your app and then go to your keys section and scroll to the bottom. Here, you have to complete both the points to get your production keys.
3:Profile Details
Click on Complete your account profile option and another page will open up. Enter all the information on this page and select the QuickBooks platform as QuickBooks Online and lastly save the configuration.
4:Provide EULA & Privacy Policy URL’s
Now, complete the 2nd point – Provide EULA & Privacy Policy URL’s in Settings. Now, after taping the save button in the above step, you need to navigate to the settings section.
Here, enter the links under the Terms of Service links and then save the configuration by clicking the save button.
5: Generated Production keys
Now, go to the keys section to see the generated Production keys – Client Id and Client Secret.
**Note: You can add the redirect URL as – siteurl/index.php?route=account/validateoauth
Site URl is your website name. Example – https://webkul.com/index.php..
6: Manage Companies
Now, Go to your Production keys section and to it’s right click on Manage Companies.
7: Sign-up for Free Trial of Quickbook
This brings up another page. Here, click on the second link.
8: Plans
Clicking the link in the above step will bring the section to choose a plan. Select a plan according to your needs but the one that provides the below-stated permissions –
- Customer
- Product(Item)
- Sales Receipt(Orders)
- Account
9: Plan confirmation
We have selected the free trial account. Selecting a paid account will also bring up the same page to confirm your account. Here, click Yes, that’s the correct button.
10: Trail Pop-up
Now, a pop-up will appear. Make a selection as per the need to proceed further.
11: Business Details
The section that comes up, enter your company name and choose an option for how long have you been in business and then click Next.
12: Activities declaration
Select all under “What would you like to do in QuickBooks” and click All Set.
13: Subscription of trail
Lastly, keep using the trial(30 Days) or click the Subscribe now link to continue using the services.
Customers–
Products–
Orders–
Sales Receipt –
Here, you can see the details regarding the order that have synced like – Shipped via, Payment method used, Reference No(Opencart Order ID) and the Shipping Cost.
Real-time Synchronization
The orders, customers details, and products can be synchronized on real-time basis in Opencart. The data can be synchronized from Opencart to QuickBooks and QuickBooks to Opencart.
Steps to Get Credentials for Real-Time Synchronization-
After login to your intuit account. The user has to select the app name for which you want to generate the verifier token.
Now click on the Webhooks option present in the left and you will get the verifier token after entering endpoint url. This token is used in the backend module configuration.
Note: To get the verifier token admin has to enter the Endpoint URL in this form Base url+index.php?route=account/wk_qb_update.
Synchronization of Guest Order
Whenever a Guest Customer places an order, the default customer gets created in the QuickBooks.
Current Product Version - 3.3.0.0
Supported Framework Version - 2.x.x.x, 3.x.x.x
8 comments
Greetings for the day!
Thanks for the appreciation. If you have any issue then please mail us at [email protected] so that we can assist you in better terms.
Thanks