DUX is an Argentine ERP for small and medium businesses. With the integration on, your wholesale store's orders record themselves in DUX, and the price and stock of the warehouse and list you choose update themselves in your catalog.
Step by step
- Generate an API Token from your DUX account.
- In VentasxMayor go to Settings → ERP and pick DUX.
- Paste the Token and click Search Information: the Company, Deposit and List dropdowns fill in with the real data from your account.
- Choose the Company and click Search Company Information so the branches load.
- Choose Branch, Deposit and List.
- Click Verify Configuration. It checks the token and that the company, the warehouse and the list exist in DUX.
- Save. Once Token, Deposit and List are filled in, the Sync Support block appears.
Company and Branch are numbers, not names. DUX fills the dropdowns and they store the internal identifier; there is nothing to type by hand.
Configuration fields
- Token: the DUX API token. Nothing works without it.
- Company: the DUX company the orders belong to.
- Branch: the branch or point of sale where they are recorded.
- Deposit: which warehouse the stock your store sees is read from.
- List: which DUX price list is imported.
- Surcharge item code (optional): the code of a DUX item used to send the payment or shipping surcharge as an extra order line. Leave it empty and the surcharge does not travel as a line.
- Tax patch (off by default): turn it on only if prices in DUX already include VAT. On import, it divides them by 1.21; when sending the order, it multiplies the unit price and the surcharge by 1.21.
- Disable stock updates (off by default): stops bringing stock from DUX. Price keeps syncing.
- Add shipping and payment to the reference (off by default): DUX has no fields of its own for shipping, payment method or notes. With this option, those three pieces of data are appended to the order's Referencia field, after the
VXM+ number we use to identify it. DUX's limit is 200 characters: if it does not fit, the detail is trimmed, never theVXM+ number. - DUX catalog is not grouped (one item per variant) (off by default): turn it on if in DUX each color, size or scent is a standalone item with its own code, instead of a variant of a parent item. See the variants section.
What syncs and in which direction
| What | Direction | When |
|---|---|---|
| Orders | Store → DUX | On confirmation, and again every time you edit and save the order |
| Price and stock | DUX → Store | Automatically every 10 minutes (only what changed in those 10 minutes) + one full pass every night |
You do not need to force anything for day-to-day use. The 10-minute pass brings only the items that changed in DUX during that window; the nightly pass walks the whole catalog.
The order carries the buyer's data, the item detail with quantity, unit price and discount percentage, the province translated to its code, and the surcharge as an extra line if you configured Surcharge item code.
What does NOT travel: the minimum purchase and the pack quantity are managed in VentasxMayor and are not sent to DUX. The inbound feed does not bring them either; it only contains price and stock.
The sync never creates products. If an item exists in DUX and not in your catalog, it is discarded. Load it into the store first, with the same code.
Products with variants (sizes, colors)
Codes have to be consistent across both systems. There are three valid models:
- Variants on both sides. In DUX the parent item has an alphanumeric code (
ABC-123) and each variant an internal number. In the store, load the parent's code on the product and the variant number on each option's code. - Each variant as an individual product on both sides. One product per combination, with the same code on each side.
- Flat catalog with its own codes. If in DUX each variant is a standalone item but you grouped them as options of one product in the store, turn on DUX catalog is not grouped. With the option on, the code you loaded on each option travels to the order as-is, as the item code.
The switch exists because an option code made only of digits is ambiguous: without it the code is read as the internal number of a DUX variant, and DUX rejects the whole order. If your catalog is flat and your codes are numeric, turn it on.
If you cannot find it or it does not sync
- "Prices and stock are not updating except when I force the update." The 10-minute pass only sees what DUX marked as changed in that window. If the change was not recorded in DUX as a recent modification, it comes in on the nightly pass or when you click Update all products.
- Products with the "Not synced" triangle. On top of the general causes, DUX has one of its own: items with no price in the configured list are dropped from the listing, so an item that exists in DUX but has no price loaded in that list counts as not found. Check the list you chose. See the detail of the warning in the ERP integration article.
- Half the catalog got flagged as not synced all at once. That is a listing DUX returned only partly. The full pass detects that case: it applies the prices and stock of whatever did arrive, then reports the error instead of flagging products. Run it again later.
- DUX rejected the whole order. It is almost always the variant model. Review the section above and, if your DUX catalog is flat with numeric codes, turn on DUX catalog is not grouped.
- "Can products created in DUX be created automatically?" No. The product has to exist in the store first, with the right code.
- Shipping does not show on the delivery note. Turn on Add shipping and payment to the reference.
- An order did not arrive. If DUX answered that the orders-per-minute limit was exceeded, we retry automatically up to 5 times, waiting a little longer each time (starting at 5 seconds). DUX requires at least 5 seconds between orders and restarts the wait on every excess, which is why the retries are deliberately slow. If it still fails, the error is logged on the order and in Integration activity, with the Retry button. No email notice is sent.
- Prices arrive with VAT missing or added twice. Check Tax patch: on only if prices in DUX are loaded with VAT included.
- I only see stock from one warehouse. That is the warehouse you configured. It is the only one read.
Tips
- Once the integration is on, manage price and stock from DUX. Any manual change in the store is overwritten on the next pass, except stock if you turned on Disable stock updates.
- The full pass takes a while: the catalog is read 50 items per page with a 5-second pause between pages to respect the API limit. That is normal.
- If you edit an order and save it, it is resent to DUX. Keep that in mind so you do not duplicate.