본문 바로가기

오피스/아웃룩·엑셀·파워포인트

이자 계산 ① 기간식, 총일수식

※ 판결금 이자 계산만 필요하신 분은 아래 자세한 설명을 보실 필요 없이 http://ejpc.scourt.go.kr/에서 손해배상 등 계산프로그램을 내려받아 실행한 후, 원금, 기간, 이율을 입력하고 기간식으로 계산된 값을 보시면 됩니다.

1. 이자 계산 방식

판결금 등 이자를 계산할 때는 기산일(초일)에도 이자가 발생합니다. 이자가 발생하는 기간을 '2010. 4. 9.부터 14일', '2010. 4. 9.부터 1년'처럼 기간을 일, 월, 년으로 정한 것도 아니고, 그 기산일 자체가 지연이자가 발생하는 '이행기 다음 날'이기 때문입니다.

1.1 기간식

기간식은 민법의 기본적인 기간 계산 방법에 따르는 방식입니다.

민법은 기간을 연(年)으로 정하는 때에는 법률이나 다른 약정이 없는 한 역(歷, 양력 기준)에 의하여 계산하도록 정하고 있습니다. 기간을 연으로 정한 때에는 기간 말일의 종료로 기간이 만료되는데, 그 기산점이 연의 중간인 경우 최후의 연에서 그 기산일에 해당한 날의 전일로 기간이 만료됩니다(민법 제159조, 제160조).

예를 들어, 2010. 4. 9.부터 만 1년이 되는 날은 2011. 4. 8.이고, 만 2년이 되는 날은 2012. 4. 8.입니다. 첫 1년인 ⓐ 2010. 4. 9.부터 2011. 4. 8.까지의 기간은 총일수가 365일이나, 그다음 년인 ⓑ 2011. 4. 9.부터 2012. 4. 8.까지는 총일수가 366일입니다. 이율을 '연 5%'로 정하였다면 ⓐ, ⓑ의 각 총일수는 다르지만 각 역법에 따른 '1년'이므로 동일하게 5%가 적용됩니다.

기간식에서 기간이 만 1년이 되지 않는 경우가 약간 복잡합니다. 이율을 '연 5%'로 정한 경우, ⓒ 2014. 4. 9.부터 2014. 10. 12.까지의 기간은 2014. 4. 9.부터 만 1년이 되는 2015. 4. 8.까지의 365일 중 187일에 해당하는 것이므로 2.56%(=5%×187/365)가 적용됩니다. 반면 ⓓ 2015. 4. 9.부터 2015. 10. 12.까지의 기간은 2015. 4. 9.부터 만 1년이 되는 2016. 4. 8.까지의 366일 중 187일에 해당하는 것이므로 2.55%(=5%×187/366)가 적용됩니다.

기간식에서 366일이 적용되는 경우를 '윤년' 또는 '윤달'로 설명하는 경우도 있으나 오히려 헷갈립니다. 그냥 간단히 "만 1년의 기간 중에 2. 29.이 포함되어 있으면 366일 기준"으로 생각하면 됩니다.

이율을 연 5%로 정한 경우, 2011. 4. 9.부터 2015. 10. 12.까지의 이율은 다음과 같이 22.55%[=5%×(4+187/366)]로 계산됩니다.

  • 만년 수 : 총 4년 (2011. 4. 9. ~ 2015. 4. 8.) ※ 2012. 2. 29.은 첫 1년에 포함
  • 잔여일 수 : 187일 (2015. 4. 9. ~ 2015. 10. 12.)
  • 잔여일에 대한 1년 일수 : 366일 (2015. 4. 9. ~ 2016. 4. 8.) ※ 2016. 2. 29.이 있음

1.2 총일수식

총일수식은 1년을 365일과 같은 특정 일수로 고정하여 계산하는 방식입니다. '총일수 방식'으로 표현하기도 하는데, 이 포스트에서는 '기간식'과 라임을 맞춰 '총일수식'이라 하겠습니다.

이율을 '연 5%'로 정한 경우, 2011. 4. 9.부터 2015. 10. 12.까지의 기간은 총 1,648일이고, 365일당 5%가 적용되므로 위 기간의 이율은 22.58%(=5%×1,648/365)로 계산됩니다. 기간 중간에 2. 29.이 포함되어 있으나 총일수에만 산정될 뿐 분모(365일)에는 영향을 미치지 않습니다.

