1.Introduction
This is the manual for the integration between CCV Shop and AFAS SB.
- This integration is a financial integration. It is not a logistics integration. It is not suitable for updating customers in AFAS SB, 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.
- It is only possible to process to AFAS SB financial entries.
Tip: Other customers using this integration found the tips in the FAQ for CCV Shop and in the FAQ for AFAS SB.
You install this integration from the CCV Shop App Store. If you select the Accounting category, our apps will appear automatically. You can recognize us as a provider by the blue gear icon. If you click on the App, you will see a description and the Install App button. During activation, you will be automatically guided through the configuration screens.
The installation is complete when both connection dots are green, and the settings in the Configuration tab have been entered and saved.
Important: Once the integration is installed, always log in to the dashboard via https://uwkoppeling.webwinkelfacturen.nl, and not from the app store.
The trial period for the integration runs until the first of the following month in which the integration was requested.
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.
If you want to terminate the integration, you can remove the app from the app store in your backend.
Are you switching to another accounting system and want to create a new integration? You can install the new app from the app store in your backend. Make sure you are logged out of the dashboard of the old integration and preferably start the new installation in an incognito browser.
Are you switching to another webshop system? Via our integrations page you can see whether you install it from the relevant app store, or by means of an installation link.
Has the installation been successful, but do you see in the dashboard of the integration the old license key still present when you click the dropdown arrow next to the key (even though that app/key has been deleted)? If so, please send us an email requesting that the old key be removed.
2.How the integration works
A order or invoice from the CCV Shop webshop is processed to a AFAS SB financial entry.
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 CCV Shop order or invoice:
- It is checked whether the total of the CCV Shop 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 SB for the VAT in each line.
- It is checked whether the order or invoice has not already been processed.
Processing a CCV Shop order or invoice to AFAS SB takes place in three steps:
- It is checked if the customer already exists in AFAS SB. If not, the customer is created. Matching is based on the email address.
- The AFAS SB financial entry is created and added.
After the order or invoice has been forwarded and a success message from AFAS SB has been received, the order or invoice is marked as handled. The CCV Shop order appears at the Reporting tab on the dashboard.
If AFAS SB returns an error while processing the order or invoice, the order or invoice 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 or invoice 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 or invoices 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 SB later in the manual.
3.Required: AFASSB connection
The following data is required for the connection with AFAS SB. You determine the first two values ​​based on the URL of your AFAS account. For example,take this URL https://app-center-demo.afasfocus.nl/webwinkelfacturen, then:
- Domain accountant: app-center-demo
- Domain customer: webwinkelfacturen
- API token:
- Go to the App Store via All Settings > App Center
- Search Webwinkelfacturen
- Click on the tile; you can now register and will receive an API token.
- Keep this key safe; it is needed for registration.

