Is an Account needed when checking out in osCommerce

Amy asks;

I’ve been trying to find out if it is necessary to have a customer create an account in order to purchase through the shopping cart.

With standard osCommerce, the answer is “yes, an account needs to be created”. However, it is simple to wrap this up as part of the checkout procedure by not mentioning the word “account”. You can remove all references of “account” in the language files – call it “profile” or somesuch instead.

In the actual checkout procedure, remove the need for the buyer to insert passwords, and instead have a checkbox saying “remember my details”. If they check the box, then send a random password by email. Streamline the checkout process by removing the “create account success” page.

So, to sum up;

Yes, an account is needed. But it is easy to make it LOOK LIKE an account is not needed.

Other Options

Of course, there are a number of contributions that address this, and they are all rubbish and pointless. I know of one that is called “Fast Easy Checkout”, which is a complete dogs dinner of code. Avoid them all, and just streamline the usual osCommerce checkout process would be my advice.

ocPos – point of sale for osCommerce

Lots of people have been emailing me about Point of Sale systems for osCommerce – my good friend Jared Call owns and runs a company which specialises in POS – his product is called “ocPos”. I approached Jared and asked him to write me up some information for this blog…enjoy!

OllaCart (ocPOS) is geared specifically toward folks that have osCommerce (or derivative) web stores who want to sell in a physical store. The website is already populated with customers, products, etc. Why have to re-create all that just because you’re opening a store? Enter OllaCart Point of Sale; a web-based POS solution that helps you leverage the data you already have to sell to a new class of customers.

Here’s a little history: ocPOS was born because my wife and her employees were sick and tired of having to run all website orders through our in-store POS to have a semi-realistic view of how much inventory we had overall. Doing inventory counts at year-end for over 10,000 different products wasn’t any fun either. When they started using ocPOS, their order processing time dropped by about 80%. Not only did they have quicker order processing, but also had consistently accurate inventory levels both in-store and online. The staff loved it.

Traditional Point of Sale solutions do not have any idea what osCommerce is. Not only do you have to give the new POS all the product information that you’ve already entered into your web store, but now you have an inventory problem — how are you going to keep track of product levels when some sell in-store and some sell online? Some POS solutions offer expensive or bulky tools to perform periodic batch uploads of order and product data to your website. This is better than nothing, but leaves gaping holes in the effort to keep a consistent inventory.

ocPOS uses your osCommerce database natively. No hourly or daily sync-up. Product levels are always up-to-date. Orders are always synchronized. ocPOS takes care of that.

Online customers already have accounts set up when they shop in-store. Create a customer in-store, and they’re already there to place web orders. Don’t want to have to ask customers for personal details just to sell to them? No problem — ocPOS takes care of that too.

Since ocPOS runs in a browser, you can print receipts on receipt printers or on any other printer. Barcode scanners work as well. Get a cash drawer that opens when you print a receipt on your receipt printer, and you’re in business!

Some features you might find handy are things like:

1. The Non-Inventory Item: Sell your customers anything you like, even if it’s not already in your database. Mark it as a non-inventory item, add a description, price, and sell it! It’ll show up in the order reports just like a regular product.

2. One license covers as many web terminals as you want. No need to pay for multiple checkout counters — just one license per web store is needed.

3. Edit product names, descriptions, weights, prices, sale prices, right from the Point of Sale. When you make product changes in ocPOS, they are automatically made in your web store.

4. Add barcodes to your products, add a barcode reader, and ocPOS will find your products when you scan them.

5. No barcode? No worries! You can search for products by their model number or description.

6. Run Windows? Macintosh? Linux? You access ocPOS from your browser, so it will work with any modern operating system.

The current full release is 1.6, though we expect to release 2.0 within the next few weeks. We have added dozens of bug fixes and new features to 2.0. It still needs some more testing, so there may be some rough edges, but we’re close to release!

The 2.0 BETA includes new features like:

1. Multi-language support

2. Order discounts

3. Larger buttons for improved touch screen usage

4. Store owner notification when items sell out

5. Automatic percentage markup for product when sold in-store

6. Optional inclusion of osCommerce sales in the ocPOS sales reports.

ocPos have a 2.0 BETA demo available at The database resets every hour, so feel free to change prices, create orders, create users, etc. Have a look!

Shipping date for OSC

Dave writes;

I need a customer selectable shipping calendar for my site. Please let me know if you have a contribution version.

