Хочу спроектировать небольшой учет. Есть проекты, работники, банковские счета. Прочитал что хорошей практикой является двойная бухгалтерская запись для такого. Но у меня возникла проблема в понимании. Сделал вот такую упрощенную схему
invoices - счета выставленные по проекту
projects - проекты
accounts - счета в банке
employes - работники, и их ЗП
transactions - транзакции
ledger - Регистры (синтетические счета если правильно названо)
Хочется видеть постоянно, что сейчас есть на счетах в банке, и баланс по проектам.
Схематическое описание транзакций
Начисление ЗП
Снимаем деньги с регистра счета в банке (accounts.ledger_id)
Начисляем в регистр сотрудника (employes.ledger_id)
Начисление оплаты по проекту (Выписывание счета)
Снимаем деньги с регистра проекта (Баланс проекта уходит в минус) (projects.ledger_id)
?? Но куда их переводим
Начисление оплаты
Начисляем сумму на регистр банковского счета (accounts.ledger_id)
??? Но непонятно откуда снять.
Начисляем сумму на регистр проекта (projects.ledger_id)
?? Не понятно откуда снять
Хотел делать полу-проводками, без так званой двойной записи. Но при начислении оплаты все-равно получается косяк, т.к. мы одни и те же деньги начисляем на 2 регистра. Как сделать правильно что б всегда можно было видеть баланс на счетах и задолженности по проектах? Хочется сделать правильно, что бы потом можно было наращивать функционал.