여행 경비 정산 계산기

지출마다 누가 얼마나 부담할지 정하고, 이미 주고받은 돈까지 넣어 사람별 잔액과 남은 송금 방법을 만듭니다.

이 계산기는 입력한 값만 계산합니다. 환율을 조회하지 않고 직접 넣은 환율로만 환산하며, 은행 송금을 실행하지 않고, 입력한 이름과 금액을 저장하거나 주소창에 남기지 않습니다.

정산 기준

어떤 여행의 정산인지 적어두면 결과를 복사했을 때 헷갈리지 않습니다. 계산에는 쓰이지 않습니다.
모든 금액을 이 한 가지 통화로 넣어야 합니다. 다른 통화로 쓴 돈은 실제로 청구된 금액을 직접 확인해 이 통화로 바꿔 넣으세요.
선택하면 결과에 추정값 기준이라는 표시가 붙습니다. 계산 결과 자체는 달라지지 않습니다. 지출을 환율로 환산해 넣으면 이 확인란과 상관없이 결과에 추정값 표시가 자동으로 붙습니다.

참가자

2명에서 20명까지 넣을 수 있습니다. 실명이 아니어도 되고 전화번호나 계좌번호는 넣지 마세요.

지출과 환불

지출마다 결제한 사람과 부담 가중치를 정합니다. 숙박비를 날짜별로 나누려면 숙박일마다 지출을 하나씩 추가하고 그날 잔 사람만 1을 넣으세요.

이미 주고받은 송금

여행 중에 이미 보낸 돈입니다. 지출이 아니라 잔액을 줄이는 정산이므로 지출로 다시 넣지 마세요.

아직 주고받은 돈이 없으면 비워 두세요.

아직 계산하지 않았습니다. 참가자와 지출을 넣고 정산표 만들기를 누르세요.

계산 방법

다음 순서로 계산합니다. 모든 금액은 정산 통화의 최소 단위 정수로 다루므로 중간에 소수점 오차가 생기지 않습니다.

  1. 지출마다 각자의 이상 부담액을 총액 곱하기 자기 가중치 나누기 가중치 합으로 구하고, 각 값을 최소 단위로 내림합니다.
  2. 내림하고 남은 최소 단위는 버려진 소수부가 큰 사람부터 1씩 나눠 줍니다. 그래서 부담액의 합은 언제나 총액과 정확히 같습니다.
  3. 소수부까지 같아 순서를 정할 수 없으면 참가자 ID 오름차순으로 받습니다. 이 화면의 ID는 참가자를 추가한 순서대로 붙으므로, 목록에서 위에 있는 사람이 먼저 1단위를 받습니다. 화면에서 순서를 바꿔도 잔돈 수령자는 바뀌지 않습니다.
  4. 사람별 잔액은 대신 결제한 금액에서 부담할 금액을 빼고, 이미 보낸 송금을 더하고, 이미 받은 송금을 뺀 값입니다. 환불을 받은 사람은 그만큼 결제한 금액이 줄어들어 마이너스로 보일 수 있습니다.
  5. 모든 사람의 잔액을 더한 값은 정확히 0입니다. 계산 코어가 이 조건을 직접 검사하며, 어긋나면 결과를 내지 않고 오류로 멈춥니다.
  6. 환불은 원본 지출과 완전히 같은 가중치로 음수 분배합니다. 누적 환불액은 원본 지출 금액을 넘을 수 없습니다.
  7. 송금 제안은 가장 많이 받을 사람과 가장 많이 보낼 사람을 차례로 상쇄하는 방식입니다. 금액이 같으면 참가자 ID 오름차순으로 정렬합니다.
  8. 환율로 환산하는 지출은 원통화 금액에 환율을 곱하고 정산 통화의 최소 단위로 반올림합니다. 딱 절반이면 올립니다. 곱셈과 반올림은 분수로 하므로 소수점 오차가 생기지 않습니다. 이 환산은 부담액을 나누기 전, 계산의 맨 앞에서 한 번만 합니다.
  9. 환산이 끝나지 않은 지출이 하나라도 있으면 사람별 잔액도 송금 방법도 만들지 않습니다. 통화가 섞인 상태의 정산표는 틀린 표이기 때문입니다.

