You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Clarify declarative destination and fiscal eligibility in DeFi
Updated the description of the 'declarative destination' to include DeFi wallet types and clarified the fiscal eligibility in the context of DeFi.
* Update README with entity details and remove notes
Removed a note about the taxpayer's burden of proof in DeFi from two sections and updated the entity information in an example.
* Fix formatting in NFT algorithm section of README
* Update section numbers and headings in README
* Fix formatting and update section headers in README
Copy file name to clipboardExpand all lines: README.md
+33-39Lines changed: 33 additions & 39 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,16 +57,15 @@ Este algoritmo é uma ferramenta de cálculo baseada numa interpretação lógic
57
57
-[➤ Caso 2: permuta simples em entidade não cooperante (BTC → ETH)](#-caso-2-permuta-simples-em-entidade-não-cooperante-btc--eth)
58
58
-[➤ Caso 3: permuta com múltiplos ativos (BTC → ETH + SOL)](#-caso-3-permuta-com-múltiplos-ativos-btc--eth--sol)
59
59
-[4. Tratamento das taxas](#4-tratamento-das-taxas)
60
-
-[4.1. Taxa paga em FIAT](#41-taxa-paga-em-fiat)
60
+
-[4.1. Taxa paga em FIAT](#41-taxa-paga-em-fiat)
61
61
-[4.2. Taxa paga em cripto](#42-taxa-paga-em-cripto)
62
62
-[Dupla entrada fiscal aplicável apenas quando deve ser:](#dupla-entrada-fiscal-aplicável-apenas-quando-deve-ser)
63
63
-[➤ Caso 1: taxa paga em FIAT](#-caso-1-taxa-paga-em-fiat)
64
64
-[➤ Caso 2: taxa paga em cripto](#-caso-2-taxa-paga-em-cripto)
65
65
-[5. Tratamento fiscal de NFT](#5-tratamento-fiscal-de-nft)
66
66
-[5.1 O que é NFT?](#51-o-que-é-nft)
67
67
-[5.2. Enquadramento fiscal de NFT em Portugal (CIRS)](#52-enquadramento-fiscal-de-nft-em-portugal-cirs)
68
-
-[5.3 Como o algoritmo trata os NFT](#53-como-o-algoritmo-trata-os-nft)
69
-
-[Em vez de aplicar a lógica FIFO de cripto, o motor suspende o processamento da linha e emite um aviso ao utilizador para reporte manual na categoria geral correspondente do IRS (ex: Categoria B se houver cariz profissional, ou mais-valia geral se aplicável), uma vez que a Autoridade Tributária analisa estes ativos pela sua substância (ex: se representa arte digital, propriedade, ou um direito de serviço).](#em-vez-de-aplicar-a-lógica-fifo-de-cripto-o-motor-suspende-o-processamento-da-linha-e-emite-um-aviso-ao-utilizador-para-reporte-manual-na-categoria-geral-correspondente-do-irs-ex-categoria-b-se-houver-cariz-profissional-ou-mais-valia-geral-se-aplicável-uma-vez-que-a-autoridade-tributária-analisa-estes-ativos-pela-sua-substância-ex-se-representa-arte-digital-propriedade-ou-um-direito-de-serviço)
68
+
-[5.3 Como o algoritmo trata os NFT](#53-como-o-algoritmo-trata-os-nft)
70
69
-[6. Tratamento fiscal de _DeFi_](#6-tratamento-fiscal-de-defi)
71
70
-[6.1. O que é _DeFi_?](#61-o-que-é-defi)
72
71
-[Exemplos comuns de _DeFi_:](#exemplos-comuns-de-defi)
@@ -78,8 +77,8 @@ Este algoritmo é uma ferramenta de cálculo baseada numa interpretação lógic
78
77
-[➤ Caso 3: retirada de liquidez (*withdrawal* de *LP*)](#-caso-3-retirada-de-liquidez-withdrawal-de-lp)
79
78
-[➤ Caso 4: taxas em _DeFi_ (*gas fees*)](#-caso-4-taxas-em-defi-gas-fees)
80
79
-[7. Sumário final](#7-sumário-final)
81
-
-[Matriz de exportação de relatórios (IRS)](#matriz-de-exportação-de-relatórios-irs)
82
-
-[8. Fluxograma das transações](#8-fluxograma-das-transações)
80
+
-[8. Matriz de exportação de relatórios (IRS)](#8-matriz-de-exportação-de-relatórios-irs)
81
+
-[9. Fluxograma das transações](#9-fluxograma-das-transações)
83
82
-[🤝 Como Contribuir](#-como-contribuir)
84
83
-[📄 Licença](#-licença)
85
84
@@ -137,7 +136,8 @@ Cada entidade (carteira ou *exchange*) deve ser criada com os seguintes atributo
137
136
138
137
O algoritmo calcula os seguintes estados implícitos no momento da transação:
139
138
***`fiscalEligibility`**: Determinado a partir do `countryCode`. Consulta uma tabela interna para classificar o país como cooperante (`COOPERATING`), não cooperante (`NON_COOPERATING` - paraísos fiscais da lista negra nacional) ou desconhecido. O estado desconhecido suspende o cálculo para obrigar à revisão e intervenção manual.
140
-
***Destino declarativo**: Determinado de forma dinâmica no processamento. Se `type` for 'Exchange' e `countryCode` for 'PT', as mais-valias de curto prazo seguem para o **Anexo G**. Se `type` for 'Exchange' e `countryCode` for diferente de 'PT' (ex: 'IE'), seguem para o **Anexo J**. Para carteiras pessoais (`type` igual a 'Cold Wallet' ou 'Hot Wallet'), o algoritmo assume por defeito o `countryCode` de residência do sujeito passivo (ex: 'PT') para efeitos de `fiscalEligibility`, mas encaminha sempre o curto prazo para o **Anexo J**, uma vez que a custódia não pertence a um intermediário financeiro nacional.
139
+
***Destino declarativo**: Determinado de forma dinâmica no processamento. Se `type` for 'Exchange' e `countryCode` for 'PT', as mais-valias de curto prazo seguem para o **Anexo G**. Se `type` for 'Exchange' e `countryCode` for diferente de 'PT' (ex: 'IE'), seguem para o **Anexo J**. Para carteiras pessoais ou DeFi (`type` igual a 'Cold Wallet' ou 'Hot Wallet'), o algoritmo assume por defeito o `countryCode` de residência do sujeito passivo (ex: 'PT') para efeitos de `fiscalEligibility`, mas encaminha sempre o curto prazo para o **Anexo J**, uma vez que a custódia não pertence a um intermediário financeiro nacional.
140
+
141
141
142
142
#### Estrutura do lote (`Lot`)
143
143
Cada `Lot` deve ter:
@@ -153,9 +153,9 @@ Cada `Lot` deve ter:
153
153
154
154
---
155
155
156
-
###3. Tratamento por tipo de transação
156
+
## 3. Tratamento por tipo de transação
157
157
158
-
####3.1. `deposit`
158
+
### 3.1. `deposit`
159
159
160
160
Um depósito é sempre uma **aquisição** que cria um novo lote:
161
161
***tag: 'buy':**`costPerUnit` = `fiatValue`, `acquisitionDate` = data da transação.
@@ -200,7 +200,7 @@ Um depósito é sempre uma **aquisição** que cria um novo lote:
200
200
201
201
---
202
202
203
-
####3.2. `withdrawal`
203
+
### 3.2. `withdrawal`
204
204
205
205
Inclui **qualquer alienação para algo não-cripto**, como:
206
206
***FIAT**
@@ -313,7 +313,7 @@ A data da transferência em si (`acquisitionDate` do novo local) **não influenc
313
313
314
314
---
315
315
316
-
####3.3. `trade` (permuta cripto-cripto)
316
+
### 3.3. `trade` (permuta cripto-cripto)
317
317
318
318
O fluxo lógico depende diretamente da elegibilidade da entidade detentora:
319
319
@@ -363,12 +363,10 @@ O fluxo lógico depende diretamente da elegibilidade da entidade detentora:
363
363
-`originalAcquisitionDate = null`
364
364
365
365
#### ➤ Caso 3: permuta com múltiplos ativos (BTC → ETH + SOL)
366
-
> [!WARNING]
367
-
> **TODO:** Validar qual a fiscalEligibility em DeFi para carteira de titular em Portugal
- Valores de mercado proporcionais calculados no instante da troca:
@@ -396,14 +394,14 @@ O fluxo lógico depende diretamente da elegibilidade da entidade detentora:
396
394
397
395
---
398
396
399
-
###4. Tratamento das taxas
397
+
## 4. Tratamento das taxas
400
398
401
399
A lógica de tratamento de taxas é offline e determinística, aplicando os princípios gerais de "alienação onerosa" (Art. 10.º) e "apuramento de mais-valias" (Art. 43.º).
402
400
403
401
### 4.1. Taxa paga em FIAT
404
402
➡️ **É um encargo puro da alienação**, deduzido diretamente na fórmula da mais-valia.
405
403
406
-
####4.2. Taxa paga em cripto
404
+
### 4.2. Taxa paga em cripto
407
405
408
406
A taxa é tratada como uma **micro-alienação** do criptoativo usado para liquidá-la.
409
407
@@ -428,8 +426,6 @@ Valor de realização da micro-alienação:
@@ -447,9 +443,9 @@ Valor de realização da micro-alienação:
447
443
448
444
---
449
445
450
-
###5. Tratamento fiscal de NFT
446
+
## 5. Tratamento fiscal de NFT
451
447
452
-
####5.1 O que é NFT?
448
+
### 5.1 O que é NFT?
453
449
NFT significa *Non-Fungible Token* (*Token* não fungível). Representa um certificado digital de propriedade sobre um ativo único, indivisível e não intermutável (ex.: arte digital, colecionáveis, registos de exclusividade).
454
450
455
451
**Não fungível** = único e irrepetível.
@@ -459,43 +455,45 @@ Diferente de moedas ou criptomoedas (como Bitcoin ou Ethereum), que são fungív
459
455
- Um Bitcoin = outro Bitcoin → fungível.
460
456
- Um NFT de uma obra de arte digital = só existe um → não fungível.
461
457
462
-
####5.2. Enquadramento fiscal de NFT em Portugal (CIRS)
458
+
### 5.2. Enquadramento fiscal de NFT em Portugal (CIRS)
463
459
Por força da exclusão legal da definição de criptoativos, as transações de NFT **não seguem o regime das criptomoedas**. Isto implica um tratamento severo pelo algoritmo:
464
460
465
461
1.**Revogação de Isenções:** Não existe exclusão de tributação após 365 dias de detenção.
466
462
2.**Permutas Tributáveis:** Trocar um NFT por outro (ou por ETH) não goza de neutralidade fiscal. É um evento de alienação imediato com apuramento de ganho em Euros baseado no valor de mercado.
467
463
468
464
### 5.3 Como o algoritmo trata os NFT
469
-
Para evitar cálculos errados e proteger o utilizador, o algoritmo implementa uma **"Flag de Bloqueio/Alerta"** (`assetType: 'NFT'`).
465
+
Para evitar cálculos errados e proteger o utilizador, o algoritmo implementa uma **"Flag de Bloqueio/Alerta"** (`assetType: 'NFT'`).
470
466
471
467
Em vez de aplicar a lógica FIFO de cripto, o motor suspende o processamento da linha e emite um aviso ao utilizador para reporte manual na categoria geral correspondente do IRS (ex: Categoria B se houver cariz profissional, ou mais-valia geral se aplicável), uma vez que a Autoridade Tributária analisa estes ativos pela sua substância (ex: se representa arte digital, propriedade, ou um direito de serviço).
468
+
472
469
---
473
470
474
-
###6. Tratamento fiscal de _DeFi_
471
+
## 6. Tratamento fiscal de _DeFi_
475
472
476
-
####6.1. O que é _DeFi_?
473
+
### 6.1. O que é _DeFi_?
477
474
*DeFi* (*Decentralized Finance*) engloba serviços financeiros (empréstimos, trocas automatizadas, derivados) executados diretamente através de *smart contracts* em redes *blockchain*, sem a presença de intermediários centralizados.
478
475
479
-
####Exemplos comuns de _DeFi_:
476
+
### Exemplos comuns de _DeFi_:
480
477
-***Staking* (delegar *tokens* para validar redes)**
481
478
-***Lending* & *Borrowing* (emprestar ou pedir emprestado cripto)**
482
479
-***Liquidity pools* (fornecer liquidez em _exchanges_ descentralizadas como Uniswap)**
483
480
-***Yield farming* (ganhar recompensas por fornecer liquidez)**
484
481
-***Stablecoins* (USDC, DAI, etc.)**
485
482
486
-
####6.2. Enquadramento fiscal de _DeFi_ em Portugal (CIRS)
483
+
### 6.2. Enquadramento fiscal de _DeFi_ em Portugal (CIRS)
487
484
O Código do IRS não faz qualquer distinção operacional entre finanças descentralizadas (*DeFi*) ou centralizadas (*CeFi*). As regras gerais da Categoria G aplicam-se igualmente à natureza dos ativos movimentados.
488
485
489
-
####6.3 Princípios aplicáveis ao _DeFi_:
486
+
### 6.3 Princípios aplicáveis ao _DeFi_:
490
487
1.**Rendimentos passivos (*staking*, *yield farming*):** São tratados sob o regime de **suspensão de tributação**. O custo de aquisição é **0,00€**.
491
488
2.**Alienação de ativos _DeFi_ (venda, troca, saque):** Mais-valia calculada com *FIFO*.
4.**Taxas em _DeFi_ (*gas fees*):** Tratadas como micro-alienações se pagas em cripto.
494
491
5.**Isenção após 365 dias:** Aplicável apenas a criptoativos não-mobiliários.
495
492
496
-
#### 6.4. Como implementar _DeFi_ no algoritmo
497
-
> [!WARNING]
498
-
> **TODO:** Validar qual a fiscalEligibility em DeFi para carteira de titular em Portugal
493
+
### 6.4. Como implementar _DeFi_ no algoritmo
494
+
495
+
> [!NOTE]
496
+
> No DeFi o ónus da prova cabe inteiramente ao contribuinte. A Autoridade Tributária (AT) não monitoriza de forma automática as suas wallets privadas ou protocolos descentralizados, pelo que é o titular quem tem de demonstrar a origem, o histórico e o tempo de detenção dos ativos para beneficiar das isenções fiscais.
499
497
500
498
Como os protocolos *DeFi* correm em contratos sem localização geográfica tradicional, o algoritmo determina a `fiscalEligibility` avaliando o `type` da carteira que assina a transação (`Cold/Hot Wallet`), herdando o país de residência fiscal do utilizador (ex: 'PT' = `COOPERATING`). No entanto, o encaminhamento declarativo de curto prazo é sempre remetido para o **Anexo J**, dada a ausência de intermediário financeiro nacional.
501
499
@@ -515,8 +513,6 @@ Como os protocolos *DeFi* correm em contratos sem localização geográfica trad
515
513
-`originalAcquisitionDate = null`
516
514
-*Ação fiscal:* Nenhuma no momento da receção. A tributação ocorrerá apenas na venda por Euros (Categoria G).
517
515
518
-
---
519
-
520
516
#### ➤ Caso 2: fornecimento de liquidez (*liquidity pool*)
521
517
**Exemplo:**
522
518
- Data: 2024-07-01
@@ -534,8 +530,6 @@ Como os protocolos *DeFi* correm em contratos sem localização geográfica trad
#### ➤ Caso 3: retirada de liquidez (*withdrawal* de *LP*)
540
534
**Exemplo:**
541
535
- Data: 2025-01-10
@@ -553,8 +547,6 @@ Como os protocolos *DeFi* correm em contratos sem localização geográfica trad
553
547
> Os ativos recebidos de volta (ETH, USDC) entram como novos lotes com custo igual ao seu valor de mercado no dia da retirada (2.500€ no total).
554
548
-**Ação:** Sendo curto prazo numa estrutura sem intermediário nacional, é direcionado para o **Anexo J, Quadro 9.4A**.
555
549
556
-
---
557
-
558
550
#### ➤ Caso 4: taxas em _DeFi_ (*gas fees*)
559
551
**Exemplo:**
560
552
- Transação DeFi (ex.: staking)
@@ -568,7 +560,7 @@ Como os protocolos *DeFi* correm em contratos sem localização geográfica trad
568
560
569
561
---
570
562
571
-
###7. Sumário final
563
+
## 7. Sumário final
572
564
573
565
***Depósitos:** criam novos lotes com o custo real (no caso de uma compra) ou com **custo zero** (no caso de rendimentos passivos recebidos diretamente em criptoativos).
574
566
***Alienações para FIAT, bens ou serviços:** Curto prazo (< 365 dias) é sempre tributado a 28%. Longo prazo (≥ 365 dias) em países cooperantes é isento. Transações em paraísos fiscais perdem o direito a isenção de longo prazo.
@@ -584,7 +576,9 @@ Como os protocolos *DeFi* correm em contratos sem localização geográfica trad
584
576
- Taxas pagas em fiat: reduzem o valor de realização / acrescem aos encargos dedutíveis da operação principal.
585
577
- Taxas pagas em criptoativos: são tratadas como micro-alienações autónomas do ativo usado para o pagamento.
586
578
587
-
#### Matriz de exportação de relatórios (IRS)
579
+
---
580
+
581
+
## 8. Matriz de exportação de relatórios (IRS)
588
582
589
583
A geração de relatórios de exportação cruza a natureza do ativo, o prazo de detenção e a jurisdição da entidade para o preenchimento correto dos anexos da Autoridade Tributária:
590
584
@@ -597,7 +591,7 @@ A geração de relatórios de exportação cruza a natureza do ativo, o prazo de
0 commit comments