Database Structure and Design
Sounds like a great opportunity to use a webservice to me.

on your customers end, whenever an order is entered, either:


have the site update the customers local database and post a webservice call to your backend with the order details.
have the order inserted only in the customer local database with a sync flag set to unsynced. have a background process poll for such unsynced orders and post them to your web service.


on your end, do the same in reverse;


whenever an order is prepared, post to the originating customers' webservice with the new details so that their data can be updated.


now you need not worry about the database or potentially even the dbms used.