부동산 중개수수료 계산기 코어 로직: 거래유형별 요율·정액 상한·월세 환산 처리
부동산 계약 직전에 가장 자주 나오는 질문 중 하나는 “복비가 얼마까지 가능한가”입니다.
이번에 추가한 도구는 주택 매매/임대차 기준으로 거래금액 구간을 판별하고, 상한 요율과 정액 상한을 함께 반영해 빠르게 참고값을 보여주도록 설계했습니다.
- 도구 바로가기: 부동산 중개수수료 계산기
핵심 로직 요약
- 거래유형 분기: 매매/임대차에 따라 요율 테이블 선택
- 거래금액 구간 매칭: 입력 금액에 맞는 상한 요율/정액 상한 조회
- 상한 계산:
수수료 = 거래금액 × 요율 - 정액 상한 보정: 정액 상한이 있으면
min(수수료, 정액상한)적용 - 참고 VAT 계산:
부가세 포함 = 수수료 × 1.1(참고값)
1) 거래유형별 요율 테이블 선택
매매와 임대차는 구간/상한 규칙이 다르므로, 입력된 유형으로 계산 테이블을 먼저 결정합니다.
핵심은 계산 전에 유형 유효성 검증을 해 예외 흐름을 초기에 차단하는 것입니다.
if (!['sale', 'rent'].includes(type)) {
throw new Error('거래 유형을 선택하세요.');
}
2) 거래금액 구간 매칭
입력값(원 단위)을 구간 테이블에 대입해 적용 요율과 정액 상한 정보를 가져옵니다.
const bracket = table.find(({ min, max }) => amount >= min && amount < max);
if (!bracket) throw new Error('거래금액 구간을 확인하세요.');
이렇게 구간 정보를 분리해두면, 정책 변경 시에도 테이블 수정만으로 대응이 쉬워집니다.
3) 요율 계산 + 정액 상한 min 처리
구간이 정해지면 먼저 요율 계산값을 만들고, 정액 상한이 있는 구간은 min으로 보정합니다.
const feeByRate = amount * bracket.rate;
const cappedFee = bracket.cap ? Math.min(feeByRate, bracket.cap) : feeByRate;
이 단계가 중요한 이유는, 사용자가 동일한 거래금액이라도 구간 규칙에 따라 실제 상한 적용 결과가 달라지는 이유를 이해할 수 있기 때문입니다.
4) 월세 환산보증금 입력 보조(30분 개선)
임대차에서 실수하기 쉬운 지점이 월세 거래금액 환산입니다.
이번 개선에서 보증금/월세 보조 입력을 추가해 보증금 + 월세×100 기준으로 거래금액을 자동 동기화했습니다.
const converted = deposit + monthlyRent * 100;
amountInput.value = converted;
덕분에 사용자는 환산 공식을 따로 계산하지 않아도 되고, 입력 오류가 크게 줄어듭니다.
5) VAT 참고금액 표시
실제 과세 여부는 사업자 유형/계약 조건에 따라 달라질 수 있어, VAT는 확정값이 아닌 참고값으로만 노출합니다.
const vatIncluded = cappedFee * 1.1;
UI에서도 “참고용” 문구를 함께 표시해 과신을 방지했습니다.
예외 처리 포인트
- 음수/0원 입력 차단
- 거래유형 미선택 시 즉시 안내
- 구간 미매칭 입력값 방어
- 월세 환산 보조 입력값(보증금/월세) 비정상 범위 검증
- 결과는 상한 기준 참고값임을 명시
내부 링크
요약
이번 코어 로직의 핵심은 아래 3가지입니다.
- 거래유형별 요율 테이블 분리
- 요율 계산 + 정액 상한
min보정 - 월세 환산보증금 자동 동기화로 입력 실수 감소
결과적으로 사용자는 계약 직전에 복비 상한을 빠르게 확인하고, 중개사 상담 시 협의 기준을 더 명확하게 잡을 수 있습니다.