「レコード番号=案件番号」にしていませんか?後から困るkintoneの落とし穴

公開日:

kintoneを使い始めて、しばらく運用していると「あれ、なんかうまくいかない」と感じる場面が出てきます。

その原因のひとつが、レコード番号をビジネス上のキー項目として使ってしまっていることです。

ここで言う「キー」とは、データを一意に識別するための番号や記号のことです。たとえば「案件番号」「顧客コード」「受注番号」など、業務の中で「この番号で管理する」と決めた識別子がキーにあたります。

「レコード番号って便利そうだし、自動で振られるから管理番号にちょうどいい!」そう思って運用を始めた方も多いのではないでしょうか。

今回は、そのやり方が後からどんな問題を引き起こすのか、そしてどう対処すればよいのかをお伝えします。

✔️そもそもレコード番号とは?

kintoneのレコード番号は、アプリにレコードが追加されるたびに自動的に採番される番号です。1から始まり、レコードが追加されるごとに1ずつ増えていきます。

この番号、一見すると管理番号として使えそうに見えます。自動で連番になるし、重複もない。入力の手間もいらない。

確かに、最初の運用ではとても便利に感じるはずです。

ところが、これをビジネス上の識別子として本格的に使い始めると、じわじわと問題が出てきます。

⚠️レコード番号の最大の落とし穴:一度使った番号は二度と使えない

レコード番号には、見落としがちな重要な仕様があります。それは、一度使った番号は二度と使えないという点です。

たとえば、レコード番号1〜10番のレコードがある状態で3番を削除したとします。

次に新しいレコードを追加しても、番号は「3」ではなく「11」になります。空いた番号が埋まることはありません。

レコード番号はあくまで「システムがレコードを内部的に識別するためのID」であり、業務上の管理番号として想定されたものではありません。

一度使われた番号は、たとえ削除されても二度と別のレコードに割り当てられることはなく、手動で採番し直すこともできません。

この仕様が問題になるのは、運用の中でレコードの削除や整理が発生したときです。

最初はテストデータの削除程度でも、運用が続くにつれて「誤登録の削除」「重複レコードの整理」「古いデータのクリーンアップ」など、レコードを削除する機会は必ず出てきます。

一見「それだけのこと」に思えますが、レコード番号を業務上のキーとして使っていると、これがさまざまな場面で問題を引き起こします。

具体的にどんな困りごとが起きるか、見ていきましょう。

😞こんな場面で困る

① アプリを作り直すと番号がリセットされる

kintoneの運用を続けていると、「やっぱりアプリの構成を見直したい」という場面が訪れます。フィールドの整理、ルックアップの組み直し、テーブル構造の変更など、理由はさまざまです。

このとき、アプリをまるごと作り直して過去データやバックアップデータを移行すると、レコード番号はまた1から始まります

(画像はクリックして拡大できます🔍 案件管理アプリを作成し直し、新案件管理アプリにデータを移したのち運用している様子。)

もし「案件番号=レコード番号」として運用していた場合、移行した途端に番号が変わってしまいます。

「案件番号100番の件ですが…」「あれ、そんな番号ないですよ?」という事態になりかねません。

さらに、移行前に削除していたレコードがあれば、新旧で番号のずれはより大きくなります。

「同じ番号は採番できない」という仕様が、アプリ再構築のたびに過去との断絶を生むのです。

② アプリ間の紐づけが壊れる

kintoneでは、ルックアップや関連レコードを使って複数のアプリを紐づけることがよくあります。たとえば「得意先マスタアプリ」と「受注アプリ」を連携させる場合、受注アプリ側に「得意先マスタのレコード番号」を入力して紐づける、というような構成です。

このとき、得意先マスタアプリのレコードが誤って削除されたとします。

慌てて同じ内容を再登録しても、同じ番号は採番できないため、新しいレコードには別の番号が振られます。元の番号は二度と使えません。

結果として、受注アプリ側が参照していた番号はすでに存在しないレコードを指したままになり、アプリ間の紐づけが壊れることになります。関連レコードには何も表示されず、気づかないまま運用が続くこともあります。

(画像はクリックして拡大できます🔍

関連レコードが表示されている左側は、きちんと顧客管理アプリのレコードと紐づいていますが、右側は紐付けが壊れてしまっています。)

紐づけを復活させるには、受注アプリ側のレコードをすべて手作業で修正しなければなりません。

受注件数が数百・数千件になっていれば、その作業量は相当なものです。

さらに、同じマスタを参照している別のアプリがあれば、そちらも同様の修正が必要になります。

③ 外部システムとの連携で番号がずれる

