SimpleCaddy - Shipping by points

Shipping is calculated as a combination of different elements in SimpleCaddy. To not confuse things with actual shipping cost, shipping is expressed in points, where products with 2 points will, in the end, be twice as expensive as products with 1 point.

First off, shipping needs to be enabled in SimpleCaddy. This is a core configuration setting and is set in the SimpleCaddy Configuration screen on the Modules tab like this:


In case this is set to “No”, no shipping related fields will be displayed anywhere in SimpleCaddy.

So where are those “Shipping related fields” ? They are in your product definition:


So how do you define the shipping points? The points depend on what you are shipping, A bag of feathers will be lighter to ship than a case full of books. Also, bigger sized products may be more expensive to ship than jewellery. The final cost of the shipping is not connected to the price/value of the product. The fields with “length”, “width”, “height” and “weight” are not used in this shipping plugin.


Configuration of the plugin

The shipping cost is most always dependent on the destination, shipping half around the world is more expensive than shipping next door.

So we need to define our shipping destinations. These are defined in the Checkout fields for your client. In this manner the client only fills in the destination once and we can determine what to do with shipping (and tax as well, if applicable). By default, SimpleCaddy has all Canadian provinces entered in a dropdown type field called “region”. No manually entered text by clients should be allowed here!


Here the important elements are highlighted. The fieldname by default is called “region” (no capitals, no spaces, etc) but may be called anything if you prefer. The type of this field should be “Dropdown” so that your clients can select the destination but are not able to manually enter that information (So many things can go wrong with that… no need to go there).

On the Details page in your shop, the region field shows like this:



How to link the Shipping region to the Checkout field

Here comes the interesting part. The shipping plugin needs to know where to find the destination of your clients’ products. So we need to go into the Shipping Plugin. This is what is called the “Shipping Controlfield” since it controls much of the shipping plugin’s behaviour. Click the “Set basic configuration” button.


Clicking the button shows a popup like this one:


The dropdown field shows all of your defined Checkout field names. You must select the one that you use for the destination selection. In this case it is “region” Save the global shipping configuration and close the popup. You are back in the (empty) list of shipping zones.

Add a zone by clicking the “Add zone” button in the toolbar. The shipping zone that you are now defining can be selected from the dropdown list at the top. If this does not contain the same destinations as your Details page’s dropdown, your Shipping Configuration is incorrect and you need to correct that first.


Here you define the lower limit and the upper limit in points for this destination as well as the cost for this point range. You can and should define more than one range for each destination. The best thing to start with is your shipper’s tariff.

On this tariff it says:

package (gr, kg, pound, litres) destination (USA) destination (CANADA)
1-100 5.00 $ 7.50 $
101-250 8.50 $ 10.50 $
251-500 12.50 $ 14.50 $
501- 20.00 $ 23.00 $

Obviously the presentation of this tariff will differ but the principle remains.

That last line that says 501- should be defined like 501-99999 as to close the last range of point values. If nothing is specified, 0 (zero) will be assumed by the server and will leave you with free shipping for large orders…

For the sake of simplicity we will set one shipping point = 1 gram. So what happens if your product weighs 30 gr and you want to send one product to Canada? The cost is then 7.50 $. The same for 2 and 3 products because the weight does not exceed 100 gr. For 4 products the cost for Canada will be 10.50 $

Until now, nothing really new. We usually leave this to the post office Smile.

But with SimpleCaddy we can calculate this shipping cost and make the customer pay for the shipping. We only have to KNOW what we are selling. I guess you know so let’s go on to the inner works of the shipping in SimpleCaddy.

Your product weighs 30 grams, so we will attribute 30 points to it. You can set these points on a per product basis in the product definition as shown above. You will need to define as many ranges as necessary for each destination.


The setup for this system is a bit laborious, but it works perfectly. You do have to analyse your needs in shipping costs and make the right decisions as to what to charge for shipping. SimpleCaddy will calculate the amounts.


The plugin part in your content

The shipping is added to your cart in the last ShowCart screen, at some point AFTER the Details screen. Remember that the Details screen is where your clients enter the destination, before that, there is no knowledge of the shipping cost.

The content with the { simplecaddy type=showcart nextcid=…} plugin then needs to know this shipping cost BEFORE it has a chance to be displayed. So the content should look something like this:

{ scshipping }

{ simplecaddy type=showcart nextcid=… }

Joomla goes through the content of the page and checks all plugins in there, one by one. So shipping will be calculated and added to the cart, then the cart will be displayed with the shipping added.

To make things a bit more presentable, you will want to create a “shipping” product, which is not a real product, but as such you can add the “product” description to say something like “Shipping and handling”. To show this description, you need to set the shipping “product” code in the global shipping configuration screen. The product does not need to be called “shipping”, that can be anything as long as you are consistent.

That’s all there is to it for the shipping.