Question

We currently have an inventory management system that was built in-house. It works great, and we are constantly innovating it.

This past Fall, we began selling products directly on one of our websites via a Shopping Cart checkout.

Our inventory management system runs off a server in the office, while the three websites we currently have (only one actually sells things) runs off an outside source, obviously.

See my problem here? Basically, I am trying to think of ways I can create a central inventory control system that allows both the internal software and external websites to communicate so that inventory is always up to date and we are not selling something we don't have.

Our internal inventory tracking works great and flows well, but I have no idea on how I would implement a solid tracking system that can communicate between the two.

The software is all written in Python, but it does not matter as I am mostly looking for ideas and methods on how would this be implemented.

Thanks in advance for any answers, and I hope that made sense .. I can elaborate.

Was it helpful?

Solution

One possibility would be to expose a web service interface on your inventory management system that allows the transactions used by the web shopfront to be accessed remotely. With a reasonably secure VPN link or ssh tunnel type arrangement, the web shopfront could get stock levels, place orders or execute searches against the inventory system.

Notes:

  1. You would still have to add a reasonable security layer to the inventory service in case the web shopfront was compromised.

  2. You would have to make sure your inventory management application and server was big enough to handle the load, or could be reasonably easily scaled so it could do so.

Your SLA for the inventory application would need to be good enough to support the web shopfront. This probably means some sort of hot failover arrangement.

OTHER TIPS

I know you wanted to find a solution that works with your existing code, but have you considered a third party multi channel manager system? As your business grows and the scale of your orders increase, it may become easier to use a multi channel manager system such as Mailware. As an inventory control software, it handles a large number of orders for multiple locations and manages your inventory levels at the multiple locations. This software also integrates with shopping cart software to give your customers accurate levels of inventory to prevent back orders. Best of luck to you.

I don't see the problem... You have an application running on one server that manages your database locally. There's no reason a remote server can't also talk to that database.

Of course, if you don't have a database and are instead using a homegrown app to act as some sort of faux-database, I recommend that you refactor to use something sort of actual DB sooner rather than later.

I'm not sure if there is any one really good solution for your problem. I think the way you are doing it now works fine, but if you don't agree then I don't know what to tell you.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top