(2) запреты должны быть на конец месяца. Внутри месяца всем похрен, спокойно можете ставить расходный ордер раньше приходного, это ни на что не повлияет. Главное - остатки на конец месяца, чтобы правильно сработало закрытие месяца и расчет себестоимости.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший