I have a situation where I need to import and export a lot of information between a "central system" and Magento. Basically Magento would be a "shell" of the central system which pretty much contains all the information and creates products etc. There will be multiple "real" stores talking to the central system, which also talks to Magento.

Some of my questions and concerns. Would appreciate all answers, even those who just points me in the right direction here.


Is it possible to automatically import (and export at certain "hooks") information and match those to for example product creation. For example talking with a standardized API, spitting out XML files of products from the central system.

The extension/way of doing it would have to be able to check for new products or statuses of products (if in stock & how many are available) every 5th minute or so. Many even more.

It would look at the XML and create new products based on that. That would include ALL information needed for the product, with maybe an exception for images. So basically name, descritpion, sku, status, price, special price, special price dates, categories, related products etc.

The other half of the problem would be "exporting" the statuses from Magento back to the other system. For example if someone buys a product in the Webshop It would need to notify it back to the "central" system.

Is it possible to export all orders and all order information to the central system where it would be "taken care" of instead of using Magento for that. This would need to happen as soon as someones buys something.

2 Answers 2


in magento you could find two extensions: magmi. ho-nl.

additionally magento has its own api system.

for "automatically", you can run a Cron in your linux server.

hope could shed some light.



All of this is possible to do by building a custom module.

Here is the guidance I would offer in order to build this (in no particular order):

1) Create model methods in your module to push/pull from whatever system

2)In your setup script, create columns that will act as flags in sales_order and sales_order_grid to keep track of the status of the push/pulls

3) Use the above flags to filter the collection you are creating to push/pull

4) In your config.xml set the crontab to run each method when you need them to. I personally wouldn't process things "as they happen", but rather, design the module to push/pull data in batches based off of the collections you will be creating in your model methods. That way the data is definitely stored in your system, and in case of data not being sent due to unforseen issues, the data is at least stored and can be reprocessed again (depending if the flag you had created was set or not).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.