기타 금전문제 · 노동
소프트웨어 개발 및 공급 회사인 주식회사 A는 약국 대상 의약품 관리 시스템 제공 회사인 주식회사 B와 인공지능 헬스케어 챗봇, 약국 POS 리뉴얼, 약국 몰인몰 등 총 세 가지 소프트웨어 개발 용역 계약을 체결했습니다. 주식회사 B는 용역대금으로 주식회사 A에게 총 209,000,000원을 지급했습니다. 주식회사 A는 개발 기획 및 부분 개발이 완료되었다고 주장하며 계약금 잔액 및 중도금의 지급을 요구했고 주식회사 B가 이를 지급하지 않자 계약 해지를 통보하며 용역대금 266,205,600원의 지급을 청구하는 본소 소송을 제기했습니다. 이에 주식회사 B는 주식회사 A가 개발 작업을 제대로 완료하지 못하고 이행을 거절했다며 이미 지급한 용역대금 209,000,000원의 반환과 별도로 계약했던 올인원 POS 컴퓨터 35대 미인도에 대한 대금 30,794,400원의 반환을 청구하는 반소 소송을 제기했습니다. 법원은 주식회사 A의 본소 청구를 기각하고 주식회사 B의 반소 청구를 대부분 받아들여 주식회사 A는 주식회사 B에게 총 239,794,400원 및 지연손해금을 지급하라고 판결했습니다.
소프트웨어 개발 회사인 주식회사 A는 약국 관리 시스템을 제공하는 주식회사 B와 인공지능 챗봇, POS 리뉴얼, 몰인몰 프로그램 개발 계약을 맺었습니다. 주식회사 B는 계약금 및 중도금 명목으로 209,000,000원을 주식회사 A에 지급했습니다. 이후 주식회사 A는 기획 및 개발 설계를 완료했다며 나머지 계약금과 중도금 지급을 요구했고, 주식회사 B가 이를 거부하자 대금 미지급을 이유로 계약 해지를 통보하며 용역대금을 청구하는 소송을 제기했습니다. 반대로 주식회사 B는 주식회사 A가 약속된 기획 및 개발을 완료하지 못했고, 오히려 이행을 거절하는 태도를 보였다며 계약 해지를 통보하고, 이미 지급한 용역대금의 반환과 별도로 구매했으나 인도받지 못한 올인원 POS 컴퓨터 35대에 대한 대금 반환을 요구하는 반소 소송을 제기하면서 갈등이 심화되었습니다.
이 사건 각 소프트웨어 개발 용역 계약의 대금 지급 의무가 정부 과제 선정이라는 정지조건에 의해 발생하는지 여부, 주식회사 A의 기획 업무 완료 여부 및 이에 따른 중도금 지급 의무 발생 여부, 주식회사 A가 주장한 계약 해제 통보의 적법성, 주식회사 A의 이행거절에 따른 주식회사 B의 계약 해제 통보의 적법성, 소프트웨어 개발 계약 해제 시 원상회복의 범위, 올인원 POS 컴퓨터 매매계약의 해제 범위 및 매매대금 반환 의무 등이 쟁점이 되었습니다.
법원은 주식회사 A의 본소 청구를 기각하고, 주식회사 B의 반소 청구 중 일부를 인용하여 주식회사 A는 주식회사 B에게 239,794,400원 및 이에 대한 지연손해금을 지급하라고 판결했습니다. 소송비용은 본소와 반소를 합하여 9/10는 주식회사 A가, 나머지는 주식회사 B가 각각 부담하도록 했습니다.
법원은 이 사건 각 소프트웨어 개발 계약의 용역대금 지급 의무가 정부 과제 선정이라는 정지조건에 의해 발생한다고 볼 수 없다고 판단했습니다. 또한 주식회사 A가 기획 단계의 기초적인 문서를 작성했을 뿐 기획 업무를 완료했다고 보기 어려워 중도금 지급 의무가 발생하지 않았다고 보았습니다. 주식회사 A의 계약 해제 통보는 청구한 금액이 실제 미지급된 계약금보다 현저히 과다하여 부적법하다고 보아 효력이 없다고 판단했습니다. 반면 주식회사 A가 기획 업무를 완료하지 못한 상태에서 과도한 대금을 요구하며 소송을 제기한 것은 이행거절 의사를 명백히 한 것이므로, 주식회사 B의 계약 해제 통보는 적법하다고 보았습니다. 소프트웨어 개발 계약의 경우, 개발 완성도가 챗봇 22.7%, POS 리뉴얼 최대 10.3%, 몰인몰 0%에 불과하여 약간의 보완으로 업무에 사용할 수 있는 정도에 이르지 못했으므로, 주식회사 A는 기성고에 따른 보수를 청구할 수 없고, 주식회사 B로부터 받은 용역대금 전액인 209,000,000원을 반환할 의무가 있다고 판결했습니다. 올인원 POS 컴퓨터 매매계약의 경우, 15대는 인도되었으나 35대는 미인도되어 이는 개별적으로 특정될 수 있는 가분적인 계약이므로, 미인도된 35대에 대한 대금 30,794,400원만 반환하도록 했습니다.
이 사건 판결은 다음과 같은 법률과 법리를 기반으로 합니다.
계약의 해제와 원상회복 의무 (민법 제543조, 제548조): 계약 당사자 일방이 채무를 이행하지 않거나 이행할 의사가 없음을 명백히 표시한 경우, 상대방은 계약을 해제할 수 있습니다. 계약이 해제되면 각 당사자는 상대방에게 계약이 없었던 것처럼 원상회복 의무를 부담하며, 이미 받은 돈에는 그 받은 날로부터 이자를 가산하여 지급해야 합니다.
이행거절에 따른 계약 해제: 채무자가 채무를 이행하지 않겠다는 의사를 명백히 표시한 경우, 채권자는 이행기를 기다릴 필요 없이 즉시 계약을 해제할 수 있습니다. 이 사건에서는 주식회사 A가 충분한 개발을 완료하지 못했음에도 과도한 금액을 요구하며 소송을 제기한 것이 이행거절로 인정되었습니다.
과다한 이행 최고와 해제권: 채무의 이행을 최고할 때 본래 이행해야 할 채무액을 현저히 초과하는 금액을 요구하고, 채권자가 그 초과액을 받지 않으면 본래의 급부도 받지 않을 것이라는 의사가 분명한 경우에는 그 이행 최고는 부적법하여 이를 근거로 한 계약 해제는 효력이 없습니다 (대법원 1994. 5. 10. 선고 93다47615 판결 참조). 주식회사 A의 해제 통보는 이 원칙에 따라 무효로 판단되었습니다.
도급 계약상 보수 지급 조건 (민법 제665조): 소프트웨어 개발 계약은 도급 계약의 성격을 가집니다. 도급 계약에서 보수는 특별한 약정이 없는 한 일의 완성된 목적물의 인도와 동시에 지급해야 합니다. 소프트웨어 개발의 경우, 소프트웨어가 거의 완성되어 약간의 보완으로 업무에 사용할 수 있는 정도에 이르지 않는 한, 수급인은 기성 부분에 대한 보수를 청구하기 어렵습니다 (대법원 2014. 6. 12. 선고 2014다10014 판결 참조).
가분 채무에 대한 일부 해제: 계약의 목적물이 여러 개로 나눌 수 있거나 특정될 수 있고, 그 나머지 부분만의 이행으로도 계약의 목적을 달성할 수 있는 경우에는, 당사자의 가정적 의사가 인정될 때 그 일부에 대해서만 계약 해제가 가능합니다 (대법원 2002. 9. 10. 선고 2002다21509 판결 취지 참조). 올인원 POS 컴퓨터 매매계약의 경우, 컴퓨터는 개별적으로 판매 및 사용될 수 있으므로 미인도된 35대에 대해서만 해제가 인정되었습니다.
지연손해금 (소송촉진 등에 관한 특례법): 채무자가 금전 채무의 이행을 지체한 경우, 소송이 제기된 시점부터는 소송촉진 등에 관한 특례법에 따라 연 12%의 지연손해금 이율이 적용될 수 있습니다.
유사한 소프트웨어 개발 용역 계약 상황에서는 다음과 같은 사항들을 참고할 수 있습니다. 첫째, 계약서에 용역 대금 지급 시기와 금액, 그리고 지급 조건(예: 기획 완료 시, 개발 완료 시 등)을 구체적이고 명확하게 명시해야 합니다. 특히 특정 조건(예: 정부 과제 선정)이 대금 지급에 영향을 미치는 경우, 그 내용을 계약서에 반드시 포함해야 합니다. 둘째, 프로그램 개발 진행 상황을 증명할 수 있는 자료(예: 요구사항 분석서, 스토리보드, WBS, 주간/월간 보고서, 산출물 등)를 철저히 작성하고 상대방의 공식적인 승인을 받아두는 것이 중요합니다. 이는 각 단계별 보수 지급의 근거가 됩니다. 셋째, 계약 불이행으로 계약 해지를 통보할 때는 상대방이 이행해야 할 정확한 채무액을 고지하고 이행을 최고해야 합니다. 실제 채무액보다 현저히 과도한 금액을 요구하며 해지하면 해지의 효력이 인정되지 않을 수 있습니다. 넷째, 소프트웨어 개발 계약은 완성된 결과물을 전제로 보수가 지급되는 도급 계약의 성격을 가집니다. 개발 완성도가 매우 낮은 경우에는 기성고에 따른 보수를 청구하기 어려울 수 있으므로, 개발 진행 상황과 완성도에 대한 객관적인 증빙을 갖추는 것이 중요합니다. 다섯째, 여러 품목으로 구성된 매매계약의 경우, 각 품목이 독립적으로 판매 및 사용될 수 있는 성격이라면 일부 품목의 미인도만으로도 해당 부분에 대한 계약 해제 및 대금 반환이 가능할 수 있습니다.