I have coded a nice clean version of “shipping date” for a client, but it is not yet available as a contribution as I have not had time to rip apart my clients code. I’m looking for a sponsor to allow me to do that.

Please see this post for more. Thanks, Gary

osCommerce Makeover Service

You did a truly wonderful job!! The credit card images are great, I just love how that looks, and the add on for the specials is awesome. I am so happy that I found you in the forums, and I will definitely call on you first in the future if I need anything else done. I would recommend you a hundred times over, you are worth every penny. Thanks again for the makeover.

The above quote is a real email that I received after completing a makeover…

There must be thousands of osCommerce based sites out there that are either standard installation (the awful grey theme) or have just a couple of colour changes in the stylesheet.

Each time I check new additions to the Top 100 list there are at least 5 such sites – and I have to tell you that none of them get set live!

So, what I’d like to introduce is a new service I am offering called “osCommerce Makeover“. Basically I will take a standard (or close to standard) osCommerce shop and make appropriate changes so that it is better looking and more functional.

In a typical osCommerce shop, I would suggest that the following list would be fairly standard of the service offered;

1. Come up with new colour scheme to suit the products that you are selling.
2. Implement colour scheme via stylesheet
3. Remove left or right column
4. Nuke useless infoBoxes and move others appropriately
5. Make text larger
6. Implement fixed or fluid set-width and create a background or shadowed image
7. Implement some jQuery (javascript/ajax) to make things more intuitive for your shoppers
8. Pretty up the infoBoxes to suit the theme of the makeover
9. Shorten the checkout procedure and make more logical for your shoppers
10. Other small bits and pieces to pretty the whole thing up

As you can see, some major changes and some minor ones – all done with design & usability in mind.

The Cost

The cost of this service is just $250 (however, please note that this price does not include installation of any existing contributions, I would create any needed as part of the theme).

How It Works…

I take a 50% deposit from you which enables me to book your makeover into my diary. At the same time I inspect your site and come up with some ideas for you based on what I see.

Once I get your agreement on changes to be made, I carry out the work as per my diary schedule. When I have completed the agreed works, you pay the other 50%.

Get in touch…

For further discussions or to book a spot in my diary, please email me on – I’m expecting this service to prove very popular, so if I do not get back to you same day, know that I will get back to you ASAP.

My aim for this service is to get each site I modify to at least a good enough standard to be added into the Top 100 list.

Other options

It’s only fair that I mention other options. One is to go to the likes of Template Monster and buy a template – downside of this is the fact that others will be using the same template and a major downside is that Template Monster use non-standard code in their oscommerce templates. Another option is to DIY – but I am guessing that people looking for a makeover service won’t have the knowledge to be able to do this…

Zone Shipping by Weight, 1 price, multi zones + default zone

Shipping is sometimes very complicated to get correct.  There’s a number of ways that an osCommerce store can be set up to deal with giving shipping quotes, off the top of my head;  per item, flat rate, zones, table based and lots more dealing with specific mail carriers. Sometimes, even though there are lots of shipping modules, none of them are quite right for the specific need.

One of my clients wanted the ability to set up a number of Zones [OK, let’s use the standard Zones module], then he decided he wanted to set up only a few zones, each containing a handful of countries, and then have the other countries (ones that are not in any zone) default to an “all other” zone automatically.  [OK, let’s use the Zones World contribution].

Then he decided that he wanted to ship by weight.  Where each unit of weight would simply be charged at $x.  And that the calculation should be open ended – so if they ordered 1000 units, the shipping charge would be 1000 * $x [OK, that’s going to be problematic].

The Zones World contribution is close, but this uses a table of weight to price ratios – this table is limited to 255 characters (which could be easily changed).  Rather than use this, I gave the idea that we should look at coding up a new solution specifically for his needs.

The solution

What we ended up with was a hybrid of “flat rate”, “zones” and “zones world”.  Basically the shop owner selects a number of zones and adds countries to each zone as usual.  He also inserts 1 price “$x” per zone, and can input a handling fee to be added.  The price is then multiplied by the weight of the order, and the handling fee is added.

An example

GB shipping costs 0.20 per kg, with a 4.95 handling fee.  US shipping costs 0.50 per kg, with a 10.95 handling fee.  These are inserted in the module set-up.

The weight of the order totals 37kgs including tare. So, we can calculate shipping fees as so;

GB: ( 0.20 * 37) + 4.95 == $12.35
US: (0.50* 37) + 10.95 == $29.45

