- 電子契約システムをLaravelで構築した背景と課題
- 技術選定の理由とシステム構成
- 開発で工夫したポイント
- 導入後の成果と効果
【開発事例】電子契約システムをLaravelで構築した話
株式会社FUNBREWでは、中小企業向けの電子契約サービス「Simple Contract」を自社で企画・開発しています。
この記事では、Simple Contractの開発で直面した課題と、それをどう解決したか(あるいは、今も試行錯誤しているか)を、開発者の視点から正直にお伝えします。電子契約システムの開発を検討している方や、中小企業向けサービスの設計に悩んでいる方の参考になれば幸いです。
Simple Contractとは
Simple Contractは、中小企業や個人事業主が手軽に電子契約を利用できるサービスです。
- ターゲット:従業員数名〜数十名規模の中小企業・個人事業主
- 技術スタック:Laravel(PHP)
- 特徴:シンプルさと低コストを重視した設計
大手の電子契約サービスは機能が豊富な反面、小規模な事業者にとっては「機能が多すぎてわかりにくい」「月額費用が高い」という課題がありました。Simple Contractは、そうした小さな事業者でも気軽に使える電子契約を目指して開発しました。
開発で直面した3つの課題
課題1:中小企業の「当たり前」に合わせる難しさ
電子契約サービスの多くは、PCでの利用を前提に設計されています。しかし、中小企業の現場では必ずしもそうではありません。
実際に開発を進める中で見えてきたのは、小さな事業者ほどスマートフォンで業務を完結させたいというニーズが強いことでした。現場仕事の合間にスマホで契約書を確認・署名したい、という声は想像以上に多かったのです。
しかし、契約書のような複雑な書類をスマートフォンの小さな画面で扱うのは、UI/UXの面で大きなチャレンジです。
- 契約書のプレビューが見づらくならないか
- 署名欄のタップ操作はストレスなくできるか
- 添付ファイルの確認はスムーズか
この課題には正直、今もまだ改善の余地があります。「PC向けの画面をレスポンシブにしただけ」では解決しないケースが多く、スマホ専用のUIフローを別途設計する必要性を感じています。
課題2:LINE連携という選択
中小企業のコミュニケーションインフラとして、LINEの存在は無視できません。メールよりもLINEで連絡を取り合う事業者は多く、「契約の通知もLINEで受け取りたい」というニーズがありました。
LINE連携を実装することで、以下のような体験を実現しました。
- 契約書の署名依頼をLINEで通知
- 署名完了の通知をLINEで受信
- LINEから直接契約書の確認画面へ遷移
技術的には、LINE Messaging APIとLaravel側の通知システムを連携させています。ただし、LINEのAPIには送信制限やテンプレートの制約があり、すべてのユースケースに対応できるわけではありません。ここも試行錯誤が続いている部分です。
課題3:「シンプルさ」と「機能」のバランス
これが最も難しい課題でした。電子契約という分野には、法的要件を満たすために最低限必要な機能があります。
- 本人確認の仕組み
- タイムスタンプの付与
- 改ざん検知
- 契約書の長期保存
これらを実装すると、どうしてもシステムは複雑になります。しかし、サービス名に「シンプル」と付けている以上、ユーザーが触れる部分は極力シンプルに保つ必要があります。
私たちが取ったアプローチは、「裏側は複雑でも、表は簡単」という設計思想です。
- 法的要件を満たす処理はバックエンドで自動化し、ユーザーは意識しなくていい
- 契約書の作成は最小限のステップ(3ステップ)で完了する
- 管理画面のメニューは必要最小限に絞り、あとから機能を開放する方式にする
それでも「ここまでは必要だけど、これを入れるとシンプルさが失われる」という判断は、今も開発のたびに議論しています。正解がない問いだからこそ、ユーザーの声を聞きながら少しずつ調整を重ねています。
技術選定:なぜLaravelを選んだか
Simple Contractの開発にはPHPフレームワークのLaravelを採用しています。選定の理由は大きく3つあります。
長年の実績と成長し続けるコミュニティ
Laravelは長い間使われてきたフレームワークでありながら、今も成長を続けています。新しい技術に貪欲なコミュニティがあり、認証・通知・キュー処理など業務システムに必要な機能が標準で揃っています。枯れた技術の安心感と、最新技術へのキャッチアップを両立できるのが強みです。
中小企業との親和性が高いPHP
中小企業の現場では、PHPは非常に馴染み深い技術です。WordPressをはじめ、古くから稼働しているシステムの多くがPHPで動いています。FUNBREWは中小企業の支援を主軸にしているため、お客様の既存環境との親和性が高いPHP、そしてその上で動くLaravelは自然な選択でした。
業務システムに必要な機能が揃っている
電子契約システムには、本人確認、通知、ファイル管理、権限制御など多くの機能が求められます。Laravelはこれらの機能を標準で備えており、車輪の再発明をせずに開発を進められます。少人数のチームで効率よく開発するには、この「最初から揃っている」という点が大きなメリットでした。
この技術選定の考え方は、FUNBREWの受託開発でも同様です。詳しくはSaaS vs スクラッチ開発の記事も参考にしてください。
開発から学んだ教訓
1. ユーザーの「当たり前」を疑う
「契約書はPCで見るもの」という前提は、ターゲットによっては当てはまりません。ユーザーの実際の行動を観察することで、本当に必要なUIが見えてきます。
2. 「完璧」より「改善し続けられる設計」
最初から完璧なシステムを作ろうとすると、リリースが遅れ、市場の反応を得る機会を逃します。まずは最小限の機能でリリースし、ユーザーの声を聞きながら改善するアプローチが、特にSaaS開発では有効です。
3. 「シンプル」は「簡単」ではない
シンプルなUIを実現するためには、裏側で多くの工夫が必要です。「機能を減らす=シンプル」ではなく、「複雑さをユーザーから隠す=シンプル」という設計思想が重要でした。
FUNBREWの開発スタイル
Simple Contractの開発で培った知見は、受託開発のプロジェクトにも活かしています。プロトタイプ開発で早い段階から「動くもの」を確認いただき、要件定義の精度を高めることで、「作ってから違った」を防いでいます。
電子契約の導入メリットと法的要件については電子契約の導入ガイドで詳しく解説しています。また、Laravelを選んだ技術的な理由はなぜLaravelを選ぶのか?をご覧ください。
技術選定の全体像はシステム開発の技術選定ガイドを、開発の進め方はシステム開発の流れをあわせて参考にしてください。
まとめ
Simple Contractの開発は、今も進行中のプロジェクトです。
- 中小企業向けのUI設計は、大手向けとは異なるアプローチが必要
- LINE連携など、ターゲットが実際に使うツールとの統合が重要
- 「シンプルさ」と「機能性」のバランスは、継続的な改善で解決する
- Laravelは中小企業との親和性が高く、業務システムに必要な機能が揃っている
完成形ではなく、試行錯誤の過程をお伝えすることで、同じような課題を持つ方のヒントになれば嬉しいです。
自社サービスの開発や、業務システムの構築を検討されている方は、お問い合わせからお気軽にご相談ください。Simple Contractの開発で得た知見を活かして、最適なご提案をいたします。
この記事をシェア