Для начала поинтересуйтесь правилами в вашей фирме, теорией складского учета и т д.
Мы вот как-то писали систему складского учета и был интересный нюанс.
Пример:
В марте на склад поступило 10 мешков. Занесли их в базу. В апреле выяснилось, что в марте поступило не 10, а 15 мешков, занесли еще 5 мешков, дату поступления поставили март. Но т к отчетный период за март закрыт, то должно выводиться, что в марте поступило 10 мешков. Причем поступившими за апрель они тоже не числятся, т к поступили в марте, но при этом учитываются в общем текущем кол-ве на складе. И таких приколов было несколько.
Бухгалтерия и складской учет частенько содержат нюансы, которые вызывают у программистов разрыв шаблона.
Ну или проблема в людях, которые так ставят задачу.
Спросите у бухгалтера, кладовщика или кто там этой системой будет пользоваться, и уже на основе этого проектируйте базу.