{"id":355309,"date":"2026-08-19T08:22:17","date_gmt":"2026-08-19T08:22:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/gestionnaire-colis-pro\/"},"modified":"2026-08-19T15:35:38","modified_gmt":"2026-08-19T15:35:38","slug":"colisly","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/colisly\/","author":23550806,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.6.4","stable_tag":"1.6.4","tested":"7.0.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Colisly Parcel Forwarding","header_author":"Pixfeed","header_description":"Client and parcel management for a parcel receiving, storage, grouping and forwarding business, natively integrated with WooCommerce.","assets_banners_color":"7b55ad","last_updated":"2026-08-19 15:35:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/colisly\/","header_author_uri":"https:\/\/pixfeed.net\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":66,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.6.0":{"tag":"1.6.0","author":"pixfeed","date":"2026-08-19 08:21:58"},"1.6.1":{"tag":"1.6.1","author":"pixfeed","date":"2026-08-19 09:48:11"},"1.6.2":{"tag":"1.6.2","author":"pixfeed","date":"2026-08-19 10:00:47"},"1.6.3":{"tag":"1.6.3","author":"pixfeed","date":"2026-08-19 11:03:59"},"1.6.4":{"tag":"1.6.4","author":"pixfeed","date":"2026-08-19 15:35:38"}},"upgrade_notice":{"1.6.4":"<p>Layout fixes on the settings screen and on wide tables. No database change.<\/p>","1.6.3":"<p>Directory listing wording only. No database or behaviour change.<\/p>","1.6.2":"<p>Documentation fix only. No database or behaviour change.<\/p>","1.6.1":"<p>Housekeeping release: plugin and author URLs updated. No database or behaviour change.<\/p>","1.6.0":"<p>Plugin renamed and internal prefix updated; existing data is migrated automatically on update.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3654193,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3654193,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3654193,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3654193,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3654193,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.6.0","1.6.1","1.6.2","1.6.3","1.6.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3654246,"resolution":"1","location":"assets","locale":"","width":1600,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3654246,"resolution":"2","location":"assets","locale":"","width":1600,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3654246,"resolution":"3","location":"assets","locale":"","width":1600,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3654246,"resolution":"4","location":"assets","locale":"","width":1600,"height":900}},"screenshots":{"1":"Clients list with multi-criteria search.","2":"Client record: indicators and tabs (parcels, shipments, documents, history).","3":"Parcel creation form with live client search and the client's current stock.","4":"Customer \"My parcels\" screen in the WooCommerce My Account area."}},"plugin_section":[],"plugin_tags":[24151,276489,276490,13907,286],"plugin_category":[45],"plugin_contributors":[276445],"plugin_business_model":[],"class_list":["post-355309","plugin","type-plugin","status-publish","hentry","plugin_tags-logistics","plugin_tags-package-forwarding","plugin_tags-parcel-forwarding","plugin_tags-warehouse","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-pixfeed","plugin_committers-pixfeed"],"banners":{"banner":"https:\/\/ps.w.org\/colisly\/assets\/banner-772x250.png?rev=3654193","banner_2x":"https:\/\/ps.w.org\/colisly\/assets\/banner-1544x500.png?rev=3654193","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/colisly\/assets\/icon.svg?rev=3654193","icon":"https:\/\/ps.w.org\/colisly\/assets\/icon.svg?rev=3654193","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/colisly\/assets\/screenshot-1.png?rev=3654246","caption":"Clients list with multi-criteria search."},{"src":"https:\/\/ps.w.org\/colisly\/assets\/screenshot-2.png?rev=3654246","caption":"Client record: indicators and tabs (parcels, shipments, documents, history)."},{"src":"https:\/\/ps.w.org\/colisly\/assets\/screenshot-3.png?rev=3654246","caption":"Parcel creation form with live client search and the client's current stock."},{"src":"https:\/\/ps.w.org\/colisly\/assets\/screenshot-4.png?rev=3654246","caption":"Customer \"My parcels\" screen in the WooCommerce My Account area."}],"raw_content":"<!--section=description-->\n<p>Colisly Parcel Forwarding provides a complete client and parcel management system for a package forwarding business: receiving, storage, consolidation and reshipping of parcels (for example towards the French overseas territories). It suits forwarders, reshippers and virtual address services that already run their store on WooCommerce. The interface is in English and can be translated into any language through translate.wordpress.org.<\/p>\n\n<h4>Client management module<\/h4>\n\n<ul>\n<li>Every client is linked to a WordPress\/WooCommerce user and gets an internal record with a short unique reference (CL000001).<\/li>\n<li>Search clients by reference, first name, last name, e-mail address or phone number.<\/li>\n<li>The client record centralizes everything: client information, reference, parcels in stock, shipped parcels, shipments, transmitted documents and the full operation history.<\/li>\n<li>Automatically computed indicators: parcels currently in stock, total stored weight, shipments done, storage fees due, last parcel reception, last shipment.<\/li>\n<li>Free storage period per parcel (15 days by default, configurable), then automatic storage fees per day.<\/li>\n<li>From the client record: create a parcel, browse parcels, prepare a shipment, check documents and read the history.<\/li>\n<\/ul>\n\n<h4>Parcel creation module<\/h4>\n\n<ul>\n<li>Search the client by internal reference, name or e-mail, with an immediate view of their parcels still in stock.<\/li>\n<li>Complete form: carrier tracking number, real weight, dimensions (visible to administrators only), optional reception photo, internal comment reserved for the staff, grouping allowed or forbidden, allowed carriers per parcel.<\/li>\n<li>Unique parcel number generated automatically (COL000001), reception date, creator and initial \"available\" status.<\/li>\n<li>Life cycle: available, ordered, awaiting payment, paid, preparing, shipped, destroyed, cancelled.<\/li>\n<li>The parcel price is computed automatically from its weight (configurable tiers) and stored at reception time.<\/li>\n<\/ul>\n\n<h4>Customer side<\/h4>\n\n<p>Customers only see the information meant for them (parcel number, reception date, tracking number, weight, status, grouping allowed) in their WooCommerce My Account area: \"My parcels\", \"My shipments\", \"My documents\" and \"Shipment request\" (mes-colis, mes-expeditions, mes-documents and demande-expedition on French sites). Internal comments and dimensions are never displayed to customers.<\/p>\n\n<h4>Native WooCommerce payments<\/h4>\n\n<p>Each shipment request creates a detailed WooCommerce order: one fee line per parcel, a storage fee line and the chosen carrier as a native shipping line priced from its configurable tariff (base price + price per kg). The customer is redirected to the standard WooCommerce payment page and pays with any payment gateway enabled in the shop. Statuses stay synchronized both ways: order paid \u2192 shipment \"paid\"; shipment \"shipped\" \u2192 order completed; order cancelled \u2192 parcels returned to stock. The shipment request form shows each carrier tariff, disables carriers that are not allowed for the selection, and displays a live total estimate (parcels + storage + transport).<\/p>\n\n<h4>Native WooCommerce e-mails<\/h4>\n\n<p>Two real WooCommerce e-mails are registered under WooCommerce \u2192 Settings \u2192 Emails: \"Parcel received\" (sent to the customer) and \"Shipment requested\" (sent to the staff, with configurable recipients). They use the shop e-mail template and can be overridden from the theme. Without WooCommerce, a plain-text fallback keeps notifications working.<\/p>\n\n<h4>Private documents<\/h4>\n\n<p>Client documents and reception photos are stored in a protected directory (direct access denied, randomized file names) and served only through an authenticated download endpoint: a customer can only download their own documents marked as visible; reception photos are restricted to the staff.<\/p>\n\n<h4>Extensible<\/h4>\n\n<p>The architecture is built to grow: actions and filters (<code>colisly_parcel_created<\/code>, <code>colisly_shipment_requested<\/code>, <code>colisly_carriers<\/code>, <code>colisly_parcel_price<\/code>, <code>colisly_carrier_price<\/code>, \u2026) allow adding import\/export, statistics, loyalty programs, a REST API or multi-warehouse support without touching the core.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>colisly<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install it from the Plugins screen.<\/li>\n<li>Activate the plugin. WooCommerce must be installed and active.<\/li>\n<li>Go to \"Colisly \u2192 Settings\" to configure the pricing tiers, storage fees and carriers.<\/li>\n<li>Create a client record from \"Colisly \u2192 Clients\", then register parcels from \"Colisly \u2192 New parcel\".<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20the%20customer%20change%20the%20grouping%20permission%3F\"><h3>Can the customer change the grouping permission?<\/h3><\/dt>\n<dd><p>No. This decision is made by the staff only, when the parcel is received, and can never be changed by the customer. A parcel whose grouping is forbidden must be shipped alone.<\/p><\/dd>\n<dt id=\"how%20are%20storage%20fees%20computed%3F\"><h3>How are storage fees computed?<\/h3><\/dt>\n<dd><p>Every parcel gets a free storage period (15 days by default). Beyond it, fees are computed automatically per day and per parcel using the amount defined in the settings.<\/p><\/dd>\n<dt id=\"are%20documents%20private%3F\"><h3>Are documents private?<\/h3><\/dt>\n<dd><p>Yes. Files never go through the public media library: they live in a protected directory and are only served after login, with ownership checks. A customer can only download their own documents; reception photos are restricted to the staff.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20gdpr-ready%3F\"><h3>Is the plugin GDPR-ready?<\/h3><\/dt>\n<dd><p>Yes. It registers a personal data exporter and eraser with the native WordPress privacy tools (Tools \u2192 Export\/Erase Personal Data), and deleting a user account removes all of their plugin data, including private files.<\/p><\/dd>\n<dt id=\"is%20any%20data%20removed%20on%20uninstall%3F\"><h3>Is any data removed on uninstall?<\/h3><\/dt>\n<dd><p>Not by default: deleting the plugin keeps your clients, parcels and files safe. A site administrator can opt in to a full cleanup by setting the <code>colisly_remove_data_on_uninstall<\/code> option to <code>yes<\/code> before deleting the plugin, for example with WP-CLI: <code>wp option update colisly_remove_data_on_uninstall yes<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.6.4<\/h4>\n\n<ul>\n<li>Fix: the pricing tier and carrier fields in the settings overflowed their cells, and the parcel list and the customer tables were clipped, hiding their last column. Long tracking numbers now wrap so the customer tables fit the account column, and wide admin tables scroll instead of being cut.<\/li>\n<\/ul>\n\n<h4>1.6.3<\/h4>\n\n<ul>\n<li>Directory listing wording: the tags and the description now use the industry terms \"package forwarding\", \"reshipping\" and \"consolidation\", so operators searching for those find the plugin.<\/li>\n<\/ul>\n\n<h4>1.6.2<\/h4>\n\n<ul>\n<li>The installation instructions referred to a \"Colis Pro\" admin menu, which no longer exists; the menu is \"Colisly\".<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>The plugin and author URLs now point to the plugin directory page and to the author site, instead of a development repository.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Plugin renamed to \"Colisly Parcel Forwarding\" (previously \"Gestionnaire Colis Pro\"), with a matching text domain, to follow the plugin directory naming requirements: a distinctive name rather than a purely descriptive one.<\/li>\n<li>Internal prefix renamed from \"gcp\" to \"colisly\" to meet the four-character minimum required for plugin prefixes. Existing installations are migrated automatically: tables, options, capability, private files directory and WooCommerce order meta are all carried over.<\/li>\n<li>Fixed URL escaping in the plain-text \"shipment requested\" e-mail (esc_url instead of esc_url_raw).<\/li>\n<li>Translation files are no longer bundled: translations are delivered through translate.wordpress.org, and the load_plugin_textdomain() call has been removed (not needed since WordPress 4.6).<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Privacy (GDPR): the plugin now plugs into the native WordPress privacy tools. The personal data exporter includes the client record, parcels, shipments and documents; the eraser deletes documents and private files, blanks phone number, notes, tracking numbers and reception photos, and reports that parcel\/shipment records are retained as accounting records. Deleting a WordPress user account removes all of their plugin data and private files.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Internationalization: all source strings are now in English; the full French translation ships with the plugin (fr_FR .po\/.mo), so French sites keep the exact same interface. Translation contexts preserve French grammatical agreement on statuses.<\/li>\n<li>The My Account endpoint slugs are now translatable and filterable (French sites keep mes-colis, mes-expeditions, mes-documents, demande-expedition; other languages get my-parcels, my-shipments, my-documents, shipment-request by default).<\/li>\n<li>International default carriers (DHL, UPS, FedEx, Colissimo) on fresh installs.<\/li>\n<li>New setting to apply the shop taxes to shipment orders (tax-free by default).<\/li>\n<li>Client search pagination now runs in SQL (COUNT + LIMIT\/OFFSET) and scales to large client bases.<\/li>\n<li>The live estimate on the shipment request form follows the browser locale for number formatting.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>The readme is now written in English, as required by the WordPress.org plugin directory.<\/li>\n<li>Development files are no longer shipped inside the plugin folder.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Carrier tariffs (base price + price per kg) configurable in the settings; transport is billed on the native shipping line of the WooCommerce order and included in the shipment total.<\/li>\n<li>Shipment request: each carrier shows its tariff, incompatible carriers are disabled, and a live total estimate (parcels + storage + transport) is displayed during selection.<\/li>\n<li>Native WooCommerce e-mails: \"Parcel received\" (customer) and \"Shipment requested\" (staff, configurable recipients) registered under WooCommerce \u2192 Settings \u2192 Emails, with HTML\/plain templates that can be overridden from the theme; wp_mail fallback without WooCommerce.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Native WooCommerce payments: each shipment request creates a WooCommerce order (one fee line per parcel, storage fees, carrier as shipping line); the customer is redirected to the standard payment page and a WooCommerce customer invoice e-mail (with payment link) can be sent automatically.<\/li>\n<li>Two-way status synchronization: order paid \u2192 shipment paid; shipment shipped \u2192 order completed; order cancelled \u2192 shipment cancelled and parcels returned to stock.<\/li>\n<li>Client record: the \"Order\" column links each shipment to its WooCommerce order; the customer area shows a \"Pay\" button while the order awaits payment.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Security: client documents and reception photos are now stored in a private directory (.htaccess + random names) and served through an authenticated download endpoint with ownership checks (nonce + capability). Restricted file types (images, PDF, Office).<\/li>\n<li>Fix: weights and dimensions typed with a decimal comma (\"2,5\") are now interpreted correctly.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: client management (CL references), parcel creation (COL references), automatic weight-based pricing, automatic storage fees, grouping rules, carrier restrictions, shipment requests, documents, history and e-mail notifications.<\/li>\n<\/ul>","raw_excerpt":"Package and parcel forwarding for WooCommerce: client records, receiving, storage fees, consolidation and shipping.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/355309","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=355309"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pixfeed"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=355309"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=355309"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=355309"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=355309"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=355309"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=355309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}