1.Introduction

This is the manual for the integration between Opencart and AFAS.

This integration ensures that orders from the Opencart webshop are automatically processed to orders or financial entries in AFAS. Because the orders arrive directly in the retailer's accounting system, this saves time on the financial administration.

Please pay special attention to the following
  1. This integration is a financial integration. It is not a logistics integration. It is not suitable for updating customers in AFAS, printing packing slips, or synchronizing products/inventory.
  2. 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.
  3. It is possible to process to AFAS sales orders, but there are restrictions. For example, new products are placed in item group 900 by default, VAT type 1 is used for low VAT and VAT type 2 for high VAT in new products.
  4. Tip: Other customers using this integration found the tips in the FAQ for Opencart and in the FAQ for AFAS.

Read more Introduction .... Read less Introduction ....

Install integration
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.

Cancel integration
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

A order from the Opencart webshop is processed to a AFAS order or financial entry.

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 ....

Pre-check orders
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 AFAS for the VAT in each line.
  • It is checked whether the order has not already been processed.

Processing orders
Processing a Opencart order to AFAS takes place in three steps:
  1. It is checked if the customer already exists in AFAS. If not, the customer is created. Matching is based on the email address.
  2. When processing to AFAS orders, it is checked whether the products from the Opencart order are already present in AFAS. Missing products are created.
  3. The AFAS order or financial entry is created and added.

Post-check
After the order has been forwarded and a success message from AFAS has been received, the order is marked as handled. The Opencart order appears at the Reporting tab on the dashboard.

If AFAS 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 AFAS 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.

Read more Required Opencart ....
Read less Required Opencart ....

 

 

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.Required: AFAS Key and connectors

To get the connection working, an AppConnector must be created in the Afas Administration. The AppConnector must be populated with GetConnectoren and UpdateConnectoren.

Read more Required Afas.nl ....
Read less Required Afas.nl ....

Step 0: Create user group and special user

Afas advises you to create a separate username and user group for the connection.

  1. Creating a separate user group is done via General > Administration > Authorization tool
  2. Create the new user group via Group > New and fill in the details.
  3. Create system user and place in group
    • Go to User > New system user
    • Vul de gebruikersnaam en omschrijving in.
    • Click on: Next.
    • Profit Windows must be unchecked.
    • Complete the wizard. You do not need to enter an email address and UPN.
    • Go to the tab: Group maintenance.
    • Select the user group you created in step 1.
    • Go to the tab: Users in group.
    • Click on New.
    • Check the connector user.
    • Click on: Ok.
    • Close the Authorization tool. You do not need to reopen the environment.
    • Also see https://help.afas.nl/help/NL/SE/App_Auth_Group_Add.htm

 

Step 1: Create AppConnector

To create the AppConnector, log in to the Profit environment and go to General > Administration > AppConnector.

Enter a clear description for the AppConnector and specify a user group. Afas users in that user group can use the connector.

Then click Finish.

The AppConnector opens. The check mark next to Blocked is pre-checked. Remove this check mark.

Step 2: Add GetConnectoren

We make the GetConnectors available as a zip file. You can download this file here: https://www.webwinkelfacturen.nl/afas_getconnectors.zip

Extract the zip file on your own computer.

Then go to General > Output > Management > GetConnector and click on import.

You can import the GetConnectors one by one. After that, you can add them to the AppConnector. If you are working in a browser, you can upload the GetConnectors to your temporary Afas drive via the lines at the top of the screen and the upload circle.

Step 3: Add UpdateConnectoren

Go to the Update Connectors option and click New to add a new Update Connector. We recommend adding these connectors:

  1. FbItemArticle - for adding products
  2. FiEntries - for adding financial transactions
  3. FbSales - for adding orders
  4. KnSalesRelationOrg - for adding customer organizations
  5. KnSalesRelationPer - for adding customer relationships

Step 4: Add user tokens

Via the User Token tab, you can generate a code to authorize the connection to the Afas environment. Click on New to create a new user token.

Select the user and provide a description. You can create multiple tokens for one user.

A screen with a special code will now appear. Save this code carefully. You will need this code during the configuration of the connection on the dashboard https://uwkoppeling.webwinkelfacturen.nl. Please note that you need the entire code, including the 1 part.

If you are working via the browser, you can copy the code from the top of the screen. This saves a lot of typing and prevents errors.

 

5.Installation

After installation, check using this FAQ, whether the integration works.

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 AFAS. This authorizes the integration to write transactions to your AFAS administration and read information.
3. Configuring additional data, such as the VAT settings.

Read more Installation ....Read less Installation ....

Before the integration can be used, the terms and conditions must first be accepted. The terms and conditions are based on the general ICT Terms and Conditions (industry organization) and the general GDPR guidelines. We also need a name, email address, and the country of the webshop.

