I want to have multiple stores using EE to manage their sites and their inventory. The inventory details are quite complex in terms the data model (probably more complex than what Channels can support). Additionally, I want the inventory data stored in a separate database (separate from where EE stores everything); all the stores will be saving their inventory data in this database.

I'd like to take advantage of EE to act as a CMS, but I'm not sure if there is something I can build on top of EE to do what I need. I'm new to EE and have not fully looked into building add ons. Will I be able to do what I want?

  • Unfortunately, I don't think this question is one we can properly answer as currently posed. Can you edit your post so that it contains precise questions? In any case, you will absolutely need to use one of the EE eCommerce modules to accomplish any store related functionality.
    – Anna_MediaGirl
    Dec 8, 2012 at 15:58
  • The question is intentionally vague as I'm just interested in knowing if add ons would be ideal solution for what I am planning to do. I don't understand the full extent and capabilities of add ons, so I thought I'd ask first. I don't think I need an eCommerce module as the sites won't be selling anything; rather, they will only be displaying their inventory on their websites. Dec 8, 2012 at 20:28
  • 1
    Unfortunately, vague isn't a good fit for our Q&A format. Take a look at our FAQ for details: expressionengine.stackexchange.com/faq#dontask.
    – Anna_MediaGirl
    Dec 8, 2012 at 21:24

2 Answers 2


Actually, I suspect you want to look at e-commerce add-ons to accomplish what you say. There are an amount of these, which you can find via Google or devot-ee.com.

They're the (only) ones which are going to be organized around inventories in the sense you say you want. And all the other features of 'stores'.

This is a complex need, and you want it done right, since if selling is not done on the website, you still want what the seller wants: detail and accuracy.

What you'd do from this basis is simply not show the elements which have to do with purchase. If you can't do it by any other configuration, you could do that via css. But find a way with configuration or template modification, I think, even though the elements wouldn't function without setup.

If you go this way, then when the shop says, 'but we want to sell online after all', you're also ready.

p.s. I actually feel this is a reasonable question as posed - moderators and down-voters may want to think about it, especially as it's a kind of unusual thing to want to do, but not probably one only one developer or customer desires. And it does likely take 'code' to arrange it.

  • What about the requirement of storing the inventory data in a completely separate database? I'm going to assume that the eCommerce module will use the same database as EE. Is it possible to create some sort of add on that uses a completely different DB? Also: the inventory data won't be Channel data, right? So where would the "publish" and "edit" features normally go? I'm new to EE. Dec 9, 2012 at 2:45
  • Well, good questions. I didn't notice that you had up front in your post the external database requirement. There have been others who have this - in fact it's a common problem for business IT requirements. EE is not structured to directly handle such matters, though it has been done, and yes, very likely via plugins which add substantial functionality. Solutions I have seen range from some kind of manual or semi-automated overnight update to (very expensive) distributed databases that more or less keep up in real time. ...to be continued... Dec 9, 2012 at 5:21
  • ... I suspect people are using something like Navicat to ease the first approach. If you are able to directly query the external database, then you can see inventory in real time straightforwardly. I found a plug-in which looks to facilitate this: devot-ee.com/add-ons/external-entries. There are probably others. Here is a Cartthrob EE ecommerce add-on forum discussion somewhere along your lines: cartthrob.com/forums/viewthread/279, and here is a page from the interfacing software company mentioned, which offers more accounting systems: internetware.co.uk. ..more.. Dec 9, 2012 at 5:28
  • Ok. In overview, you have a classic IT backoffice problem. EE is a fine front-end platform, and you can do the front-end on it. E-commerce-style may be helped by an e-commerce add-on without using the sales part. People who make e-comm add-ons try to connect you to the rest of a multi-database solution, and/or will consult for a fee to get you one. I've given you a primary add-on for connecting to the external database to query inventory, and holding a key for items in an EE field may get you where you want to be without even an e-commerce helper. ...more again.... Dec 9, 2012 at 5:32
  • That (getting there in EE w/ or w/o ecommerce framework) depends on local skills, and on whether you can get all of the catalog appearance just using EE - probably you can. See Matrix add-on, and possibly Playa, from pixelandtonic.com and/or devot-ee.com. Hoping this helps -- also that it makes the point that add-on/where's the functionality properly created questions most certainly feel appropriate for ExpressionEngine on StackExchange. It's a hybrid, extensible system, with programming in templates, in build-your-own extensions, and here-and-there for glue -- such as that you ask about. Dec 9, 2012 at 5:37

I've built something similar for a motorcycle shop that retrieves all it's catalogue prices from a range of suppliers. I used Cartthrob to build the store on top of EE, but you might also want to try Exp:resso, that has a less steeper learning curve. Concerning inventory: with Cartthrob you can split inventory in a separate table per entry, like different sizes, so there's a range of options there. One thing I discovered is that it does not support backorder functionality, so I was unable to change delivery time on that basis. I haven't looked at Exp:resso about this.

The article options, like sizes, work best with Pixel & Tonic Matrix. Cartthrob has it's own system, but Matrix can more easily be synchronised through csv or xml, using another add-on called Datagrab (with Solspace importer as an alternative, but not for csv to matrix) . So that's what we ended up using.

Not sure if you want to serve the different stores from the same EE install, you would need the Multiple Site Manager to do this.

  • There is no plan to sell the inventory online. Rather, the goal is just to make sure the inventory is in the system, displayed in the front end, can be searched, etc. A motorcycle shop is a good example why I think a generic eCommerce module won't work. For example, a motorcycle has a "color", right? That color may generically be called "black", but no manufacturer will call it that. Instead of just calling it black, they'll call it "Midnight Darkness" or some fancy name like that. Thus, a motorcycle's color contains 2 fields: generic color (which is a lookup) and manufacturer's color. Dec 8, 2012 at 20:35

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