정산하기: 더 적은 송금으로 모임 비용 정리하기
모임 비용 정산은 영수증마다 갚는 것이 아니라 잔액을 상계하는 것이며, 기록된 결제는 상대방이 확인하는 주장입니다
친구 세 명, 주말 하루, 영수증 열두 장. 송금 두 번이면 끝납니다. 열둘과 둘 사이의 이 간격이 바로 '정산'의 의미이며, Dimesum은 이를 장부 위의 독립된 작업으로 다룹니다. 아래에서 그 계산과, 정산 이후 양쪽이 같은 내용에 동의하도록 만드는 구조를 설명합니다.
정산의 의미: 영수증이 아니라 잔액을 상계하기
공유한 지출은 저마다 두 개의 숫자를 움직입니다. 내가 낸 금액과 내 몫이었던 금액입니다. 잔액은 그 둘의 누적 차이입니다. 정산은 모임의 모든 잔액을 0으로 만들고, 영수증은 다시 손댈 필요가 없습니다. 오직 차액만 움직입니다.
영수증마다 하나씩 갚다 보면 끝이 없게 느껴지는데, 실제로 끝이 없기 때문입니다. 같은 돈을 양방향으로 주고받고, 때로는 같은 사람에게, 같은 날에 보내게 됩니다.
원화로 보는 예시: 여섯 번의 송금이 두 번으로
친구 세 명이 바르셀로나에서 주말을 보냅니다. Anna는 숙소로 ₩270,000, Ben은 저녁 식사로 ₩135,000, Clara는 택시로 ₩45,000을 냅니다. 합계 ₩450,000, 1인당 공정한 몫은 ₩150,000입니다.
| 사람 | 낸 금액 | 공정한 몫 | 잔액 |
|---|---|---|---|
| Anna | ₩270,000 | ₩150,000 | +₩120,000 (받을 금액) |
| Ben | ₩135,000 | ₩150,000 | −₩15,000 (낼 금액) |
| Clara | ₩45,000 | ₩150,000 | −₩105,000 (낼 금액) |
Clara가 Anna에게 ₩105,000을 보냅니다. Ben이 Anna에게 ₩15,000을 보냅니다. 끝입니다. 세 장의 영수증을 하나씩, 매번 세 사람 모두가 얽힌 채로 갚았다면, 똑같은 결과에 이르는 데 여섯 번의 송금이 필요했을 수 있습니다.
더 적은 송금은 희망이 아니라 보장
n명으로 이루어진 모임은 통화별로 최대 n−1번의 송금으로 정산됩니다. 이유는 이렇습니다. 각 송금은 적어도 한 사람의 잔액을 0으로 만들 수 있고, 한 사람을 뺀 모두가 0이 되면 마지막 사람도 0이 됩니다.
친구 세 명은 송금 두 번이 필요합니다. 다섯 명은 네 번이 필요합니다. 영수증 개수는 이 공식에 결코 들어가지 않습니다.
통화별 조항은 핵심을 지탱합니다. 도쿄와 파리를 아우르는 여행은 두 개의 장부를 남기고, ¥12,000의 빚은 €70의 빚과 결코 상계되지 않습니다. Dimesum은 통화별로 잔액을 보관하고 환율을 사실인 척하기를 거부하며, 여섯 가지 금액 버그가 그 이유를 가르쳐 주었습니다. 서울에서 원화로 기록한 저녁 식사에도 같은 원리가 적용됩니다. 모임이 다른 곳에서 무엇을 빚지고 있든 ₩52,500은 원화로 정산됩니다.
결제를 기록하는 것은 돈을 옮기는 것이 아닙니다
Dimesum은 돈을 보관하지 않습니다. Clara가 Anna에게 돈을 갚으면, 돈은 그의 은행을 통해 움직이고, 장부는 그 일이 일어났음을 기록합니다. 그래서 '결제됨 표시'는 하나의 주장이며, 설계도 이를 주장으로 다룹니다.
Anna는 이를 확인하거나 이의를 제기합니다. 이의 제기는 추가 전용 장부의 기록을 되돌립니다. 그리고 조용한 48시간이 지나면 자동으로 확인되는데, 대부분의 사람은 이미 받은 돈에 대해 버튼 누르는 것을 잊기 때문입니다.
부분 정산, 그리고 올바른 방향을 가리키는 상한
빚의 일부를 갚는 일은 흔하므로, 이는 기본 기능입니다. ₩120,000의 잔액에 ₩75,000을 갚으면 장부에는 정확히 ₩45,000이 남고, 놓칠 만한 별도 메모는 없습니다. 상한은 반대 방향으로도 작동합니다. 정산은 남은 금액을 결코 넘어설 수 없으므로, 두 번 누르거나 화면이 갱신되지 않았더라도 빚을 초과해 누가 누구에게 빚졌는지를 뒤집을 수 없습니다.
우리는 그 상한을 한 번 잘못 만든 적이 있습니다. 초기 방어 장치는 남은 금액이 양수일 때만 적용되어, 0의 상한을 사실상 상한 없음으로 바꿔 버렸는데, 이는 바로 그 규칙이 존재하는 이유인 경우였습니다. 지금은 고쳐졌고, 검증되었으며, 그래서 이곳에서 정산은 관행이 아니라 감사되는 작업입니다.
핵심 정리
영수증마다 갚는 일을 멈추세요. 각자가 낸 금액을 합하고, 각자의 몫을 빼고(항목별 청구서는 이를 사람마다 계산해 줍니다), 차액만 옮기세요. 통화별로, 자리에 앉은 인원수에서 하나를 뺀 수보다 많은 송금은 결코 필요하지 않습니다. 양쪽이 확인하는 곳에 결제를 기록하세요. 여행의 돈은 여행이 끝날 때 끝납니다.
자주 묻는 질문
정산하기가 무슨 뜻인가요?
정산이란 각자가 낸 금액과 쓴 금액을 상계하고 차액만 송금하여 모임의 모든 잔액을 0으로 만드는 것입니다. 영수증을 하나씩 갚는 것이 아닙니다. 공유 영수증 열두 장을 가진 친구 세 명도 보통 한두 번의 송금이면 정산이 끝납니다
여행 후에 모임 비용은 어떻게 정산하나요?
각자가 낸 금액을 합하고, 여행 전체에서 각자의 공정한 몫을 뺀 다음, 그 결과의 부호가 누가 받을지와 누가 낼지를 알려 줍니다. 그다음 차액을 갚습니다. 빚진 사람이 받을 사람에게 송금하여 모든 잔액을 0으로 만들며, 이때 모임 인원수에서 하나를 뺀 수보다 많은 송금은 결코 필요하지 않습니다
모임 정산에 필요한 최소 송금 횟수는 몇 번인가요?
n명으로 이루어진 모임은 통화별로 언제나 최대 n 빼기 1번의 송금으로 정산할 수 있습니다. 친구 세 명은 영수증을 아무리 많이 쌓아도 최대 두 번의 송금이면 되는데, 정산은 개별 지출을 갚는 것이 아니라 잔액을 정리하기 때문입니다
누군가 결제됨으로 표시했는데 돈이 안 들어왔으면 어떻게 되나요?
Dimesum에서 정산을 결제됨으로 표시하는 것은 사실이 아니라 주장입니다. 상대방이 이를 확인하거나 이의를 제기하며, 이의 제기는 장부의 기록을 되돌리고, 48시간 동안 응답이 없으면 자동으로 확인됩니다. 양쪽은 스크린샷을 두고 다투는 대신 결국 같은 기록에 동의하게 됩니다
빚의 일부만 정산할 수 있나요?
네. 부분 정산은 남은 잔액을 줄이고 장부가 나머지를 보관하므로, ₩120,000의 빚에 ₩75,000을 갚으면 정확히 ₩45,000이 남습니다. 상한은 반대 방향으로도 작동합니다. 결제는 남은 금액을 결코 넘어설 수 없으므로, 두 번 눌러도 누가 누구에게 빚졌는지를 뒤집을 수 없습니다