This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.



DISCLAIMER! This plugin has been developed by a third party (not SmartAccounts development) and is provided on as-is basis, without support or any type of guarantee. This means that you need to contact your own Woocommerce/Wordpress/PHP developer in case you need help setting the plugin up or the plugin does not meet your requirements. Feel free to modify the code as needed!

This plugin:
* Creates Customer to SmartAccounts if no existing customer with same name and e-mail found
* Creates Articles in Smartaccounts of Woocommerce product on the order if existing products are not found.
Woocommerce product SKU is compared with SmartAccounts article code.
* Creates sales in invoice and connects it with the right customer and adds all the Articles on the invoice.
* Marks the sales invoice as paid if needed.
* Imports Articles from SmartAccounts to Woocommerce

Importing products from SmartAccounts

  • Products must be active sales items and of type Warehouse Item or Product. Services are not imported.
  • Product final price is taken from SmartAccounts unless sale price is set. If sale price is set manually then only regular price is changed.

Note about Woo and SmartAccounts client matching

If order has meta _billing_regcode then plugin looks for Client with this registration code from SmartAccounts.

Otherwise customer name is used to match. If SmartAccounts with this name does not exist then new SmartAccounts Client is created.
If user was anonymous then general client is created with the country name.

As people often type their official company name incorrectly then fuzzy matching is performed.
OÜ, AS, MTÜ, KÜ and FIE are removed from the beginning and end of the name and first match with the “main part of name” is used.

What are the plugin limitations?

  • Order changes and cancelling is not handled automatically
  • All items have one VAT percentage
  • SmartAccounts article code must be added to the Woocommerce product SKU if existing SmartAccounts article must be used
  • If product is not found then “Woocommerce product NAME” Article is created to SmartAccounts
  • Plugin does not handle errors which come from exceeding rate limits or unpaid SmartAccounts invoices.
  • If there are errors then invoices might be missing and rest of the Woocommerce functionality keeps on working
  • SmartAccounts API key, API secret and Payment account name must be configured before plugin will start working properly.
  • If plugin creates offer and this offer is deleted by the time invoice is created then creating invoice will fail.
  • Exact shipping method is not sent to SmartAccounts

These shortcomings can be resolved by additional development.


Configuration is needed to make this plugin work. After activating the plugin find its configuration page under Woocommerce menu item and:

  • Make sure you have SmartAccounts package with API access
  • Copy SmartAccounts API key and secret from SmartAccounts interface. If you don’t have SmartAccounts API key (please check Settings – Connected Services) you can contact SmartAccounts support to enable API service for your account. Additional conditions and charges may apply to API service.
  • Add bank account name you want to be used when making the invoices paid
  • You can also change SmartAccounts code for shipping
  • For periodical price and stock updates configure cron to call GET domain/wp-admin/admin-ajax.php?action=sa_sync_products
  • “Payment methods” section allows configuring which payment methods are marked paid in SmartAccounts immediately
  • “Bank accounts” section allows configuring which payment method and currency corresponds to which SmartAccounts bank account name. If mapping is missing then default is used


There are no reviews for this plugin.

Contributors & Developers

“SmartAccounts” is open source software. The following people have contributed to this plugin.


Translate “SmartAccounts” into your language.

Interested in development?

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



Support disclaimer update


Allow skipping prices synchronization


Handle more use cases with attaching Pdf


Option to include SmartAccounts invoice when sending order completed message to the customer.


Price update improvements and more detailed logging for existing customer matching.


Filter for editing SmartAccounts body data


Product import filters and Warehouse setting for new invoices.


Strip unsupported characters when creating invoices


VAT number order meta field name is now configurable. If configured and vat number exists then it will be used when creating new client in SmartAccounts


Improved pricing when sale price is set.


Saves SmartAccount offer human readable number to Woo order meta


Allows sending Woo orders to SmartAccounts as Offer.
Connects offers with invoices when creating Invoice later.
Includes phone when sending new Client to SmartAccounts
Improved detection of Client by name if OÜ, FIE etc is not written correctly to the billing info
Possible to connect Woo and SmartAccounts clients with company registration code in order meta using _billing_regcode


Better handling of payment methods


Better discount and cents fraction rounding


Product backorders setting overwriting removed


Support over 1000 currency unit invoices


If address is longer than 64 characters then it is truncated when sending to SmartAccounts as longer addresses are not supported


Import products from SmartAccounts available


Many advanced configuration settings available

Can handle SKU with spaces
Product name instead of long description in SmartAccounts row description

Cart based discounts are handled better.