# 監査・移出パッケージ

## 概要
本パッケージは「販売アシスト1号」のSQLite DBからエクスポートした伝票データと、ハッシュチェーン検証結果を含みます。

## ファイル
- `invoices.jsonl` : 伝票1件ごとに1行のJSON（payload_json含む）
- `audit_summary.json` : 全件数・赤伝件数・チェーン検証結果
- `README.md` : 本ファイル

## ハッシュチェーン方式（改ざん検知）
- 各伝票は `payload_json` を正規化JSONとし、その SHA256 を `payload_hash` として保持
- `chain_hash = SHA256(prev_chain_hash + ':' + payload_hash)` で直前伝票と連鎖
- 先頭伝票の `prev_chain_hash` は 64文字のゼロ（genesis）
- `node_id` はDB単位のUUIDで、端末故障時の復旧・識別に使用

## 検証手順
1. `audit_summary.json` の `chain_verification.ok` が `true` であること
2. `false` の場合は `chain_verification.errors` を確認
3. 任意：スクリプトで `invoices.jsonl` を読み込み、先頭から `chain_hash` を再計算して一致を確認

## 再現性（PDF生成）
- `payload_json` と `pdf_template_version`/`company_info_version` があれば、
  同一内容のPDFを再生成可能（PDFバイナリの完全一致は保証しない）
- PDFは永続保存せず、必要時に再生成して利用・共有・削除する方針

## 赤伝（相殺）の扱い
- `is_offset=true` の伝票は赤伝（相殺伝票）
- `offset_target_uuid` で元伝票を指す
- 集計・表示ではデフォルト除外（UIの「赤伝を表示」スイッチで切替）

## 10年保管について
- SQLite DB（本エクスポート元）を正とし、10年間保管
- バックアップ・復旧はDBファイル単位で行う（Google Drive等）
- 必要に応じて本エクスポートパッケージを外部システムへ移行可能

---
生成日時: 2026-02-21T07:57:34.454286
