{
 "id": "payin_volume",
 "name": {
  "en": "PayIn Volume",
  "uk": "Обсяг PayIn",
  "ru": "Объём PayIn"
 },
 "group": "Обсяги",
 "status": "canonical",
 "canonical": true,
 "definition": "Сума успішних вхідних платежів за період.",
 "formula": "SUM(transactions.amount) WHERE operation = 'payin', період за IST",
 "unit": "INR (₹), ціле число",
 "synonyms": [
  "Налив",
  "vol",
  "pi",
  "amt",
  "Amount IN",
  "Demand",
  "Volume",
  "PayIn M",
  "PayIn",
  "Δ PayIn %",
  "Total PayIn",
  "Обсяг PayIn",
  "Сумарний PayIn, INR",
  "Volume INR",
  "Сума PayIn MTD"
 ],
 "reports": [
  {
   "report": "trader-affiliate",
   "label": "Volume",
   "description": "Сумарний payin volume за період (з BAA.dayPayinAmount).",
   "pattern": "cols"
  },
  {
   "report": "trader-affiliate-tier",
   "label": "PayIn M",
   "description": "PayIn за місяць (млн INR). При наведенні — повне число",
   "pattern": "cols"
  },
  {
   "report": "trader-affiliate-weekly",
   "label": "PayIn",
   "description": "Сума вхідних за тиждень (operation=payin), INR. Δ — до пред. тижня",
   "pattern": "colfn"
  },
  {
   "report": "trader-affiliate-weekly",
   "label": "Δ PayIn %",
   "description": "Зміна PayIn до попереднього тижня",
   "pattern": "colfn"
  },
  {
   "report": "trader-merchant-slu",
   "label": "Amount IN",
   "description": "SUM(amount) WHERE type='payin' AND completed. Джерело: payments.amount · провайдер через bank_accounts.provider_pid",
   "pattern": "cols"
  },
  {
   "report": "trader-merchant-slu",
   "label": "Total PayIn",
   "description": "SUM(amount) WHERE payin AND completed. Джерело: payments.amount · partner_pid",
   "pattern": "cols"
  },
  {
   "report": "trader-merchant-slu",
   "label": "Amount IN",
   "description": "SUM(amount) payin completed. Джерело: payments.amount",
   "pattern": "cols"
  },
  {
   "report": "trader-kpi",
   "label": "PayIn Volume",
   "description": "сума PayIn-транзакцій за період",
   "pattern": "title"
  },
  {
   "report": "trader-kpi",
   "label": "Обсяг PayIn",
   "description": "Сумма успешных payin транзакций (из таблицы Transaction). Включаются только провайдеры с общим объёмом > 5,000. SQL-query ▾ SELECT SUM(tran.amount) AS payin_volume FROM \"Transaction\" tran JOIN \"BankAccount\" ba ON ba.id = tran.\"bankAccount\" WHERE tran.operation = 'payin' AND ba.\"accountProvider\" IN ( -- Только провайдеры с total payin > 5000 SELECT pid FROM vol_daily GROUP BY pid HAVING SUM(volume) > 5000 )",
   "pattern": "lg-item"
  },
  {
   "report": "trader-operational",
   "label": "PayIn Volume",
   "description": "Сумма успешных payin транзакций (₹) за этот час.",
   "pattern": "title"
  },
  {
   "report": "trader-operational",
   "label": "PayIn Volume",
   "description": "Сумма успешных payin транзакций (₹). Из таблицы Transaction, operation=payin. Учитываются только провайдеры с объёмом > 5,000.",
   "pattern": "showM"
  },
  {
   "report": "trader-operational",
   "label": "Обсяг PayIn",
   "description": "Сумма успешных payin транзакций из таблицы Transaction. SQL-query ▾ SELECT SUM(tran.amount) AS payin_volume FROM \"Transaction\" tran JOIN \"BankAccount\" ba ON tran.\"bankAccount\" = ba.id JOIN \"AccountProvider\" ap ON ba.\"accountProvider\" = ap.id WHERE tran.operation = 'payin' AND (tran.\"createdAt\" AT TIME ZONE 'UTC' AT TIME ZONE 'Asia/Kolkata')::date = :dt AND ap.name != 'Operation provider'",
   "pattern": "lg-item"
  },
  {
   "report": "trader-scoreboard",
   "label": "Volume",
   "description": "Total payin volume for the period (INR, with thousands separators).",
   "pattern": "showM"
  },
  {
   "report": "trader-weekly",
   "label": "PayIn Volume",
   "description": "Сумма входящих платежей за неделю (₹). Источник: Transaction, operation='payin'. Учитывается все, кроме операторов-провайдеров. Чем выше — тем больше денег обработано.",
   "pattern": "dict"
  },
  {
   "report": "trader-weekly",
   "label": "Сумарний PayIn, INR",
   "description": "Загальна сума INR по успішних PayIn всіх активних трейдерів за обраний період. «Активний» = хоча б один payin у періоді.",
   "pattern": "dict"
  },
  {
   "report": "trader-weekly",
   "label": "Volume INR",
   "description": "Сума INR по успішних PayIn трейдера за обраний період. Колонка %Δ — зміна відносно попереднього аналогічного по тривалості періоду.",
   "pattern": "dict"
  },
  {
   "report": "trader-affiliate",
   "label": "Сума PayIn MTD",
   "description": "SUM(transactions.amount) WHERE operation=payin AND date >= mtd_start_ist. 1:1 з прод-розрахунками.",
   "pattern": "coverage-legend"
  }
 ],
 "deviations": [
  {
   "report": "trader-operational",
   "text": "Только провайдеры с объёмом > 5 000 ₹: канон говорит, что это особенность Trader KPI, но фильтр стоит в Operational.",
   "status": "open"
  },
  {
   "report": "trader-weekly",
   "text": "Исключены операторы-провайдеры. В каноне такого фильтра нет.",
   "status": "open"
  },
  {
   "report": "trader-merchant-slu",
   "text": "Источник payments, канон требует transactions.",
   "status": "open"
  }
 ],
 "notes": [
  "Джерело — transactions, НЕ payments. У звіті Trader KPI діє додатковий фільтр «провайдер з total payin > 5 000 ₹ за період» — це особливість KPI-звіту, не частина канону."
 ],
 "owner": null,
 "verified_by": null,
 "updated_at": "2026-07-27",
 "source": "metrics-legend halleg (канон, 2026-07-27)",
 "present_in_canon": "Всі звіти дашборда; фінанси (lab): «налив», payin_inr\n    Джерело — transactions, НЕ payments. У звіті Trader KPI діє додатковий фільтр «провайдер з total payin > 5 000 ₹ за період» — це особливість KPI-звіту, не частина канону.",
 "versions": [
  {
   "version": 1,
   "definition": "Сума успішних вхідних платежів за період.",
   "formula": "SUM(transactions.amount) WHERE operation = 'payin', період за IST",
   "unit": "INR (₹), ціле число",
   "changed_by": null,
   "changed_at": "2026-07-27",
   "reason": "импорт канона metrics-legend"
  }
 ]
}