1.Introduction

This is the manual for the integration between Woocommerce and Eenvoudigfactureren.

This integration ensures that orders from Woocommerce webshop are automatically processed to invoices in Eenvoudigfactureren. Because the orders go directly into the online retailer's accounting system, this saves time on 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 Eenvoudigfactureren, 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. We do our utmost to keep the manuals up to date. No rights can be derived from the content of this manual. We appreciate customer feedback to further improve the manuals.
  4. Tip: Other customers using this integration found the tips in the FAQ for Woocommerce and in the FAQ for Eenvoudigfactureren.
Read more Introduction .... Read less Introduction ....

Install integration
Installing the integration starts with signing up for a trial period, via our integrations page. After registering, you'll receive an email containing an installation URL and login details. Use this installation URL to start the integration setup. Installation is complete when both dots for the connection are green and the settings in the Configuration tab have been entered and saved.
There is a 30-day trial period. 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.
When uninstalling the integration, we recommend revoking the consumerkey and consumersecret in WooCommerce.

2.How the integration works

A order from the Woocommerce webshop is processed to a Eenvoudigfactureren invoice.

New orders from your online store are retrieved at least once per hour. If webhooks are enabled in the Woocommerce webshop, orders are retrieved in real time. In addition, any previously retrieved orders that have not yet been sent to your accounting system are checked every night. For more details see the FAQ.

Read more How the integration works .... Read less How the integration works ....

Pre-check orders
At the start of processing a order we perform a number of checks on the Woocommerce order:
  • It is checked whether the total of the Woocommerce order is equal to the sum of the amounts in the order lines plus the shipping amount.
  • If the order is an ICP order, the VAT number is checked.
  • It is checked whether a corresponding VAT code exists in Eenvoudigfactureren for the VAT in each line.
  • It is checked whether the order has not already been processed.

Processing orders
Upon a successful check, the Eenvoudigfactureren invoice is created and processed to Eenvoudigfactureren. The debtor details are placed in the Eenvoudigfactureren invoice. Eenvoudigfactureren itself checks if the debtor is already present.

Post-check
After the order has been forwarded and a success message from Eenvoudigfactureren has been received, the order is marked as completed. The Woocommerce order appears in the Report tab on the dashboard. If Eenvoudigfactureren 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 Eenvoudigfactureren later in the manual.

3.Required: WooCommerce keys

The connection with the WooCommerce webstore is established using a consumer key and a consumer secret. You create these in the webstore. You can use the consumer secret for the webhook.
Read more Required WooCommerce ....
Read less Required WooCommerce ....
If you want to integration with WooCommerce, you need to create a WooCommerce consumer key and consumer secret in your webstore. Go to the WooCommerce settings and click on the Advanced tab. Next, go to the REST API tab and click on "Add key" to add new keys.
Plaatje WooCommerce Sleutels
Provide a clear description for the key so you know later why you generated it. Choose Read permissions, as you will be reading orders from WooCommerce. Then click on Generate API.
Plaatje WooCommerce Sleutels
The consumer key and consumer secret will be generated and displayed. Copy and save them. You need them for the installation and they cannot be viewed again later.
Plaatje WooCommerce Sleutels
WEBHOOKS OPTIONAL Only necessary if you want to push orders immediately.

The last paragraph of this chapter "WooCommerce Keys" is only necessary if you want to push real-time orders in addition to the regular batch. If you skip this subsection, your orders from WooCommerce will still be transferred regularly and automatically at the batch level after installing the connection in the next chapter.

To create the webhook, click on the "Webhooks" tab within the "Advanced" main tab and then on the "Add webhook" button.
Plaatje WooCommerce Webhook

In the screen that has now opened, fill in the requested information. Provide a clear description for the name of the webhook. The Status must be "active". In the third field, enter when the webhook is activated. We recommend choosing "Order updated" (Dutch "Order gewijzigd") here.
Plaatje WooCommerce Webhook

At “Delivery URL" enter: https://interface.cloudinvoice.company/api/v1/servlet/woocommerce/webhook.php?licensekey=UWLICENTIESLEUTEL
where "UWLICENTIESLEUTEL" is of course your own specific webwinkelfacturen.nl license key that you received in your email confirmation of the connection (a 32-character letter/number combination). For the secret, enter the WooCommerce consumer secret as generated at the beginning of this paragraph. Finally, you must save the configuration (save webhook).

Indien je later ooit de Webhooks zou willen de-activeren, ga je binnen "Advanced” tab naar subtab "Webhooks" en kiest voor die specifieke webhook "delete permanently”.

