← All products

Nik Shipping UA — Nova Poshta & Ukrposhta for WooCommerce

Nik Shipping UA — Nova Poshta & Ukrposhta for WooCommerce

A Ukrainian WooCommerce shop keeps running into the same wall: the customer cannot pick their own branch at the checkout, someone has to retype every waybill by hand in the carrier’s cabinet, and the delivery price is either “we will call you about it” or a flat fee that loses money on half the orders.

Nik Shipping UA closes that whole loop. The customer picks a settlement and a branch, a parcel locker or a street address without leaving the checkout. The price comes from Nova Poshta and Ukrposhta for the real weight and dimensions of that particular cart. The waybill is created from the order screen in one click — and printed straight away together with the 100×100 label.

Checkout: settlement and Nova Poshta branch pickers with a live tariff next to every delivery method

Every delivery option, right at the checkout

  • Nova Poshta — branch, parcel locker, courier to the door and freight branch.
  • Ukrposhta — post office and courier to the door.
  • Self-pickup from your own points.
  • Settlement, branch, parcel locker and street search with autocomplete — against the carrier’s live directory, not a static list that goes stale in a month.
  • The chosen branch or address travels into the order, the e-mails and the waybill. Nobody has to phone the customer back.

The delivery price is the one the carrier charges

The plugin asks for the current tariff for the weight and dimensions of the cart. Volumetric weight is part of it: Nova Poshta re-weighs the parcel at hand-over and bills the greater of the actual and volumetric weight — the plugin does the same arithmetic, so the price at the checkout matches what you will really pay.

If the carrier does not answer, a fixed price steps in — the delivery option never disappears from the checkout.

Set separately: a free-shipping threshold, a handling fee as an amount or a percentage, limits by weight and order value, and a re-weighing buffer — a small percentage on top that absorbs the difference when a parcel turns out heavier than calculated.

Who pays for delivery — your call, or the customer’s

This is what off-the-shelf solutions usually lack. Four scenarios:

  • The shop pays — once the order reaches the free-shipping threshold. The waybill is billed to the sender.
  • The customer pays on the site — the delivery cost is added to the order along with the goods.
  • The customer pays on collection — nothing is added to the order, the price is shown as an estimate, and the waybill is billed to the recipient.
  • The customer chooses between the last two at the checkout. This is the default.

The free-shipping threshold outranks every other setting: an order above the amount ships on the shop regardless of the chosen mode.

Waybills without a trip to the branch

Order screen: delivery details, waybill number, tracking link and print buttons

  • Create a waybill from the order screen in one click — weight, places, dimensions and declared value are filled in from the order.
  • Print the waybill and the 100×100 label.
  • Bulk actions — create, print or delete waybills for a whole list of orders at once.
  • Automatic creation on the order statuses you choose. Several statuses can be ticked: “Processing” and “On hold” are both on by default, so prepaid and cash-on-delivery orders behave the same.
  • Automatic cancellation when an order is cancelled or refunded.
  • The waybill number and the tracking link are visible on the order itself and in the orders list.

Money and several companies

  • Cash on delivery, with a choice of who pays the money-transfer fee. When the shop covers it, the fee goes into the checkout price immediately instead of turning up on an invoice at the end of the month.
  • Several sender profiles — different sole traders, cities or branches on different delivery methods. The profile also drives pricing: the tariff is quoted from the city the parcel actually leaves from.

Tracking, and e-mails that look like your shop

The E-mails and notifications tab: message texts on the left, a live preview of the e-mail on the right

Parcel statuses are polled on a schedule and the order status follows your own mapping. The customer gets an e-mail with the tracking number; you get a warning when the carrier refuses a waybill or a parcel starts coming back.

Five messages: parcel shipped, parcel ready for collection, order cancelled, waybill failed, parcel returning. Each has its own subject and body with {order_number}, {tracking_number}, {carrier} and other placeholders — or leave a field empty and the built-in wording is used.

The design is shared by all of them: logo, colours, corner radius, signature and footer links, with a live preview and a test send to your own inbox. The same styling is applied to WooCommerce’s own order e-mails — new order, processing, completed, refunded, invoice. The customer sees one shop instead of two.

Parcel dimensions, where you actually fill them in

Product screen: packed parcel weight and dimensions, cargo type and separate place fields

