Extended functionalities with the OXID Geo-Blocking module

The basic meaning of the Geo-Blocking Regulation

Explaining the so called “Geo-Blocking Regulation” (EU 2018/302, valid from December 3rd last year on) with simple words in an example:

Let’s assume, as a German resident, I want to purchase a pair of sport shoes online. I found the shoes in a Germany based online store for 120,- €, but continue searching. To my surprise I find exactly the same pair of shoes in a Poland based store for two thirds of this price. The hunting instinct has been satisfied and happily I continue to the checkout and enter my data. Insert dramatic music

This is where the regulation kicks in, previously it was possible to completely block access to users outside of a country, or more commonly used, to deny registration of users outside of the shops target country. Now concerning to the above named regulation, the Poland based store has to care that I am enabled to register and can order the product item of my choosing from his service. However, he doesn’t have to deliver to Germany, and instead proposes me to choose an alternative delivery address where I could pick up my order or self-organize the delivery to my home address.

A brilliant idea, isn’t it: me, as a potential customer (with exactly no idea of this regulation) would be “astonished” (if not to say “completely upset”, because I already spent time to unnecessarily leave my data) and of course would leave this online store immediately: pen-pushers vs. online shop usability…

Anyway, all of us have to follow this regulation as it was already turned into law as off December 3rd 2018 for every EU member state. If you don’t follow as an online merchant, expect severe punishment.

Thankfully, with the OXID eShop onboard options it is easily possible to follow the regulations like described in this blog post.

OXID Geo-Blocking module

However, Norisk Group recently open sourced an interesting module that makes it possible to very comfortably fine tune the options for Geo-Blocking regulations. This module was originally written for OXID eShop versions lower 6 and ported to OXID eShop 6 by OXID eSales.

Functionality in a quick overview

  • Implementation of the Geo-Blocking Regulation with regard to the Europe-wide use of online shop offerings
  • Define in which countries not to deliver
  • Pick-up addresses can be set up for countries inside the delivery area
  • Customers, who order from European countries, where you don’t deliver to, are requested to enter a “valid” delivery address
  • Orders from customers are only possible if a valid delivery address has been specified or a pick-up address has been entered


The installation of this module is as simple as any module installation in OXID eShop 6. Just move to the doc root of your shop and fire off this line from your terminal:

composer require OXID-esales/geo-blocking-module --update-no-dev

Further information and source code

You may find the user documentation for this module in German language here: Moduldokumentation — Geoblocking 1.0 Dokumentation. There’s a good chance that it will be available in English as well in a bit. If you have any questions, please feel free to bother us at the forums.

Naturally, as the module is licensed under GPLv3, you will find it on GitHub: GitHub - OXID-eSales/geo-blocking-module: The module enables OXID eShop to be compliant with the EU geo-blocking regulations. Please feel free to fork it and to send pull requests if you think something has to be changed.