(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023158630
(43)【公開日】2023-10-30
(54)【発明の名称】契約管理プログラム、情報処理装置、情報処理システム、情報処理方法
(51)【国際特許分類】
G06Q 10/10 20230101AFI20231023BHJP
【FI】
G06Q10/10
【審査請求】未請求
【請求項の数】21
【出願形態】OL
(21)【出願番号】P 2023025862
(22)【出願日】2023-02-22
(62)【分割の表示】P 2022068057の分割
【原出願日】2022-04-18
(71)【出願人】
【識別番号】505392916
【氏名又は名称】弁護士ドットコム株式会社
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】河原塚 有希彦
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049BB67
(57)【要約】 (修正有)
【課題】ユーザが利便性よく複数の電子契約サービスを利用することができる契約管理プログラム、情報処理装置、情報処理システム及び情報処理方法を提供する。
【解決手段】ネットワークを介して接続されたサーバ、複数のユーザ端末及び外部サーバを備える情報処理システムにおいて、サーバの契約管理部が実行する契約管理プログラムは、外部の契約締結サービスに記憶された契約情報を特定するためのエンドポイントを含むリクエストを受け付ける受付ステップS502と、受付ステップにおいて受け付けたエンドポイントに基づきサーバが提供する所定のウェブページへアクセスし、エンドポイントにより特定される契約情報を取得する契約取得ステップS504と、契約取得ステップにおいて取得した契約情報を記憶する契約記憶ステップS506と、を含む。
【選択図】
図15
【特許請求の範囲】
【請求項1】
プロセッサと、記憶部とを備え、コンピュータにユーザ間の電子的な契約手続きを記憶させるための契約管理プログラムであって、
前記契約管理プログラムは、前記プロセッサに、
外部の契約締結サービスに記憶された契約情報を特定するためのエンドポイントを含むリクエストを受け付ける受付ステップと、
前記受付ステップにおいて受け付けた前記エンドポイントに基づきアクセスし、前記エンドポイントにより特定される前記契約情報を取得する契約取得ステップと、
前記契約取得ステップにおいて取得した前記契約情報を記憶する契約記憶ステップと、
を実行させる契約管理プログラム。
【請求項2】
前記受付ステップは、ユーザから、前記外部の契約締結サービスに記憶された契約情報を特定するためのエンドポイントを受け付けるステップである、
請求項1記載の契約管理プログラム。
【請求項3】
前記受付ステップは、前記ユーザから、前記エンドポイントが記載された電子メールを受信することにより、前記エンドポイントを含む前記リクエストを受け付けるステップである、
請求項2記載の契約管理プログラム。
【請求項4】
前記受付ステップは、前記ユーザから、前記ユーザが所属する組織または会社のドメイン名を有するメールアドレスを介して、前記エンドポイントが記載された電子メールを受信することにより、前記エンドポイントを含む前記リクエストを受け付けるステップである、
請求項3記載の契約管理プログラム。
【請求項5】
前記受付ステップは、前記ユーザから、チャットサービスを介して、前記エンドポイントが記載されたメッセージを受信することにより、前記エンドポイントを含む前記リクエストを受け付けるステップである、
請求項2記載の契約管理プログラム。
【請求項6】
前記契約管理プログラムは、前記プロセッサに、
ユーザにより参照可能な1または複数の前記契約情報のそれぞれに関連づけられた1または複数のエンドポイントの一覧を取得する一覧取得ステップと、
前記一覧取得ステップにおいて取得した前記1または複数のエンドポイントに含まれる、少なくとも1の所定のエンドポイントを特定する契約特定ステップと、
を実行させ、
前記受付ステップは、前記契約特定ステップにおいて特定された前記所定のエンドポイントを含む前記リクエストを受け付けるステップである、
請求項1記載の契約管理プログラム。
【請求項7】
前記契約管理プログラムは、前記プロセッサに、
前記一覧取得ステップにおいて取得した前記1または複数のエンドポイントのうち、前記契約記憶ステップにおいて既に記憶された前記契約情報に対応する1または複数の除外対象のエンドポイントを特定する除外特定ステップと、
を実行させ、
前記契約特定ステップは、前記一覧取得ステップにおいて取得した前記1または複数のエンドポイントから、前記除外特定ステップにおいて特定した前記除外対象のエンドポイントを除いたエンドポイントから、少なくとも1の前記所定のエンドポイントを特定するステップである、
請求項6記載の契約管理プログラム。
【請求項8】
前記一覧取得ステップは、所定の期間ごとに自動的に実行される、
請求項6記載の契約管理プログラム。
【請求項9】
前記一覧取得ステップは、前記ユーザまたは管理者からの指示に応じて実行される、
請求項6記載の契約管理プログラム。
【請求項10】
前記契約管理プログラムは、前記プロセッサに、
前記受付ステップにおいて受け付けた前記電子メールの送信先の電子メールアドレスに基づき分類情報を特定する分類特定ステップと、
前記記憶ステップにおいて記憶された前記契約情報に、前記分類特定ステップにおいて特定された前記分類情報を関連づけて記憶する分類記憶ステップと、
を実行させる、
請求項3記載の契約管理プログラム。
【請求項11】
前記契約管理プログラムは、前記プロセッサに、
前記受付ステップにおいて受け付けた前記電子メールの送信元の電子メールアドレスに基づき分類情報を特定する分類特定ステップと、
前記記憶ステップにおいて記憶された前記契約情報に、前記分類特定ステップにおいて特定された前記分類情報を関連づけて記憶する分類記憶ステップと、
を実行させる、
請求項3記載の契約管理プログラム。
【請求項12】
前記契約管理プログラムは、前記プロセッサに、
前記受付ステップにおいて受け付けた前記電子メールの件名、本文または添付ファイルの少なくとも1つに基づき分類情報を特定する分類特定ステップと、
前記記憶ステップにおいて記憶された前記契約情報に、前記分類特定ステップにおいて特定された前記分類情報を関連づけて記憶する分類記憶ステップと、
を実行させる、
請求項3記載の契約管理プログラム。
【請求項13】
前記契約管理プログラムは、前記プロセッサに、
前記受付ステップにおいて受け付けた前記メッセージにおいてメンションされたアカウント情報に基づき分類情報を特定する分類特定ステップと、
前記記憶ステップにおいて記憶された前記契約情報に、前記分類特定ステップにおいて特定された前記分類情報を関連づけて記憶する分類記憶ステップと、
を実行させる、
請求項5記載の契約管理プログラム。
【請求項14】
前記契約管理プログラムは、前記プロセッサに、
前記受付ステップにおいて受け付けた前記メッセージの送信元のアカウント情報に基づき分類情報を特定する分類特定ステップと、
前記記憶ステップにおいて記憶された前記契約情報に、分類情報を関連づけて記憶する分類記憶ステップと、
を実行させる、
請求項5記載の契約管理プログラム。
【請求項15】
前記契約記憶ステップは、前記受付ステップにおいて受信した前記電子メールに添付されている前記契約情報を記憶するステップである、
請求項3記載の契約管理プログラム。
【請求項16】
前記契約記憶ステップは、前記契約情報を、前記契約情報を特定するためのエンドポイントと関連づけて記憶する、
請求項1記載の契約管理プログラム。
【請求項17】
前記契約管理プログラムは、前記プロセッサに、
前記受付ステップにおいて受け付けた前記エンドポイントへアクセスするためのアクセス権限情報を取得する権限取得ステップと、
を実行させ、
前記契約取得ステップは、前記受付ステップにおいて受け付けた前記エンドポイントに、前記権限取得ステップにおいて取得した前記アクセス権限情報に基づきアクセスし、前記契約情報を取得するステップであり、
前記権限取得ステップは、前記受付ステップにおいて受け付けた前記エンドポイントへアクセスするための前記アクセス権限情報を取得することができなかった場合に、ユーザまたは管理者へ所定の通知を行う通知ステップを含む、
請求項1記載の契約管理プログラム。
【請求項18】
前記契約管理プログラムは、前記プロセッサに、
前記権限取得ステップは、前記通知ステップにおいて通知が行われた前記ユーザまたは管理者から、前記通知が行われた後に受け付けた前記アクセス権限情報を取得するステップを含み、
前記契約取得ステップは、前記権限取得ステップにおいて、前記通知が行われた後に、前記ユーザまたは管理者から前記アクセス権限情報を取得したことを検知して、前記契約情報を取得するステップである、
請求項17記載の契約管理プログラム。
【請求項19】
プロセッサと、記憶部とを備える情報処理装置であって、
前記プロセッサに、請求項1から18のいずれか記載の契約管理プログラムを実行させる、
情報処理装置。
【請求項20】
プロセッサと、記憶部とを備える情報処理装置を含む情報処理システムであって、
前記プロセッサに、請求項1から18のいずれか記載の契約管理プログラムを実行させる、情報処理システム。
【請求項21】
プロセッサと、記憶部とを備えるコンピュータにより実行される情報処理方法であって、
前記プロセッサに、請求項1から18のいずれか記載の契約管理プログラムを実行させる、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、契約管理プログラム、情報処理装置、情報処理システム、情報処理方法に関する。
【背景技術】
【0002】
コンピュータ技術の発達および普及に伴い、これまでは紙媒体が利用されていた書類が電子化されつつある。例えば、当事者の署名および押印が必要となる契約書といった書類も、電子データで管理することが考えられている。
特許文献1には、外部システムとネットワークを介して通信可能に接続されている情報処理システムが開示されている。
特許文献2には、銀行などの金融機関にとって口座開設の処理にかかる手間や時間を少なくすることができる新規口座開設方法及びシステムが開示されている。
特許文献3には、バイヤが、そのバイヤの行った様々な商取引及びそれらの決済に関する情報を一括して管理できる技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-023409号公報
【特許文献2】特開2003-122922号公報
【特許文献3】特開2005-317039号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ユーザによっては、複数の電子契約サービスを利用している場合がある。特に、電子契約サービスにおいては、契約締結にあたり、契約締結の当事者双方が同じ電子契約サービスを利用する必要性がある。そのため、ユーザが電子契約サービスを利用して締結した契約情報はそれぞれの電子契約サービス内に記憶し、管理されるため、ユーザは自身が締結した契約情報を複数の電子契約サービスに跨がって管理する必要があり、ユーザの利便性に乏しかった。
そこで、本開示は、上記課題を解決すべくなされたものであって、その目的は、ユーザに対して、利便性よく複数の電子契約サービスを利用する技術を提供することである。
【課題を解決するための手段】
【0005】
プロセッサと、記憶部とを備え、コンピュータにユーザ間の電子的な契約手続きを記憶させるための契約管理プログラムであって、契約管理プログラムは、プロセッサに、外部の契約締結サービスに記憶された契約情報を特定するためのエンドポイントを含むリクエストを受け付ける受付ステップと、受付ステップにおいて受け付けたエンドポイントに基づきアクセスし、エンドポイントにより特定される契約情報を取得する契約取得ステップと、契約取得ステップにおいて取得した契約情報を記憶する契約記憶ステップと、を実行させる契約管理プログラム。
【発明の効果】
【0006】
本開示によれば、ユーザは利便性よく複数の電子契約サービスを利用することができる。
【図面の簡単な説明】
【0007】
【
図1】情報処理システム1の機能構成を示すブロック図である。
【
図2】サーバ10の機能構成を示すブロック図である。
【
図3】第1ユーザ端末20の機能構成を示すブロック図である。
【
図4】第2ユーザ端末30の機能構成を示すブロック図である。
【
図5】外部サーバ40の機能構成を示すブロック図である。
【
図6】ユーザテーブル1012のデータ構造を示す図である。
【
図7】グループテーブル1013のデータ構造を示す図である。
【
図8】書類テーブル1014のデータ構造を示す図である。
【
図9】確認テーブル1015のデータ構造を示す図である。
【
図10】入力項目テーブル1016のデータ構造を示す図である。
【
図11】アクセス権限テーブル1017のデータ構造を示す図である。
【
図12】契約書グループテーブル1018のデータ構造を示す図である。
【
図13】契約書作成処理の動作を示すフローチャートである。
【
図14】契約書確認処理の動作を示すフローチャートである。
【
図15】契約書管理処理(第一実施例)の動作を示すフローチャートである。
【
図16】契約書管理処理(第二実施例)の動作を示すフローチャートである。
【
図17】契約書管理処理(第三実施例)の動作を示すフローチャートである。
【
図18】契約書作成処理の動作を示す画面例である。
【
図19】第2ユーザ端末30に通知される確認依頼メッセージを示す画面例である。
【
図20】契約書確認処理の動作を示す画面例である。
【
図21】第2ユーザ端末30に通知される締結完了メッセージを示す画面例である。
【
図22】契約書管理処理の動作を示す画面例である。
【
図23】コンピュータ90の基本的なハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0008】
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【0009】
<情報処理システム1の構成>
本開示における情報処理システム1は、複数のユーザ間において締結された契約情報を記憶、管理するサービスを実現するための情報処理システムである。
情報処理システム1は、ネットワークNを介して接続された、サーバ10、第1ユーザ端末20、第2ユーザ端末30、外部サーバ40の情報処理装置を備える。
図1は、情報処理システム1の機能構成を示すブロック図である。
図2は、サーバ10の機能構成を示すブロック図である。
図3は、第1ユーザ端末20の機能構成を示すブロック図である。
図4は、第2ユーザ端末30の機能構成を示すブロック図である。
図5は、外部サーバ40の機能構成を示すブロック図である。
【0010】
各情報処理装置は演算装置と記憶装置とを備えたコンピュータにより構成されている。コンピュータの基本ハードウェア構成および、当該ハードウェア構成により実現されるコンピュータの基本機能構成は後述する。サーバ10、第1ユーザ端末20、第2ユーザ端末30、外部サーバ40のそれぞれについて、後述するコンピュータの基本ハードウェア構成およびコンピュータの基本機能構成と重複する説明は省略する。
【0011】
<サーバ10の構成>
サーバ10は、複数のユーザ間において電子的な契約締結サービスを提供する情報処理装置である。サーバ10は、複数のユーザ間において締結された契約情報を記憶、管理するサービスを提供する情報処理装置である。
サーバ10は、記憶部101、制御部104を備える。
【0012】
<サーバ10の記憶部101の構成>
サーバ10の記憶部101は、アプリケーションプログラム1011、ユーザテーブル1012、グループテーブル1013、書類テーブル1014、確認テーブル1015、入力項目テーブル1016、アクセス権限テーブル1017、契約書グループテーブル1018を備える。
【0013】
アプリケーションプログラム1011は、サーバ10の制御部104を各機能ユニットとして機能させるためのプログラムである。
【0014】
ユーザテーブル1012は、サービスを利用する会員ユーザ(以下、ユーザ)の情報を記憶し管理するテーブルである。ユーザは、サービスの利用登録を行うことで、当該ユーザの情報がユーザテーブル1012の新しいレコードに記憶される。
これにより、ユーザは本開示にかかるサービスを利用できるようになる。なお、本開示においてサービスを利用するユーザは、必ずしもユーザテーブル1012に登録されている必要はない。
ユーザテーブル1012は、ユーザIDを主キーとして、ユーザID、ユーザ名、メールアドレス、グループID、承認権限のカラムを有するテーブルである。
図6は、ユーザテーブル1012のデータ構造を示す図である。
【0015】
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。ユーザ識別情報は、ユーザごとにユニークな値が設定されている項目である。
ユーザ名は、ユーザの氏名を記憶する項目である。ユーザ名は、氏名ではなく、ニックネームなど任意の文字列を設定しても良い。
メールアドレスは、ユーザのメールアドレスを記憶する項目である。
グループIDは、ユーザが所属するグループのグループ識別情報を記憶する項目である。グループは、後述するグループテーブル1013により定義され、ユーザは、複数のグループに所属するものとしても構わない。
承認権限は、ユーザの承認締結に関する権限情報を記憶する項目である。契約締結を承認する権限(承認権限)を有するユーザには、Trueなど契約締結を承認する権限を有する情報が記憶される。一方、契約締結を承認する権限を有さないユーザには、False、ブランク、ヌル値など契約締結を承認する権限を有さない情報が記憶される。
契約情報に応じて承認権限を設定できる構成としても良い。例えば、ユーザAは、特定の契約情報Aに対して承認権限を有するが、特定の契約情報Bに対して承認権限を有さない構成としても良い。
秘密保持契約、共同研究契約、請負契約などの契約情報の種別(契約情報種別)に応じて承認権限を設定できる構成としても良い。例えば、ユーザAは、秘密保持契約に対して承認権限を有するが、請負契約に対しては承認権限を有さない構成としても良い。
その他、ユーザの所属部署、役所などに応じて複数段階(レベル、ランク)の権限情報を記憶する構成としても良い。例えば、派遣社員などはC、一般社員はB、管理職はA、役員はSという情報を承認権限の項目に記憶し、契約情報の契約種別情報、契約金額などに応じて、所定のランク以上(例えば、秘密保持契約はA以上など)の承認権限を有するユーザのみ契約締結を承認することができる構成としても良い。
【0016】
グループテーブル1013は、ユーザが所属するグループに関する情報(グループ情報)を記憶し、管理するテーブルである。グループは、法人、会社、サークル、団体、会社内の部署など、ユーザが所属する任意のグループを定義することができる。
グループテーブル1013は、グループIDを主キーとして、グループID、グループ名、管理者IDのカラムを有するテーブルである。
図7は、グループテーブル1013のデータ構造を示す図である。
【0017】
グループIDは、グループを識別するためのグループ識別情報を記憶する項目である。グループ識別情報は、グループごとにユニークな値が設定されている項目である。
グループ名は、グループの名称を記憶する項目である。グループ名は、任意の文字列を設定することができる。
管理者IDは、グループにおいて管理者権限を有するユーザのユーザ識別情報を記憶する項目である。管理者権限を有するユーザは、組織などのグループにおいて所定以上の地位や権限などを有するユーザを任意に定めて設定することができる。
【0018】
書類テーブル1014は、作成者と受信者との間で取り交わされる電子契約に関する情報(契約情報)を記憶し、管理するためのテーブルである。
書類テーブル1014は、書類IDを主キーとして、書類ID、書類データ、作成者ID、エンドポイントのカラムを有するテーブルである。
図8は、書類テーブル1014のデータ構造を示す図である。
【0019】
書類IDは、契約情報を識別するための書類識別情報を記憶する項目である。書類識別情報は、契約情報ごとにユニークな値が設定されている項目である。
書類データは、契約情報(バイナリまたはテキストデータ)を記憶する項目である。具体的に、書類データは、PDF(Portable Document Format)、Word、XML(ExtenSible Markup Language)などの任意のデータ形式のデータが含まれる。
作成者ID、契約情報の作成者であるユーザを識別するためのユーザ識別情報を記憶する項目である。
エンドポイントは、契約情報が外部の電子契約サービスから取得した契約情報である場合に、当該契約情報を取得する際に参照した外部の電子契約サービスにおける当該契約情報を特定するためのエンドポイントを記憶する項目である。具体的には、契約情報を特定するページのURL等の、ユーザが契約情報を参照するためのウェブページを特定するための文字列等が記憶される。
【0020】
確認テーブル1015は、契約情報の確認者となるユーザのメールアドレスを含む情報(確認者情報)を記憶し、管理するテーブルである。
確認テーブル1015は、書類ID、確認順序、確認者メールアドレス、確認フラグ、言語データ、アクセスコード、日時のカラムを有するテーブルである。
図9は、確認テーブル1015のデータ構造を示す図である。
【0021】
書類IDは、確認者により確認対象となる契約情報の書類識別情報を記憶する項目である。
確認順序は、確認者により契約情報が確認される際の確認順序に関する情報を記憶する項目である。作成者により記憶された契約情報は、確認順序の順番に確認者に回覧され、確認が行われる。
確認者メールアドレスは、契約情報の確認者のメールアドレスを記憶する項目である。確認者のメールアドレスは、本開示にかかるサービスの利用にあたり予めユーザ登録を行う必要はない。つまり、確認者メールアドレスは、ユーザテーブル1012に含まれている必要はない。
確認フラグは、確認者による契約情報の確認手続きの完了有無を識別するための確認識別情報を記憶する項目である。確認者により契約情報の確認が完了すると、確認フラグの項目にTrueの値などの確認が完了したことを示す情報が記憶される。
言語データは、確認者の言語に関する情報(言語情報)を記憶する項目である。
アクセスコードは、確認者に対して設定されたアクセスコードを記憶する項目である。
日時は、確認者による契約情報の確認手続きが行われた日時を記憶する項目である。具体的には、確認識別情報が確認フラグの項目に記憶された日時が記憶される。
【0022】
入力項目テーブル1016は、電子契約情報に関連付けられた入力項目に関する情報(入力項目情報)を記憶し、管理するテーブルである。
入力項目テーブル1016は、入力項目ID、書類ID、入力者ID、入力データ、入力規則、日時のカラムを有するテーブルである。
図10は、入力項目テーブル1016のデータ構造を示す図である。
【0023】
入力項目IDは、入力項目を識別するための入力項目識別情報を記憶する項目である。
書類IDは、入力項目が関連付けられる電子契約情報の書類識別情報を記憶する項目である。
入力者IDは、入力項目に対して入力データを入力した入力者のユーザ識別情報またはメールアドレスを記憶する項目である。具体的に、入力者IDには、作成者ID、作成者IDにより特定されるユーザのメールアドレス、確認者メールアドレスなどが記憶される。
入力データは、入力者により入力項目に入力された入力データを記憶する項目である。
入力規則は、入力項目の入力規則に関する入力規則情報を記憶する項目である。入力規則としては、日付(date)、日時(datetime)、文字列(text)、数値(integer)などのデータ型のほか、文字列であれば文字数、文字列の正規表現など任意の入力項目の入力規則に関する入力規則情報を記憶することができる。
日時は、入力者により入力項目に入力データが入力された日時を記憶する項目である。
【0024】
アクセス権限テーブル1017は、アクセス権限に関する情報(アクセス権限情報)を記憶し管理するためのテーブルである。
アクセス権限テーブル1017は、ユーザID、サービスID、アクセストークンのカラムを有するテーブルである。
図11は、アクセス権限テーブル1017のデータ構造を示す図である。
【0025】
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。
サービスIDは、サービスを識別するためのサービス識別情報を記憶する項目である。具体的に、サービスIDは、外部の電子契約サービスごとに、当該電子契約サービスを識別するための文字列等が記憶される。
アクセストークンは、ユーザがサービスIDにより特定される外部の電子契約サービスへアクセスする際のアクセス権限情報を記憶する項目である。具体的に、アクセストークンは、外部の電子契約サービスにおいてユーザに対して発行される文字列を記憶する。外部の電子契約サービスへアクセスする際に、アクセストークンを送信することにより、外部の電子契約サービスは、アクセストークンの文字列に基づきユーザを識別するとともに、当該ユーザに対して各種情報サービスを提供する。アクセストークンは、ユーザID、パスワード等の、一般的なウェブサービスへログインし、アクセスする際に要求される認証情報を含んでも良い。
【0026】
契約書グループテーブル1018は、契約書グループに関する情報(契約書グループ情報)を記憶し管理するためのテーブルである。契約情報は、契約情報を管理するための1または複数のキャビネット(分類情報)と関連づけられて記憶され、管理することができる。情報処理サービスに応じて、キャビネットは、グループ、タグ、ラベル等と呼ばれることがある。
契約書グループテーブル1018は、書類ID、キャビネットIDのカラムを有するテーブルである。
図12は、契約書グループテーブル1018のデータ構造を示す図である。
【0027】
書類IDは、契約情報を識別するための書類識別情報を記憶する項目である。
キャビネットIDは、キャビネットを識別するためのキャビネット識別情報を記憶する。キャビネットIDは、契約情報を管理、分類するための分類情報である。
【0028】
<サーバ10の制御部104の構成>
サーバ10の制御部104は、ユーザ登録制御部1041、契約作成部1042、契約確認部1043、契約管理部1044を備える。制御部104は、記憶部101に記憶されたアプリケーションプログラム1011を実行することにより、各機能ユニットが実現される。
【0029】
ユーザ登録制御部1041は、本開示に係るサービスの利用を希望するユーザの情報をユーザテーブル1012に記憶する処理を行う。
ユーザテーブル1012に記憶される情報は、ユーザが任意の情報処理端末からサービス提供者が運営するウェブページなどを開き、所定の入力フォームに情報を入力しサーバ10へ送信する。ユーザ登録制御部1041は、受信した情報をユーザテーブル1012の新しいレコードに記憶し、ユーザ登録が完了する。これにより、ユーザテーブル1012に記憶されたユーザはサービスを利用することができるようになる。
ユーザ登録制御部1041によるユーザ情報のユーザテーブル1012への登録に先立ち、サービス提供者は所定の審査を行いユーザによるサービス利用可否を制限しても良い。
ユーザIDは、ユーザを識別できる任意の文字列または数字で良く、ユーザが希望する任意の文字列または数字、もしくはユーザ登録制御部1041が自動的に任意の文字列または数字を設定しても良い。
【0030】
契約作成部1042は、契約書作成処理を実行する。詳細は後述する。
【0031】
契約確認部1043は、契約書確認処理を実行する。詳細は後述する。
【0032】
契約管理部1044は、契約書管理処理(第一実施例)、契約書管理処理(第二実施例)、契約書管理処理(第三実施例)を実行する。詳細は後述する。
【0033】
<第1ユーザ端末20の構成>
第1ユーザ端末20は、サービスを利用するユーザが操作する情報処理装置である。第1ユーザ端末20は、例えば、据え置き型のPC(Personal Computer)、ラップトップPCであってもよいし、スマートフォン、タブレット等の携帯端末でもよい。また、HMD(Head Mount Display)、腕時計型端末等のウェアラブル端末であってもよい。
第1ユーザ端末20は、記憶部201、制御部204、入力装置206、出力装置208を備える。
【0034】
<第1ユーザ端末20の記憶部201の構成>
第1ユーザ端末20の記憶部201は、第1ユーザID2011、アプリケーションプログラム2012を備える。
【0035】
第1ユーザID2011はユーザのアカウントIDである。ユーザは、第1ユーザ端末20から第1ユーザID2011を、サーバ10へ送信する。サーバ10は、第1ユーザID2011に基づきユーザを識別し、本開示にかかるサービスをユーザに対して提供する。なお、第1ユーザID2011には、第1ユーザ端末20を利用しているユーザを識別するにあたりサーバ10から一時的に付与されるセッションIDなどの情報を含む。
【0036】
アプリケーションプログラム2012は、記憶部201に予め記憶されていても良いし、通信IFを介してサービス提供者が運営するウェブサーバ等からダウンロードする構成としても良い。
アプリケーションプログラム2012は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
アプリケーションプログラム2012は、第1ユーザ端末20に記憶されているウェブブラウザアプリケーション上で実行されるJavaScript(登録商標)などのインタープリター型プログラミング言語を含む。
【0037】
<第1ユーザ端末20の制御部204の構成>
第1ユーザ端末20の制御部204は、入力制御部2041、出力制御部2042を備える。制御部204は、記憶部201に記憶されたアプリケーションプログラム2012を実行することにより、各機能ユニットが実現される。
【0038】
<第1ユーザ端末20の入力装置206の構成>
第1ユーザ端末20の入力装置206は、カメラ2061、マイク2062、位置情報センサ2063、モーションセンサ2064、タッチデバイス2065を備える。
【0039】
<第1ユーザ端末20の出力装置208の構成>
第1ユーザ端末20の出力装置208は、ディスプレイ2081、スピーカ2082を備える。
【0040】
<第2ユーザ端末30の構成>
第2ユーザ端末30は、サービスを利用するユーザが操作する情報処理装置である。第2ユーザ端末30は、例えば、据え置き型のPC(Personal Computer)、ラップトップPCであってもよいし、スマートフォン、タブレット等の携帯端末でもよい。また、HMD(Head Mount Display)、腕時計型端末等のウェアラブル端末であってもよい。
第2ユーザ端末30は、記憶部301、制御部304、入力装置306、出力装置308を備える。
【0041】
<第2ユーザ端末30の記憶部301の構成>
第2ユーザ端末30の記憶部301は、第2ユーザID3011、アプリケーションプログラム3012を備える。
【0042】
第2ユーザID3011はユーザのアカウントIDである。ユーザは、第2ユーザ端末30から第2ユーザID3011を、サーバ10へ送信する。サーバ10は、第2ユーザID3011に基づきユーザを識別し、本開示にかかるサービスをユーザに対して提供する。なお、第2ユーザID3011には、第2ユーザ端末30を利用しているユーザを識別するにあたりサーバ10から一時的に付与されるセッションIDなどの情報を含む。
【0043】
アプリケーションプログラム3012は、記憶部301に予め記憶されていても良いし、通信IFを介してサービス提供者が運営するウェブサーバ等からダウンロードする構成としても良い。
アプリケーションプログラム3012は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
アプリケーションプログラム3012は、第2ユーザ端末30に記憶されているウェブブラウザアプリケーション上で実行されるJavaScript(登録商標)などのインタープリター型プログラミング言語を含む。
【0044】
<第2ユーザ端末30の制御部304の構成>
第2ユーザ端末30の制御部304は、入力制御部3041、出力制御部3042を備える。制御部304は、記憶部301に記憶されたアプリケーションプログラム3012を実行することにより、各機能ユニットが実現される。
【0045】
<第2ユーザ端末30の入力装置306の構成>
第2ユーザ端末30の入力装置306は、カメラ3061、マイク3062、位置情報センサ3063、モーションセンサ3064、キーボード3065を備える。
【0046】
<第2ユーザ端末30の出力装置308の構成>
第2ユーザ端末30の出力装置308は、ディスプレイ3081、スピーカ3082を備える。
【0047】
<外部サーバ40の構成>
外部サーバ40は、本開示にかかる電子契約締結サービスを運営する事業主体とは異なる他の事業主体が運営する情報処理装置である。外部サーバ40は、記憶部401、制御部404を備える。外部サーバ40が備える各構成要素は、それぞれ、サーバ10が備える各構成要素と同様であるため詳細な説明は省略する。
【0048】
<外部サーバ40の記憶部401の構成>
外部サーバ40の記憶部401は、アプリケーションプログラム4011、ユーザテーブル4012、グループテーブル4013、書類テーブル4014、確認テーブル4015、入力項目テーブル4016を備える。
【0049】
<外部サーバ40の制御部404の構成>
外部サーバ40の制御部404は、ユーザ登録制御部4041、契約作成部4042、契約確認部4043を備える。制御部404は、記憶部401に記憶されたアプリケーションプログラム4011を実行することにより、各機能ユニットが実現される。
【0050】
<情報処理システム1の動作>
以下、情報処理システム1の各処理について説明する。
図13は、契約書作成処理の動作を示すフローチャートである。
図14は、契約書確認処理の動作を示すフローチャートである。
図15は、契約書管理処理(第一実施例)の動作を示すフローチャートである。
図16は、契約書管理処理(第二実施例)の動作を示すフローチャートである。
図17は、契約書管理処理(第三実施例)の動作を示すフローチャートである。
図18は、契約書作成処理の動作を示す画面例である。
図19は、第2ユーザ端末30に通知される確認依頼メッセージを示す画面例である。
図20は、契約書確認処理の動作を示す画面例である。
図21は、第2ユーザ端末30に通知される締結完了メッセージを示す画面例である。
図22は、契約書管理処理の動作を示す画面例である。
【0051】
本開示において、サーバ10における契約書作成処理、契約書確認処理を以下に説明する。外部サーバ40も同様の契約書作成処理、契約書確認処理を実行することが可能である。外部サーバ40における契約書作成処理、契約書確認処理は、それぞれ、サーバ10における契約書作成処理、契約書確認処理と同様であるため説明を省略する。
【0052】
<契約書作成処理>
契約書作成処理は、作成者が電子契約情報を作成し、確認者に対して送信する処理である。
【0053】
図18は、契約書作成処理の動作を示す画面例である。第1ユーザ端末20のディスプレイ2081に表示される、契約情報を作成するための画面50には、現在の契約情報の作成状況を示すステータス510、入力項目を指定するためのボタン521、522、523、契約情報表示エリア530、書類データ531、入力項目532、533、534、送信ボタン540が表示される。
【0054】
<契約書作成処理の概要>
契約書作成処理は、作成者が電子契約情報を作成し、電子契約情報の宛先となる確認者を設定し、電子契約情報に対する入力項目を設定し、入力項目に対する入力規則を設定し、作成者から入力項目に対する入力データを受け付け、設定した確認者に対して電子契約情報を送付する一連の処理である。
【0055】
<契約書作成処理の詳細>
ステップS101において、サーバ10の契約作成部1042は、作成者から確認者との間で契約締結の対象となる契約情報を受け付ける。
具体的に、第1ユーザは、第1ユーザ端末20の入力装置206などを操作し、契約書に関する書類データを含む契約情報を作成する。書類データは、PDF(Portable Document Format)、Word、XML(ExtenSible Markup Language)などの任意のデータ形式の書類データを契約情報に含めることができる。
第1ユーザは、第1ユーザ端末20の入力装置206などを操作し、作成した書類データ、第1ユーザID2011をサーバ10へ送信する。サーバ10の契約作成部1042は、受信した第1ユーザID2011、書類データを受け付け、それぞれ、書類テーブル1014の新たなレコードの作成者ID、書類データの項目に記憶する。これにより、サーバ10の契約作成部1042は、新たな契約情報を書類テーブル1014に記憶する。
【0056】
契約情報を作成するための画面50には、書類テーブル1014に記憶された書類データ531が表示される。
【0057】
ステップS102において、第1ユーザは、第1ユーザ端末20の入力装置206などを操作し、契約情報の確認者(受信者)となるユーザを選択し特定する。本開示において、第1ユーザは、受信者として第2ユーザを選択し特定するものとする。
第1ユーザは、第1ユーザ端末20の入力装置206などを操作し、確認者となる第2ユーザのメールアドレスを入力し、サーバ10へ送信する。サーバ10の契約作成部1042は、受信したメールアドレス、ステップS101において作成し、記憶した契約情報の書類IDを、それぞれ確認テーブル1015の確認者メールアドレス、書類IDの項目に記憶し、契約情報と第2ユーザのメールアドレスとを関連付けて記憶する。なお、第1ユーザは、第2ユーザの言語、アクセスコードを設定し、第2ユーザのメールアドレスと関連付けて記憶しても良い。
このとき、確認テーブル1015の確認順序の項目には1の値を記憶する。ステップS102において、第1ユーザは、複数の確認者となるユーザを選択し設定できるものとしても良い。この場合、選択順序に応じて、確認者となるユーザの確認順序の項目の値が1つずつインクリメントされ記憶される。これにより、後述する契約書確認処理における確認者の回覧順序が設定される。なお、回覧順序の設定は必須ではない。
【0058】
ステップS103において、第1ユーザは、第1ユーザ端末20の入力装置206などを操作し、契約情報に対する入力項目を設定する。
具体的に、第1ユーザは、第1ユーザ端末20の入力装置206などを操作し、ステップS101において作成し、記憶した契約情報に対して複数の入力項目を設定する。入力項目は、印鑑データを押印する押印欄、署名データなどのテキストデータを入力する入力欄、チェック項目を選択できるチェックボックス欄、日付を入力する日付欄など任意の入力項目を設定することができる。
第1ユーザは、第1ユーザ端末20の入力装置206などを操作し、入力項目を追加するリクエストをサーバ10へ送信する。サーバ10の契約作成部1042は、リクエストを受信すると、契約情報の書類IDを、入力項目テーブル1016の新たなレコードの書類IDに記憶する。これにより、新たに追加された入力項目情報が、契約情報と関連付けられ記憶される。なお、第1ユーザは、複数の入力項目情報を、契約情報と関連づけ記憶することができる。
【0059】
ステップS104において、第1ユーザは、追加するそれぞれの入力項目に対して入力規則を設定する。第1ユーザは、第1ユーザ端末20の入力装置206などを操作することにより、ステップS103において設定した入力項目情報ごとの入力規則を指定し、サーバ10へ送信する。サーバ10の契約作成部1042は、受信した入力規則を、入力項目テーブル1016のそれぞれの入力項目情報のレコードの入力規則の項目に記憶する。これにより、入力項目ごとの入力規則を設定することができる。
【0060】
ステップS105において、サーバ10の契約作成部1042は、第1ユーザが入力した複数の入力項目に対する入力データを受け付ける。
具体的に、第1ユーザは、第1ユーザ端末20の入力装置206などを操作することにより、ステップS104において設定した入力項目ごとに入力データを入力する。例えば、第1ユーザは、管理番号が設定された入力項目に、自身が所属するグループにおける整理番号などの契約情報を管理するための番号の入力データを入力しても良い。第1ユーザは、契約締結日が設定された入力項目に、当該契約情報の契約締結日の日付の入力データを入力しても良い。第1ユーザは、入力項目への入力データの入力が完了したら、サーバ10へ入力項目ごとの入力項目ID、入力データを送信する。
サーバ10の契約作成部1042は、入力項目ごとの入力項目ID、入力データを受信し、受け付ける。サーバ10の契約作成部1042は、受信した入力項目IDで特定される入力項目テーブル1016の入力項目情報の入力データの項目に、受信した入力データを記憶する。これにより、第1ユーザが入力した入力データが、入力項目テーブル1016に記憶される。
【0061】
サーバ10の契約作成部1042は、第1ユーザから、第2ユーザに対して契約情報に対する契約締結を依頼する指示を受け付ける。
具体的に、第1ユーザは、第1ユーザ端末20の入力装置206を操作し、契約情報を作成するための画面50に、表示された送信ボタン540を押下することにより、契約情報を送信するリクエストをサーバ10へ送信する。
【0062】
ステップS106において、サーバ10の契約作成部1042は、第1ユーザから契約情報の確認依頼が送信されたことを通知するメッセージを第2ユーザへ送信する。具体的に、サーバ10の契約作成部1042は、確認テーブル1015の確認順序の項目を検索し、確認順序の項目に記憶された値が最も小さい最初の確認者となるユーザ(第1確認ユーザ)を特定する。本開示において第1確認ユーザは、一例として、第2ユーザとする。サーバ10の契約作成部1042は、第2ユーザのメールアドレスへ、第1ユーザから契約情報の確認依頼が送信されたことを通知するメッセージをメールなどの連絡手段にて送信する。
第2ユーザへ通知するメッセージには、契約情報を特定するための書類IDを含むURL(Uniform ReSource Locator)の情報を含める。URLは、書類IDを直接含んでも良いし、書類IDに対し任意の暗号化を行った文字列、その他、不図示のテーブルを参照して書類IDを特定可能な文字列などの情報を含んでも良い。また、URLには第2ユーザを特定するための情報を含めても良い。例えば、第2ユーザが本開示にかかるサービスにユーザ登録していない場合には、URLに第2ユーザを特定するための情報を含める必要がある。
【0063】
第1ユーザは、第2ユーザに対してアクセスコードを設定した場合は、別途メールなどの手段によりアクセスコードを第2ユーザに対して伝える。これにより、第2ユーザへ通知されるメッセージが第三者に取得された場合においても、第三者はアクセスコードを入手しない限り契約書確認処理を実行することができない。
【0064】
図19は、第2ユーザ端末30に通知されるメッセージを示す画面例である。第2ユーザ端末30のディスプレイ3081に表示される、メッセージ画面60には、メッセージ61、契約情報を特定するための書類IDを含むURL62の情報が含まれる。
【0065】
<変形例>
第1ユーザは、ステップS102において複数の確認者を選択し設定する場合には、複数の確認者のそれぞれに対して、ステップS103において異なる入力項目情報をそれぞれに独立して設定できる構成としても構わない。例えば、第1ユーザが、確認者として第2ユーザ、第9ユーザの2人のユーザを設定する場合に、契約開始日、契約終了日の入力項目を第2ユーザに対して設定し、契約締結日の入力項目を第9ユーザに対して設定しても良い。この場合、後述する契約書確認処理において、第2ユーザは、契約開始日、契約終了日の入力項目に対して入力データを入力できるが、契約締結日の入力項目に対しては入力データを入力することができない。一方、第9ユーザは、契約開始日、契約終了日の入力項目に対して入力データを入力できないが、契約締結日の入力項目に対しては入力データを入力することができる。1つの入力項目情報に対して、複数の確認者を重複して選択し設定できる構成としても構わない。
【0066】
契約情報を作成するための画面50には、描画オブジェクトとして入力項目532、533、534が描画される。入力項目532、533には、割当として、入力項目を入力することが選択し設定されたユーザのユーザ識別情報「USER-B」、入力項目の種別として「テキスト」という項目が描画されている。押印に関する入力項目534には、割当として、押印することが選択し設定されたユーザのユーザ識別情報「USER-C」、入力項目の種別として「印」という項目が描画されている。
【0067】
<契約書確認処理>
契約書確認処理は、確認者が、作成者から受信した電子契約情報の内容を確認する処理である。
【0068】
<契約書確認処理の概要>
契約書確認処理は、確認者からのアクセスを受け付け、契約情報を表示する確認画面を確認者に対して提示し、確認者から入力項目に対する入力データを受け付け、確認者から契約情報の確認に関するデータを受け付ける一連の処理である。
【0069】
<契約書確認処理の詳細>
ステップS301において、確認者となる第2ユーザは、第2ユーザ端末30の入力装置306などを操作して受信したメッセージに記載されたURLを選択することにより、第2ユーザ端末30のブラウザアプリケーションにより当該URLにより指定されたウェブページを開くことができる。これにより、第2ユーザ端末30は、契約書確認処理を実行させるためのリクエストをサーバ10へ送信する。
【0070】
確認テーブル1015の第2ユーザのレコードにアクセスコードの項目が記憶されている場合には、第2ユーザに対してアクセスコードの入力を要求し、当該入力されたアクセスコードと確認テーブル1015の第2ユーザのレコードに記憶されたアクセスコードとを照合することにより、第2ユーザに対する認証処理を実行することができる。
具体的に、サーバ10は、アクセスコードを認証するための入力画面を第2ユーザ端末30へ送信する。第2ユーザは、第2ユーザ端末30の入力装置306を操作し、アクセスコードを入力しサーバ10へ送信する。サーバ10の契約確認部1043は、受信したアクセスコードと、確認テーブル1015の第2ユーザのレコードに記憶されたアクセスコードとが一致するか否かを判定し、一致する場合は契約書確認処理を継続する。一方、一致しない場合には、契約書確認処理を中止する。なお、アクセスコードによる認証処理は省略しても構わない。
【0071】
サーバ10の契約確認部1043は、受信したリクエストに含まれる書類IDに基づき、書類テーブル1014の書類IDの項目を検索し、契約情報を取得する。サーバ10の契約確認部1043は、受信したリクエストに含まれる書類IDに基づき、確認テーブル1015の書類IDの項目を検索し、確認者情報を取得する。サーバ10の契約確認部1043は、受信したリクエストに含まれる書類IDに基づき、入力項目テーブル1016の書類IDの項目を検索し、契約情報に関連づけられた入力項目情報を取得する。
【0072】
ステップS302において、サーバ10の契約確認部1043は、第2ユーザを特定し、第2ユーザの承認権限情報を取得する。第2ユーザは、第2ユーザ端末30から受信したリクエストに含まれる第2ユーザID3011に基づき特定しても良いし、URLに含まれる第2ユーザを識別するための識別情報に基づき特定しても良い。第2ユーザが本開示にかかるサービスにユーザ登録していない場合には、URLから第2ユーザを特定する必要がある。例えば、URLには第2ユーザを特定する情報として第2ユーザのメールアドレス、ユーザIDなどが含まれていても良い。
【0073】
サーバ10の契約確認部1043は、特定された第2ユーザのユーザ識別情報に基づき、ユーザテーブル1012のユーザIDの項目を検索し、第2ユーザの承認権限の項目を取得する。なお、本開示において、第2ユーザの承認権限はユーザテーブル1012に記憶される構成としたが、第2ユーザの承認権限は第2ユーザが所属するグループごとに記憶されていても良いし、契約情報ごと、契約情報種別ごとに記憶されても構わない。サーバ10の契約確認部1043は、対象となる契約情報に対し、第2ユーザの承認権限情報を取得する。
また、第2ユーザが本開示にかかるサービスにユーザ登録していない場合は、第2ユーザを、承認権限を有さないユーザとみなして処理を実行しても良い。
【0074】
ステップS303において、サーバ10の契約確認部1043は、取得した契約情報、確認者情報(第2ユーザを特定する情報)、入力項目情報、確認者の承認権限情報に基づき、確認画面を生成し第2ユーザ端末30に送信する。
【0075】
具体的に、第2ユーザ端末30のディスプレイ3081は、第2ユーザに対して、契約情報を承認する操作を受け付ける確認画面を提示する。第2ユーザは、第2ユーザ端末30のディスプレイ3081に表示された契約情報を確認し承認する。
なお、第2ユーザに提示される確認画面は、確認テーブル1015の第2ユーザのレコードの言語データの項目に記憶された言語情報に基づき、確認者に対して指定された言語表記で第2ユーザに対して提示する構成としても良い。
【0076】
図20は、契約書確認処理の動作を示す確認画面の画面例である。第2ユーザ端末30のディスプレイ3081に表示される、契約情報を承認するための確認画面70には、現在の契約情報の作成状況を示すステータス710、契約情報表示エリア730、書類データ731、入力項目732、733、734、735、736、同意ボタン740が表示される。
【0077】
具体的に、サーバ10の契約確認部1043は、ステップS302において取得した第2ユーザの承認権限情報に、契約締結を承認する権限を有する情報が記憶されている場合は、第2ユーザが受け付けた契約情報の契約締結を承認することができるユーザと判定し、第2ユーザに対して確認画面を提示しステップS304に進む。
【0078】
一方、第2ユーザが、受け付けた契約情報の契約締結を承認することができないユーザである場合は、契約書確認処理を終了する。
【0079】
ステップS304において、サーバ10の契約確認部1043は、契約情報の1または複数の入力項目に対する入力を受け付ける。
具体的に、第2ユーザは、第2ユーザ端末30の入力装置306などを操作し、契約情報に設定された入力項目732、733、734、735に対し入力データを入力する。なお、本開示においては入力項目736に対しては、第2ユーザによる入力が割当られていないため、第2ユーザは入力データを入力できないことが視覚的に識別可能に表示される。
【0080】
ステップS305において、サーバ10の契約確認部1043は、第2ユーザから、第1ユーザから受け付けた契約情報の契約締結に同意し承認する指示を受け付ける。
第2ユーザは、第2ユーザ端末30のディスプレイ3081に表示された契約情報および入力データを確認し、内容に同意また承諾する場合には、第2ユーザ端末30の入力装置306などを操作し、契約情報を確認するための確認画面70に、表示された同意ボタン740を押下することにより、書類ID、第2ユーザを特定する情報、ステップS305において入力した入力項目ごとの入力データを含むリクエストをサーバ10へ送信する処理を実行させる。第2ユーザを特定する情報は、第2ユーザID3011でも構わない。
サーバ10の契約確認部1043は、受信したリクエストに基づき第2ユーザが契約情報を確認したことを示す情報を記憶する。具体的に、サーバ10の契約確認部1043は、受信した書類ID、第2ユーザを特定する情報に基づき、確認テーブル1015を検索し、当該レコードの確認フラグの項目にTrueの値を記憶する。例えば、第2ユーザを特定する情報がメールアドレスである場合には、確認テーブル1015の書類ID、確認者メールアドレスの項目を検索し、当該レコードの確認フラグの項目にTrueの値を記憶する。第2ユーザを特定する情報がユーザ識別情報である場合には、ユーザテーブル1012のユーザIDの項目を検索することにより特定される第2ユーザのメールアドレスに基づき、確認テーブル1015の書類ID、確認者メールアドレスの項目を検索し、当該レコードの確認フラグの項目にTrueの値を記憶する。
サーバ10の契約確認部1043は、受信した入力データを、当該入力データと関連付けられた入力項目IDで特定される入力項目テーブル1016の入力データの項目に記憶する。これにより、ステップS305において、第2ユーザにより入力された入力データが、入力項目テーブル1016の入力項目情報として記憶される。
【0081】
サーバ10の契約確認部1043は、すべての承認権限を有する確認者による契約書確認処理が実行されたことを判定する。具体的に、サーバ10の契約確認部1043は、確認テーブル1015において、承認権限を有する確認者のレコードの確認フラグにTrueの値が記憶されている場合に、すべての承認権限を有する確認者による契約書確認処理が実行されたと判定する。つまり、承認権限を有さない確認者のレコードの確認フラグの値は無視して判定を行う。
サーバ10の契約確認部1043は、すべての承認権限を有する確認者による契約書確認処理が実行されると、契約書確認処理が完了したことを通知するメッセージを第1ユーザへ送信する。なお、同様に、サーバ10の契約確認部1043は、契約書確認処理が完了したことを通知するメッセージを第2ユーザへ送信しても良い。
【0082】
具体的に、サーバ10の契約確認部1043は、第1ユーザのメールアドレスへ、第2ユーザが契約情報の確認を完了したことを通知するメッセージをメールなどの連絡手段にて送信する。つまり、第1ユーザに対して、第2ユーザにより契約締結の承認がなされたことを通知する。これにより、第1ユーザは、第2ユーザとの間で契約締結が完了したことを知ることができる。
第1ユーザへ通知するメッセージには、契約情報を特定するための書類IDを含むエンドポイントであるURLの情報を含めても良い。
【0083】
図21は、第1ユーザ端末20に通知されるメッセージを示す画面例である。第1ユーザ端末20のディスプレイ2081に表示される、メッセージ画面80には、メッセージ81、契約情報を特定するための書類IDを含むURL82の情報が含まれる。
【0084】
同様に、サーバ10の契約確認部1043は、不図示のチャットサービス等を用いて、第2ユーザが契約情報の確認を完了したことを通知するメッセージに、第1ユーザへのメンションを含めて送信しても良い。つまり、第1ユーザに対して、チャットサービスを介して、第2ユーザにより契約締結の承認がなされたことを通知する。これにより、第1ユーザは、第2ユーザとの間で契約締結が完了したことを知ることができる。
第1ユーザへ通知するメッセージには、契約情報を特定するための書類IDを含むエンドポイントであるURLの情報を含めても良い。
【0085】
第1ユーザは、第1ユーザ端末20のブラウザアプリケーションにより、受信したメッセージに含まれるURLにより指定されたウェブページを開くことができる。第1ユーザ端末20は、契約情報を参照し、照会するためのリクエストをサーバ10へ送信する。サーバ10の契約確認部1043は、契約情報を参照し、照会するためのウェブページを生成し第1ユーザ端末20へ送信する。第1ユーザは、第1ユーザ端末20のディスプレイ2081に表示された、ウェブページ画面から、契約情報に含まれる書類データをダウンロード等により取得することができる。
【0086】
サーバ10の契約確認部1043は、複数のユーザが確認者として設定されている場合には、最後に契約書確認処理を実行したユーザ以外の確認者にかかるユーザへ契約書確認処理が完了したことを通知するメッセージを送信しても良い。これにより、確認者にかかるユーザも、すべての確認者により契約書確認処理の実行が完了したことの通知を受けることができる。
また、サーバ10の契約確認部1043は、複数の確認者が所属するグループにおいて管理者に相当する権限を有するユーザへ契約書確認処理が完了したことを通知するメッセージを送信しても良い。
なお、メッセージは、メール、チャットサービス等を介して送信しても良い。
これにより、確認者にかかるユーザが所属するグループにおける管理者が、契約書確認処理の実行が完了したことの通知を受けることができる。
【0087】
具体的に、サーバ10の契約確認部1043は、ユーザIDまたはメールアドレスに基づきユーザテーブル1012の、ユーザIDまたはメールアドレスの項目を検索することにより、グループIDの項目を取得する。サーバ10の契約確認部1043は、取得したグループIDの項目に基づき、グループテーブル1013のグループIDの項目を検索し、管理者IDの項目を取得し、管理者IDに基づき、管理者に相当する権限を有するユーザをユーザテーブル1012のユーザIDを検索することにより特定し、契約書確認処理が完了したことを通知するメッセージを送信する。
【0088】
<電子署名処理>
ステップS305に、電子署名処理を含めても良い。サーバ10の契約確認部1043は、ステップS305において第2ユーザから受け付けた契約締結を承認する指示に応じて、第1ユーザから受け付けた契約情報に、契約情報の契約締結が承認されたことを示す電子署名を付与して記憶する。
具体的に、サーバ10の契約確認部1043は、受信したリクエストに基づき、契約情報に対し、電子署名を付与し記憶する。サーバ10の契約確認部1043は、書類IDに基づき、書類テーブル1014の書類IDの項目を検索し、契約情報を取得する。
サーバ10の契約確認部1043は、取得した契約情報に電子署名を付与し、書類テーブル1014の書類データの項目に記憶する。なお、サーバ10の契約確認部1043は、電子署名を付与した契約情報により書類データの項目を更新(上書き)しても良いし、電子署名付与前の契約情報を別途不図示の記憶装置に記憶しても構わない。
サーバ10の契約確認部1043は、電子署名に、書類ID、第1ユーザのメールアドレス、第2ユーザのメールアドレス、承認日時、確認日時、承認日時の認証方法、確認日時の認証方法、入力項目ごとの入力データの値、第1ユーザ、第2ユーザの同意(承認)、タイムスタンプなどのいずれかの情報を含めても良い。
これにより、サーバ10の契約確認部1043は、契約情報に第2ユーザが契約情報の契約締結を承認したことを示す電子署名を付与して記憶する。契約情報に対する第三者によるなりすましや改ざんを防ぐことができる。
【0089】
契約書管理処理(第一実施例)、契約書管理処理(第二実施例)、契約書管理処理(第三実施例)を以下の通り説明する。なお、本開示においては、一例として第1ユーザによる契約書管理処理を例示するが、契約書管理処理は第2ユーザも、第1ユーザと同様に実行することが可能である。
【0090】
<契約書管理処理(第一実施例)>
契約書管理処理(第一実施例)は、外部の電子契約サービスに記憶された契約情報を取得し、記憶、管理する処理である。
【0091】
<契約書管理処理(第一実施例)の概要>
契約書管理処理(第一実施例)は、外部の電子契約サービスにおいて契約締結が完了したことを示すメールを受信し、当該メールに基づき契約情報を特定するためのエンドポイントを受け付け、ユーザを特定し、外部サーバから契約情報を取得し、当該契約情報を関連づけるキャビネットを特定し、当該キャビネットと契約情報とを関連づけて記憶する一連の処理である。なお、メールは電子メールの他に、SMS(Short Message Service)等の、電話番号を宛先として介されるメッセージサービスも含む。
【0092】
<契約書管理処理(第一実施例)の詳細>
以下に、契約書管理処理(第一実施例)の詳細を説明する。
【0093】
ステップS501において、第1ユーザは、第1ユーザ端末20の入力装置206などを操作することにより、契約書確認処理のステップS305において外部サーバ40から受信した契約書確認処理が完了したことを通知するメッセージを含むメールを、本開示にかかる契約書管理処理を実行するための所定のメールアドレスへ転送する。
なお、第1ユーザは、外部サーバ40において、契約書確認処理のステップS305において外部サーバ40から送信される、契約書確認処理が完了したことを通知するメッセージを含むメールの宛先に、契約書管理処理を実行するための所定のメールアドレスを含めるよう事前に設定しても良い。このように設定することにより、第1ユーザは、メール転送作業を行うことなしに、契約書管理処理を実行するための所定のメールアドレスへ、契約書確認処理が完了したことを通知するメッセージを含むメールを送信することができる。これにより、第1ユーザによるメール転送忘れを防ぐことができる。
サーバ10の契約管理部1044は、第1ユーザから、契約書管理処理を実行するための所定のメールアドレスを介してメールを受信する。具体的に、サーバ10の契約管理部1044は、契約書管理処理を実行するための所定のメールアドレスを管理するメールサーバにアクセスし、メールを受信する。
【0094】
また、第1ユーザは、契約書確認処理のステップS305において外部サーバ40から受信した契約書確認処理が完了したことを通知するメッセージを含むメールを、第1ユーザが所属する組織、会社等が管理するメールサーバ等のメールアドレスへ転送しても良い。具体的に、第1ユーザが所属する組織、会社等が予め設定した、組織、会社等のドメイン名を有するメールアドレスへ転送しても良い。
これにより、第1ユーザが所属する組織、会社等において社外へのメール転送に制限が課されている場合においても、第1ユーザは外部サーバ40から受信した契約書確認処理が完了したことを通知するメッセージを含むメールを、転送することができる。
この場合、サーバ10の契約管理部1044は、第1ユーザが所属する組織、会社等が管理するメールサーバにアクセスし、メールを受信することができる。
【0095】
ステップS502において、サーバ10の契約管理部1044は、外部の契約締結サービスに記憶された契約情報を特定するためのエンドポイントを含むリクエストを受け付ける受付ステップを実行する。受付ステップは、ユーザから、外部の契約締結サービスに記憶された契約情報を特定するためのエンドポイントを受け付けるステップを実行する。受付ステップは、ユーザから、エンドポイントが記載された電子メールを受信することにより、エンドポイントを含むリクエストを受け付けるステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS501において受信したメールに含まれるメッセージを解析し、メッセージに含まれる外部サーバ40において所定の契約情報を特定するための書類IDを含むURL82を特定し受け付ける。
サーバ10の契約管理部1044は、正規表現等のパターンマッチング、任意の機械学習、深層学習モデル等を用いて、受信したメールに含まれるメッセージを入力データとして、契約情報を特定するための書類IDを含むURL82を出力データとして取得し、受け付けることができる。
【0096】
なお、受付ステップは、ユーザから、ユーザが所属する組織または会社のドメイン名を有するメールアドレスを介して、エンドポイントが記載された電子メールを受信することにより、エンドポイントを含むリクエストを受け付けるステップを実行しても良い。
【0097】
ステップS503において、サーバ10の契約管理部1044は、受付ステップにおいて受け付けたエンドポイントへアクセスするためのアクセス権限情報を取得する権限取得ステップを実行する。
【0098】
具体的に、サーバ10の契約管理部1044は、ステップS501において受信したメールの送信元のメールアドレスに基づき、ユーザテーブル1012のメールアドレスの項目を検索し、ユーザIDを取得することにより、ステップS501においてメールの転送を行った第1ユーザを特定する。
サーバ10の契約管理部1044は、ステップS502において特定したエンドポイントに第1ユーザIDを特定するための文字列が含まれている場合には、当該文字列などに基づき、ステップS501においてメールの転送を行った第1ユーザを特定しても良い。
サーバ10の契約管理部1044は、ステップS501において受信したメールの件名、本文、ヘッダ情報等のメール情報に第1ユーザIDを特定するための文字列が含まれている場合には、当該文字列などに基づき、ステップS501においてメールの転送を行った第1ユーザを特定しても良い。
また、サーバ10の契約管理部1044は、ステップS501において受信したメールの件名、本文、ヘッダ情報等のメール情報に基づき、外部サーバ40により提供される外部の電子契約サービスのサービス識別情報であるサービスIDを特定する。
サーバ10の契約管理部1044は、ステップS502において特定したエンドポイントにサービスIDを特定するための文字列が含まれている場合には、当該文字列などに基づき、外部サーバ40により提供される外部の電子契約サービスのサービス識別情報であるサービスIDを特定しても良い。
【0099】
サーバ10の契約管理部1044は、特定した第1ユーザの第1ユーザID、サービスIDに基づき、アクセス権限テーブル1017のユーザID、サービスIDの項目を検索し、アクセストークンの項目を取得する。これにより、サーバ10の契約管理部1044は、ステップS502において受け付けたエンドポイントへアクセスするためのアクセス権限情報を取得し、ステップS504に進む。
【0100】
ステップS503において、権限取得ステップは、受付ステップにおいて受け付けたエンドポイントへアクセスするためのアクセス権限情報を取得することができなかった場合に、ユーザまたは管理者へ所定の通知を行う通知ステップを含む。
具体的に、サーバ10の契約管理部1044は、サーバ10の契約管理部1044は、特定した第1ユーザの第1ユーザID、サービスIDに基づき、アクセス権限テーブル1017のユーザID、サービスIDの項目を検索したものの、該当するレコードがない場合には、ステップS502において受け付けたエンドポイントへアクセスするためのアクセス権限情報が取得できなかったと判定する。このとき、サーバ10の契約管理部1044は、第1ユーザまたは、第1ユーザが所属するグループにおける管理者へ、アクセス権限情報が取得できなかったことを通知するメッセージを送信する。サーバ10の契約管理部1044は、契約書管理処理(第一実施例)を停止し、ステップS504に進まない。
【0101】
具体的に、サーバ10の契約管理部1044は、第1ユーザIDまたは第1ユーザのメールアドレスに基づきユーザテーブル1012の、ユーザIDまたはメールアドレスの項目を検索することにより、グループIDの項目を取得する。サーバ10の契約管理部1044は、取得したグループIDの項目に基づき、グループテーブル1013のグループIDの項目を検索し、管理者IDの項目を取得し、管理者IDに基づき、管理者に相当する権限を有するユーザをユーザテーブル1012のユーザIDを検索することにより特定し、アクセス権限情報が取得できなかったことを通知するメッセージを送信する。
【0102】
ステップS503において、権限取得ステップは、通知ステップにおいて通知が行われたユーザまたは管理者から、通知が行われた後に受け付けたアクセス権限情報を取得するステップを含み。
具体的に、アクセス権限情報が取得できなかったことを通知するメッセージを受信した、第1ユーザまたは管理者は、サーバ10が提供する所定のウェブページへアクセスし、第1ユーザのユーザID、サービスID、アクセストークンを入力することにより、サーバ10へアクセス権限情報を送信することができる。サーバ10の契約管理部1044は、受信した、ユーザID、サービスID、アクセストークンを、それぞれ、アクセス権限テーブル1017のユーザID、サービスID、アクセストークンの項目に記憶する。
これにより、サーバ10の契約管理部1044は、ステップS502において受け付けたエンドポイントへアクセスするためのアクセス権限情報を、新たにアクセス権限テーブル1017に記憶することができる。
サーバ10の契約管理部1044は、ステップS502において受け付けたエンドポイントへアクセスするためのアクセス権限情報が記憶されたことを検知すると、当該アクセス権限情報を取得し、ステップS504に進む。
【0103】
ステップS504において、サーバ10の契約管理部1044は、受付ステップにおいて受け付けたエンドポイントに基づきアクセスし、エンドポイントにより特定される契約情報を取得する契約取得ステップを実行する。契約取得ステップは、受付ステップにおいて受け付けたエンドポイントに、権限取得ステップにおいて取得したアクセス権限情報に基づきアクセスし、契約情報を取得するステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS503において取得したアクセス権限情報に含まれるアクセストークンを含むリクエストを生成し、ステップS502において受け付けたエンドポイントへ送信する。これにより、サーバ10の契約管理部1044は、リクエストを外部サーバ40へ送信する。
【0104】
ステップS504において、契約取得ステップは、権限取得ステップにおいて、通知が行われた後に、ユーザまたは管理者からアクセス権限情報を取得したことを検知して、契約情報を取得するステップを実行する。
具体的に、ステップS503において、エンドポイントへアクセスするためのアクセス権限情報が取得できなかったと判定された場合は、第1ユーザまたは管理者によりアクセス権限情報が記憶されたことを検知すると、サーバ10の契約管理部1044は、ステップS503において取得したアクセス権限情報に含まれるアクセストークンを含むリクエストを生成し、ステップS502において受け付けたエンドポイントへ送信する。これにより、サーバ10の契約管理部1044は、リクエストを外部サーバ40へ送信する。
第1ユーザまたは管理者によりアクセス権限情報が記憶されたことを検知されなかった場合は、サーバ10の契約管理部1044は、リクエストを送信しない。
【0105】
サーバ10の契約管理部1044は、リクエストに対するレスポンスとして外部サーバ40から契約情報を受信し、取得する。
【0106】
また、ステップS504において、契約取得ステップは、受付ステップにおいて受け付けたエンドポイントに、権限取得ステップにおいて取得したアクセス権限情報に基づきアクセスし、ウェブページ等のマークアップ言語により記述されたページを取得するページ取得ステップと、ページ取得ステップにより取得したページに含まれる契約情報に関連づけられたリンクを特定するステップと、特定したエンドポイントにアクセスし、契約情報を取得するステップを実行しても良い。
具体的に、外部サーバ40は、リクエストに対するレスポンスとして、ウェブページなどのHTML(Hypertext Markup Language)、XMLをレスポンスとして送信する場合がある。このような場合は、サーバ10の契約管理部1044は、正規表現等のパターンマッチング、任意の機械学習、深層学習モデル等を用いて、外部サーバ40から受信したHTML、XMLなどを入力データとして、契約情報をダウンロードするためのリンクを出力データとして取得し、特定し、当該リンクから契約情報をダウンロードすることにより受信し、取得しても良い。これにより、サーバ10の契約管理部1044は、契約情報をエンドポイントから取得することができる。
【0107】
ステップS505において、サーバ10の契約管理部1044は、受付ステップにおいて受け付けた電子メールの送信先の電子メールアドレスに基づき分類情報を特定する分類特定ステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS501において受信したメールの送信先のメールアドレスに基づき、不図示のテーブル等を参照し、当該メールアドレスに関連づけられたキャビネットIDを特定する。
例えば、ステップS501において、契約書管理処理を実行するための所定のメールアドレスとして、キャビネットごとに複数のメールアドレスを予め設定することができる。例えば、メールアドレスA、メールアドレスB、メールアドレスC、をそれぞれ、キャビネットA、キャビネットB、キャビネットCに関連づけて設定する。
ステップS501において、サーバ10の契約管理部1044は、第1ユーザからメールアドレスAを介して、メールを受信した場合には、キャビネットAを特定する。同様に、サーバ10の契約管理部1044は、第1ユーザからメールアドレスB、メールアドレスCを介して、メールを受信した場合には、それぞれ、キャビネットB、キャビネットCを特定する。これにより、第1ユーザは、メールの転送先を切り替えることにより、契約情報を関連づけるキャビネットIDを選択することができ、契約情報の分類忘れなどを防ぐことができる。
なお、第1ユーザは複数のメールアドレスを指定することができ、その場合には、複数のメールアドレスのそれぞれに対応するキャビネットに関連づけられて契約情報が記憶される構成としても良い。
【0108】
ステップS505において、サーバ10の契約管理部1044は、受付ステップにおいて受け付けた電子メールの送信元の電子メールアドレスに基づき分類情報を特定する分類特定ステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS501において受信したメールの送信元のメールアドレスに基づき、不図示のテーブル等を参照し、当該メールアドレスに関連づけられたキャビネットIDを特定する。
サーバ10の契約管理部1044は、ステップS501において受信したメールの送信元のメールアドレスに基づき、ユーザテーブル1012のメールアドレスの項目を検索し、ユーザIDを取得し、特定し、当該ユーザIDに基づき、不図示のテーブル等を参照し、当該メールアドレスに関連づけられたキャビネットIDを特定する構成としても良い。
例えば、サーバ10の契約管理部1044は、第1ユーザの所属部署等に応じて、所定のキャビネットIDを特定しても良い。例えば、サーバ10の契約管理部1044は、第1ユーザの役職等に応じて、所定のキャビネットIDを特定しても良い。
これにより、第1ユーザから受け付けた情報に対して、自動的に所定の分類情報であるキャビネットIDを付与し、管理することができる。
【0109】
ステップS505において、サーバ10の契約管理部1044は、受付ステップにおいて受け付けた電子メールの件名、本文または添付ファイルの少なくとも1つに基づき分類情報を特定する分類特定ステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS501において受信したメールの件名、本文、ヘッダ情報、添付ファイル等のメール情報に基づき、所定のキャビネットIDを特定しても良い。例えば、サーバ10の契約管理部1044は、正規表現等のパターンマッチング、任意の機械学習、深層学習モデル等を用いて、件名、本文、ヘッダ情報、添付ファイル等を入力データとして、キャビネットIDを出力データとして取得し、特定しても良い。
【0110】
ステップS505において、サーバ10の契約管理部1044は、契約取得ステップにおいて取得した契約情報に基づき分類情報を特定する分類特定ステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS504において取得した契約情報に含まれる書類データ、書類データに含まれる秘密保持契約、研究開発契約、業務委託契約等の契約種別、締結者の氏名、その他、契約情報に関する付帯的な属性情報等に基づき、所定のキャビネットIDを特定しても良い。
【0111】
また、ステップS505において、サーバ10の契約管理部1044は、ページ取得ステップにより取得したページに基づき分類情報を特定する分類特定ステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS504において外部サーバ40から受信したHTML、XMLなどのページ情報に基づき、所定のキャビネットIDを特定しても良い。例えば、サーバ10の契約管理部1044は、正規表現等のパターンマッチング、任意の機械学習、深層学習モデル等を用いて、ページ情報を入力データとして、キャビネットIDを出力データとして取得し、特定しても良い。
【0112】
なお、サーバ10の契約管理部1044は、分類特定ステップにより分類が特定できなかった場合はステップS505をスキップし、ステップS506に進む。
【0113】
ステップS506において、サーバ10の契約管理部1044は、契約取得ステップにおいて取得した契約情報を記憶する契約記憶ステップを実行する。契約記憶ステップは、契約情報を、契約情報を特定するためのエンドポイントと関連づけて記憶する。
具体的に、サーバ10の契約管理部1044は、ステップS502において受け付けたエンドポイント、ステップS504において取得した契約情報に含まれる書類データを、それぞれ、書類テーブル1014の、新たなレコードの書類データ、エンドポイントの項目に記憶する。なお、ステップS503において特定した第1ユーザIDを、不図示のテーブル等を用いて、当該契約情報と関連づけて記憶しても良い。
【0114】
ステップS506において、サーバ10の契約管理部1044は、記憶ステップにおいて記憶された契約情報に、分類特定ステップにおいて特定された分類情報を関連づけて記憶する分類記憶ステップを実行する。
具体的に、サーバ10の契約管理部1044は、書類テーブル1014の新たなレコードの書類ID、ステップS505において特定されたキャビネットIDを、それぞれ、契約書グループテーブル1018の新たなレコードの書類ID、キャビネットIDの項目に記憶する。これにより、サーバ10の契約管理部1044は、契約情報を分類情報に関連づけて記憶することができる。
【0115】
ステップS506において、契約記憶ステップは、受付ステップにおいて受信した電子メールに添付されている契約情報を記憶するステップを実行する。
具体的に、契約書確認処理のステップS305において外部サーバ40から受信した契約書確認処理が完了したことを通知するメッセージに、PDF形式等の書類データが添付されている場合がある。そのような場合に、サーバ10の契約管理部1044は、ステップS501において受信したメールから添付されている書類データを取得し、特定する。サーバ10の契約管理部1044は、取得した書類データを、書類テーブル1014の、新たなレコードの書類データの項目に記憶する。なお、ステップS503において特定した第1ユーザIDを、不図示のテーブル等を用いて、当該契約情報と関連づけて記憶しても良い。
なお、この場合、サーバ10の契約管理部1044は、ステップS502において受け付けたエンドポイントを、書類テーブル1014において書類データと関連づけて記憶しても良い。また、この場合、ステップS504における契約情報の取得処理を省略しても良い。
【0116】
<契約書管理処理(第二実施例)>
契約書管理処理(第二実施例)は、外部の電子契約サービスに記憶された契約情報を取得し、記憶、管理する処理である。
【0117】
<契約書管理処理(第二実施例)の概要>
契約書管理処理(第二実施例)は、外部の電子契約サービスにおいて契約締結が完了したことを示すメッセージを受信し、当該メッセージに基づき契約情報を特定するためのエンドポイントを受け付け、ユーザを特定し、外部サーバから契約情報を取得し、当該契約情報を関連づけるキャビネットを特定し、当該キャビネットと契約情報とを関連づけて記憶する一連の処理である。
【0118】
<契約書管理処理(第二実施例)の詳細>
以下に、契約書管理処理(第二実施例)の詳細を説明する。
【0119】
ステップS501において、第1ユーザは、第1ユーザ端末20の入力装置206などを操作することにより、契約書確認処理のステップS305において外部サーバ40から受信した契約書確認処理が完了したことを通知するメッセージを含むメールの内容を、チャットサービスを介して、送信する。チャットサービスとしては、Slack、chatwork、Microsoft Teams、LINE WORKSなどがある。
具体的に、第1ユーザは、第1ユーザ端末20の入力装置206などを操作することにより、チャットサービスにおいて、本開示にかかる契約書管理処理を実行するための所定のチャンネルを選択し、当該チャンネルにおいて、契約書確認処理が完了したことを通知するメールの件名、本文を含むメッセージを送信する。なお、契約書管理処理を実行するための所定のチャンネルは、第1ユーザが所属するグループにおける管理者などが予め作成し、第1ユーザ、サーバ10などに関連づけられたアカウントを招待し、第1ユーザがチャンネルにメッセージを送信し、投稿できるとともに、第1ユーザにより投稿されたメッセージをサーバ10の制御部104が取得し読み込めるよう設定しておくものとする。
なお、第1ユーザは、外部サーバ40において、契約書確認処理のステップS305において外部サーバ40から送信される、契約書確認処理が完了したことを通知するメールの件名、本文を自動的に、本開示にかかる契約書管理処理を実行するための所定のチャンネルに自動的に投稿するよう設定しても良い。第1ユーザによる転送忘れを防ぐことができる。
サーバ10の契約管理部1044は、チャットサービスへアクセスし、本開示にかかる契約書管理処理を実行するための所定のチャンネルを選択し、第1ユーザにより投稿された契約書管理処理を実行するためのメッセージを取得し、読み込む。これにより、サーバ10の契約管理部1044は、契約書管理処理を実行するためのメッセージを受信する。
【0120】
ステップS602において、受付ステップは、ユーザから、チャットサービスを介して、エンドポイントが記載されたメッセージを受信することにより、エンドポイントを含むリクエストを受け付けるステップを実行する。サーバ10の契約管理部1044は、外部の契約締結サービスに記憶された契約情報を特定するためのエンドポイントを含むリクエストを受け付ける受付ステップを実行する。受付ステップは、ユーザから、外部の契約締結サービスに記憶された契約情報を特定するためのエンドポイントを受け付けるステップを実行する。受付ステップは、ユーザから、チャットサービスを介して、エンドポイントが記載されたメッセージを受信することにより、エンドポイントを含むリクエストを受け付けるステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS601においてチャットサービスを介して受信したメッセージを解析し、メッセージに含まれる外部サーバ40において所定の契約情報を特定するための書類IDを含むURL82を特定し受け付ける。
サーバ10の契約管理部1044は、正規表現等のパターンマッチング、任意の機械学習、深層学習モデル等を用いて、メッセージを入力データとして、契約情報を特定するための書類IDを含むURL82を出力データとして取得し、受け付けることができる。
【0121】
ステップS603において、サーバ10の契約管理部1044は、受付ステップにおいて受け付けたエンドポイントへアクセスするためのアクセス権限情報を取得する権限取得ステップを実行する。
【0122】
具体的に、サーバ10の契約管理部1044は、ステップS601において受信したメッセージの送信元のアカウントに基づき、不図示のテーブル等を介して関連づけられた第1ユーザのユーザIDを取得することにより、ステップS601においてメッセージを送信した第1ユーザを特定する。
サーバ10の契約管理部1044は、ステップS602において特定したエンドポイントに第1ユーザIDを特定するための文字列が含まれている場合には、当該文字列などに基づき、ステップS601においてメッセージを送信した第1ユーザを特定しても良い。
サーバ10の契約管理部1044は、ステップS601において受信したメッセージの本文等のメッセージ情報に第1ユーザIDを特定するための文字列が含まれている場合には、当該文字列などに基づき、ステップS601においてメールの転送を行った第1ユーザを特定しても良い。
また、サーバ10の契約管理部1044は、ステップS601において受信したメッセージの本文等のメッセージ情報に基づき、外部サーバ40により提供される外部の電子契約サービスのサービス識別情報であるサービスIDを特定する。
サーバ10の契約管理部1044は、ステップS602において特定したエンドポイントにサービスIDを特定するための文字列が含まれている場合には、当該文字列などに基づき、外部サーバ40により提供される外部の電子契約サービスのサービス識別情報であるサービスIDを特定しても良い。
【0123】
サーバ10の契約管理部1044は、特定した第1ユーザの第1ユーザID、サービスIDに基づき、アクセス権限テーブル1017のユーザID、サービスIDの項目を検索し、アクセストークンの項目を取得する。これにより、サーバ10の契約管理部1044は、ステップS602において受け付けたエンドポイントへアクセスするためのアクセス権限情報を取得し、ステップS604に進む。
【0124】
ステップS603において、権限取得ステップは、受付ステップにおいて受け付けたエンドポイントへアクセスするためのアクセス権限情報を取得することができなかった場合に、ユーザまたは管理者へ所定の通知を行う通知ステップを含む。本開示においては、契約書管理処理(第一実施例)のステップS503と処理内容が同様であるため、説明を省略する。
【0125】
ステップS604は、契約書管理処理(第一実施例)のステップS504と同様であるため説明を省略する。
【0126】
ステップS605において、サーバ10の契約管理部1044は、受付ステップにおいて受け付けたメッセージにおいてメンションされたアカウント情報に基づき分類情報を特定する分類特定ステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS601において受信したメッセージに含まれるメンションと呼ばれる、メッセージの宛先を指定する情報に基づき、不図示のテーブル等を参照し、当該メンションに関連づけられたキャビネットIDを特定する。
例えば、ステップS601において、サーバ10が、チャットサービスにおいて、契約書管理処理を実行するための所定のアカウントとして、キャビネットごとに複数のアカウントを予め設定することができる。例えば、アカウントA、アカウントB、アカウントC、をそれぞれ、キャビネットA、キャビネットB、キャビネットCに関連づけて設定する。
ステップS601において、サーバ10の契約管理部1044は、第1ユーザからアカウントAをメンションしたメッセージを受信した場合には、キャビネットAを特定する。同様に、サーバ10の契約管理部1044は、第1ユーザからアカウントB、アカウントCをメンションしたメールを受信した場合には、それぞれ、キャビネットB、キャビネットCを特定する。これにより、第1ユーザは、メッセージに含めるメンションするアカウントを切り替えることにより、契約情報を関連づけるキャビネットIDを選択することができ、契約情報の分類忘れなどを防ぐことができる。
なお、第1ユーザは複数のアカウントをメンションすることができ、その場合には、複数のアカウントのそれぞれに対応するキャビネットに関連づけられて契約情報が記憶される構成としても良い。
【0127】
ステップS605において、サーバ10の契約管理部1044は、受付ステップにおいて受け付けたメッセージの送信元のアカウント情報に基づき分類情報を特定する分類特定ステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS601において受信したメッセージの送信元のアカウントに基づき、不図示のテーブル等を参照し、当該アカウントに関連づけられたキャビネットIDを特定する。
例えば、サーバ10の契約管理部1044は、第1ユーザの所属部署等に応じて、所定のキャビネットIDを特定しても良い。例えば、サーバ10の契約管理部1044は、第1ユーザの役職等に応じて、所定のキャビネットIDを特定しても良い。
これにより、第1ユーザから受け付けた情報に対して、自動的に所定の分類情報であるキャビネットIDを付与し、管理することができる。
【0128】
ステップS605において、サーバ10の契約管理部1044は、受付ステップにおいて受け付けたメッセージの本文または添付ファイルの少なくとも1つに基づき分類情報を特定する分類特定ステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS601において受信したメッセージの本文、添付ファイル等のメッセージ情報に基づき、所定のキャビネットIDを特定しても良い。例えば、サーバ10の契約管理部1044は、正規表現等のパターンマッチング、任意の機械学習、深層学習モデル等を用いて、本文、添付ファイル等を入力データとして、キャビネットIDを出力データとして取得し、特定しても良い。
【0129】
ステップS605において、サーバ10の契約管理部1044は、契約取得ステップにおいて取得した契約情報に基づき分類情報を特定する分類特定ステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS604において取得した契約情報に含まれる書類データ、書類データに含まれる秘密保持契約、研究開発契約、業務委託契約等の契約種別、締結者の氏名、その他、契約情報に関する付帯的な属性情報等に基づき、所定のキャビネットIDを特定しても良い。
【0130】
また、ステップS605において、サーバ10の契約管理部1044は、ページ取得ステップにより取得したページに基づき分類情報を特定する分類特定ステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS604において外部サーバ40から受信したHTML、XMLなどのページ情報に基づき、所定のキャビネットIDを特定しても良い。例えば、サーバ10の契約管理部1044は、正規表現等のパターンマッチング、任意の機械学習、深層学習モデル等を用いて、ページ情報を入力データとして、キャビネットIDを出力データとして取得し、特定しても良い。
【0131】
なお、サーバ10の契約管理部1044は、分類特定ステップにより分類が特定できなかった場合はステップS605をスキップし、ステップS606に進む。
【0132】
ステップS606は、契約書管理処理(第一実施例)のステップS506と同様であるため説明を省略する。
【0133】
<契約書管理処理(第三実施例)>
契約書管理処理(第二実施例)は、外部の電子契約サービスに記憶された契約情報を取得し、記憶、管理する処理である。
【0134】
<契約書管理処理(第三実施例)の概要>
契約書管理処理(第三実施例)は、ユーザを特定し、定期的に外部の電子契約サービスから、締結が完了した契約情報の一覧を取得し、取得した契約情報の一覧から既に記憶されている契約情報を除外し、契約情報を取得するためのエンドポイントを特定し、契約情報を特定するためのエンドポイントを受け付け、外部サーバから契約情報を取得し、当該契約情報を関連づけるキャビネットを特定し、当該キャビネットと契約情報とを関連づけて記憶する一連の処理である。
【0135】
<契約書管理処理(第三実施例)の詳細>
以下に、契約書管理処理(第三実施例)の詳細を説明する。
【0136】
ステップS701において、サーバ10の契約管理部1044は、契約書管理処理(第三実施例)を実行するユーザを特定する。
具体的に、サーバ10の契約管理部1044は、アクセス権限テーブル1017を参照し、ユーザID、サービスID、アクセストークンを含むアクセス権限情報を取得する。本開示においては、簡単のため所定の1のユーザID、サービスID、アクセストークンを対象とした契約書管理処理(第三実施例)を説明する。
なお、サーバ10の契約管理部1044は、取得した全てのユーザID、サービスID、アクセストークンごとに契約書管理処理(第三実施例)を実行しても良い。
【0137】
契約書管理処理(第三実施例)は、所定の期間ごとに自動的に実行される構成としても良い。契約書管理処理(第三実施例)は、ユーザ、管理者からの指示に応じて、実行される構成としても良い。
【0138】
ステップS702において、サーバ10の契約管理部1044は、ユーザにより参照可能な1または複数の契約情報のそれぞれに関連づけられた1または複数のエンドポイントの一覧を取得する一覧取得ステップを実行する。一覧取得ステップは、所定の期間ごとに自動的に実行される。また、一覧取得ステップは、ユーザまたは管理者からの指示に応じて実行される構成としても良い。
具体的に、サーバ10の契約管理部1044は、ステップS701において取得したサービスIDに基づき、不図示のテーブル等を参照して、契約情報一覧を取得するためのエンドポイント(一覧取得エンドポイント)を特定し、取得する。一覧取得エンドポイントは、ユーザが契約情報の一覧を参照し、取得するためのウェブページを特定するためのURL等の文字列である。また、一覧取得エンドポイントは、サービスIDにより特定される外部の契約締結サービスが提供する所定のAPI(Application Programming Interface)にアクセスすることにより取得しても良い。
例えば、一覧取得エンドポイントは、「https://contract.service/get_all_documents/」などのURL等の文字列である。
【0139】
サーバ10の契約管理部1044は、一覧取得エンドポイントへ、ステップS701において取得したアクセス権限情報に基づきアクセスし、契約情報一覧を取得するステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS701において取得したアクセス権限情報に含まれるアクセストークンを含むリクエストを生成し、一覧取得エンドポイントへ送信する。これにより、サーバ10の契約管理部1044は、リクエストを外部サーバ40へ送信する。
外部サーバ40は、リクエストを受信すると、アクセストークンに基づきユーザIDを特定する。外部サーバ40は、特定したユーザIDに基づき、書類テーブル4014の作成者IDの項目を検索し、書類IDを取得する。同様に、外部サーバ40は、特定したユーザIDに基づき、外部サーバ40のユーザテーブル4012のユーザIDの項目を検索し、メールアドレスを取得する。外部サーバ40は、取得したメールアドレスに基づき、外部サーバ40の確認テーブル4015の確認者メールアドレスの項目を検索し、書類IDを取得する。
外部サーバ40は、取得した1または複数の書類IDに基づき、書類IDごとのエンドポイントを生成し、特定し、取得する。外部サーバ40は、1または複数の書類ID、書類IDごとのエンドポイントを、リクエストに対するレスポンスとしてサーバ10へ送信する。
サーバ10の契約管理部1044は、リクエストに対するレスポンスとして外部サーバ40から契約情報の一覧(契約一覧情報)を受信し、取得する。
【0140】
ステップS703において、サーバ10の契約管理部1044は、一覧取得ステップにおいて取得した1または複数のエンドポイントのうち、契約記憶ステップにおいて既に記憶された契約情報に対応する1または複数の除外対象のエンドポイントを特定する除外特定ステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS702において取得した1または複数のエンドポイントに基づき、書類テーブル1014のエンドポイントの項目を検索し、エンドポイントが既に書類テーブル1014に記憶されているか否かを判定する。サーバ10の契約管理部1044は、ステップS702において取得した1または複数のエンドポイントのうち、書類テーブル1014のエンドポイントの項目に既に記憶されているエンドポイントを除外する。これにより、既に、書類テーブル1014に記憶されている契約情報を取得対象から除外することができる。
【0141】
ステップS704において、サーバ10の契約管理部1044は、一覧取得ステップにおいて取得した1または複数のエンドポイントに含まれる、少なくとも1の所定のエンドポイントを特定する契約特定ステップを実行する。
【0142】
ステップS704において、契約特定ステップは、一覧取得ステップにおいて取得した1または複数のエンドポイントから、除外特定ステップにおいて特定した除外対象のエンドポイントを除いたエンドポイントから、少なくとも1の所定のエンドポイントを特定するステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS702において取得した1または複数のエンドポイントのうち、ステップS703において書類テーブル1014に既に記憶されているエンドポイントを除外して契約情報を特定する。
【0143】
ステップS705において、受付ステップは、契約特定ステップにおいて特定された所定のエンドポイントを含むリクエストを受け付けるステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS703において特定した1または複数のエンドポイントを受け付ける。
【0144】
ステップS706において、サーバ10の契約管理部1044は、受付ステップにおいて受け付けた1または複数のエンドポイントに基づきアクセスし、1または複数のエンドポイントにより特定される1または複数の契約情報を取得する契約取得ステップを実行する。
契約取得ステップは、受付ステップにおいて受け付けたエンドポイントに、権限取得ステップにおいて取得したアクセス権限情報に基づきアクセスし、契約情報を取得するステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS701において取得したアクセス権限情報に含まれるアクセストークンを含むリクエストを生成し、ステップS705において受け付けたエンドポイントへ送信する。これにより、サーバ10の契約管理部1044は、リクエストを外部サーバ40へ送信する。
サーバ10の契約管理部1044は、リクエストに対するレスポンスとして外部サーバ40から1または複数の契約情報を受信し、取得する。
【0145】
また、ステップS706において、契約取得ステップは、受付ステップにおいて受け付けたエンドポイントに、権限取得ステップにおいて取得したアクセス権限情報に基づきアクセスし、ウェブページ等のマークアップ言語により記述されたページを取得するページ取得ステップと、ページ取得ステップにより取得したページに含まれる契約情報に関連づけられたリンクを特定するステップと、特定したエンドポイントにアクセスし、契約情報を取得するステップを実行しても良い。
具体的に、外部サーバ40は、リクエストに対するレスポンスとして、ウェブページなどのHTML(Hypertext Markup Language)、XMLをレスポンスとして送信する場合がある。このような場合は、サーバ10の契約管理部1044は、正規表現等のパターンマッチング、任意の機械学習、深層学習モデル等を用いて、外部サーバ40から受信したHTML、XMLなどを入力データとして、契約情報をダウンロードするためのリンクを出力データとして取得し、特定し、当該リンクから契約情報をダウンロードすることにより受信し、取得しても良い。これにより、サーバ10の契約管理部1044は、契約情報をエンドポイントから取得することができる。
【0146】
ステップS707において、サーバ10の契約管理部1044は、ステップS701において特定したユーザIDに基づき分類情報を特定する分類特定ステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS701において特定したユーザIDに基づき、不図示のテーブル等を参照し、当該ユーザIDに関連づけられたキャビネットIDを特定する。
例えば、サーバ10の契約管理部1044は、ユーザの所属部署等に応じて、所定のキャビネットIDを特定しても良い。例えば、サーバ10の契約管理部1044は、ユーザの役職等に応じて、所定のキャビネットIDを特定しても良い。
これにより、ユーザから受け付けた情報に対して、自動的に所定の分類情報であるキャビネットIDを付与し、管理することができる。
【0147】
ステップS707において、サーバ10の契約管理部1044は、契約取得ステップにおいて取得した契約情報に基づき分類情報を特定する分類特定ステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS706において取得した契約情報に含まれる書類データ、書類データに含まれる秘密保持契約、研究開発契約、業務委託契約等の契約種別、締結者の氏名、その他、契約情報に関する付帯的な属性情報等に基づき、所定のキャビネットIDを特定しても良い。
本開示においては、1または複数の契約情報に対して、それぞれ、異なるキャビネットIDが特定される構成としても良い。
【0148】
また、ステップS707において、サーバ10の契約管理部1044は、ページ取得ステップにより取得したページに基づき分類情報を特定する分類特定ステップを実行する。
具体的に、サーバ10の契約管理部1044は、ステップS706において外部サーバ40から受信したHTML、XMLなどのページ情報に基づき、所定のキャビネットIDを特定しても良い。例えば、サーバ10の契約管理部1044は、正規表現等のパターンマッチング、任意の機械学習、深層学習モデル等を用いて、ページ情報を入力データとして、キャビネットIDを出力データとして取得し、特定しても良い。
本開示においては、1または複数の契約情報に対して、それぞれ、異なるキャビネットIDが特定される構成としても良い。
なお、サーバ10の契約管理部1044は、分類特定ステップにより分類が特定できなかった場合はステップS707をスキップし、ステップS708に進む。
【0149】
ステップS708において、サーバ10の契約管理部1044は、契約取得ステップにおいて取得した1または複数の契約情報を記憶する契約記憶ステップを実行する。契約記憶ステップは、1または複数の契約情報を、それぞれ、1または複数の契約情報を特定するためのエンドポイントと関連づけて記憶する。
具体的に、サーバ10の契約管理部1044は、ステップS705において受け付けた1または複数のエンドポイント、ステップS706において取得した1または複数の契約情報に含まれる1または複数の書類データを、それぞれ、書類テーブル1014の、新たなレコードの書類データ、エンドポイントの項目に記憶する。なお、ステップS701において特定したユーザIDを、不図示のテーブル等を用いて、当該契約情報と関連づけて記憶しても良い。
【0150】
ステップS708において、サーバ10の契約管理部1044は、記憶ステップにおいて記憶された1または複数の契約情報に、それぞれ、分類特定ステップにおいて特定された1または複数の分類情報を関連づけて記憶する分類記憶ステップを実行する。
具体的に、サーバ10の契約管理部1044は、書類テーブル1014の新たなレコードの1または複数の書類ID、ステップS707において書類IDごとに特定された1または複数のキャビネットIDを、それぞれ、契約書グループテーブル1018の新たなレコードの書類ID、キャビネットIDの項目に記憶する。これにより、サーバ10の契約管理部1044は、契約情報を分類情報に関連づけて記憶することができる。
【0151】
本開示において、ユーザは、ユーザ端末を用いてサーバ10へアクセスすることにより契約書管理処理によりサーバ10の記憶部101に記憶された契約情報を表示させることができる。本開示においては、一例として第1ユーザによる処理を例示するが、第2ユーザも、第1ユーザと同様に実行することが可能である。
第1ユーザは、第1ユーザ端末20のブラウザアプリケーションにおいて、第1ユーザ端末20の入力装置206などを操作することにより、所定のURLを入力する。第1ユーザ端末20の制御部204は、契約情報を一覧表示させるためのリクエストをサーバ10へ送信する。サーバ10は、リクエストを受信すると、書類テーブル1014から、第1ユーザに関連づけられた1または複数の契約情報を取得し、第1ユーザ端末20へ送信する。具体的に、第1ユーザ端末20へ送信する契約情報は、書類ID、契約情報の書類テーブル1014への記憶日時を含めても良い。
第1ユーザ端末20の制御部204は、受信した1または複数の契約情報を第1ユーザ端末20のディスプレイ2081等に表示し、外部の契約締結サービスから取得した契約締結前の契約情報を、第1ユーザに提示する。
【0152】
図22は、第1ユーザ端末20に一覧提示される契約情報を示す一覧表示画面84の画面例である。
一覧表示画面84は、契約情報の一覧をリスト形式で表示するテーブル841を含む。テーブル841は、行ごとに契約情報851、852・・・がリスト形式で表示されている。テーブル841は、契約情報851ごとに、契約情報を選択するためのアイコン等の描画オブジェクト8511、書類ID8512、記憶日8513、取得元8515などの描画オブジェクトを含む。
第1ユーザは、第1ユーザ端末20の入力装置206などを操作することにより、描画オブジェクト8511を選択することにより、書類テーブル1014に記憶されている契約情報を確認することができる。例えば、第1ユーザは、第1ユーザ端末20の入力装置206などを操作することにより、描画オブジェクト8511を選択すると、書類IDを含むリクエストをサーバ10へ送信する。サーバ10の契約管理部1044は、受信した書類IDに基づき、書類テーブル1014、確認テーブル1015の書類IDの項目を検索し契約情報、確認者情報を取得し、確認画面を生成し第1ユーザ端末20に送信する。
具体的に、第1ユーザ端末20のディスプレイ2081は、第1ユーザに対して、契約情報を承認する操作を受け付ける確認画面を提示する。確認画面は、
図20に図示される契約書確認処理の確認画面70と同様であるが、同意ボタン740は非表示または選択できない状態とする。
これにより、第1ユーザは、契約書管理処理により記憶された契約情報を一覧して確認することができる。
【0153】
<コンピュータの基本ハードウェア構成>
図23は、コンピュータ90の基本的なハードウェア構成を示すブロック図である。コンピュータ90は、プロセッサ901、主記憶装置902、補助記憶装置903、通信IF991(インタフェース、Interface)を少なくとも備える。これらは通信バス921により相互に電気的に接続される。
【0154】
プロセッサ901とは、プログラムに記述された命令セットを実行するためのハードウェアである。プロセッサ901は、演算装置、レジスタ、周辺回路等から構成される。
【0155】
主記憶装置902とは、プログラム、及びプログラム等で処理されるデータ等を一時的に記憶するためのものである。例えば、DRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0156】
補助記憶装置903とは、データ及びプログラムを保存するための記憶装置である。例えば、フラッシュメモリ、HDD(Hard Disc Drive)、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等である。
【0157】
通信IF991とは、有線又は無線の通信規格を用いて、他のコンピュータとネットワークを介して通信するための信号を入出力するためのインタフェースである。
ネットワークは、インターネット、LAN、無線基地局等によって構築される各種移動通信システム等で構成される。例えば、ネットワークには、3G、4G、5G移動通信システム、LTE(Long Term Evolution)、所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が含まれる。無線で接続する場合、通信プロトコルとして例えば、Z-Wave(登録商標)、ZigBee(登録商標)、Bluetooth(登録商標)等が含まれる。有線で接続する場合は、ネットワークには、USB(Universal Serial Bus)ケーブル等により直接接続するものも含む。
【0158】
なお、各ハードウェア構成の全部または一部を複数のコンピュータ90に分散して設け、ネットワークを介して相互に接続することによりコンピュータ90を仮想的に実現することができる。このように、コンピュータ90は、単一の筐体、ケースに収納されたコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0159】
<コンピュータ90の基本機能構成>
コンピュータ90の基本ハードウェア構成(
図23)により実現されるコンピュータの機能構成を説明する。コンピュータは、制御部、記憶部、通信部の機能ユニットを少なくとも備える。
【0160】
なお、コンピュータ90が備える機能ユニットは、それぞれの機能ユニットの全部または一部を、ネットワークで相互に接続された複数のコンピュータ90に分散して設けても実現することができる。コンピュータ90は、単一のコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0161】
制御部は、プロセッサ901が補助記憶装置903に記憶された各種プログラムを読み出して主記憶装置902に展開し、当該プログラムに従って処理を実行することにより実現される。制御部は、プログラムの種類に応じて様々な情報処理を行う機能ユニットを実現することができる。これにより、コンピュータは情報処理を行う情報処理装置として実現される。
【0162】
記憶部は、主記憶装置902、補助記憶装置903により実現される。記憶部は、データ、各種プログラム、各種データベースを記憶する。また、プロセッサ901は、プログラムに従って記憶部に対応する記憶領域を主記憶装置902または補助記憶装置903に確保することができる。また、制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶されたデータの追加、更新、削除処理を実行させることができる。
【0163】
データベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブル、マスタと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、マスタ、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル、マスタ同士の関係を設定し、関連づけることができる。
通常、各テーブル、各マスタにはレコードを一意に特定するための主キーとなるカラムが設定されるが、カラムへの主キーの設定は必須ではない。制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶された特定のテーブル、マスタにレコードを追加、削除、更新を実行させることができる。
【0164】
なお、本開示におけるデータベース、マスタは、情報が構造的に規定された任意のデータ構造体(リスト、辞書、連想配列、オブジェクトなど)を含み得る。データ構造体には、データと、任意のプログラミング言語により記述された関数、クラス、メソッドなどを組み合わせることにより、データ構造体と見なし得るデータも含むものとする。
【0165】
通信部は、通信IF991により実現される。通信部は、ネットワークを介して他のコンピュータ90と通信を行う機能を実現する。通信部は、他のコンピュータ90から送信された情報を受信し、制御部へ入力することができる。制御部は、各種プログラムに従ってプロセッサ901に、受信した情報に対する情報処理を実行させることができる。また、通信部は、制御部から出力された情報を他のコンピュータ90へ送信することができる。
【0166】
<付記>
以上の各実施形態で説明した事項を以下に付記する。
【0167】
(付記1)
プロセッサと、記憶部とを備え、コンピュータにユーザ間の電子的な契約手続きを記憶させるための契約管理プログラムであって、契約管理プログラムは、プロセッサに、外部の契約締結サービスに記憶された契約情報を特定するためのエンドポイントを含むリクエストを受け付ける受付ステップ(S502,S602,S705)と、受付ステップにおいて受け付けたエンドポイントに基づきアクセスし、エンドポイントにより特定される契約情報を取得する契約取得ステップ(S504,S604,S706)と、契約取得ステップにおいて取得した契約情報を記憶する契約記憶ステップ(S506,S606,S708)と、を実行させる契約管理プログラム。
これにより、外部の契約締結サービスにおいて締結された契約情報を記憶し、管理することができる。具体的に、複数の外部契約締結サービスを介して締結された契約情報を取得し、記憶、管理することができる。
【0168】
(付記2)
受付ステップ(S502,S602)は、ユーザから、外部の契約締結サービスに記憶された契約情報を特定するためのエンドポイントを受け付けるステップである、付記1記載の契約管理プログラム。
これにより、ユーザから受け付けたエンドポイントにより特定される、外部の契約締結サービスにおいて締結された契約情報を取得し、記憶、管理することができる。
【0169】
(付記3)
受付ステップ(S502)は、ユーザから、エンドポイントが記載された電子メールを受信することにより、エンドポイントを含むリクエストを受け付けるステップである、付記2記載の契約管理プログラム。
これにより、ユーザから電子メールを介して受け付けたエンドポイントにより特定される、外部の契約締結サービスにおいて締結された契約情報を記憶し、管理することができる。ユーザは特別な設定等を行うことなしに、契約情報を取得し、記憶、管理することができる。
【0170】
(付記4)
受付ステップ(S502)は、ユーザから、ユーザが所属する組織または会社のドメイン名を有するメールアドレスを介して、エンドポイントが記載された電子メールを受信することにより、エンドポイントを含むリクエストを受け付けるステップである、付記3記載の契約管理プログラム。
これにより、ユーザからチャットサービスを介して受け付けたエンドポイントにより特定される、外部の契約締結サービスにおいて締結された契約情報を記憶し、管理することができる。ユーザは特別な設定等を行うことなしに、契約情報を取得し、記憶、管理することができる。
【0171】
(付記5)
受付ステップ(S602)は、ユーザから、チャットサービスを介して、エンドポイントが記載されたメッセージを受信することにより、エンドポイントを含むリクエストを受け付けるステップである、付記2記載の契約管理プログラム。
これにより、ユーザは特別な操作を行うことなしに、外部の契約締結サービスにおいて締結された契約情報を取得し、記憶、管理することができる。
【0172】
(付記6)
契約管理プログラムは、プロセッサに、ユーザにより参照可能な1または複数の契約情報のそれぞれに関連づけられた1または複数のエンドポイントの一覧を取得する一覧取得ステップ(S702)と、一覧取得ステップにおいて取得した1または複数のエンドポイントに含まれる、少なくとも1の所定のエンドポイントを特定する契約特定ステップ(S704)と、を実行させ、受付ステップ(S705)は、契約特定ステップにおいて特定された所定のエンドポイントを含むリクエストを受け付けるステップである、付記1記載の契約管理プログラム。
これにより、既に記憶された契約情報を除いて、外部の契約締結サービスにおいて締結された契約情報を取得し、記憶、管理することができる。
【0173】
(付記7)
契約管理プログラムは、プロセッサに、一覧取得ステップにおいて取得した1または複数のエンドポイントのうち、契約記憶ステップにおいて既に記憶された契約情報に対応する1または複数の除外対象のエンドポイントを特定する除外特定ステップ(S703)と、を実行させ、契約特定ステップ(S704)は、一覧取得ステップにおいて取得した1または複数のエンドポイントから、除外特定ステップにおいて特定した除外対象のエンドポイントを除いたエンドポイントから、少なくとも1の所定のエンドポイントを特定するステップである、付記6記載の契約管理プログラム。
これにより、ユーザは特別な操作を行うことなしに、外部の契約締結サービスにおいて締結された契約情報を定期的に取得し、記憶、管理することができる。
【0174】
(付記8)
一覧取得ステップ(S702)は、所定の期間ごとに自動的に実行される、付記6記載の契約管理プログラム。
これにより、ユーザは契約情報の内容等に応じて、所望の電子メールアドレスを送信先に指定してエンドポイントを含むメッセージを電子メールで送信することにより、外部の契約締結サービスにおいて締結された契約情報を特別な操作等を行うことなしに、分類し、記憶することができる。
【0175】
(付記9)
一覧取得ステップ(S702)は、ユーザまたは管理者からの指示に応じて実行される、付記6記載の契約管理プログラム。
これにより、ユーザの電子メールアドレスに応じて、特別な操作を行うことなしに、外部の契約締結サービスにおいて締結された契約情報を分類し、記憶することができる。
【0176】
(付記10)
契約管理プログラムは、プロセッサに、受付ステップにおいて受け付けた電子メールの送信先の電子メールアドレスに基づき分類情報を特定する分類特定ステップ(S505)と、記憶ステップにおいて記憶された契約情報に、分類特定ステップにおいて特定された分類情報を関連づけて記憶する分類記憶ステップ(S506)と、を実行させる、付記3記載の契約管理プログラム。
これにより、ユーザの電子メールの件名、本文、添付ファイル等に応じて、特別な操作を行うことなしに、外部の契約締結サービスにおいて締結された契約情報を分類し、記憶することができる。
【0177】
(付記11)
契約管理プログラムは、プロセッサに、受付ステップにおいて受け付けた電子メールの送信元の電子メールアドレスに基づき分類情報を特定する分類特定ステップ(S505)と、記憶ステップにおいて記憶された契約情報に、分類特定ステップにおいて特定された分類情報を関連づけて記憶する分類記憶ステップ(S506)と、を実行させる、付記3記載の契約管理プログラム。
これにより、ユーザは契約情報の内容等に応じて、所望のアカウント情報をメンションしてエンドポイントを含むメッセージをチャットサービスで送信することにより、外部の契約締結サービスにおいて締結された契約情報を特別な操作等を行うことなしに、分類し、記憶することができる。
【0178】
(付記12)
契約管理プログラムは、プロセッサに、受付ステップにおいて受け付けた電子メールの件名、本文または添付ファイルの少なくとも1つに基づき分類情報を特定する分類特定ステップ(S505)と、記憶ステップにおいて記憶された契約情報に、分類特定ステップにおいて特定された分類情報を関連づけて記憶する分類記憶ステップ(S506)と、を実行させる、付記3記載の契約管理プログラム。
これにより、ユーザのアカウント情報に応じて、特別な操作を行うことなしに、外部の契約締結サービスにおいて締結された契約情報を分類し、記憶することができる。
【0179】
(付記13)
契約管理プログラムは、プロセッサに、受付ステップにおいて受け付けたメッセージにおいてメンションされたアカウント情報に基づき分類情報を特定する分類特定ステップ(S605)と、記憶ステップにおいて記憶された契約情報に、分類特定ステップにおいて特定された分類情報を関連づけて記憶する分類記憶ステップ(S606)と、を実行させる、付記5記載の契約管理プログラム。
これにより、エンドポイントへアクセスすることなしに、契約情報を記憶、管理することができる。
【0180】
(付記14)
契約管理プログラムは、プロセッサに、受付ステップにおいて受け付けたメッセージの送信元のアカウント情報に基づき分類情報を特定する分類特定ステップ(S605)と、記憶ステップにおいて記憶された契約情報に、分類情報を関連づけて記憶する分類記憶ステップ(S606)と、を実行させる、付記5記載の契約管理プログラム。
これにより、契約情報をエンドポイントと関連づけて記憶することができる。例えば、同一エンドポイントに関連づけられた契約情報の二重登録等を防ぐことができる。
【0181】
(付記15)
契約記憶ステップ(S506)は、受付ステップにおいて受信した電子メールに添付されている契約情報を記憶するステップである、付記3記載の契約管理プログラム。
これにより、契約情報へアクセスするためのアクセス権限情報を有さないエンドポイントを含むリクエストを受け付けた場合において、ユーザまたは管理者は所定の通知に応じて、適切なアクセス権限の設定を行うことができる。
【0182】
(付記16)
契約記憶ステップ(S506,S606,S708)は、契約情報を、契約情報を特定するためのエンドポイントと関連づけて記憶する、付記1記載の契約管理プログラム。
これにより、契約情報へアクセスするためのアクセス権限情報を有さないエンドポイントを含むリクエストを受け付けた場合において、ユーザまたは管理者からのアクセス権限情報の受け付けに応じて、外部の契約締結サービスにおいて締結された契約情報を記憶し、管理することができる。
【0183】
(付記17)
契約管理プログラムは、プロセッサに、受付ステップにおいて受け付けたエンドポイントへアクセスするためのアクセス権限情報を取得する権限取得ステップ(S503,S603,S701)と、を実行させ、契約取得ステップ(S504,S604,S706)は、受付ステップにおいて受け付けたエンドポイントに、権限取得ステップにおいて取得したアクセス権限情報に基づきアクセスし、契約情報を取得するステップであり、権限取得ステップ(S503,S603,S701)は、受付ステップにおいて受け付けたエンドポイントへアクセスするためのアクセス権限情報を取得することができなかった場合に、ユーザまたは管理者へ所定の通知を行う通知ステップを含む、付記1記載の契約管理プログラム。
これにより、外部の契約締結サービスにおいて締結された契約情報を記憶し、管理することができる。具体的に、複数の外部契約締結サービスを介して締結された契約情報を取得し、記憶、管理することができる。
【0184】
(付記18)
契約管理プログラムは、プロセッサに、権限取得ステップ(S503,S603,S701)は、通知ステップにおいて通知が行われたユーザまたは管理者から、通知が行われた後に受け付けたアクセス権限情報を取得するステップを含み、契約取得ステップ(S504,S604,S706)は、権限取得ステップにおいて、通知が行われた後に、ユーザまたは管理者からアクセス権限情報を取得したことを検知して、契約情報を取得するステップである、付記17記載の契約管理プログラム。
これにより、外部の契約締結サービスにおいて締結された契約情報を記憶し、管理することができる。具体的に、複数の外部契約締結サービスを介して締結された契約情報を取得し、記憶、管理することができる。
【0185】
(付記19)
プロセッサと、記憶部とを備える情報処理装置であって、プロセッサに、付記1から18のいずれか記載の契約管理プログラムを実行させる、情報処理装置。
これにより、外部の契約締結サービスにおいて締結された契約情報を記憶し、管理することができる。具体的に、複数の外部契約締結サービスを介して締結された契約情報を取得し、記憶、管理することができる。
【符号の説明】
【0186】
1 情報処理システム、10 サーバ、101 記憶部、104 制御部、106 入力装置、108 出力装置、20 第1ユーザ端末、201 記憶部、204 制御部、206 入力装置、208 出力装置、30 第2ユーザ端末、301 記憶部、304 制御部、306 入力装置、308 出力装置