Двойная запись

Принцип двойной записи строится на том, что на одни и те же деньги можно смотреть с двух сторон: по источникам (пассивы) и по направлению использования (активы). Любая операция меняет сразу два счёта, либо перераспределяя деньги между разными источниками (П-П) или разными направлениями (А-А), либо изменяя общую сумму денег, добавляя и к истоникам и к направлениям (А-П, П-А).

Существуют следующие варианты операции в нотации двойной записи:

1. Дебет активного счета, кредит пассивного. Эта операция увеличивает остатки по обоим счетам.

2. Дебет пассивного счета, кредит активного. Обратный эффект. Остатки по счетам уменьшаются.

3. Дебет активного (А1), кредит активного (А2). Остаток счета А1 увеличивается, А2 - уменьшается.

4. Дебет пассивного (П1), кредит пассивного (П2). Остаток счета П1 уменьшается, П2 - увеличивается.

Реализация в AbilityCash
Считать активные остатки положительными, а пассивные отрицательными. Операции проводить операциями перевода. Тогда приведенные выше четыре вида операции превратятся вот во что:

1. Перевод с пассивного счета на активный счет. Отрицательный остаток по пассивному счету увеличивается, равно как увеличивается и положительный остаток по активному. То есть, эффект совершенно аналогичен эффекту в нотации двойной записи: оба остатка увеличились (в абсолютном выражении, а знак минуса означает лишь, что этот остаток пассивный).

2. Перевод с активного счета на пассивный. Отрицательный остаток по пассивному счету уменьшается, равно как уменьшается и положительный остаток по активному. То есть, эффект совершенно аналогичен эффекту в нотации двойной записи: оба остатка уменьшились (в абсолютном выражении, а знак минуса означает лишь, что этот остаток пассивный).

3. Перевод со счета А2 на счет А1. Остаток по счету А2 будет уменьшен, по А1 - увеличен.

4. Перевод со счета П2 на счет П1. Поскольку остатки по пассивным счетам у нас отрицательные, то в абсолютном выражении остаток по счету П2 будет уменьшен, а по счету П1 увеличен. А знак минус лишь свидетельствует что счета пассивные.

Пример
План счетов

Актив (нормальный остаток >0):
 * из баланса
 * Деньги
 * Материалы
 * Дебиторка (долги мне)
 * из P/L
 * Затраты

Пассив (нормальный остаток <0):
 * из баланса
 * Кредиторка (мои долги)
 * Задолженности
 * из P/L
 * Выручка
 * Финансовый результат (пусть будет прибыль)

Примерные операции:
 * 1) выручка в виде денег -- перевод на Деньги с Выручки, сумма перевода >0
 * 2) выручка в виде материалов -- перевод на Материалы с Выручки, сумма перевода >0
 * 3) погашение долга мне -- перевод на Деньги с Дебиторки, сумма перевода >0
 * 4) погашение моего долга -- перевод на Кредиторку с Денег, сумма перевода >0
 * 5) образование финансового результата -- перевод на Выручку с Финансового результата, перевод на Финансовый результат с Затрат, сумма переводов >0