Retail stores, employ accounting systems, like e-conomic, to manage transactions, profits and expenses. Such financial systems are tightly coupled with POS systems. For those who are not aware, e-conomic is one of the leading online accounting systems in Europe, with over 100,000 users. Apart from keeping track of transactions and invoices, e-conomic also keeps a record of products and customer information. It uses this data to generate reports, which can help analyse customer and product demands.
When it comes to your e-shop built on WordPress, you’re more likely to use an e-commerce plugin, like WooCommerce. WooCommerce maintains all information related to a transaction, right from products, customer information, to an order, to billing. When you think about it, your inventory at the end of the day might be the same. Consider you have an e-store built with WooCommerce and a retail store, with transactions accounted for by e-conomic. Every time an order is made, either in the retail or online store, the same inventory is affected. But then, you have two separate systems which would need to be updated. In such a situation, it would be best if there was an automated process which managed synchronization between both.
WooCommerce and e-conomic Integration
Ideally, you would need only a single system to manage both. But since this is not the case, we have to find a way to maintain consistent information within both the system. To start with, let’s take a look at each system’s interface.
e-conomic Accounting System
An accounting system, implies maintaining information related to monetary transactions.
- e-conomic maintains invoices (basically order receipts), keeps track of income and expenses.
- There is a dedicated section for sales and accounting.
- The accounting system manages company expenses. The sales section manages purchase transactions.
- Detailed invoices are maintained, along with product information and customer or debtor information.
- Every order created is linked to the products purchased, and a customer. This helps in reporting and analysis of sales.
WooCommerce – e-Commerce Plugin
WooCommerce maintains all activities with regards to the store.
- The focus is the entire store setup and presentation. Products can be setup with a lot of detail and categorization.
- This is basically to aid shoppers, with finding the desired product. Customers are created as WordPress user accounts.
- Each transaction is processed as an Order, which contains the details of products purchased, shipping cost, discounts, etc.
- An accounting system maintains a lot more than transactions related to a store and thus is needed to maintain the accounts of the company as a whole and not just for the store.
Integrating WooCommerce and e-conomic
When we talk about integrating WooCommerce and the financial system e-conomic, the point is to sync information with regards to product sales. Since a POS system may also be using e-conomic, the synchronization has to happen both ways (when a customer does a checkout, either online or in a store).
- Product information should be synched between WooCommerce and e-conomic, especially important for inventory management.
- Customer information must be synched as well, to avoid inconsistency of data in reports.
- WooCommerce orders should be updated in e-conomic and invoices must be created, and vice-versa.
As far as implementation is concerned, the idea is to map fields to update the required data. These fields have to be mapped at certain points in the system. Let’s take an example of product information.
- When a new Product is created, either in WooCommerce (on ‘Publish’) or in e-conomic (on Save & New), product information should be sent from one system to another.
- The product data present, must be mapped to the required fields. For example, it’s easy to understand mapping of name fields, and description. Product Group might be mapped to Product Type or Category, depending on the way information is needed to be maintained. Product Number can be mapped to Product SKU.
- A point of dispute arises when you think of values which do not have a corresponding fields. For example, barcode value in e-conomic. A barcode field is not present by default in WooCommerce. It can be added as a custom field, or can be left blank.
- Similarly, every time product information is updated, the changes should be reflected.
- The product purchase information should also be mapped.
- e-conomic provides an API which can be used to update and retrieve information.
- We would need to create an intermediate plugin, that connects WooCommerce to e-conomic. This plugin would hook on to WooCommerce actions and filters, to change values in e-conomic. As well as use the e-conomic API, to register to any changes.
Similarly the extension plugin will ensure that orders and invoices, and order status changes, and customer information is maintained in sync.
A disadvantage here is duplication of data. The same data may be present in both the applications. An unexpected failure in synchronization, could result in an inconsistency issue. There has to be an option to manually trigger information sync, or a scheduled cron job which syncs data on a timely basis. The idea of integrating WooCommerce and e-conomic, can be extended to other accounting systems as well.
You may also like to Read: How to Integrate WooCommerce and Vend POS