Authentication OpenCart webshop:
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 AFAS
Establishing the connection with AFAS is done via the red Connect button in the Configuration tab. In the pop-up, you enter your Customer Code (this is the AFAS online 5-digit member number), and the token you created in the previous section. Please note, you need the entire code as a token, including the 1-part.

Settings AFAS
To use AFAS, select an administration within your account. You also indicate in which journal the revenue should be posted and what the debtors account is. The journal for processing (individual) orders will be a Sales journal.

Configure VAT rates and general ledger accounts
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 AFAS. 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.

Once the VAT settings have been configured and saved, you will always see the selected VAT rates. If you want to start over, you can use the grey 'Remove VAT settings' button. Your current settings will then be deleted and you can begin again.

Configure payment methods
You can create a link here between the payment methods in the webshop and a fixed debtor in your AFAS 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 AFAS for an ICP order.

6.Day-to-day: From OpenCart

In this section, we show how we retrieve the orders from the webshop.

Processing schedule: New orders from your webshop are retrieved at least once per hour. In addition, every night the orders that were previously retrieved and not yet forwarded to your accounting system are reviewed. An order is processed depending on the status of that order. You can use the dashboard, tab Configuration, set at which statuses orders should be processed.

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 AFAS.



VAT calculation: The VAT setup of OpenCart is complex and the work of specialists. For OpenCart VAT, the geozone IDs, tax rules, and tax rates must be correctly configured, especially if you deliver to multiple countries. Unfortunately, we do not provide support for the VAT setup of the OpenCart webshop.

7.Day-to-day: To AFAS

This data is processed to AFAS:

Creating orders / sales transactions
The orders from Opencart are imported into AFAS as financial entries or orders. For each order, the VAT and general ledger account are provided as configured during the installation of the integration.
When creating entries / orders, new debtors and/or products may be added to AFAS.

Cost center It is possible to provide one default cost center to the order or sales transaction. One default cost center is possible per integration. Contact webcare@webwinkelfacturen.nl stating the license key to make use of this.

Create debtors
When processing customer information, it is first checked whether the customer has been processed before. If so, this AFAS debtor is used as the debtor for the AFAS order or financial entry. If the customer is not yet known, they are added to AFAS. Matching is based on email address. Please note: The integration only creates debtors. The integration does not modify debtors.

Create products
When processing to AFAS orders incl. products, products that are not yet in AFAS will be added. See here for an explanation of how product codes are determined FAQ. The product is assigned VAT group 1 if the product has 9% or 6% in the sales line. Otherwise, the new product is assigned VAT group 2. The product is automatically placed in AFAS item group 900. Ensure that this is also configured in the AFAS administration, otherwise the entries may go wrong.
Please note: The integration only creates products. The integration does not modify products.

The rules for matching products between Opencart and AFAS can be found in this FAQ be read.

Automatically sending invoices
The integration creates an order or financial entry in AFAS, not an invoice. Therefore, the integration cannot ensure that the invoice is automatically sent to the customer.


Field-level specification AFAS

