Table of Contents
- 1 What is WooCommerce integration with ERP?
- 2 Why do I need to integrate WooCommerce?
- 3 What is WooCommerce automation?
- 4 How do I integrate with WooCommerce?
- 5 Does WooCommerce have an API?
- 6 What is WooCommerce REST API?
- 7 What is a REST API example?
- 8 How do I integrate API in WooCommerce?
- 9 How does WooCommerce integrate with ERP?
- 10 WooCommerce CRM integration
- 11 Payment integration
- 12 Shipping and warehouse integration
- 13 How do I import products into WooCommerce?
- 14 How to bulk import products in WooCommerce
- 15 Importing a CSV file into WooCommerce
- 16 Update existing products in WooCommerce
- 17 Automating WooCommerce product imports
- 18 Using BPA Platform for WooCommerce integration
- 19 WooCommerce connector
- 20 Frequently Asked Questions
What is WooCommerce integration with ERP?
ERP WooCommerce integration is the process of connecting WooCommerce to ERP systems, including SAP Business One, Sage 200, Microsoft Dynamics, Epicor, Oracle, SYSPRO etc.
WooCommerce integration services also provide the ability to connect other business systems, such as accounting, CRM, marketing, payment and warehouse management systems, directly to WooCommerce.
WooCommerce integration enables you to transfer data, such as product information, orders, stock and pricing etc., between the different systems or applications.
Something you will definitely need to consider to support your business growth.
Why do I need to integrate WooCommerce?
Whilst WooCommerce is an excellent eCommerce platform for selling your products and services online, it can’t help you manage every aspect of your business.
It is more than likely that you manage your finances in an accounting or ERP system, as well as all of your customers’ details and inventory. Therefore, it is essential that you connect your business systems so that you have full control over all the data within your business and can monitor transactions in real time.
The majority of applications, accounting software, CRM and ERP systems, provide APIs that enable systems to talk to each other, pushing and pulling data. There are also dedicated integration platforms that make it easier to connect to these APIs, which can then automate numerous processes.
Application integration and synchronisation increases the visibility of critical information, removes repetitive bi-directional data administration tasks and can improve revenue.
What is WooCommerce automation?
Automating various business processes in WooCommerce will help you increase profitability, improve efficiency, save time, and enhance customer service.
Trying to keep on top of sales orders, product updates, stock levels and financial data is extremely time-consuming and can potentially lead to errors if performed manually.
It therefore makes sense to try and automate some of these tasks to lessen the burden on your workload and so that you can concentrate on more proactive business activities.
Right at the beginning of creating your online store, manually uploading all your products is going to take a considerable amount of time. If all this data is already held in another business system, such as ERP, then it makes sense to automate the importation of the products into WooCommerce.
Once your WooCommerce store is set up, keeping track of orders, customer data, financial payments and inventory levels is another time-consuming process, especially if you are using an accounting, CRM or ERP system.
Manually downloading and importing this data into your business systems is prone to human errors and doesn’t provide you with real-time information across your business.
Marketing initiatives can also be hindered if you are relying on manually uploading customer information between different systems, such as CRM or an email marketing tool.
Integrating these various systems with WooCommerce and then applying business process automation to your everyday tasks will significantly improve the management of your eCommerce activities and provide the platform to increase sales and grow your business.
How do I integrate with WooCommerce?
WooCommerce has a number of plugins to integrate certain applications and extensions. However, to integrate with external systems, such as accounting and ERP systems, you will need to utilise the APIs (Application Programming Interface) that WooCommerce provides.
These provide the ability to connect different business systems and applications with WooCommerce and then transfer and synchronise data.
So how does that work?
Well, it can be achieved by getting a developer to write bespoke code. However, it can potentially be more cost-effective to install a dedicated integration and automation solution, such as BPA Platform to help with WooCommerce integration with ERP systems.
With a dedicated WooCommerce connector tool that simplifies access to the WooCommerce REST APIs, much of the hard work has already been achieved.
Data can then be easily mapped between WooCommerce and your chosen system using simple drag and drop tools.
BPA Platform’s ability to connect WooCommerce to ERP systems, including SAP Business One, Sage 200, Microsoft Dynamics, Epicor, Oracle, SYSPRO etc., and practically any data source provides a significant reduction in software development times and costs.
Does WooCommerce have an API?
WooCommerce provides a wealth of REST APIs to enable you to connect applications or business systems and then create, view, update, and delete essential data between them.
The APIs cover all the essential sections that you will need to manipulate, including Customers, Orders, Refunds, Products (variations, attributes, categories, shipping classes, tags, reviews), Reports, Tax rates and classes, Payment gateways and Shipping.
To use the latest version of the REST API you must be using:
- WooCommerce 3.5+
- WordPress 4.4+
- You may access the API over either HTTP or HTTPS, but HTTPS is recommended where possible.
What is WooCommerce REST API?
The WooCommerce REST APIs enable you to call back and forth between WooCommerce and your other applications that are managed by web services.
As a result, an API and associated web service can provide the added ability to extend a number of related business process automation tasks.
It’s a little complicated, so we’ll try and explain it a bit further.
A REST API (also known as RESTful API) basically provides a flexible, simple way to integrate applications.
An API (Application Programming Interface) is a set of commands that business systems, applications and web services (a web-based service to an application provided by a web service provider) use so that disparate applications can utilise its command functions and call procedures allowing them to talk to each other.
REST API conforms to the constraints of REST (REpresentational State Transfer) architectural style, which was introduced to guide the design and development of the architecture for the World Wide Web.
It basically provides a set of rules that developers should follow when developing their APIs. For example, you should be able to get data (a resource) when linked to a specific URL. This is known as a request. When the request is made to the resource’s URL, it returns the data in HTML, XML, JSON, or another format, which is known as a response.
The default response format for WooCommerce is JSON – a lightweight data-interchange format that uses human-readable text to store and transmit data.
The most common protocol for these requests and responses is HTTP, which provides operations such as GET (read), PUT (create and update), and DELETE (delete).
Any application or business system that has programming language that can make HTTP requests and interpret JSON can use the REST APIs to interact with WooCommerce, from PHP, Node.js, Go, and Java, to Swift, Kotlin, and beyond.
As REST provides a fair amount of autonomy, flexibility and scalability, it has become the most common method that developers use for connecting applications and business systems.
You can read more about REST APIs and web services here: Overview of Web Services Knowledge Base Article.
What is a REST API example?
A common REST API integration scenario could include the synchronisation of sales orders from WooCommerce into an ERP system.
When a new sales order is processed in WooCommerce it can be quickly added to your ERP system.
Using the REST API, a solution can automatically synchronise the online sales order and associated customer information (Name, Address, Payment details, Order Number etc.) and place them into the ERP system and, if required, a CRM system and courier service, to completely remove manual and repetitive bi-directional data entry processes.
How do I integrate API in WooCommerce?
In order to integrate other systems with your WooCommerce store you will need to enable the WooCommerce REST API via the dashboard and generate API keys to authenticate your API requests and the use of the REST API endpoints.
So how can you enable the APIs?
1. Generating WooCommerce keys
To create or manage keys for a specific WooCommerce user, go to WooCommerce > Settings > Advanced > REST API and click on the Add Key button.
2. Defining access levels for API keys
Once you have specified a user, you can choose the level of access for the API key, whether Read access, Write access or Read/Write access.
3. WooCommerce Consumer Key and Consumer Secret
You will then be presented with two keys, a QRCode, and a Revoke API Key button, which are your Consumer Key and Consumer Secret.
Once you have enabled the WooCommerce API and created an API key to use, you will then need an API client or dedicated integration platform to create API calls to WooCommerce and/or your specific business system. This will allow you to make requests and view responses between the two.
How does WooCommerce integrate with ERP?
Using the WooCommerce REST APIs it is possible to connect WooCommerce to ERP systems, including SAP Business One, Sage 200, Microsoft Dynamics, Epicor, Oracle, SYSPRO etc.
As you might expect, each ERP system varies in how it handles API connections. Some are relatively straightforward, whereas others, especially the larger ERP systems, are much more complex.
Many organisations look immediately to point-to-point integration as a solution, whether this is an out-of-the-box plugin or bespoke development that is created in-house.
A plugin can be a quick way to integrate the systems, but they are often extremely limited in their capabilities and incapable of handling large data transfers and activity. They are also difficult to manage error handling or events when connectivity goes down between systems.
Bespoke development is another alternative but, again, this can cause issues. It can be time-consuming, expensive and will be reliant on the developer’s knowledge of the integration. This can cause issues in the future if they move on.
Additionally, bespoke development and fixed integration is extremely inflexible. Updates and patches to business systems can be overlooked and scalability can be problematic.
You can read more about the pain points of point-to-point integration in this blog.
A specialist data integration tool, such as Codeless Platforms’ BPA Platform, can provide you with a much more flexible environment to assist with ERP WooCommerce integration.
Some of the common WooCommerce ERP integration scenarios that BPA Platform has been used for, includes:
- SAP Business One WooCommerce
- WooCommerce Microsoft Dynamics
- WooCommerce Dynamics NAV integration
- Sage 50 WooCommerce integration
- WooCommerce Sage 100 integration
- WooCommerce Sage 200 integration
- WooCommerce Sage 300 integration
- WooCommerce Sage X3 integration
- Epicor WooCommerce
- WooCommerce Oracle integration
- WooCommerce SYSPRO integration
A dedicated integration and automation tool will provide you with the stability you will need if your company is either importing or managing thousands of products.
It will also future proof your IT environment by offering the scalability you may need as the business expands and additional systems and applications are introduced into your business.
WooCommerce CRM integration
Customer data and sales orders generated by WooCommerce need to be synchronised with your CRM system, and vice versa, to help increase revenue and streamline the customer experience.
This is especially true if your CRM system is pulling information in from other applications, such as an email marketing tool or web analytics software, and you are using the CRM as your central hub.
Having all the information in one central place make it much easier to track the behaviour of your customers, their purchasing habits as well as their abandonment rates.
This will then help with your marketing campaigns, such as automating follow ups and identifying your best customers, as well as analysing the performance of your webstore.
Likewise, any information held in your CRM system, such as product availability and pricing, need to be pushed into WooCommerce to account for all online and offline sales.
Taking payments in WooCommerce is relatively simple thanks to the plugins that are available, such as PayPal, Square and Stripe. However, this payment data needs to be transferred into your accounting or ERP system so that your financial department can process and manage your accounts.
WooCommerce therefore needs to be integrated with these systems so that essential financial data can be accounted for and managed accordingly.
Shipping and warehouse integration
The size of your business will ultimately determine the integration capabilities that you require. Any company that is dealing with a large number of products will more than likely be using an ERP or warehouse management system to manage stock and inventory levels.
Therefore, it is paramount that these systems are integrated with WooCommerce so that orders are updated in these systems and stock levels and pricing are clearly reflected in your WooCommerce store.
It is possible to easily add workflow processes to the critical relationship between orders and stock, such as sending business alerts when levels are breached (email/SMS) and trigger PO requisitions for approval and processing.
If you are managing shipping via your CRM or ERP system, which can be integrated with various courier services, then orders and shipping information will also need to be synchronised.
It is also possible to link WooCommerce directly with courier services, including:
- DHL WooCommerce integration
- WooCommerce UPS integration
- UPS integration with WooCommerce
- FedEx integration with WooCommerce
Once the products have been shipped, it is possible to update WooCommerce with the status, tracking number and delivery details.
How do I import products into WooCommerce?
There are numerous ways of importing products in WooCommerce, ranging from manual inputting to WooCommerce XML import / WooCommerce CSV import, or automating WooCommerce bulk import using a dedicated integration and automation platform.
WooCommerce CSV Importer and Exporter
Uploading products into WooCommerce is obviously the most important objective to getting your eCommerce store up and running.
For small businesses, this may not be such an issue. However, if you have thousands of products, it is an extremely laborious process, especially if you do this manually.
You will also struggle to manage your products in the future, whether this is updating product descriptions, pricing, stock levels etc., if you don’t have it set up correctly.
The saving grace, potentially, is that you more than likely already have your products stored within a CRM, ERP or PIM system.
If this is the case, then it is possible to simply create and export a CSV file from that software.
You can then use WooCommerce’s built-in product CSV Importer and Exporter function to import or export hundreds or thousands of products in your WooCommerce store.
Once up and running you can then take control of managing the products in your store by updating them with new information, including price changes and stock levels, place them on sale, or sync multiple storefronts.
If you don’t have your products stored in another system, it is worth creating a CSV file that you can easily edit and maintain. This can be achieved by using the online spreadsheet editor in Google Drive / Docs, the free spreadsheet app in OpenOffice, the free Calc app in Libre Office or Number for macOS.
How to bulk import products in WooCommerce
In order to bulk import WooCommerce products from a CSV file, you will need to make sure that your CSV file adheres to the correct formatting so that product imports are successful, otherwise it can be rejected and create a complete headache.
WooCommerce has provided the following guidelines that a CSV file needs to adhere to:
- CSVs should be in UTF-8 format.
- Dates should be defined for the store’s local time zone.
- Use 1 or 0 in your CSV, if importing a Boolean value (true or false).
- Multiple values in a field get separated with commas.
- Wrapping values in quotes allows you to insert a comma.
- Prefix the id with id: if referencing an existing product ID. No prefix is needed if referencing an SKU. For example: id:100, SKU101.
- Custom meta is supported/imported but only plain text – no support for JSON or Serialized data.
- Taxonomy term hierarchy is denoted with >, terms are separated with commas.
- Draft products are not exported, only published and privately published products.
- It is not possible to assign a specific post ID to product on import. Products will always use the next available ID, regardless of the ID included in the imported CSV.
Importing a CSV file into WooCommerce
Once your CSV file is correctly formatted and ready to use you can then import it into WooCommerce to populate your store with your products.
1. Import products from A CSV file
On the Products page, select Import. This will the display the Upload CSV File screen.
2. Upload your CSV file
Next you need to locate and upload your CSV file by selecting the Browse button and then clicking Continue.
3. Matching Column Names to Fields
WooCommerce will then display the Column Mapping screen. WooCommerce automatically attempts to match or ‘map’ the Column Name from your CSV to Fields. Any unrecognized columns will not be imported by default.
4. Running the Importer
Next, use the the dropdown menus on the right-hand side to adjust fields or indicate ‘Do not import.’ Once you are happy, click on the Run the Importer button.
5. Importing your products
The wizard will then start to import your products into your WooCommerce store.
This entire process can also be used for WooCommerce XML import – although WooCommerce does recommend that you try to avoid using Excel due to formatting and character encoding issues.
Update existing products in WooCommerce
As we mentioned earlier, you can also use WooCommerce’s CSV Importer and Exporter function to update existing products with new details, pricing, inventory levels etc.
You will need to update the IDs and SKUs of the products you wish to update in your CSV file. The importer will use these to auto-match and auto-update the product information you enter on each line.
Follow the same procedure as above, and once you have selected the CSV file, Tick the checkbox for Update Existing Products and click Continue and then Run the Importer button.
Automating WooCommerce product imports
The above scenarios for importing and updating products in WooCommerce is still a fairly laborious task, especially if you are handling thousands of products.
This is highlighted even more if you are using a CRM, ERP, PIM or warehouse management system to manage all of your products.
In this situation it would be much better to utilise an integration and automation platform that can monitor your database in real-time and automatically import or update products on a regular or scheduled basis.
Using BPA Platform’s Import Flat File Tool it is possible to automatically transfer data from your database or system to WooCommerce. As well as the ability to extract CSV files from your chosen system, it also has the capability to work with XML and TXT files, making it much more flexible.
Going one step further, BPA Platform can also connect with the WooCommerce APIs which enables you to directly map the two different databases, providing even greater control and helping to accelerate business process automation. See below.
Using BPA Platform for WooCommerce integration
An ETL Tool (Extract Transform Load), such as BPA Platform, can be designed to connect to web services, sending data to them or retrieving data from them.
The multitude of web services available extends the range of possible business automation tasks, including the integration of applications, the input of data and much more.
In BPA Platform, web service connections are configured by BPA Platform administrators and task designers using the Web Service Connector tool.
Support for web services and standards
The Web Service Connector tool supports a wide range of web connection standards or architectures, including:
- HTTP/HTTPS (Hypertext Transfer Protocol / Secure HTTP)
- SOAP (Simple Object Access Protocol)
- WSDL (Web Services Description Language)
- (Representational State Transfer) including Open Data, Sage Data and Google Data
These provide you with the ability to connect WooCommerce to a great range of web services, including accounting, CRM, ERP, marketing and warehouse management.
BPA Platform also has a dedicated WooCommerce Integration Tool that makes it even easier to integrate WooCommerce and ERP systems, as well as other existing software, such as accounting, CRM, marketing tools and warehouse management systems.
The WooCommerce Integration tool allows communication between BPA Platform and WooCommerce. All communication uses XML. You use the Integration tool to map BPA Platform data to WooCommerce objects and operations, including ADD, UPDATE, GET, and DELETE, are used for a variety of business objects, such as Product, Customer and Order.
The XML responses received back from the WooCommerce API can be saved to file or passed to another BPA Platform tool for further processing. The responses can include details of the object requested, any errors from the provider, or the values of any automatically generated ID fields.