Current version: 1.3.6 · Last updated: 2026-10-25 · Requires: WordPress 6.2+, WooCommerce 7.6+, PHP 7.4+ · Name in WordPress: Individual Shipping Cost and Quote · Plugin page ›

What the plugin does

The plugin calculates shipping from your own price list – by parcel weight and country – and when an order is too large, unusual or goes to a country outside the price list, lets the customer place it without a shipping cost. You quote the shipping later, and the customer pays only after accepting the quote. The whole process runs on dedicated statuses, e-mails and reminders.

Glossary

  • Quote (IWW) – an individual shipping quote. The customer places the order without a shipping cost and you quote it later.
  • Express – shipping calculated automatically from your price list.
  • Volumetric weight – weight calculated from the parcel size (L × W × H ÷ 6000). Carriers charge the higher of the real and volumetric weight.
  • Weight band – a weight range of one parcel with one price, e.g. “up to 10 kg”.

What it does

A shipping price list by weight and country

A table of countries and weight bands, e.g. up to 3 kg, up to 10 kg, up to 29.9 kg. The plugin splits a heavier order into parcels by the maximum parcel weight, prices each one and adds them up. The higher of the real and volumetric weight counts. Prices can be final (gross) or have VAT added.

Result: a customer from Germany ordering 45 kg sees the correct price for 2 parcels straight away – no manual calculations.

An individual quote when the price list is not enough

A country outside the price list, an empty cell or too many parcels – the customer sees only the quote option. From a set cart weight they can choose: Express or a quote (e.g. a pallet instead of parcels).

Result: you do not lose large and international orders, and you never risk a shipping price that is too low.

Fixed shipping prices for chosen products

Products that always ship separately (oversized items) get their own shipping price per item for each country. They are not added to the parcel weight – the rest of the cart is priced from the list as usual.

Local pickup and cash on delivery in your home country

In your country the customer can also choose local pickup for free and cash on delivery (Express + surcharge).

“Payment after quote”, statuses and e-mails

With a quote the customer sees only the “Payment after quote” method and the order button changes to “Request shipping quote”. The order goes through the statuses: Shipping quote → Dimensions → Shipping cost → Awaiting decision. Each has its own colour and e-mail – to the customer, the warehouse or the forwarder. At “Awaiting decision” the customer receives an e-mail with the quote and a payment link.

Automatic payment reminders

When the customer does not pay, the plugin sends reminders – after a set time, every set number of days, up to the limit you choose. Every reminder is logged in the order notes.

Good to know

  • Cart and checkout texts are set separately for every WPML / Polylang language; an empty field shows the default-language text.
  • Works with the classic and block checkout and is HPOS compatible.
  • The plugin’s settings screens are in Polish; this guide gives the Polish field names in bold with their meaning.

Support ›

Installation and first settings

Before you start

You need WordPress 6.2 or newer, WooCommerce 7.6+, PHP 7.4+ and an administrator account. Back up your store before installing any new plugin – most hosting panels do it with one button.

Step 1: download the plugin and the licence key

After your order (Pro, or the free 7-day Free version) you get an e-mail with your licence key and a Download button. The key and the file are always available in My account → Licences on wpasist.eu.

  1. Click Download and save individual-shipping-cost-quote.zip on your computer.
  2. Do not unzip the file – WordPress installs the plugin straight from the ZIP.

Safari on a Mac may unzip downloads automatically. If you see a folder instead of a ZIP file, compress it again (right-click → Compress) or turn off opening “safe” files after downloading in Safari.

Step 2: install and activate the plugin

  1. Log in to your WordPress dashboard (usually yourstore.com/wp-admin).
  2. Go to Plugins → Add New Plugin and click Upload Plugin.
  3. Choose individual-shipping-cost-quote.zip and click Install Now.
  4. When you see “Plugin installed successfully”, click Activate Plugin.

Result: the left menu now has a wpAsist item with this plugin and the Licences screen.

Step 3: activate the licence

  1. Go to wpAsist → Licences.
  2. Paste the key from the e-mail next to this plugin and click Activate licence.
  3. The status changes to Active until … (the end date of your licence).

