МанитонДокументация
Контракты

Ledger: модель учета

Счет, субсчет, проводка и удержание не взаимозаменяемы.

Feature: Не смешивать учет и деньги банка
  Scenario: Не смешивать учет и деньги банка
    Given операция записана в ledger
    When участник читает историю
    Then видны ее тип и состояние
    And запись не объявляется подтвержденным банковским расчетом

Данные

ledger_accounts связывает счет с userId и типом; уникальность userId/type предотвращает вторую запись того же типа. ledger_subaccounts связывает счет с инструментом и кодом актива; баланс хранится numeric(36,18), не floating point. Операции, проводки и удержания представлены отдельными таблицами ledger_operations, ledger_postings и ledger_holds. Outbox использует общий механизм nestjs-common.

Граница точности

Формат хранения не задает число знаков каждого актива. Пересчет в минимальные единицы должен учитывать принятую точность инструмента. Состояние удержания нельзя показывать как свободный остаток. Сверка с CFA-проекцией и цепочкой требует отдельного результата. Источник: apps/services/ledger/src/infrastructure/db/schema.ts; packages/contracts/proto/maniton/ledger/v1/ledger.proto. Целостность.

Сценарии задают ожидаемое поведение. Наличие страницы не подтверждает реализацию, банковское исполнение или согласование Правил.

На этой странице