화면에 보이는 금액은 표시용으로 자릿수를 구분한 문자열입니다. 이 값을 다시 더해 검산하지 말고, 표에 함께 나오는 합계를 보세요.

숙박비를 나누는 두 가지 방법

숙박비는 합의에 따라 결과가 달라집니다. 이 계산기는 어느 쪽이 더 공정한지 정해 주지 않고, 두 방법 모두 총액을 정확히 보존합니다.

날짜별 이용자 분담
숙박일마다 지출을 하나씩 추가하고, 그날 실제로 잔 사람에게만 1을 넣습니다. 날짜마다 요금이 다르면 그날의 실제 요금을 넣으세요. 요금을 내야 하는데 그날 잔 사람이 아무도 없으면 계산이 멈춥니다. 누가 책임질지 먼저 정해야 합니다.
사람 곱하기 박수 비례
숙박비 총액을 지출 하나로 넣고 가중치에 각자의 박수를 넣습니다. 아무도 쓰지 않은 빈 방 때문에 생긴 비용도 전체 박수에 비례해 나뉜다는 점을 알고 쓰세요.

가상 예제

화면 확인용 가상 예제입니다. 실제 숙소 요금이나 특정 예약처의 조건이 아닙니다.

가, 나, 다 세 사람이 USD로 정산하고 숙박비 450달러를 가가 결제했습니다. 가와 나는 2박, 다는 1박 잤습니다.

  • 날짜별 이용자 분담으로 넣으면 1박차 225달러를 셋이, 2박차 225달러를 가와 나가 나눕니다. 부담액은 187.50 / 187.50 / 75.00 달러입니다.
  • 예제 버튼은 이 방법으로 채웁니다. 결과는 가가 262.50달러를 받고, 나가 187.50달러, 다가 75.00달러를 보내면 끝나는 형태입니다.
  • 사람 곱하기 박수 비례로 넣으면 450달러 한 건에 가중치 2 / 2 / 1이 되어 180 / 180 / 90 달러가 됩니다. 두 방법 모두 합계는 450달러로 같습니다.

예제를 누르면 지금 입력한 값이 예제 값으로 바뀝니다. 화면 위쪽의 실행 취소 버튼으로 되돌릴 수 있습니다.

자주 묻는 질문

