• Integrations

Integration of Ukrposhta into the site

The integration of Ukrposhta is the selection of a branch by index directly in the basket, an approximate calculation of the cost by weight and dimensions, and the formation of the shipment from the admin instead of re-entering data in the carrier's office. We connect the tariff classes in separate lines - express to the branch, standard to the branch, courier to the address - because the deadlines are different, but the word "Ukrposhta" is the same. We keep the directory of branches and indexes in our table and update it with a background task according to the schedule. The process takes 3-10 business days and begins with a free verification of your checkout.

See how it works
Price
after a free audit
Guarantee
30 days after project sign-off
Tariff classes in checkout
express to the branch, standard to the branch, courier to the address
after a free audit
Price
30
Guarantee

days after project sign-off

express to the branch, standard to the branch, courier to the address
Tariff classes in checkout
3-10
Term of works

business days from receiving API accesses

1-2
Checkout Checkout

business days, free, no obligation

13
Ukrposhta in its own dimensions

live stores from delivery pages, measurement 07/31/2026

30
Guarantee

calendar days for completed work

What's included

Complete list of work and what you get as a result

  • Choosing a department from the list with a search by city and index — the buyer does not type the index by hand, and it is the handwritten index that most often breaks the shipment
  • Tariff options in separate lines: express to the branch, standard to the branch, courier to the address - the buyer sees the difference in terms, not one name of the carrier
  • Approximate calculation of the cost based on weight, dimensions and declared value - the amount is visible before registration, not through a call from the manager
  • Automatic updating of the department directory and indexes on a schedule — a new department appears at your disposal without manual import
  • Forming a shipment from the admin and printing accompanying documents — the manager does not go to the carrier’s office and does not type the address a second time
  • Transmission of the track number in the order and in the letter to the buyer - the question "where is my parcel" reaches the manager less often
  • Post-payment check for your product: is your calculation scenario supported for the selected tariffs - we fix the answer before launch
  • International shipment script with a list of attachments — if you need it; we transfer the data in the format accepted by the carrier
  • End-to-end verification on a live order together with your manager: from the shopping cart to the printing of documents and the track number in the letter
  • Technical transfer: access, short written instructions for your processes, 30 calendar day guarantee for completed work
When this service isn't right

What's not included — so there are no surprises at delivery

  • The contract with the carrier and obtaining access to the API are drawn up by you
  • Tariff agreements and calculation of the cost of delivery
  • Customs clearance of international shipments
  • Processing returns and claims
  • Connecting other carriers is a separate scope of work
Who it's for

Situations where this service delivers results

Scenario 1 of 5

The product is light, and the carrier's commission eats up the margin

Spices, cosmetics, small accessories, sets — where the parcel weighs hundreds of grams, the difference in the tariff is noticeable on each order. In the measured spice store, Ukrposhta is the third option next to Nova Poshta and self-delivery, and the buyer decides for himself what to pay for.

We'll review your situation in a free audit

Free shipping script check

Ukrposhta is connected differently than commercial carriers: it has its own directory, its tariff classes and separate rules for international shipments. The check shows which set you really need.

What we measure

  • What rates do you really need?Express to branch, standard to branch, courier — all three were turned on in the measured store. Each additional tariff is a separate calculation and a separate line in the checkout.
  • Directory of departments and indexesWe check whether the list of branches and postal codes is pulled up automatically. The index entered manually by the buyer is the most common reason for a rejected shipment.
  • What the buyer sees at checkoutThe shipping price must be visible or honestly marked as an estimate. We saw "0 hryvnias" in the checkout on a carrier whose information page on the same website said 35–80 hryvnias.
  • International shipmentsIf you are shipping abroad, this is a separate scenario with a customs declaration and a list of attachments. It is better to take it into account before, and not after, the launch.
  • What about postpaidPost-payment conditions at Ukrposhta differ from those of commercial carriers - we check whether your scenario is supported at all.

