Fish and Ships – Ultimate WooCommerce shipping table rate. The all-in-one shipping method


The best WooCommerce shipping method

A conditional shipping method for WooCommerce: easy to understand and use. Allow you to setup weight based shipping rates, or whatever: price, volume, category…
You can also configure conditional free shipping, conditional local pickup, conditional flat rate or any shipping rate parcels.

Exact fit shipping costs on your WooCommerce shop

Most online shops set generic shipping costs: too much for some products and fewer for another… are you?

A flexible shipping table rate, anything can be set & combined

  • Conditional free shipping
  • Conditional flat rate
  • Weight based shipping
  • Volume based shipping
  • Price based shipping
  • Cart product quantity based shipping
  • Cart totals based shipping
  • Dimensions based shipping (width, height and/or length)
  • Conditional local pickup reduced cost or free
  • Any shipping rate parcels can be set manually
  • Shipping rates per product category
  • Shipping rates per tag category
  • Per user role: customer, subscriber, etc. [NEW!]

  • Extra fees, handling, discounts after shipping rate calculation [NEW!]

…any combination, nested as you need. Really!

Setup exact shipping rates easily

Fish and Ships it’s a WooCommerce shipping table-rate based method that help you to increase sales and avoid costs loss, throught an easy to use and understand shipping table rate cost, with multiple conditional options (as you need).

You can set multiple conditional rules on the table rate: based on price, weight, product quantity on cart, dimensions, volume, shipping class, product tag and product category.

There is a few plugins table rate-based shipping costs calculation, but only Fish and Ships allow you to add on every rule multiple criteria selection:

