この記事でわかること
- 黙って変わる数字は、止まる不具合より先に直す
- 入力を止めるだけでは、後から取り込むデータで数字は動く
- 確定した数字は直せる形にし、直すたびに版と理由を残す
「先月払った金額と、いまシステムに出ている金額が違う」。請求や支払を扱う業務システムで、こうした食い違いが起きることがあります。原因の多くは、システムに「いつ数字を締め、いつ確定させるか」の決まりが無いことです。決まりが無いと、過去の月の数字は後からいくらでも、しかも誰にも知らされずに動きます。
弊社が社内で運用している経営管理システム「Compass」(エンジニアの参画・稼働・請求・支払・利益を一か所で管理するシステム)でも、2026年9月に同じ問題を抱えていました。そこで、翌月10日で入力を止める「入力締め」と、最終的な利益までをその時点の値で固定する「月次確定」の2段を入れました。この記事では、その判断の中身を、ご自身のシステムで確かめるときの考え方として紹介します。
黙って動く数字は、止まる不具合より重い
システムの不具合というと、画面が開かない、エラーが出るといった「止まる」ものを思い浮かべがちです。けれどもお金を扱うシステムで本当に怖いのは、止まらずに数字だけが変わるほうです。止まれば誰かが気づきますが、黙って変わる数字には誰も気づけません。
Compassでは2026年9月10日、未対応になっていた課題44件を危険度の順に棚卸ししました。付けてある優先度の印だけで並べると、静かに数字が狂う種類の問題を取りこぼすので、中身を読んで判断しています。
すぐに情報が漏れたり、システムが止まったりする課題はありませんでした。最も重いと判断したのは「月の締めが無い」ことです。過去の月の稼働時間や単価を後から編集でき、編集すると確定させたはずの請求・支払・利益がさかのぼって変わります。しかもエラーも警告も出ないので、数字がずれても気づけません。これを最優先にしました。
入力を止めるだけでは、数字は止まらない
締めと聞くと「締めた月は入力できなくする」ことを考えます。それは必要ですが、それだけでは足りません。数字を動かすのは、人の入力だけではないからです。
Compassでも最初に入れたのは、入力を止める仕組みでした。決めたのは、対象の月は翌月10日を過ぎたら締まること、解除できるのは私と事務担当の2名だけであること、すでに過ぎた月はすべて締まった扱いにすることです。
その5日後の9月15日、社内から「振り込んだ数字と、いま画面に出ている数字が合わない」と相談がありました。利益の表は値を保存せず、画面を開くたびに年度12か月分を今のデータで計算し直す作りで、過去の時点の数字を残している場所はシステムの中にありませんでした。
何が数字を動かしているのかを確かめるため、8月10日以降に作られた参画・契約条件・給与の実額を除き、後から閉じられた期間を元に戻して、8月10日時点の状態を再現しました。4〜7月は8月10日時点と今とで完全に一致し、違っていたのは8月だけでした。8月分の給与の実額を、9月14日に取り込んでいたためです。
あわせて、過去の月を動かしうる要因を実データで確かめました。
- 給与の実額は手作業で取り込んでおり、月によって数週間〜1か月遅れて入る
- 契約条件の多くが「年度の頭から期限なし」で登録されていて、1本を直すと年度の頭までさかのぼって全部の月が動く
- 関与の度合いや雇用の区分は月ごとに持っておらず、変えると全部の月が動く。しかも変更の記録が残らない
出典:Compass 開発記録(2026年9月15日の実測)
後から取り込むデータや、月を持たない設定の変更は、入力締めでは止まりません。この調査の中では、過去の月を選んで保存すると新しい契約条件が過去の金額で上書きされる経路も見つけ、保存させないように直しています。結論として、止めるには数字そのものを保存して固定する2段目が要ると判断しました。
締めは、迷ったら「締まったまま」に倒す
締めの仕組みは、うまく動かなかったときにどちらへ倒れるかまで決めておく必要があります。開く側に倒れる作りだと、何かの拍子に締めが外れ、気づかないまま確定済みの月が書き換えられます。
Compassでは、解除中の月かどうかを読み取れなかったときは、締まったままとして扱います。開く側に倒すと、データベースが一時的に応答しないだけで確定済みの月が編集できてしまうからです。解除できる人の設定が抜けていた場合も、全員が解除できるのではなく、誰も解除できない側に倒しました。
月ごとに「締めた」という記録を残す作りにもしていません。「その月の翌月10日を過ぎたか」という決まりだけで判断するので、過去の月は自動的にすべて締まった扱いになり、締め忘れが起きません。記録に残すのは、例外的に解除した月だけです。
締まった月を触ろうとしたときは、「保存に失敗しました」の一言で済ませず、締まっている月だから保存できないという理由を画面に出します。通信の失敗と区別できないと、利用者は何が起きたのか分からないからです。
直すことは許し、直すたびに版を残す
確定した数字を絶対に直せないようにすると、運用が回りません。後から正しい給与の実額が入ることも、入力の誤りが見つかることもあるからです。大事なのは、直せることと、直した経緯が残ることを両立させることです。
9月16日に入れた月次確定では、次のことを決めました。固定する範囲は最終的な利益まで全部(後から経費や役員報酬を入れても確定した月は動かない)、1段目を「入力締め」・2段目を「月次確定」と呼び分ける、4〜8月をまとめて確定する、の3点です。
- 1稼働時間・契約条件を入力する
- 2翌月10日に入力締め
- 3月次確定(第1版)
- 4直すときは解除して理由を書き、再確定して第2版を積む
直すたびに版が積まれ、前の版は消えない
確定するたびに第1版、第2版…と版を積み、古い版は消しません。確定し直すときは理由の記入を必須にし、後から「なぜこの版があるのか」を理由欄だけで追えるようにしました。
確定した月は、画面を開いても計算し直さず、保存した値をそのまま出します。今のデータで計算した結果と差が出たときは、差額を知らせるだけで、黙って書き換えません。
合計だけでなく、参画1件ごとの明細も一緒に保存しています。9月15日の調査で一番時間がかかったのが「どの案件が動いたのか」の特定だったからです。確定した時点と今の明細を突き合わせ、動いた参画だけを表示する画面も用意しました。
確定の操作そのものも慎重にしています。押す前に同じ計算を先に流して金額を確かめ、確定した後は保存された値を読み直して照合します。4月は、確定前の点検で給与の実額がまだ1件も入っていないと分かったため、その時点では確定せず、取り込みを済ませてから確定しました。確定し直しても差がゼロの月は、意味のない版が増えるだけなので確定し直していません。
業務システムを発注するときに役立つ3つのこと
締めと確定のルールを、画面より先に決める
お金を扱うシステムでは、「いつ締めるか」「誰が解除できるか」「確定した数字を直すときに何を残すか」を、画面の話より先に決めることをおすすめします。後から入れると、それまでの月をどう扱うかという問題が一緒に付いてきます。「締めた後に数字を変える必要が出たら、どういう手順で直しますか」と開発会社に聞いてみると、決まっているかどうかがすぐ分かります。
「後から直せる」は「黙って変わる」と表裏です
「後から直せるようにしてほしい」は、よくいただくご要望です。ただ、直せる作りのままだと、直したことに誰も気づかないまま、すでに払った金額や報告した数字と食い違っていきます。直せることを頼むときは、あわせて「直した記録と理由が残ること」も頼んでください。
合計だけでなく、合計を作った明細も残す
合計の数字だけを残しても、「どこが変わったのか」は分かりません。その合計を作った明細も一緒に残しておけば、違いが出たときにすぐたどれます。どの数字を、どの細かさで残すかを、要件を決める段階で一緒に決めておくと安心です。