What you get

  • Real checkout report: what shipping methods the site currently offers and at what prices.
  • A list of Ukrposhta tariffs that you should enable.
  • Evaluation of works and term with division into obligatory and desirable.
  • A conversation for 20-30 minutes with the manager who ships the order.

Timeline: 1-2 working days

Why is it free

Because the check takes several hours, and without it you can't see whether it's a configuration of an existing module or a development from scratch.

What's next

After the inspection, we give an estimate and a deadline. If manual registration in the carrier's office is enough for your volume, let's say it directly.

Short form: your contact and site URL

  • Contract, act and 30-day warranty

    Every project gets a written contract: scope, deadlines, amount, acceptance procedure. After delivery — act and invoice, then 30 calendar days of warranty.

  • Sole proprietor & bank transfer

    The contractor is a registered sole proprietor. Payment by invoice with closing documents.

  • Rights & access — yours

    Code, design and materials transfer to you after full payment. Domain, hosting, repository and analytics are registered to you.

  • Client portal instead of email chains

    During the project you get access to a portal: contracts, invoices, acts and project status in one place.

  • European clients

    Among our work — projects for Norway, Bulgaria, Moldova and Spain.

  • Verifiable numbers

    Every case in the portfolio comes with a link to a live site and a technical measurement.

  • Audit first, then pricing

    There is no price list on the site intentionally: the scope of the same work differs multiples between clients.

  • We say "no" when unsure

    If the task isn't ours or the deadline is unrealistic — we tell you upfront.

What affects the price

Why two seemingly identical tasks are priced differently

  • How many tariff classes are includedOne class per branch — one calculation and one row in the basket. Three classes — three calculations, a selection rule between them, and three test scenarios. This is the most common difference between a short job and a long one.
  • Is it necessary to create shipments from the adminIf the carrier's office is enough for the manager, we don't do this block at all. If you need to print documents directly from the order - access rights, templates and error handling from the API when data is not passed are added.
  • Checkout status at the startIn a store where there is already one carrier with a normal selection of branches, Ukrposhta is lining up. If the checkout shows "0 hryvnias" for paid delivery, the calculation itself must first be put in order - otherwise the new carrier will simply add the second wrong number.
  • Platform and versionOpenCart and WooCommerce often have a ready-made module, and the work is reduced to configuration and verification. A self-written checkout or showcase on Next.js means that we write API calls under your code.
  • International shipmentsSeparate script: list of attachments, recipient data in Latin, declaration. It almost doubles the amount of testing, so you need to decide whether to take it or not during the inspection, not in the middle of the work.
  • Scope of live testingOne control shipment with your manager is included. Running all tariffs with real parcels of different weights takes extra days, and they usually pay off.
Cases

Tasks and results in numbers — all metrics measured by us

a specialized online store of self-defense equipment

Task
Give a choice between two carriers with a small catalog and keep the pages easy on mobile.
Solution
OpenCart 3.x with nginx and HTTP/2. Payment by card and cash on delivery, delivery by two carriers — Nova Poshta and Ukrposhta. The sitemap is an index of four submaps.
Result
Measurement 07/31/2026: 48 products and 18 categories — 68 addresses in the site map, zero redundant entries. First server response 494.7ms, full HTML download 567.5ms. Defect found: zero JSON-LD blocks and no Google counter - no conversions measured at all.

online store of garden tools for private buyers

Task
Show the buyer all options for delivery and payment on one page of terms and conditions and do not make the main one difficult at the same time.
Solution
OpenCart 3.x, four carriers — Nova Poshta, Meest Express, Ukrposhta, Rozetka Delivery — and five payment methods, including cashless with and without VAT.
Result
Measurement 07/31/2026: Main HTML 252.6KB - lightest among batch stores, first response 547.2ms, full load 676.7ms; 66 out of 69 images (96%) are slow to load. A defect was found: the names of the carriers are presented only as images without alt - neither the search engine nor the screen reader can see them.

the official online store of garden tools of the world brand