1.3 결론

① 총일수식에 대한 별도의 약정이 없는 한 기간식 적용

총일수식이 계산이 매우 간단하기는 하나, 일반 거래계에서 생각하는 역(歷)과는 맞지 않습니다. 가령, 이율을 연 5%로 정한 경우 2016. 1. 1.부터 2016. 12. 31.까지는 단지 1년이므로 5%를 적용하는 것이 타당하고, 총일수식에 따라 5.01%(=5%×366/365)라고 하는 것은 쉽게 납득하기 어려울 것입니다. 역법에 따른 기간식이 통상적인 관념에 부합한다는 점은 특히 차임과 같이 기간을 월(月)로 정하는 경우에 분명하게 드러납니다.

기간에 관한 민법 제6장(제155조~제161조)은 법령, 재판상의 처분 또는 법률행위에 달리 정한 바가 없으면 적용됩니다(제155조). 따라서 당사자간 "1년은 365일로 한다", "지연이자(손해금) = 원금 × (지연된 일수)/365 × 17%"과 같이 약정, 약관으로 이자 계산 방법을 별도로 정하거나 확고한 상관습이 없다면 민법 규정에 맞는 기간식을 적용하는 것이 타당해 보입니다. 이 쟁점을 명시적으로 판단한 판례는 찾기 어려우나, 판결금을 총일수식으로 계산한 원고의 주장을 배척하고 기간식으로 산정한 금액을 인정한 사례는 보입니다.

서울북부지방법원 2018. 5. 11. 선고 2018가단101571 판결 "원고가 채택한 총일수로 계산하는 방식이 아닌 이행권고결정의 취지에 부합하는 기간식으로 계산하는 방식을 채택한다"

서울서부지방법원 2021. 1. 13. 선고 2019가합38345 판결 "원고는 이 사건 종전 판결금 채권의 2012. 1. 13.까지의 지연이자가 396,772,539원이라고 주장하나 총일수가 아닌 기간식으로 계산한 396,457,963원을 기준으로 한다"

서울중앙지방법원 2021. 9. 15. 선고 2020나30117 판결 "원고는 원리금의 합계가 34,564,000원이라고 주장하나, 원고는 일수를 기준으로 지연손해금을 계산한 것으로 보인다. 그러나 이 사건 확정판결에 따른 지연손해금의 이율은 연 14%, 연 27%인 점은 앞서 본 바와 같은바, 기간식으로 계산함이 타당하고, 이를 초과하는 원고의 청구는 이유 없다"

현실에서는 한쪽에서 총일수식으로 계산한 금액을 주장하는 경우가 종종 있어 여전히 혼선이 발생합니다. 대개는 총일수식을 적용할 구체적인 근거는 없이, 받는 쪽의 업무처리 방식(관행)이라고 하거나, 사실은 기간식을 아예 모르는 경우도 종종 있습니다. 다만 대출 등 금융거래에서는 금융기관 내부적으로 총일수식으로 산정하도록 되어 있는 경우가 많습니다.

실무적인 혼선이 계속되고 있으나, 사실 기간식과 총일수식은 하루 정도의 차이만 발생하는 것이어서 다툴 실익이 별로 없습니다. 단돈 1원에도 원한을 깃들여 공탁의 근소부족을 다투는 경우가 아니라면 명시적인 판단이 나올 이유는 없을 것 같습니다.

다만 앞서 설명한 것처럼, 별도의 약정이 없다면 민법 규정에 따른 기간식을 적용하는 것이 민법 해석에 부합하고, 또한 일반적인 견해입니다.

서울북부지법_2018가단101571_판결서.pdf
0.11MB
서울서부지법_2019가합38345_판결서.pdf
0.41MB
서울중앙지방법원_2020나30117_판결서.pdf
0.27MB

② 계산금액에 대한 다툼의 우려가 큰 경우 총일수식 적용 등 고려

기간식과 총일수식 어느 것을 적용할지를 놓고 지급받는 쪽에서 계속 다툴 수 있고, 원칙적으로 기간식을 적용하는 것이 맞으나 서비스마다 계산된 금액이 약간씩 다른 문제가 있습니다[2.5 서비스마다 계산 금액이 다른 이유]. 특히 변제공탁의 경우 일부공탁의 문제가 있는데, '부족액이 아주 근소하다는 특별한 사정'이 있다고도 볼 수 있지만 약간의 금액 차이로 인해 채무소멸 여부를 바로 확정하지 못하는 것은 그 자체로 위험이 있습니다.

