dimesum

Strona główna / Blog / Inżynieria

Inżynieria

Dlaczego wspólne rachunki nigdy się nie zgadzają

· 9 min czytania · · sprawdził Jagadeep Sai

Saldo, które się nie zgadza, prawie zawsze sprowadza się do jednej z czterech rzeczy: zaokrąglonego grosza, drugiej waluty, edytowanego rachunku albo osoby, która odeszła, a tylko pierwsza to arytmetyka.

Patrzysz na saldo grupy i coś się nie zgadza. Może o kilka groszy. Może o cały rachunek. Pytanie pod spodem jest ciche, ale prawdziwe: czy to aplikacja się myli, czy ty?

Oto spokojna odpowiedź. Kiedy dzielisz rachunki z innymi osobami, saldo, które się nie zgadza, ma prawie zawsze jedną z czterech przyczyn i tylko jedna z nich to arytmetyka. Pozostałe trzy to waluta, edycja i ktoś, kto odszedł. Nazwij tę, którą masz, a naprawa przestaje być tajemnicą.

Cztery przyczyny

Zacznij od kształtu problemu. Wspólne saldo to bieżąca suma tego, kto zapłacił i kto jest winien. Powinno sumować się do zera w całej grupie: każda złotówka, którą ktoś ma dostać, to złotówka, którą ktoś inny jest winien. Kiedy tak nie jest, do sumy weszło coś, czego suma nie mogła utrzymać.

Dlaczego więc dzielone rachunki się nie zgadzają? Zwykle z jednego z czterech powodów. Grosz trafił w nieoczekiwane miejsce, gdy rachunku nie dało się podzielić równo. Dwie waluty zostały dodane tak, jakby były jedną.

Stary rachunek zmienił się po tym, jak ludzie już za niego zapłacili. Albo ktoś opuścił grupę, wciąż będąc winien pieniądze. Trzy z tych czterech nie mają nic wspólnego z twoją matematyką. Szerszy obraz tego, jak grupa naprawdę rozlicza swoje długi, znajdziesz w naszej analizie rozliczania się w grupie.

Tabela nazywa każdą przyczynę raz, pokazuje, jak się objawia, i co ją naprawia. Wszystko po niej to wersja rozszerzona.

Cztery powody, dla których wspólne saldo się nie zgadza

Cztery powody, dla których wspólne saldo się nie zgadza
PrzyczynaJak się objawiaCo ją naprawia
ZaokrąglenieSaldo różni się o grosz lub dwa, nigdy więcejDeterministyczna reguła, która zawsze wysyła nieparzysty grosz w to samo miejsce
WalutaSuma różni się o całą kwotę albo wygląda jak jedna dziwna liczbaTrzymaj osobne saldo dla każdej waluty i nigdy nie dodawaj między nimi
EdycjaSaldo skoczyło po zmianie starego rachunkuPrzelicz ponownie podział rachunku i zapisz różnicę w historii
Ktoś odszedłSaldo nie osiągnie zera bez względu na wszystkoZdecyduj, kto przejmie lub umorzy udział osoby, która odeszła, a potem to zapisz

Zaokrąglenie: nieparzysty grosz i dlaczego musi być deterministyczny

Oto przykład, a każdą liczbę w nim możesz przeliczyć samodzielnie. Lucas, Aiko i Sofia wychodzą na miasto. Kolacja kosztuje 100,00 zł i dzielą ją po równo. 100,00 zł podzielone przez trzy to 33,3333 i tak w nieskończoność, czego żadna waluta nie zapłaci. Podział staje się więc 33,33 zł, 33,33 zł i 33,34 zł.

Dodaj je z powrotem: 33,33 zł plus 33,33 zł plus 33,34 zł to dokładnie 100,00 zł. Trzy udziały są uczciwe. Jeden z nich jest o grosz większy.

Ten dodatkowy grosz to cały problem w miniaturze. Ktoś musi go unieść. To jest zaokrąglanie wspólnych wydatków i ma jedno zadanie: umieścić nieparzysty grosz w ustalonym miejscu, a nie w losowym. Jeśli aplikacja przydziela go od nowa za każdym razem, ta sama kolacja może dać 33,34 zł dla Aiko dzisiaj i 33,34 zł dla Sofii jutro, a saldo waha się o grosz bez widocznego powodu.