기존 더치페이 계산기와 무엇이 다른가요?
기존 더치페이 계산기는 총액 한 건을 인원수로 균등하게 나누거나 사람별 금액을 직접 적는 도구입니다. 팁을 붙이고 1인당 얼마인지 바로 보고 싶을 때는 그쪽이 더 빠릅니다. 이 계산기는 지출을 여러 건 넣고 지출마다 부담자와 가중치를 다르게 두며, 환불과 이미 주고받은 송금까지 반영해 사람별 잔액과 남은 송금 방법을 만듭니다. 한 끼 식사비를 똑같이 나누는 일이라면 기존 더치페이 계산기를 쓰세요.
송금 방법이 가장 적은 횟수인가요?
아닙니다. 가장 많이 보낼 사람과 가장 많이 받을 사람을 차례로 상쇄하는 방법이라 같은 입력에는 항상 같은 표가 나오지만, 이론상 더 적은 횟수로 끝나는 조합이 있을 수 있습니다. 정산을 마치는 한 가지 방법으로 보세요.
외화로 쓴 돈은 어떻게 넣나요?
지출마다 정산 통화로 확정된 청구액이 있는지 먼저 고릅니다. 카드 명세서처럼 확정된 금액이 있으면 그 금액을 넣으세요. 지금 환율로 다시 바꾸지 않습니다. 확정 금액이 아직 없으면 환율로 환산을 고르고 결제한 통화의 금액과 환율을 넣으세요. 환율을 쓴 지출이 하나라도 있으면 결과에 추정값 표시가 붙습니다. 이 계산기는 환율을 조회하지 않으므로 환율은 직접 확인해 넣어야 합니다.
해외 결제 수수료는 어디에 넣나요?
청구액에 이미 포함된 수수료라면 따로 넣지 마세요. 이중으로 계산됩니다. 청구액과 별도로 빠져나간 수수료만 지출 행을 하나 더 만들어 넣고, 누가 부담할지 가중치로 정하세요. 이 계산기는 환율에 수수료를 얹지 않습니다.
최소 화폐 단위 1단위가 특정 사람에게만 더 붙습니다.
최소 화폐 단위 아래로는 쪼갤 수 없기 때문입니다. 각자의 부담액을 내림한 뒤 남은 잔돈을 버려진 소수부가 큰 사람부터 1씩 줍니다. 그래야 부담액의 합이 총액과 정확히 같아집니다. 소수부까지 같으면 참가자 ID 오름차순, 즉 먼저 추가한 사람이 받습니다.
환불 행의 가중치는 왜 고칠 수 없나요?
환불은 원본 지출을 되돌리는 것이라 분담 기준이 같아야 합니다. 가중치를 바꾸면 되돌리기가 아니라 새로운 분배가 되어 잔액이 왜곡됩니다. 그래서 환불 행은 선택한 원본의 가중치를 그대로 따라갑니다. 성격이 다른 보상금이나 위로금은 환불이 아니라 별도의 지출로 넣고 따로 합의하세요.
입력한 이름과 금액이 어딘가에 남나요?
남지 않습니다. 계산은 브라우저 안에서만 이루어지고 서버로 보내지 않습니다. 공유 링크에 값을 싣지 않으므로 주소창과 브라우저 기록에도 남지 않습니다. 대신 새로고침하면 입력이 사라지므로 필요하면 결과 복사 버튼을 쓰세요.

이 계산기가 하지 않는 것

  • 환율을 조회하지 않습니다. 환산은 사용자가 직접 넣은 환율로만 하고, 환산이 끝나지 않은 비용이 남아 있으면 송금 방법을 만들지 않습니다.
  • 해외 결제 수수료나 인출 수수료를 자동으로 붙이지 않습니다. 청구액에 포함되지 않은 수수료는 별도의 지출 행으로 직접 넣어야 합니다.
  • 은행 송금을 실행하거나 계좌를 연결하지 않습니다. 계좌번호를 입력받지도 않습니다.
  • 날짜를 넣으면 숙박일을 자동으로 만들어 주지 않습니다. 숙박일마다 지출을 직접 추가해야 합니다.
  • 누가 어느 지출에 참여했는지 추측하지 않습니다. 입장료를 다 같이 갔다고 자동으로 처리하지 않습니다.
  • 어느 분담 방식이 더 공정한지 추천하지 않습니다.
  • 입력을 저장하지 않습니다. 새로고침하거나 창을 닫으면 사라집니다.

관련 계산기

금액 한 건을 그 자리에서 나누는 일이라면 아래 계산기가 더 간단합니다.

  • 더치페이 계산기 — 총액 한 건을 인원수로 균등하게 나누거나 사람별 금액을 직접 적습니다. 팁 비율과 1인당 금액을 바로 보여 줍니다. 여러 건의 지출, 지출별 부담자, 이미 주고받은 송금은 다루지 않습니다.
  • 팁 계산기 — 식사 금액에 붙일 팁을 계산합니다. 팁까지 포함한 최종 금액을 이 계산기의 지출로 넣으면 됩니다.
  • 퍼센트 계산기 — 가중치를 정하기 전에 비율만 먼저 확인하고 싶을 때 씁니다.