Задать вопрос

Как правильно спроективароть базу для бухгалтерии (двойная запись)?

В небольшом проекте у каждого пользователя должен быть свой баланс при работе с приложением. С точки зрения бухгалтерии, конечно, правильно сделать все через двойную запись, дебеты и кредеты, но перенести бухглатерскую мысль на структуру базы не получается.

Для упрощения структура выглядит примерно так:

Таблица Счета

В данном случае счета - это не бухгалтерские счета, а какая-то запись в которой хранится id клиента, его агрегатный баланс, валюта и т.д.

Таблица транзакции

В данном случае мы только записываем транзакции - зачисление денег, покупка, вывод

Таблица Журнал (или операции)

Здесь мы записываем с какого счета на какой счет переводятся деньги и какая это операция - дебет или кредит, вот тут будет двойная запись.

Так вот не совсем понимаю, верно ли проектируется база, ведь с точки зрения бухгалтера, у счета клиента есть много субсчетов и между ними происходит перевод денег (дебет\кредит). ? А во многих системах счет - это 1 запись. Например у системы есть внутренние счета :
1 - Ввод денег через банк
2 - Ввод денег по карточке и т.д

Тогда зачисление денег через банк клиенту №5 будет как запись "со счета №1 на счет №5 100, Со счета №5 на счет №1 -100 (долг)

Стоит ли в таблице записывать дебет и кредит или достаточно в поле amount записать - поступление 100 а списание -100 (с минусом) ?

Может быть есть где-то интересные open source проекты где такая база сделана праивльно?
  • Вопрос задан
  • 660 просмотров
Подписаться 3 Оценить 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы