In a previous post (Charity Site Design Considerations) I described a few patterns I had seen for charity or not-for-profit sites. My favorite sites listed specific items that supporters could choose to fund. I was curious to see how Magento could be used to support such sites, so this is the first of a few posts sharing my experiences in setting up a pretend charity site. For the sake of example I am using a pretend school in Africa. On the site I want different things supporters can choose to fund, such as
- Pens and notebooks for students
- Reference text books for the teacher
- Books for the school library
- Repairs for the school building roof
Magento is designed primarily for selling goods, so its terminology is geared around retail. On a Magento site the above items are implemented as “products”.
Once I got a local copy of Magento up and going (in this post I used Magento 1.7) I went to the Administration interface to create my first product to list. This was under Catalog / Manage Products. The list was empty so I clicked the Add Product button in the top right corner. The first thing I was prompted for was Attribute Set and Product Type.
Attribute sets in Magento can be used to group a set of product attributes. For TVs, a useful attribute set might contain screen type (LCD etc), screen size, whether HDMI enabled, number of input connectors, and so on. Then every TV you list on your site you can associate with the TV attribute set to ensure that all TVs have consistent attribute data. This can be useful for customers when comparing TVs. In my case I could not think of any common attributes across the different products, so I did not set up an attributes set and just chose Default.
Product Type was then my next decision. Doing some quick Google searches on “Magento product types” I quickly found a description of the different product types. For my charity site Virtual Products are ideal. These can be used for services or other products where the consumer is not sent a physical product and are not given a download link for a digital product. That matches my goal perfectly. When someone “buys” from my site, I want to take their money and make sure it gets directed towards the specified cause, but I would not ship anything back to the person making the contribution. (I may look at sending receipts later – for now I will assume the online receipt Magento generates is enough.)
After selecting a Virtual Product as product type, clicking through to the next page brings up a set of pages for collecting information about the product: General, Prices, Meta Information, Images, Recurring Profile, Design, Gift Options, Inventory, Categories, Related Products, Up-sells, Cross-sells, and Custom Options. Each page has a number of fields. My goodness! A bit daunting on first glance! Here are the pages and fields that are most important:
- General
- Name is a few words to identify the product.
- Description is the full description you want to include. You should try to motivate the benefits this item will deliver if funded.
- Short Description is used in places where a shorter description will suffice. Magento is highly configurable, so there is not a simple global rule for when the full or short descriptions are used. But suffice it to say the name should be short (a few words), short description should be a bit longer, and (full) description you can go wild and put as much detail as you like.
- SKU (for Stock Keeping Unit) is a short identifier that you use to uniquely identifies the product. This post has some tips for picking SKUs. A possible scheme for my site would be a prefix of ‘S’ for student, T’ for teacher, and ‘B’ for school building support, followed by a number (1, 2, 3 etc) to uniquely identify the different products. You could use a more structured multi-part number where each character position had a specific meaning. This is one area where planning helps – have a list of products you plan to list before you start and work out how you want to allocate SKUs to those products.
- Status should be set to Enabled for the product to be live on your site.
- Prices
- Price should be set to how much you are asking from supporters to fund the item. In my store I plan to have products at different price points so people can make small or large contributions by selecting different products. (I may also look into a generic ‘Donate any amount’ button, but that is not my focus here.)
- Tax Class is also mandatory. I am not a tax expert, but this is something you clearly need to work out before you take a site live. I set it to None in my pretend store.
- Images
- Each product can have multiple images uploaded (Magento supports base, small, and thumbnail). A site can be more performant if you load up pre-scaled images. For a first experiment I just loaded up a single image. After uploading, make sure you check the checkmarks to use that image for base, small, and thumbnail or else you may not see the image on your site.
- Inventory
- Qty (quantity) is important to fill in. If pens and workbooks for students, then I would set this to the number of students. That way you don’t get 50 people paying for 20 students. While getting the money is good, I prefer being up front about when you have enough money in an area. It can also be good to show what has ‘sold’ already so people know that other people are supporting your cause as well. If you run out of low priced items on your site, add another product! If no-one is buying your expensive items, consider splitting a big item into “shares” so people can contribute say 10% of a large item.
- Stock Availability must be set to In Stock for the item to appear on the site. Just because you have a quantity set, that does not automatically make it marked as “in stock”.
- Categories
- It is worth grouping the products on your site into categories. The category tree needs to be defined before you start adding your products in. You could use categories such as student, teacher, and building. The SKUs you allocate could use the category as a prefix for example. Categories in Magento can be organized into a tree, so you could have subcategories under the root categories. Categories provide a way people to navigate through your site. If you only have a small number of products (which would be normal for most charity sites) then you only need a small number of categories (maybe just one!). Categories are more useful for sites with very large numbers of products listed.
There are many other fields you can set, but you can ignore them initially. For example, the related products, up-sell, cross sell pages could be useful. If a product was a student’s school uniform pants, you could list school shirts and shoes as being related. If you listed pens and workbooks separately, you could suggest a checkout for someone buying a workbook to pay for pens as well (cross-selling). If you had two qualities of pencils (a packet of 12 and a packet of 24) you could define an up-sell relationship between the products so the customer is told about the better product – they may not have seen that as being an option before. This is one of the benefits of using Magento – it comes standard with such additional selling capabilities.
Hopefully the above gave you a bit of a taste to what is required to get items up you would like to raise funds for. It does pay to plan ahead. In summary you need to think about
- What items do you want to list immediately and what might you add later?
- What categories do you want for grouping items? This will probably be a small number. Categories help users navigate items on your site.
- How to allocate SKU numbers to those items – do you want structured SKU numbers? What would make it easiest for you to make sure funds go to the right cause?
- You will need to get good descriptions and images for the items you want to list.
- You need to think about how much you are going to ask for different items. For large items, do you want to list as a single item or allow people to pay for a “share” of the item?
If nothing else, it should be clear that Magento offers a lot of power for building such a site. It will also become clear as you start playing with Magento that getting a site up and going will take a bit of effort due to the flexibility and number of options it provides. That is one of my goals for this sub-series – to work out the minimal configuration required to get a Magento-based charity site up, one bite at a time.