Dlatego czynimy regułę deterministyczną. Dodatkowy grosz trafia do płacącego za każdym razem. Zapłacił Lucas, więc Lucas niesie 33,34 zł, a pozostała dwójka niesie po 33,33 zł. Lucasowi należy się 100,00 zł minus jego własne 33,34 zł, czyli 66,66 zł.

Aiko jest winna 33,33 zł. Sofia jest winna 33,33 zł. 33,33 zł plus 33,33 zł to 66,66 zł. Grupa sumuje się do zera. Zaokrąglenie użyło dwóch miejsc po przecinku, jednostki podrzędnej ustalonej dla waluty w międzynarodowym standardzie walutowym ISO 4217; wybór, by przekazać grosz płacącemu, należy do nas, a jego jedyną zaletą jest to, że nigdy się nie zmienia.

Kalkulator do dzielenia rachunków online poradzi sobie z tym dzieleniem dla jednej kolacji. Trudniejsza część to zrobienie tego tak samo dla setnej, co jest też różnicą, na której nam zależy przy sprawiedliwym dzieleniu rachunku w restauracji. Księgowi od dawna spierają się o to, która reguła jest najsprawiedliwsza; powszechnie przyjęta wartość domyślna w informatyce, zaokrąglanie połowy do parzystej, jest opisana w standardzie IEEE 754. Nie potrzebujemy jej tutaj, ponieważ nasz grosz nie jest połową.

Trzy udziały całości zostawiają dokładnie jeden grosz nadwyżki, a jedyne pytanie brzmi, kto go trzyma.

Dwie waluty w jednej grupie i dlaczego nie można ich dodać

Teraz do grupy wchodzi drugi rachunek. Aiko płaci za taksówkę, która kosztuje ¥6,000. Pokusa, dla zmęczonej sumy, to dodać ¥6,000 do 100,00 zł i pokazać jedną liczbę.

Ta liczba nic nie znaczy. 100,00 zł i ¥6,000 to nie ten sam rodzaj rzeczy, a dodawanie ich jest jak dodawanie odległości do wagi. Jen ma zero miejsc po przecinku jako jednostkę podrzędną, złoty ma dwa, znów zgodnie z ISO 4217. Nawet nie zaokrąglają się tak samo.

Trzymamy więc saldo dla każdej waluty. W złotych nic się nie zmieniło: Aiko jest winna Lucasowi 33,33 zł, a Sofia jest winna Lucasowi 33,33 zł. W jenach taksówka dzieli się na trzy po ¥2,000 każda. Aiko zapłaciła ¥6,000, więc Aiko należy się ¥6,000 minus ¥2,000, czyli ¥4,000.

Lucas jest winien ¥2,000. Sofia jest winna ¥2,000. ¥2,000 plus ¥2,000 to ¥4,000. Dwa salda, każde sumujące się do zera, żadne nie udaje drugiego. Jeśli chcesz poznać głębsze scenariusze awarii, opisaliśmy je w błędach pieniężnych między walutami.

Edycja starego rachunku i co musi się stać z historią

Trzeci miesiąc. Ktoś orientuje się, że kolacja została zapisana błędnie: kosztowała 120,00 zł, a nie 100,00 zł. Edytuje ją. To tu salda, które wyglądały na rozliczone, nagle się zmieniają i tu wiele aplikacji po cichu się myli.

Naiwna poprawka to nadpisanie starej liczby i przeliczenie od zera. Ale ludzie już zapłacili według starego podziału. Jeśli historia zostanie po cichu przepisana, nikt nie zobaczy, dlaczego teraz jest winien więcej. Edycja musi więc ponownie ustalić podział i zapisać różnicę, a nie wymazać przeszłość. 120,00 zł podzielone przez trzy to dokładnie 40,00 zł, tym razem bez nieparzystego grosza.

