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