
Marketplace Waybills for WooCommerce — Rozetka and Epicentr
The module carries the waybill number from a WooCommerce order into your Rozetka Marketplace or Epicentr Marketplace account: a list of orders missing a waybill, one-click sending, a log and auto-send in Pro.
- Licence
- two sites, annual
- Trial
- 7 days, no card, one per site
The module in action — 42 sec
Clear even without sound: Ukrainian subtitles
What Free has,
and what Pro adds
The free version works with no time limit. Pro adds the rest of the features in the table.
Key points
What it looks like for the manager
An item called “Marketplace Orders” appears in the WooCommerce menu. It’s a single list of orders from both accounts that still need a waybill — not Rozetka and Epicentr separately, but one shared work queue for the day.
Where the waybill number comes from
The module doesn’t invent a number or contact the carrier. It reads WooCommerce order meta fields in this order:
Rozetka Marketplace
For Rozetka, the order status is set together with the waybill number. This matters: in the Rozetka account, the number by itself doesn’t trigger anything until the order is moved into the matching status.

The trial starts when you ask
A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — two sites
Moving the store? Unbind the licence on the old domain and activate it on the new one yourself. For studios — keys for 5 or 25 sites, or unlimited.
Technical requirements
WordPress 6.2 or newer, WooCommerce, PHP 7.4 or newer. The module is compatible with HPOS — WooCommerce’s high-performance order storage — and works with both the legacy storage in wp_posts and the new one.
Outbound HTTPS to the Rozetka and Epicentr APIs is required. This is open on a normal hosting setup; if your store sits behind a strict firewall, this is the one thing you’ll need to allow.
Version history
On the legacy order storage (HPOS off) every marketplace order in the list showed as linked to the newest WooCommerce order.
Deactivating and deleting the module now also removes its scheduled WP-Cron tasks.
Fixed saving the order: with the module active, the “Update” button on the WooCommerce order screen did not save a status change.
All versions (5)
Account passwords and tokens are encrypted with AES-256-CBC plus HMAC instead of the old method that hosting antivirus scanners flagged and deleted.
Rozetka Marketplace and Epicentr Marketplace, a shared order queue, waybill sending from the list and from the order, number sources (Nova Poshta, Ukrposhta, ROZETKA Delivery, custom…
Frequently bought with Marketplace Waybills for WooCommerce
4 modules in one order — 40% cheaper than separately


Nova Poshta Premium — Nova Poshta for WooCommerce

Mono Acquiring — monobank card payments for WooCommerce

Telegram notifications and Viber/SMS for customers for WooCommerce
Full module description
Marketplace Waybills is a module for WooCommerce that sends the waybill number from a store order to your Rozetka Marketplace and Epicentr Marketplace account. The seller no longer copies the same number by hand: create the waybill on the order, and one button (or auto-send in Pro) puts it into the marketplace account together with the status.
The module doesn’t create waybills and doesn’t replace shipping. It takes the number that’s already on the WooCommerce order — from Nova Poshta, Ukrposhta, ROZETKA Delivery or any other module — and closes off the last, most manual step of the day.
Why a store needs this
A seller trading on both a marketplace and their own store ends up doing the same job twice. First the waybill is created in WooCommerce: the buyer chose a branch, the manager clicked “Create waybill”, the number was saved to the order. Then the Rozetka or Epicentr account is opened, the same order is found, and the number is typed in by hand.
At twenty orders a day that’s twenty tab switches, twenty searches for the order in someone else’s interface, and just as many chances to get a digit wrong. A mistyped number on the marketplace costs more than one made in your own system: the account stops seeing the parcel move, the order sits at “Awaiting shipment”, and the complaint lands on the seller, not the carrier.
The module removes the second step entirely. The number travels to the marketplace account from the WooCommerce order, and the status is set alongside it — tracking from that point on is handled by the marketplace itself.
What it looks like for the manager
An item called “Marketplace Orders” appears in the WooCommerce menu. It’s a single list of orders from both accounts that still need a waybill — not Rozetka and Epicentr separately, but one shared work queue for the day.
Each row shows: the marketplace order, the WooCommerce order it’s linked to, the waybill number if it already exists, and a send button. Click it, and the number goes to the account; the account’s response then appears in the row. If it doesn’t appear, the module shows exactly why, in the account’s own wording.
The same can be done from the WooCommerce order screen: a metabox shows which marketplace order this order is linked to, with the send button right there too. Whoever prefers working in batches uses the list; whoever prefers one at a time uses the order screen.
Self-pickup orders are flagged separately in the list. They will never have a waybill, so the module doesn’t offer a send button and doesn’t show them as “unresolved” — otherwise the queue would never empty out.
Where the waybill number comes from
The module doesn’t invent a number or contact the carrier. It reads WooCommerce order meta fields in this order:
_npwc_ttn — Nova Poshta. _upwc_barcode — Ukrposhta. _rzdwc_track_id — ROZETKA Delivery. If some other module writes the waybill to the order, the settings have a “Custom field” option: enter that meta key there, and the module checks it last.
This order means the module works with any shipping stack, not just ours. A store that’s been shipping via Nova Poshta through a third-party plugin for years doesn’t need to change anything — it just needs to know which field that plugin writes the number to.
Rozetka Marketplace
For Rozetka, the order status is set together with the waybill number. This matters: in the Rozetka account, the number by itself doesn’t trigger anything until the order is moved into the matching status. The module does both in one call, so the order shows as shipped in the account right after the button is pressed.
Tracking from that point is handled by the account itself — the module doesn’t touch that order again and doesn’t poll the API every hour. That’s a deliberate choice: Rozetka knows better where the parcel actually is, and mirroring its statuses locally would only build up discrepancies.
The credentials needed are the seller account login and password from seller.rozetka.com.ua. No separate API key is required.
Epicentr Marketplace
For Epicentr, the module sets the waybill number and moves the order to “Shipped” in one action. The logic is the same as for Rozetka; only the authentication method differs.
Epicentr works with a static token. It’s obtained in the account under “Company Settings” → the “API” tab. If the tab isn’t visible, your category manager can enable access to it — that’s a one-message request.
How it works, step by step
1. The order arrives from the marketplace into your normal workflow. The module sees it in the shared “Marketplace Orders” queue.
2. You link the marketplace order to the WooCommerce order — right on the order screen, no separate screen, no import.
3. The waybill is created on the order the way you always do it. The number lands in a meta field.
4. You click “Send waybill” — from the list or from the order. The module takes the number, contacts the account, and sets the status.
5. The account’s response is written to the log. If all’s well, the row disappears from the queue. If not, you see the exact reason.
In the Pro version, steps 4 and 5 happen automatically: the number goes to the account as soon as it appears on the order.
Send log
Every send is written to a log: which order, which account, when, with what number, and exactly what the account replied. This isn’t a decorative log — it’s what answers the question “why is the account empty, I did click send”.
The account’s error is shown in its own words, not as a response code. If Rozetka says the order is already in a different status, that’s exactly what you’ll read, not HTTP 400. That lets the manager work it out themselves, without going to a developer.
The same number is never sent twice. If the button is clicked twice, or a cron job picks up an order that’s already closed, the module simply does nothing — the account isn’t pinged for no reason and doesn’t receive duplicates.
Under the hood
The module talks to the accounts through their official APIs — no page scraping, no login emulation whatsoever. Credentials are stored encrypted in the database.
The link between a marketplace order and a WooCommerce order lives in an order meta field, so it survives theme changes, WooCommerce updates and a move to HPOS. The send log keeps the last 200 entries; older ones are removed automatically.
The module doesn’t create any front-end pages, doesn’t add scripts to the store, and does nothing outside the admin at all — the buyer never sees it and it can’t slow anything down for them.
How to install
1. Upload the archive via “Plugins → Add New → Upload Plugin”.
2. Activate the plugin.
3. WooCommerce → “Marketplace Waybills” — enable the accounts you need and enter the credentials. Click “Test connection”.
4. WooCommerce → “Marketplace Orders” — this is your working list of orders still waiting for a number.
Setup takes a few minutes, and the longest part is finding the Epicentr token in the account.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
What credentials are needed?
For Rozetka — the seller account login and password (seller.rozetka.com.ua). For Epicentr — a static token: account → "Company Settings" → the "API" tab; access to the tab is granted by your category manager.
Can the module be tested without a seller account?
No. Neither marketplace has a sandbox — the API only opens with a live account's credentials. The module immediately shows the account's exact reply, so setup can be checked with the "Test connection" button in a second.
Where does the module get the waybill number from?
From order meta fields: `_npwc_ttn` (Nova Poshta), `_upwc_barcode` (Ukrposhta), `_rzdwc_track_id` (ROZETKA Delivery). If a different module writes the waybill, enter its key in the "Custom field" option.
How is a marketplace order linked to a WooCommerce order?
The order screen has a "Marketplace Waybill" block: pick the marketplace and enter its order ID. After that the number fills in on the list automatically, and with Pro it's sent automatically too.
Do I need to change the status in the account by hand after sending?
No. Rozetka turns on its own tracking once the waybill appears and moves statuses itself. Epicentr is moved to "Shipped" by the module.
What happens if the account rejects the number?
The module shows the reason exactly as the account phrased it, and writes it to the log and to the order notes. The order isn't marked as sent, so the next attempt will go through again.
Does the module create waybills?
No, it carries them over rather than creating them. The waybill is made by your shipping module — Nova Poshta, Ukrposhta or ROZETKA Delivery; this module takes the finished number and puts it into the marketplace account.
No reviews yet. Be the first.
No questions yet. Ask one — we answer within 24 hours.
Not quite what you are looking for?
We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.
Order a custom module
Buying the module
—



