XL as the back office for B2B sales
Comarch ERP XL is an ERP system for companies whose sales rely on complex price lists, many warehouses and their own document processes. In such a company the ERP stays the place where stock is counted, prices are set and documents are issued, while the sales platform has to show that data to B2B customers and take their orders.
The Comarch ERP XL module is a paid module. It connects to the ERP through a REST connector plugin installed on the XL side, and one Endora Commerce installation serves one company in XL.
What flows in which direction
| From XL to the platform | From the platform to XL |
|---|---|
| Stock levels and prices | New orders placed at checkout |
| Order document statuses | New contractors after organization verification |
| Contractors | B2B quote requests |
| Sale documents: invoices and WZ notes with attachments | Order description updates, if you configure them |
| Offers | |
| Product records, optionally |
The XL-to-platform direction works off the change buffer on the ERP side: the module reads new changes at regular intervals, turns each one into a sync job and acknowledges it in XL only once the write on the platform side has succeeded. The same change read a second time does not create a second job.
The direction towards XL is just as asynchronous. Placing an order or sending a quote request only puts a job on the queue, so a temporary ERP outage does not block the customer at checkout. Prices from XL go into the platform’s pricing engine, and stock into its multi-warehouse stock handling.
Mappings you set in the admin panel
The integration is configured in the integrations section, on the Comarch XL tab. Besides the plugin address, the XL API username and password and a connection test, you set there:
- Identity mappings: which SKU, order or organization in the platform corresponds to which record in XL. Rebinding a mapping leaves a trace in the history.
- A warehouse map: which XL warehouse feeds which stock source in the platform, also separately per sales channel.
- A price-list map: which XL price list becomes which price list or customer price tier.
- Status maps: how order and offer statuses from XL translate into statuses in the platform.
A missing mapping is not skipped silently. A job that needs it ends with an error and a readable description, and stock or prices from an unmapped warehouse or price list wait until the configuration is completed.
The sync monitor
Every job is visible in the sync monitor: with its direction, status, correlation ID and error details. The correlation ID is also sent with every request to XL, so an entry from the ERP logs is easy to find in the admin panel.
| Status | Meaning |
|---|---|
| pending | waiting for a free worker |
| in progress | being processed right now |
| success | finished, change acknowledged in XL |
| error | failed, with a code and a description of why |
| poison | failed after all retries were used up |
Once mappings or configuration are fixed, you resume a job with the retry button. The monitor also shows worker heartbeats, so you can see at a glance whether change detection and processing are running. A separate switch pauses intake of new changes from XL, which is useful during a migration or maintenance on the ERP side.
XL, PIM and other ERP connectors
- One ERP connector at a time. Comarch ERP XL cannot be switched on while another ERP connector is active, for example Comarch ERP Optima or Subiekt GT.
- A PIM can run alongside. A PIM connector, for example Akeneo or Pimcore, then owns catalog content, while XL owns stock, prices and documents. When a PIM is active, importing product records from XL is off by default, and you switch it on only if XL is meant to overwrite product content.
- Switching it off deletes nothing. It stops the workers and hides the screens, while mappings and imported data stay in place.
Rules specific to your company
Every company works in XL a little differently. Rules that follow from your commercial policies, such as routing stock between warehouses, which products are available for sale, margins, extra attributes sent with an order or status translations, do not go into the generic module. We put them in a separate overlay module built for your rollout, so updates to the XL module do not overwrite what you agreed.
What to prepare on the XL side
- The REST connector plugin installed on the XL side, in a version matching the API contract the module supports.
- A username and password with XL API permissions, set aside for the integration.
- An HTTPS address for the plugin, reachable from the server running the platform’s workers. In production an unencrypted connection is refused.
- Clean codes: unique product codes, contractors with correct tax IDs (NIP), and the list of warehouses and price lists that should be visible in online sales.
We agree the scope of flows and mappings in a discovery workshop before the module goes live. If invoices are to be issued in the platform rather than in XL, the separate KSeF integration handles that.