Without an active licence the weight-based rates and the “Payment after quote” method do not work in the store. Statuses, e-mails and handling of existing orders in the dashboard keep working.

The key works on one domain. If you move the store to another address, change it yourself in My account → Licences → Change domain on wpasist.eu. New versions arrive in the dashboard like any WordPress update (Dashboard → Updates) while the licence is active – your settings are kept.

Prepare before configuring

  • your carrier’s current prices: parcel prices for every country, by weight (e.g. up to 3 kg, 10 kg, 30 kg);
  • the carrier’s maximum weight of one parcel (e.g. 29.9 kg or 31.5 kg);
  • a list of products that always ship separately at a fixed shipping price;
  • product weights and dimensions in WooCommerce (product page → Shipping tab) – without them shipping cannot be calculated accurately.

The whole setup takes about an hour, most of it typing in prices.

Step 4: first run

After activation the plugin checks the store and shows warnings at the top of the dashboard if something needs attention:

  • Red: old shipping code detected – the store already runs its own shipping code (functions.php or Code Snippets). Note the function names from the message and deactivate those snippets, or ask whoever added the code to switch it off. Otherwise rates, statuses and e-mails will be duplicated.
  • Yellow: no methods in the shipping zones – click Dodaj metody do wszystkich stref (add methods to all zones). The plugin adds its methods to every zone, including “Rest of the world”.

The same button is always available on the Ogólne (General) tab, in the Tools section. It can be clicked many times – nothing is added twice. Click it also when you use an integration such as Sellasist. On first install the plugin loads a sample price list – you replace it with yours in the next steps.

Step 5: general settings

Go to WooCommerce → Settings → Individual Ship&Quote → Ogólne.

Field What it means Example
Maks. waga jednej paczki (kg) Maximum weight of one parcel at your carrier. Heavier orders are split into parcels. 29.9 → a 45 kg cart = 2 parcels
Maks. liczba paczek How many parcels can be priced automatically. Above that – quote only. 0 = no limit. 3 → above 89.7 kg quote only
IWW do wyboru od wagi (kg) From this weight the customer chooses Express or a quote; below it only Express. 0 = quote only when necessary. 30
Dzielnik wagi gabarytowej Volumetric divisor from your carrier contract, usually 5000 or 6000. 6000
Inne metody wysyłki Ticked = only this plugin’s methods are shown. Untick to keep e.g. parcel lockers from another plugin. ticked
VAT od wysyłki Ticked = VAT is added to the list price. Unticked = list prices are final (gross). unticked
Kraj macierzysty Home country where the customer sees local pickup (free) and cash on delivery with a surcharge. Poland, surcharge 5

Click Zapisz zmiany (Save changes) – unsaved changes are lost (this applies to every tab).

Step 6: weight bands and country prices

Tab Przedziały i cennik krajów (weight bands and country price list).

  1. Weight bands (top table) – each band is the upper weight limit of one parcel, e.g. 3, 10, 29.9. The last band should equal the maximum parcel weight. Click Zapisz zmiany – only then do the price list columns follow the bands.
  2. Country price list (bottom table) – rows are countries, columns are bands. Enter the price of one parcel. Add a country from the list below the table (+ Dodaj kraj); + Dodaj brakujące kraje UE adds all EU countries. Prices can use a comma or a dot.

Example: a customer from Germany orders 45 kg. With a 29.9 kg maximum there are 2 parcels (29.9 + 15.1), both in the “up to 29.9 kg” band. If that band costs 35 EUR, the customer pays 2 × 35 = 70 EUR.

Three rules: country not in the table → quote only; empty cell → quote only at that weight; the higher of real and volumetric weight counts.

Step 7: fixed shipping prices for products (optional)

Tab Ceny produktów (product prices) – for products that always ship separately.

  1. Type a few letters of the name or SKU and pick the product (or a specific variation – the variation price wins).
  2. If another product has the same prices, choose it in the “copy prices from” field – the prices are filled in.
  3. Click + Dodaj produkt and enter the shipping price of one item for each country (or Wypełnij wiersz… to fill the row with one amount).
  4. Click Zapisz zmiany. An empty country cell = the product is priced by weight as usual.

