As I haven't been able to find a contribution since I started with osC which could give an estimate shipping cost to the customer before checkout and I really wanted such thing, especially for my foreign customers, I developed this (infobox) module. Please bare with me as I am still very much learning osC and PHP every day I work with it !
What it does:
This contribution will add an infobox to your osCommerce shop which shows the estimated shipping costs to the customer. It will show as soon as the customer adds a product to his shopping cart and (re)calculate the estimated shipping costs. As it is based on the checkout shipping page the calculated shipping costs will be accurate and not really an estimate. At this stage only country based shipping costs information can be shown ! Alternatively you can show the estimated shipping cost module in your mainpage
instead as a left, or right, column infobox. The module will disable itself once the customer reaches the checkout shipping page.
Installation instructions and language files in Dutch and English are provided. I have added a picture to the package to show how it will look. A live example can be seen in my webshop.
Legend: 
Download

Report
I noticed the 1.7 version contains a Google Analytics code, that tracks and sends information to the analytics account of god knows who. So the ones who don't appreciate others gaining information about your customers/orders/shop, can just delete this code.
Fix when using thickness depending shipping modules
If you are using one of the thickness depending shipping modules:
Thickness depending letter only shipping module
http://www.oscommerce.com/community/contributions,4493
or
Thickness depending letter or package shipping module
http://www.oscommerce.com/community/contributions,4484
you have to make small change to estimated_shipping_functions.php, so the shipping modules can calculate the correct shipping costs.
to display shipping costs next to the checkout button:
follow the instructions in the full installation except in the shopping_cart.php
find this line:
<td class="main"><?php echo '<a href="' . tep_href_link($navigation->path[$back]['page'], tep_array_to_string($navigation->path[$back]['get'], array('action')), $navigation->path[$back]['mode']) . '">' . tep_image_button('button_continue_shopping.gif', IMAGE_BUTTON_CONTINUE_SHOPPING) . '</a>'; ?></td>
and insert these new lines of code directly below:
<!-- BEGIN estimated shipping -->
<td class="main"><?php echo '<a href="javascript:popupWindow('' . tep_href_link(FILENAME_POPUP_SHIPPING) . '')">' . '<img src="images/icons/shipcost.gif" border="0"> ' . TEXT_SHIPPING_COST . '</a>'; ?></td>
<!-- END estimated shipping -->
this puts the est shipping costs in a spot easier for the customer to find :>)
Hi there,
When I installed this contrib i noticed that the popup would show IMAGE_BUTTON_SUBMIT when you wanted to check on postage costs of stuff
Easy to fix (even for someone stupid like me)
got Define languages
FIND
define('IMAGE_BUTTON_WRITE_REVIEW', 'Write Review');
ADD BELOW
define('IMAGE_BUTTON_SUBMIT', 'Submit');
save and viola, those using CSS based layouts should see a fix now :D
This fix is here for those who have the register globals fix installed and are having problems with the estimated shipping contribution (I INSTALLED THIS ON THE POPUP VERSION) so I don't know if the non-popup version has problems).
Anytime someone who was not a registered user and/or was not logged in tried to enter a zip code to estimate shipping, it just refreshed the page and did not show any estimates. I used the fix described in the "register globals" contribution files. This is here to save others time.
This little hack will add option to control (turn ON or OFF) Estimated Shipping using your shop admin. You need to download and install package 1.7b below as this zip contains the hack only. Takes about 3 minutes to install.
Minor bug fixed in this version.
There was an icon missing for the "close window" text in the popup window as well as the referenced language text.
Full package attached
This is a modified version of Estimated Shipping v1.7 with UPS/USPS support. It calls the shipping estimator in a popup window from the shopping cart. Simply add a product to the shopping cart and click a link to popup the window, where you select the country and enter the zipcode to get the shipping cost.
A live example can be seen at http://www.westwoodprinters.com
This fixes a problem that occurs when you click on the process button to submit the postcode and as the page returns it comes back to the wrong page. It should just dislpay the same page that you were on before you pressed the button.
This effects all versions including 1.7.
In the file catalogincludesmodulesestimated_shipping.php find the line :-
$info_box_contents[] = array('form' => tep_draw_form('estimated_shipping', tep_href_link(basename($PHP_SELF), '',$request_type, false), 'post') . tep_hide_session_id(),
and replace it with :-
$info_box_contents[] = array('form' => tep_draw_form('estimated_shipping', tep_href_link(basename($PHP_SELF), tep_get_all_get_params(),$request_type, false), 'post') . tep_hide_session_id(),
that's it. Basically, you just replaced the '' with tep_get_all_get_params()
You can see this patch in action at http://www.bettercomputers.com.au, just add something to the shopping cart to display the Shipping Costs infobox. Any questions please use the contact us page on the site (helps to combat spammers).
A minor update for those who experienced a loss of their shopping cart.
Full package.
A minor update for those who experienced a loss of their shopping cart.
Full package.
Small change:
- when updating the zipcode field there is now a submit button instead of a textual message to press the Enter key. Pressing the Enter key still works also.
Full package. Instructions in English and Dutch
The Support thread can be found here: http://forums.oscommerce.com/index.php?showtopic=144166&hl=
On request the UPS/USPS shipping option will not be shown when there is an empty zipcode field. UPS/USPS would return a kind of cryptic error message on that anyway. The error for an invalid zipcode will be returned as normal. For those countries where a valid, or any, zipcode is not neccessary UPS/USPS will show the quotes as normal.
Full package with English and Dutch language files.
This is a special flavor of the original Estimated Shipping Costs contribution in which you will find an extra zipcode field. With this version you should be able to get correct shipping quotes from UPS and USPS for countries where a zipcode is mandatory to the request. I am not allowed to test with USPS but as UPS works I assume USPS will be fine too. Support as far as possible will be through the original Estimated Shipping Costs thread (http://forums.oscommerce.com/index.php?showtopic=144166).
This is the full package with dutch and english language support.
- changed the layout a bit so multiple shipping quotes from one shipping provider will show correctly (like UPS/USPS)
This version is WITHOUT zipcode support and although it will work with UPS you will get no shipping quotes for countries where a zipcode is mandatory.
I have made though a special version with zipcode support which you will find in this same thread.
Its possible to estimated by zipcode(us)?....thank you
v1.3 Estimated Shipping
- fixed the error when having UPS as your shipping provider
Be aware the error may have gone but for non-US based shops it won't work anyway because the UPS site doesn't seem to accept those. For US based shops there will be no valid quote for shipping to US based customers because there is no zipcode to send to the UPS site.
As I haven't been able to find a contribution since I started with osC which could give an estimate shipping cost to the customer before checkout and I really wanted such thing, especially for my foreign customers, I developed this (infobox) module. Please bare with me as I am still very much learning osC and PHP every day I work with it !
What it does:
This contribution will add an infobox to your osCommerce shop which shows the estimated shipping costs to the customer. It will show as soon as the customer adds a product to his shopping cart and (re)calculate the estimated shipping costs. As it is based on the checkout shipping page the calculated shipping costs will be accurate and not really an estimate. At this stage only country based shipping costs information can be shown ! Alternatively you can show the estimated shipping cost module in your mainpage
instead as a left, or right, column infobox. The module will disable itself once the customer reaches the checkout shipping page.
Installation instructions and language files in Dutch and English are provided. I have added a picture to the package to show how it will look. A live example can be seen in my webshop.