외주로 앱이나 업무시스템 개발을 맡겼다가 "완성이 안 됐다"거나 "이대로는 대금을 못 주겠다"는 말에 개발비 지급이 막히는 일이 잦습니다. 개발사는 결과물을 다 넘겼다고 하고 발주자는 아직 쓸 수 없다고 하니, 같은 프로젝트를 두고 정반대의 이야기가 오갑니다. 이런 분쟁의 결론은 감정 싸움이 아니라 '개발이 법적으로 완성되었는가'라는 한 지점에서 갈립니다. 이 글에서는 법원이 완성을 판단하는 기준, 검수와 인도의 법적 의미, 미완성과 하자의 구별, 그리고 개발대금 청구 소송의 실무 포인트를 판례와 함께 정리해 드립니다.
법무법인 도모 강대현 변호사
외주 개발비 분쟁의 핵심은 '완성 여부' — 여기서 승패가 갈린다
앱·웹·업무시스템을 외주로 맡긴 개발 분쟁은 대부분 같은 지점에서 부딪힙니다. 발주자는 "아직 완성이 안 됐다" 혹은 "쓸 수 없는 하자투성이"라며 개발비를 주지 않고, 개발사는 "결과물을 다 넘겼는데 검수만 미루며 돈을 안 준다"고 맞섭니다. 이때 법적으로 가장 먼저 따져야 할 것은 감정싸움이 아니라 '개발이 완성되었는가'라는 단 하나의 쟁점입니다.
외주 개발 계약은 통상 일의 완성을 목적으로 하는 도급계약(민법 제664조)에 해당합니다. 도급에서 보수는 원칙적으로 완성된 목적물의 인도와 동시에 지급하도록 되어 있습니다(민법 제665조 제1항). 뒤집어 말하면, 개발이 '완성'에 이르지 못했다면 개발사는 원칙적으로 대금을 청구할 근거 자체가 약해집니다. 그래서 완성이냐 미완성이냐가 대금을 받느냐 마느냐를 가르는 관문이 됩니다.
예를 들어 쇼핑몰 앱을 계약금·중도금·잔금으로 나눠 개발하기로 했는데, 발주자가 잔금 지급을 앞두고 "핵심 결제 기능이 안 돈다"며 미완성을 주장하는 경우가 전형적입니다. 개발사가 잔금을 받으려면 결국 "예정된 개발이 완성 단계에 이르렀다"는 점을 스스로 밝혀야 합니다. 반대로 발주자가 대금을 아끼려면 "미완성"임을 드러내야 유리해집니다.
개발대금 다툼은 대부분 '완성이냐 미완성이냐'에서 갈린다. 완성으로 인정되면 대금 청구의 문이 열리고, 미완성에 머무르면 청구 자체가 막힌다.
법원이 보는 '개발 완성' 기준 — 최후 공정과 주요 기능
완성 여부는 발주자나 개발사의 주관적 만족이 아니라 객관적 기준으로 판단합니다. 대법원은 도급에서 목적물의 주요 구조 부분이 약정된 대로 시공되어 사회통념상 일반적으로 요구되는 성능을 갖추었고 당초 예정된 최후의 공정까지 마쳤다면 일이 완성된 것으로 보아야 한다고 판시했습니다(대법원 2019. 9. 10. 선고 2017다272486, 272493 판결). 그리고 최후의 공정을 마쳤는지는 당사자의 주장에 구애받지 않고 계약의 구체적 내용과 신의성실의 원칙에 비추어 객관적으로 판단해야 한다고 밝혔습니다.
이 법리를 소프트웨어 개발에 옮기면, 판단의 잣대는 계약서와 제안요청서·기능명세서·요구사항 정의서에 적힌 '핵심 기능'이 구현되어 예정된 마지막 단계(최종 산출물 납품, 통합 테스트, 오픈 등)까지 이르렀는지가 됩니다. 계약에서 약속한 주된 기능들이 대체로 작동하고 마지막 공정까지 진행되었다면, 사소한 결함이 남아 있더라도 '완성'으로 평가될 여지가 큽니다.
가령 예약 관리 시스템을 만들기로 했는데 예약·결제·알림이라는 주요 기능이 모두 구현되어 실제 운영에 투입할 수 있는 수준이라면, 일부 화면의 디자인이 어긋나거나 특정 상황에서 오류가 나더라도 완성 단계로 볼 수 있습니다. 반대로 결제 모듈 자체가 아예 붙지 않아 서비스의 근간이 돌아가지 않는다면, 이는 완성에 이르지 못한 것으로 평가되기 쉽습니다.
완성은 '흠 하나 없는 상태'가 아니라 '약정한 주요 기능이 갖춰지고 예정된 최후 공정까지 마친 상태'다. 100% 완벽만이 완성인 것은 아니다.
미완성과 하자는 다르다 — 결과가 정반대로 갈리는 갈림길
실무에서 발주자는 "미완성"이라 주장하고 개발사는 "완성됐고 약간의 하자만 있다"고 주장하는 구도가 반복됩니다. 이 구별은 말장난이 아니라 결과가 정반대로 갈리는 핵심 쟁점입니다. 개발이 완성에 이르렀다면 대금 청구는 가능하고, 남은 흠은 수급인의 하자담보책임(민법 제667조) 문제로 넘어가 하자보수나 손해배상, 그에 따른 상계·동시이행 항변으로 다투게 됩니다. 반면 아직 완성에 이르지 못한 '미완성'이라면 대금 청구 자체가 원칙적으로 막힙니다.
대법원도 완성된 목적물에 하자가 있는 경우 이를 하자담보책임에 관한 민법 규정에 따라 처리하도록 하는 것이 당사자의 의사와 법률의 취지에 부합한다고 보았습니다(대법원 2019. 9. 10. 선고 2017다272486, 272493 판결). 즉 완성만 인정되면, 발주자가 지적하는 문제는 '대금을 못 준다'는 근거가 아니라 '하자를 고쳐 달라, 손해를 배상하라'는 별개의 청구로 정리됩니다.
구별의 실익을 예로 들면, 완성된 앱에 버그 몇 개가 남아 발주자가 손해를 입었다면 발주자는 그 하자보수비 상당액을 개발대금에서 상계하거나 동시이행을 주장할 수 있을 뿐, 대금 전액 지급을 거절할 수는 없습니다. 그러나 애초에 미완성이라면 발주자는 대금 지급 의무 자체를 다툴 수 있습니다. 그래서 개발사는 '완성+경미한 하자' 쪽으로, 발주자는 '미완성' 쪽으로 사실관계를 끌고 가려 합니다.
완성 + 하자: 주요 기능이 갖춰지고 최후 공정까지 마쳤으나 일부 흠이 남은 상태 — 대금 청구 가능, 하자는 보수·손해배상·상계로 조정.
미완성: 약정한 주요 기능이 구현되지 않았거나 예정된 공정을 마치지 못한 상태 — 원칙적으로 대금 청구가 막힘.
판단 자료: 계약서·기능명세, 실제 구동 화면, 테스트 결과, 납품·검수 기록이 완성/미완성 경계를 가른다.
검수를 미루면 개발비를 못 받나 — 검수·인도의 법적 의미
발주자가 검수를 차일피일 미루거나 아예 응하지 않아 대금 지급이 막히는 경우가 많습니다. 그러나 '검수'가 곧 대금의 절대 조건인 것은 아닙니다. 대법원은 민법 제665조 제1항의 '목적물의 인도'란 단순한 점유의 이전만을 뜻하는 것이 아니라, 도급인이 목적물을 검사한 후 목적물이 계약 내용대로 완성되었음을 명시적 또는 묵시적으로 시인하는 것까지 포함하는 의미라고 보았습니다(대법원 2019. 9. 10. 선고 2017다272486, 272493 판결; 대법원 2023. 3. 30. 선고 2022다289174 판결).
나아가 대법원은 계약에서 "수급인이 공급한 목적물을 도급인이 검사하여 합격하면 보수를 지급한다"고 정한 경우, 그 '검사 합격'은 대금 지급 의무의 발생 여부를 좌우하는 조건이 아니라 보수 지급 시기에 관한 불확정기한이라고 판시했습니다(같은 판결). 그 결과 수급인이 일을 완성한 다음 검사에 합격한 때 또는 검사 합격이 불가능한 것으로 확정된 때 보수 지급 청구권의 기한이 도래한다고 보았습니다.
이 법리의 실무적 의미는 큽니다. 개발이 완성 단계에 이르렀는데도 발주자가 정당한 이유 없이 검수를 거부하거나 무한정 미룬다면, 검수 합격이 사실상 불가능하게 된 것으로 볼 수 있어 개발사는 그때 대금 지급을 청구할 수 있습니다. 따라서 개발사로서는 완성물을 인도하려 했다는 사실, 검수를 요청한 이력, 발주자가 정당한 사유 없이 검수를 회피한 정황을 이메일·메신저·내용증명으로 남겨 두는 것이 결정적입니다.
검수 거부가 곧 대금 면제는 아니다. 완성에 이른 뒤 발주자가 부당하게 검수를 미루면, 검수 합격이 불가능해진 시점에 대금 청구의 기한이 도래한다.
개발 도중 계약이 깨졌다면 — 이미 한 작업의 기성 대금은?
개발이 끝나기 전에 발주자가 계약을 해제·해지하는 경우도 흔합니다. 민법은 완성 전에는 도급인이 손해를 배상하고 계약을 해제할 수 있다고 정하고 있어(민법 제673조), 발주자가 일방적으로 개발을 중단시킬 여지 자체는 열려 있습니다. 문제는 그때까지 개발사가 해 놓은 작업의 대가입니다.
대법원은 도급계약에서 정한 일의 완성 이전에 계약이 해제된 경우, 수급인은 도급인에게 보수를 청구할 수 없음이 원칙이라고 밝혔습니다(대법원 2023. 3. 30. 선고 2022다289174 판결). 다만 이미 완성된 부분이 도급인에게 이익이 되는 등 일정한 사정이 있으면 예외적으로 그 기성 부분에 대한 보수청구권이 인정될 수 있다고 보았습니다. 실제로 위 사건에서는 수급인이 용역의 일부를 수행했더라도 그로 인해 도급인에게 보수청구권을 갖거나 도급인이 보수 상당의 부당이득을 얻었다고 보기 어렵다며, 기성 대가만큼 공제된다고 본 원심을 뒤집었습니다.
정리하면, 개발 중단 시 기성 대금을 받으려는 개발사는 '이미 한 부분이 발주자에게 실제로 쓸모가 있고, 발주자가 그 부분의 완성을 원했다'는 점까지 구체적으로 입증해야 합니다. 단순히 "며칠 일했으니 그만큼 달라"는 식으로는 인정받기 어렵습니다. 반대로 발주자로서는 넘겨받은 중간 산출물이 독립적 가치가 없어 실제 이익이 없었다는 점을 부각하면 기성 대금 부담을 줄일 수 있습니다.
기성 대금이 인정되기 쉬운 경우: 완성된 모듈·산출물이 독립적으로 쓸 수 있고, 발주자가 이를 넘겨받아 실제 활용하거나 활용할 수 있는 상태.
인정받기 어려운 경우: 중간 결과물이 전체와 분리하면 쓸모가 없거나, 발주자에게 실질적 이익으로 남지 않은 경우.
개발사 준비물: 진척률을 뒷받침하는 산출물·소스·회의록·중간 납품 내역.
개발대금 청구 소송 실무 — 입증·감정과 채권 관리
소송으로 가면 결국 '누가 무엇을 입증하느냐'의 싸움입니다. 개발대금을 청구하는 개발사는 계약의 존재와 일의 완성(또는 기성 부분의 가치)을 밝혀야 하고, 하자를 주장하는 발주자는 그 하자의 존재와 내용을 구체적으로 특정해 입증해야 합니다. 소프트웨어에서 법적 의미의 하자로 인정받으려면 단순한 구동 오류나 현상만으로는 부족하고, 계약에서 정한 객관적 기준이나 요구사항과의 불일치가 구체적으로 드러나야 합니다.
따라서 증거를 어떻게 남겼는지가 승패를 좌우합니다. 계약서와 기능명세서·요구사항 정의서, 검수 기준, 실제 구동 화면과 테스트 결과, 소스코드 납품 내역, 발주자와 주고받은 이메일·메신저·회의록이 핵심 자료입니다. 완성도가 다투어지면 법원은 전문가 감정을 통해 완성 정도를 가늠하기도 하는데, 감정이 산출하는 완성도 수치는 참고 자료일 뿐 그 자체로 완성·미완성을 자동으로 결론짓지는 않습니다. 그래서 감정 전후로 미완성과 하자의 구별을 법리적으로 정리해 두는 전략이 중요합니다.
소송에 앞서 내용증명으로 대금과 검수를 촉구하고, 다툼이 크지 않으면 지급명령을, 발주자의 재산 은닉이 우려되면 가압류를 함께 검토합니다. 소멸시효도 주의해야 합니다. 개발 용역대금 채권은 그 성질을 '도급받은 자의 공사에 관한 채권'으로 보면 민법 제163조 제3호에 따라 3년의 단기소멸시효가 적용될 여지가 있고, 상인 사이의 상행위로 인한 채권으로 보면 상법 제64조에 따라 5년이 적용될 수 있어, 채권의 성격에 따라 결론이 달라질 수 있습니다. 시효가 애매하다면 짧은 쪽을 기준으로 삼아 서둘러 청구·중단 조치를 해 두는 편이 안전합니다.
개발대금 소송은 결국 '완성을 어떻게 입증하고, 하자를 어떻게 특정하느냐'의 문제다. 계약서·기능명세·검수 기록을 미리 챙긴 쪽이 유리하다.
자주 묻는 질문
Q. 계약서 없이 구두로 개발을 맡겼는데도 개발비를 받을 수 있나요?
A. 계약서가 없어도 개발 위탁 합의가 있었다면 도급계약은 성립할 수 있어 대금 청구가 원칙적으로 가능합니다. 다만 약정한 범위와 완성 여부를 다투기 어려워지므로, 카카오톡·이메일·견적서·중간 결과물 전달 내역 등으로 계약 내용과 진척을 입증하는 것이 관건입니다. 구두 계약일수록 남아 있는 기록이 곧 증거가 됩니다.
Q. 발주자가 검수를 안 해주고 연락을 끊었습니다. 대금 청구가 불가능한가요?
A. 아닙니다. 대법원은 '검사 합격'을 대금 지급 시기에 관한 불확정기한으로 보아, 검사 합격이 불가능한 것으로 확정된 때에도 보수 청구권의 기한이 도래한다고 판단했습니다(대법원 2019. 9. 10. 선고 2017다272486, 272493 판결). 완성물을 인도·검수 요청했는데 발주자가 정당한 이유 없이 응하지 않았다면, 그 정황을 남겨 두고 대금을 청구할 수 있습니다.
Q. 앱에 버그가 몇 개 남아 있으면 무조건 미완성인가요?
A. 그렇지 않습니다. 약정한 주요 기능이 갖춰지고 예정된 최후 공정까지 마쳤다면, 사소한 결함이 남아 있어도 완성으로 볼 수 있고 그 흠은 하자담보책임(민법 제667조) 문제로 처리됩니다. 다만 결제·로그인처럼 서비스의 근간이 되는 기능이 아예 작동하지 않는다면 미완성으로 평가될 수 있어, 남은 흠이 '주요 기능'인지 '부수적 결함'인지가 갈림길이 됩니다.
Q. 개발 도중 발주자가 일방적으로 계약을 해지했습니다. 그동안 한 작업비는 받나요?
A. 완성 전 해제 시 수급인은 보수를 청구할 수 없음이 원칙이지만, 이미 완성된 부분이 발주자에게 이익이 되는 경우 예외적으로 그 기성 부분의 보수청구권이 인정될 수 있습니다(대법원 2023. 3. 30. 선고 2022다289174 판결). 다만 넘긴 산출물이 발주자에게 실제로 쓸모가 있어야 하므로, 진척과 완성도를 입증할 자료를 확보해 두어야 합니다.
Q. 개발대금 채권의 소멸시효는 몇 년인가요?
A. 채권의 성격에 따라 달라집니다. '도급받은 자의 공사에 관한 채권'으로 보면 민법 제163조 제3호에 따라 3년, 상인 사이의 상행위로 인한 채권으로 보면 상법 제64조에 따라 5년이 적용될 수 있습니다. 개별 사안에서 다투어질 수 있으므로, 시효가 임박했다면 짧은 기간을 기준으로 내용증명·지급명령·소송 제기 등 시효중단 조치를 서두르는 것이 안전합니다.
Q. 소스코드를 아직 안 넘겼는데 대금부터 달라고 해도 되나요?
A. 도급에서 보수는 완성된 목적물의 인도와 동시에 지급하는 것이 원칙이어서(민법 제665조 제1항), 대금 지급과 산출물 인도는 동시이행 관계에 놓이는 경우가 많습니다. 발주자가 소스코드·산출물 인도를 요구하며 동시이행을 주장하면 대금만 먼저 받기 어려울 수 있으므로, 완성물을 인도할 준비가 되어 있다는 점(이행 제공)을 갖추고 청구하는 것이 유리합니다.
맺음말
외주 개발비 분쟁의 승패는 '완성이냐 미완성이냐'라는 한 축에서 대부분 결정됩니다. 법원은 약정한 주요 기능이 갖춰지고 예정된 최후 공정까지 마쳤는지를 신의칙에 비추어 객관적으로 따지고, 완성으로 인정되면 남은 흠은 하자담보책임의 문제로 정리합니다. 검수를 미룬다고 대금이 사라지는 것도 아니고, 개발이 중단됐다고 기성 대금을 무조건 못 받는 것도 아니라는 점도 기억할 필요가 있습니다.
결국 관건은 기록입니다. 계약서와 기능명세, 검수 요청과 응답, 실제 구동 화면과 납품 내역을 시점별로 남겨 둔 쪽이 완성과 하자의 경계에서 유리한 고지를 차지합니다. 발주자라면 반대로 하자의 내용을 구체적으로 특정해 두는 것이 방어의 출발점입니다. 어느 쪽이든 다툼이 감정으로 번지기 전에 법리적 쟁점을 정리해 두면 불필요한 소모를 줄일 수 있습니다.
개발대금을 둘러싼 갈등은 완성 여부, 하자, 검수, 기성 정산, 소멸시효가 얽혀 사안마다 결론이 크게 달라집니다. 청구든 방어든 전략의 방향이 서지 않을 때는 계약서와 주고받은 기록을 정리해 초기에 점검해 보시길 권합니다.
조력이 필요하시면 010-3432-1451 강대현 변호사에게 연락주십시오. 신속히 도와드리겠습니다.
의뢰인을 위한 최선의 전략을 끊임없이 고민합니다.
로톡의 모든 콘텐츠는 저작권법의 보호를 받습니다.
콘텐츠 내용에 대한 무단 복제 및 전재를 금지하며, 위반 시 민형사상 책임을 질 수 있습니다.