Każdy udział staje się 40,00 zł. Lucas zapłacił 120,00 zł, więc Lucasowi należy się 120,00 zł minus 40,00 zł, czyli 80,00 zł. Aiko jest winna 40,00 zł. Sofia jest winna 40,00 zł. 40,00 zł plus 40,00 zł to 80,00 zł.

Saldo w złotych zmieniło się z 66,66 zł należnych na 80,00 zł należnych, a różnica, 13,34 zł, jest dokładnie powiązana z 20,00 zł, o które urosła kolacja: dwa pozostałe udziały wzrosły każdy o 6,67 zł, a 6,67 zł plus 6,67 zł to 13,34 zł. Zachowujemy stary wpis i dodajemy korektę na wierzchu. Dlaczego edycja musi ponownie ustalić swój podział, zamiast udawać, że kolacja zawsze kosztowała 120,00 zł, to osobna historia w edycja musi ponownie ustalić swój podział.

Ktoś odszedł i co dzieje się z tym, co był winien

Czwarta przyczyna to osoba, nie liczba. Powiedzmy, że Sofia opuszcza grupę, wciąż będąc winna 40,00 zł w złotych i ¥2,000 w jenach. Teraz saldo nie może samo osiągnąć zera, bo jednej z osób, od których zależy, już nie ma.

To nie jest błąd arytmetyczny; arytmetyka jest w porządku. Grupa ma dziurę wielkości udziału Sofii.

Jest tylko kilka uczciwych rzeczy do zrobienia i wszystkie są decyzjami, nie obliczeniami. Grupa może umorzyć kwotę i zapisać, że została umorzona. Ktoś może ją przejąć i zapisać kto. Albo Sofia może rozliczyć się przed odejściem.

Ważne jest, by wybór został zapisany jako wpis, tak aby saldo pokazywało zero, ponieważ coś się wydarzyło, a nie dlatego, że dług został po cichu usunięty. Nigdy nie decydujemy tego za ciebie; zapisujemy wybór, którego dokonujesz. Ta sama logika rządzi współlokatorem wyprowadzającym się w trakcie najmu, co omawiamy w dzieleniu czynszu ze współlokatorami.

Jak samodzielnie sprawdzić saldo, gdy dzielisz rachunki

Możesz to wszystko zweryfikować ręcznie i warto wiedzieć jak. Bierz jedną walutę naraz i nigdy ich nie mieszaj. Dla tej waluty zsumuj wszystko, co każda osoba zapłaciła. Zsumuj wszystko, co każda osoba była winna, udział po udziale.

Saldo osoby to tyle, ile zapłaciła, minus tyle, ile była winna. Zrób to dla każdego, a potem dodaj wszystkie salda razem. Suma musi wynosić zero. Jeśli tak nie jest, luka mówi ci, którą przyczynę masz.

Luka jednego lub dwóch groszy to zaokrąglenie; sprawdź, gdzie trafił nieparzysty grosz i czy trafiał w to samo miejsce za każdym razem. Luka wielkości całego rachunku albo suma, która wygląda na niemożliwą, to zwykle druga waluta, która została wmieszana. Saldo, które zmieniło się od czasu, gdy ostatnio patrzyłeś, wskazuje na edycję, więc otwórz historię rachunku.

Saldo, które w ogóle się nie domknie, wskazuje na kogoś, kto odszedł. Gdy dzielisz rachunki między przyjaciółmi, saldo jest zawsze tylko arytmetyką, więc uparta luka to informacja, a nie pech. Jeśli wolisz zobaczyć liczby, niż wierzyć nam na słowo, nasz materiał statystyki dzielenia rachunków pokazuje, jak często każda z tych rzeczy naprawdę się zdarza.

Co księga tylko do dopisywania robi ze wszystkimi czterema

Pod Dimesum leży księga tylko do dopisywania, o podwójnym zapisie, i jest publiczna, więc nic z tego nie trzeba przyjmować na wiarę. Podwójny zapis oznacza, że każda kwota jest zapisywana dwukrotnie, raz jako coś należnego i raz jako coś do oddania, więc obie strony zawsze się równoważą; zasada jest starsza niż oprogramowanie i jest wprost opisana w haśle o księgowości podwójnego zapisu. Tylko do dopisywania oznacza, że nigdy nie nadpisujemy. Tylko dodajemy.

