Title: Holio Shipping
Author: holioshipping
Published: <strong>Июнь 24, 2026-ж.</strong>
Last modified: Октябрь 8, 2026-ж.

---

Плагиндерди издөө

![](https://ps.w.org/holio-shipping/assets/banner-772x250.png?rev=3584886)

![](https://ps.w.org/holio-shipping/assets/icon-256x256.png?rev=3584886)

# Holio Shipping

 Автору [holioshipping](https://profiles.wordpress.org/holioshipping/)

[Жүктөө](https://downloads.wordpress.org/plugin/holio-shipping.1.2.7.zip)

 * [Кенен маалымат](https://ky.wordpress.org/plugins/holio-shipping/#description)
 * [Сын-пикирлер](https://ky.wordpress.org/plugins/holio-shipping/#reviews)
 *  [Орнотуу](https://ky.wordpress.org/plugins/holio-shipping/#installation)
 * [Development](https://ky.wordpress.org/plugins/holio-shipping/#developers)

 [Колдоо](https://wordpress.org/support/plugin/holio-shipping/)

## Сүрөттөө

Holio Shipping connects your WooCommerce store to the Profrakt shipping platform,
giving you access to multiple Nordic and international carriers through a single
integration. Manage shipping rates, pickup points, label printing, and returns all
from your WordPress admin.

#### Key Features

 * **Multi-Carrier Support** – Get real-time shipping rates from Bring, PostNord,
   HeltHjem, UPS, DHL, Porterbuddy, and Instabox
 * **Full NVIT Customs Support** – Complete integration with Norwegian customs declaration
   system (NVIT) for international shipments
 * **Pickup Point Selection** – Let customers choose convenient pickup locations
   during checkout
 * **Multi-Warehouse Operations** – Assign products to different warehouse locations
   and ship from multiple origins
 * **Automated Label Creation** – Generate shipping labels automatically when orders
   are placed
 * **Direct Label Printing** – Print labels directly to Profrakt-registered printers
 * **Return Shipments** – Create return labels with QR codes or PDF downloads
 * **WooCommerce Blocks Compatible** – Works with both Classic Checkout and Checkout
   Blocks
 * **Flexible Pricing Rules** – Set fixed prices, markups, percentage adjustments,
   and free shipping thresholds
 * **Weight & Dimension Filtering** – Restrict shipping methods based on package
   size and weight
 * **Country & ZIP Code Rules** – Limit shipping options by destination
 * **REST API Support** – Full API for headless and custom implementations

#### Requirements

This plugin requires a Profrakt API account. Profrakt is a shipping platform by 
EDI (edi.no) that provides shipping services primarily for Nordic countries.

**You will need:**

 * Active Profrakt account with API access
 * WooCommerce 8.0 or higher
 * PHP 8.0 or higher

#### Supported Carriers

 * Bring
 * PostNord
 * HeltHjem
 * UPS
 * DHL
 * Porterbuddy
 * Instabox

_Available carriers depend on your Profrakt account agreements_

#### How It Works

 1. **Connect Your Profrakt Account** – Enter your API key in the plugin settings
 2. **Add Your Warehouse Locations** – Import locations from your Profrakt managerships
 3. **Configure Shipping Options** – Select which carrier services to offer and set
    pricing rules
 4. **Customers Get Real-Time Rates** – Shipping costs calculated automatically at 
    checkout
 5. **Print Labels Automatically** – Labels generated when orders are processed

#### Privacy & External Services

This plugin connects to external services to provide shipping functionality. Below
is a detailed description of each service, what data is transmitted, and when:

**1. Profrakt API (Third-Party Shipping Platform)**

The plugin connects to Profrakt API (by EDI, edi.no) to provide carrier shipping
services.

What it’s used for:
 * Fetch real-time shipping rates from multiple carriers (Bring,
PostNord, UPS, DHL, HeltHjem, etc.) * Retrieve pickup point locations near customer
address * Create shipping labels when orders are processed * Track shipments and
get delivery status

When data is sent:
 * During checkout – to calculate shipping rates * When customer
selects pickup point – to load available locations * When order is placed – to create
shipping label * When tracking shipment – to get delivery updates

Data transmitted to Profrakt:
 * Customer shipping address (name, address, postal
code, country, phone, email) * Package weight and dimensions * Order contents and
value (for customs declarations on international shipments)

Holio Privacy Policy: https://holio.ai/privacy-policy
 Holio Terms of Service: https://
holio.ai/terms-of-service

**2. Holio Shipping Middleware (Backend Configuration Service)**

The plugin connects to Holio’s middleware API (hosted on Google Cloud Run) to manage
your shipping configuration.

What it’s used for:
 * Store and retrieve your shipping configuration (warehouse
locations, shipping options, pricing rules) * Manage multi-warehouse settings * 
Store consignment records (shipment history, tracking numbers)

When data is sent:
 * When you configure plugin settings in WordPress admin * When
orders are created (to store consignment records) * When loading shipping options
during checkout

Data transmitted to Holio middleware:
 * Shop configuration (locations, shipping
products, pricing rules, API keys) * Consignment records (order IDs, tracking numbers,
shipment status) * Note: Customer personal data (addresses, names, emails) is NOT
sent to middleware – it goes directly to Profrakt API

Middleware Service: https://holio-shipping-middleware-153205309851.europe-west4.
run.app
 Holio Privacy Policy: https://holio.ai/privacy-policy Holio Terms of Service:
https://holio.ai/terms-of-service

**3. Holio Subscription (Paid Service)**

Using the shipping features requires an active Holio subscription, managed from 
the Subscription tab in the plugin. Payments are handled by Stripe; the plugin itself
never receives or stores card details – it only opens a Stripe Checkout page and
reads back the resulting subscription status.

What it’s used for:
 * Check whether your shop has an active subscription or trial*
Show plan details and usage (number of orders and labels) * Start, change or cancel
a subscription

When data is sent:
 * When you open the Subscription tab * When you start, change
or cancel a subscription * When shipping rates are calculated or a shipment is created,
to verify the subscription is active

Data transmitted:
 * Shop identifier and the email address you enter when subscribing*
Counts of orders and labels, for usage reporting

Note: while no active subscription is found, Holio shipping rates are not offered
at checkout. If the subscription status cannot be verified because the service is
unreachable, rates keep working.

Stripe Privacy Policy: https://stripe.com/privacy
 Holio Privacy Policy: https://
holio.ai/privacy-policy Holio Terms of Service: https://holio.ai/terms-of-service

By using this plugin, you agree to these services’ terms and privacy policies. All
data transmission uses HTTPS encryption.

#### Documentation & Support

 * [Knowledge Base](https://help.profrakt.com/no/integrasjoner-og-api#:~:text=WooCommerce%20integrasjon,Kom%20i%20gang)
 * [Documentation](https://help.profrakt.com/no/integrasjoner-og-api)

### External Services

This plugin relies on the Profrakt API, a third-party service provided by EDI (edi.
no).

**Service:** Profrakt API
 **Provider:** Holio / EDI **Website:** https://holio.
ai **API Documentation:** https://help.profrakt.com/no/integrasjoner-og-api **Privacy
Policy:** https://holio.ai/privacy-policy **Terms of Service:** https://holio.ai/
terms-of-service

**Data Transmission:**
 The plugin transmits the following data to Profrakt API:*
Shipping addresses (sender and recipient) * Package weight and dimensions * Order
line items (for customs) * Customer contact information (name, phone, email)

**Purpose:**
 * Calculate real-time shipping rates * Retrieve pickup point locations*
Create shipping labels and consignments * Track shipment status

**Legal Basis:**
 Data is transmitted based on the legitimate interest of fulfilling
the shipping service requested by the customer.

By using this plugin, you acknowledge and agree to Holio’s terms of service and 
privacy policy.

## Орнотуу

#### Minimum Requirements

 * WordPress 6.0 or greater
 * WooCommerce 8.0 or greater
 * PHP version 8.0 or greater
 * MySQL version 5.7 or greater OR MariaDB version 10.3 or greater

#### Automatic Installation

 1. Log in to your WordPress dashboard
 2. Navigate to Plugins  Add New
 3. Search for “Holio Shipping”
 4. Click “Install Now” and then “Activate”
 5. Go to WooCommerce  Holio Shipping to configure

#### Manual Installation

 1. Download the plugin zip file
 2. Navigate to Plugins  Add New  Upload Plugin
 3. Choose the zip file and click “Install Now”
 4. Activate the plugin
 5. Go to WooCommerce  Holio Shipping to configure

#### Configuration

**Step 1: API Configuration**

 1. Navigate to WooCommerce  Holio Shipping
 2. Enter your Profrakt API key (get it from your Profrakt account)
 3. The environment (Sandbox/Production) is detected automatically
 4. Click “Save Settings”

**Step 2: Add Locations**

 1. Go to the “Locations” tab
 2. Click “Add Location”
 3. Select a managership from your Profrakt account
 4. Optionally assign a printer for direct label printing
 5. Set one location as default for returns

**Step 3: Configure Shipping Options**

 1. Go to the “Shipping Options” tab
 2. Click “Add Shipping Option”
 3. Select carrier, service, and locations
 4. Configure pricing rules (fixed price, markup, free shipping threshold)
 5. Set visibility filters (weight, dimensions, countries, ZIP codes)
 6. Save and enable the shipping option

**Step 4: Enable Shipping Method**

 1. Go to WooCommerce  Settings  Shipping
 2. Click on your shipping zone
 3. Add “Holio Shipping Method”
 4. Configure method title and enable it

## FAQ.KG

### Do I need a Profrakt account?

Yes, this plugin requires an active Profrakt account with API access. Profrakt is
a shipping platform by EDI (edi.no). You can request access through their website.

### Which countries are supported?

The plugin works globally, but carrier availability depends on your Profrakt account
agreements. Profrakt primarily serves Nordic countries with international shipping
options.

### Does it work with WooCommerce Blocks?

Yes! The plugin is fully compatible with both Classic Checkout and the new WooCommerce
Checkout Block.

### Can I have multiple warehouses?

Yes! You can add multiple warehouse locations and assign products to specific locations.
The plugin automatically splits cart into packages by location and calculates separate
shipping for each.

### Does it support pickup points?

Yes, customers can select pickup points at checkout for carriers that support this
service (Bring, PostNord, etc.).

### Can I print labels directly?

Yes, you can print labels directly to Profrakt-registered network printers or download
PDF labels.

### Is there an API for custom integrations?

Yes, the plugin provides REST API endpoints for headless and custom implementations.

### What data is sent to external services?

The plugin sends shipping address, package weight/dimensions, and order contents
to the Profrakt API to calculate shipping rates and create labels. See Privacy &
External Services section for details.

### How do I get support?

Visit our [Knowledge Base](https://help.profrakt.com/no/integrasjoner-og-api#:~:text=WooCommerce%20integrasjon,Kom%20i%20gang)
for guides and documentation. For specific questions, use the support forum on WordPress.
org.

## Сын-пикирлер

There are no reviews for this plugin.

## Contributors & Developers

“Holio Shipping” is open source software. The following people have contributed 
to this plugin.

Мүчөлөрү

 *   [ holioshipping ](https://profiles.wordpress.org/holioshipping/)

[Translate “Holio Shipping” into your language.](https://translate.wordpress.org/projects/wp-plugins/holio-shipping)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/holio-shipping/), check
out the [SVN repository](https://plugins.svn.wordpress.org/holio-shipping/), or 
subscribe to the [development log](https://plugins.trac.wordpress.org/log/holio-shipping/)
by [RSS](https://plugins.trac.wordpress.org/log/holio-shipping/?limit=100&mode=stop_on_copy&format=rss).

## Өзгөртүүлөр

#### 1.2.7 – 2026-10-08

 * New: The terms of delivery for UPS shipments can be chosen in the NVIT/Export
   tab – DAP, where the recipient pays duty and import VAT, or DDP, where the shop
   pays them – together with the declaration on the commercial invoice. Every UPS
   shipment used to go out as DAP with a fixed statement
 * Fix: A large order of small goods – two hundred cans, a hundred and fifty books–
   is measured as a compact box. Above a hundred units the parcel used to count 
   as one tall column several metres long, which hid letterbox and locker services
   from the checkout and divided the order into more parcels than it needed
 * Fix: Changing the size or weight of parcels in “Edit Parcels” keeps the articles
   each parcel holds, so the picking list still shows what goes in which parcel
 * Fix: Several texts in the plugin settings stayed in English on Norwegian and 
   Swedish sites – among them the VAT note on order-value thresholds, the customs
   warning and the subscription cancellation prompts
 * Tweak: The Customs tab is now called NVIT/Export, and the button that opens a
   shipping or return label is called Label instead of PDF

#### 1.2.6 – 2026-10-07

 * New: A “Useful info” tab in the plugin settings explains how a parcel is calculated–
   which product dimensions are used, how the box is put together, when an order
   is divided into several parcels, and why a delivery method can be missing at 
   checkout
 * New: A fallback rule mapped to a delivery method that requires a pickup point
   now gets the nearest pickup point when the order is created, and the order shows
   a select to change it. Such orders used to fail at fulfilment with “Requires 
   service partner”
 * New: UPS shipments carry a paperless trade customs declaration – the commercial
   invoice UPS sends to customs electronically – built from the products’ commodity
   codes and countries of origin, the same data the Bring and PostNord declarations
   use. A link to the invoice appears next to the label
 * Fix: Products sold as a bundle with WooCommerce Product Bundles are weighed by
   the goods inside them. A bundle with no weight of its own was quoted at checkout
   as an empty parcel, so letterbox services were offered for goods that do not 
   fit and fulfilment was then refused with “Exceeds max length”; checkout and fulfilment
   now measure the same parcel
 * Fix: When a customer chooses a UPS Access Point, the shipment is booked to that
   Access Point. The label used to carry the customer’s home address
 * Fix: The contents description sent to the carrier is taken from the products’
   customs descriptions where they have one, leaves out lines that are not goods
   in the parcel, and no longer breaks a Norwegian or Swedish letter when it is 
   shortened
 * Fix: A fallback rate is no longer offered for a destination its delivery method
   does not serve
 * Fix: A technical shipping reference added by Avarda Checkout is no longer shown
   among the details of an order’s shipping line

#### 1.2.5 – 2026-10-05

 * New: A parcel’s size is now worked out the way the goods are packed. Several 
   units share a layer and small articles lie on top of a large one, instead of 
   every unit being stacked in one tall column. Ten 25 x 12.5 x 12.5 cm boxes used
   to count as a 125 cm column – which hid parcel lockers and couriers from the 
   checkout and drew a handling fee – and are now quoted as one 62.5 x 25 x 25 cm
   parcel
 * New: Each delivery method is quoted and booked on a box laid out for its own 
   size limits. The same goods can make a 62.5 x 25 x 25 cm parcel for one method
   and a 50 x 37.5 x 25 cm parcel for Instabox, whose limit is 50 cm, so a method
   is no longer hidden because of the shape of a box it would never have been sent
 * New: Where the goods allow, the box is kept within 120 cm on its longest side
   and 60 cm on the next. Bring and PostNord charge a manual-handling fee above 
   that, so three 60 x 40 x 40 cm boxes are now quoted as 120 x 60 x 52.5 cm rather
   than 132.5 x 60 x 40 cm with the fee
 * New: The pending shipment block on the order shows the dimensions of each parcel,
   the ones fulfilment will book
 * Fix: An order’s estimated cost no longer fails for Instabox and Porterbuddy with“
   Exceeds max length”. The estimate made after the order was placed priced the 
   bare package instead of the box the checkout had quoted, and the error then blocked
   fulfilment
 * Fix: Returns, manual shipments and the method list in “Edit shipment” measure
   the parcel exactly as fulfilment does. A product without dimensions now goes 
   by weight alone instead of being given an invented 10 x 10 x 5 cm box
 * Fix: The shipment record keeps the dimensions of the parcel that was booked, 
   not of the package as first measured, so a return is priced on the box that actually
   shipped
 * Fix: Dintero and Qliro’s own pickup point picker lists every pickup point the
   carrier returns, as the plugin’s own selector does, instead of only the first
   five
 * Fix: When Profrakt does not answer in time, the return method select says so 
   and asks to reload the page, instead of showing a raw “cURL error 28” message
 * Fix: The weight of each divided parcel is rounded to the gram, so 14.4 kg is 
   no longer sent as 14.399999999999999
 * Fix: A shipping line no longer shows the girth limits of its method or fallback
   rule among the order details

#### 1.2.4 – 2026-10-01

 * New: The picking list can be printed as soon as an order comes in, not only after
   the shipment has been created. A warehouse picks before the consignment is booked,
   so the list used to arrive after the work it was meant for. Each package has 
   its own list for the warehouse it ships from; the consignment number is added
   once the shipment exists
 * New: When an order will be divided into several parcels, the picking list says
   which articles go in which parcel – before fulfilment as well as after – so the
   warehouse can pack box by box and the boxes match the labels that follow
 * Fix: Every price estimate now divides an order the way the shipment will be booked:
   by weight and by size. The checkout and fulfilment already did, but the order’s
   estimated cost, the fallback rule price, the method list in “Edit shipment” and
   the manual shipment price list split by weight alone, so a light but bulky order
   was quoted as one parcel and then booked as several
 * Fix: When size forces an order into several parcels, the parcels are now evened
   out. The first parcel used to be filled to the size limit and the last got what
   was left – 30 kg and 4 kg instead of 18 and 16 – and a parcel near the carrier’s
   weight limit can fail to price, so the delivery method disappeared
 * Fix: Choosing another method in “Edit shipment” divides the parcels again for
   that method. Parcels divided for the previous method were kept, and Bring’s business
   parcel – whose only size limit is length plus girth – was saved as a single box
   Bring refuses, after which the method list priced every candidate with that box
   and found none. Parcels the operator arranged in “Edit Parcels” are kept as before
 * Fix: Fallback rules now carry the carrier’s girth limits, so a bulky order shipped
   under a fallback rule is divided into parcels Bring accepts. Existing rules take
   them from the warehouse’s shipping option until they are saved again
 * Fix: A reprocessed order is divided into parcels again. For a method picked in“
   Edit shipment” the limits were lost with the first shipment, and the second came
   back as one parcel the carrier refused
 * Fix: The estimated cost of a single parcel now includes its size. Priced by weight
   alone, an oversized parcel showed a price the carrier then refused at fulfilment
 * Fix: The parcels in the order’s shipment block are numbered in the carrier’s 
   order, matching the picking list and the labels

#### 1.2.3 – 2026-09-30

 * Fix: The pickup point chosen inside a checkout’s own picker is no longer replaced
   by the first point in the list. Avarda keeps WooCommerce’s delivery list in the
   page out of sight, and the plugin’s own pickup point selector, rendered there
   unseen, remembered its default – the first point – as if the customer had picked
   it. That choice then overwrote the one made in Avarda’s widget, so the order 
   and the shipment named a different pickup point from the one the customer selected.
   A point chosen in the checkout’s own picker now stands. The standard classic 
   and block checkouts are unaffected
 * Fix: A pickup point with no second address line or customer number no longer 
   inherits them from another point. When the customer’s choice lacked either value,
   the order could keep the one belonging to the point the list had preselected,
   and pass it to the carrier with the chosen point’s address

#### 1.2.2 – 2026-09-23

 * New: A bulky order is now divided into several parcels when it is too big for
   one, not only when it is too heavy. Automatic package splitting only ever watched
   the weight, so an order of light but bulky goods – garden furniture, packaging,
   anything that stacks – kept growing until it passed what the carrier accepts,
   and the delivery method then vanished from the checkout with nothing said. The
   order is now divided into parcels that each fit, and the method stays available.
   Splitting is only attempted where dividing can actually help: a single item too
   long or too wide for the carrier stays too long however it is packed, and the
   method is still withheld. Requires “Enable automatic package splitting”, and 
   only applies to carriers that accept more than one parcel
 * Fix: Parcels produced by a split are now measured the way the price quote measures
   them. Which of the three boxes a shop typed a measurement into decided how the
   parcels were stacked, so a shop that entered a box as 15x35x54 rather than 54x35x15
   had its parcels measured along the wrong side – up to three times the volumetric
   weight the customer was quoted, and parcels the carrier could refuse. Both now
   take the largest side as the length and the smallest as the height, whichever
   field it was typed in
 * Fix: Orders shipped under a fallback rule can be divided by size as well. The
   rule’s parcel size limits were read when the rule was chosen and then thrown 
   away, so by the time the shipment was created only the weight limit was left 
   and an oversized parcel went out whole
 * Dev: With debug mode on, the log now says why a delivery method was not offered–
   the carrier’s own words when it declined, together with the size and weight of
   the package, and the reason whenever the plugin’s own filters withheld a method.
   Previously a method could disappear from the checkout leaving no trace anywhere

#### 1.2.1 – 2026-09-22

 * Fix: The pickup point the customer chose no longer goes missing on checkouts 
   that complete the order through their own callback. Every delivery method offering
   pickup points rendered its own copy of the hidden fields that carry the choice,
   and all of them shared a single name, so the browser sent one copy per method
   and only the last one counted – which was empty unless the customer happened 
   to pick the last method in the list. The order then went out with no pickup point
   and was delivered as an ordinary parcel. Only the chosen method’s fields are 
   submitted now. The standard checkout was never affected, because it remembers
   the choice separately; an embedded checkout such as Svea paid with Vipps or card
   had nothing else to fall back on

#### 1.2.0 – 2026-09-18

 * New: Checkouts that have their own pickup point selector can now use it. Dintero
   and Qliro both include one, with a map and a search box, but it only appears 
   if the shipping plugin hands them the list of pickup points – and we handed them
   nothing, so on those checkouts there was no way to choose a pickup point at all.
   A new setting on the Setup tab passes the list across, the customer chooses inside
   the checkout, and the point they pick is saved onto the order exactly as before.
   Only one of the two pickup point settings can be on at a time, and ticking one
   unticks the other. Leave it off for the standard WooCommerce checkout and for
   Svea, where our own selector is better, and for Klarna/Kustom, which has no selector
   to show – the setting above it covers those
 * New: The carrier now travels with each delivery option, so a checkout that draws
   its own list can show the carrier’s logo beside it. On Dintero every option previously
   arrived with no carrier at all and was given a grey placeholder icon, whichever
   carrier was actually carrying the parcel
 * Fix: The estimated delivery time is no longer printed on the cart page. The checkout’s
   stylesheet is not loaded there, so the line arrived with none of its styling –
   not the small grey note it is meant to be, but the theme’s ordinary body text
   wedged under the delivery method’s name
 * Fix: The delivery method the customer chose is no longer replaced by another 
   one. The carrier’s price service returns the same methods in a different order
   from one request to the next, and WooCommerce reads a reordered list as a changed
   list – so it threw the choice away and fell back to whichever method happened
   to be first that time. The methods now keep a fixed order. On Klarna and Kustom
   this surfaced as an order that could not be completed at all, because the checkout
   still held the pickup point the customer had picked and the two sides no longer
   agreed; on the ordinary checkout nothing was reported and the parcel was simply
   sent by a method other than the one chosen

The full history of earlier releases is in changelog.txt, included with the plugin.

## Мета

 *  Нуска **1.2.7**
 *  Акыркы жаңыртуу **3 күн мурун**
 *  Активдүү орнотуулар **10+**
 *  WordPress нускасы ** 6.0 же андан жогору **
 *  Tested up to **7.1.3**
 *  PHP нускасы ** 8.0 же андан жогору **
 *  Тил
 * [English (US)](https://wordpress.org/plugins/holio-shipping/)
 * Тег:
 * [carriers](https://ky.wordpress.org/plugins/tags/carriers/)[labels](https://ky.wordpress.org/plugins/tags/labels/)
   [shipping](https://ky.wordpress.org/plugins/tags/shipping/)[shipping rates](https://ky.wordpress.org/plugins/tags/shipping-rates/)
   [woocommerce](https://ky.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://ky.wordpress.org/plugins/holio-shipping/advanced/)

## Рейтинг

Азырынча эч кандай сын-пикир жок.

[Your review](https://wordpress.org/support/plugin/holio-shipping/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/holio-shipping/reviews/)

## Мүчөлөрү

 *   [ holioshipping ](https://profiles.wordpress.org/holioshipping/)

## Колдоо

Комментарийлер барбы? Жардам керекпи?

 [Колдоо форумун көрүү](https://wordpress.org/support/plugin/holio-shipping/)

## Кайрымдуулук

Would you like to support the advancement of this plugin?

 [ Кайрымдуулук кылуу ](https://holio.ai/)