Get in touch
  • WordPress
  • Shipping
  • v1.3.0

Nova Poshta Premium — Nova Poshta for WooCommerce

Nova Poshta module for WooCommerce: city and branch selection at checkout, live rate, waybill from the order screen. Premium adds cash on delivery, auto-statuses, returns.

Download Free
Pro · one-year licence The more sites, the less each one costs
Compatibility
WordPress 6.2+ / WooCommerce 7.0+ / PHP 7.4+
Version
Pro v1.3.0
Free v1.0.10 (wordpress.org)
Licence
two sites, annual
Trial
7 days, no card, one per site
Or all 173 Pro modules with All Access — 4 990 ₴ / year

The module in action — 45 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.

Feature Free Pro
City and branch/parcel-locker selection right at checkout, with autocomplete from the Nova Poshta API ✔ ✔
Live shipping cost calculation by weight and destination ✔ ✔
The widget replaces the address fields: street, city, region and postcode are filled in automatically ✔ ✔
Works on both classic checkout and Checkout Blocks ✔ ✔
Waybill creation from the order screen or automatically on reaching a chosen status ✔ ✔
Shipment log in the admin with tracking links ✔ ✔
City and branch directory cache — checkout never waits on the API ✔ ✔
API key stored encrypted, HPOS-compatible ✔ ✔
7-day Premium trial — one click, no card ✔ ✔
Cash on delivery (money transfer) on the waybill — ✔
Automatic hourly shipment status updates — ✔
One-click return waybills — ✔
Cash-on-delivery reconciliation and outbound HMAC-signed webhooks — ✔
"Webhooks" screen: endpoints, HMAC-SHA256 signature, delivery log — ✔

What it looks like

WooCommerce checkout: Nova Poshta block in place of the address fields
The delivery block sits in the customer’s form and replaces the street, city, region and postcode fields
Choosing a Nova Poshta city and branch at checkout
City with autocomplete, branch from Nova Poshta’s live directory, including parcel lockers
Nova Poshta shipment log in the WooCommerce admin
WooCommerce → Nova Poshta: shipment log with statuses and waybill-creation buttons

Key points

What the customer sees

At checkout, instead of the usual set of address fields, the customer sees a single block: a city field with suggestions (or a one-click list of popular cities) and a list of that city’s branches and parcel lockers.

What the admin gets

Every shipment sits in one log: waybill number with a tracking link, recipient, current status, cash-on-delivery amounts and money-transfer numbers.

Settings — a single page

The module is added as a regular WooCommerce shipping method. All settings live on one page: API key, sender profile, pricing rules, widget appearance and waybill automation.

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 7.0 or newer (HPOS-compatible)
  • PHP 7.4 or newer
  • A Nova Poshta API key from your account

Version history

v1.3.0 Current

A Nova Poshta API outage no longer stops the store.

v1.2.8

The Pro version activated next to the free copy from WordPress.org no longer loads the free copy’s code with PHP warnings on every request.

v1.2.7

An order shipped to a branch no longer carries the second address line (flat, entrance) from the shopper’s account.

All versions (12)
v1.2.6

English-language stores: the block checkout no longer stops silently when the shopper’s account has no region.

v1.2.5

The shopper’s saved account address is no longer replaced with the branch.

v1.2.4

The Nova Poshta picker now shows only when Nova Poshta itself is chosen: on the block checkout it used to open for Ukrposhta or Meest too.

v1.2.2

A purchased license stays yours: the Pro features keep working after the license term ends — the term covers updates and support.

v1.1.2

Fixed return-waybill creation: the request to Nova Poshta was going out without a return-reason subtype, and the branch was being placed into the field meant for the counterparty’s address…

v1.1.1

A single order can no longer get two waybills.

v1.1.0

A 7-day Premium trial, started with a click: the key arrives by e-mail, no card required.

v1.0.1

API-based rate calculation is now an option, off by default.

v1.0.0 First release

A branch-selection widget for classic checkout and Checkout Blocks, live rate, waybill creation, shipment log, status tracking, Premium licence.

Frequently bought with Nova Poshta Premium

4 modules in one order — 40% cheaper than separately

