Кто кому должен: как свести долги в компании к минимуму переводов
После поездки долги в компании обычно выглядят как новогодняя гирлянда, которую в прошлом январе кое-как запихнули в коробку. Аня должна Боре, Боря Вике, Вика Гене, а Гена почему-то Ане.
Если переводить строго "как записано", получится переводов десять. И кто-нибудь обязательно переведет дважды, а кто-нибудь ни разу.
На самом деле все распутывается довольно просто, нужно только посмотреть на долги чуть по-другому. (Я делаю приложение raskiday, которое делает это автоматически, но тут объясню как это работает, чтобы можно было и руками.)
Начнем с простого
Аня должна Боре 500 рублей. Боря должен Вике 500.
Можно сделать два перевода: Аня Боре, потом Боря Вике. А можно один - Аня сразу переводит Вике, и все. Боре вообще ничего делать не нужно, ему должны 500 и он должен 500, в сумме ноль.
Вот в этом и вся идея. Неважно, кто кому должен по каждой отдельной трате. Важно только сколько каждый в итоге переплатил или недоплатил.
Как посчитать для любой компании
Сначала у каждого считаем итог: сколько человек заплатил минус сколько должен был заплатить. Получился плюс - ему должны, минус - должен он. Кстати, если все сложить, всегда выйдет ноль (сколько одни переплатили, ровно столько другие недоплатили). Удобно для проверки.
Потом сводим долги. Тот, кто должен больше всех, переводит тому, кому должны больше всех, сколько может. И повторяем, пока долги не кончатся.
Например, после поездки получилось так: Ане должны 1 500 ₽, Боре 500, Вика должна 1 200, Гена 800.
Больше всех должна Вика, больше всех должны Ане. Значит Вика переводит Ане 1 200, и Ане остается получить еще 300.
Остается Гена с его 800. Теперь больше всех должны Боре (500), Гена переводит ему 500, а оставшиеся 300 отдает Ане.
| Кто | Кому | Сколько |
|---|---|---|
| Вика | Ане | 1 200 ₽ |
| Гена | Боре | 500 ₽ |
| Гена | Ане | 300 ₽ |
Три перевода на четверых. И это работает для любой компании: если вас N человек, переводов понадобится не больше чем N - 1. То есть на десятерых максимум девять, а не сорок с чем-то.
Еще маленький трюк. Если кто-то должен ровно столько, сколько должны другому (Дима должен 800, Лене должны 800), пусть сразу переводит ему, один перевод закрывает обоих. С таких пар удобно начинать.
Почему руками все равно тяжело
Если вас четверо и трат пять, это пять минут на калькуляторе, не вопрос. Но в реальной поездке трат десятки, платят все по очереди, кто-то не ел, кто-то уехал раньше, кто-то уже вернул половину... Одна ошибка в сложении и кто-то переплатил, а кто-то обиделся. Ну вы поняли.
Как это делает raskiday
Каждый записывает свои траты, а итоги и переводы приложение считает само, по тому же правилу что выше: сначала точные пары, потом "кто больше всех должен - тому, кому больше всех должны".
Каждый видит свой долг и кому его отдать, без таблиц и скриншотов в чате. Перевел - нажал "Я вернул", и долг закрылся у всех. Можно отметить "Получил", если перевели вам, или вообще простить долг. Бесплатно, без рекламы, работает без интернета.
Чего оно не умеет - это само переводить деньги. Оно только говорит, кто кому сколько, а переводите вы как обычно, через свой банк.
Мемы сделаны на популярных шаблонах из интернета, права на исходные изображения принадлежат их авторам.