Налоги: VAT, GST, GGR и удержания
1) Карта понятий
VAT/GST — косвенный налог на потребление. В ряде стран игровые ставки освобождены/исключены из VAT, но облагаются отдельными игорными налогами (duty/levy). Зато услуги (PSP, аффилиаты, провайдеры контента, SaaS) — часто под VAT/GST.
GGR-налог (Gaming/Gambling Duty) — налог на валовую игровую прибыль:- `GGR = Stakes (Turnover) − Payouts (выплаты выигрышей)`
- Нередко есть корректировки (джекпоты, бонусы, void-ставки) — прописывайте в политике.
- NGR — `GGR − Bonuses − Provider revenue share − Platform fees − Taxes на ставки (если применимо)` — управленческая маржа.
- Withholding Tax (WHT) — налог у источника при трансграничных выплатах за услуги/роялти (аффилиаты, провайдеры игр, консультанты). Ставка зависит от договора об избежании двойного налогообложения (DTT) и статуса получателя (W-8/W-9/сертификаты резидентства).
- Place of Supply / Nexus — правила, определяющие, где платить VAT/GST/GGR (локация игрока, лицензии, место оказания услуги).
2) Когда возникает VAT/GST, а когда — нет
2.1. Операции с игроком (B2C)
Во многих юрисдикциях ставки/выигрыши освобождены от VAT: вместо этого — игорный налог (GGR/turnover duty).
Бонусы и фриспины: не объект VAT, но влияют на GGR/NGR и на налоговую базу по игровому налогу (смотрите местные правила зачета бонусов).
2.2. Операции с контрагентами (B2B)
PSP/Acquirer, антифрод, KYC, хостинг, SaaS, аффилиаты — обычно облагаются VAT/GST по правилам услуг.
Трансгранично: возможен reverse charge (самообложение у получателя) и/или WHT на выплаты.
Роялти/RevShare студиям — потенциальный объект WHT (как роялти/услуги) + возможный VAT по месту получателя/поставщика.
2.3. Пограничные кейсы
DCC/конвертация, FX-спред: это не VAT на игру, а стоимость финансовой услуги (обычно без VAT или с особыми режимами) — учитывайте отдельно.
Комиссии за выводы: B2C-fee может быть объектом VAT как плата за услугу платформы.
3) Place of Supply и схемы расчета
Игровая деятельность: часто привязана к юрисдикции лицензии и/или локации игрока. Ключ — где возникает игорный налог.
Услуги B2B: место реализации — место получателя, применяется reverse charge (получатель начисляет и принимает к вычету).
B2C цифровые услуги (не игры): действует режим OSS/One-Stop Shop (ЕС) или local GST-регистрация по месту клиента.
Практика: сегментируйте потоки по стране игрока, стране контрагента, типу услуги и налоговому режиму (GGR, VAT, WHT).
4) Формулы и политики учета
4.1. GGR и налог на GGR
GGR = Σ Stakes_settled − Σ Payouts_settled
Tax_GGR = GGR × rate_GGR
Определите: включаются ли бонусы, джекпоты, аннулированные ставки в базу.
4.2. VAT/GST по услугам (пример с reverse charge)
VAT_due (supplier side) = 0 (если reverse charge)
VAT_due (receiver side) = Net × rate_VAT
VAT_recoverable = VAT_due (if eligible for deduction)
4.3. WHT (удержание у источника)
WHT = Gross_Payment × rate_WHT(DTT/ domestic)
Net_to_Partner = Gross_Payment − WHT
Храните основание ставки: договор, статья DTT, сертификаты.
4.4. NGR и «налоги в составе»
NGR = GGR − Bonuses − Provider RevShare − Platform Fees − Gaming Taxes
Зафиксируйте NGR policy и версию формулы (v1/v2) для сопоставимости периодов.
5) Бухучет и проводки (упрощенно)
Игровой налог (GGR duty) начислен:- Дт: Расходы по налогам (GGR)
- Кт: Обязательства по налогам
- Дт: Расходы по VAT (самообложение)
- Кт: НДС к уплате
- Дт: НДС к возмещению
- Кт: Расходы по VAT (если есть право на вычет — взаимозачет)
- Дт: Расходы по маркетингу/роялти
- Кт: Кредиторка партнера (брутто)
- При выплате: Дт: Кредиторка партнера (брутто) → Кт: Банк (нетто), Кт: Налоги к уплате (WHT)
6) Модель данных (минимум)
ref. tax_regimes (
regime_id PK, name, type -- VAT GST GGR WHT
, country, rate, basis -- GGR Net Gross Service
, effective_from, effective_to, meta
)
ref. place_rules (
rule_id PK, flow -- B2C_GAME B2B_SERVICE B2C_SERVICE
, country_source, country_destination, place, vat_mode -- STANDARD REVERSE_CHARGE EXEMPT
, meta
)
finance. tax_events (
id PK, tx_id, user_id, counterparty_id, flow_type,
base_amount_reporting, tax_type, tax_rate, tax_amount_reporting,
country_source, country_destination, place_rule_id,
evidence -- geoip, KYC country, billing country, ip logs, etc.
, occurred_at, created_at, version, meta
)
finance. withholding_ledger (
id PK, partner_id, country_source, country_dest,
gross_amount, wht_rate, wht_amount, treaty_article, certificate_ref,
period, paid_at, meta
)
dw. ggr_rollup (
d, geo, product, stakes, payouts, bonuses, jackpots, ggr, ggr_tax
)
7) ETL/процессинг
1. Сегментация событий: `flow_type` (game B2C, service B2B, payouts, affiliate).
2. Присвоение режима: по `ref.place_rules` → VAT mode (standard/reverse/exempt).
3. Расчет баз и налогов: GGR, VAT/GST, WHT; логирование версии формул.
4. Док-след: хранить evidence места реализации (KYC-страна, IP, биллинг, BIN, гео PSP).
5. Агрегации: `dw.ggr_rollup`, `withholding_ledger`, `vat_subledger`.
6. Сверка: отчеты с регулятором/налоговой, акты с партнерами (gross↔net при WHT).
8) SQL-шаблоны
8.1. GGR по дням/странам
sql
SELECT
DATE(settled_at) AS d,
country_player AS geo,
SUM(stake_amount_reporting) AS stakes,
SUM(payout_amount_reporting) AS payouts,
SUM(stake_amount_reporting) - SUM(payout_amount_reporting) AS ggr
FROM dw. game_settled
WHERE settled_at BETWEEN:from AND:to
GROUP BY 1,2;
8.2. Начисление GGR-налога
sql
INSERT INTO finance. tax_events (tx_id, flow_type, base_amount_reporting, tax_type, tax_rate, tax_amount_reporting, occurred_at, version)
SELECT
NULL, 'B2C_GAME', g. ggr, 'GGR', r. rate, g. ggr r. rate, g. d, 'ggr_v1'
FROM dw. ggr_rollup g
JOIN ref. tax_regimes r
ON r. type='GGR' AND r. country=g. geo
AND g. d BETWEEN r. effective_from AND r. effective_to;
8.3. VAT по услугам с reverse charge (B2B)
sql
SELECT s. invoice_id, s. partner_country, s. our_country,
s. net_amount_reporting AS base,
r. rate AS vat_rate,
s. net_amount_reporting r. rate AS vat_due_rc
FROM dw. supplier_invoices s
JOIN ref. place_rules p
ON p. flow='B2B_SERVICE' AND p. country_source=s. partner_country AND p. country_destination=s. our_country
JOIN ref. tax_regimes r
ON r. type='VAT' AND r. country=s. our_country
WHERE p. vat_mode='REVERSE_CHARGE'
AND s. invoice_date BETWEEN r. effective_from AND r. effective_to;
8.4. WHT-ведомость по партнерам
sql
SELECT partner_id, country_source, country_dest,
SUM(gross_amount) AS gross,
AVG(wht_rate) AS rate_applied,
SUM(wht_amount) AS wht_total,
SUM(gross_amount - wht_amount) AS net_paid
FROM finance. withholding_ledger
WHERE period BETWEEN:p_from AND:p_to
GROUP BY 1,2,3;
9) Дашборды и KPI
GGR, GGR-Tax по странам/продуктам; NGR после налогов и роялти.
VAT Exposure: сумма VAT по reverse/standard, доля к вычету.
WHT Map: удержания по странам/партнерам, treaty savings (экономия по DTT).
Effective Tax Rate: `(GGRTax + VAT_non_recoverable + WHT_borne) / Revenue`.
Evidence Coverage: доля транзакций с полным набором доказательств места реализации.
Variance Reports: расхождения между расчетами и поданными декларациями.
10) Алерты и пороги
Evidence gap: доля транзакций без 2+ независимых подтверждений гео > X% — P1.
Rate drift: примененная ставка ≠ справочнику (версия/период) — P1.
WHT misapplied: удержание не соответствует DTT/сертификату — P1.
GGR anomaly: скачок GGR ±3σ d/d или неверная доля бонусов в базе — расследование.
VAT non-recoverable spike: рост невозмещаемого VAT > Y% w/w.
11) Best practices (коротко)
1. Разделяйте игровые налоги (GGR/turnover) и VAT/GST по услугам: разные базы, разный отчетный контур.
2. Вводите версионирование формул и справочников ставок; не меняйте историю без `version`.
3. Храните evidence места реализации: KYC-страна, IP, billing, BIN, гео PSP.
4. Отдельный withholding-ledger с привязкой к договорам, DTT-статьям и сертификатам.
5. Для B2B-услуг применяйте reverse charge, где положено; ведите реестр входящего VAT.
6. Делайте reconciliation: расчетная база ↔ декларации ↔ платежи в бюджет/сертификаты WHT.
7. Отдельно учитывайте необлагаемые и неподлежащие вычету суммы VAT.
8. Прописывайте NGR policy (что вычитается, а что — нет) для стабильной аналитики.
12) Чек-лист внедрения
- Справочники `tax_regimes`, `place_rules` с датами действия и версиями.
- Витрины `ggr_rollup`, `vat_subledger`, `withholding_ledger`.
- Логика reverse charge и evidence enrichment (KYC/IP/BIN/PSP GEO).
- Автоматическое формирование tax_events и отчетов по периодам.
- Контуры сверки (variance) и алерты (evidence, ставки, WHT).
- Док-процедуры: сбор сертификатов резидентства, W-8/W-9, DTT-позиции.
- Политики NGR/GGR и документация исключений (джекпоты/бонусы).
13) FAQ
Q: Если ставки освобождены от VAT, значит ли это, что VAT нет вообще?
A: Нет. Услуги (PSP, аффилиаты, SaaS) и часть B2C-платных опций остаются в зоне VAT/GST.
Q: Как не «переплатить» WHT?
A: Подготовьте DTT-пакет (сертификат резидентства, формы W-8/W-9, апостили), фиксируйте основание ставки и срок действия.
Q: Бонусы уменьшают GGR-базу?
A: Зависит от юрисдикции. Нужна политика бонусов и привязка к нормам регулятора.
Q: Какой курс применять для налоговой базы?
A: Исторический на дату признания базы (settled_at для GGR; дата счета/услуги — для VAT). Для отчетности — фиксируйте `fx_rate_at_tax_point`.
Резюме
Налоги в iGaming — это три разных мира: игровые налоги (GGR/turnover), косвенные налоги (VAT/GST) и удержания у источника (WHT). Четкая сегментация потоков, версии ставок и формул, отдельные леджеры для VAT/WHT, доказательная база места реализации и автоматизированная сверка превращают «минное поле» в управляемый процесс — без сюрпризов для P&L и кэш-флоу.