In this article you will learn which steps to take to get your country specific e-Commerce store up and running in Drupal - in just 30 to 60 minutes of your time (even faster if you've done this before).
You will be learning how to get you e-commerce store started from scratch in the easiest way possible. At the end of this tutorial you'll have a functioning Drupal based webshop to sell products with. It will roughly have the following features:
-
Localized Language Settings
-
Localized Currency settings
-
Localized TAX settings
-
Payment settings applicable to the target Country or region
-
Product Search Filters, Mobile friendly pages, Discount codes and much much more.
You will be applying Commerce Kickstart v2.0 in this guide. It shows you how to set it up so it meets the needs of customers in a specific target country or region. Take the Commerce Kickstart Tour if you like too see what's "in store" for you in terms of Commerce Kickstart. The rest you can read below.
Most people don't know Drupal currently is revolutionizing in terms of eCommerce. If you'd ask me it is truly becoming the most flexible open eCommerce system ever built. Think of it as having an eCommerce system that is the perfect stand alone solution AND seamlessly integrates with the rest of the website's functionality. Drupal powered all the way.
Most of the practices applied in this article are applicable to all non-US countries.
In this example our focus will be on selling products to customers in the Netherlands - Dutch language settings and Euros. Read through the steps and you'll probably know what to do for your non-Dutch speaking target market too.
Install Commerce Kickstart v2.0
Download and install the latest stable version of Commerce Kickstart v2.0 to an empty server environment (clean database) with the settings below.
While you're at it you may want to put the Backup and Migrate Module in there too - the ability to go back to the 'fresh install state' of your Drupal site is priceless when experimenting with site configurations and settings.
When installing Commerce Kickstart make sure to apply these settings:
-
Default Store Country -> Netherlands
-
Do you want to install the demo store? -> No (or Yes if you're just testing)
-
Install additional functionality -> check all (or just those that apply to your usecase)
-
Localization -> Yes
-
Currency -> EUR - Euro
-
Tax Rate -> European (VAT)
A more detailed steps of the general Commerce Kickstart installation process can be found at http://www.drupalcommerce.org/commerce-kickstart-2/install.
E is for Euro
Make sure you're currency displays like people expect it to. In most of the cases this displays just fine. We had a bit of dumb Dutch luck. By default Drupal Commerce places the Euro sign (€) after the Euro amount. Dutch people find this very strange. We say a thing costs XX Euro, and display it like that, but place the Euro sign in front of the amount when using the Euro sign instead of 'Euro'. It can be 'fixed' in several ways:
-
Enable Commerce Currency Settings module and configure the currency display settings from its configuration page.
-
A second solution is currently being baked into http://drupal.org/project/currency_commerce as we speak.
-
A third solution would be to get Dutch people used to placing the Euro sign right after the Euro amount - please don't try :)
Set & import the right Language
For the non-English cases you'll want to add other languages to the site.
Add & Enable Dutch language
-
go to example.com/admin/config/regional/language
-
add Dutch language
-
set Dutch as Default
-
go to example.com/admin/config/regional/language/configure
-
for most usecases: disable url, enable user (and set administrator as English if you prefer)
Automatically download translations
-
Download and enable the Localization update module.
-
go to example.com/admin/config/regional/translate/update, you'll see a list like this
-
now and hit the 'upgrade translations' button at the bottom of the page
-
you can set the auto update settings at example.com/admin/config/regional/language/update
Easily edit site translations (and automatically send translations to Drupal)
-
Some translations will not be translated yet
-
Download and enable the Localization Client module.
-
You'll be able to edit non-English strings on the spot with the help of the on-page translation pane
-
(the administering user needs to have a non-English language set as Language setting)
-
Share your translations by setting up translation sharing at example.com/admin/config/regional/language/share
Set your Tax settings
Go to example.com/admin/commerce/config/taxes and make sure your Tax settings are set to the right amount.
And make sure you have a Tax rate set for every product in your store. To do that you go to example.com/admin/commerce/products and edit a Product Display. Then edit the product(s) inside that product display to display and edit the product:
Choose the right Payment Solution
Serving a targeted audience means having the right payment solutions in place. Make sure it serves your current needs perfectly AND keep one eye open for your future needs. Make sure the payment module is well maintained as it is a very important part of your eCommerce workflow (duh) - having a party that solves payment solution hickups is priceless. And I can't say this enough: test all possible usecases your customers can get themselves into.
You can search for Payment modules on the Drupal.org modules page, the Drupal Commerce Extensions page or with your favorite search engine.
In our case our 'current' need was to have the ability for our customers to pay with iDeal - a 'universal' Dutch payment solution used by all Dutch banks for their customers to be able to pay online.
We also needed to make absolutely sure the 'finer details' of the payment solution where prefectly implemented. In our case we needed to make sure our customers' order went 'through' even if the customer 'mistakenly' closed the payment screen on the bank's website right after payment. For a customer to not be receiving confirmation emails when they accidentally don't behave 'the way they supposed to do' is just not an option for us. Our motto is that we serve the customer, if they make 'mistakes' we are there to pick up the 'slack'.
A 'future need' of ours was to have the ability to pay with 'acceptgiro' - a Dutch payment option that lets customers pay manually after ordering. In our case the Payment service that met all those needs is Rabo OmniKassa.
Rabo Omnikassa is pretty new, so a while ago there was no Drupal Commerce Omnikassa Module available that implemented both Rabo Omnikassa in our Drupal Commerce store and implemented the needs of our 'payment workflow' very well. Fortunately we found a party that understands and meets these needs perfectly: My Name is Bart Payment Processing. MyNameisBart understands Dutch Payment processing in the Drupal context like no other. If you're building a Dutch Drupal eCommerce store and need the perfect 'solid/no-headache/time-saving' payment solution - make sure to contact him.
The rest of the work
Although you'll have a working Drupal eCommerce store by now, these where only the basics to get you started. You'll probably want to look into these items as well:
-
Shipping options
-
Email communications to your customer
-
Email Newsletter subscription options (I will be covering a post on a MailChimp based version in the next few weeks)
-
Rich Data snippets for SEO & Social Meta Data Optimization
-
How to handle Returns
-
What things apply to your usecase? -> add them below in the comment section