---
title: "Комісії та розрахунки"
description: "Ledger settlements, реферальна комісія, batch payout і режим simulated/onchain"
locale: "uk"
---
# Комісії та розрахунки

`settlement.ts` рахує комісію платформи, реферальну частину (якщо є `referralCode`) та custom splits з `merchant_configs`.

> **EN canonical:** повні таблиці та env — [Commissions & Settlements (EN)](/docs/features/erp/commissions.md)

## Єдиний ledger

Оплачені замовлення (WayForPay або credit) → `VendorSettlementService` → `recordSettlementsForPaidOrder` → таблиця **`settlements`**.

| Колекція | Роль |
|----------|------|
| `settlements` | Канонічний ledger — адмін Commissions, `/vendor/earnings` |
| `vendor_settlements` | Legacy (нові записи не пишуться) |
| `payout_batches` | Batch **Process due payouts** |
| `erp_sales_assists` | Реферальні продажі для аналітики |

## Адмін

`/admin/store/commissions` — список розрахунків і **Process due payouts** (`processDueSettlements`).

## Ієрархія referral %

Спільний resolver `resolveReferralCommissionPercent` (продукт → merchant → platform 5% → env). Змішані кошики — зважений effective %.

## Режим виплат

| `SETTLEMENT_PAYOUT_MODE` | Поведінка |
|--------------------------|-----------|
| `simulated` (default) | `metadata.simulated: true`, badge **Simulated** в UI |
| `onchain` | ERC20 transfer через treasury wallet |

## Міграції

```bash
./scripts/apply-erp-migrations-dev.sh   # 005 + 007
```

Таблиці 007: `settlements`, `payout_batches`, `merchant_configs`, `stock_movements`, `erp_sales_assists`.

## Пов’язане

- [Refcodes](/docs/features/refcodes.md)
- [Ring ERP](/docs/features/erp/index.md)