Ten jeden projekt obsługuje wszystkie cztery przyczyny. Zaokrąglenie jest deterministyczne, bo przeznaczenie grosza jest wpisane w regułę księgowania, a nie decydowane w danej chwili. Waluty pozostają osobne, bo każdy wpis niesie własną walutę, a księga odmawia dodawania między nimi. Edycja staje się nowym wpisem korygującym, który ponownie ustala podział, więc stara prawda i nowa obie przetrwają; opisujemy tę mechanikę w księdze tylko do dopisywania dla dzielonych wydatków.

A osoba, która odchodzi, staje się zapisaną decyzją, wpisem jak każdy inny, a nie brakującym wierszem. Zapisujemy to wszystko. Nigdy nie przechowujemy ani nie przenosimy twoich pieniędzy; księga jest zapisem, a rozliczenie odbywa się bezpośrednio między wami, w jak najmniejszej liczbie przelewów, jaką potrafimy obliczyć. Jeśli porównujesz narzędzia, nasze notatki o aplikacjach do dzielenia rachunków w porównaniu i aplikacjach do dzielenia czynszu w porównaniu trzymają się tego, co każde robi i czego nie robi.

Saldo, które się nie zgadza, to nie wyrok o twojej przyjaźni ani twojej matematyce. To jeden z czterech małych faktów o twojej grupie. Otwórz Dimesum, a księga powie ci który.

Często zadawane pytania

Dlaczego saldo moich wspólnych wydatków się nie zgadza?

Prawie zawsze z jednego z czterech powodów: grosz, który się zaokrąglił, druga waluta dodana przez pomyłkę, stary rachunek, który został edytowany, albo osoba, która odeszła, będąc winna pieniądze. Tylko pierwszy to arytmetyka. Wybierz jedną walutę, dodaj płatności każdej osoby minus jej udziały, a wielkość luki powie ci, którą przyczynę masz.

Kto dostaje nieparzysty grosz, gdy rachunku nie da się podzielić równo?

Ktokolwiek, kogo wskazuje reguła aplikacji, o ile mówi to samo za każdym razem. Kolacja za 100,00 zł podzielona na trzy to 33,33 zł, 33,33 zł i 33,34 zł, a ten dodatkowy grosz musi gdzieś trafić na stałe. Dimesum wysyła go do płacącego, więc ta sama kolacja nigdy nie daje dwa razy innego salda. Reguła liczy się bardziej niż wybór.

Czy można dodać salda w dwóch różnych walutach?

Nie, i żadna uczciwa aplikacja nie powinna. 100,00 zł i ¥6,000 to różne rodzaje rzeczy, o różnych jednostkach podrzędnych, więc ich dodawanie daje liczbę, która nic nie znaczy. Dimesum trzyma osobne saldo dla każdej waluty i nigdy nie zwija jednej w drugą. Rozliczasz każdą walutę osobno, dlatego grupa może być winna w złotych i w jenach naraz.

Co dzieje się z saldem, gdy stary rachunek zostanie edytowany?

Podział jest ponownie ustalany, a różnica księgowana jako nowa korekta, zamiast nadpisywania przeszłości. Zmień kolację ze 100,00 zł na 120,00 zł, a każdy równy udział przesuwa się z 33,33 zł na 40,00 zł, więc należna kwota rośnie o 13,34 zł. Stary wpis pozostaje widoczny, korekta siedzi na wierzchu i każdy może prześledzić dokładnie, dlaczego saldo się zmieniło.

Co się dzieje, gdy ktoś opuszcza grupę, będąc winien pieniądze?

Arytmetyka wciąż jest w porządku; grupa ma po prostu dziurę wielkości nierozliczonego udziału tej osoby. Saldo nie może osiągnąć zera, dopóki ktoś nie zdecyduje, co zrobić. Kwota może zostać umorzona, przejęta przez innego członka albo rozliczona przed odejściem, a cokolwiek to jest, zostaje zapisane jako wpis. Dimesum zapisuje decyzję, którą podejmujesz; nigdy nie podejmuje jej za ciebie.