kintoneを他のシステムと連携して使うケースも多いです。

たとえば、freeeやGoogleスプレッドシートなど別のツールと連携していて、kintoneのレコード番号をそちらの「外部ID」フィールドや列に登録し、突合に使っているケースです。

この状態でkintone側のレコードを削除・再登録すると、同じ番号は採番できないため新しい番号が振られます。

外部システム側はもとの番号を参照したままなので、どのレコードと紐づいているか追えなくなります。

連携の規模が大きくなるほど、この番号のずれが発覚したときの修正コストは膨らみます。

☝️では、どうすればよいのか?

答えはシンプルです。ビジネス上の管理番号は、専用のフィールドを作って自分たちで管理することです。

「管理番号」を「文字列(1行)」フィールドで用意し、自社のルール(年度、部門コード、連番など)に沿った番号体系を設計しておきましょう。手入力でも構いませんし、プラグインや連携サービスを使って自動採番する方法もあります。

アールスリーが提供するkintoneをノーコードでカスタマイズできるサービス「gusuku Customine」を使えば、自動採番の仕組みをより手軽に構築できます。

「計算」フィールドで管理番号を生成することも考えられますが、いくつかの理由からおすすめしません。

計算フィールドは重複禁止の設定ができないため、CSVインポートやAPIでレコードを更新する際に、意図せず同じ番号が複数のレコードに生成されてしまうことがあります。

また、CSVインポートやAPI連携でレコードを更新する際の「更新キー」としても使用できません。

管理番号は一意性が命ですので「文字列(1行)」フィールド+重複禁止設定が確実です。

大切なのは、レコード番号とは切り離した形で、業務上の識別子を自分たちでコントロールできる状態にしておくことです。

🔍よくある「とりあえず運用」のリスク

レコード番号問題は、kintoneの「とりあえず使い始めて、後から整える」という運用スタイルが生みやすい落とし穴のひとつです。

最初は小規模だからこそ「なんとかなっている」ように見えますが、データ量が増え、関わる人が増え、連携するシステムが増えると、設計の甘さが一気に表面化します。

「後から直せばいい」と思っていても、すでに業務で使われているデータを移行・修正するのはかなりの手間がかかります。最悪の場合、運用を止めてアプリを再構築しなければならないことも。

🥸余談:欠番は気にしなくていい

管理番号を運用していると、「番号が飛んでいる!」と気にされる方がいます。

テストで入力したレコードを削除したり、誤登録を消したりすると、番号に欠番が生まれます。

(画像はクリックして拡大できます🔍 一覧左側のレコード番号4番が欠番になっています。)

ただ、これは正常な運用の結果であり、問題ではありません

管理番号は「この番号でデータを一意に識別できる」ことが目的であり、連番が美しく並んでいることは本質ではありません。

欠番があっても、データの整合性には何ら影響がありません。

「番号が飛んでいて気持ち悪い」と感じるのは自然な感覚ですが、それを気にして削除を躊躇したり、無理に番号を埋めようとしたりする必要はありません。

欠番は「過去にレコードの整理をした証」として、さらっと受け入れてしまいましょう。

📝まとめ

レコード番号は、kintoneが内部的に管理するための番号であり、ビジネス上の管理番号として設計されたものではありません

  • アプリを作り直すとリセットされる
  • アプリ間の紐づけが壊れる
  • 外部システムとの連携で混乱しやすい

これらのリスクを避けるためには、管理番号専用のフィールドを用意し、自社のルールに沿った採番設計をしておくことが重要です。

「うちのkintone、なんか使いにくくなってきた…」と感じているなら、まずレコード番号を管理番号として使っていないかどうかを確認してみてください。それだけで、運用の見通しがぐっとよくなることがあります。

📺 動画でチェック!

本コラムと連動した動画を公開しています。こちらも是非ご覧ください!

🌱kintoneの運用設計、一緒に見直しませんか?

「レコード番号で運用してしまっていて、どう直したらいいかわからない」「アプリの設計を見直したいけど、何から手をつければいいか…」

そんな状態であれば、一人で抱え込まずにアールスリーのkintone駆け込み相談室へ。

現状のアプリ設計を確認した上で、運用に合った改善案をご提案します。

整理された資料を用意する必要はありません。

まずは今抱えているお悩みを言葉にし、相談することから始めてみましょう。

アールスリーのシステム開発グループメンバーが、kintoneに関するお悩み相談を無料で何でもお受けします!

毎日開催中!お好きな曜日でお申込みいただけます!
(オンライン or 大阪オフィス来社のいずれか選択可能)