Task
Serve a catalog of several thousand items and give a wide choice of payment and delivery.
Solution
OpenCart 3.x with nginx, HTTP/2, HSTS. Eight payment methods and four delivery services, including Ukrposhta; carrier logos are provided with alt text.
Result
Measurement as of 07/31/2026: 8,690 unique addresses in the site map — about 8,600 cards and 81 category nodes. The first response is 789.4ms along with a 301 redirect to the language branch. Defect found: 33,493 entries in the sitemap for the same 8,690 addresses, and no link to the second language version.

online store for the delivery of sweets, snacks and gift sets

Task
Collect checkout for an impulse purchase from the phone: a choice between cheaper and faster delivery.
Solution
OpenCart 3.x, five online payment methods and four delivery methods — Nova Poshta, Ukrposhta, self-delivery, courier.
Result
Measured on 07/31/2026: first response 402.9ms, full HTML load 532.4ms with 303.4KB of markup - the fastest response among stores in the batch. Defects found: the sitemap gives 200 with an empty body, there are no analytics at all - no GTM, no GA, no Meta Pixel.

Did not find your case?

Describe how it works on your side — we will tell you whether “Integration of Ukrposhta” fits and what it means in your situation. No brief and no call: one question, one answer.

Process steps

Transparent stages with approval at every step

Total duration:3–10 days

  1. Checkout and access

    1-2 working days

    Let's see what the site gives now: what are the delivery methods, with what prices, where does the index come from. In parallel, we accept access to the API from your account and fix the list of tariffs that we enable.

  2. Directory of departments and tariff classes

    1-3 working days

    We create our own table of departments and indexes, set the background task of updating according to the schedule and separate the tariffs in separate lines with an explanation of the term. Right here it is decided what to show by default.

  3. Calculation of the cost in the basket

    1-2 working days

    Weight, dimensions and declared value are linked to the calculation, the amount is displayed with the mark "approximate". We separately describe the behavior when the API did not respond: the cart should not fall with it.

  4. Formation of shipments and track numbers

    1-3 working days

    The button for creating a shipment in the admin, printing accompanying documents, recording the track number in the order and in the letter to the buyer. Errors from the carrier are shown to the manager by text, and not by a silent failure.

  5. Live run and transmission

    1 working day

    We make a real order together with your manager — from choosing a department to printing documents. Next, access, instructions and warranty period.

Technologies & integrations

What we build on and what it connects to

Stack

  • Ukrposhta's API is the only source of the directory of branches and indexes; its limit is that the carrier calculates the final amount upon receipt
  • OpenCart 3 / 4 — there are ready-made modules, but not every developer has a build for 4.x; we fix the version before the start
  • WooCommerce - plugins exist, some have not been updated for years; we take the one that was read in the code
  • Next.js — there is no ready-made module, we write API calls by hand; instead, the checkout is not limited to someone else's template
  • PHP and MySQL - we keep the directory in our table, instead of pulling the API for each rendering of the shopping cart
  • The background task of updating the directory is on a schedule and with a log; if the carrier has not responded, the cart is working on the previous version of the list

Integrations

  • Ukrposhta — express to the branch
  • Ukrposhta is a branch standard
  • Ukrposhta — courier at the address
  • postpaid
  • track number in the letter to the buyer
  • KeyCRM
  • Telegram bot for notifications
Integration against manual registration in the carrier's office

How this option differs from the alternative

Who enters the addressthe buyer chooses a department from the list with a search by city and index
Relevance of the directorybackground update on schedule, with a log of failed attempts
Delivery cost for the buyerweight and dimensions reference point is visible before registration
Time for one packagethe data is already in the order, all you have to do is click "create shipment" and print it
When is more profitablefrom several shipments per day and in the presence of a second carrier
What we need from you

We can't start without this — best to prepare in advance

  1. Access the Ukrposhta API from your account — the carrier draws up the contract for you, not for the contractor.
  2. Access to the site and admin with rights to install modules, plus a test environment if you have one.
  3. The list of tariffs that we enable and the selection rule between them: what to show the buyer by default.
  4. Sender data: address, postal code, contact person, phone.
  5. The typical weight and dimensions of shipments or the formula by which they are calculated from the goods in the basket.
  6. An order manager for two or three hours - he is the one who goes through the live script and tells where it is inconvenient.

