Impostos: VAT, GST, GGR e retenção
1) Mapa de conceitos
VAT/GST é um imposto indireto sobre o consumo. Em vários países, as taxas de jogo estão isentas/excluídas do VAT, mas sujeitas a impostos individuais (duty/levy). No entanto, serviços (PSP, afiliados, provedores de conteúdo, SaaS) são frequentemente sob VAT/GST.
Imposto GGR (Gaming/Gambling Duty) - Imposto sobre lucros brutos de jogos:- 'GGR = Stakes - Payouts'
- Muitas vezes há ajustes (jackpots, bónus, apostas void) - estabeleça na política.
- NGR - 'GGR - Bonuses - Provider revenue share - Platford fees - Taxes para apostas (se aplicável)' - margem gerencial.
- Withholding Tax (WHT) é um imposto na fonte para pagamentos de serviços/royalties (afiliados, provedores de jogos, consultores). A taxa depende do contrato de dupla tributação (DTT) e do status do destinatário (W-8/W-9/certificados de residência).
- Place of Supply/Nexus - regras que definem onde pagar VAT/GST/GGR (localização do jogador, licenças, local de serviço).
2) Quando surge VAT/GST e quando não
2. 1. Operações com jogador (B2C)
Em muitas jurisdições, as taxas/ganhos são isentas de VAT - em vez disso, imposto de jogo (GGR/turnover duty).
Bónus e fricções: Não é objeto de VAT, mas afeta a GGR/NGR e a base de impostos sobre impostos de jogo (veja as regras locais de bónus).
2. 2. Transações contábeis (B2B)
PSP/Aquirer, antifrode, KYC, hospedagem, SaaS, afiliados - normalmente sujeitos a VAT/GST de acordo com as regras de serviços.
É possível reverse a carga (autoatendimento do destinatário) e/ou WHT para pagamentos.
Royalties/RevShare aos estúdios é um potencial objeto de WHT (como royalties/serviços) + um possível VAT no local do destinatário/fornecedor.
2. 3. Malas de borda
DCC/conversão, FX-spread: não é VAT para jogo, mas o custo do serviço financeiro (normalmente sem VAT ou com regimes especiais) - leve em conta separadamente.
Comissão por conclusões: B2C-fee pode ser objeto de VAT como pagamento por serviço de plataforma.
3) Place of Suply e esquema de cálculo
Atividades de jogo: muitas vezes está ligado à jurisdição da licença e/ou localização do jogador. A chave é onde surge o imposto de jogo.
Serviços B2B: Local de implementação - Local do destinatário, aplicável reverse charge (o destinatário fatura e aceita a dedução).
Serviços digitais B2C (não jogos): O modo OSS/One-Stop Shop (UE) ou local GST está em vigor no local do cliente.
Prática: Segmenta os fluxos pelo país do jogador, país do contratante, tipo de serviço e regime fiscal (GGR, VAT, WHT).
4) Fórmulas e políticas de contabilidade
4. 1. GGR e imposto sobre a GGR
GGR = Σ Stakes_settled − Σ Payouts_settled
Tax_GGR = GGR × rate_GGR
Defina se os bónus, os jackpots, as apostas canceladas estão incluídos na base de dados.
4. 2. VAT/GST Serviços (por exemplo, reverse carga)
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 (retenção na fonte)
WHT = Gross_Payment × rate_WHT(DTT/ domestic)
Net_to_Partner = Gross_Payment − WHT
Guarde a base da taxa, contrato, artigo DTT, certificados.
4. 4. NGR e «impostos na composição»
NGR = GGR − Bonuses − Provider RevShare − Platform Fees − Gaming Taxes
Anote NGR policy e a versão v1/v2 da fórmula para comparar períodos.
5) Contabilidade e fios (simplificado)
Imposto de jogo (GGR duty) é atribuído:- DT: Despesas Tributárias (GGR)
- TC: Obrigações fiscais
- DT: Gastos com VAT (auto-supressão)
- Tac: IVA a pagar
- DT: IVA para reembolso
- TC: Despesas VAT (se tiver direito a dedução - troca)
- DT: Custos de marketing/royalties
- TC: Credor do sócio (bruto)
- No pagamento: Dt: Credor do sócio (bruto) → Tac: Banco (neto), Tac: Impostos a pagar (WHT)
6) Modelo de dados (mínimo)
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/processamento
1. Segmentação de eventos: 'flow _ tipo' (game B2C, service B2B, payouts, affiliate).
2. Atribuição de modo: por 'ref. place_rules` → VAT mode (standard/reverse/exempt).
3. Cálculo de bases e impostos: GGR, VAT/GST, WHT; logar a versão das fórmulas.
4. Pista Dock: armazenar evidence local de implementação (país KYC, IP, billing, BIN, geo PSP).
5. Agregações de 'dw. ggr_rollup`, `withholding_ledger`, `vat_subledger`.
6. Relatório regulador/fiscal, atitudes com parceiros (gross↔net para WHT).
8) Modelos SQL
8. 1. GGR por dia/país
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. Cobrança de imposto 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 para serviços reverse carga (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. Relatório WHT para parceiros
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) Dashboards e KPI
GGR, GGR-Tax por país/produto; NGR após impostos e royalties.
VAT Exposure: VAT reverse/padrão, taxa de dedução.
WHT Map: retenção por países/parceiros, treaty savings (economia DTT).
Effective Tax Rate: `(GGRTax + VAT_non_recoverable + WHT_borne) / Revenue`.
Evidence Coverage: proporção de transações com um conjunto completo de provas de local de realização.
Variance Reports: divergências entre os cálculos e as declarações apresentadas.
10) Alertas e liminares
Evidence gap: proporção de transações sem 2 + confirmações geo independentes> X% - P1.
Rate draft: taxa aplicada ≠ guia (versão/período) - P1.
WHT misaplied: retenção não corresponde a DTT/certificado - P1.
GGR anataly: salto GGR £3gd/d ou participação errada de bônus na base de dados - investigação.
VAT não-recoverable spike: crescimento de VAT não-ajustável> Y% w/w.
11) Best pratices (curta)
1. Divida impostos de jogos (GGR/turnover) e VAT/GST sobre serviços: diferentes bases, diferentes contornos de referência.
2. Digite a versionização das fórmulas e guias de apostas; não mude a história sem «versão».
3. Guarde a evidência dos locais de implementação: país KYC, IP, billing, BIN, geo PSP.
4. Um witholding-ledger separado, associado a contratos, artigos DTT e certificados.
5. Para serviços B2B, aplique o reverse charge onde você deve; mantenha o registro do VAT de entrada.
6. Faça reconciação: base de cálculo da declaração ↔ ↔ pagamentos para o orçamento/certificados WHT.
7. Leve em conta separadamente os valores de VAT indetectáveis e não deduzidos.
8. Insira NGR policy (o que é subtraído e o que não é) para analistas estáveis.
12) Folha de cheque de implementação
- Guias 'tax _ regimes', 'place _ rulas' com datas e versões.
- Витрины `ggr_rollup`, `vat_subledger`, `withholding_ledger`.
- Логика reverse charge и evidence enrichment (KYC/IP/BIN/PSP GEO).
- Criação automática de tax _ events e relatórios de períodos.
- Caminhos de cruzamento (variance) e alertas (evidence, apostas, WHT).
- Processo doc: coleta de certificados de residência, W-8/W-9, posição DTT.
- Políticas NGR/GGR e documentação de exceções (jackpots/bónus).
13) FAQ
Q: Se as taxas são isentas de VAT, isso significa que o VAT não existe?
A: Não. Serviços (PSP, afiliados, SaaS) e parte das opções de pagamento B2C ficam na área VAT/GST.
Como não «pagar mais» WHT?
A: Prepare o pacote DTT (certificado de residência, formulários W-8/W-9, apóstolos), e fixe a base da taxa e a data de validade.
Os bónus reduzem a base GGR?
Depende da jurisdição. Precisamos de uma política de bónus e de um regulador.
Q: Qual a rota para a base de impostos?
A: Histórico na data de reconhecimento da base (setled _ at para a GGR; data da conta/serviço - para VAT). Para relatórios - Fixe 'fx _ rate _ at _ tax _ point'.
Currículo
Os impostos no iGaming são três mundos diferentes: impostos sobre jogos (GGR/turnover), impostos indiretos (VAT/GST) e retenção sobre a fonte (WHT). Segmentação clara de fluxos, versões de apostas e fórmulas, ledgers individuais para VAT/WHT, base de provas de local de implementação e confecção automatizada transformam «campo minado» em um processo controlado - sem surpresas para P&L e cash flow.