Step 8: the “Payment after quote” method

  1. Go to WooCommerce → Settings → Payments and enable Płatność po wycenie (IWW).
  2. In Manage set the Title and Description – separately for every store language.
  3. Click Save changes.

Nothing has to be linked by hand: with a quote the customer sees only this method, and it is hidden for normal shipping. If you used the “Check” method for quotes before, disable it now.

Step 9: statuses, e-mails and reminders

Tab Statusy i przypomnienia (statuses and reminders):

Status When Who gets an e-mail Can the customer pay
IWW – Wycena wysyłki (shipping quote) automatically after the order is placed customer (confirmation) and store (“New order”) no
IWW – Określenie wymiarów (dimensions) when the warehouse should measure and weigh chosen people (e.g. warehouse) no
IWW – Określenie kosztów (shipping cost) when you collect carrier offers chosen people (e.g. forwarder) no
IWW – Czekamy na decyzję (awaiting decision) when you entered the cost and send the quote customer (“Order details” with a payment link) yes
  • E-mail przy „Czekamy na decyzję” – tick to send the quote with a payment link automatically.
  • E-mail do sklepu – tick to get “New order” for every quote.
  • Dodatkowe statusy edytowalne – only if you use custom statuses from other plugins (a click on a slug in the table adds it).
  • Przycisk „Zapłać” w Moim koncie – ticked hides the pay button; the customer pays from the e-mail link.
  • Przypomnienia (reminders) – enable, choose statuses, first reminder after X hours (e.g. 24), then every X days (e.g. 1), subject and maximum number (e.g. 3). Checked once a day.

E-mail texts are edited in WooCommerce → Settings → Emails – three items starting with “IWW –” (recipients, subject, heading and text with {order_number} and {customer_name}).

Step 10: texts and languages

Tab Teksty (texts) – labels in the cart and checkout: the quote name, the Express name, the order button for quotes, the pickup and cash on delivery names. Languages come from WPML / Polylang; a new language gets empty fields, and until they are filled the customer sees the default-language text.

Step 11: test orders

Place a few orders in a private window and check:

  1. A light parcel in the home country – Express from the list, local pickup and cash on delivery.
  2. A heavy parcel to a listed country – Express for several parcels and the quote option (above the weight threshold).
  3. A very heavy order or a country outside the list – quote only.
  4. With a quote the only payment is “Payment after quote” and the button reads “Request shipping quote”.
  5. After placing the order – status “IWW – Wycena wysyłki” and e-mails to the customer and the store.

Daily work: an order with a quote

  1. An order arrives with the status IWW – Wycena wysyłki – the customer has a confirmation, you have a “New order” e-mail.
  2. Order measuring: change the status to IWW – Określenie wymiarów – the warehouse gets an e-mail.
  3. Collect offers: change the status to IWW – Określenie kosztów.
  4. Enter the cost: in the order click the pencil on the shipping line, enter the amount (and e.g. the name “DPD pallet”), click Recalculate and Save.
  5. Send the quote: change the status to IWW – Czekamy na decyzję – the customer gets an e-mail with the amount and a payment link.
  6. The customer pays with any method – the order moves on to a normal WooCommerce status. If they do not pay, reminders go out automatically. Cancelled = status “Cancelled”, and the stock is restored.

Steps 2 and 3 can be skipped if you know the cost straight away.

Troubleshooting

Symptom What to do
“No shipping methods available” in the cart Ogólne → Tools → Dodaj metody do wszystkich stref.
Shipping is counted twice Old shipping code is running – switch it off (step 4).
Shipping too cheap for large products Fill in product weights and dimensions – otherwise volumetric weight is not counted.
A customer from a listed country gets only a quote An empty cell or too many parcels – fill in the price or raise the parcel limit.
No quote option for a heavy cart The “IWW do wyboru od wagi” threshold is above the cart weight or set to 0.
“Check” shows up for normal shipping Disable the old payment method used for quotes before.
The customer gets no reminders Check the reminder settings and that WP-Cron runs; you can also send overdue reminders now.
No e-mails arrive at all Install an SMTP plugin (e.g. WP Mail SMTP) and send a test e-mail.

Support ›

Changelog

