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?
Any shipping rates case can be set
- 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 costs 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:**
- 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]
…Everything can be combined with AND / OR logical operator, on every rule. [OR only on PRO]
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 cost per:
- 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) [NEW]
Take the control and reduce abandoned carts
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]
- NEW: Hide shipping methods (FnS, WC native and third party) [PRO]
- NEW: Extra fees, handling, discounts after shipping rate calculation [PRO]
…all combinable on every rule.
Other shipping method options
Apart of the rule tables, 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
- 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.
Can be installed as usual:
Manual: Download from wordpress.org, unzip and upload through FTP to the /wp-content/plugins/ directory. Then go to admin plugins page and activate it.
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.
Yes. For now it supports only WPML, but it’s in our roadmap make it compatible with more options in the future.
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 5.9).
WooCommerce: from 2.6, all posterior releases (tested up to 6.4).
WPML: Tested the contemporary releases with the WooCommerce / WP releases.
Fish and Ships Free vs Pro?
Contributors & Developers
“Fish and Ships: Best shipping table rate” is open source software. The following people have contributed to this plugin.Contributors
“Fish and Ships: Best shipping table rate” has been translated into 1 locale. Thank you to the translators for their contributions.
Interested in development?
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: (https://woocommerce.com/products/multi-currency/)
- 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
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]
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!