Приходы и расходы считаем накладными. Накладная состоит из 2 таблиц как минимум: таблица заголовков (номер, дата, дата оприходования и проч) и таблица тушек (товар, кол-во, цена и прочее по вкусу).
Отдельные таблицы на приходы, отдельные на расходы.
Плюс одна таблица (Relation)на списание товаров из приходов.
Далее при необходимости набрать товар на расход (продажа, перемещение, списание и прочее) смотрим наши приходы, за вычетом записей из Relation.
Сам алгоритм можно и в сети найти, находил как-то... Но могу свой скинуть, если вдруг решитесь разобраться в чужом коде (MS SQL).
Вот тут примерный образец того как у нас это выглядит. Часть таблиц как Товары, Подразделения я не указал.