4.Installation
You install the integration between CCV Shop and afas via the CCV Shop App Store. First, the connection with your webshop is established and you authorize the integration to read data from your webshop. Explanation is provided in the Install integration section in chapter 1.
Read more Installation ....Read less Installation ....
1. Establishing the connection with AFAS SB. This authorizes the integration to write transactions to your AFAS SB administration and to read information.
2. Configuring additional data, such as the VAT settings.
Authentication AFAS SB
Establishing the connection with AFAS SB is done using the data you collected in the previous section:
- Accountant domain
- Customer domain
- API token
If you fill in and save this data, the dot next to AFAS SB on the screen should turn green. If that doesn't happen, use the refresh symbol next to the Copy button at the top right to retrieve all data again. You can also log out and then log in again.
To use AFAS SB, 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 or invoices will be a Sales journal.
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 SB. 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.
You can create a link here between the payment methods in the webshop and a fixed debtor in your AFAS SB administration. Orders or invoices 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 or invoices. For an ICP order or invoice, a valid VAT number must be transmitted. Therefore, a debtor will always be created in AFAS SB for an ICP order or invoice.
5.Day-to-day: From CCV Shop
Once an order or invoice has been processed, it cannot be processed again. An order or invoice that is modified in the webshop after it has been processed will not be adjusted in AFAS SB.
Field-level specification orders
| Below is an elaboration at field level when retrieving orders. The general values in the order and the order rules are discussed, the shipping costs and the debtor details. | ||
| Name field | Values from CCV Shop order | |
| Order-identifier | [id] | |
| Order number and reference | [ordernumber_full] | |
| Order and booking date | [create_date] | |
| ICP indication | [is_intra_community_order] | |
| International indication |
An order is an international order if:
|
|
| Valuta | [currency] | |
| Payment status | [paid] | |
| Payment method |
The payment method is determined as follows based on the field [paymethod]:
|
|
| Paymentmethod-id | [paymethod_id] | |
| Total amounts incl or excl VAT | The amounts in the order can be incl. or excl. VAT. This is determined by the field [taxes_included]. This value is important for determining the Total incl and the Total excl, see below. | |
| Total incl | The amount incl. VAT of the order is:
|
|
| Total excl | The amount excl. VAT of the order is:
|
|
| Total VAT | [total_tax] | |
| Total discounts incl or excl VAT | The amounts in the order can be incl. or excl. VAT. This is determined by the field [order_row_taxes_included] | |
| Total discounts incl. | The amounts are calculated depending on the field [order_row_taxes_included]. This value is important for determining Total discounts incl. and the Total discounts excl., see below.
|
|
| Total discounts excl. | The amounts are calculated depending on the field [order_row_taxes_included]:
|
|
| Name field | Values from CCV Shop order |
| VAT percentage | [tax], if the amount < 1 is dan wordt het percentage vermenigvuldigd met 100 |
| Name product | [product_name] |
| Productcode | If filled [sub_product_number], otherwise [product_number] |
| Amount | [count] |
| Discount | ([price_without_discount] - [selling_price]) * [count] |
| Amounts incl. or excl. VAT | The amounts in the order lines can be incl. or excl. VAT. This is determined by the field [order_row_taxes_included]. This value is important for determining the unit prices incl. and the unit prices excl., see below |
| Unit price excl. VAT | The unit price excl. VAT is:
|
| Unit price incl. VAT | The unit price incl. VAT is:
|
| Line prices incl and excl discount | These are calculated from the discount and the unit prices. The unit prices are multiplied by the quantity. |
| Accounts and VAT codes from AFAS SB | These are determined based on the settings in the integration, the delivery country of the order and the VAT percentages. The type for order lines is turnover / revenue. |
| Name field | Values from CCV Shop order |
| Name | Shipping costs |
| VAT percentage | For ICP and international orders 0%, otherwise [shipping_tax_percentage] |
| Shipping costs incl. or excl. VAT | The shipping costs are given incl. or excl. VAT. This is determined by the field [order_row_taxes_included]. This value is important for determining the shipping costs incl. and excl. VAT, see below |
| Shipping costs excl VAT | Shipping costs excl. VAT are:
|
| Shipping costs incl VAT | Shipping costs incl. VAT are:
|
| Accounts and VAT codes from AFAS SB | These are determined based on the settings in the integration, the delivery country of the order and the VAT percentages. The type for shipping costs is shipping / shipping costs. |
| Name field | Values from CCV Shop order |
| Name | Payment costs |
| VAT percentage | For orders For ICP and international orders and a margin sale 0%, otherwise the highest percentage for the delivery country.
For invoices The VAT percentage on the shipping costs is used, because there is no VAT percentage on the payment costs. For example, 21% may be used for the Netherlands, 19% for Germany, and 20% for France. |
| Payment costs incl and excl VAT | Sum of the amounts in [paymethod_costs] and [extra_payment_option_price]. Just like for calculating the amounts in the order lines and for the shipping costs, the field [order_row_taxes_included] is used for the payment costs incl. and excl. VAT |
| Accounts and VAT codes from AFAS SB | These are determined based on the settings in the integration, the delivery country of the order and the VAT percentages. The type for payment costs is payment / payment costs. |
|
There are two types of surcharges retrieved from the order. The surcharge with field name [extra_costs] and the surcharge with field name [credit_point_discount]. This results in a maximum of 2 surcharge lines. |
|
| Name field | Values from CCV Shop order |
| Name | Extra [extra_costs_description] or Surcharge |
| VAT percentage | For ICP and international orders 0%, in all other cases the highest VAT percentage in the order lines is used. |
| Surcharge amounts incl. and excl. VAT | Amounts in [extra_costs] and [credit_point_discount]. Just like for calculating the amounts in the order lines and for the shipping costs, the field [order_row_taxes_included] used for the surcharges incl. and excl. VAT |
| Accounts and VAT codes from AFAS SB | These are determined based on the settings in the integration, the delivery country of the order and the VAT percentages. The type for order lines is turnover / revenue. |
| Name field | Values from CCV Shop order |
| First name | [billingaddress][first_name] |
| Last name | [billingaddress][last_name] |
| First name | [billingaddress][first_name] |
| Company name | [billingaddress][company] |
| Phone number | [billingaddress][telephone] |
| Chamber of Commerce number | [billingaddress][kvk] |
| Address line 1 | [billingaddress][street] |
| Address line 2 | [billingaddress][address_line_2] |
| House number | [billingaddress][housenumber] [billingaddress][housenumber_suffix] |
| Zip code | [billingaddress][zipcode] |
| City | [billingaddress][city] |
| Country | [billingaddress][country_code] |
| Shipping address | Same as for the billing address, but now with [deliveryaddress] instead of [billingaddress] |
| VAT number | [vatnumber] - this is checked for correctness |
| Emailaddress | [email] |
Field-level specification invoices
| Below is an elaboration at field level for retrieving invoices. Please note, a credit invoice is also an invoice and will be retrieved in the same way as debit invoices. | |
| Name field | Values from CCV Shop order |
| Invoice-identifier | [id] |
| Invoice number and reference | [invoicenumber_full] |
| Order-identifier | This is determined based on the URL in the field [order] |
| Invoice and entry date | [create_date] |
| ICP indication | [is_intra_community_order] |
| International indication |
An order is an international order if:
|
| Valuta | [currency] |
| Payment method |
The payment method is determined as follows based on the field [paymethod]:
|
| Paymentmethod-id | [paymethod_id] |
| Total amounts incl or excl VAT | The amounts in the order can be incl. or excl. VAT. This is determined by the field [taxes_included]. This value is important for determining the Total incl and the Total excl, see below. |
| Total incl | The amount incl. VAT of the order is:
|
| Total excl | The amount excl. VAT of the order is:
|
| Total VAT | [total_tax] |
| Total discounts incl or excl VAT | The amounts in the order can be incl. or excl. VAT. This is determined by the field [order_row_taxes_included] |
| Name field | Values from CCV Shop order |
| VAT percentage | [tax], if the amount < 1 is dan wordt het percentage vermenigvuldigd met 100 |
| Name product | [product_name] |
| Productcode | If filled [sub_product_number], otherwise [product_number] |
| Amount | [count] |
| Discount | ([price_without_discount_with_attributes] - [price_without_discount_with_attributes]) * [count] |
| Amounts incl. or excl. VAT | The amounts in the invoice lines can be incl. or excl. VAT. This is determined by the field [invoice_row_taxes_included]. This value is important for determining the unit prices incl. and the unit prices excl., see below |
| Unit price excl. VAT | The unit price excl. VAT is:
|
| Unit price incl. VAT | The unit price incl. VAT is:
|
| Line prices incl and excl discount | These are calculated from the discount and the unit prices. The unit prices are multiplied by the quantity. |
| The shipping costs are added as a separate invoice line | The amounts are determined based on [total_shipping], [shipping_tax_percentage] and [invoice_row_taxes_included] as in other lines. This line is only added for an amount other than 0. |
| The payment costs are added as a separate invoice line | The amounts are determined based on [paymethod_costs], [extra_payment_option_price] and [invoice_row_taxes_included] as in other lines. This line is only added for an amount other than 0. |
| The surcharges are added as separate lines to the invoice | The amounts are determined based on [extra_costs], [credit_point_discount], [invoice_row_taxes_included] as in other lines. The amount is only added for an amount other than 0. This leads to a maximum of 2 extra lines. |
| Accounts and VAT codes from AFAS SB | These are determined based on the settings in the integration, the delivery country of the invoice and the VAT percentages. The type for invoice lines is turnover / revenue, for the shipping costs line shipping / shipping costs and payment costs payment / payment costs. |
6.Day-to-day: To AFASSB
Creating financial entries
The orders or invoices from CCV Shop are imported into AFAS SB as financial entries. For each order or invoice, the VAT and general ledger account are provided as configured during the installation of the integration.
When creating the entries, new debtors may be added to AFAS SB.
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.
When processing customer information, it is first checked whether the customer has been processed before. If so, this AFAS SB debtor is used as the debtor for the AFAS SB financial entry. If the customer is not yet known, they are added to AFAS SB. Matching is based on email address. Please note: The integration only creates debtors. The integration does not modify debtors.
The integration processes to financial entries. Therefore, no products are processed.
The integration creates an order or financial entry in AFAS SB, not an invoice. Therefore, the integration cannot ensure that the invoice is automatically sent to the customer.
Field-level specification AFAS SB
| AdministrationId | 12345 | Administration within the AFAS SB account |
| Invoice number | ORD1234 | Sales number |
| RelationId | 12345 | Customer identifier in AFAS SB |
| RelationType | person | Private customer or company |
| Description | ORD1234 - INV1224 | Order and / or invoice number |
| InvoiceDate | 2025-04-01 | Order date |
| Booking lines | ||
| LedgerAccountId | 8000 | revenue account |
| Description | Suitcase | Description |
| AmountExcludingVat | 100 | Line amount excl. VAT |
| AmountVat | 21 | VAT amount |
| VatType | High | VAT type |
| Name | Example | Note |
| Firstname | Sarah | First name |
| Lastname | de Wit | Last name |
| Emailaddress | sarah@test.nl | |
| Address | ||
| StreetName | Stationstraat | Street |
| HouseNumber | 12 | House number |
| PostalCode | 1000 AA | Postal code |
| CityName | Amsterdam | Municipality |
| CountryCode | NL | Country ISO code |
| PreferredBillingAddress | not adjustable | |
| Company | ||
| Name | BV Sponiza IT | Company name |
| VatNumber | NL01234 | VAT number |
| EmailAddress | info@sponiza.nl | |
| PhoneNumber | 06-231388xx | |
| Addresses | Address line | |
7.Support
Read more Support .... Read less Support ....
Explanation tabs dashboard
On the Dashboard >> Report you can see which orders or invoices from your CCV Shop webshop, and when, have been transferred to AFAS SB.What if orders or invoices are missing in AFAS SB
If orders or invoices are missing in AFAS SB 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 or invoice is there. You may need to adjust the search period if the
order or invoice is from a previous month. If you find order or invoice 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 or invoice.
- 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 or invoice is listed there. If so, you'll often see an identifier for AFAS SB (in the purple section of the overview) that you can use to search for order or invoice.
- Go to the Open tab and check if order or invoice is there.
- If you cannot resolve the issue, you can always create a ticket via the green Ask us button.