However, the beauty of this module is that it is so easy to set up (no messing with weight/price ratios) that any order can be dealt with properly.  If the order was some thing outrageously high, like 2,300 products weighing 4132 kgs, US shipping would be (0.50 * 4132) + 10.95 == $2076.95.  I believe that this could not be done adequately with any other shipping method!

The upshot

The new shipping module is being tested thoroughly over the next month or so, and if it works as it’s intended, I’ll try to package it up and get it available.

Discount Cooupon Update Video

Here is that video I promised to upload today. It’s a bit small, but I guess you’ll get the general idea, it’s only about 40 seconds long with no sound (in case you are at work).

Basically, I added 2 new columns:

Uses: this shows the number of times that the coupon has been used.
Last Use: this shows the date of the last use, and this date is linked to the order it was used on.

I also added a link (in the right hand info area) which changes the left hand side of the page to show all the uses of each coupon – click this and the uses becomes viewable – all of these uses are also linked to each individual order made.

Please let me know what you think about this update. Thanks.

osCommerce Discount Coupons Contribution Update

STOP PRESS: This contribution is now updated to Version 5 and has all sorts of cool extras. Please see the latest post about this.

Over the past few months of usage of my Discount Coupon Contribution, a number of ideas have been presented to me for updates, and the one idea that keeps being brought up time and time again is a way to see which coupons relate to each order.

I’ve had a bit of time to think about this and as I see it, this is a fairly simple modification but one that will take a little bit of time to code up and test – I suspect somewhere around about 1 to 2 hours would suffice. My idea is to use the existing coupon page to create a new area which will detail each usage of each coupon, and link you through to each order made. I think that would work very well.

Doing things for free feels great, but like all of you who run stores, you are running them to make money. I also have to make money, and I do that by coding stuff. We are all in business aren’t we 😉

What I am looking for is anyone who would be able to sponsor this update. If that’s you, please do email me – my email address is at the top of this page. Thank You.

Your Shops Country pre-selected in the Countries List

This is a really easy change that should take you not more than 10 seconds to complete – and it will give your site visitors a better experience when creating an account.

We know that most stores sell to their own countrymen. USA stores tend to sell most to USA nationals, UK to UK, Ozzies to Ozzies and so on. So what we are going to do is put your country at the top of the “countries list” in the create_account page (and other pages).

You know that you set your stores country within your admin section:

And yet the country pulldown looks like this:

Pointless! Let’s make the country set in out Admin section…

Open up /includes/functions/html_output.php and find this:

[php]function tep_get_country_list($name, $selected = ”, $parameters = ”) {[/php]

Change it to this:

[php]function tep_get_country_list($name, $selected = STORE_COUNTRY, $parameters = ”) {[/php]

Save and upload. DONE! Now the country list looks like this when the page is refreshed:

And if you change the country to (say) Iceland as a test, then refresh the create_account.php page, Iceland will show pre-selected….

It’s a really simple change that will enhance your site and your visitors shopping experience.

Making osCommerce Customers Page More Useful

My oldest osCommerce site has literally hundreds of customers – and using the customers.php page in the Admin section is getting to be a real chore.

Years back I contributed a “sorter” for the customers page which I coded up really quickly and without any thought to how it was coded – here – 6 years ago! It’s been updated since by a few users. I’m pretty sure that there are other similar contributions available too.

I want to do something new, so my idea for making the customers page easier has two steps;

1. Control the table by using javascript to allow the results to be sorted without refreshing the page

2. Use javascript to make the search box autocomplete on firstname/surname of the customer you are looking for…

I think that these two little changes would really benefit those of use who have loads of customers. I’m going to try to get this coded up nicely over the next couple of days.

Make the forms nicer in osCommerce

osCommerce and most other ecommerce scripts make a lot of use of forms. They can be found all over the place including most of the checkout procedure, product_info, login, create_account and so on.

And forms are damnable ugly. So, my idea was to hunt out some code that would replace the standard ugly form elements with something a little nicer.

I found a nice jQuery script called “jNice” – you can see an example at the authors homepage. The code allows us to go from this standard, grey, ugly form:

To this, which is a lot nicer:

Also, we can control the look of the actual dropdown via CSS, as so:

Which I am sure you will agree is a lot nicer that the usual dropdown.

As this is all controlled by javascript, we need to make sure that it degrades nicely for those few people who browse with JS turned off. As this is mainly a cosmetic exercise, it’s fine – lack of JS only causes problems when we are looking at functionality – cosmetics is somewhat simpler! So, it’s all good!