v1.0.0 の歴史資料当時の説明です。現在の仕様とは異なる箇所があります。現行版の対応記事 →資料一覧へ

DEEP GUIDE 03

残高と帳簿の不一致を調べる

表示用残高と仕訳を照合し、差の意味を読む。

このガイドで追う一件

ある口座の表示用残高と、帳簿から再計算した残高が異なるとします。どちらを根拠にして、どこから調査するかを追います。

コードを読む順番

以下は MiniBank v1.0.0 の確認先です。マイグレーションは順に適用されるため、関数の最終形を調べるときは後続の変更も確認してください。

  1. 1

    根拠となる仕訳を見る

    ledger.journal_entries と journal_lines が取引の記録です。仕訳は借方と貸方が釣り合い、確定済みの行は追記を基本に扱います。

    確認するファイルsupabase/migrations/20260819155221_create_journal_entries_and_lines.sql

  2. 2

    残高を再計算する

    口座の cached_balance は表示を速くする値です。帳簿から計算した値と比べると、保存された表示用残高のずれを見つけられます。

    確認するファイルsupabase/migrations/20260819163034_reconcile_cached_balance_from_ledger.sql

  3. 3

    整合性チェックを読む

    reconciliation.run_check は残高差だけでなく、不均衡な仕訳や業務上の取引行との対応も調べ、問題を integrity_issues に記録します。

    確認するファイルsupabase/migrations/20260821110002_create_reconciliation_run_check_function.sql

  4. 4

    調査画面で対象を絞る

    管理画面では実行結果と問題一覧を読み、対象の口座・仕訳・取引へ戻ります。数値を合わせる前に原因を確かめます。

    確認するファイルsrc/app/admin/(protected)/integrity/page.tsx

失敗時・範囲外の確認

差が見つかっても cached_balance を黙って上書きするだけでは原因が分かりません。借方・貸方の合計が一致していても、誤った勘定に記録された取引は別に調べる必要があります。

ここまでで説明できること

「表示値」と「根拠となる記録」を分け、差を調査する順番を説明できます。