Kostenbasis-Methoden
Unterstützte Methoden
| Methode | ID | Land | Hinweise |
|---|---|---|---|
| First In, First Out | FIFO | 🌍 | Älteste Lots zuerst (IRS-Standard) |
| Last In, First Out | LIFO | 🌍 | Specific ID erforderlich (IRS) |
| Highest In, First Out | HIFO | 🌍 | Specific ID erforderlich (IRS) |
| Specific ID | SPECIFIC_ID | 🌍 | Manuelle Lot-Auswahl |
| Germany FIFO | GERMANY_FIFO | 🇩🇪 | §23 EStG, 1-jährige Haltedauer steuerfrei |
| PMPA | PMPA | 🇫🇷 | Gewichteter Durchschnitt (Frankreich) |
| Total Average | TOTAL_AVERAGE | 🌍 | Durchschnittliche Kostenbasis |
| UK Share Pooling | UK_SHARE_POOLING | 🇬🇧 | Section 104 Pool + 30-Tage-Regel |
| AU CGT Discount | AU_CGT_DISCOUNT | 🇦🇺 | FIFO + 50 % Rabatt auf langfristige Gewinne (ATO s.115) |
| CA ACB | CA_ACB | 🇨🇦 | Gewichteter Adjusted Cost Base (CRA IT-387R2) |
| KR Virtual Asset | KR_VIRTUAL_ASSET | 🇰🇷 | FIFO; 22 % Pauschalsatz + 2,5 Mio. KRW Freibetrag (Berichtsebene) |
| IN VDA | IN_VDA | 🇮🇳 | FIFO; Verluste nicht abzugsfähig (s.115BBH) |
| ES CGT | ES_CGT | 🇪🇸 | FIFO; gestaffelter Steuersatz 19–27 % (Berichtsebene) |
IRS-Hinweis
Der IRS erlaubt FIFO und Specific Identification für Krypto (Rev. Rul. 2023-14). LIFO und HIFO sind technisch gesehen Specific-ID-Strategien — Sie müssen Aufzeichnungen auf Lot-Ebene führen und Ihre Methode konsequent anwenden.
Verwendung
import { computeGains, compareAllMethods } from '@dtax/tax-engine';
// Single methodconst result = computeGains(transactions, { method: 'FIFO', taxYear: 2024,});
// Compare all comparable methods (excludes SPECIFIC_ID)const comparison = compareAllMethods(transactions, 2024);comparison.forEach(({ method, totalGain, recommendation }) => { console.log(`${method}: $${totalGain} ${recommendation ? '← recommended' : ''}`);});Ergebnis-Struktur
interface GainResult { shortTermGain: number; longTermGain: number; totalGain: number; disposals: Disposal[]; unrealizedGain?: number;}