변제공탁 등에서 계산금액의 차이로 인한 다툼의 우려가 크다면 아예 총일수식으로 금액을 계산하는 것도 필요해 보입니다. 기간식은 총일수식보다 금액이 더 크게 계산되고, 그냥 엑셀로 계산한 값을 제시해도 되는 것이어서 금액 자체에 대한 다툼은 거의 없습니다.

2. 이자 계산 서비스

2.1 법원 손해배상 등 계산 프로그램

종전에 법원은 故 정경현 부장판사님이 손해배상액, 상속분, 이자 계산, 기간 계산 등을 위해 만든 '업무용 계산 프로그램'[이하 'VK(구 프로그램)']을 사용하였고, 2007년경 일반에 공개하면서 최근까지 널리 사용되었습니다[관련 기사, 현재도 일부 법원 게시판에서 내려받을 수 있습니다].

이후 법원은 종전의 업무용 계산 프로그램을 리뉴얼하여 만든 '손해배상 등 계산프로그램'(이하 '법원 프로그램')을 2019년부터 전자소송 홈페이지를 통해 일반에 공개하였습니다[관련 기사]. http://ejpc.scourt.go.kr에서 프로그램 및 매뉴얼을 내려받을 수 있습니다.

이자 계산과 관련하여 법원 프로그램의 장점은 이자 계산 기간을 2개 이상 입력할 수 있고, 기간식과 총일수식을 모두 계산할 수 있다는 점입니다. 아래에서 설명하는 실수 연산의 오차 처리, 기산일 2. 29. 처리도 합리적입니다.

하지만 장·단점을 떠나 이 프로그램을 사용하여야 하는 이유는, 법원 프로그램에서 계산된 이자 금액을 당사자들이 다툼 없는 사실로 정리할 수 있기 때문입니다. 실수 연산의 오차 처리, 내림/반올림, 기산일 2. 29. 처리 등의 문제로 인해 프로그램마다 계산되는 이자 금액이 조금씩 다른데, 법원 프로그램에서 산정된 금액을 의문 없이 받아들이는 것이 모두에게 편합니다. 예전에는 어느 프로그램에서 계산된 금액으로 확정할지를 놓고 혼선이 있었는데, 지금은 법원 프로그램에서 계산한 화면을 캡처하여 보내면 특별한 의문 없이 받아들이는 것으로 보입니다.

2.2 대한법률구조공단 소송비용 자동계산

대한법률구조공단 홈페이지의 소송비용 자동계산은 본안 사건인지 및 송달료, 보전사건 비용, 경매신청 비용, 상속지분, 건물소가 산정 등 각종 계산 서비스를 제공합니다. 이중 이자계산은 이자 기간을 2개까지 입력할 수 있고, 기간식으로 계산됩니다[기타사건 비용계산 > 이자계산].

대한법률구조공단 소송비용 자동계산은 각종 계산 서비스를 제공하고, 별도의 프로그램 설치 없이 웹에서 쉽게 접근할 수 있어 사용이 편리합니다. 또한 몇 년 전 반응형으로 리뉴얼되면서 인터페이스도 상당히 깔끔하고 모바일에서도 쓰기 좋아졌습니다.

다만 실수 연산의 오차 처리가 되지 않아 법원 프로그램으로 계산된 금액과 약간 다르게 나옵니다.

2.3 엑셀

총일수식은 계산이 간단하기 때문에, 엑셀에서도 쉽게 구현할 수 있습니다. 아래 예시의 B3, C3, D3, E3는 각 원금, 기산일, 만료일, 이율의 값이 담겨 있는 셀입니다.

= INT(원금셀 * (만료일셀-기산일셀+1)/365 * 이율셀/100)

기간식도 엑셀에서 하나의 식으로 계산할 수는 있습니다. 아래 수식은 기간식 계산 방식에 DATEDIF와 EDATE 함수를 적용하여 구현한 것입니다. 아래 식의 '원금셀', '기산일셀', '만료일셀', '이율셀'에 B3,C4와 같은 셀 참조번호를 넣으면 됩니다.

