Ghid
Cum calculează InvesTax: metodologia explicată
Documentăm exact ce face engine-ul, ce articole din Codul Fiscal aplicăm și unde simplificăm. Citește-o înainte să plătești.
TL;DR
- Cost de bază: Cost Mediu Ponderat (CMP), nu FIFO. Permis pentru brokeri fără reprezentanță în RO (Codul Fiscal art. 94 + Norma 18/2023).
- Curs BNR pe dividende: cursul mediu anual BNR pentru anul fiscal respectiv (art. 131 alin. 6).
- Curs BNR pe câștiguri de capital: CSV folosește cursul BNR la data tranzacției (art. 96). PDF folosește în prezent cursul mediu anual, tranziție la per-tranzacție programată iunie-octombrie 2026.
- Credit fiscal pe dividende: max(0, 10% × brut RON minus reținere străină RON), limitat la impozitul RO (art. 131).
- CASS: praguri 6 / 12 / 24 salarii minime pe veniturile non-salariale cumulate (art. 170).
- Pierderi: report 5 ani, max 70% din câștigurile viitoare, per țară (art. 119).
1. Cost de bază: Costul Mediu Ponderat (CMP)
Câștigul impozabil pe transferul titlurilor de valoare = preț de vânzare minus baza de cost. Baza de cost se poate calcula prin două metode: FIFO (cel mai vechi cumpărat este primul vândut) sau Cost Mediu Ponderat (CMP) (media ponderată a prețurilor de achiziție pentru fiecare instrument). Pentru brokeri fără reprezentanță fiscală în România, Codul Fiscal art. 94 împreună cu Norma 18/2023 acceptă ambele metode. Regula importantă: alegi o metodă și o aplici consistent pe toate vânzările unui instrument.
InvesTax folosește CMP. Motivul este pragmatic: extrasele fiscale anuale Trading212 raportează deja câștigul calculat prin metoda agregată pe instrument, iar CMP se aplică natural pe poziții deschise în mai multe tranșe. Concurența retail (Finoro) folosește FIFO; în practică, pentru retail buy-and-hold rezultatul diferă puțin (diferența contează la traderi activi cu multe tranșe parțial vândute).
Exemplu CMP:
- 15 ianuarie 2025: cumperi 10 acțiuni AAPL la 180 USD = 1.800 USD
- 10 martie 2025: cumperi 5 acțiuni AAPL la 220 USD = 1.100 USD
- Total: 15 acțiuni, cost total 2.900 USD
- Cost mediu ponderat per acțiune: 2.900 / 15 ≈ 193,33 USD
- 20 mai 2025: vinzi 8 acțiuni la 240 USD = 1.920 USD
- Câștig în USD: 1.920 minus (8 × 193,33) = 1.920 minus 1.546,67 ≈ 373,33 USD
Cele 7 acțiuni rămase păstrează costul mediu de 193,33 USD pentru următoarea vânzare. Pentru declarație, câștigul în USD se convertește în RON (vezi secțiunea următoare).
2. Conversia în RON folosind cursurile BNR
Codul Fiscal aplică reguli BNR distincte în funcție de categoria venitului. InvesTax respectă această separare:
2.1. Pentru dividende: cursul mediu anual BNR
Pentru dividendele primite în valută străină, conversia în RON se face la cursul mediu anual BNR al pieței valutare, comunicat pentru anul în care s-a realizat venitul (Codul Fiscal art. 131 alin. 6). De exemplu, dividende în USD primite în 2025 se convertesc la cursul mediu BNR USD/RON pentru 2025 (4,4705 RON/USD), nu la cursul din ziua plății și nici la cursul brokerului. Această regulă este universală pentru dividende, indiferent de broker sau țară emitentă.
2.2. Pentru câștiguri de capital: cursul BNR la data tranzacției
Pentru câștigurile din transferul titlurilor de valoare, regula strictă este cursul BNR valabil la data fiecărei tranzacții (Codul Fiscal art. 96). Astfel, costul de achiziție și prețul de vânzare se convertesc fiecare la cursul BNR din ziua respectivă, iar câștigul în RON este diferența celor două sume convertite.
Stare actuală a fluxurilor InvesTax (transparență metodologică)
- Fluxul CSV aplică cursul BNR per-tranzacție pentru câștigurile de capital, conform regulii stricte (art. 96).
- Fluxul PDF aplică în prezent cursul mediu anual BNR și pentru câștigurile de capital, ca simplificare. Aceasta este o practică retail uzuală: declarația fondatorului InvesTax pentru anul 2025 a fost depusă la ANAF prin SPV folosind această metodă (total 28.053 lei, 10 aprilie 2026).
- Tranziția fluxului PDF la cursul per-tranzacție este programată pentru iunie-octombrie 2026, înainte de sezonul de depunere 2027. Diferența numerică așteptată față de cursul mediu anual este de ordinul zecilor sau sutelor de lei pentru retail buy-and-hold tipic, în orice direcție.
Sursa cursurilor BNR: bnr.ro, secțiunea „Cursul de schimb mediu anual" pentru ratele anuale și „Arhiva cursului oficial" pentru cursurile zilnice. InvesTax folosește un cache intern al cursurilor zilnice BNR pentru anul fiscal curent, actualizat zilnic.
3. Impozit 10% pe câștigul net anual
Câștigul net anual din transferul titlurilor de valoare (vânzări minus baza de cost CMP, toate convertite în RON) se impozitează cu 10% (Codul Fiscal art. 96 + 97 + 119). Pentru anul fiscal 2025, cota este 10%. Pentru anul fiscal 2026 și ulteriori, cota se modifică la 16% conform Legii 239/2025. InvesTax va fi actualizat înainte de sezonul de depunere 2027.
Câștigul net se calculează agregat pe an, nu per tranzacție: dacă ai câștiguri din unele vânzări și pierderi din altele, se compensează între ele în cadrul aceluiași an înainte de aplicarea cotei.
4. Dividende: 10% RO cu credit pentru reținerea străină
Pentru dividendele de la brokeri fără reprezentanță fiscală în România, InvesTax aplică formula:
Formula:
Impozit final RO = max(0, 10% × dividend brut RON minus reținere străină în RON)
Creditul pentru reținerea străină este limitat la impozitul român (10% pentru 2025) conform Codul Fiscal art. 131. Dacă reținerea străină depășește 10% (de exemplu 30% în SUA fără W-8BEN, 15% în Olanda, 26,375% în Germania), diferența nu se recuperează în România. Pentru detalii pe țară, exemple lucrate și tratatele de evitare a dublei impuneri, vezi ghidul dividendelor de la broker străin.
5. CASS pe veniturile non-salariale
CASS (contribuția de asigurări sociale de sănătate) se aplică pe totalul veniturilor non-salariale cumulate, conform Codul Fiscal art. 170. Pragurile pentru anul fiscal 2025 (cu salariul minim 4.050 RON/lună, HG 1506/2024):
| Prag | Venit total non-salarial | CASS de plată |
|---|---|---|
| sub 6 salarii minime | sub 24.300 RON | 0 RON (sub plafon) |
| 6 salarii minime | 24.300 RON | 2.430 RON |
| 12 salarii minime | 48.600 RON | 4.860 RON |
| 24 salarii minime | 97.200 RON | 9.720 RON |
Veniturile care intră în calculul pragului: câștiguri din transferul titlurilor de valoare, dividende (brut), dobânzi, chirii, alte venituri ale persoanei fizice. InvesTax cumulează automat veniturile pe care le declari și determină pragul corect. Detalii și exemple în ghidul CASS pe investiții.
6. Raportarea pierderilor
Pierderea netă anuală din transferul titlurilor de valoare prin brokeri fără reprezentanță în România se reportează 5 ani fiscali consecutivi, în limita a 70% din câștigurile nete viitoare (Codul Fiscal art. 119). Pentru pierderi din străinătate, compensarea se face cu câștiguri de aceeași natură și sursă, pentru fiecare țară în parte.
InvesTax aplică reportul automat atunci când încarci extrase consecutive pentru același cont. Pentru anii anteriori, InvesTax folosește valorile pierderilor reportate pe care le treci în formularul de cont.
7. Ce extragem efectiv din extras
Pentru fluxul PDF Trading212, parser-ul extrage din extrasul fiscal anual următoarele secțiuni:
- Sell trades: data execuției, cantitate, valoare brută în valută, valută. Necesare pentru câștigul realizat.
- Buy trades: data, cantitate, preț, valoare. Folosite pentru calculul bazei de cost CMP.
- Dividends: data plății, instrument (ISIN), valoare brută, reținere străină. Necesare pentru creditul fiscal.
- Distributions: pentru ETF-uri cu distribuție, tratate similar dividendelor.
- Interest: dobânzi de la conturi de cash (T212 Pies / Interest on Cash). Intră în veniturile non-salariale pentru calculul CASS.
Secțiunea Overview a brokerului (rezumatul anual) este folosită ca verificare independentă. Dacă suma tranzacțiilor extrase nu se potrivește cu Overview (diferență de semn sau diferență de magnitudine peste 10x), parser-ul afișează un avertisment vizibil înainte de plată și blochează exportul D212 până la rezolvare. Această verificare a fost introdusă după două bug-uri reale de parser raportate de primii clienți plătitori.
8. Ce NU calculează InvesTax
Transparența limitărilor este parte din metodologie. Lista curentă:
- FIFO. Folosim doar CMP (vezi secțiunea 1). Dacă ai nevoie de declarație pe FIFO, instrumentul nu se potrivește.
- Stock splits în fluxul CSV. CSV-ul Trading212 nu marchează split-urile (NVDA 10:1, TSLA 3:1). Pentru anii cu split-uri, recomandăm explicit fluxul PDF, care raportează tranzacțiile post-split consistent.
- Crypto. Veniturile din crypto au regim fiscal distinct (Codul Fiscal art. 116, cursul BNR per-tranzacție). Modul separat este în roadmap, nu este inclus în calculul curent.
- Brokeri români cu reprezentanță fiscală în România. Tradeville, XTB Romania, Banca Transilvania Capital Partners etc. rețin impozitul direct la sursă (cota 1% sau 3% pentru anul fiscal 2025, conform XTB Romania). Pentru aceștia nu este nevoie să declari prin D212; InvesTax acoperă explicit brokerii fără reprezentanță fiscală în RO.
- Recuperarea reținerii străine de peste 10%. Dacă în SUA s-au reținut 30% (fără W-8BEN), diferența de 20% peste creditul RO nu se recuperează în România. Recuperarea trebuie făcută la fiscul străin, proces separat.
9. Avertismente și verificări automate
InvesTax aplică mai multe verificări de sănătate pe fiecare extras procesat. Dacă orice verificare eșuează, vezi un avertisment vizibil și exportul D212 este blocat până se confirmă cifra cu un contabil sau se contactează echipa de suport:
- Sign mismatch: suma tranzacțiilor extrase și valoarea din raportul Overview au semn opus (de exemplu, pierderi conform Overview dar câștiguri conform tranzacțiilor).
- Magnitude mismatch: diferența între cele două surse este peste 10x.
- Parser warnings: orice inconsistență detectată în extragerea tabelelor (linii lipsă, valori care nu se potrivesc structural).
Filozofia este preventivă: preferăm să blocăm un export potențial corect decât să livrăm un număr greșit unui plătitor. Dacă vezi un astfel de avertisment, contactează-mă direct și voi analiza extrasul concret.
Verifică pe cifrele tale
Calculatorul manual gratuit aplică aceeași metodologie pe sume introduse de tine. Pentru calcul automat direct din PDF-ul Trading212, vezi planurile de plată.
Întrebări frecvente
De ce folosiți CMP (Cost Mediu Ponderat) și nu FIFO?
Pentru brokeri fără reprezentanță fiscală în România, Codul Fiscal art. 94 împreună cu Norma 18/2023 permit ambele metode (FIFO și Cost Mediu Ponderat) pentru determinarea bazei de cost. Practica retail folosește atât FIFO cât și CMP. InvesTax aplică CMP pentru că este metoda implementată consistent în extrasele fiscale anuale Trading212 și se aplică natural pe poziții deschise în mai multe tranșe. Regula importantă: alege o metodă și aplic-o consistent pe toate vânzările unui instrument.
Ce curs BNR aplicați pentru câștigurile de capital din PDF?
În prezent, pentru câștigurile de capital extrase din PDF-urile Trading212 aplicăm cursul mediu anual BNR pentru anul fiscal respectiv. Aceasta este o simplificare uzuală în practica retail românească și conformă cu modul în care declarația aferentă anului 2025 a fost depusă la ANAF prin SPV (filing-ul fondatorului din 10 aprilie 2026, valoare totală 28.053 lei). Pentru fluxul CSV, deja aplicăm cursul BNR la data fiecărei tranzacții (Codul Fiscal art. 96). Tranziția fluxului PDF la cursul per-tranzacție este programată pentru perioada iunie-octombrie 2026, înainte de sezonul de depunere 2027.
Ce curs BNR aplicați pentru dividende?
Cursul mediu anual BNR pentru anul fiscal în care s-a încasat dividendul, conform Codul Fiscal art. 131 alin. (6). Această regulă este distinctă față de cea pentru transferul titlurilor de valoare (art. 96, curs per-tranzacție). Diferența contează: dividendele primite în 2025 se convertesc la cursul mediu BNR USD/RON 2025 (4,4705 RON/USD), nu la cursul din ziua plății și nu la cursul brokerului.
Cum funcționează creditul pentru reținerea străină pe dividende?
Aplicăm formula: impozit final RO = max(0, 10% × dividend brut RON minus reținere străină în RON). Creditul este limitat la impozitul român (10% pentru anul fiscal 2025), conform Codul Fiscal art. 131. Dacă reținerea străină depășește 10% (de exemplu 30% în SUA fără W-8BEN, sau 15% în Olanda), diferența nu se recuperează în România. Detalii pe țară în ghidul dedicat dividendelor.
Cum calculați CASS?
CASS se calculează pe totalul veniturilor non-salariale (câștiguri din transfer titluri + dividende + dobânzi + chirii etc.), comparat cu pragurile 6 / 12 / 24 salarii minime conform Codul Fiscal art. 170. Pentru anul fiscal 2025, salariul minim este 4.050 RON/lună (HG 1506/2024), deci pragurile sunt 24.300 / 48.600 / 97.200 RON, iar sumele fixe sunt 2.430 / 4.860 / 9.720 RON (10% din pragul în care te încadrezi). InvesTax cumulează automat toate veniturile non-salariale pe care le declari pentru a determina pragul corect.
Cum tratați pierderile?
Pierderea netă anuală din transferul titlurilor de valoare prin brokeri fără reprezentanță în România se reportează 5 ani fiscali consecutivi, în limita a 70% din câștigurile nete viitoare (Codul Fiscal art. 119). Pentru pierderi din străinătate, compensarea se face cu câștiguri de aceeași natură și sursă, pentru fiecare țară în parte. InvesTax aplică reportul automat dacă încarci extrase consecutive în același cont.
Ce extrageți efectiv din PDF-ul Trading212?
Pentru fiecare an fiscal: secțiunile Sell trades (data execuției, cantitate, valoare brută în valută, valută), Buy trades (pentru baza de cost CMP), Dividends (data, instrument, valoare brută, reținere străină), Interest (dobânzi de la conturi de cash) și Distributions (ETF). Cifrele din raportul Overview ale brokerului sunt folosite ca verificare independentă: dacă suma tranzacțiilor extrase nu se potrivește cu Overview, parser-ul afișează un avertisment vizibil înainte de plată.
Ce NU calculează InvesTax?
Câteva limitări curente: (1) FIFO nu este suportat, folosim doar CMP; (2) stock splits nu sunt detectate automat în fluxul CSV, recomandăm fluxul PDF pentru anii cu split-uri (NVDA 10:1 etc.); (3) crypto nu este inclus, modul separat este în roadmap; (4) brokeri români cu sediu permanent în România (Tradeville, XTB Romania) nu sunt suportați. InvesTax acoperă explicit brokerii fără reprezentanță fiscală în RO, unde tu ești obligat să declari direct prin D212.