DEEP GUIDE 03
残高と帳簿の不一致を調べる
表示用残高と仕訳を照合し、差の意味を読む。
このガイドで追う一件
ある口座の表示用残高と、帳簿から再計算した残高が異なるとします。どちらを根拠にして、どこから調査するかを追います。
コードを読む順番
以下は MiniBank v1.0.0 の確認先です。マイグレーションは順に適用されるため、関数の最終形を調べるときは後続の変更も確認してください。
- 1
根拠となる仕訳を見る
ledger.journal_entries と journal_lines が取引の記録です。仕訳は借方と貸方が釣り合い、確定済みの行は追記を基本に扱います。
確認するファイル
supabase/migrations/20260819155221_create_journal_entries_and_lines.sql - 2
残高を再計算する
口座の cached_balance は表示を速くする値です。帳簿から計算した値と比べると、保存された表示用残高のずれを見つけられます。
確認するファイル
supabase/migrations/20260819163034_reconcile_cached_balance_from_ledger.sql - 3
整合性チェックを読む
reconciliation.run_check は残高差だけでなく、不均衡な仕訳や業務上の取引行との対応も調べ、問題を integrity_issues に記録します。
確認するファイル
supabase/migrations/20260821110002_create_reconciliation_run_check_function.sql - 4
調査画面で対象を絞る
管理画面では実行結果と問題一覧を読み、対象の口座・仕訳・取引へ戻ります。数値を合わせる前に原因を確かめます。
確認するファイル
src/app/admin/(protected)/integrity/page.tsx
失敗時・範囲外の確認
差が見つかっても cached_balance を黙って上書きするだけでは原因が分かりません。借方・貸方の合計が一致していても、誤った勘定に記録された取引は別に調べる必要があります。
ここまでで説明できること
「表示値」と「根拠となる記録」を分け、差を調査する順番を説明できます。