Formula-Based Shipping




View Testimonials View Examples

Extension Information

Current Version: v2023-12-04 (release notes)

OpenCart Versions: 1.5.2.x - 4.0.2.x

Create shipping charges based on quantity, total, volume, weight, and more! This extension uses an intuitive "rules" system to easily determine when your charges appear. Restrict charges based on cart criteria, date/time criteria, location criteria, and order criteria.
  • Upload and go — modifies no core files.

  • Enjoy peace of mind: all settings are automatically saved to the database when changed, and are backed up to a backup file every time the admin panel is loaded. Settings can also be manually backed up, and then downloaded to restore from later, or to edit in a spreadsheet application.

  • Take advantage of the built-in extension updater. All that's required is to enter your current license key and click "Update".

  • Create charges quickly and easily using the clean admin interface and intuitive rules system. Available rule types include:

  • - Adjustments: charge adjustments such as min/max/round, flat/percent adjustments to charges or cart/item criteria, cumulative bracket charges, tax classes, and more

    - Cart/Item Criteria: length, width, height, L+W+H, price, quantity, stock, total, volume, weight

    - Date/Time Criteria: day of the week, date, time

    - Location Criteria: city, country, distance, geo zone, location comparison, postcode, zone

    - Order Criteria: currency, customer group, language, store

  • Build rule sets to apply multiple rules to a single charge at once. Re-use the same rule set for different charges to quickly create the charges you need.

  • Combine multiple charges into one final cost using simple or complex formulas. Supported functions include Sum, Max, Min, and Average.

  • Use the included Testing Mode to determine why charges are not appearing on the front-end, helping to debug complex rule interactions.


Please login or register to write a testimonial


  • This example is based partially on the Australia Post rate table, and assumes the default weight class is kg.

  • Rate #1: a flat $8.00 rate for parcels up to 0.5 kg

  • Rate #2: a flat $15.95 rate for areas V1, V2, N1 & S1 for 0.5-20 kg

  • Rate #3: a flat $19.95 rate for areas N2, Q1, & T1 for 0.5-20 kg

  • Rates #4-5: standard table rates for area Q2, taking the higher of the weight or dimensional weight.
  • Charge £7.00 when the total of the cart is under £120, and the customer's postcode is not within AB26, AB30-AB32, or AB34.

  • Give free shipping when over £120 and not within the same postcode area.

  • Charge £35.00 if the customer is within AB26, AB30-AB32, or AB34.

  • For postcodes AB1-AB23, charge £5.00 when the cart weight is 0-5kg, £10.00 for 5-10kg, £15.00 for 10-15kg, and £25.00 for 15kg or more.

  • For postcodes BD12 and BD13, charge £2.00, £4.00, £6.00, and £10.00 for the same weight brackets.

  • For all other postcode areas, charge £7.50, £9.50, £11.50, and £15.00 for the same weight brackets.

• This example assumes your default weight class is kg.

  • As with all charge titles, you can use the following shortcodes with a "Text" type charge, to insert information about the customer's current cart: [distance], [postcode], [quantity], [total], [volume], [weight]

  • To calculate numbers based on these values, enter the calculation within curly { and } brackets. Use * for multiplication and / for division. For example, to display the difference between the customer's cart total and $75, you would enter: {75 - [total]}

  • In the example below, there are two messages set up: one for when the cart is $199.99 or less, and one when the cart is $200 or more. There is then a third charge, which is the actual shipping option.