# Nexus ERP and WooCommerce Integration Guide

> How to sync Nexus ERP with WooCommerce: stock per warehouse, foreign currency prices at the BNR rate, orders, customers and invoices. From a real project.

- Source: https://maxdev.ro/en/resources/nexus-woocommerce-sync/
- Romanian version: https://maxdev.ro/resurse/sincronizare-nexus-woocommerce/
- Author: MAXDEV SRL
- Published: 2026-10-23
- Site index for AI: https://maxdev.ro/llms.txt

---

**WooCommerce and Nexus ERP: how to sync stock, prices, orders and invoices.**

A practical guide based on a real integration for an irrigation products distributor: what flows through the Nexus web service, how often, and which problems it solves.

0 missing invoices

Before, one in five customers could not find their invoice by email. Now invoices appear in their account.

0 wrong prices

Before, at least 5 out of 50 orders had the wrong price. Prices now come straight from Nexus.

144-180 hours a year

12 to 15 hours of manual work removed every month, or 18-22 working days a year.

40-50 orders a day

sent to Nexus automatically, with no manual entry.

Figures are the client's own estimate. The hours assume the automated steps no longer require any manual work.

Nexus ERP is one of the most widely used ERP systems in Romania among distributors and trading companies, and [WooCommerce](https://maxdev.ro/en/services/woocommerce-development/) is the most widespread online store platform on WordPress. There is no ready-made link between them: Nexus knows the stock, prices, customers and invoices, WooCommerce knows what was ordered. Without an [ERP integration](https://maxdev.ro/en/services/erp-integration/), someone copies data from one system to the other by hand, and every copy is a chance for a mistake.

Below we show how we connected the two systems for an irrigation products distributor, what data flows, how often, and what to watch out for if you are doing the same. Using SoftOne? See our [guide to syncing SoftOne with WooCommerce](https://maxdev.ro/en/resources/softone-woocommerce-sync/).

## What gets synced

Six types of data move automatically between Nexus and WooCommerce:

**Stock across multiple warehouses:** quantities come from each warehouse in Nexus, not from a total typed in by hand. The store only sells what physically exists.

**Prices:** two sources, combined: regular selling prices and the special price lists in Nexus for [customers with negotiated terms](https://maxdev.ro/en/services/woocommerce-b2b/). Some products are priced in a foreign currency; they are converted to lei automatically, at the National Bank of Romania (BNR) rate of the day.

**Orders:** every order placed in the store reaches Nexus automatically, with products, quantities, prices and delivery details, ready to be processed.

**Customers:** if the buyer does not exist in Nexus yet, they are created automatically. Individuals are recognised by phone number or email address, companies by their tax ID (CUI), so a returning customer never shows up twice in the ERP.

**Localities:** the locality chosen at checkout is matched against the Nexus locality list, so shipping and billing addresses reach the ERP exactly in the format Nexus expects.

**Invoices:** an invoice issued in Nexus is pulled into WooCommerce automatically and shows up in the customer's account, next to the order it belongs to.

If you also sell to companies, company details can be filled in at checkout [automatically, from the tax ID](https://maxdev.ro/en/blog/autofill-company-details-woocommerce-cui-anaf/), and the same ID is then used to identify the customer in Nexus. For more on negotiated prices, see our guide on [WooCommerce wholesale pricing per customer](https://maxdev.ro/en/blog/woocommerce-wholesale-pricing-per-customer/).

## How the flow works, step by step

The connection runs through the Nexus web service. The client's Nexus instance runs in the cloud, and the connector we built reads and writes data through the web service in both directions. No CSV exports, no files dropped on an FTP server, no steps done by someone on the team.

Products are matched between the two systems by SKU: the product code in WooCommerce is the same as the item code in Nexus. It is a simple rule, but everything else depends on it: stock, prices and order lines only reach the right product if the codes are identical on both sides.

Simplified, the flow looks like this:

1. The customer places an order in the store.
2. The connector checks whether the customer exists in Nexus (by phone, email or tax ID) and creates them if not.
3. The order is sent to Nexus, with the locality matched to the Nexus list.
4. The team processes the order in Nexus like any other and issues the invoice.
5. The invoice is pulled into WooCommerce and appears in the customer's account.

Every operation is logged, so you can see what was sent, what was updated and when, and an error never goes unnoticed.

nexus-sync.json

```
{
  "sync_id": "run-20931",
  "source": "Nexus ERP",
  "target": "WooCommerce",
  "product_sku": "IRG-40217",
  "stock": [
    { "warehouse": "Main warehouse", "quantity": 120 },
    { "warehouse": "Secondary warehouse", "quantity": 18 }
  ],
  "price": {
    "list": "Special distributor list",
    "currency": "EUR",
    "value": 42.50,
    "bnr_rate": 4.9752,
    "value_ron": 211.45
  },
  "status": "ok"
}
```

Simplified excerpt with sample values: the structure of the data that flows in one sync run between Nexus ERP and WooCommerce.

## How often it syncs

Not all data needs the same speed, so the integration uses two different rhythms.

### On a schedule

Prices update every hour, stock three times a day. At 40-50 orders a day, that is enough: the stock shown stays close to reality, and the syncs do not put needless load on Nexus or on the store's server. The rhythm depends on volume; a store with hundreds of orders a day, or with low stock on fast-selling products, needs more frequent updates.

### Instantly, via webhooks

Orders, customers and invoices do not wait for a schedule. A new order goes to Nexus the moment it is placed, a new customer is created along with it, and the invoice appears in the customer's account as soon as it is issued. These are the events someone is waiting for on the other side: the team processing the order and the customer who needs the invoice.

The takeaway: "real time" is not a goal in itself. What matters is that each type of data arrives in time for whoever uses it.

## Foreign currency prices and the BNR rate

Distributors often buy some products in euros, and the selling price is defined in euros in Nexus as well. On the website, though, customers must see the price in lei, correct for the day they order.

The connector fetches the rate published daily by the National Bank of Romania and converts foreign currency prices automatically. The client's team no longer recalculates anything by hand when the rate changes, and there is no risk of the site showing a price calculated at last week's rate.

On days when BNR does not publish a new rate (weekends, public holidays), the last published rate is used, the same way accounting does it. The rate used for each conversion is kept in the log, so any price can be checked later.

How we do it at maxdev

### Irrigation products distributor

eCommerce · B2B + B2C

WooCommerce Nexus ERP Full sync

We connected the store to Nexus ERP through its web service: stock per warehouse, special price lists and foreign currency prices at the BNR rate, orders, customers and invoices flow automatically between the two systems.

- Two-wayorders and customers to Nexus, stock, prices and invoices to the store
- Invoices in the accountevery customer sees their invoices in their account

## Mistakes to avoid

**Matching products by name.** Names differ between the ERP and the store through diacritics, spaces or abbreviations. Match by SKU, the same code in both systems.

**A new customer for every order.** Without an identification rule (phone, email, tax ID), the same customer appears dozens of times in Nexus, and their history and balance are split across records.

**Free-text localities at checkout.** "Bucuresti", "București" and "Sector 3" are three different values for the ERP. Without matching against the Nexus locality list, the order arrives with the wrong address or does not go in at all.

**Exchange rates typed in by hand.** A manually updated rate gets forgotten sooner or later, and the store sells for days at a wrongly calculated price.

**Invoices sent only by email.** Emails land in spam or get lost. An invoice available in the customer's account ends the "I never got the invoice" calls.

**Summing stock from every warehouse without rules.** If some warehouses do not ship online orders, their stock should not show as available in the store.

## Questions we get often.

### Can we have euro prices in Nexus and lei prices on the website?

Yes. Foreign currency prices are converted automatically at the BNR rate of the day, and the rate used is kept in the log.

### What happens to a customer who already exists in Nexus?

They are recognised by phone or email (individuals) or by tax ID (companies), and the order is attached to their existing record. No duplicate customer is created.

### Do B2B customers see their special prices?

Yes. The special price lists in Nexus are synced, and each customer sees the prices negotiated with them.

### How much does a Nexus ERP + WooCommerce integration cost?

It depends on how much data you sync and how complex your pricing rules are. We give you an exact estimate once we have seen your Nexus instance and your store.

### How long does implementation take?

For a stock, price and order sync, usually a few weeks. Foreign currency prices, special price lists and invoices in the account add time; we set the exact timeline after the analysis.

---

## Contact

- Phone: +40 735 343 355
- Email: contact@maxdev.ro
- WhatsApp: https://wa.me/40735343355
- Book a call: https://cal.com/daniel.maxdev
- Address: 66A Theodor Pallady Blvd, District 3, Bucharest, Romania
