Проектируем базу данных для crm, как лучше формировать заказы?
Мы для себя решили такими таблицами:
Склады
Пользователи
Продукция
Заказы
Состав заказа (здесь запись 1 строка = 1 товар или промо-код в заказе).
Таким образом в заказе у пользователя хранится цена, скидка и инфо по товару, актуальная на момент заказа.
Если нужен поиск по продукции среди заказов,  линкующую таблицу с доп.данными типа цены и кол-ва, если нет,  то json или xml.