“Store starter” bundle Nova Poshta Premium Mono Acquiring Telegram notifications and Viber/SMS for customers Abandoned Cart Recovery Need more — all 173 modules in All Access for 4 990 ₴.
2 490 ₴ / year instead of 4 160 UAH bought separately
Buy the bundle →

Full module description

Nova Poshta Premium for WooCommerce is a module that connects your store to Nova Poshta in 10 minutes. The customer picks a city and a branch right at checkout, the shipping cost is calculated using Nova Poshta’s live rate, and the waybill is created from the order screen or automatically — once the order reaches the status you choose.

The widget doesn’t just get added alongside — it replaces the address fields. Street, city, region and postcode are filled in from the chosen branch, so the customer has nothing to type by hand, and you’re left with a correct shipping address on the order.

What the customer sees

At checkout, instead of the usual set of address fields, the customer sees a single block: a city field with suggestions (or a one-click list of popular cities) and a list of that city’s branches and parcel lockers. Once a branch is chosen, the shipping cost in the order summary is instantly recalculated using Nova Poshta’s rate.

The block works on both the classic checkout and Checkout Blocks: the choice is stored via the WooCommerce session, so both behave the same way. If the customer picks Nova Poshta but doesn’t select a branch, the order can’t be placed until they do.

What the admin gets

Every shipment sits in one log: waybill number with a tracking link, recipient, current status, cash-on-delivery amounts and money-transfer numbers.

The order screen shows exactly which branch the customer chose, plus a button to create the waybill — no need to go into your Nova Poshta account.

Settings — a single page

The module is added as a regular WooCommerce shipping method. All settings live on one page: API key, sender profile, pricing rules, widget appearance and waybill automation. The “Check connection” and “Test rate lookup” buttons show right away whether everything is set up correctly.

How it works, step by step

  1. Paste in the API key from your Nova Poshta account and click “Check connection”.
  2. Choose your city, branch and sender profile — waybills will be created from these.
  3. At checkout, the customer picks a city and branch and sees the shipping cost at Nova Poshta’s rate.
  4. The order stores the city, branch and delivery address, and a shipment draft appears in the log.
  5. The waybill is created via a button on the order, or automatically once it reaches the status you chose.
  6. Delivery statuses are updated from the Nova Poshta API (automatically on Premium, manually via a button on the free version).

Under the hood

The module works through the official Nova Poshta API (api.novaposhta.ua/v2.0). City and branch directories are stored in their own tables: cities are fully re-synced once a day, branches are fetched per city on first request and cached for 7 days, so checkout rarely waits on an external request. The API key is stored encrypted in the database and is never shown back in the form. No third-party iframes, no swapped-out checkout templates — only standard WooCommerce hooks.

When the Nova Poshta API is down, your checkout keeps working: cities and branches come from the module’s cache, shipping uses the last known rate, and waybills are queued and created automatically once Nova Poshta is back. On a test stand with a hung API, placing an order took 0.2 seconds instead of 30.

How to install

  1. Download the archive and install it via “Plugins → Add New → Upload Plugin”.
  2. Activate the plugin.
  3. WooCommerce → Settings → Shipping → add the “Nova Poshta” method to the zone you need.
  4. Paste in the API key, save, and fill in the “Ship from” block.

Questions
about the module

Didn't find the answer? Message us on Telegram and we'll reply within a business day.

@catcode_support Setup, compatibility, activation
What do I need to get the module working?

Just an API key from your Nova Poshta account (Settings → Security → API Keys). No separate agreement with the developer is needed.

How does the free version differ from Pro?

Free gives you branch selection at checkout, rate calculation, waybill creation and a shipment log. Pro adds cash on delivery on the waybill, automatic status updates, return waybills, cash-on-delivery reconciliation and webhooks.

Does it work with the block checkout?

Yes. The choice is stored via the WooCommerce session, so classic checkout and Checkout Blocks behave the same way.

Will the module rewrite my checkout?

No. The branch-selection block is embedded into your existing form, and the shipping address fields are filled in automatically from the chosen branch.

Which versions are supported?

WordPress 6.2+, WooCommerce 7.0+, PHP 7.4+.

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