1.3.6 – 2026-10-25

  • Admin panel, settings, shipping methods, order statuses and e-mails are now English by default (150+ texts); Polish is a full translation. Shops with a Polish default language see no difference.
  • Fix: on shops whose default language is a regional code (e.g. en-GB, pt-BR) the method names, the order button and the “Payment after quote” texts fell back to Polish – the built-in English texts are used now.
  • Additional languages (WPML / Polylang) without their own texts use the built-in texts for that language (PL / EN / FR) instead of the default language.
  • Settings: the “About this plugin” box is shown below the “Save changes” button; the note under the weight ranges is on its own line.

1.3.5 – 2026-10-24

  • Licence: the plugin sends its name when it checks the key, so a key works only in the plugins it covers (one plugin, a bundle or All Access).
  • wpAsist → Licences: new “Use this key for all wpAsist plugins” – a bundle or All Access key is activated in every plugin at once; plugins the key does not cover keep their own key.

1.3.4 – 2026-10-23

  • New step-by-step guide: what the plugin does, installation and first settings (readme.txt and instrukcja-pl.txt).

1.3.3 – 2026-10-20

  • Updates straight from the WordPress dashboard (Dashboard → Updates) while the licence is active.
  • A clear notice in the dashboard when the licence is not active.
  • All wpAsist plugins and licences in one wpAsist menu.
  • Licence integration and the wpAsist menu.

1.3.2 – 2026-10-15

  • “Payment after quote” is shown only when the customer has actually chosen the individual quote, with a final check of the payment list after other plugins.

1.3.1 – earlier release

  • Fix: products with a fixed shipping price no longer count towards the “quote from weight” threshold – such a cart gets Express only.

1.3.0 – earlier release

  • Languages taken from WordPress (WPML / Polylang / site language): text fields and “Payment after quote” only for the store languages; a new language gets empty fields that fall back to the default language.

1.2.2 – earlier release

  • The settings tab is now called “Individual Ship&Quote”.
  • Block checkout: the order button for quotes uses the text from the settings (“Request shipping quote”).

1.2.0 – earlier release

  • Fix: an order paid from the link (e.g. by bank transfer) no longer goes back to “Shipping quote” – it follows the normal path.
  • “Awaiting decision”: the customer gets the standard WooCommerce “Order details” e-mail with the payment link; reminders use the same e-mail with their own subject.
  • New default customer e-mail after placing an order with a quote.

1.1.0 – earlier release

  • New “Payment after quote” payment method (shown only with a quote), also in the block checkout.
  • Product prices / country price list: the header row stays visible while scrolling.
  • “Additional editable statuses” with a list of status slugs next to the field.

1.0.0 – earlier release

  • First release with a settings screen: weight-based rates per country, fixed product shipping prices and individual shipping quotes.

Customer forum

Ask before it gets annoying 🙂

A problem after installing? Something unclear in the guide? There are no silly questions here – only stores that do not work the way they should yet. We reply personally, usually the same day.

The forum is for customers only. Log in or buy the plugin to grow your store together with us, ask questions and get support.

Custom features

Missing a feature? We will build it for your store

Every one of our plugins started with a real store’s need. Tell us what you need – we will adapt an existing plugin or build a new feature, compatible with WooCommerce, HPOS and WPML.

Custom WooCommerce functionality

Partner program

Recommend the plugins you use and earn up to 50%

Every wpAsist customer gets their own link and discount code. We pay 25% on every sale from your recommendation and another 25% on sales by the customers you referred – up to 50% in total. Your licence pays for itself after 4 referrals, or sooner when the people you referred recommend further.

More about the partner program

Hi, I’m Przemek. I started out in 2009 with affiliate programs, and a year later I made it onto GVO’s list of top-selling partners worldwide. I was also selling my own online courses back when it wasn’t trendy yet.

Since 2014 I’ve been building websites and online stores for clients: setting up analytics, improving conversions, connecting systems and seeing what really sells. I’ve also seen many stores that wouldn’t be where they are today without extra features. That’s why, since 2019, I’ve been writing my own WooCommerce plugins for my clients’ needs. That’s how wpAsist was born: plugins built from the real needs of real stores.

Missing something? Get in touch. My best plugins started with a client’s question. I can also adapt any plugin to your industry.