Title: Parcel Forwarding &amp; Package Consolidation for WooCommerce
Author: MVaertan (Pixfeed)
Published: <strong>2026-08-19</strong>
Last modified: 2026-09-22

---

Szukaj wtyczek

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

![](https://ps.w.org/colisly/assets/icon.svg?rev=3654193)

# Parcel Forwarding & Package Consolidation for WooCommerce

 Autor: [MVaertan (Pixfeed)](https://profiles.wordpress.org/pixfeed/)

[Pobierz](https://downloads.wordpress.org/plugin/colisly.1.29.0.zip)

 * [Szczegóły](https://pl.wordpress.org/plugins/colisly/#description)
 * [Recenzje](https://pl.wordpress.org/plugins/colisly/#reviews)
 *  [Instalacja](https://pl.wordpress.org/plugins/colisly/#installation)
 * [Rozwój](https://pl.wordpress.org/plugins/colisly/#developers)

 [Wsparcie](https://wordpress.org/support/plugin/colisly/)

## Opis

Colisly turns a WooCommerce store into a working package forwarding platform. Each
client gets a reference and an address to shop with. Parcels arriving at your warehouse
are logged, held, charged for storage past the free period, grouped on request and
reshipped as a single shipment, paid through your own checkout.

It runs on your hosting, with your carrier contracts and your prices. Nothing leaves
your database.

Presentation, screenshots and a video of the plugin in action: [pixfeed.net/colisly](https://pixfeed.net/colisly-extension-woocommerce-de-reexpedition-de-colis/)

#### Who it is for

 * Anyone starting a package forwarding or reshipping service and looking for the
   software side of it
 * Existing forwarders still running the warehouse on a spreadsheet and an inbox
 * Freight forwarders and consolidators who need a customer-facing portal rather
   than an ERP
 * Shops that receive, hold and reship parcels for customers living abroad

Commercial package forwarding software in this category is sold as one-time licences
running into four figures, or as monthly SaaS holding your client data. Colisly 
is free and GPL.

#### Operations

 * Client records with unique references (CL000001), multi-criteria search, a filter
   on the clients who owe storage fees, and a CSV export of the list
 * A free storage period set per your policy (15 days by default)
 * Parcel intake with generated numbers (COL000001), weight, dimensions, photos,
   internal notes and per-parcel carrier restrictions
 * Duties and taxes paid to take delivery of a parcel recorded on it and billed 
   back at cost on the shipment order
 * Storage fees calculated automatically once the free period ends
 * Discounts on your own fees only, handling or storage: a personal rate per client,
   a promotion for all clients between two dates with an optional code, and a loyalty
   discount after a number of shipments; transport, duties and insurance always 
   billed in full
 * Consolidation: several parcels held in stock grouped into one outgoing shipment,
   which is what the trade rests on
 * Weight-based pricing tiers and carrier tariffs you define yourself, so any carrier
   or negotiated contract can be used

#### Client side

 * A dedicated area in the WooCommerce My Account page listing parcels, shipments
   and documents
 * The client’s delivery address, name plus reference plus your warehouse, ready
   to copy into any shop’s checkout, in the account and through a shortcode
 * Internal fields stay internal: your notes, your dimensions and your cost prices
   are never exposed
 * A shipment request becomes a native WooCommerce order with itemised handling,
   storage and carrier lines, paid at your usual checkout with your usual gateways
 * Private document storage with authenticated downloads, for customs declarations,
   commercial invoices and proof of delivery

#### Practical points

 * Complete French translation included
 * Personal data export and erasure through the native WordPress privacy tools
 * Hooks and filters throughout, so the workflow can be extended
 * Automatic data migration between versions, and optional data removal on uninstall

A typical use is a service reshipping from mainland France towards the French overseas
territories, but nothing in the plugin is tied to a country, a currency or a carrier.

## Zrzuty ekranu

[⌊Clients list with multi-criteria search.⌉⌊Clients list with multi-criteria search
.⌉[

Clients list with multi-criteria search.

[⌊Client record: indicators and tabs (parcels, shipments, documents, history).⌉⌊
Client record: indicators and tabs (parcels, shipments, documents, history).⌉[

Client record: indicators and tabs (parcels, shipments, documents, history).

[⌊Parcel creation form with live client search and the client's current stock.⌉⌊
Parcel creation form with live client search and the client's current stock.⌉[

Parcel creation form with live client search and the client’s current stock.

[⌊Customer "My parcels" screen in the WooCommerce My Account area.⌉⌊Customer "My
parcels" screen in the WooCommerce My Account area.⌉[

Customer „My parcels” screen in the WooCommerce My Account area.

[⌊Settings: free storage days, storage fee, weight-based pricing tiers and carrier
tariffs.⌉⌊Settings: free storage days, storage fee, weight-based pricing tiers and
carrier tariffs.⌉[

Settings: free storage days, storage fee, weight-based pricing tiers and carrier
tariffs.

[⌊Per-carrier weight brackets, for carriers that publish a grid rather than a price
per kilo.⌉⌊Per-carrier weight brackets, for carriers that publish a grid rather 
than a price per kilo.⌉[

Per-carrier weight brackets, for carriers that publish a grid rather than a price
per kilo.

## Instalacja

 1. Upload the `colisly` folder to `/wp-content/plugins/`, or install it from the Plugins
    screen.
 2. Activate the plugin. WooCommerce must be installed and active.
 3. Go to „Colisly  Settings” to configure the pricing tiers, storage fees and carriers.
 4. Register parcels from „Colisly  New parcel”. A customer gets his client record 
    and reference the first time he opens his account, so he can shop with them before
    his first parcel; you can also create records yourself from „Colisly  Clients”.

## Najczęściej zadawane pytania

### Can I start a package forwarding business with WordPress?

Yes, and that is what Colisly is built for. The plugin covers the operational side:
client accounts and references, parcel intake, storage fees, consolidation, shipment
requests and billing. You supply the warehouse address, the carrier contracts and
your pricing.

### How is this different from paid package forwarding software?

Proprietary platforms in this category are sold as one-time licences running into
four figures, or as a monthly subscription where your client records live on someone
else’s server. Colisly is free, GPL, and runs on your own hosting next to your existing
WooCommerce store.

### I run my forwarding service on a spreadsheet. What changes?

That is where most users come from. The spreadsheet becomes searchable client records,
parcel numbers that generate themselves, storage fees that calculate themselves,
and a client area that answers „where is my parcel” without an email.

### Which carriers are supported?

Any of them. Carrier tariffs and weight tiers are defined by you rather than pulled
from a fixed integration, which matters in this trade because the margin usually
sits in a negotiated or regional contract, not in a public API.

### Can several parcels be consolidated into one shipment?

Yes, and it is the core of the workflow. The client picks the parcels held in stock,
requests one shipment, and the plugin builds a single WooCommerce order combining
handling, storage and carrier charges. A parcel can also be flagged as one that 
must travel alone.

### How do clients pay?

Through your existing checkout. A shipment request creates a native WooCommerce 
order, so your payment gateways, taxes and order emails apply with nothing new to
configure.

### Do I need WooCommerce?

Yes. WooCommerce provides the account, order and payment layer that Colisly builds
on.

### Can the customer change the grouping permission?

No. Whether a parcel may be grouped is decided at reception by the operator, since
it depends on the contents and the carrier. Grouping is allowed by default. The 
client chooses which of the groupable parcels to include in a shipment request.

### How are storage fees computed?

Each parcel is stored free for a configurable period, 15 days by default. Past that,
the fee set in the settings applies and is added automatically to the shipment order.

### Are documents private?

Yes. Documents are stored outside the public uploads flow and downloaded through
an authenticated request, so only the client they belong to can retrieve them. Documents
not shared with the client stay internal.

### Is the plugin GDPR-ready?

Yes. Colisly plugs into the native WordPress personal data tools, and the export
covers everything the eraser deletes, including internal notes and unshared documents.

### Is any data removed on uninstall?

Only if you ask for it. Data removal on uninstall is opt-in from the settings, and
it also clears the plugin capability and its options.

### How do I print the carrier label for a shipment?

A shipment order is a normal WooCommerce order with the client’s delivery address
in the standard fields, so any label plugin reads it. Weight is the one thing such
plugins take from products, and a shipment order has none: with Colissimo Officiel,
Colisly fills in the real weight of the shipment by itself; with other plugins, 
or on a carrier’s website, copy it from the Colisly panel on the order, which lists
the address and the weight ready to paste. The weight is also stored on the order
as _colisly_total_weight for any tool that reads order meta.

### Can I give a client a discount, or run a promotion?

Yes, on your own fees only. WooCommerce coupons only discount products and a shipment
order has none, so they do nothing there. Colisly has its own discounts: a personal
rate on each client record, and in the settings a promotion for all clients between
two dates and a loyalty discount once a client has had a number of shipments done.
Each is a percentage of the handling fees, of the storage fees, or of both, as you
choose: 100% on storage between two dates makes storage free for that time. Transport,
fees advanced and insurance are always billed in full. When several could apply,
the one that takes the most off applies alone, and it shows on the order as its 
own line, named after its reason.

### How is VAT handled?

Through the WooCommerce tax settings. Enable taxes in WooCommerce, add your rate(
name it „VAT 20%”, that name is what the client sees), then tick „Apply the shop
taxes to shipment orders” in the Colisly settings: handling, storage and insurance
lines are taxed at the rate of the client’s location, and the order shows the tax
as its own line. Fees advanced, such as customs duties paid on the client’s behalf,
stay untaxed. To leave the transport untaxed, set the WooCommerce shipping tax class
to „Zero rate”. Your tariffs are what the client pays: if WooCommerce is set to „
prices entered inclusive of tax”, type them with tax in and Colisly takes it out
for the order; otherwise type them before tax.

### Can I run several promotions, or promotion codes, at once?

Yes. The settings hold a table of promotions, as many as you need: each has a rate,
what it applies to, optional dates, an optional code, and a „first shipment only”
option for a welcome offer. A promotion without a code applies to everyone by itself;
one with a code only to the clients who type it in the „Promotion code” box of the
shipment request form, and the estimate updates once the code is accepted. Codes
are checked on the server and never appear in the page. When several discounts could
apply, the one that takes the most off applies alone.

## Recenzje

![](https://secure.gravatar.com/avatar/44b67a88b9a20a125ec10329dfe46443a62a125acc54fe2c077d9511acb3a798?
s=60&d=retro&r=g)

### 󠀁[parfait je recommande ce module](https://wordpress.org/support/topic/parfait-je-recommande-ce-module/)󠁿

 [ace11590](https://profiles.wordpress.org/ace11590/) 2026-09-07

Ce module et parfait pour mon utilisation ! manque plus que la traduction en Français:
p

![](https://secure.gravatar.com/avatar/dbae674a12d09d97a2e0111843c98b12cc127cf56fed4ff755bd52336d58ef12?
s=60&d=retro&r=g)

### 󠀁[Fait exactement ce dont j’avais besoin, et proprement](https://wordpress.org/support/topic/fait-exactement-ce-dont-javais-besoin-et-proprement/)󠁿

 [Florence ANDROLUS](https://profiles.wordpress.org/fandevelop/) 2026-08-20

Extension testée sur un cas d'usage de réexpédition et de stockage de colis. L’intégration
avec WooCommerce est propre, et la liaison des fiches clients aux comptes utilisateurs
est particulièrement bien pensée pour structurer le suivi (périodes de stockage,
calcul automatique des frais par poids, et gestion des documents sécurisée). Bon
point également sur la synchronisation des statuts avec les commandes et l'extensibilité
du code via les hooks prévus. Un plugin robuste et spécialisé qui répond à un vrai
besoin métier complexe sans alourdir inutilement le site.

 [ Przeczytaj 2 recenzje ](https://wordpress.org/support/plugin/colisly/reviews/)

## Kontrybutorzy i deweloperzy

„Parcel Forwarding & Package Consolidation for WooCommerce” jest oprogramowaniem
open source. Poniższe osoby miały wkład w rozwój wtyczki.

Zaangażowani

 *   [ MVaertan (Pixfeed) ](https://profiles.wordpress.org/pixfeed/)

Wtyczka „Parcel Forwarding & Package Consolidation for WooCommerce” została przetłumaczona
na 1 język. Podziękuj [tłumaczom](https://translate.wordpress.org/projects/wp-plugins/colisly/contributors)
za ich wkład.

[Przetłumacz wtyczkę “Parcel Forwarding & Package Consolidation for WooCommerce” na swój język.](https://translate.wordpress.org/projects/wp-plugins/colisly)

### Interesuje cię rozwój wtyczki?

[Przeglądaj kod](https://plugins.trac.wordpress.org/browser/colisly/), sprawdź [repozytorium SVN](https://plugins.svn.wordpress.org/colisly/)
lub czytaj [dziennik rozwoju](https://plugins.trac.wordpress.org/log/colisly/) przez
[RSS](https://plugins.trac.wordpress.org/log/colisly/?limit=100&mode=stop_on_copy&format=rss).

## Rejestr zmian

#### 1.29.0

 * Tariffs typed with tax in are now honoured. WooCommerce only applies its „prices
   entered inclusive of tax” setting to products: a shipment order is made of fee
   lines, always taxed on top of their amount, so a forwarder who had typed his 
   whole tariff with VAT in and then switched taxes on billed the VAT twice. When
   that WooCommerce setting is on and shipment orders carry the shop taxes, Colisly
   now writes each taxable line net of the shop’s base tax, the way WooCommerce 
   does for a product price, and the order adds the tax of the client’s location:
   a French client pays exactly the tariff typed, a client the shop does not tax
   pays it net. The estimate on the request form and the tariffs shown stay as typed.
   Fees advanced stay untaxed, the transport follows the WooCommerce shipping tax
   class. A new FAQ entry says how to set VAT up. No database change.
 * Fixed: with taxes on, the discount line carried no tax, since WooCommerce spreads
   the tax of a negative fee over products and a shipment order has none, so the
   tax line was that of the fees before discount. The discount now carries the share
   of tax it takes off, and the tax line is right.

#### 1.28.1

 * Fixed: the carriers table always showed a blank last row ticked „Enabled”, which
   read as an active carrier nobody could delete. A row without a name was never
   saved, but the impression was wrong: the blank row now only appears when there
   is no carrier at all, and the „Add a carrier” button does the rest.
 * Fixed: a carrier, zone or promotion added with the „Add” button showed its boxes
   ticked but saved them unticked, since the cloned row cleared the hidden field
   the checkbox stands for. A new carrier added that way is now enabled on save,
   as shown; a new promotion starts with „First shipment only” unticked.

#### 1.28.0

 * New: a delivery time per carrier and per destination zone, shown to the client.
   Colissimo takes two days to mainland France and three weeks to Guadeloupe, and
   the only way to tell the client which was to create one carrier per zone with
   the time in its name. Each zone grid of a carrier, and its grid for all other
   destinations, now has a „Delivery time shown to the client” field, free text.
   The client sees the time for his own destination next to the carrier on the shipment
   request, on his shipments and in the confirmation e-mail. Empty by default, so
   nothing changes until it is filled. No database change.

#### 1.27.0

 * Promotions are now a table, as many as you need, where there was one. A forwarder
   wanting a welcome code for a first shipment and other codes for mailings had 
   to choose, since typing a second code replaced the first. Each row has its rate,
   what it applies to, optional dates, an optional code, and a „first shipment only”
   option, refused to a client who already has a shipment, cancelled ones aside.
   Promotions without a code apply by themselves, those with a code once the client
   types it, and the usual rule picks the one taking the most off. The order line
   names the code, „Promotion WELCOME10 10%”. The promotion set up in an earlier
   version becomes the first row on update; nothing else changes.

#### 1.26.0

 * The customs declaration is now made once per shipment, on the shipment request,
   whatever the number of parcels grouped in it. A client grouping ten parcels for
   a destination that asks for one used to face ten tables, one per parcel; he now
   describes what the carton that leaves holds, and its value, in one table, which
   is also what the customs form is about. Purchase invoices are attached to the
   shipment the same way. Anything declared parcel by parcel before this version
   pre-fills the table, still prints, and still counts. The printable customs form,
   the Colisly panel on the order and the client record all read the shipment’s 
   declaration. Adds a column to the declaration lines and to the documents; the
   migration runs by itself on update.
 * The „Customs declaration” tab of the client account is gone: the shipment request
   asks for the declaration at the only moment it matters, and only for the destinations
   that require one.
 * New setting, „Client area”: the „My documents” tab can be left out of the account
   menu, for forwarders who never hand documents to their clients.

#### 1.25.0

 * Fixed: a customer who had just registered found an empty account, „No client 
   record is linked to your account yet”, and no delivery address to shop with. 
   The record, and the reference that goes on every order form, only existed once
   the operator had created it or booked a first parcel in, which is the wrong way
   round: the client needs the reference to get a first parcel sent. The record 
   is now created the first time the customer opens a Colisly tab of his account,
   or a page carrying one of the shortcodes, so the address block with his reference
   is there from the start. Records created by the operator work as before.
 * The shipment weight stored on the order for label plugins is now always written
   with three decimals, whatever the database returns.

#### 1.24.0

 * The clients list now shows what each client owes in storage fees, with a filter,„
   Clients with storage fees due”, to list only those. A forwarder announcing a 
   promotion on storage had no way to find who it concerned short of opening every
   record.
 * New: „Export to CSV” on the clients list. It carries the search and the filter
   of the screen and exports every matching client, all pages: reference, name, 
   e-mail, phone, parcels in stock, stored weight, storage fees due, creation date.
   UTF-8 with a byte order mark so Excel reads the accents, columns separated the
   way the site’s language expects, cells that cannot run as formulas. The file 
   is what a mailing tool or a spreadsheet needs; Colisly itself sends no mass e-
   mail, on purpose. No database change.

#### 1.23.0

 * Discounts now say what they apply to. Each of the three, the personal rate on
   the client record, the promotion and the loyalty discount, is a percentage of
   the handling fees, of the storage fees, or of both, so a forwarder can offer 
   free storage for a month without touching the handling fees, or the other way
   round. Since two discounts no longer always share a base, the rule for picking
   one becomes the one that takes the most off, still alone, still never adding 
   up; on a tie the personal rate goes first. The order line names the base when
   it is not the handling fees, „Promotion 100% on storage fees”.
 * New: a promotion code. Give the promotion a code in the settings and a „Promotion
   code” box appears on the shipment request form; only the clients who type it 
   get the promotion, and the live estimate updates once the code is accepted. The
   code is checked by the server, compared without regard to case, and never written
   in the page. Left empty, the promotion applies to everyone by itself, as before.
   Adds a column to the clients table; the migration runs by itself on update.

#### 1.22.0

 * New: discounts on the handling fees. A WooCommerce coupon does nothing on a shipment
   order, since coupons only discount products and a shipment order has none; and
   a promotion tool that did discount it would take its percentage off the transport
   too, money the forwarder pays out. Colisly now carries its own discounts, all
   as a percentage of the handling fees alone: a personal rate on the client record,
   a promotion for all clients between two dates in the settings, and a loyalty 
   discount from a number of shipments done. Transport, fees advanced, storage and
   insurance are always billed in full. When several could apply, the highest one
   applies alone; they never add up. The client is told before requesting, the live
   estimate takes it off, and the order carries it as its own negative line named
   after its reason, „Loyalty discount 10%”, fixed at request time so a promotion
   ending tomorrow does not change a price agreed today. Adds a column to the clients
   table and two to the shipments table; the migration runs by itself on update.

#### 1.21.0

 * Carrier labels from a shipment order. The order already carried the client’s 
   delivery address in the standard WooCommerce fields, so label plugins could print
   it, but they take the parcel weight from the products and a shipment order has
   none: the operator typed the weight on every label. With Colissimo Officiel, 
   Colisly now hands over the real weight of the shipment, parcels plus the packaging
   weight set in Colissimo, unless a weight was typed by hand or a return label 
   is being made. The weight is also stored on the order as _colisly_total_weight
   for any other tool. For forwarders who print their labels on the carrier’s own
   website, on a per-weight account, the Colisly panel on the order now shows the
   delivery address and the weight one value per line, with a „Copy” button, in 
   the order postage sites ask for them. No database change.

#### 1.20.3

 * The French catalogue shipped with the plugin now matches the translation validated
   by the fr_FR team on translate.wordpress.org, word for word, so a site with or
   without the language pack reads the same. The plugin’s home page now points to
   its presentation page on pixfeed.net, linked from the readme too.

#### 1.20.2

 * Wording: the long dashes used as separators throughout the interface, „CL000001,
   Jean Dupont”, „Colissimo, 16.40 €”, are gone, replaced by commas, colons or a
   middle dot; empty cells now show a short dash. Twelve strings change, so their
   French and Spanish translations ship updated with the plugin. No functional change.

#### 1.20.1

 * Fixed: on the parcels and clients lists, the search box floated to the right 
   as WordPress does by default, and the table flowed beside it, squeezed into half
   the screen with the filters hanging in the other half. The filters now sit above
   the table, which takes the full width; the „fees advanced” line under a price
   no longer breaks word by word.

#### 1.20.0

 * New: the client’s delivery address. The first thing a forwarding client needs
   is the address to give the shops they order from, their own name followed by 
   their reference and then the warehouse, and it was nowhere: the reference sat
   alone at the top of the parcels tab and every forwarder e-mailed the warehouse
   address by hand. The warehouse address is now a setting, and the parcels tab 
   opens on a „Your delivery address” block, name and reference in bold, warehouse
   lines under it, with a „Copy the address” button and a reminder that the reference
   must appear on every parcel. Two shortcodes put the same thing on any page of
   the site: [colisly_shipping_address] for the whole block, [colisly_client_reference]
   for the reference alone; a visitor who is not logged in gets a login link instead.
   No database change.

#### 1.19.0

 * New: fees advanced on delivery. Since customs reforms removed the duty exemption
   on low-value parcels, cartons increasingly reach the warehouse with duties and
   import VAT to pay before the carrier hands them over. The forwarder pays to get
   the parcel and had nowhere to write it down. The reception form now has a „Fees
   advanced on delivery” amount, with a short label defaulting to „Customs duties”
   so a carrier surcharge or a redelivery fee fits too. The amount shows on the 
   parcel in the client’s account, in the reception e-mail with a line saying it
   was paid on their behalf, and on the shipment order as its own untaxed line, „
   Customs duties advanced on parcel COL000123”, so the client pays it back at cost
   together with the shipment. It can be corrected as long as the parcel is in stock.
   Adds two columns to the parcels table; the migration runs by itself on update.

#### 1.18.1

 * The parcel label now fits the forwarder’s printer. Its size is set in the settings,
   62 × 30 mm by default, the common small label, and the type scales with it so
   the reference stays the biggest thing on it. The label carries the reference,
   the client, the reception date and the internal comment; the weight, dimensions
   and tracking number are printed only when ticked, since a small label has no 
   room for them.
 * Fixed: on the settings screen, ticking one of the customs „Ask the client for”
   boxes also switched the two others on or off behind the scenes, since the three
   shared a cell. Each box now only drives its own setting; the new label boxes 
   rely on the same fix.

#### 1.18.0

 * New: a printable label for every parcel. Its reference only exists once the parcel
   is saved, so the operator could not label the carton while typing and reached
   for a separate label program and a per-client counter instead. Saving a parcel
   now lands on it with the reference in large type, a „Print the label” button 
   and a „New parcel for this client” link; a „Label” link sits on every parcel 
   row of the client record and the parcels list. The label carries the reference,
   the client’s name and reference, the reception date, the weight and dimensions,
   the tracking number and the internal comment, on a plain page sized for a label
   printer.

#### 1.17.0

 * New: Spanish translation, shipped with the plugin like the French one. Every 
   string the plugin says, 393 of them, including the account tab slugs, which stay
   plain ASCII. A validated language pack from translate.wordpress.org takes over
   by itself the day it exists.

#### 1.16.2

 * The French translation ships with the plugin. Language packs from translate.wordpress.
   org only exist once volunteers have validated the strings, and they get to popular
   plugins first; until then French sites saw the plugin in English. The bundled
   catalogue is used whenever no language pack exists, and hands over to the pack
   by itself the day it does. 393 strings, everything the plugin says.

#### 1.16.1

 * The Colisly panel on the WooCommerce order now shows each parcel’s internal comment.
   That is where the operator notes the shelf, the bin or the state of the carton
   at reception, which is exactly what is needed to find the parcel once the order
   is paid. Still never shown to the client.

#### 1.16.0

 * The client’s „My parcels” tab now shows the stock first, with everything that
   already left or never will behind a second tab, „Shipped or unavailable”, each
   with its count. Both tabs, and „My shipments”, are paged twenty rows at a time.
   A client who has been sending parcels for a year has hundreds of them, and only
   the ones still in the warehouse are of any use day to day; listing all of them
   on one page made the tab unreadable exactly for the clients who use it most.

#### 1.15.0

 * New: a Colisly panel on the WooCommerce order a shipment created. The forwarder
   works from WooCommerce > Orders, where payment shows up, but everything about
   the shipment lived on the client record. The order now shows the shipment, its
   carrier and destination, each parcel with its weight, dimensions and tracking
   number, what it declares with the total value, the purchase invoices the client
   attached, and the customs form to print, with a link to the client record. Works
   with both order storages. An ordinary shop order is untouched.

#### 1.14.1

 * Fixed: the carriers table in the settings was squeezed into fields two characters
   wide since 1.14.0 added its three limit columns, a width cap that suited seven
   columns being kept for ten. The table now takes the width it needs and scrolls
   sideways when the screen has less.

#### 1.14.0

 * New: carrier limits. Each carrier can carry a maximum weight, a maximum length
   and a maximum girth (length plus twice the width plus twice the height), the 
   figures carriers publish and refuse beyond at the counter. The weight applies
   to the whole shipment, since grouped parcels leave in one carton; the dimensions
   to each parcel, on those entered at reception. A carrier the ticked parcels exceed
   is greyed out in the client’s list, and a request that would force it is refused
   naming the parcel and the limit. A parcel whose dimensions were never entered
   is not refused on a measurement nobody took. All three are optional and empty
   by default.
 * The weight bracket page reads in the order it applies: each carrier shows its
   zone grids first, then a grid titled „all other destinations”, with a note saying
   to leave it empty when every destination served is in a zone. Nothing changes
   in how prices are computed; the page only says what it does.

#### 1.13.1

 * Fixed: a carrier enabled but never priced was offered to clients at 0.00 and 
   the order went through at that price, the fallback formula with an empty base
   and an empty price per kg being simply zero. A carrier with no rate for the client’s
   destination is no longer offered, a request that would force it is refused naming
   the carrier, and the settings warn about enabled carriers that have no rate anywhere.
   A bracket explicitly set to zero still counts as a price: a forwarder who includes
   transport in his service typed it on purpose.

#### 1.13.0

 * New: purchase invoices for customs. Customs outside the EU ask for the commercial
   invoice next to the declaration, and only the client has it. He attaches it to
   each parcel, on the shipment request or on the customs tab, PDF or image, several
   if needed. The forwarder finds the invoices on the parcel and on the shipment,
   the printed customs form states how many are attached, and the client reads them
   back from his documents. Stored in the private directory like every other document,
   served only through the authenticated download, covered by the privacy export
   and eraser.
 * Every carrier now shows what it would charge for the parcels ticked, right in
   the carrier list, so the client compares before choosing rather than trying them
   one by one. The figure follows the same brackets, zones and volumetric rule as
   the checkout.
 * A declared line must carry a value. Customs assess duty on it, so a line without
   one declared nothing they could use; it is now refused with the parcel and the
   contents named, on the request as on the customs tab. The form asks for the value
   as soon as the contents are filled.
 * Two columns and one index are added to the documents table on update.

#### 1.12.0

 * A customer without a client record yet can be picked straight from the parcel
   creation form. The search now offers the shop’s registered users alongside the
   clients, marked as new, and the record is created with the first parcel. Until
   now every new customer had to be created by hand on the Clients tab before his
   first parcel could be booked in, which is not where the operator is standing 
   when the parcel arrives. The Clients tab keeps its manual creation for whoever
   wants a record ahead of time.

#### 1.11.1

 * Fixed: the client search, on the parcel creation form and on the parcels list,
   read the WordPress first and last name only. A customer created by WooCommerce,
   at checkout or from its Customers screen, carries a billing name and usually 
   no WordPress name at all, so the operator typed the name he saw on every order
   and found nobody, while the account sat in the Clients tab. The search now matches
   the billing and delivery names, the company, the phone and the login, and a first
   name and last name typed together find the client whichever order they come in.
 * Clients are named by their billing name when WordPress only knows them by their
   login, on the Clients tab, the parcels list and the search results alike. „fabrice-
   1” is not a name anybody recognises.

#### 1.11.0

 * Fixed: the declaration form offered a single blank line whatever the limit set
   in the settings. A cap of three lines was a promise the form never kept, since
   the client could only ever declare one item per submission, and on the shipment
   request there is no second submission. A cap now gives the client exactly that
   many lines; without a cap he gets a few and a button for the rest.
 * The quantity, the unit weight and the country of origin can each be turned off.
   They are what a real CN23 form needs line by line, but a forwarder who only wants
   to know what a parcel holds before copying it onto his carrier’s own form needs
   none of the three, and three columns filled for nothing are three columns filled
   badly. All three stay asked by default, so a site collecting them keeps collecting
   them.

#### 1.10.0

 * The shipment request now shows the delivery address the parcels are actually 
   reshipped to, and a request can no longer be sent while that address is incomplete,
   with the missing lines named. The form used to ask for a destination country 
   and nothing else, so a request could reach the forwarder with no street to deliver
   to, and an account that only ever filled a billing address produced an order 
   carrying no destination at all.
 * The destination is the address itself rather than a separate menu beside it. 
   The two could disagree, the transport being priced for one country while the 
   label was printed for another, and only the label was true.
 * A client can withdraw his own shipment request as long as it is unpaid. It used
   to be a dead end: the request sat in the orders to pay with nothing on offer 
   but paying it. Withdrawing puts the parcels back in stock and cancels the unpaid
   order with them.
 * Zone countries can be picked by name from the list of countries the shop knows,
   and the codes already in the field are spelled out underneath, unrecognised ones
   flagged. Two-letter codes are what a carrier grid is keyed on, but nobody is 
   expected to know that YT is Mayotte.
 * The customs declaration on the request form now appears only when the destination
   actually requires one, instead of for every client as soon as a single zone asked
   for declarations.

#### 1.9.1

 * The declaration is filled where it belongs, on the shipment request, for the 
   parcels being sent. The separate tab stays for clients who prefer to declare 
   each parcel as it arrives; both write the same thing.
 * The contents field can be turned into a menu: fill a list of categories in the
   settings and clients pick from it instead of typing. Empty by default, so nothing
   is imposed, and no trade’s vocabulary ships with the plugin. The number of lines
   a parcel may declare can be capped to what your carrier forms hold, uncapped 
   by default.
 * The operator reads the whole declaration on the shipment itself, gathered across
   its parcels with the total declared value, which is the sheet to copy onto a 
   carrier’s own form.

#### 1.9.0

 * New: customs declarations. Reshipping outside the customs territory needs the
   contents of each parcel declared, item by item, and until now the forwarder had
   to collect that by e-mail. The client now declares his parcels from a Customs
   declaration tab in his account: description, quantity, unit weight, unit value
   and country of origin per line. A shipment to a destination that requires one
   is refused while a selected parcel is still undeclared, with the parcel named.
 * Which destinations require a declaration is set on the zones, not guessed. Reshipping
   from mainland France to Guadeloupe needs one, since the overseas departments 
   sit outside the EU VAT territory, while reshipping to Belgium needs none; a country
   code cannot tell those apart. Tick the customs column on the zones concerned 
   and nothing changes for anyone who does not.
 * The operator prints the declaration from the parcel list or the client record:
   sender, recipient, one line per item with its tariff number and origin, the totals
   a customs form asks for, and the certification to sign. It warns when the declared
   contents weigh more than the parcel itself, which customs would stop on.
 * The declaration is personal data: it is disclosed in the privacy export and removed
   by the eraser, like everything else the plugin holds.

#### 1.8.0

 * New: carriers can be billed on volumetric weight. Express carriers price bulk
   rather than mass, so a carrier can now be marked volumetric with its own divisor,
   5000 by default. The transport is then billed on whichever is greater, the real
   weight or length x width x height divided by the divisor, parcel by parcel. That
   is how the carriers themselves compute it: billing the volumetric weight instead
   of the real one would charge a dense 20 kg box in a small carton as 1.6 kg. A
   parcel whose dimensions were never entered is billed on its real weight rather
   than on a volume of nothing.
 * New: destination zones. A forwarder does not charge the same to reship to mainland
   France, to the overseas departments and to Madagascar, and a single grid per 
   carrier could never hold real tariffs. Zones group destination countries, and
   each carrier gets a weight bracket grid per zone. The client picks the destination
   when requesting a shipment, starting from the shipping address on his account,
   and the live estimate follows it. A country in no zone, or a zone a carrier was
   never priced for, keeps that carrier’s default grid, so nothing changes for a
   site that does not use zones.

#### 1.7.0

 * New: optional shipment insurance. Cover levels are set in the settings, a cover
   amount and what it costs, and the client picks one when requesting a shipment.
   It appears as its own line on the WooCommerce order and in the client’s shipment
   list. The price is always read back from the settings rather than taken from 
   the form, so a posted amount can never decide what is billed. No cover level 
   configured means no insurance is offered at all, which is how every existing 
   site starts.
 * New: a parcel already in stock can be corrected. Reception happens at the counter,
   often in a hurry, and until now a wrong weight or a mistyped tracking number 
   had no way back: only the status could be changed. Since the weight sets the 
   price, a typo was billed as it stood. Tracking number, weight, dimensions, photo,
   internal comment, grouping and allowed carriers are all editable, and correcting
   the weight recomputes the price.
 * Editing stops the moment the parcel leaves stock. A parcel sitting in a shipment
   the client may already have paid is refused rather than silently repriced, and
   its client can never be changed after reception. Every correction is written 
   to the client history, naming what changed.
 * The carrier table now says when its two prices apply: they are labelled beyond
   brackets, and a line under the heading states that a carrier is normally priced
   with a bracket grid and that these two are the fallback. Read on their own they
   looked like the only carrier pricing there was.
 * Fix: the estimate shown to the client on the shipment request ignored the weight
   brackets added in 1.6.9 and fell back to base price + price per kg. A shipment
   the checkout billed 45 was announced at 17. The estimate now applies the same
   rule as the server, and a carrier priced by bracket no longer advertises a price
   per kg it never charges.

#### 1.6.10

 * Fix: on the shipment request screen the parcel table lost its labels. The stacking
   added in 1.6.8 hides the table header, and each cell is meant to carry its own
   label instead; this table was the one that did not. Clients saw a bare checkbox
   followed by three unexplained values. The two other account tables were already
   correct, which is why it was missed.

#### 1.6.9

 * New: each carrier can be given its own grid of weight brackets. Carriers rarely
   bill per kilo, they publish a grid, and a 6 kg parcel at 45 EUR next to a 15 
   kg one at 150 EUR fits on no straight line. The first bracket whose maximum weight
   is greater than or equal to the shipment weight sets the price. A carrier left
   without a grid keeps billing base price + price per kg exactly as before, so 
   nothing changes on existing sites.
 * Beyond the last bracket the price falls back to base price + price per kg, but
   it can now only ever charge more than the last bracket, never less. A grid stopping
   at 15 kg used to make a 16 kg shipment cheaper than a 15 kg one.
 * Fix: the settings tables grew by exactly one blank row per save, so filling in
   six weight brackets meant saving six times, and nothing on screen said a seventh
   row was possible at all. Both tables, and every carrier grid, now have an Add
   a row button.

#### 1.6.8

 * Fix: in the customer account, the parcels and shipments tables were wider than
   the account column of most themes, so the last column sat off-screen behind a
   horizontal scrollbar nobody thinks to look for. WooCommerce only …

## Meta

 *  Wersja **1.29.0**
 *  Ostatnia aktualizacja **1 dzień temu**
 *  Włączone instalacje **Mniej niż 10**
 *  Wersja WordPressa ** 6.2 lub nowszej **
 *  Testowano do **7.0.6**
 *  Wersja PHP ** 7.4 lub nowszej **
 *  Języki
 * [English (US)](https://wordpress.org/plugins/colisly/) i [French (France)](https://fr.wordpress.org/plugins/colisly/).
 *  [Przetłumacz na swój język](https://translate.wordpress.org/projects/wp-plugins/colisly)
 *  [Widok zaawansowany](https://pl.wordpress.org/plugins/colisly/advanced/)

## Oceny

 5 na 5 gwiazdek.

 *  [  2 recenzje 5-gwiazdkowe     ](https://wordpress.org/support/plugin/colisly/reviews/?filter=5)
 *  [  0 recenzji 4-gwiazdkowych     ](https://wordpress.org/support/plugin/colisly/reviews/?filter=4)
 *  [  0 recenzji 3-gwiazdkowych     ](https://wordpress.org/support/plugin/colisly/reviews/?filter=3)
 *  [  0 recenzji 2-gwiazdkowych     ](https://wordpress.org/support/plugin/colisly/reviews/?filter=2)
 *  [  0 recenzji 1-gwiazdkowych     ](https://wordpress.org/support/plugin/colisly/reviews/?filter=1)

[Twoja opinia](https://wordpress.org/support/plugin/colisly/reviews/#new-post)

[Zobacz wszystkierecenzje.](https://wordpress.org/support/plugin/colisly/reviews/)

## Zaangażowani

 *   [ MVaertan (Pixfeed) ](https://profiles.wordpress.org/pixfeed/)

## Wsparcie

Masz coś do dodania? Potrzebujesz pomocy?

 [Zobacz forum wsparcia](https://wordpress.org/support/plugin/colisly/)