COOPENOMICS  v1
Кооперативная Экономика
Выдача ссуды

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

Назначение процесса

Система ссуд обеспечивает Вкладчикам компенсацию трудозатрат в процессе работы над проектом:

Математические основы расчёта ссуд

Базовая формула доступной себестоимости

Доступная себестоимость - это себестоимость труда, которую вкладчик может использовать для получения ссуды.

provisional_amount = (creator_base + author_base + coordinator_base) × (return_base_percent / 100)

где:

Ограничения на выдачу

Диаграмма процесса

sequenceDiagram participant P as Вкладчик participant C as Capital Contract participant S as Soviet Contract participant G as Gateway Contract participant L as Loan Contract P->>C: 1. createdebt(заявление на ссуду) Note over C: Проверка лимитов Note over C: debt_amount + amount ≤ provisional_amount Note over C: Увеличение debt_amount в сегменте вкладчика C->>S: 2. soviet::create_approval alt Предварительное одобрение председателем S->>C: 3. approvedebt() C->>S: 4. soviet::create_agenda alt Решение совета S->>C: 5. debtauthcnfr(решение совета) C->>G: 6. Gateway::create_outcome(платёж) alt Успешная оплата G->>C: 7. debtpaycnfrm() C->>L: 8. Создание записи о долге Note over C: Долг зафиксирован else Отказ оплаты G->>C: 7. debtpaydcln() Note over C: Уменьшение debt_amount end else Отклонение советом S->>C: 5. declinedebt() Note over C: Уменьшение debt_amount end else Отклонение председателем S->>C: 3. declinereg() Note over C: Уменьшение debt_amount end Note over P,L: Погашение при внесении результата P->>C: 9. pushrslt(с суммой долга)

Пошаговое описание

Шаг 1: Создание заявления на получение ссуды

Вкладчик подаёт заявление на получение беспроцентной ссуды через действие capital::createdebt.

Предусловие
Предварительные условия:
  • Проект находится в активном статусе
  • Вкладчик имеет активный сегмент в проекте
  • Общий долг Вкладчика плюс запрашиваемая сумма меньше или равна сумме доступной себестоимости
  • Сумма доступной себестоимости больше нуля (есть вклады, обеспеченные инвестициями)
Заметки
Доступная себестоимость (provisional_amount) представляет собой себестоимость вкладов Вкладчика, скорректированную на коэффициент возврата. Этот коэффициент показывает, какая часть базовых затрат обеспечена привлечёнными в проект инвестициями. Чем больше инвестиций привлечено, тем выше коэффициент и тем больше средств доступно для выдачи в виде ссуд. Коэффициент возврата себестоимости не превышает 100% от себестоимости затрат Вкладчиков. При превышении количества инвестиций суммы затрат, у инвесторов уменьшается коэффициент использования инвестиций, и они получат часть средств назад при закрытии проекта.

Входящие параметры:

Постусловие
Результат выполнения:
  • 📄 Создаётся заявление в таблице Capital::debts
  • Резервируется сумма долга в сегменте Вкладчика, что не позволяет повторно отправлять заявления

Шаг 2: Одобрение заявки председателем

Председатель или доверенное им лицо принимает предварительное решение через действие capital::approvedebt.

Предусловие
Предварительные условия:
  • 📄 Заявление создано и ожидает рассмотрения
Постусловие
Результат выполнения:
  • 📄 При одобрении заявление передаётся в совет для получения протокола решения
  • При отклонении заявка закрывается с указанием причин
Заметки
Председатель оценивает обоснованность запроса, проверяет финансовое состояние проекта и подтверждает корректность расчётов перед передачей в совет. Председатель может делегировать эти полномочия доверенному Администратору.

Шаг 3: Авторизация советом

Совет принимает решение о выдаче ссуды через действие capital::debtauthcnfr.

Предусловие
Предварительные условия:
  • 📄 Заявление одобрено председателем
Постусловие
Результат выполнения:
  • При положительном решении инициируется исходящий платёж через контракт Шлюза
  • При отклонении заявка закрывается
Заметки
Совет рассматривает целесообразность выдачи, оценивает риски для проекта и утверждает выдачу ссуды по заявлению вкладчика или отклоняет его.

Шаг 4: Подтверждение оплаты

Лицо, обладающее доступом к расчётному счёту кооператива совершает исходящий платеж и отмечает его выполненным. Контракт Шлюза подтверждает успешное перечисление средств Вкладчику через действие capital::debtpaycnfrm.

Предусловие
Предварительные условия:
  • 📄 Совет авторизовал выдачу ссуды
  • Gateway инициировал платёж
Постусловие
Результат выполнения:
  • 📄 Фиксируется факт получения средств Вкладчиком
  • Создаётся запись в контракте Ссуд
  • Увеличивается общий долг Вкладчика в системе
  • Вкладчик получает средства на свой банковский счёт
Заметки
Создание записи о долге в контракте loan фиксирует обязательство Вкладчика по возврату полученных средств, информация о котором доступна в том числе и в других контрактах.

Альтернативные пути: Отклонение и отказы

Отказ в оплате Gateway

При техническом сбое или неверных реквизитах администратор платежей через контракт Шлюза отклоняет платёж действием capital::debtpaydcln.

Постусловие
Результат выполнения:
  • Заявка удаляется из системы
  • Размер долга в сегменте уменьшается
  • Вкладчик может подать заявку повторно

Отклонение заявки

Отклонение может произойти на любом этапе рассмотрения через действие capital::declinedebt.

Постусловие
Результат выполнения:
  • Указывается причина отказа
  • Освобождается зарезервированная сумма долга в сегмента

Шаг 5: Погашение ссуды

Ссуды погашаются автоматически при внесении результата через действие capital::pushrslt.

Предусловие
Предварительные условия:
  • Вкладчик вносит результат через pushrslt
  • Указывается сумма долга для погашения
Постусловие
Результат выполнения:
  • Сумма долга вычитается из стоимости результата после его внесения
  • Производится зачёт через контракт Контракт LOAN
  • Списывается долг в контракте Контракт LOAN
  • Уменьшаются обязательства Вкладчика
Заметки
Автоматическое погашение обеспечивает защиту от рисков невозврата средств.

Примеры расчёта доступных ссуд

Пример 1: Создатель с коммитами

Пример 2: Автор проекта

Пример 3: Координатор

Заметки
В примерах показано, как размер доступной ссуды зависит от фактических вкладов Вкладчика и коэффициента обеспеченности инвестициями. Чем больше Вкладчик вложил и чем больше инвестиций привлечено в проект, тем больше средств доступно для получения в виде ссуды.

Влияние на конвертацию сегмента

Полученные ссуды влияют на доступные для конвертации суммы. Доступная часть себестоимости после погашения долга рассчитывается как общая стоимость сегмента результата минус размер долга.

Заметки
Чем больше ссуда, тем меньше средств остаётся для конвертации в главный кошелёкёк, кошелёк проект или кошелёк программы. Премиальная часть не затрагивается и полностью доступна для конвертации в программу капитализации или для конвертации в кошелёк проекта.

Эффекты процесса

➕🏛️ Ledger::add на счёт Ledger::accounts::LONG_TERM_LOANS на сумму выданной ссуды
🫴 Loan::create_debt на сумму выданной ссуды

Документы процесса

Связанные процессы