This plugin is an extension for your WooCommerce online shop that synchronizes automatically all generated orders to your Contasimple account.

Gain more visibility regarding your business state in real time and keep your accounting and taxes up to date.

Key features

  • Automatically syncs new completed orders to your Contasimple account.
  • You can easily export previous orders generated before the plugin installation with only a few clicks.
  • Configure automatic or manual email sending to your customers with attached PDF invoices from Contasimple.
  • Clients will be automatically created in Contasimple using WooCommerce checkout customer address information.
  • Configure the format for sequential numbering invoice generation, allowing to create series with custom prefixes and/or the current year in 2 or 4 digits format (ex: INV-2018-00001 or #F180000001).
  • Configure different numbering series to separate regular invoices, negative rectification invoices (also known as amendments, credit slips or refunds) and simplified invoices (also known as purchase receipts or tickets) as many countries have law regulations in this regard.

To learn more about the key benefits of the Contasimple platform as a whole, please check the main Contasimple Website.

Technical specifications

  • Requires at least WooCommerce 2.1 version. Upgrading to WooCommerce 3 or greater is strongly recommended.
  • Initially developed for single-site installations. Multi-site support coming soon.
  • Requires PHP cURL extension enabled to communicate with Contasimple’s API servers. This is common, but you might need to check it with your hosting provider.


  • Settings screen. Linking you Contasimple account (step 1).
  • Settings screen. Entering your APIKEY (step 2).
  • Settings screen. Picking your company (step 3).
  • Settings screen. Picking your payment methods (step 4).
  • Settings screen. Linked account info summary and unlinking options (if reconfiguration is needed).
  • Settings screen. Numbering series format masks for regular invoices, negative invoices (refunds) and simplified invoices (tickets).
  • Settings screen. Error log file downloading for customized troubleshooting with Contasimple technical team.
  • Invoices screen. Empty screen showing there are no new completed orders since activation. Previous orders can be imported by clicking the Create from previous orders.
  • Import screen. Selecting the desired fiscal period.
  • Import screen. Selecting all filtered orders at once via the global checkbox control. Select Create from the dropdown list and hit Apply to start.
  • Import screen. Success message after orders are imported. You can go back to Invoices to see the pending sync queue.
  • Invoices screen. Pending invoices. Will be automatically synced once a new order completes, or you can manually Sync pending now to trigger the process immediately.
  • Invoices screen. All invoices are synced successfully. You can perform actions on the right (open in Contasimple Web, Download PDF and send email with PDF to customer).
  • Invoices screen. Sending an invoice PDF to a customer manually.


This section describes how to install the plugin and get it working. In case of doubt, please have a look at the Screenshots section for further clarification.

Automatic installation

Automatic installation is the easiest option as WordPress handles the file transfers itself and you don’t need to leave your web browser. To do an automatic install of Contasimple for WooCommerce, log in to your WordPress dashboard, navigate to the Plugins menu and click Add New.

In the search field type Contasimple and click Search Plugins. Once you’ve found our sync plugin you can view details about it such as the point release, rating and description. Most importantly of course, you can install it by simply clicking Install Now.

Manual installation

The manual installation may be needed in certain circumstances, for example in case you have received from us a fresh new version of the plugin, not yet released on the official repository.

The traditional option is to decompress the .zip file provided by us and upload the woocommerce-contasimple folder to your WordPress /wp-content/plugins folder using an FTP client. The WordPress codex contains instructions on how to do this here.

Probably easier, you can also upload the zip file directly from the plugins section: navigate to the Plugins menu and click Add New, then Upload Plugin and locate the zip file on your PC (typically in your web browser download’s folder). In case of error due to either restrictive file permissions or WordPress complaining about the plugin already existing, you might need to resort to the previous described method.


Once installed, the first thing to do is to configure the plugin to be able to connect with your Contasimple account. If you do not have a Contasimple account yet, you can register now by Clicking here.

Assuming you are already registered and have configured your fiscal region and company settings, you will be able to generate a Contasimple ‘APIKEY’. This key is unique to you and will grant your WooCommerce access to Contasimple’s servers so that the sync process can happen.

Step 1

To generate the APIKEY, you must log first into your account at Contasimple Website and then click on the Settings icon wheel on the top bar, locate the sidebar menu and scroll down to the Other options section and click External Applications. When the new section is loaded, scroll down to the bottom and you will see a Authorization keys section. Click on “+ Add authorization keyand chooseWooCommerce`.

A new key will be generated, which will look like a long sequence of random characters, something like ‘fcc6360446b04f199b715c58a9116957’. Select the key (but not the quote marks) with the help of the mouse and copy/paste it. You will need it during the next step.

Step 2

Now that we have generated the APIKEY, we need to configure the plugin to use it. All Contasimple’s plugin settings are handled by WooCommerce, since this is an integration for it. Therefore, you must navigate to WooCommerce > Settings and head to the Integration tab.

Since this is your first time using the plugin, you will be presented with the Configuration Wizard. Click on the Link account button. The first step will ask you for the previous generated APIKEY, paste the value on the text field and click Log In. You should see a success message and then you will be presented with a dialog to choose between your companies (just in case that you manage more than one) and you can also configure the correspondence between WooCommerce payment methods and Contasimple’s.

Congratulations! You have already configured the basics of the module. You can now start syncing your invoices. For more detailed info about additional configuration settings, please see the FAQ section.

Perguntas frequentes

How does the synchronization exactly work?

Once the plugin has been successfully configured, every order that changes its state to ‘Completed’ will be queued to be automatically sent to Contasimple. The process might be triggered by many different means, for example, when an order is paid via a payment gateway, like Redsys, or when you manually mark an order as completed in the back-office, once you have verified a payment via bank transfer.

Most likely the order will be immediately sent to Contasimple when the order status changes. However, in case an invoice cannot be instantly sent, due to either a high number of incoming orders to process or for whatever other reason, the process will be resumed again each time an order reaches the shop, until the queue is empty and all orders are sent.

You can check the sync status for all completed orders at any moment on the Invoices section that the plugin will add to your WooCommerce menu entry.

I already have orders in my shop. Will I be able to sync them?

Yes. While the plugin will automatically handle all new orders of the shop, you can export all previous orders by navigating to the WooCommerce > Invoices section and clicking the Create from previous orders button.

You will be presented with a page that lists all completed orders that have not yet been queued for sync, this of course includes orders prior installing the plugin. You can check some or all of them and then pick the Create action from the actions dropdown list that appears on top.

Orders added this way will not be synced automatically right now, but they will be added to the sync queue. Hence you can let the plugin send them automatically when a new order is completed or, if you want to sync right now, you can always navigate back to the Invoices page and manually trigger the process by clicking the Sync now button.

Notice that in this screen you can filter invoices by fiscal periods. This might interest you in case that you want to add to sync all the invoices for an ongoing tax collection period, but do not want to do further action with already declared invoices from previous fiscal periods.

How does the invoice numbering system work?

In contrast to other eCommerce platforms, WooCommerce does not do sequential numbering from the get go, but uses WordPress internal post identification system. Sharing ID with blog post and many other types of content means no sequential numbering is possible by default.

To solve this, Contasimple will keep the count of your synced orders and will assign the next sequential number any time an invoice is successfully synced, based on the mask assigned to the corresponding invoice series.

Masks can be customized on the WooCommerce > Settings > Integrations page. There are three configurable masks for regular invoices, negative rectification invoices (for refunds) and simplified invoices (tickets) since many countries, like Spain, have fiscal laws that require to keep track of each type separately.

By default, each one is set at different values, so that you will be working with three different series for each type of scenario. However, you could play with this and set the same value for both regular invoices and simplified invoices, or even for refunds as well, to make them fall into the same series in case that you prefer it and your country does not have any particular requirement on this.

To know how to form the desired mask, please log into Contasimple website and go to Settings > Invoices, there you will find more information and examples.

How does the invoice emailing feature work?

This plugin uses WooCommerce built-in emailing system to deliver the invoice emails to your customers. If you go to WooCommerce > Settings > Emails you will see that you have a new type of email listed Order invoice. Like all WC email types, you can enable or disable it here and also change a few things, like the default subject or if you want it to be a plain text email or a fully fledged HTML template.

Default templates provided for the Contasimple invoice emails include only a brief message and the generated invoice PDF as a file attachment because the default WC Completed Order email template already has an item summary and we feel that it would be redundant to include this info again. However, if you want -and know how to- you could customize the templates to suit your needs.

Something to keep in mind is that, even if the invoice emails are set to enabled, only orders completed during the last 24 hours will be emailed automatically to your customers. We have set this restriction to avoid potential unwanted situations, like syncing all your previous year invoices just for historic purposes and then having all your customers emailed out of nowhere.

You can always send an invoice manually as many times as you consider it necessary to a certain customer, by going to the plugin Invoices section and clicking the email action button for the desired invoice.

I already have a plugin that handles these or other invoicing feature, can I work with both?

It really depends, but most likely no.

As described in a previous section, Contasimple handles invoice numbering sequence in a very specific way, which is unaware of other installed plugins and which, conversely, does not expect other plugins to hook into it. Therefore, if you have other plugins installed, most likely you will end generating duplicated invoices for your orders and with totally different numbering series.

If you finally decide to use the Contasimple plugin to generate legally compliant invoices for your orders, we strongly recommend to disable all other invoicing plugins that you might be trying or using during the past.

If you feel that we are missing some very cool feature present in other plugins that ties particularly to tax legislation, feel free to contact us to suggest it and we will consider it.

I already synced previous orders and I see they have a strange 4 digit prefix in them. What does that mean?

Previous orders added manually to the sync queue use the configured mask under Contasimple settings, but will also add a random prefix to it. This is not configurable and it is done as a safety mechanism to avoid breaking fiscal laws.

Most countries require invoice numbering series to be sequential but also to respect issuing order. Imagine that you install and configure the plugin and get a few incoming orders that get instantly synced to your Contasimple account, but then you decide to have a look at the existing orders for the whole current year and want to sync them as well. You would end with an incorrect issuing sequence.

This is why Contasimple adds a random prefix each time a manual invoice creation is performed. This means you can end with a few different batches of invoicing series, which might seem not ideal. However, most countries fiscal laws allow to have different invoicing series if it can be justified, as long as the issuing order for each series is respected.

I understand the previous point, but I really, REALLY want to have a unique series for all my invoices. Is there any way I could achieve that?

With some limitations, yes. Assuming you have still not synced any invoice to Contasimple or that you can delete in Contasimple Web the already uploaded ones so that you can start back from scratch, you can:

  • (Optional) Disable your shop to avoid any orders to sync automatically during this process. WooCommerce does not allow this by default but there are plugins that allow you to.
  • Set the desired numbering series format in WooCommerce > Settings > Integrations > Contasimple keeping in mind that 4 additional random numbers will be added first during the already existing orders sync process.
  • Navigate to the Create from previous orders, mark as selected all the desired orders and click Create from the bulk actions drop-down control as described previously.
  • Navigate back to Invoices and click the Sync now button.
  • The page will reload with the sync results (might take some time).
  • If all invoices are synced OK, you can proceed to next step. In case there were any errors present, they must be solved before continuing so that you do not miss any invoice (see the next FAQ section).
  • Once all previous orders have been synced, write down (or just copy/paste) the 4 random digits appended to all invoices.
  • Finally, you can go back to the plugin settings and modify your numbering series mask format to add these 4 digits before the already defined masks. This way, all new incoming orders will respect the same series when their status changes to Completed. Just keep in mind that anytime that you add previous existing orders to the queue, the plugin will create a new series to avoid the aforementioned numbering sequence mismatch.
My store sells internationally and allows payments with more than one currency (not just with translations). Is this supported?

Unfortunately, no. Or at least not without some additional work from your side.

Contasimple only works with the currency configured in Contasimple Web for the desired fiscal region, since most countries mandate to declare taxes with its own currency. If you try to sync orders paid with a currency different than the one configured for your fiscal region, you will get an error.

Accounting conciliation due to currency conversion is out of the scope of the plugin and you should configure your multi-currency plugin to work internally with only one currency, like WooCommerce does by default, and then try to sync to Contasimple.

Note that, in its documentation, WooCommerce also recommends to work with only one currency internally (as it does by default) and handle multiple currencies for the customers by showing estimated conversions via the Currency Converter Widget.

Is WordPress Multisite (Network installation) supported?

At the time of release we only support single-site mode. However, we are already working on bringing multisite support and it should be available soon.

We get an Error 504 (Gateway Time Out) after a minute or so when trying to sync invoices. What’s going on?

Most web hosting servers have a certain timeout set to abort long-lasting processes in order to save resources. If you have a lot of invoices pending to sync and depending on your server configuration, you might not be in time to sync all of them at once. The process will abort after a certain time passes (sometimes as short as 30 seconds) and you will get the infamous 504 error.

If you have a dedicated VPS you might be able to configure Apache/Nginx timeout variable settings to greater values (ex: 5 minutes). You might be able to do so also on some premium shared web hosting services.

In any case, you can always restart the syncing process from the Invoices section (or just wait for a new order to be completed) and the syncing queue will resume, so you will be able to sync all invoices eventually. However, we would recommend a quality hosting service where a sysadmin can fine-tune the settings to suit your goals.

There are invoices showing errors on the `Invoices` page. What can I do?

Errors during the sync process might occur due to several reasons:

  • Invalid invoicing data. This is the most common case. For example: a customer entered the NIF with an invalid format during the checkout process or VAT types applied are incorrect for your fiscal region.
  • Server downtime either on your web server side or on Contasimple side, which will not allow to establish a connection. This might happen due to maintenance tasks or ISP provider shortage.
  • Unexpected technical issues. For example:
    • A WooCommerce/WordPress version that has a bug or a deprecated/missing feature not accounted for, which might cause the plugin to break.
    • 3rd party plugins that might interfere with ours.
    • Very specific web server settings that cause incompatibilities (PHP unsupported version, Apache/Nginx restrictive policies, Javascript conflicting libraries or file system permissions).

If an error occurs due to invalid invoicing data or other well-known causes, Contasimple will inform you and you will either have to edit the order/customer details or configure your shop with the correct settings so that the invoice can be safely synced.

For example, if VAT rate changes occur the next year and your shop is not up to date when an order completes, you will receive an error during the sync process. You will see an Invalid VAT type for your fiscal region error and you will need to configure the VAT correctly for that specific region before being able to sync OK, which avoids potential fiscal issues and helps you improve your online business invoicing compliance with your country’s fiscal law.

In case you see an Unknown Error it will mean that the error probably occurred due to technical difficulties during the syncing process. We would advise you to try the syncing process again later, just in case there was a temporary connection problem on either side. However, if the syncing fails systematically every time you try to sync some or all of your invoices, there might be a technical issue that is preventing the plugin to work correctly and will need further assistance. In that case, please contact us so that we can help you troubleshoot your issue.

Our team might request you to provide an error log file which will help us gathering crucial information to detect the root cause. To obtain this error file, you can either:

  • Download it easily from the WooCommerce > Settings > Integrations > Contasimple page at the Log section. Please select the desired date when you found an issue and click the Download button.
  • Get the file directly from your hosting via FTP or File Manager on your cPanel/Plesk admin panel or similar. The file will be located under the WordPress modules folder, more precisely at: /wp-content/plugins/woocommerce-contasimple and will have a name format similar to contasimple_30-12-2017.log.


Abril 10, 2019
Sincroniza tus ventas y facturas a la herramienta web donde podrás llevar la gestión completa de tu negocio, tener visibilidad y calcular tus impuestos entre otros temas.
Ler 1 avaliação

Contribuidores e programadores

“Contasimple” é software de código aberto. As seguintes pessoas contribuíram para este plugin:


“Contasimple” foi traduzido para 1 locale. Obrigado aos tradutores pelas suas contribuições.

Traduza o “Contasimple” para o seu idioma.

Interessado no desenvolvimento?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Registo de alterações


  • Minor bug fixes.


  • Minor bug fixes.


  • Mandatory update to adapt to Contasimple API changes in country settings.


  • Fixes bug during plugin activation if server PHP version is older than 5.6


  • Initial release of the plugin.