← ドキュメントに戻る

ウォレットデータのエクスポート/インポート仕様

このドキュメントでは、バックアップ、データ転送、移行のためのウォレットエクスポート(ZIP/CSV)について説明します。GDPRに基づく個人データのエクスポートについては、GDPRデータエクスポートをご覧ください。

エクスポートの種類

ウォレットエクスポート(ZIPアーカイブ)

単一ウォレットの完全なバックアップ。バックアップ、デバイス間のデータ転送、移行に使用します。

  • 場所: データ管理 > エクスポート
  • 形式: CSVファイルを含むZIPアーカイブ
  • 内容: 取引、カテゴリ、予算プラン、メタデータ

GDPRエクスポート(JSON)

GDPR準拠のための個人データエクスポート。すべてのウォレットにわたるすべてのユーザーデータを含みます。

GDPRエクスポートのドキュメントを見る →

ZIPアーカイブ形式

ウォレットエクスポートはCrispBudget_Export_{タイムスタンプ}.zipという名前のZIPアーカイブを作成し、以下のファイルを含みます:

  • transactions.csv — すべての取引記録
  • categories.csv — カスタムカテゴリ定義(オプション)
  • budget_plans.csv — 予算プラン履歴(オプション)
  • metadata.json — 通貨とバージョンを含むエクスポートメタデータ

カテゴリと予算プランのファイルは、ウォレットにカスタムカテゴリまたは予算プランがある場合にのみ含まれます。

インポート方法

CrispBudgetはファイル拡張子に基づいてファイル形式を自動検出します:

完全バックアップ

ZIPインポート

取引、カテゴリ、予算プランを含む完全なウォレットバックアップをインポートします。アプリがすべてのファイルを自動的に展開して検証します。

.zip
編集しやすい

CSVインポート

単一のCSVファイルから取引をインポートします。スプレッドシートでの手動編集や他のツールからのインポートに最適です。

.csv または .txt

ファイル構成

ZIPアーカイブには以下のファイルが含まれます:

  • transactions.csv — 取引データ
  • categories.csv — カテゴリ設定
  • budget_plans.csv — 予算プラン
  • metadata.json — メタデータ(通貨、バージョン情報など)

取引データ (transactions.csv)

カラム定義

カラム名 必須 説明
Date 文字列 必須 日付(ISO 8601形式:YYYY-MM-DD)
Amount 文字列 必須 金額(小数点形式:例 "1050.00")
Category 文字列 必須 カテゴリ名
Merchant 文字列 任意 店舗名(最大200文字)
Note 文字列 任意 メモ(最大500文字)
Duration 文字列 任意 期間按分の日数(1〜365)
IsPrivate 文字列 任意 プライベートフラグ("true" または "false")
Items 文字列 任意 商品内訳(JSON配列形式、詳細は下記参照)

サンプル

Date,Amount,Category,Merchant,Note,Duration,IsPrivate,Items
2025-01-13,1500.00,食費,スターバックス,朝のコーヒー,,,
2025-01-12,5000.00,食料品,イオン,週末の買い出し,7,,
2025-01-10,12000.00,日用品,ドン・キホーテ,シャンプーと洗剤,,false,

カテゴリ (categories.csv)

カラム名 必須 説明
Name 文字列 必須 カテゴリ名(最大50文字、ウォレット内で一意)
Icon 文字列 必須 SF Symbolsアイコン名(例:"cart.fill")
Color 文字列 必須 16進数カラーコード(例:"22C55E")
SortOrder 文字列 必須 表示順(0から開始)

サンプル

Name,Icon,Color,SortOrder
食費,fork.knife,F97316,0
食料品,cart.fill,22C55E,1
交通費,car.fill,0EA5E9,2

予算プラン (budget_plans.csv)

カラム名 必須 説明
StartDate 文字列 必須 開始日(ISO 8601形式:YYYY-MM-DD)
DailyAmount 文字列 必須 1日の予算額(小数点形式)

サンプル

StartDate,DailyAmount
2025-01-01,3000.00
2025-02-01,2500.00

メタデータ (metadata.json)

エクスポートファイルには、以下の情報を含むJSONファイルが付属します:

{
  "currencyCode": "JPY",
  "walletName": "メインウォレット",
  "exportDate": "2025-01-13T12:00:00Z",
  "formatVersion": "1.0",
  "totalTransactions": 150
}

インポート時の注意事項

  • 通貨コードがインポート先ウォレットと一致している必要があります
  • Date、Amount、Categoryは必須フィールドです
  • 金額は小数点形式で記述してください(例:1050.00)
  • 日付はISO 8601形式(YYYY-MM-DD)で記述してください
  • 存在しないカテゴリ名は自動的に作成されます
  • UTF-8エンコーディングを使用してください(BOM付き推奨)
  • CSVの引用符やカンマのエスケープはRFC 4180に従います

文字エンコーディング

CSVファイルはUTF-8エンコーディングで出力されます。Excelとの互換性のため、BOM(Byte Order Mark)が先頭に付加されています。

Items カラムの詳細

複数の商品を含む取引(例:スーパーのレシート)では、Items カラムにJSON配列形式で商品内訳を記録できます。

フィールド定義

フィールド名 必須 説明
name 文字列 必須 商品名
amount 文字列 必須 金額(小数点形式:例 "500.00")
quantity 数値 任意 数量(デフォルト: 1)
category 文字列 任意 カテゴリ名(省略時は親取引のカテゴリを使用)
duration 数値 任意 期間按分の日数(1〜365)
amountType 文字列 任意 金額タイプ:"unit"(単価)または "total"(合計)、デフォルト: "unit"

サンプル

[
  {
    "name": "牛乳",
    "amount": "200.00",
    "quantity": 2,
    "category": "食料品",
    "amountType": "unit"
  },
  {
    "name": "週末分の食材",
    "amount": "3500.00",
    "quantity": 1,
    "category": "食費",
    "duration": 7,
    "amountType": "total"
  }
]

※ CSV内では引用符のエスケープが必要です(" → "")