본문으로 건너뛰기

세무 Inventory와 리포트

계획

일반 lot과 publication manifest 계약은 있다. 한국 세무 inventory engine, report model, generator, publication store는 아직 없다.

서로 다른 두 모델

Provenance Lot Graph

Provenance Lot Graph는 수량이 어디에서 와서 어디로 갔는지 설명한다. 구현된 schema·저장 계약은 immutable LotRunLotAllocation record로 다음을 지원한다.

  • ACQUIRE: 수량과 known/unknown 취득 basis 확립
  • DISPOSE: 하나 이상의 parent allocation을 소비하고 lot별 basis contribution 기록
  • CARRY: 확인된 continuity relation에서만 provenance 이동

취득가액을 알 수 없으면 basisStatus: UNKNOWN으로 남기며 0으로 바꾸지 않는다.

이는 lineage model이며 아직 한국 세무 inventory 계산은 아니다.

KR Tax Inventory

목표 계산 scope는 다음과 같다.

resident × tax_year × tax_asset_id

이 범위 안에서는:

  • 소유한 모든 거래소 account, wallet, 기타 위치를 합산한다.
  • account·wallet 위치는 별도 세무 inventory가 아니라 provenance로 남긴다.
  • 확인된 self-transfer는 basis를 승계하며 취득이나 처분을 새로 만들지 않는다.
  • 합산된 취득·처분에 연간 총평균법을 적용한다.
  • 필수 증거나 review가 열려 있으면 run은 명시적으로 PROVISIONAL, 선언한 closure condition을 통과해야 FINAL이다.

현재 LotRun.scope에는 assetIds만 있고 resident, taxYear, taxAssetId, runMode는 없다. 한국 세무 결과를 만들려면 typed TaxInventoryRun 계약과 계산 runtime을 추가해야 한다.

ReportModel과 Evidence Pack

Report 단계는 template 안에서 숨은 business logic을 다시 계산하지 않고 immutable ledger revision과 tax inventory run을 입력으로 받아야 한다.

계획된 ReportModel에는 다음이 필요하다.

  • reporting subject, resident scope, tax year, policy version
  • income, acquisition, disposal, gain/loss, fee, exception line
  • 모든 숫자의 source Event, Posting, Valuation, tax-inventory ID
  • unresolved, unsupported, excluded, provisional disclosure
  • 이전 publication과의 revision 관계

Schema에는 이미 #EvidenceManifestData#ValidatePublication이 있다. 이 계약은 publication이 사용한 evidence generation, coverage, closure, 정확한 Event revision, lot run, artifact, hash를 고정할 수 있다.

현재 없는 것은 ReportModel, generator, render된 report/Evidence Pack artifact, publicationstore 같은 publication 전용 persistence package다. 기존 evidence·ledger·lot·artifact store만으로 report publication이 구현되는 것은 아니다.

필요한 개발 순서

Component현재 상태완료 근거
일반 lot schema·persistence구현됨검증된 LotRun/LotAllocation 계약과 typed DB client
Provenance lot 계산 runtime계획allocation ancestry와 self-transfer continuity fixture
TaxInventoryRun 계약계획typed resident/year/tax-asset/run-mode scope
연간 총평균 engine계획여러 account를 합산한 provisional/final fixture
ReportModel·generator계획모든 report line이 ledger·inventory ID로 연결
Evidence Pack renderer·publication store계획immutable artifact, manifest 검증, current revision, diff

완료 기준

거래소와 EVM evidence를 함께 넣은 fixture가 다음 조건을 모두 통과해야 한다.

  1. self-transfer를 gain이나 중복 inventory 없이 보존
  2. 외부 처분을 정확한 price·FX evidence로 valuation
  3. 모든 소유 위치를 합산해 연간 총평균 취득가액 계산
  4. evidence 또는 review가 열려 있으면 provisional 유지
  5. report 숫자에서 정확한 source 좌표까지 drill down
  6. 정상 manifest는 검증하고 변조 artifact 또는 stale revision은 거부

결과는 검토를 지원하지만 세무 전문가의 판단을 대체하거나 신고 정확성을 주장하지 않는다.