Integrate your wholesale store on VentasxMayor with the DUX Software ERP to automatically sync orders, stock, and prices. DUX is an enterprise management system that supports multiple branches and warehouses, ideal for wholesale operations with distributed inventory.
How it works
From Integrations > ERP select DUX and fill in the configuration fields. Once connected, orders placed in your wholesale store are automatically sent to the ERP, and stock levels and prices from the configured warehouse and price list are reflected in your online catalog.
The integration requires you to configure the specific company, branch, warehouse, and price list you want to use. This gives you granular control over which inventory and prices are displayed in your online store.
Prerequisites
- DUX plan with API Token: you need a DUX plan that allows generating an API Token. You can verify this in your DUX account under Configuration > Company > API. Without a valid token the integration cannot operate.
- Matching codes: your VxM product codes (SKUs) must match the codes registered in DUX exactly. If they do not match, orders will not be accepted by DUX and stock/price sync will fail for those products.
Configuration fields
- Token (text, required): DUX API authentication token. Used to validate every request sent to the system. Generate it from the DUX panel (Configuration > Company > API).
- Company (select, required): the DUX company to which orders belong. If you manage multiple companies in the same DUX system, this field determines which one is used for synchronization. With a valid token the list is filled in automatically when you click Search Information.
- Branch (select, required): branch or point of sale where orders are processed. The list is filled in automatically when you click Search Company Information.
- Deposit (select, required): warehouse from which stock is deducted. Specifies which warehouse stock levels are taken from. This is essential if your company has multiple warehouses and you want to display stock from a specific one.
- List (select, required): price list to use for synchronization. Determines which price list is used to import wholesale prices to your online store.
- Surcharge item code (text, optional): product code in DUX used to record surcharges. When an order includes a surcharge (for example, for credit card payment or financing), it is added as a separate line item in the ERP order using this code. If not configured, surcharges will not be sent as an additional line.
- Tax patch (toggle, default: off): turn on if the prices stored in DUX already include VAT. When enabled, imported prices are divided by 1.21 to get the base price without tax, and prices sent to DUX in orders are multiplied by 1.21 so they include VAT again. Leave it off if prices in DUX are stored without VAT.
- Disable stock updates (toggle, default: off): when enabled, stock is not synchronized from DUX. Useful if you want to manage stock manually in VxM and use DUX only for prices and orders.
Search Information and Verify Configuration
Once the token is entered, two actions become available:
- Search Information: queries DUX and auto-fills the Company, Deposit, and Price list dropdowns with the actual names from your account. After choosing a company, click Search Company Information to load the matching branches.
- Verify Configuration: tests the connection and checks that the selected company, deposit, and list exist in DUX. Reports specific errors or warnings (invalid token, deposit not found, list not configured, etc.) so you can fix them before going live.
Products with variants (sizes, colors)
The product configuration must be consistent between DUX and VxM. There are two correct ways to load variants:
- Product with variants on both sides: when a DUX product has variants, DUX assigns an alphanumeric code to the parent product (e.g.
ABC-123) and a numeric code to each variant (e.g.10for size S). In VxM, enter the alphanumeric code of the parent product inproducto/codigoand the numeric code of each variant inopcion/codigo. Only this way DUX can identify the exact variant on every order line. - Each variant as an individual product: if you loaded each variant combination as a separate product in DUX, do the same in VxM and make sure each individual code in VxM matches the DUX code exactly.
Do not mix approaches: you cannot create a product with variants in VxM if it is loaded in DUX as an individual product without variants. If codes do not match, the order is rejected.
What syncs
Orders (VentasxMayor β DUX)
Each confirmed order in your store is automatically sent to DUX. If you edit an order and save the changes, the order is re-sent to DUX with the updated information. The order includes:
- Complete buyer data (business name, tax ID, address, fiscal status)
- Details for each product with quantities, unit prices, and discount percentage
- Province and city mapping to corresponding ISO codes
- Surcharges as a separate line item (if Surcharge item code is configured)
Stock (DUX β VentasxMayor)
Inventory levels are imported from the configured warehouse in DUX. The sync includes:
- Stock per product, including size and color variants
- Paginated processing (50 products per page) for large catalogs
- 5-second pause between pages to respect API rate limits
If the Disable stock updates toggle is on, this sync is skipped.
Prices (DUX β VentasxMayor)
Prices are imported from the configured price list. If the Tax patch toggle is on, prices are divided by 1.21 before being stored, to obtain the base value.
Sync behavior
Order submission
Orders are sent via a POST request to the DUX new order endpoint. The system automatically maps provinces and cities to their corresponding ISO codes to meet the ERP's format requirements. This mapping is kept in memory to optimize performance for successive orders.
If the order includes a surcharge and the Surcharge item code field is configured, the surcharge amount is added as an additional product line in the order, using that code.
Stock and price sync
Stock and prices are retrieved via paginated GET requests, processing 50 products per page. There is a 5-second pause between pages to respect the DUX API's rate limits and avoid blocks.
Products with size and color variants are synced individually, maintaining tracking of each available combination.
VAT calculation
The Tax patch toggle indicates whether prices in DUX include VAT:
- On: when importing prices from DUX, they are divided by 1.21 (the 21% VAT is removed to get the base price). When sending orders to DUX, unit prices and surcharges are multiplied by 1.21 (VAT is added back to the amount sent).
- Off: prices are imported and sent without transformation. Use this when prices in DUX are already stored without VAT.
Order send retries
If DUX returns a 429 (rate limit exceeded) when receiving an order, the system automatically retries up to 5 times with a 1-second delay. If the limit persists, the order is logged as failed and the support team is notified.
Manual full sync
Once you have filled in Token, Deposit, and List, the Update all products action appears under the "Sync support" block. This action triggers a full sync: prices, stock, and product data are updated for every product from DUX. The process may take several minutes due to pagination and pauses between pages, and cannot be interrupted. Confirm before running because it may overwrite local changes.
Run it after bulk changes in the ERP (price list updates, merchandise intake, warehouse changes) to verify that data is correctly reflected.
Tips
- Verify that the API token is valid and current. An expired token stops all synchronization; use Verify Configuration if in doubt.
- Once the integration is active, manage prices and stock only in DUX. Any manual change in VxM will be overwritten on the next sync (unless Disable stock updates is on for the stock case).
- Make sure each SKU exists in DUX before loading the product in VxM. A code missing in DUX causes the order to be rejected.
- Configure Surcharge item code if your business applies surcharges by payment method. Without this code, surcharges will not appear as a separate line in the ERP and you may lose traceability.
- Mind the Tax patch setting: turn it on only if DUX prices are stored with VAT included. If they are stored without VAT, leave it off to avoid dividing by 1.21 by mistake.
- Choose the warehouse to sync carefully. If you have multiple warehouses, only the stock from the configured warehouse will be shown in your online store. Use the warehouse that corresponds to your wholesale dispatch operation.
- Stock sync may take longer with large catalogs due to pagination and pauses between pages. This is normal and necessary to respect API rate limits.
- If you edit an order and save it, it is re-sent to DUX with the changes. Keep this in mind to avoid duplicates or inconsistencies in the ERP.