컨텐츠로 건너뛰기

원가 계산 방법

지원 방법

방법ID국가비고
First In, First OutFIFO🌍가장 오래된 로트부터 매도 (IRS 기본값)
Last In, First OutLIFO🌍Specific ID 필요 (IRS)
Highest In, First OutHIFO🌍Specific ID 필요 (IRS)
Specific IDSPECIFIC_ID🌍수동 로트 선택
Germany FIFOGERMANY_FIFO🇩🇪§23 EStG, 1년 보유 시 면세
PMPAPMPA🇫🇷가중평균 (프랑스)
Total AverageTOTAL_AVERAGE🌍평균 원가 기준
UK Share PoolingUK_SHARE_POOLING🇬🇧Section 104 풀 + 30일 규칙
AU CGT DiscountAU_CGT_DISCOUNT🇦🇺FIFO + 장기 이익 50% 할인 (ATO s.115)
CA ACBCA_ACB🇨🇦가중평균 조정원가 (CRA IT-387R2)
KR Virtual AssetKR_VIRTUAL_ASSET🇰🇷FIFO; 22% 단일세율 + 250만 원 공제 (보고 레이어)
IN VDAIN_VDA🇮🇳FIFO; 손실 공제 불가 (s.115BBH)
ES CGTES_CGT🇪🇸FIFO; 누진세율 19–27% (보고 레이어)

IRS 참고 사항

IRS는 암호화폐에 대해 FIFOSpecific Identification을 허용합니다 (Rev. Rul. 2023-14). LIFO와 HIFO는 기술적으로 Specific ID 전략의 하위 유형입니다.

사용법

import { computeGains, compareAllMethods } from '@dtax/tax-engine';
const result = computeGains(transactions, { method: 'FIFO', taxYear: 2024 });
const comparison = compareAllMethods(transactions, 2024);
comparison.forEach(({ method, totalGain, recommendation }) => {
console.log(`${method}: $${totalGain} ${recommendation ? '← recommended' : ''}`);
});

결과 구조

interface GainResult {
shortTermGain: number;
longTermGain: number;
totalGain: number;
disposals: Disposal[];
unrealizedGain?: number;
}