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