4.Required: EenvoudigFactureren

To establish the connection with EenvoudigFactureren for the integration, you need to do the following:
Read more Required EenvoudigFactureren ....
Read less Required EenvoudigFactureren ....
  1. Log in to EenvoudigFactureren
  2. Go to Profile (top right) > Access Management
  3. Click on add API key
  4. In terms of management, you can select either All or a limited set. With a limited set, the integration requires access to Invoices, Customers, Items, and Layouts.
  5. Make a copy of the generated API key. You will need this key in the next Installation section.

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 WooCommerce webshop. In this step you authorize the integration to read data from your webshop.
2. Establishing the connection with Eenvoudigfactureren. This authorizes the integration to write transactions to your Eenvoudigfactureren administration and read information.
3. The configuration itself.

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

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

Connection Woocommerce
The connection with the Woocommerce webshop is established using the Clientkey and Clientsecret that you created in a previous section. Click the red Connect button next to Woocommerce and enter the Clientkey and Clientsecret in the popup window. If the connection is established correctly the indicator will turn green. If the connection is not established then this is the FAQ for troubleshooting.

Authentication Eenvoudigfactureren
Authentication with Eenvoudigfactureren is done via the token you created in the previous section. You click the red Connect button next to the Eenvoudigfactureren Connection. A popup will automatically appear where you can enter the token.

If you wish to re-establish the connection at a later time, you can always do so by clicking the ReConnect button.

Processing status
You can specify which statuses orders should be processed to Eenvoudigfactureren. You can select multiple statuses. The integration will never forward orders twice. The integration is protected against this.

Configure VAT rates and general ledger accounts
When processing to the Eenvoudigfactureren accounting system, the VAT percentages are transferred directly. Therefore, there is no possibility to post to separate VAT codes or ledger accounts.

6.Day-to-day: From WooCommerce

Process schedule: New orders from your online store are retrieved at least once per hour. If webhooks are enabled, orders are retrieved in real time. In addition, any previously retrieved orders that have not yet been sent to your accounting system are checked every night.

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

Processing status: For each order the status of the order is checked. You previously indicated when you want orders to be processed to your accounting system. This choice can be viewed β€” and changed β€” in the Configuration tab of the dashboard at status for processing sales.
Orders that are picked up and have a status other than one of the selected options will automatically be transferred the following night if they have one of the selected options in WooCommerce.

VAT numbers For business orders within the EU, outside the Netherlands, a VAT number is mandatory. The integration checks this. There are numerous plugins that allow VAT numbers to be added to WooCommerce orders and it is impossible for the integration to support every plugin. There is a fixed list of field names from which the integration reads the VAT number. This list can be found in the FAQ.

VAT calculation In WooCommerce, VAT percentages are listed by default with both 2 decimals and 4 decimals. The integration uses the 4-decimal values to calculate the VAT percentage as accurately as possible. Therefore, make sure the VAT in the order lines is available with 4 decimals.*

* Technical: This concerns the fields [total], [total_tax], [subtotal], [subtotal_tax] and [taxes] per order line in [line_items].

  • The fields [total] and [total_tax] contain the line amount excluding VAT and the VAT amount after discount, in two decimals
  • The fields [subtotal] and [subtotal_tax] contain the line amount excluding VAT and the VAT amount before discount, in two decimals.
  • The [taxes] field contains the same amounts but with four decimals. The integration uses the values in [taxes] for the VAT calculation.

Refunds If you want the integration to process refunds in addition to the orders, you can enable this at status for processing sales in the dashboard. See here for more information: FAQ.

Please note: The integration looks back 30 days to retrieve refunds. Refunds that come in later cannot be processed by the integration. The integration only processes a refund if it has previously processed the order to which the refund relates. Finally, the integration only processes full refunds . Partial refunds are not processed. For more information see the FAQ

Please pay special attention to the following The integration will not read or pass many fields from a Woocommerce order to Eenvoudigfactureren. In particular, the note_attribute fields and the custom fields are not included. This is because different webshops use these fields differently. Because our integrations must work for all webshops, we cannot configure this for individual merchants.

Pay special attention to fields that come from plugins. There is a good chance that the integration does not process these fields. For example, with discount plugins the amounts may not be correctly included in the order, preventing the order from being processed.


Field-level specification orders
Specification Woocommerce order. +-
Name field Values from Woocommerce order
Order-identifier [id]
Order number A fixed prefix followed by field [number]. The prefix configuration can be requested via webcare@webwinkelfacturen.nl
Invoice number Determined from the [meta_data]. The following fields are examined in turn. The first one present is returned.
  • key-veld [_wcpdf_formatted_invoice_number]
  • key-veld [_wcpdf_invoice_number]
  • key-veld [formatted_invoice_number]
  • key-veld [invoice_number]
Booking date [date_created]
Order date [date_created]
Status order [status]
Payment status If the status of the order is completed or processed or if [date_paid] has been entered then paid
Payment reference [id]
Note [customer_note]
Is it a Bol.com order? The answer is yes if there is a field [customer_user_agent] with the value effectconnect and the field [billing][email] is a bol.com email address
Is it a Fonq order? The answer is yes if it is not a Bol.com order and there is a field [customer_user_agent] with the value effectconnect
Is it another order coming through an external party? The answer is yes if the key is part of a fixed set of keys. This list can be expanded upon request.
Affiliate number The affiliate number is determined as follows:
  • If the meta-data contains a key bol_order_id is present, then this is the affiliate number
  • For Bol.com orders the shipping lines are checked. From the line with [method_title] a text such as shipment for bol.com will the affiliate number from the field [method_title] be extracted.
  • For Fonq orders the shipping lines are checked. From the line with [method_title] a text such as shipment for fonq will the affiliate number from the field [method_title] be extracted.
  • For the remaining orders the affiliate number is located in the [meta_data] fields under key _external_order_number.
Valuta If the currency option is set for the customer then [currency]
Payment method field [gateway] in [transactions]
Order total incl. VAT and discounts [total_price]
Total VAT order incl. discounts Value in [total_tax], or, if that value is 0, the value from [current_total_tax]. When using [current_total_tax], there's an additional check. The VAT lines in the order must add up to the value in [current_total_tax].
Order total excl. VAT and discounts Difference between the two lines above
Delivery country The delivery country will be the [shipping][country] field if it is filled in. Otherwise, the [billing][country] field will be used.
ICP indication The integration determines as follows whether it concerns an ICP order:
  • If the merchant has configured a margin, it is never an ICP order
  • If the field [total_tax] has value 0
  • And the delivery country is not the same as the country of the Woocommerce webshop
  • And the delivery country is an EU country
  • And there is no VAT on the order lines
  • Then it is an ICP delivery, otherwise it is not an ICP delivery
International indication The integration determines as follows whether it concerns an international order:
  • If the merchant has configured a margin, it is never an international order
  • If the field [total_tax] has value 0
  • And the delivery country is not the same as the country of the Woocommerce webshop
  • And the delivery country is not an EU country
  • And there is no VAT on the order lines
  • Then it is an international delivery outside the EU, otherwise it is not an international delivery outside the EU
Do the order lines have VAT? To determine whether VAT is applied to order lines, the [subtotal_tax] and [total_tax] fields are examined per line, and the [shipping_tax] fields are examined in the order itself. If any of these fields have a value other than 0, VAT is applied to the order lines. If all fields have a value of 0, there is no VAT on the order lines.
Specification Woocommerce order lines. +-
To read the order lines, the integration retrieves the [line_items] field. Multiple order lines can be included in the order, and the integration reads these lines one by one.
Name field Values from Woocommerce order line
Productid [product_id]
Category In the case of processing categories, the category ID and name
Amount [quantity]. Note: if the quantity is 0, parsing stops.
SKU If the SKU is filled, then [sku]. Otherwise [product_id].
Description [name] plus the values ​​in field [meta] in the order line with key / key label or key
VAT percentage The VAT percentage is determined as follows:
  • If the order is an ICP or international order, then the VAT percentage is 0%
  • If the value in the [total] field is not 0, then the [taxes][total] fields are added together
  • If the value [total] is 0 and the value in the field [subtotal] is not 0, the fields in [taxes][subtotal] are added together.
  • The VAT percentage is the summed amount in the [taxes] fields divided by [total] or [subtotal]
Amounts excl. VAT Amount in field [total]
Amounts incl. VAT Amount in field [total] plus the amount in field [total_tax]
Discount in order line An order line has two totals: [total] and [subtotal]. The [total] amount is the line amount including the discount, and the [subtotal] amount is the amount excluding the discount. Discounts are therefore processed directly in the order line and not added as separate lines.
VAT code and accounts Eenvoudigfactureren These are determined based on the settings, the VAT percentage and the delivery country. It also takes into account whether the order is an ICP or international order. If processing is done based on categories, the revenue account is determined using the revenue account configured for the respective category in the dashboard
Specification Woocommerce shipping costs. +-
To read the shipping costs, the integration uses the field [shipping_lines]. There can be multiple shipping lines. For the name and VAT percentage only the first line is used, while the amounts from all shipping lines are summed. In most cases there will be only one shipping cost line.
Name field Values from Woocommerce order line
Description [method_title] from the last shipping cost line
VAT amount shipping costs Each line in the [shipping_lines] field can contain multiple VAT lines in the [taxes] field. These are summed and the total is the VAT amount for shipping costs.
Shipping costs excl VAT [shipping_total] in the order
Shipping costs incl VAT Shipping costs excl. VAT plus the VAT amount for the shipping costs.
VAT percentage VAT amount for shipping costs divided by the shipping cost amount excl. VAT
VAT code and accounts Eenvoudigfactureren These are determined based on the settings, the VAT percentage and the delivery country. It also takes into account whether it is an ICP or international order.
Specification Woocommerce surcharges +-
The surcharges are stored in the [fee_lines] field. Each surcharge becomes a separate line in the order.
Name field Values from Woocommerce order line
Description [name]
VAT amount If it is an international or ICP order then 0, otherwise the amount in the [total_tax] field.
Amount excl VAT [total] in the order
Amount incl VAT Amount excl. VAT plus VAT amount
VAT percentage VAT amount of the surcharge divided by the amount excl. VAT
VAT code and accounts Eenvoudigfactureren These are determined based on the settings, the VAT percentage and the delivery country. It also takes into account whether it is an ICP or international order.
Specification Woocommerce customer details +-
Name field Values from Woocommerce customer
The billing address is in field[billing] and the shipping address in field [shipping]. The content of these fields is always the same, so we do not describe them separately.
Address If present based on [billing_address] in the Woocommerce order
  • First name - [first_name]
  • Last name - [last_name]
  • Company name - [company]
  • Addressline1 - [address_1]
  • Addressline2 - [address_2]
  • Zipcode - [postcode]
  • Phone nr - [phone]
  • City - [city]
  • Iso-countrycode - [country]
  • Country - [country]
VAT number The VAT number may be present in the [meta_data] of the order. There is a fixed list of keys that are searched. If the VAT number is not found, the integration continues searching in the [vat_number] and VIES data fields in the order. A VAT number is always validated.

7.Day-to-day: To Eenvoudigfactureren

Below is the creation of new Eenvoudigfactureren invoices specified at field level.

Creating invoices
When creating invoices, an invoice is created by default with the amounts incl. VAT and the order number in the reference field. The invoice number is empty by default, so that the invoice number is determined within Eenvoudigfactureren. We recommend this method.

However, it is possible to process the amounts excl. VAT. In some situations, there are also possibilities to add an order or invoice number to the reference and fill in the invoice number of Eenvoudigfactureren.

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

It is currently not possible to post to products.

Automatically sending invoices
The integration creates the invoice in Eenvoudigfactureren, but will not automatically send the invoice to the debtor. This is possible and can be requested by sending us an email stating the license key.

Field-level specification Eenvoudigfactureren


Field-level specification of the Eenvoudigfactureren invoice. +-
Eenvoudigfactureren factuur
Name Example Note
Customer identifier 1234567 Customer identifier within Eenvoudigfactureren
Invoice number Empty by default Can be filled with order- or invoice number upon request
Payment period 14 Not adjustable
Reference order number Adjustable
Date 2024-05-23 Sales date - please note, this is the order date in Woocommerce
Amounts incl. VAT yes Upon request, amounts excl. VAT can be processed
Invoice lines
Product name Bicycle As on the line in the sale
VAT percentage 21 Depending on the VAT percentage in the sales line
Amount 2
Unit price 19.99
Field-level specification of the Eenvoudigfactureren customer. +-
Name Example Note
Name Bakery De Witte If the company name is not filled, the first name plus last name will appear here
To the attention of Karin de Wit If the company name is not filled, this field is empty
Address line 1 Stationstraat 12
Postal code 1000 AA
City Amsterdam
Email info@sponiza.nl
Telnr 0632281625
Contacts
Contact name Karin de Wit
Email info@sponiza.nl
Telnr Karin de Wit 0632281625

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 Woocommerce webshop, and when, have been transferred to Eenvoudigfactureren.

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 Eenvoudigfactureren

If orders are missing in Eenvoudigfactureren 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 Eenvoudigfactureren (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.

Other questions

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 are missing, please provide the number and date. This way, we can perform a more targeted search and tell you what's wrong.

Would you prefer us to perform the installation of the integration for you? That is possible. Send an email to webcare@webwinkelfacturen.nl with the request. We charge €39.50 excl. VAT for an installation. For installations we require 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.