Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email

Magento Forum

Import from OXID eSales
Jr. Member
Total Posts:  4
Joined:  2008-01-18


There’s an old shop system based on the commercial OXID eSales system. Since there are many entries inside this shop I’d like to ask if there is an import script someone know about to convert the database from OXID to Magento.

Thanks for every help

Magento Community Magento Community
Magento Community
Magento Community
Jr. Member
Total Posts:  29
Joined:  2008-09-19


I know this is an old topic, but this might help others that search for a solution to this.

Our company is also currently switching from Oxid to Magento, and I’ve found that the WEB-API is quite powerful and easy to use. It’s documented here:

For the Moment, I have written a script that takes the Oxid MySQL database and imports the products (including pictures) into magento. It basically uses the following code.



$skipuntil ''// use this to skip everything until a certain OXARTNUM / SKU appears.
$prefix 'uhu-images-temp'// specify where the 1,2,3,.. folders from OXID shop reside.

header('Content-Type: text/plain;charset=utf-8');
// see

$proxy = new SoapClient('http://...api/soap/?wsdl');
$sessionId $proxy->login('...',

// get list of SKUs from Magento
$products = ($proxy->call($sessionId,
$SKUs = array();
foreach (
$products as $product)
$SKUs[] $product['sku'];


$query "SELECT 

$result mysql_query($query);

while (
$r mysql_fetch_assoc($result)) {
foreach ($r as &$v// & = by reference
$v utf8_encode($v);
$sku     array_shift($r);
$title   array_shift($r);
$shortd  array_shift($r);
$longd   array_shift($r);
$titlef  array_shift($r);
$shortdf array_shift($r);
$longdf  array_shift($r);
$url     array_shift($r);
$price   array_shift($r); // now, only OXPIC1 to OXPIC12 remain in $r
print "\n\nLooking at $sku ($title$shortd)";
$prodD = array(
'name'              => $title,
'websites'          => array(0,1),
'short_description' => $shortd,
'description'       => $longd,
'price'             => $price,
'ext_url'            => $url,
'status'             => 1,
'visibility'         => 4,
'tax_class_id'        => 2
$prodF = array();
    if (
$title != $titlef)
    if (
$shortd != $shortdf)
    if (
$longd != $longdf)

    if (!
in_array($sku,$SKUs))// product not yet in magento
$proxy->call($sessionId'product.create', array('simple'$sku$prodD));
"\n   Inserted into main store";
if (count($prodF)>0){
->call($sessionId'product.update', array($sku$prodF'uhu_fr'));
"\n   Inserted into French";
if (!in_array($sku,$SKUs)){
print "\n   Adding Pictures:";
$r as $name => $file){
substr($name,5); // extract image number, e.g. 3 from OXPIC3.
if ($file=='nopic.jpg')
// continue if it's no picture
$uri $prefix.'/'.$name.'/'.$file;
            if (!
// continue if pic doesn't exist
$newImage = array(
'file' => array(
'content' => base64_encode(file_get_contents($uri)),
'mime'    => 'image/jpeg'
'label' => '',
'position' => $name,
'types' => (($name==1)?(array('small_image','image','thumbnail')):array()),
'exclude' => 0
$imageFilename $proxy->call($sessionId,'product_media.create',array($sku,$newImage));
" ".$imageFilename);
print("\n   Time used so far: ".(microtime($get_as_float=TRUE)-$start));

The above code es even more complicated because it also imports french product titles and descriptions that where custom-added to our oxid installation. Anyways, I think it’s a good starting point for writing your own Oxid-To-Magento Script grin

Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top