Field-level specification of the AFAS financial booking.+-
AFAS Financiële boeking
Name Example Note
Paragraph
Year 2023 Invoice date year (Opencart order)
period(Peri) 03 Invoice date month (Opencart order)
UniqueId(UnId) 3 Administration - One administration is possible per integration.
Journal(JoCo) 01 Journal
(AutoNumber)AuNu 1
AFAS assigns the invoice numbers (default) - can be adjusted to the invoice or order number upon request.
Total line
AccountNumber(AcNr) 89302
EnDa 2023-03-01 Order date
BpDa 2023-03-01 Order date
Description(Ds) ORD08725 Description - Opencart order number.
BpNr ORD08725 Payment reference - Opencart invoice or order number.
AmountDebet(AmDe) 24.95 Total price incl. VAT - debit.
Cost center(DiC1) xxxx The default cost center if configured.
If AFAS does not determine the invoice number - order number or invoice number
Revenue line
VaAs 2 1 = General ledger account. 2 = debtor
AccountNumber(AcNr) 89302
EnDa 2023-03-01 order date
BpDa 2023-03-01
Description(Ds) ORD08725, INV09854 Description - Opencart order or invoice number.
BpNr ORD08725 Payment reference - Opencart invoice or order number.
AmountDebet(AmDe) 24.95 Total price incl. VAT - debit.
If AFAS does not determine the invoice number - order number or invoice number
VAT lines
VaAs 1 1 = General ledger account. 2 = debtor
AccountNumber(AcNr) 8000
EnDa 2023-03-01 Order date
BpDa 2023-03-01 Order date
Description(Ds) Garden light Description: VAT - Name in the order line - Amount excl. VAT.
BpNr ORD08725 Entry number: Opencart invoice number or order number.
AmountCredit(AmCr) 20.62 VAT amount - credit.
VatId(VaId) 101 VAT account
If AFAS does not determine the invoice number - order number or invoice number.
Any rounding difference is processed in the VAT amounts if the rounding difference is 5 cents at most.
Field-level specification of the AFAS order. +-
Name Example Note
Paragraph
OrderNumber (OrNu) [number] Opencart - invoice or order number.
OrderDate(OrDa) [date] Opencart - order date..
DebtorID(DbId) [debtornr] AFAS debtor ID
Unit [division] Administration - Per integration, the administration is fixed.
CurrencyId(CuId) EUR Currency - This option is disabled by default. You can contact us if you wish to use this.
InclVat(InVa) true Total price incl. VAT (true), unless afasexcltax is configured.
War ***** Default for the warehouse, can be overwritten via the settings
Reference(Re) [notes] Comment - if present.
FRef [number] InvoiceReference (payment reference) Opencart order number
line
Description(Ds) [name] Description
Ledger account as configured on the dashboard.
Quantity(QuUn) 1 Amount
ItemCode(ItCd) [productid] Productcode
Unitprice(Upri) excl. / incl. VAT Unit price, as configured on the dashboard.
Field-level specification of the AFAS customer. +-
Name Example Note
CuId EUR Not editable
IsDb true Not editable
PaCd 14 Not editable
PersonDetails
Padadr true Not adjustable
AutoNum true Not editable
MatchPer 7 Not editable
SpNm false Not editable
FiNm Karin
Last name de Wit
ViGe 0 Not editable
EmAd info@sponiza.nl
AdresDetails
CoId NL AFAS country code
PbAd false Not editable
StAd Not editable
Ad Stationstraat
HmNr 12
ZpCd 1000 AA
Rs Amsterdam
Field-level specification of the AFAS product. +-
Name Example Note
AutomaticID(AuId) false
ItemCode(ItCd) [ArticleKey]
ChDs false
Group(Grp) 900
BiSt false
BiUn *****
VaRc [Vattype] VAT type
CostPrice(CoPrice) [costprice]
SalePrice(SaPrice) [priceIncl] Unit price INCL.
BatchCode(BaCo) [eannumber] Product Number

8.Support

We believe it is important that you as online retailer have direct access to information about the integration whenever you want. That is why every customer has a personal dashboard.
Read more Support .... Read less Support ....

Persoonlijk

Explanation tabs dashboard

On the Dashboard >> Report you can see which orders from your Opencart webshop, and when, have been transferred to AFAS.

At Dashboard >> Errors you can see which orders have not been processed. Via the blue Process button you can (re)submit the order. Via the red Report problem button you can create a ticket with us.

At Dashboard >> Open the orders are listed that have not yet been processed because they do not yet have the correct status in the webshop. Every night jobs run to review the status again and still process the order.

At Dashboard >> Configuration the settings of your integration are listed. You can adjust the settings there.

At Dashboard >> Profile invoices are available for download. You can also specify an additional email address here for sending emails and stop the integration.

What if orders are missing in AFAS

If orders are missing in AFAS we recommend following the steps below:
  1. Log in to the dashboard: https://uwkoppeling.webwinkelfacturen.nl. The username and password are included in the registration email.
  2. 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:
    1. Check the error code and verify whether you can resolve it yourself.
    2. If yes resolve the issue and click the blue Process button to resubmit the order.
    3. If not use the red Report problem button to create a ticket with us.
    4. Note if there are multiple errors, please create only 1 or 2 tickets. We will automatically see the other issues.
  3. Go to the Report tab and see if order is listed there. If so, you'll often see an identifier for AFAS (in the purple section of the overview) that you can use to search for order.
  4. Go to the Open tab and check if order is there.
  5. If you cannot resolve the issue, you can always create a ticket via the green Ask us button.

You can send any other questions or comments to webcare@webwinkelfacturen.nl. For a quick response, please always include the license key and as much information as possible. If you encounter any problems during installation, please let us know where you're experiencing the issue. And if there's an error message, please include that as well. If you think orders is missing, please provide the number and date. This way, we can perform a more targeted search and tell you what's wrong.

We have an extensive FAQ-section on the website. Pay particular attention to these sections: https://faq.webwinkelfacturen.nl/category/26/opencart.html and https://faq.webwinkelfacturen.nl/category/69/afas.html.

Would you rather have us do the installation of the integration for you? That is possible. Send an email to webcare@webwinkelfacturen.nl with the request. For an installation, we charge € 39.50 excl. VAT. For installations, we need access to the webshop and the accounting system.

We can perform migrations for orders that took place in the past. The request procedure and method are described in this faq. For migrations we charge €67.50 excl. VAT per 1000 orders.