Aaima Table Rate Shipping — Documentation
🚚
📊
🎯
💸
⭐ WooCommerce Plugin v1.0.0

Aaima Table Rate Shipping

Build shipping rates from a table of rules — by cart total, weight, item count or shipping class. Includes a free shipping threshold with an animated progress bar that tells customers how much more they need to spend.

📋 Rate Tables⚖️ Weight & Price Bands🎁 Free Shipping Threshold📊 Animated Progress Bar🏷️ Shipping Class Rules🇫🇷 French Included

📑 Table of Contents

🚀 Getting Started

  • • System Requirements
  • • Installation
  • • Adding to a Shipping Zone
  • • Building Your First Table

📋 Rate Tables

  • • Conditions Explained
  • • Min & Max Bands
  • • Cost Components
  • • Shipping Class Rules
  • • Starter Tables

🎁 Free Shipping

  • • Setting the Threshold
  • • What Counts Towards It
  • • Excluded Shipping Classes
  • • The Progress Bar

✨ The Notice

  • • Where It Appears
  • • Blinking Behaviour
  • • Custom Wording
  • • Colours & Shortcode

⚙️ Method Settings

  • • Calculation Types
  • • Handling Fee
  • • Min & Max Cost
  • • Tax Status

🔧 Support

  • • Troubleshooting
  • • FAQ
  • • Developer Filters
  • • Changelog

System Requirements

What the plugin needs to run

📦

WordPress

5.8+
🐘

PHP

7.4+
🛒

WooCommerce

6.0+
💾

Memory

128MB+
💡

Products need a weight set on their Shipping tab for weight-based rules to work. Without one, WooCommerce treats a product as weightless and every cart falls into your lightest band.

Key Features

Everything WooCommerce shipping should have done out of the box

📋

Rate Tables

Write a table of rules instead of a single flat rate. Each row is one band — 0-2 kg costs €4.90, 2-10 kg costs €8.90 — and WooCommerce charges whichever row the cart falls into.

⚖️

Four Conditions

Measure by order total, total weight, number of items, or use an "always apply" row for a flat rate. Each row can measure something different.

🧮

Composite Costs

A base cost plus optional per-item, per-unit-of-weight and percentage components. Combine them freely — €3 base plus €0.50 per item on four items comes to €5.

🎁

Free Shipping Threshold

One amount applied across every zone and every rate. Reaching it zeroes the shipping cost while the customer keeps their choice of carrier.

📊

Progress Bar

Shows how close the customer is, fills as they shop, and celebrates when they cross the line. Available on cart, checkout, mini cart and via shortcode.

🏷️

Shipping Class Rules

Restrict a row to carts containing a product in a given class — the usual way to price fragile or oversized goods differently.

🎯

Three Calculation Modes

Offer every matching row as a customer choice, add them into one price, or quietly pick the cheapest.

🚀

Starter Tables

One click fills the grid with a working example by weight, order total or item count. Adjust rather than starting from an empty screen.

Considerate by Default

The bar pulses gently a few times rather than flashing forever, and respects the reduced-motion setting on the customer's device.

Installation Guide

Two ways to install

📦 Method 1: WordPress Admin

  • 1

    Go to Plugins → Add New

  • 2

    Click Upload Plugin

  • 3

    Choose aaima-table-rate-shipping.zip

  • 4

    Click Install Now

  • 5

    Click Activate

📁 Method 2: FTP Upload

  • 1

    Extract aaima-table-rate-shipping.zip

  • 2

    Connect to your server via FTP/SFTP

  • 3

    Navigate to /wp-content/plugins/

  • 4

    Upload the aaima-table-rate-shipping folder

  • 5

    Activate in Plugins

After Activation: Go to WooCommerce → Settings → Shipping, open a zone, and add the Aaima Table Rate method. Then set your free shipping amount under Table Rates → Free shipping bar.

⚠️

Hard-refresh after uploading an update. Browsers cache plugin CSS and JavaScript. Press Ctrl+Shift+R (or Cmd+Shift+R) so you are not looking at the old version.

Setup in Four Steps

From install to live rates

📦

1. Install

Upload & activate

🗺️

2. Add to a Zone

This step is essential

📋