=INT(원금셀*(DATEDIF(기산일셀,만료일셀+1,"Y")+(만료일셀-EDATE(기산일셀,12*DATEDIF(기산일셀,만료일셀+1,"Y"))+1)/DATEDIF(EDATE(기산일셀,12*DATEDIF(기산일셀,만료일셀+1,"Y")),EDATE(EDATE(기산일셀,12*DATEDIF(기산일셀,만료일셀+1,"Y")),12),"D"))*(이율셀/100))

'3+127/365'와 같은 연수 계산은 다음의 식으로 확인할 수 있습니다.

=CONCATENATE(IF(DATEDIF(기산일셀,만료일셀+1,"Y")>0, DATEDIF(기산일셀,만료일셀+1,"Y"), ""), IF(만료일셀-EDATE(기산일셀,12*DATEDIF(기산일셀,만료일셀+1,"Y"))+1 >0,CONCATENATE(IF(DATEDIF(기산일셀,만료일셀+1,"Y")>0, "+", ""), 만료일셀-EDATE(기산일셀,12*DATEDIF(기산일셀,만료일셀+1,"Y"))+1, "/", DATEDIF(EDATE(기산일셀,12*DATEDIF(기산일셀,만료일셀+1,"Y")),EDATE(EDATE(기산일셀,12*DATEDIF(기산일셀,만료일셀+1,"Y")),12),"D")),""))

다만 엑셀의 기본 함수로 계산하면 실수 연산의 오차 처리가 되지 않아 법원 프로그램으로 계산한 금액과 약간 다르게 나옵니다.

2.4 기타 서비스

2.4.1 로앤비

로앤비의 소송비용자동계산 서비스에서 이자를 계산할 수 있습니다. 이자 기간은 1개만 입력할 수 있고, 기간식으로 계산됩니다.

예전에는 VK(구 프로그램)보다 로앤비 계산을 더 선호하는 경향도 있었는데, 로앤비가 잠시 서비스를 중단한 사이 갈 곳을 잃은 많은 사용자들이 법원 프로그램에 정착하였습니다.

2.5 서비스마다 계산 금액이 다른 이유

2.5.1 부동소수점 등 실수 연산의 오차

우리 쓰는 10진법 실수(實數)는 2진법에서 연산하는 컴퓨터에서 근사값으로 처리됩니다. 엑셀에서 '=1.2-1.1'을 입력하면 처음에는 0.1로 표시되지만 소수 부분 자릿수를 늘려보면 '0.099999999999999900'로 표시되는 것을 볼 수 있는데, 이는 1.2와 1.1을 2진법으로 변환하여 연산하면서 소수 부분이 늘어난 것을 중간에서 반올림한 근사값으로 표시하기 때문입니다. 컴퓨터에서 실수를 계산할 때 거의 무한소수인데, 소수 부분을 전부 저장할 수는 없으므로 일정한 범위에서 끊어야 합니다. 실수를 표현하는 방식 중 부동소수점 자료형은 상당히 넓은 범위의 수를 표현할 수 있으나 어쨌든 오차는 발생하게 됩니다.

이러한 오차는 소수점 한참 밑에 있는 매우 작은 수에 불과하여 실생활에서 문제가 되기 어렵습니다. 나누기를 거듭한 후 큰 수를 곱하는 경우 정수 부분에도 영향을 미칠 정도의 오차가 발생할 수 있고, 기간식으로 계산할 때 이런 오차가 간혹 발생합니다. 그러나 오차가 있더라도 몇 원 차이에 불과합니다.

부동소수점 연산 과정에서 오차를 줄이고 최대한 실제값에 가까운 수를 표현하기 위해, 연산 순서를 바꾸거나 잘리는 부분에서 반올림하고, 해당 프로그래밍 언어에서 지원하는 10진법 처리(고정소수점 변환)를 할 수도 있습니다. 단 1원의 차이도 중요한 금융권은 애초부터 고정소수점으로 연산한다고 합니다.

VK(구 프로그램)에서 계산된 값은 별도의 10진법 처리 없이 계산한 값을 내림(원 미만 버림)한 것입니다. 엑셀도 VBA로 계산하지 않는 이상 고정소수점 처리가 되지 않는데, 기간식을 직접 엑셀에서 계산한 값과 VK(구 프로그램)에서 계산한 값이 같은 이유도 이 때문입니다. 대한법률구조공단 이자 계산, 로앤비는 10진법 처리 없이 계산한 후 반올림하는 것으로 보입니다. 법원 프로그램은 연수 부분(예: '3+127/365')에 10진법 처리를 한 것으로 보입니다.