(condition #1 AND condition #2 AND condition #3), or (condition #1 OR condition #2 OR condition #3)… as you need, on every rule!

…from the simplest to the most complex selection criteria, any need can be fulfilled. Based on the WooCommerce shiping zones.

Here is the list of all selection methods:

  • Price
  • Weight
  • Volume
  • Cart items
  • Min/Mid/Max dimensions
  • In shipping class
  • NOT In shipping class
  • Volumetric [PRO]
  • Length+Width+Height total [PRO]
  • Length+Girth (Length + 2Width + 2Height) [PRO]
  • In category [PRO]
  • NOT In category [PRO]
  • Tagged as [PRO]
  • NOT Tagged as [PRO]
  • Cart total (subtotal cart – discounts) [PRO]
  • User role: customer, subscriber, etc. [PRO]
  • Date selectors: Weekday, Day of month, Month, Year, Full date, Day of year and Time. [PRO]

…Everything can be combined with AND / OR logical operator, on every rule. [OR only on PRO]

Group by

You can set an agroupation of the items cart before analize the conditions:

  • None (every item will be analised alone)
  • Per ID / SKU (same item will be grouped)
  • Per product (variations will be grouped)
  • Per shipping class grouping
  • All products grouped

Shipping cost calculation

You can calculate shipping rates per:

  • Once
  • Per cart items
  • Per products weight
  • Per price products (percentage)
  • Per matching groups (groped under your group-by option)
  • Composite: all previous methods (or what you need) together
  • Custom shipping rates for different currencies (as option)

  • Extra fees, handling, discounts after shipping rate calculation [PRO]

Take the control and reduce abandoned carts

Special Actions

Powerful computer coding made easy as a piece of cake, this will take you to another level on your WooCommerce shipping

Add custom messages, rename the woocommerce shipping method or add extra info on the fly when your conditions match! here is the list of all Special Actions:

  • Abort shipping method
  • Stop (ignore below rules)
  • Skip N rules [PRO]
  • Reset previous costs [PRO]
  • Set min/max rule costs [PRO]
  • Matching products skip below rules [PRO]
  • Show notice message [PRO]
  • Rename method title [PRO]
  • Add subtitle (text under title) [PRO]
  • Auto-apply coupons (with custom messages and more) [PRO]
  • Math expressions parser to calculate shipping rates [PRO]
  • Shipping boxes bin packer [PRO]
  • Hide shipping methods (FnS, WC native and third party) [PRO]
  • NEW: Cart total messages (when there isn’t shipping options available) [PRO]

…all combinable on every rule.

Other shipping method options

Apart of the table rules, you’ll find this options on the method:

  • Method title
  • Tax status (apply tax or not over the calculated shipping cost)
  • Global / On every condition group-by option [PRO]
  • Group-by (explained over, the options are: none, per ID/SKU, per product, per shiping class, all as one)
  • Calculation type: charge all matching rules / only the most expensive
  • Min shipping price: (if the method applies, you can set a min value cost in any case)
  • Max shipping price: (if the method applies, you can set a max value cost in any case)

Multicurrency plugins supported

  • Support for the official WooCommerce multi-currency plugin: link
  • Support for WPML+WCML MultiCurrency: link
  • Support for Aelia, premium multi-currency plugin: link
  • Support for WOOCS, freemium multi-currency plugin: link
  • Support for Multi Currency for WC, freemium plugin: link
  • Support for WP Wham Currency Switcher, freemium plugin: link

Other 3rd party plugins supported

  • Support for WPC Product Bundles: link
  • Support for the plugin Uni CPO: link
  • Support for the Skyverge Measurement Price Calculator plugin: link [PRO]

…and much, much more:

  • Free shipping support: now you can take control over zero cost shipping rates

  • Fish and Ships for WooCommerce shipping comes with extensvie help files and context links to it

  • Intuitive wizard will guide you just activate the plugin, through WooCommerce screens

  • It will work in your currency and measurements set in WC settings

  • Multilingual support using the WPML plugin (soon we will support others)

  • Import / export settings added: duplicate the shipping method settings or move between stage/production site in one breath [NEW]

*A built-in log system to help you to learn, understand or debug any complex shipping method configuration

Here you can read the help files →

Here you can compare the Free vs Pro features


  • English (plugin and help files)
  • Spanish (plugin and help files)
  • Portuguese (plugin and help files), thanks to Nuno Melo
  • Italian (plugin and help files), thanks to Marco Cappalunga
  • French (plugin only, lookin for translators)
  • Catalan (plugin and help files)
  • Finnish (plugin and help files), thanks to Ari Koivunen

I want to translate Fish and Ships

You’re welcomed! We offer a forever license of Fish and Ships Pro in exchange for plugin and help translation.

If you’re interested, please, contact us here →


  • Shipping rules order diagram
  • Shipping rules table
  • Simple or multiple criteria selection
  • The selection options (Free and Pro)
  • Simple / composite price calculation
  • Group-by options
  • Special Actions options (Free and Pro)
  • Custom shipping rates for different currencies
  • Well-documented help
  • You can activate logs calculation
  • Setting custom messages on admin (Pro)
  • Cart with the custom messages (Pro)
  • Apply coupons automatically (Pro)


Can be installed as usual:

  1. Manual: Download from, unzip and upload through FTP to the /wp-content/plugins/ directory. Then go to admin plugins page and activate it.

  2. From admin plugins>add new page: search “fish and ships” and click on install button, then activate.

How to configure the plugin?

Simply activate it, and a wizard will appear. Follow it through WooCommerce screens and you’ll get your first Fish and Ships shipping method to start configure the shipping rules.


How I can re-start the wizard?

Go to plugins admin page again, and look for the link “Start: run wizard” into the Fish and Ships plugin row.

Where I can find the help?

Fish and Ships comes with context help. You can open it on any help icon (?) on the shipping method screen.

However, you can see also this help in our website help docs →.

You’ll find this link also in the admin plugins page of your site.

Multilingual support?

Yes. For now it supports only WPML, but it’s in our roadmap make it compatible with more options in the future.

Multicurrency supported?

Yes. Please read Multicurrency section.

Which currency and units for dimensions and weight will be used?

Fish and Ships will work in the currency and measurements that you’ve set in WooCommerce settings, just as the way WC does.

How I configure conditional local pickup at reduced cost or free?

Same as flat rate or free shipping, just below:

How I configure conditional flat rate shipping?

Create a shipping method with Fish and Ships. Enter to edit it, and rename as you want: Flat rate or whathever.

Then add an unique rule, put the conditions (nested more than one if you need) and set a price with the property “once”.

How I configure conditional free shipping?

Create a shipping method with Fish and Ships. Enter to edit it, and rename as you want: Free shipping or whathever.

Then add an unique rule, put the conditions (nested more than one if you need) and set a price as 0 with the property “once”.

Check the option “Zero shipping rate calculation will offer free shipping.” at the bottom.

Can I configure really complex shipping rate parcels?

Sure. Any combination of rules can be achieved: nested weight, volume, dimensions, prices, etc. conditions can be configured easily.

Required plugins and compatibility versions?

Fish and Ships has widely tested with older and latest; our philosophy is to cover the maximum releases (when are viable) and obviously cover all future releases.

  • PHP: from 5.5 to current release (tested up to 8.0.x).
  • WordPress: from 4.4, all posterior releases (tested up to 6.0).
  • WooCommerce: from 2.6, all posterior releases (tested up to 7.0).
  • WPML: Tested the contemporary releases with the WooCommerce / WP releases.

Fish and Ships Free vs Pro?

Here you can check the two version features →


9 снежня, 2022 1 reply
The free option did 100% of what I wanted unlike all the other free options out there. But then I came across an edge case and decided to buy the pro version. There was no need to evaluate anything else because of how much value the free version had already provided for me. I cannot imagine any other shipping plugin with as many options! Although it can be intimidating how many options are available the documentation is outstanding.
26 ліпеня, 2022 1 reply
Fish & Ships (love the name!) does everything I need it to do with their free version. I have just switched from another shipping pro plugin - and I am so glad I did. (The plugin I switched from required a pro version in order to not charge shipping on digital downloads - which to me seems against Woocommerce's intentions.) If you are looking for a great shipping plugin - look no further. I fully recommend Fish & Ships and encourage anyone to check it out and consider switching to this plugin. Support is very responsive and helpful. I couldn't be happier.
7 ліпеня, 2022 1 reply
This plugin is exactly what we needed for our Woo Commerce store. Our unique shipping pricing requires an item/quantity table rate. Of the top half dozen that I tested from the WordPress repository, Fish and Ships by wp-centrics, was the only free version that was not Cripple ware. For a small store with a limited number of products to sell this may be all you need. Our charity acquired a Pro version of Fish and Ships. With all the capabilities and conditions of this plugin, we expect to be able to easily expand the range of products that we can ship. So, don't be fooled by the name, this is a first-rate table rate shipping plugin for Woo Commerce on Wordpress. Their support is A one when contacting them through their contact form.
Read all 23 reviews

Contributors & Developers

“Fish and Ships – Ultimate WooCommerce shipping table rate. The all-in-one shipping method” is open source software. The following people have contributed to this plugin.


“Fish and Ships – Ultimate WooCommerce shipping table rate. The all-in-one shipping method” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Fish and Ships – Ultimate WooCommerce shipping table rate. The all-in-one shipping method” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


1.4.9 – 27/01/2023

  • Support for WC decimal separator on shipping method settings (comma, point, whatever)
  • Checked for WooCommerce 7.3

1.4.8 – 10/01/2023

  • Disambiguation for cart totals (with / without tax) (Pro)
  • Solved bug on WPML custom text translation
  • New special action: Cart totals messages (Pro)
  • Checked for WooCommerce 7.1

1.4.7 – 10/12/2022

  • Fixed bug in the selector, when comparisons are multi-currency

1.4.6 – 01/12/2022

  • Solved a bad check advice about “Always” selector when save settings
  • Moved “Cart items” selector from “Product data” to “Advanced” group

1.4.5 – 10/11/2022

  • Solved two bugs on settings editor: (both introduced in 1.4.4, sorry guys!!)
  • A JavaScript error occurs on rule duplication
  • Categories/tags/shipping classes can’t be selected (select2 field)

1.4.4 – 09/11/2022

  • Enharced drop-down on selector methods (grouped by type)
  • Checked for WordPress 6.1
  • Checked for WooCommerce 7.1

1.4.3 – 12/10/2022

  • Full support for WOOCS multicurrency
  • Checked for WooCommerce 7.0
  • Some checks added to advice about issues on save settings
  • Solved some visualisation issues on table rate settings
  • Bug solved on extra fees + cheaper/expensive rule setting

1.4.2 – 12/09/2022

  • Fixed bug: 500 error / infinite loading on Fish and Ships settings page, when too much logs are saved (all logs saving on production sites)

1.4.1 – 04/08/2022

  • Solved bug: decimal input fields was shown an incorrect message on admin side since WC 6.7
  • Minor bug solved: When all rules was deleted, a empty new one was added (bug introduced in 1.4.0)
  • Minor bug solved: Support for 3rd party selection methods / actions unscopped (bug introduced in 1.4.0)
  • Packer bug solved: abort option failed under some circumstances (pro)
  • Skyverge’s MPC compatibility enharced: MPC weight, MPC volume and MPC area can evaluate products grouped (pro)

1.4.0 – 14/07/2022

  • Checked for WooCommerce 6.7
  • Extra fees, handling, discounts after shipping rate calculation added (pro)
  • Packer bug solved: crash with WC Germanized Pro solved
  • Packer bug solved: division by zero on products without dimensions (pro)

1.3.5 – 26/05/2022

  • Checked for WordPress 6.0

1.3.4 – 19/05/2022

  • Added warn message for common setting mistake: quantity product comparation for ungrouped products always compares one by one
  • Added user roles into selection methods (pro)
  • Checked for WooCommerce 6.5

1.3.3 – 27/04/2022

  • Special action: “Hide other shipping methods” added (support any third party plugin) (pro)

1.3.2 – 18/04/2022

  • Checked for WooCommerce 6.4

1.3.1 – 08/03/2022

  • Some text mispellings solved

1.3 – 27/01/2022

  • Shipping boxes bin packer algorithm added (pro)
  • Checked for WordPress 5.9
  • Checked for WooCommerce 6.1
  • Compatibility added for Skyverge Measurement Price Calculator (MPC) (pro)

1.2.12 – 23/11/2021

  • Bug solved for TIV.NET / WooCommerce multi-currency plugin: (
  • Checked for WooCommerce 5.9

1.2.11 – 08/09/2021

  • Checked for WooCommerce 5.6
  • Number of grouped products selection method added.

1.2.10 – 19/07/2021

  • Checked for WordPress 5.8 and WooCommerce 5.5
  • Length+Girth (Length + 2Width + 2Height) selection method added.(pro)

1.2.9 – 12/05/2021

  • Logs more clear with rule details collapsed / expandable

1.2.8 – 28/05/2021

  • Import settings issue (carriages break parsing) fixed
  • Fixed issue on totals selector calculation (pro)
  • Disambiguation for Volumetric weight factor label
  • Bug fixed on save log

1.2.7 – 03/05/2021

  • PHP Bug solved on coupon messages (pro)
  • Some PHP warnings solved
  • Consistent enabling for delete/duplicate rule buttons on settings

1.2.6 – 19/04/2021

  • Better compatibility for WP Wham Currency Switcher
  • Pagination and ajax reload for logs
  • Solved javascript bug on select2 fields when duplicated is done

1.2.5 – 08/04/2021

  • Multi-currency support added for WP Wham Currency Switcher
  • Notices / messages improvements: can be extended to another shipping methods and can be persistent or showed once [PRO]
  • Solved issue on registration/updates for multilingual sites [PRO]

1.2.4 – 25/03/2021

  • Double plugin installation bug well prevented
  • Added portuguese help

1.2.3 – 09/03/2021

  • Tested compatibility with WordPress 5.7
  • Selector “cart total” added [only Pro]
  • Log system on production sites now saves also the WC shop managers calculations
  • Bug solved on settings page for WPML multilingual sites: category & tag filter always in main language
  • Bug solved on manual prices for secondary currencies

1.2.2 – 23/02/2021

  • Fatal error solved with Woocommerce Multicurrency (WOOMC)

1.2.1 – 18/02/2021

  • Woocommerce 5.0 compatibility checked
  • Portuguese language files added (help coming soon)
  • Import/export dialog text strings made translatable
  • Two special actions renamed for better clarity
  • 100% strings translated for spanish and catalan

1.2 – 04/02/2021

  • Import / export settings added

1.1.13 – 27/01/2021

  • Added auto-apply coupons special action (Pro)
  • Support for the plugin Uni CPO added
  • Fatal error solved on PHP 8: “Unsupported operand types: string * int”
  • Bug solved when MAX table fields has 0 as wildcard instead of empty value

1.1.11 – 16/12/2020

  • Italian language and help files added
  • German language temporary retired (under revision)

1.1.10 – 26/11/2020

  • Admin interface: support added for right-to-left (RTL) languages

1.1.9 – 17/11/2020

  • Compatible with the new AND/OR feature [only Pro]
  • Minor JavaScript issues fixed on admin side

1.1.8 – 07/11/2020

  • Solved fatal error with Flexible Shipping v3.15 / v3.16 (early triggering)
  • Solved errors on third party multicurrency plugins calls

1.1.7 – 2020-10-20

  • Custom shipping rates for different currencies (as option) for WC official Multi-currency
  • Solved issue with JS/CSS cached files from older releases on admin shipping method configuration

1.1.6 – 2020-10-12

  • Custom shipping rates for different currencies (as option) for WPML MC and Aelia
  • Finnish help added

1.1.5 – 2020-09-02

  • “Always” option added: for a rule that always should be applied (more inctuitive than leave MIN and MAX empty)
  • Bug solved: some nested conditions on same rule fell into an infinite loop

1.1.4 – 2020-08-04

  • Comparison options added: now you can choose between Greater than / Greater than or equal to for MIN field, and Less than / Less than or equal to for MAX field.
  • WP 5.5 tested
  • Finnish added

1.1.3 – 2020-06-25

  • Free shipping support added

1.1.2 – 2020-06-09

  • Support added for Multi Currency for WooCommerce
  • Support added for WPC Product Bundles
  • Bug fixed on WPML+WCML shipping-rate conversion

1.1.1 – 2020-06-01

  • Multi-currency support added for Aelia
  • Multi-currency support added for WOOCS
  • French language added
  • Changes on help files (more realisitic weight & volume amounts on the examples)

1.1.0 – 2020-05-21

  • Multi-currency support added for the official WooCommerce plugin (soon we will give support to others)
  • Bug solved on volume calculation for table rules matching
  • Minor issue solved on Fish and Ships wizard dialogs on some WC admin pages

1.0.6 – 2020-05-15

  • Bug solved on items quantity, volume and volumetric[pro] calculation for table rules matching
  • German language added

1.0.5 – 2020-05-09

  • Multi-currency support added (for now only with WPML + WC Multilingual, soon we will give support to others)
  • Fixed double wizard bug on WooCommerce admin screens

1.0.4 – 2020-04-01

  • Fixed selection by shipping class bug on variations (prior releases lookin the parent product shipping class,
    and maybe the variation has set another one)
  • Fixed PHP bug in 3.0.x WC versions: “undefined function get_instance_id()” message
  • Added a refresh for the cached shipping cost when the shipping method options are modified
  • Removed the message “we encorage you to enable the WooCommerce debug mode”

1.0.3 – 2020-03-24

  • Added per product weight shipping cost calculation (single and composite)

1.0.2 – 2020-03-16

  • Tested under WooCommerce 4.0.0
  • Wizard works with the new WooCommerce Admin Plugin 1.0
  • Contextual help can be now multilingual
  • Added translated help for spanish and catalan languages

1.0.1 – 2020-03-10

  • Tested under WordPress 5.4 (beta 3)
  • Added spanish and catalan languages
  • Option added on calculation type: “Charge only the most cheap matching rule”
  • Parse error prevention on PHP less than 5.5 ( not supported, but not buggy, a message will be shown)

1.0.0 – 2020-03-04

  • Hello world!