「検収」とは、委託者が納品物を委託仕様どおりであるかどうかを検査して受領することです。この法律上の定義は存在しないので、【納入・検収】条項を作成し、契約当事者間の合意で定めておくことが必要です。
なお、納品物は、速やかに検収しなければなりません。委託者の資本金額と受託業者の資本金額の関係によって、納品から60日以内に支払いを完了しないと「下請代金支払遅延等防止法」に違反することとなります。(その他親事業者の義務・禁止行為が定められています。)
また、検収事項を「検査仕様書」として記述しておく必要があります。しかしながら、当初の契約締結の段階では、明確な「検査仕様書」を作成できないことがあるので、「仕様の確定」につき【仕様の確定】条項を作成し、いつ「検査仕様書」を委託者・受託者いずれが作成・提出するか、いつどのような形で合意をするか等につき明確にしておきます。
更に、「検査仕様書」が確定した段階で、どのように検査を行うのかについて、「テストシナリオ」・「テスト手順」(単体テスト→結合テスト→システムテスト→運用テスト等)、「テスト環境」(負荷テスト、セキュリティテスト)、「テストデータ」等の諸条件を定めた「テスト仕様書」についても委託者、受託者間で合意しておく必要があります。
委託者にとっては「バグ」を残したままでは、「検収」はできません。しかし、「ソフトウェア開発」においては、「バグ」を全く「0」として納品することは極めて不可能に近いでしょう。
請負契約において、請負人は仕事の目的物を引き渡した後も瑕疵担保責任を負い、請負人は瑕疵を無償で修補しなければなりません(民法634条第1項)。
瑕疵の修補に代え、又はその修補とともに、損害賠償責任を負います(民法634条第2項)。
また、瑕疵の程度によって(契約をした目的を達することができないとき)は、契約の解除をされる場合があります(民法635条)。
※ソフトウェア開発において、何をもって「瑕疵」とするかについては明らかではありません。したがって、どのような場合に受託者(ベンダーという)が瑕疵担保責任を負うかが問題となります。
「東京地判平成14年4月22日判タ1127号161頁」では次のように判示しています。
「情報処理システムの開発にあたっては、作成したプログラムに不具合が生じることは不可避であり、・・・・納品及び検収等の過程における補修が当然に予定されているものというべきである。このような情報処理システム開発の特殊性に照らすと、・・・・
注文者から不具合が発生したとの指摘を受けた後、請負人が遅滞なく補修を終えるか、注文者と協議した上で相当な代替措置を講じたと認められるときは、システムの瑕疵には当たらない。」
また、プログラムの機能に不都合がなく形式面が委託者の要望と異なるにすぎない場合にも、瑕疵に該当しないとされます(那覇地判平成12年5月10日判タ1094号177頁)。
上に記載した民法の「瑕疵担保責任」は無過失責任でありますが、任意規定ですから契約書において瑕疵の範囲を限定してしまうとベンダーに責任を問える範囲を狭くすることになります。
したがいまして、委託者(ユーザ)としては「瑕疵」を定義しておくことが重要です。
【瑕疵の定義例】
ユーザは本件ソフトウェアに瑕疵(本件「検査仕様書」との不一致のほか、論理的誤り、バグ、その他通常当然に有するべき品質を欠く状態をいう。)を発見したとき、及び「テスト仕様書」の諸テストに不具合が生じたとき、ベンダに対し修補することを請求することができる。
※【注意】民法改正(案)について:
(1)改正により「瑕疵担保責任」という用語は使われなくなり、「契約不適合」と整理される。
(2)民法637条第1項では、請負人の「契約不適合」の責任期間の起算点が、「不適合を知ったとき」となり、現行法の「引渡から1年」と比較し、請負人の責任存続期間が長くなる。