Every product gets packed-parcel fields: weight, length, width, height, cargo type, “ship as a separate place” and “not delivered by these carriers”. Fill them one by one, in Quick Edit, or in bulk across hundreds of products at once. Empty fields fall back to the WooCommerce weight and dimensions, and if those are missing too, to the defaults in the settings.

Set up in three steps

The Getting started tab: the state of the carriers, the shipping zones and the checkout page

Paste the Nova Poshta API key from the business cabinet — the plugin checks it and pulls in the sender for you. For Ukrposhta, enter the Bearer and the token issued under your e-commerce agreement. The “Add to a shipping zone” button creates a “Ukraine” zone and adds the options you ticked. The Getting started tab keeps showing what is configured and what is not.

Every settings field is validated: letters in a price, a negative weight, a half-written phone number or a 500% buffer are corrected to something the carriers accept, and the screen says exactly what was changed.

There is a log of every API call — when something goes wrong you can see what the carrier actually replied. And a REST API, so waybills can be created from your CRM or warehouse software.

Requirements and compatibility

WordPress 6.7+, WooCommerce 7.0+, PHP 7.4+. The interface is translated into Ukrainian and Russian. Compatible with HPOS, WooCommerce’s new order storage.

The branch picker works on the classic WooCommerce checkout. The block checkout cannot display it, so the plugin switches the checkout page to the [woocommerce_checkout] shortcode. Only that one page is touched: the original block markup is kept and restored if the option is turned off or the plugin is deleted.

Installation

  1. Download the archive here — free, no account and no payment needed.
  2. Upload it under Plugins → Add New → Upload Plugin and activate.
  3. On the Nova Poshta and Ukrposhta tabs, enter the carrier keys and confirm the sender.

Questions about the plugin

Is it really free?
Yes. There is no licence key, no subscription and no cut-down edition — you get the complete plugin from day one: every delivery option of both carriers, live pricing, waybills with printing and bulk actions, cash on delivery, the who-pays-for-delivery choice, several senders, automatic waybills, e-mails with a designer, tracking and the REST API. You only need your own carrier accounts (a Nova Poshta API key, and an Ukrposhta e-commerce agreement for real Ukrposhta waybills).

Where do I get the Nova Poshta key?
In the business cabinet: Settings → Security → My API keys. The plugin verifies the key and pulls in the sender details itself.

What if I do not have an Ukrposhta agreement yet?
Ukrposhta issues the Bearer and the token to business clients under a contract. Until then, switch Test mode on and work against the sandbox, while running Nova Poshta live.

Where do the parcel dimensions come from?
From the product. The plugin adds packed weight and dimension fields, and both the delivery price and the waybill are built from them. Empty fields fall back to the WooCommerce weight and dimensions, and then to the defaults in the settings.

The branch list is empty — what now?
Nova Poshta limits how often its directory can be queried. The plugin retries and caches the whole list for a day — wait a minute and reload. The cache can be cleared from the Getting started tab.

Do updates cost anything?
No. Grab the latest archive from this page whenever you like and upload it over the old version — your settings, waybills, sender profiles and product fields all stay in place.

Reviews ★★★★★ 5.0 out of 5

  • ★★★★★ Дмитро Павлов ✓ verified user 26.07.2026

    Крутое решение для быстрой и беззаботной работы с почтовыми системами. 15 минут и уже все готово. Доволен, будем работать.

Reviews can be left by users who have downloaded or purchased this plugin — that is why every review here is genuine.

Frequently asked questions

Is it really free?

Yes, completely. No licence key, no subscription and no locked features — and no ads inside the plugin. Use it on as many sites as you like.

Do I need to register or pay to download?

No. The zip downloads directly from this page — no account, no registration and no payment.

How do I install it?

Download the zip below, then in WordPress open Plugins → Add New → Upload Plugin, choose the zip, install and activate. The settings then appear under Settings → Cookie Consent.

Will it work on my site?

The PHP and WordPress requirements are listed on this page. We test on current versions and popular themes; heavily customised or exotic builds cannot be guaranteed — but since the plugin is free, just install it and check.

I need specific functionality — can I order customisation?

Yes. Describe your task in the support chat and we will estimate the time and the cost. If the improvement is useful to everyone, we add it to the plugin — and then you get it for free.