=== Netherlands Couriers for WooCommerce ===
Contributors: catcodestudio
Tags: postnl, dhl, shipping, netherlands, belgium
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
WC requires at least: 7.0
WC tested up to: 11.2
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

PostNL and DHL labels, pickup points on the classic and block checkout, and tracking for shops in the Netherlands and Belgium.

== Description ==

Ship with your own PostNL and DHL contracts from the WooCommerce order screen. No monthly fee to a shipping platform and no labels bought through a reseller: the plugin talks to the couriers directly with your own API keys.

**Free**

* Four delivery methods for your shipping zones: PostNL to the address, PostNL to a pickup point, DHL to the address and DHL to a ServicePoint.
* Pickup points and parcel lockers near the buyer, with distance and opening hours of today, on the classic and the block checkout. The picker shows up only for its own method and never writes into the buyer's address fields.
* The house number is read from the address line and asked for at checkout when it is missing, so a label does not fail later.
* Flat price, free from an order amount or with a free-shipping coupon, weight limit, the Netherlands and Belgium per method.
* A label from the order screen: PostNL announced straight away, DHL through My DHL Parcel, PDF to print.
* Tracking link in the order, on the account page and in the e-mails. Refresh the status with one click.
* PostNL API v2 keys and the new v4 keys, production and sandbox.
* Interface in English and Dutch.

**Pro** (7-day free trial from the settings page)

* Labels created automatically when an order reaches the status you choose.
* Bulk actions in the orders list: create labels and print them all at once.
* Several parcels on one shipment.
* Signature on delivery, no delivery to neighbours and insured value on the label.
* Delivery prices per weight.
* Hourly status sync, order notes and automatic completion on delivery.

== Installation ==

1. Install and activate WooCommerce and this plugin.
2. Open WooCommerce → Netherlands Couriers, fill in the sender and the API details of the couriers you use, save and check the connection.
3. Add the delivery methods to your shipping zones for the Netherlands and Belgium in WooCommerce → Settings → Shipping.
4. Open an order and create the label in the Netherlands Couriers box.

== Frequently Asked Questions ==

= Do I need a contract with PostNL or DHL? =

Yes. PostNL API keys come from Mijn PostNL Zakelijk, under My account → API management. DHL keys come from My DHL Parcel, under Settings → API keys. The list of DHL ServicePoints works without a key; labels need one.

= My PostNL key is new. Which API version do I choose? =

Keys from the new API management in Mijn PostNL Zakelijk are v4 keys. Keys you have used with PostNL for a while are v2 keys.

= Can I cancel a label? =

Neither courier has an API call for that. The plugin marks the label cancelled in the shop, and you make a new one. Do not hand the parcel over with the cancelled label.

= Which countries does it ship to? =

The Netherlands and Belgium.

== External services ==

The plugin connects only to the couriers the shop owner sets up, and only for the actions below.

**PostNL** (api.postnl.nl, api-sandbox.postnl.nl), operated by PostNL.

* At checkout and in the settings: the post code, country, and when available the city, street and house number of the buyer are sent to find pickup points.
* When the shop creates a label: the buyer's name, address, e-mail address and phone number, the parcel weight and the order number are sent to create and announce the shipment.
* When the status is refreshed: the barcode is sent.

Terms: https://www.postnl.nl/algemene-voorwaarden/zakelijk/ Privacy: https://www.postnl.nl/en/privacy-statement/

**DHL eCommerce** (api-gw.dhlparcel.nl), operated by DHL eCommerce Netherlands.

* At checkout and in the settings: the post code and country of the buyer are sent to find ServicePoints.
* When the shop creates a label: the buyer's name, address, e-mail address and phone number, the parcel weight and the order number are sent. The API user ID and key are sent to sign in.
* When the status is refreshed: the tracking code and post code are sent.

Terms: https://www.dhl.com/global-en/footer/terms-of-use.html Privacy: https://www.dhl.com/global-en/footer/privacy-notice.html

The Pro licence check connects to catcode.com.ua and sends the licence key and the site address.

== Changelog ==

= 1.0.0 =
* First version: PostNL (API v2 and v4) and DHL, delivery to the address and to pickup points on the classic and the block checkout, labels, tracking; Pro automatic and bulk labels, several parcels, signature, no neighbours, insurance, prices per weight, hourly status sync.