If something is missing — let us know, we'll help you gather it or do it as a separate task.

FAQ

Most frequently asked questions — with concrete answers

How is Ukrposhta more difficult than a commercial carrier in terms of integration?

Two things: a directory and tariff classes. The address of the branch here is tied to the postal code, not to the number of the branch in the city, so the search in the basket should be done both by the name of the settlement and by the index. And tariffs are divided into express and standard with different delivery times. If you combine them into one line of "Ukrposhta", the buyer will not receive the term for which he expected, and the claim will go to you, not to the carrier.

Can you show the buyer the exact shipping cost?

Approximate - yes, according to weight, dimensions and declared cost. The exact amount is calculated by the carrier when receiving the shipment, and no module will bypass this. Therefore, we derive the calculation with the honest mark "approximate". What should not be done is to show "0 UAH" when delivery is paid: we saw exactly such a checkout in a store whose information page on the same domain called 35-80 UAH.

We already have Nova Poshta — will it be faster?

Yes, and it is noticeable. The most expensive part of the work is to get the cart delivery step right: calculation, validation, behavior when the API is not available. If this has already been done, Ukrposhta is placed as the second block in the finished scheme. The reverse is also true: if you plan both carriers, take them in one job - the checkout is processed once, not twice.

Is postpaid supported?

Technically yes, but conditions differ from commercial carriers and depend on the tariff and type of product. That's why the checkout check is done before the estimate: we see if your billing scenario is even supported for the rates you want to enable. Learning about pre-launch restrictions costs hours, after launch - canceled orders.

And international shipments?

This is a separate scenario and needs to be addressed early on. A list of attachments, recipient data in Latin and a customs declaration are required. Technically, we collect this data in a form on the website and transmit it in a format accepted by the carrier. We do not undertake the customs clearance itself - it is your area of ​​responsibility, and we do not pretend that we know how to close it.

How long does the work last and why is the sum of days by stage greater than the deadline?

The term is 3–10 working days. By stages: checkout check 1–2 days, directory and tariffs 1–3, cost calculation 1–2, creation of shipments from admin 1–3, live run 1. The amount looks larger, because the stages are partly parallel: while the directory is being updated, the calculation is already being written. The lower limit of 3 days is real when access is available from the first day and one tariff class is enabled.

Who updates the branch directory after launch?

No one's hands. The directory resides in your database and is updated by a background task on a schedule - this is a conscious decision, not an API saving. If you drag the carrier on every cart render, your cart will stop working exactly when someone else's server goes down. With a local copy, at such a moment, the buyer simply sees a slightly older list of branches, and the order is processed.

And if there is no ready-made module for our platform?

We write API requests ourselves - this is done on Next.js showcases and self-written checkouts. The scope is larger than the box module setup, but there is no third-party code that will one day be deprecated. And a separate practical tip: before installing a plugin from the catalog, we open its code and look at the date of the last modification. The number of installations does not say anything about the vitality of the module.

When do you not need integration?

When the number of shipments is one per month, then the carrier's office is cheaper than any development, and we will say it during the inspection, not after the bill. Another case: all goods are bulky or expensive, and Ukrposhta's tariffs are not suitable for them. Then an extra line in the cart only adds to the buyer's doubts at the moment when he almost clicked "check out".

Give a link to the checkout — let's start with the check, not the estimate

In 1-2 working days, we will return with a report: what the site gives the buyer now, which Ukrposhta tariffs it makes sense to enable for you, and how much work it is. If the carrier's office is enough for your volume, you will hear it in the first email.

From measured casesMeasurement 07/31/2026: 48 products and 18 categories

View cases
  • Reply within 2 hours
  • No commitment
  • We work under a contract

There is no price list on the site on purpose: the same work differs several times over between two clients, and a “from” figure explains nothing in that case. First a free audit — we count your pages, duplicates and speed — then we name the sum and the deadline and fix both in the contract.