세무 Inventory와 리포트
일반 lot과 publication manifest 계약은 있다. 한국 세무 inventory engine, report model, generator, publication store는 아직 없다.
서로 다른 두 모델
Provenance Lot Graph
Provenance Lot Graph는 수량이 어디에서 와서 어디로 갔는지 설명한다. 구현된 schema·저장 계약은 immutable LotRun과 LotAllocation 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가 다음 조건을 모두 통과해야 한다.
- self-transfer를 gain이나 중복 inventory 없이 보존
- 외부 처분을 정확한 price·FX evidence로 valuation
- 모든 소유 위치를 합산해 연간 총평균 취득가액 계산
- evidence 또는 review가 열려 있으면 provisional 유지
- report 숫자에서 정확한 source 좌표까지 drill down
- 정상 manifest는 검증하고 변조 artifact 또는 stale revision은 거부
결과는 검토를 지원하지만 세무 전문가의 판단을 대체하거나 신고 정확성을 주장하지 않는다.