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