3. Build the Table

Use a starter table

🎁

4. Set Free Shipping

One amount, all zones

📋 How a Rate Table Works

Each row is a rule; WooCommerce reads them top to bottom

🎯 Condition

  • Order total — the cart value
  • Total weight — sum of product weights
  • Number of items — total quantity
  • Always apply — a flat row with no condition

📏 Min and Max

  • The band the cart must fall into
  • Both ends are inclusive
  • Leave Max blank for "and above"
  • Bands must not overlap, or two prices show

💰 Cost Components

  • Cost — the base price for the row
  • Per item — multiplied by quantity
  • Per weight — multiplied by total weight
  • Percent — of the order total
  • Leave a box blank to ignore it

🏷️ Restrictions

  • Shipping class limits a row to certain goods
  • Label overrides the method title
  • Drag rows by the handle to reorder
💡

A common mistake: writing bands as 0–2 and 2–10. Because both ends are inclusive, a cart weighing exactly 2 kg matches both rows and the customer sees two prices. Start the next band just above the previous maximum — 0–2, then 2.01–10.

Settings Reference

Every option explained

⚙️ Shipping Method Settings

Set per instance, inside the shipping zone. Click the method name to edit it.

TitleWhat customers see at checkout when a rate does not set its own label.
Tax statusTaxable or None. If Taxable, enter costs excluding tax and WooCommerce adds it.
When several rows matchOffer each as a choice (friendliest), add them into one price, or take the cheapest.
Handling feeAdded to every rate. A flat number, or a percentage such as 5%.
Minimum costA rate is never cheaper than this.
Maximum costA rate is never more expensive than this — useful as a safety cap on percentage rules.

🎁 Free Shipping Threshold

Set once under Table Rates → Free shipping bar. Applies to every zone.

Order overThe amount that unlocks free delivery. Reaching it zeroes the shipping cost.
Measured onSubtotal after discounts (default, stricter) or before discounts (more generous — a coupon cannot push the customer back below the line).
Count taxWhether tax counts towards the threshold. Off by default.
Never countsShipping classes excluded from the threshold, so a bulky item never earns free delivery.
💡

Local pickup is never zeroed by this — only delivery methods are.

📊 The Progress Bar

Show the barEnable it, and choose cart, checkout and mini cart independently.
StyleMessage with a progress bar, or message only.
Show when emptyAlso advertise the threshold to visitors with an empty cart.
WordingThree messages — still to go, unlocked, and empty cart.
Placeholders{remaining}, {threshold}, {total}, {percent}
ColoursProgress bar, unlocked state, text and background.
Shortcode[aaima_free_shipping_bar] for anywhere else on the site.

✨ Blinking

The bar pulses to draw attention at the right moment. These controls keep it useful rather than irritating.

When to blinkWhen free shipping is unlocked (recommended), also when the customer is close, or never.
"Close" meansThe percentage of the way to the threshold that counts as close. 80% by default.
Pulse speedMilliseconds per pulse. 900 ms is calm; below 400 ms starts to feel frantic.
Number of pulsesHow many times it pulses before stopping. 0 blinks forever.
💡

A few pulses catch the eye and then stop, which is far easier to shop next to than a banner that flashes forever. Customers whose device asks for reduced motion always see a still bar.

Example Rate Tables

Copy these as a starting point

⚖️ By Weight — the most common setup

Weights in kg. Note how each band starts just above the previous maximum.

ConditionMinMaxCostMeaning
Total weight024.90Up to 2 kg
Total weight2.01108.902 kg to 10 kg
Total weight10.01blank14.90Anything heavier

💰 By Order Total — reward bigger baskets

ConditionMinMaxCostMeaning
Order total0505.90Small orders pay full price
Order total50.01blank3.90Larger orders pay less

📦 By Item Count — with a per-item component

ConditionMinMaxCostPer itemResult for 6 items
Number of items134.904.90
Number of items4blank2.900.505.90

🇫🇷 Colissimo Domicile — France (2026 public rates)

Enter the HT column if the method Tax status is Taxable; enter TTC if it is None.

Min (kg)Max (kg)Cost TTCCost HT
00.255.494.58
0.2510.57.596.33
0.5010.759.297.74
0.75119.597.99
1.001211.199.33
2.001517.3914.49
5.0011025.2921.08
10.0011531.9926.66
15.0013039.5932.99

Troubleshooting Guide

Common issues and how to fix them

❌ No shipping options at checkout

The customer cannot proceed

Solution: The method must be added to a shipping zone in WooCommerce → Settings → Shipping. The plugin screen shows a red banner until this is done. Also check no gaps exist between your bands.

⚠️ Weight rows never match

Every cart uses the lightest band

Solution: Products need a weight on their Shipping tab. Use Aaima AI Product Data to fill missing weights in bulk.

⚠️ Two prices shown for one delivery

Duplicate options at checkout

Solution: Your bands overlap. Because Min and Max are both inclusive, 0–2 and 2–10 both match a 2 kg cart. Start the second band at 2.01.

⚠️ Free shipping is not applied

Customer passed the amount but still pays

Solution: The default measures the subtotal after discounts and without tax. A cart showing €100 including tax may be below €100 for this purpose. Check the Measured on setting.

ℹ️ The bar does not update on quantity change

Message stays the same

Solution: It listens for fourteen cart events and also watches the totals for changes. If it still lags, hard-refresh to clear the cached JavaScript, then check your theme is not replacing the cart silently.

ℹ️ Two free shipping messages appear

The bar shows twice

Solution: The Aaima theme has its own bar. Turn it off in Aaima → Shop Settings → Cart and keep this one.

ℹ️ Local pickup became free too

Pickup shows €0

Solution: It should not — local pickup is deliberately excluded. If you see this, another plugin is zeroing it.

ℹ️ Percentage rule produces huge costs

Shipping is more than the goods

Solution: Set a Maximum cost on the method. It caps every rate regardless of how the percentage works out.

Frequently Asked Questions

Common questions answered

Q: Can I offer several delivery speeds?

Yes. Add rows with different labels and set "When several rows match" to offer each as a choice. The customer picks at checkout.

Q: Can I keep charging for express delivery when free shipping applies?

Yes. The aaima_table_rate_make_rate_free filter receives each rate and can return false to leave it chargeable.

Q: Does it work with several shipping zones?

Yes. Each zone gets its own rate table, so you can price domestic and international separately. The free shipping threshold is global and applies to all of them.

Q: Can I use it alongside carrier plugins like Colissimo or Mondial Relay?

Yes. Those register their own shipping methods and appear next to yours. The free shipping threshold zeroes them too, unless you filter them out.

Q: What counts towards the free shipping threshold?

By default the subtotal after discounts, excluding tax. You can switch to before discounts, include tax, and exclude whole shipping classes.

Q: Is the blinking accessible?

Yes. It is a soft pulse rather than a flash, it stops after a set number of beats, and it is disabled entirely for anyone whose device requests reduced motion.

Q: Can I put the progress bar on a product page?

Yes, with the [aaima_free_shipping_bar] shortcode. It updates as the cart changes just like the cart page copy.

Q: Is it translated?

Yes, a complete French translation is included. All strings are internationalised for other languages.

Changelog

Version history

v1.0.0 — Initial Release

  • Rate tables with four conditions: order total, weight, item count, always apply
  • Composite costs: base + per item + per weight + percentage
  • Shipping class restrictions per row
  • Three calculation modes: choice, sum, cheapest
  • Handling fee (flat or percentage), minimum and maximum cost
  • Free shipping threshold applied across all zones
  • Animated progress bar for cart, checkout, mini cart and shortcode
  • Configurable blink mode, speed and pulse count, with reduced-motion support
  • Starter rate tables and drag-to-reorder rows
  • Complete French translation and built-in Help tab
  • HPOS and Cart/Checkout block compatibility

Support & Updates

We're here to help

💬

6 Months Support

Via ThemeForest comments or support email. We reply within 24-48 hours on business days.

🔄

Free Lifetime Updates

All future updates are free, and included in the Aaima theme update package.

📖

Built-in Help

Every screen of this plugin has a Help tab covering setup and troubleshooting, so the answer is always to hand.

Need Help?

Get support via ThemeForest comments or contact us directly

📧 Contact Support 📖 View Full Docs