1.Introduction
This is the manual for the integration between Opencart and Exact Online.
- This integration is a financial integration. It is not a logistics integration. It is not suitable for updating customers in Exact Online, printing packing slips, or synchronizing products/inventory.
- This integration does not replace the work of an accountant. It saves time because you no longer have to retype documents. The accountant is still needed for advice, expertise, and control.
Tip: Other customers using this integration found the tips in the FAQ for Opencart and in the FAQ for Exact Online.
Installing the integration starts with signing up for a trial period, via our integrations page. After registration, you will receive an email containing an installation URL and login details. With this installation URL, you start the installation of the integration.
The installation is complete when both connection dots are green, and the settings in the Configuration tab have been entered and saved.
There is a trial period of 30 days.
If you want to install another integration, you can do so in the same way. Make sure you are logged out of the integration dashboard and preferably start the new installation in an incognito browser.
At the end of the trial or subscription period, the integration will not be automatically renewed. You will receive an offer for a one-year subscription or renewal by email at the end of this period. You can confirm the renewal by using the payment link in that email. Do you want to terminate the integration in the meantime? This can be done via the dashboard, tab Profile>>Cancel integration.
Are you switching to another web shop/accounting system and do you want to re-establish a connection? In this faq we explain how to do this.
We advise you to revoke the API key and remove the extension from your webshop when uninstalling the integration.
2.How the integration works
Please note: The integration always creates the invoice, order or sales booking with status Draft. This is because deleting or adjusting is otherwise very difficult in Exact Online.
New orders from your webshop are retrieved from the webshop at least once per hour. The status of the order is reviewed, and if the order is allowed to be processed, this will occur. If the orders are not yet allowed to be processed, they are checked every night to see if the status has changed and the order can be processed.
Read more How the integration works .... Read less How the integration works ....
At the start of processing an order, we perform a number of checks on the Opencart order:
- It is checked whether the total of the Opencart order is equal to the sum of the amounts in the order lines plus the shipping cost amount.
- If the order is an ICP order, the VAT number is checked.
- It is checked whether a corresponding VAT code exists in Exact Online for the VAT in each line.
- It is checked whether the order has not already been processed.
Processing a Opencart order to Exact Online takes place in three steps:
- It is checked if the customer already exists in Exact Online. If not, the customer is created. Matching is based on the email address.
- When processing to Exact Online orders or invoices, a check is performed to see if the products from the Opencart order are already present in Exact Online. Missing products are created.
- The Exact Online invoice, order or sales booking is created and added.
After the order has been forwarded and a success message from Exact Online has been received, the order is marked as handled. The Opencart order appears at the Reporting tab on the dashboard.
If Exact Online returns an error while processing the order, the order appears in the Errors tab on the dashboard. Via the yellow button More info more information about the problem can be found. Via the red button Report problem can the order with all necessary information easily be submitted to us after you have tried to resolve the problem yourself. If the problem is solved, in some cases the orders can be processed again with the blue Process button.
Data
Information about the data that is processed can be found in the section Day-to-day: To Exact Online later in the manual.
3.Required: OpenCart Secret key
The integration uses an OpenCart module. You can download this module here:
- cloudinvoiceopencart2.3.zip (OpenCart version 2.3)
- cloudinvoiceopencart3.zip (OpenCart version 3)
You install the extension on your webshop via FTP. You will see the Settings cloudinvoice platform module appear under Modules in your administration panel.
Click on Install to install the module and then on Edit to configure the connection. The license key is the key you received in the registration email. You create the API key to read orders and tax rates from OpenCart yourself. You can think of this API key as a kind of password. Just like with regular passwords, a complex password means you are protecting your data even more. We therefore advise you to enter an API key with a length of at least 15, consisting of numbers, letters, uppercase letters, and the punctuation marks !, *, @, #, (, ) and =. Compose your API key carefully. A good API key makes the connection much more secure. The maximum length of the API key is 64.
4.Preparation Exact Online
To integrate with Exact Online, a dedicated username and password are required to log in. The integration must be established using this username and password. A separate username is required for each connection. Therefore, if you have two or more integrations with Exact Online running with us, you will need two or more Exact Online usernames. See this faq more information.
Using an accountancy username/password grants the integration access to all records under the accountant's responsibility. This is highly undesirable from a security standpoint and violates GDPR regulations. See this faq for more information.
5.Installation
Installing the integration starts with signing up for a trial period, via our integrations page. After registering, you'll receive an email with an installation URL and login details. Use this installation URL to start the integration installation.
Activating the integration consists of three steps:
1. Establishing the connection with the OpenCart webshop. Through this step, you authorize the integration to read the data from your webshop.
2. Establishing the connection with Exact Online. This authorizes the integration to write transactions to your Exact Online administration and read information.
3. Configuring additional data, such as the VAT settings.
Authentication with your OpenCart webshop is done via the API key you created in a previous section. Click the red Connect button next to OpenCart and enter the API key in the popup window. If the connection is correctly established, the indicator will turn green. If the connection is not established, check that the API key has a maximum length of 64 and that the license key was not accidentally entered.
Authentication with Exact Online is via OAuth. Ensure you are logged out of Exact Online before starting the connection. Now click the red Connect button. A login screen for your Exact Online account will appear automatically. Once you log in, you will see a screen asking if you allow the connection. Upon confirmation, the connection with Exact Online will be established.
If you wish to re-establish the connection at a later time - for example, because you want to connect via a different Exact Online user - you can always do so by clicking the Connect button.
Orders from Opencart can be processed to Exact Online orders, invoices or sales entries. The desired option can be selected via the contract settings.
Exact Online Division code
It is important that after establishing the connection with Exact Online, you first set the division code of your Exact Online administration. As long as the division code is unknown, data from your Exact Online administration—such as VAT codes, ledger accounts, journals, and payment conditions, which depend on this division code—cannot be retrieved. After setting the division code, it may be useful to retrieve the data from Exact Online again. You can do this via the two arrows next to the copy button.
Exact Online Journal
A journal must be set for the entries. A sales journal must be set here for creating sales entries. For Dutch administrations, this is usually journal 70 and for Belgian administrations 700. A cash journal must be set for the revenue entries. For Dutch administrations, this is usually journal 10.
Payment condition Exact Online
When creating new debtors, the integration will set a payment condition. The payment condition that the integration adds to new debtors can be selected via the dropdown. This payment condition is not added if it concerns an existing debtor.
When configuring the VAT rates and general ledger accounts, a link is created between the VAT rates in webshop and the VAT codes and revenue accounts in Exact Online. You can always make changes by clicking the blue 'Edit' button and selecting an option from the drop-down menus.
By default, all EU countries are shown in the list. You only need to configure the countries you sell to, and - if applicable - ICP and International.
The integration shows the standard VAT rates for Europe. You can adjust the VAT percentage with which you sell - left column. For example: By default, sales to Germany are set to 21%, but if you sell in the webshop with 19%, you can adjust that in the left column. Intra-Community (ICP) and international deliveries
The Intra-Community supplies / ICP option is intended for business-to-business deliveries within the EU. These sales are invoiced with 0% VAT. A VAT number from the customer is required. The International option applies to deliveries outside the EU. For these sales, the integration expects 0% VAT; otherwise, the sales cannot be processed. Separate VAT codes and general ledger accounts can be configured for both ICP and international deliveries.
The Exact Online VAT codes are shown depending on the contract settings. If Exact Online excl is selected, only the Exact Online VAT codes excl will be shown. If Exact Online incl is selected, only the Exact Online VAT codes incl will be shown. Only the Profit and Loss ledger accounts on the credit side are shown.
Once the VAT settings have been configured and saved, you will always see the set VAT rates. If you want to start over, you can use the grey button 'Remove VAT settings'. Your current settings will then be deleted.
You can create a link here between the payment methods in the webshop and a fixed debtor in your Exact Online administration. Orders with a payment method from the list will then always be posted to this debtor. In that case, no new debtors will be created.
Note: It is not possible to set fixed debtors for ICP orders. For an ICP order, a valid VAT number must be transmitted. Therefore, a debtor will always be created in Exact Online for an ICP order.
Please note: The list of debtors only includes the Exact Online debtors whose name contains a specific substring. See this FAQ for more information.
6.Day-to-day: From OpenCart
In this section, we show how we retrieve the orders from the webshop.
Once an order has been processed, it cannot be processed again. Any order changed in the webshop after it has been processed will not be updated in Exact Online.
7.Day-to-day: To Exact Online
Create transactions
When creating sales entries (SalesEntries) in Exact Online, the order number is processed and new debtors are created if they are not yet in Exact Online.
When creating invoices (SalesInvoices) or orders (SalesOrders), the products are also processed if they are not yet present in Exact Online.
Creating new debtors
When processing customer information, a check is first made to see if the customer has been processed before. If so, this Exact Online debtor is used as the debtor for the Exact Online transaction. If the customer is not yet known, they are added to Exact Online. Matching is based on email address.
Please note: The integration only creates debtors. The integration does not modify debtors.
Create products
The following only applies if you process orders to Exact Online invoices or orders.
New products in Exact Online If the orders are processed to Exact Online invoices or orders, the integration first checks whether the products from the order already exist in Exact Online. The integration then adds missing products to Exact Online. If a product already exists in Exact Online, it is not added again. The rules for matching products between Opencart and Exact Online can be found in this FAQ be read.
If orders are processed to Exact Online orders, new products are automatically linked to a default warehouse. During installation, you can specify the default warehouse. Only one warehouse per integration is possible. Separate dummy products are created for shipping costs, payment costs, and discounts.
Please note: The products are only created in Exact Online. Products in Exact Online are never modified.
Disable ledger mapping: When processing to Exact Online invoices, it is possible to create the invoice without a ledger account. For an explanation see this FAQ. If you wish to use this option, please contact us. For Exact Online orders, the integration never provides a ledger account; the product in Exact Online determines the ledger mapping. For Exact Online sales entries, the integration does not provide products. Therefore, ledger mapping cannot be disabled for this option either.
VAT products When creating new products in Exact Online, the integration uses the VAT percentage from the sales line.
Field-level specification Exact Online
| Name | Example | Note |
| Customer ID | 6a7...e44 | The integration looks up the customer in Exact Online. If the customer is not yet present, the integration creates the customer in Exact Online. Matching is based on email address. |
| Date | 2022-12-05 | The order date |
| Status | 10 | Fixed value, cannot be adjusted |
| Description | 3300 | The order number from the order in Opencart. |
| Your reference | 3300 | The order number from the order in Opencart. |
| Payment reference | 3300 | The order number |
| WarehouseID | f40...cec | As configured on the dashboard, Configuration tab |
| Shipping address | Identifier | If the shipping address differs from the billing address, the integration creates a separate shipping address in Exact Online. The identifier from the shipping address is provided. |
| Order lines | ||
| Description | Gloss - 5 mtr | Name of the product in the Opencart sales line |
| Item | 227...2ed | The identifier of the product from Exact Online |
| Amount | 39 | |
| Price | 5.2000 | Depending on the contract settings. Usually the unit price incl. VAT. |
| VAT code | 2 | As configured on the dashboard, Configuration tab |
| Currency | EUR | The currency of the Opencart order. This option is disabled by default. On request, the currency from the sale can be added |
| Name | Example | Note |
| Customer ID | 6a7...e44 | The integration looks up the customer in Exact Online. If the customer is not yet present, the integration creates the customer in Exact Online. Matching is based on email address. |
| Date | 2022-12-11 | The order date |
| Type | 8020 or 8023 | 8020 for regular invoices, 8023 for direct sales invoices. |
| Status | 20 | Draft, the integration only creates invoices with draft status. |
| Journal | 70 | Sales journal |
| Description | Order number 8790 | |
| Your reference | 8790 | |
| Remark | # | Payment method # |
| Payment reference | 8790 8790 | |
| WarehouseID | f40...cec | Only for Direct invoices. This must be requested separately. As configured on the dashboard, Configuration tab |
| Invoice lines | ||
| Description | Guide guidebook | Name of the product in the Opencart sales line |
| Item | 227...2ed | The identifier of the product from Exact Online |
| Amount | 1 | |
| Price | 79.99 | Depending on the contract settings. Usually the unit price incl. VAT. |
| VAT code | 4 | As configured on the dashboard, Configuration tab |
| Revenue account | 239...5fa | As configured on the dashboard, Configuration tab. On request, this field can be omitted. Ledger mapping will then be disabled. |
| Name | Example | Note |
| Customer ID | f40...cec | The integration looks up the customer in Exact Online. If the customer is not yet present, the integration creates the customer in Exact Online. Matching is based on email address. |
| Date | 2022-12-12 | The Order Date |
| Journal | 70 | Sales journal |
| Status | 20 | Draft, the integration only creates sales entries with draft status. |
| Description | 7800 | The order number from the order in Opencart. |
| Your reference | 7800 | |
| Payment reference | 7800 | |
| Sales entry lines | ||
| Description | hard floor brush | Name of the product in the Opencart sales line |
| Amount | 1 | |
| Price | 5.95 | Depending on the contract settings. Usually the unit price incl. VAT. |
| VAT code | 4 | As configured on the dashboard, Configuration tab |
| Revenue account | 3f3...219 | As configured on the dashboard, Configuration tab. |
8.Support
Read more Support .... Read less Support ....
Explanation tabs dashboard
On the Dashboard >> Report you can see which orders from your Opencart webshop, and when, have been transferred to Exact Online.What if orders are missing in Exact Online
If orders are missing in Exact Online we recommend following the steps below:- Log in to the dashboard: https://uwkoppeling.webwinkelfacturen.nl. The username and password are included in the registration email.
- Go to the Errors tab and check if order is there. You may need to adjust the search period if the
order is from a previous month. If you find order in this overview:
- Check the error code and verify whether you can resolve it yourself.
- If yes resolve the issue and click the blue Process button to resubmit the order.
- If not use the red Report problem button to create a ticket with us.
- Note if there are multiple errors, please create only 1 or 2 tickets. We will automatically see the other issues.
- Go to the Report tab and see if order is listed there. If so, you'll often see an identifier for Exact Online (in the purple section of the overview) that you can use to search for order.
- Go to the Open tab and check if order is there.
- If you cannot resolve the issue, you can always create a ticket via the green Ask us button.