## 04_export_import.md # バックアップ・リストア機能 設計書 ## 1. 概要 ### 1.1 目的 - 会計データの安全な保存(サーバー障害対策) - 修正申告時に過去データを復元する手段の提供 - データ移行(別PC・別環境)を可能にする ### 1.2 基本方針 - サーバーは作業用(10年分保存) - ローカル/USBは最終保存先(バックアップ) - 修正申告時はバックアップから復元して再計算 ## 2. エクスポート機能 ### 2.1 エクスポート画面 ``` ┌─────────────────────────────────────┐ │ 【バックアップ】 │ │ │ │ 対象選択: │ │ ○ 全データ │ │ ○ 期間指定: [2024-01-01]〜[2024-12-31]│ │ ○ 会社指定: [SPS ■] [SCSPS ■] │ │ │ │ オプション: │ │ □ マスタデータを含める │ │ □ 申告済みデータも含める │ │ │ │ [バックアップ実行] │ └─────────────────────────────────────┘ ``` ### 2.2 出力形式 - ファイル形式:ZIP圧縮 - ファイル名:`SPS_backup_YYYYMMDD_HHMMSS.zip` - 内部構造(private/ / corporate/ の形式を維持) ``` SPS_backup_20260312_143022.zip ├── private/ # 個人事業データ │ ├── 2024/ │ │ ├── journals.json │ │ ├── 決算書.pdf │ │ └── locked.json │ └── 2023/ │ ├── journals.json │ └── locked.json │ ├── corporate/ # 法人データ │ ├── 第4期/ │ │ ├── journals.json │ │ ├── 決算書.pdf │ │ └── locked.json │ └── 第3期/ │ ├── journals.json │ └── locked.json │ ├── master/ # マスタデータ │ ├── accounts.json │ ├── employees.json │ └── ... │ └── backup_info.json # バックアップ情報(日付・バージョン等) ``` ### 2.3 バックアップ情報(backup_info.json) ```json { "backup_date": "2026-03-12 14:30:22", "version": "1.0", "included_private_years": [2024, 2023, 2022], "included_corporate_periods": ["第4期", "第3期", "第2期"], "includes_master": true, "includes_locked": true, "created_by": "SPS01-00001" } ``` ### 2.4 エクスポート手順 1. バックアップ画面を開く 2. 対象を選択(全データ/期間指定/会社指定) 3. オプションを選択(マスタ含む/申告済含む) 4. バックアップ実行ボタンをクリック 5. ブラウザからZIPファイルをダウンロード 6. ローカル/USBに保存 ## 3. インポート機能 ### 3.1 インポート画面 ``` ┌─────────────────────────────────────┐ │ 【リストア】 │ │ │ │ バックアップファイル: │ │ [ファイルを選択] SPS_backup_xxx.zip │ │ │ │ インポート方法: │ │ ○ 上書き(既存データを削除) │ │ ○ マージ(不足データのみ追加) │ │ │ │ 対象選択: │ │ □ 会計データすべて │ │ □ マスタデータ │ │ │ │ [リストア実行] │ └─────────────────────────────────────┘ ``` ### 3.2 インポート方法 | 方法 | 動作 | 使用場面 | |------|------|----------| | **上書き** | 既存データを全削除→バックアップで復元 | 障害復旧、クリーンな状態に戻す | | **マージ** | 不足データのみ追加(同一IDはスキップ) | 修正申告、部分的な復元 | ### 3.3 インポート手順 1. リストア画面を開く 2. バックアップZIPファイルを選択 3. インポート方法を選択(上書き/マージ) 4. 対象を選択(会計データ/マスタ) 5. プレビュー表示(影響範囲を確認) 6. リストア実行 7. 結果表示(成功/エラー件数) ### 3.4 エラーハンドリング - ZIPファイルが壊れている → エラー表示 - バージョン不一致 → 警告表示(続行可) - 一部データのみ失敗 → 成功分は反映、失敗行をログ表示 ## 4. 修正申告対応 ### 4.1 修正申告の流れ ``` 1. バックアップから過去データをインポート(マージ) 2. 修正したい仕訳を編集 3. 修正後のデータで申告書を再作成 4. 「修正前」「修正後」を別名で保存(オプション) ``` ### 4.2 修正履歴の管理 - 修正申告時は、修正前データを別名保存できる - 例: - `private/2024/修正前/journals.json` - `private/2024/修正後/journals.json` - `corporate/第4期/修正前/journals.json` - `corporate/第4期/修正後/journals.json` - 税務調査時に「修正しました」と説明できるようにする ## 5. 保存先の役割分担 ### 5.1 サーバー - 作業用:常時アクセス可能 - 10年分のデータを保存(いつでも見れる) - 定期的なバックアップ推奨 ### 5.2 ローカル/USB - 最終保存先:バックアップデータを保管 - サーバー障害時の復元用 - 修正申告時のデータソース - 推奨:月1回以上バックアップ ## 6. 運用推奨 ### 6.1 バックアップ頻度 | タイミング | 推奨 | 理由 | |-----------|------|------| | 毎日 | 任意 | 日次取引入力が多い場合 | | 週1回 | ✅ 推奨 | 週次バックアップ | | 月末 | ✅ 必須 | 月次締め後 | | 確定申告前 | ✅ 必須 | 申告前に最終バックアップ | | 確定申告後 | ✅ 必須 | 申告済データを保存 | ### 6.2 保管ルール - バックアップファイル名に日時を必ず含める - 最低3世代以上保存(最新+前月+前年) - 重要なバックアップは別メディアにも保存 ## 7. 今後の拡張 ### 7.1 自動バックアップ - 設定した日時に自動でバックアップ - クラウドストレージ連携(Google Drive等) ### 7.2 差分バックアップ - 前回からの変更分のみ保存 - バックアップ時間の短縮 ### 7.3 バージョン管理 - 修正履歴を自動保存 - 任意の時点に戻せる ## 8. 改訂履歴 | 日付 | 版 | 内容 | |------|----|------| | 2026-03-12 | 1.0 | 初版作成 | | 2026-03-15 | 1.1 | バックアップ内部構造を private/ / corporate/ に修正 | ``` ---