2.5.2 내림/반올림

계산한 값에서 원 단위 미만은 버리는 것(내림)이 원칙적입니다. 다만 부동소수점으로 연산된 실수를 최대한 실제값에 가깝게 표현하는 대표적인 방법이 반올림이고, VK(구 프로그램)을 제외한 나머지 서비스는 실수로 계산된 값을 정수 자료형으로 표현하면서 반올림하는 것으로 보입니다.

2.5.3 기산일 2. 29. 또는 3.1.로부터 만 n년되는 날 즈음의 계산

기간식 계산은 만 1년의 기간에 2. 29.이 포함되는지에 따라 일수가 365일 또는 366일로 달라집니다. 2. 29.이 기간이 중간이나 끝에 있을 때는 모든 프로그램이 동일한 계산식으로 계산합니다. 1년을 365/365나 366/366으로 표현하는 경우도 있으나, 이는 반복문의 기산점을 어디로 잡는지에 따른 차이이고, 결과적으로도 차이가 없습니다.

문제는 기간의 기산일이 2. 29.인 경우에 발생합니다. 기간이 2. 29.부터 시작하면 만 1년이 되는 날이 중복되거나 비어야 하기 때문에 일자가 순차적으로 계산되지 않습니다.

역법으로 따져보면, 2012. 2. 27.은 2013. 3. 26., 2012. 2. 28.은 2013. 2. 27., 2012. 3. 1.은 2013. 2. 28.이 각 만 1년이 되는 날입니다. 그런데 2012. 2. 29.의 만 1년이 되는 날은 ⓐ 역법 또는 366일이 되는 날로 생각하면 2013. 2. 28.이 되어야 하나 2012. 3. 1.과 중복되고, ⓑ 말일처럼 취급하여 그 다음해 말일(2013. 2. 28.)의 전날인 2013. 2. 27.로 보면 2012. 2. 28.과 중복됩니다. 민법 제160조 제3항은 "월 또는 연으로 정한 경우에 최종의 월에 해당일이 없는 때에는 그 월의 말일로 기간이 만료한다"고 하여 2. 29.은 어차피 하루가 없어질 수밖에 운명이었지만, 날짜를 순차대로 펼쳐놓으면 어색해지고 서비스마다 계산값이 달라지게 됩니다.

그다음으로 기술적인 문제인데, 만년 수를 계산하는 과정에서 1년 단위로 반복문을 돌리면 기산점이 2012. 2. 29. → 2013. 2. 28. → 2014. 2. 28. → 2015. 2. 28. → 2016. 2. 28. ...로 아예 2. 28.로 내려오지만, 간격을 기준으로 날짜를 구하는 함수를 적용하면 2012. 2. 29. → 2013. 2. 28. → 2014. 2. 28. → 2015. 2. 28. → 2016. 2. 29. ...과 같이 다시 중간에 2. 29.이 부활하는 경우도 있습니다. 역(歷)으로는 후자가 맞겠지만, 4년마다 1일이 비면서 계산이 틀어지는 문제가 계속 발생합니다.

또한 특정 서비스에서는 기산일이 3. 1.인 경우 만 4년마다 1일이 틀어지는 문제가 발생하기도 합니다.

이 문제는 대체로 기산일 2. 29. 또는 3. 1.로부터 만 n년 되는 날의 앞·뒤 날짜에서만 발생하고 그 이후로는 다시 맞기 때문에, "2. 29. 또는 3. 1.로부터 만 n년 되는 날이 만료일인 경우"가 아니라면 사실 별다른 문제는 없습니다.

2.5.4 결론 - 법원 프로그램 사용

여기서 언급하는 부동소수점 등 실수 연산 오차, 내림/반올림, 기산일 2. 29. 또는 3. 1.은 법적인 문제는 아니고 기술적인 처리 방식의 문제입니다. 주로 사용하는 서비스들은 큰 틀에서는 차이가 없고, 특정 경우에 약간씩 오차가 발생하는 것입니다. 법원 프로그램으로 계산한 값을 다툼 없는 사실로 정리하는 것이 효율적인 것으로 생각됩니다.

 

 

Comments