Przejdź do głównej zawartości

Obliczenia

Wszystkie analizy są oparte na regułach (bez LLM), czyste i pokryte testami.

Wartość netto​

portfel (inwestycje) + aktywa poza portfelem (nieruchomości, gotówka) − dług (kredyty)

Aktywa i pozycje w walucie obcej są przeliczane na PLN po bieżącym kursie NBP (tabela A); przeliczenie odświeża się przy starcie aplikacji, a dalsze obliczenia operują już na kwotach w PLN.

Kryptowaluty. Pozycja krypto z ilością i rozpoznanym symbolem jest wyceniana po kursie spot z CoinGecko (publiczne API, bez klucza), tak samo jak waluty po NBP: wartość = ilość × kurs, kurs w cache (odświeżany), z fallbackiem do ostatniej znanej ceny gdy brak sieci. Średnia cena zakupu = kapitał ÷ ilość; z modułem „Szczegóły inwestycji" ilość, średnia ważona (WAC) i wynik zrealizowany wynikają z historii transakcji. Prywatność: zapytanie o publiczny kurs nie zawiera żadnych danych o Tobie ani o tym, ile posiadasz — to wyłącznie pobranie ceny rynkowej.

Złoto i metale. Pozycja metalowa trzyma gramy czystego kruszcu (waga × próba/1000). Złoto jest wyceniane po cenie NBP (cenyzlota — oficjalna cena 1 g złota próby 1000 w PLN, publikowana raz na dzień roboczy; to samo darmowe API co kursy walut): wartość = gramy czyste × cena za gram. Wycena odświeża się przy starcie aplikacji; bardzo stary cache (offline) niczego nie nadpisuje. Srebro, platyna i pallad wyceniane są ze spotu Stooq (XAG/XPT/XPD, USD za uncję trojańską) przeliczonego kursem NBP na złote za gram czystego kruszcu. Zysk/strata liczy się względem ceny zakupu podanej przy dodawaniu.

Obligacje skarbowe detaliczne (EDO/COI/TOS/OTS/ROR/ROS…). Pozycja z parametrami serii jest wyceniana silnikiem obligacji: rok 1 po stopie z emisji, lata 2+ = CPI (GUS, r/r) + marża (deflacja → sama marża), z kapitalizacją roczną (EDO/TOS/ROS/ROD) albo wypłatą odsetek (COI rocznie, ROR/DOR miesięcznie; wypłaty nie podnoszą wartości pozycji — to cashflow). Wewnątrz okresu odsetki naliczają się liniowo po dniach. CPI pochodzi z wbudowanej tabeli GUS; dla miesięcy spoza tabeli używane jest założenie inflacji z pozycji (edytowalne). Opłata przedterminowego wykupu (zł/szt. wg serii) jest ścinana do narosłych odsetek. Uproszczenie: ROR/DOR liczone po stopie z zakupu (stopa referencyjna NBP nie ma darmowego źródła z CORS). Wpłaty miesięczne nie dotyczą pozycji obligacyjnych — dokupienie w innym miesiącu to inna seria, czyli nowa pozycja z katalogu. Miesięczna wpłata na złoto rozlicza się gramami (kwota ÷ cena NBP miesiąca; przeszłe miesiące z archiwum NBP, mediana notowań dziennych) i trafia do historii zakupów pozycji — tak samo jak wpłaty krypto; stan początkowy pozycji jest chroniony wpisem startowym w historii.

Ilość liczona z wpłat (automatycznie). Przy wpisie miesięcznym nie wpisujesz ile kupiłeś jednostek — podajesz kwotę wpłaty w złotych, a aplikacja przelicza ją na jednostki po kursie monety z tego miesiąca:

jednostki = kwota wpłaty (PLN) ÷ kurs monety w danym miesiącu (PLN)

Suma po miesiącach = całość trzymanego majątku. Kurs bierzemy live dla bieżącego miesiąca, a dla miesięcy przeszłych — z archiwum CoinGecko (/coins/{id}/history, też publiczne, bez klucza). Każda taka wpłata zapisuje się jako transakcja w historii (zakup wyliczony), więc ilość, średnia cena (WAC) i wartość liczą się dotychczasowym kodem. Ponowny zapis tego samego miesiąca nadpisuje wpis (brak podwójnego liczenia), a ręcznie wprowadzone transakcje zostają nietknięte. Gdy kursu dla miesiąca nie da się pobrać (offline / niezmapowana moneta), wpłata czeka na kolejny zapis tego miesiąca — nigdy nie blokujemy zapisu i nie zmyślamy ilości.

Miesiące uzupełnione później​

Migawka wartości netto (punkt na wykresach) powstaje przy zapisie wpisu. Dla miesiąca uzupełnianego później:

  • po kolei (żaden późniejszy zamknięty miesiąc nie ma migawki) — zapis tworzy zwykłą migawkę; wartości z kroku 3 są wtedy wartościami tego miesiąca,
  • w innym przypadku — migawka jest szacowana:
szacunek(m) = netto(poprzednia migawka) + Σ wpłat netto (wpłaty − wypłaty) do m
+ zmiana rynkowa × (miesiące od poprzedniej do m ÷ miesiące do następnej migawki)
zmiana rynkowa = netto(następna) − netto(poprzednia) − Σ wpłat netto w tym okresie

„Późniejsza migawka" to także migawka bieżącego miesiąca, jeśli ma zapisany wpis. Wcześniej czerwiec uzupełniany po zapisaniu października dostawał dzisiejsze wartości (np. saldo kredytu z października), a teraz dostaje szacunek.

Bez wcześniejszej migawki nic nie szacujemy; bez następnej — tylko wpłaty netto. Szacunki są przeliczane przy każdej zmianie wpisów i przy wczytaniu planu, a prawdziwa migawka zawsze ma pierwszeństwo. Istniejące migawki zamkniętych miesięcy pozostają zamrożone.

Koszt zakupu przy wpłatach i wypłatach​

Pozycja, która śledzi koszt zakupu (invested), zmienia go razem z wpisem:

  • wpłata podnosi koszt o kwotę wpłaty (wcześniej wpłaty liczyły się jako „zysk", np. IKE z wpłatami 4 100 zł miało koszt 3 100 zł),
  • wypłata obniża koszt tą samą częścią co wartość: koszt × wypłata ÷ wartość przed wypłatą (jak „Wypłać / sprzedaż" w Portfelu). Przy koncie z kosztem 21 304 zł, wartością 25 467 zł i wypłatą 5 100 zł koszt spada do 17 038 zł, więc zysk zostaje dodatni zamiast pozornej straty −937 zł.

Zdjęty koszt zapisujemy we wpisie, więc zmiana kwoty, ponowny zapis i usunięcie wpisu oddają dokładnie tyle samo.

Skąd zmiana wartości netto​

Zdanie w hero Pulpitu („Październik: +11 099 zł — 7950 zł wpłaty · 679 zł spłata kapitału · +2470 zł wyceny i kursy") rozkłada zmianę wartości netto między dwiema migawkami miesięcznymi na trzy części:

Δ netto = netto(miesiąc) − netto(poprzednia migawka)
wpłaty = Σ wpłat z wpisów w okresie na pozycje, które NIE są długiem
wypłaty = Σ wypłat / sprzedaży z kont z wpisów w okresie
spłata = Σ (saldo długu na początku − saldo na końcu) — tylko długi obecne w obu migawkach
rynek = Δ netto − wpłaty + wypłaty − spłata

Hero porównuje miesiąc wpisu z ostatnią prawdziwą migawką — migawki szacowane (miesiące uzupełnione później) są pomijane, bo „rynek" to reszta i wchłonąłby błąd szacunku. Gdy szacunkiem jest sam miesiąc wpisu, rozbicia nie liczymy. Pozycja „najwięcej" w rozbiciu to pozycja z migawkami na obu końcach o największej |zmiana wartości − wpłaty + wypłaty| (bez długów).

  • Wypłata (pieniądze wyjęte z konta i wydane) to przepływ, nie rynek: sprzedaż ETF za 5 147 zł, po której konto jest o 5 147 zł mniejsze, daje „−5 147 zł wypłaty · 0 zł wyceny i kursy". Konto zamknięte w miesiącu zostaje w migawce tego miesiąca (wartość 0, przepływ = wypłata), żeby to się zgadzało.

  • Nadpłata kredytu obniża saldo, więc liczy się w spłacie, nie we wpłatach — inaczej byłaby policzona dwa razy.

  • Spłata obejmuje kapitał z rat i nadpłaty. Nowy kredyt (nie było go w migawce początkowej) nie jest „ujemną spłatą" — jego pojawienie się trafia do reszty. Gdy saldo urosło, część jest ujemna („więcej długu").

  • Wyceny i kursy to wszystko poza wpłatami i spłatą: kursy, odsetki obligacji, wyceny nieruchomości, ale też ręczne korekty sald i nowo dodane konta. Dlatego zawsze domyka sumę.

  • Bez migawek pozycji (starsze dane) spłatę liczymy z wpisów: zaksięgowany kapitał rat + nadpłaty.

  • Zaokrąglamy do pełnych złotych tak, by części nadal sumowały się do Δ (rynek bierze resztę z zaokrągleń).

Zakres osoby i dziecka. Te same wagi co w przełączniku osób: osoba = własne (100%) + wspólne (100% albo 50% przy podziale 50/50), dziecko = pozycje i aktywa odkładane na jego cel. Wagę stosujemy do wpłat, sald długów i zmian wartości pozycji. Aktywa bez migawek miesięcznych (nieruchomości, gotówka) dzielimy według udziału osoby w ich dzisiejszej wartości. Przy podziale 50/50 części Kuby i Ani sumują się więc dokładnie do części Rodziny.

Ta sama funkcja liczy rozbicie za dowolną liczbę miesięcy (np. ostatnie 12) — wtedy wpłaty to suma wpisów z całego okresu, a spłata i rynek to różnice między migawką sprzed N miesięcy a ostatnią.

Wpłaty osób we wpisie i stare wpisy. Wpis trzyma wpłaty każdej osoby osobno (contributionsByRole), a suma gospodarstwa jest źródłem obliczeń. Wpisy sprzed podziału na osoby mają tylko sumę — przy wczytaniu dzielimy ją według właściciela pozycji (ownerId dorosłego); pozycje wspólne i dziecięce dostaje osoba, która zapisała wpis, a w razie wątpliwości pierwsza osoba planu. Takie stare wpisy nie mają też zapisu „już zaksięgowane" (appliedContributions) — uznajemy wtedy ich wpłaty za już ujęte w wartościach, więc ponowny zapis albo usunięcie części jednej osoby nie dolicza ich drugi raz (np. nadpłata kredytu nie zmniejsza salda podwójnie).

PPK i pozycje automatyczne to wpłata. Nowy wpis dolicza plan miesięczny pozycji oznaczonych jako automatyczne (np. PPK, monthlyTarget) do kolumny ich właściciela — tak samo jak wpłatę wpisaną ręcznie. Liczy się więc do sumy wpłat, stopy oszczędności, kosztów życia (przychód − wpłaty − raty), koperty i — po zapisie — do wartości konta PPK. Zapisany wpis trzyma kwotę, która w nim jest; „Jak miesiąc temu" kopiuje kwotę PPK z poprzedniego wpisu, więc suma wpłat jest identyczna jak miesiąc wcześniej.

Kto domknął miesiąc (reviewedBy). Zapis dopisuje do listy osób, które przejrzały miesiąc, osobę przy urządzeniu (preferencja z Ustawień, nie przełącznik kolumny w kreatorze). Drugą osobę — tylko gdy w kroku 4 zaznaczono „… przejrzał(a) to ze mną". „Domknięty przez Was oboje" = na liście są obie osoby. Wypełnienie kolumny drugiej osoby („Jak miesiąc temu", „Uzupełnij też część", „Rozdziel brakujące") zmienia tylko kwoty, nie listę.

Koperta gospodarstwa (tryb Pełny). Gotowa kwota ustawia tylko kopertę — nie zmienia wpisanych wpłat. „Rozdziel brakujące X zł wg planu" liczy na poziomie całego gospodarstwa (obie kolumny, razem z PPK) i niczego nie obniża: brak = koperta − wszystkie wpłaty gospodarstwa, luka[konto] = max(0, plan[konto] − wpłaty gospodarstwa[konto]). Gdy brak ≤ Σ luk, brak dzielimy proporcjonalnie do luk (żadne konto nie przekracza swojego planu). Gdy brak jest większy, najpierw zamykamy wszystkie luki, a nadwyżkę dzielimy według planu (plan[konto] / Σ planu). Kwoty są w pełnych jednostkach (metoda największych reszt), więc suma gospodarstwa = koperta. Każda kwota trafia do kolumny właściciela konta; konto wspólne przy wspólności 50/50 (jointSplit: "half") — po połowie, inaczej do kolumny osoby, która rozdziela. Przykład: wpłaty jak we wrześniu (7 950 zł z PPK), koperta 9 100 zł → brak 1 150 zł; wszystkie konta mają już plan, więc nadwyżka idzie według wag planu (7 600 zł): IKE Ani dostaje ok. 151 zł w kolumnie Ani, IKE Kuby ok. 227 zł w kolumnie Kuby.

Majątek po zapisie (domknięcie wpisu). Krok 4 wykonuje na kopii stanu ten sam zapis, który zrobi przycisk „Zapisz miesiąc" (applyEntryToState): dolicza wpłaty (także PPK) z pominięciem już zaksięgowanych, zdejmuje z salda kredytu część kapitałową raty, ustawia wartości z kroku 3 i przelicza wpłaty na jednostki. Wynik to wartość netto po zapisie, a różnica i rozbicie „wpłaty · spłata kapitału · wyceny i kursy" pochodzą z tego samego rozbicia co hero Pulpitu (migawka bieżącego miesiąca vs migawka poprzedniego). Po zapisie Pulpit pokazuje więc te same liczby. Dopisek „(szacunek)" dotyczy tylko kursów jednostek: podgląd startuje z kursu z ostatniej wyceny, a w tle pobiera te same kursy, których użyje zapis. Porównanie i rozbicie pokazujemy tylko dla bieżącego miesiąca — migawka zaległego miesiąca jest zamrożona.

Konta i operacje​

Konto to instrumenty + wolne środki + dziennik operacji. Operacje są źródłem prawdy:

ilość instrumentu = stan otwarcia + kupna − sprzedaże
wartość instrumentu = ilość × kurs (żywy kurs, a bez niego — z ostatniej wyceny)
wolne środki = stan otwarcia + wpłaty − wypłaty − kupna − prowizje
+ sprzedaże + dywidendy + odsetki − opłaty − podatki
wartość konta = Σ wartości instrumentów + wolne środki
  • Przepływy miesiąca to wyłącznie wpłaty (z bieżących dochodów) i wypłaty wydane. Trafiają do wpisu miesiąca jako wpłata/wypłata na gotówkę konta, więc rozbicie zmiany, koszty życia, stopa oszczędności, limit IKE, FIRE i zwrot (MWR/TWR) liczą je jak każdą inną wpłatę. Kupno, sprzedaż, zamiana, dywidenda, odsetki, opłata i podatek to ruch wewnątrz konta — wynik rynkowy, nie oszczędzanie. Wpłata „z gotówki w majątku" i wypłata „na gotówkę w majątku" to przeniesienia (zmienia się też aktywo „Gotówka").
  • Koszt nabycia i wynik zrealizowany: papiery wartościowe (ETF, akcje) — FIFO, jak wymaga PIT-38; krypto — koszty łącznie (średnia), jak w PIT-38 dla walut wirtualnych. Kupno: koszt = kwota + prowizja; sprzedaż: przychód = kwota − prowizja.
  • Edycja albo usunięcie operacji przelicza konto od zera — nic nie liczy się podwójnie. Wpis miesięczny nie dolicza kwot instrumentom kont.
  • Sprzedaż ponad stan (więcej sztuk niż jest, a przy instrumencie bez ilości kwota ponad jego wartość) nie zapisuje się. Inaczej gotówka dostałaby pieniądze za sztuki, których nie było.
  • Instrument bez ilości (rozliczany kwotą): kupno podnosi koszt nabycia o kwotę z prowizją, sprzedaż zdejmuje taką część kosztu, jaką część wartości sprzedano. Cofnięcie sprzedaży całości wraca do kursu sprzed niej (aplikacja pamięta ostatnią cenę jednostki).
  • Wolne środki w walucie: saldo w walucie = baza + skutki operacji przeliczone kursem operacji (kwota PLN ÷ kwota w walucie; prowizja w PLN też tym kursem). Wartość w PLN = saldo × ostatni znany kurs pozycji (NBP, a bez niego kurs ostatniej operacji).

PIT-38 (szacunek)​

Liczony z operacji na kontach zwykłych (bez typu albo „Rachunek maklerski", „Giełda krypto"); IKE, IKZE i PPK są pominięte.

  • Papiery wartościowe: przychód = suma sprzedaży brutto w roku; koszty = koszt FIFO sprzedanych sztuk (z prowizją kupna) + prowizje od sprzedaży; dochód = przychód − koszty (może być ujemny — strata roku).
  • Waluty wirtualne (art. 22 ust. 14–16 ustawy o PIT): koszty = wydatki roku na zakup (z prowizją) + prowizje od sprzedaży + nadwyżka kosztów z lat poprzednich. Gdy koszty przewyższają przychód, nadwyżka przechodzi na kolejny rok, a dochód wynosi 0. Zamiana kryptowaluty na kryptowalutę zapisana jako „Zamiana" jest neutralna.
  • Podatek: 19% od dochodu; podstawa i podatek zaokrąglone do pełnych złotych, osobno dla obu części (strata na krypto nie obniża dochodu z papierów).
  • Poza zakresem: straty z lat poprzednich dla papierów, dywidendy z zagranicy (rozliczenie różnicy podatku), nagrody stakingowe spoza operacji.

Stopa oszczędności​

Suma wpłat netto (wpłaty − wypłaty) podzielona przez sumę przychodów z ostatnich 12 miesięcy z przychodem: Σ (wpłaty − wypłaty) / Σ przychód. Wydane oszczędności obniżają stopę — miesiąc, w którym wypłaciliście więcej, niż odłożyliście, ma ujemne „odłożone". Tę liczbę pokazują karta „Odkładacie" na Pulpicie i fakty bezpieczeństwa w Analizie → Kondycja, zawsze z oknem („ostatnie 12 mies.").

Historia podaje stopę z miesięcy w swojej tabeli (domyślnie 12), tę samą w podtytule i w wierszu „Razem" — przy domyślnym widoku to ta sama liczba co w Kondycji. Wcześniej Kondycja liczyła z 6 miesięcy i na jednym ekranie stały dwie różne stopy. Stopa w pojedynczym wierszu Historii dotyczy tylko tego miesiąca; po rozwinięciu wszystkich miesięcy Historia liczy z całej tabeli.

Nadpłaty kredytów. „Wpłaty" w stopie to wszystkie wpłaty z wpisów — także nadpłaty kredytu (nadpłata też buduje majątek). Rozbicie zmiany majątku liczy je jednak jako spłatę kapitału, nie wpłatę. Żeby te dwie liczby się nie myliły, gdy w oknie są nadpłaty, aplikacja mówi to wprost: „odkładacie i nadpłacacie 31,2% przychodów", w Historii kolumna „Odłożone i nadpłaty" i „stopa oszczędności z nadpłatami". Bez nadpłat zostaje samo „odkładacie".

Koszty życia w Historii: przychód − odłożone − raty kredytów, gdzie „odłożone" to wpłaty − wypłaty — czyli przychód + wypłaty − wpłaty − raty. Przychód, odłożone i raty zaokrąglamy do pełnych złotych każde osobno, a koszty życia wyliczamy z tych zaokrąglonych kwot — każdy wiersz się zgadza, a rata ma w każdym miesiącu tę samą wartość. „Razem" to suma pokazanych wierszy. Z tych samych zaokrąglonych komórek liczymy roczne wydatki FIRE i średnie wydatki poduszki, więc „Razem" kosztów życia = „Roczne wydatki" w FIRE co do złotówki. Wcześniej zaokrąglaliśmy całe kolumny metodą największych reszt: suma się zgadzała, ale wiersz nie (15 955 − 7 950 − 3 804 dawało w tabeli 4 202 zamiast 4 201, a rata raz 3 804 zł, raz 3 803 zł).

Co zmieniło majątek (12 miesięcy)​

Analiza → Kondycja rozbija zmianę wartości netto z ostatnich 12 miesięcy na części. Zmiana to różnica dwóch miesięcznych migawek wartości netto: ostatniej (prowizoryczna migawka bieżącego miesiąca bez wpisu się nie liczy) i tej sprzed 12 miesięcy (przy krótszej historii — najstarszej). To ten sam kod co miesięczne rozbicie na Pulpicie („Skąd ten wzrost?"), tylko z oknem 12 miesięcy, i te same zaokrąglenia: wpłaty i spłatę zaokrąglamy do złotych, a rynek bierze resztę, więc części w złotych zawsze sumują się do kwoty w tytule.

  • Wpłaty = suma wpłat z miesięcznych wpisów po migawce początkowej, aż do końcowej włącznie, na konta i inwestycje. Nadpłaty kredytu tu nie wchodzą — są już w spadku salda.
  • Spłata kapitału = o ile spadły salda kredytów między tymi migawkami (z migawek pozycji). Gdy migawek pozycji brakuje, bierzemy kapitał z rat zaksięgowany we wpisach i nadpłaty kredytów.
  • Nowe i zamknięte kredyty (tylko gdy coś takiego się stało) = saldo kredytów, które w oknie się pojawiły (ze znakiem −), plus saldo kredytów, które zniknęły z portfela (ze znakiem +). Spłata liczy tylko kredyty obecne w obu migawkach, więc bez tej części nowy kredyt trafiłby po cichu do „rynku".
  • Wypłaty (tylko gdy były) = suma wypłat / sprzedaży z kont z wpisów w oknie, ze znakiem −. Pieniądze wyjęte z majątku i wydane — bez tej części spadek po nich trafiłby do „rynku".
  • Wyceny i kursy = zmiana − wpłaty + wypłaty − spłata − nowe/zamknięte kredyty: kursy, odsetki, wyceny nieruchomości i inne zmiany wartości.

Części zawsze sumują się do zmiany z tytułu karty.

Wpłaty wg osób (para). Gdy obie dorosłe osoby mają własne wpłaty, karta dzieli część „Wpłaty": własne wpłaty każdej osoby (pozycje, których jest właścicielem) i wspólne (pozycje bez właściciela oraz te, których nie da się przypisać). Wspólne = wpłaty − suma osób, więc trzy kwoty sumują się do części „Wpłaty". Zakres osoby jest ten sam co w przełączniku osób na Pulpicie.

Poduszka finansowa​

Pula poduszki to konta oznaczone w Portfelu jako poduszka. Bez żadnego oznaczenia liczymy pozycje oprocentowane (lokaty, obligacje) i aktywa o nazwie wskazującej gotówkę („konto", „oszczędności", „rezerwa"). Miesiące poduszki = pula ÷ średnie miesięczne wydatki z ratami z ostatnich 12 miesięcy z przychodem: wydatki = przychód − odłożone (czyli koszty życia + raty kredytów). Raty płaci się także bez pensji, więc poduszka mówi, ile miesięcy realnie wytrzymacie. Analiza pokazuje to wprost, np. „57 953 zł (Obligacje COI) ÷ 8 587 zł wydatków/mc (z ratami, średnia z 12 mies.)" — w danych demo 6,7 miesiąca (bez rat wychodziło 13,5, bo pomijało ratę 3 804 zł). Nadpłaty kredytu są po stronie „odłożone" — w razie kłopotów można je wstrzymać.

To samo okno 12 miesięcy co stopa oszczędności i Historia. FIRE liczy roczne wydatki bez rat (niżej) — tam kredyt wchodzi do celu saldem do spłaty.

Wskaźnik zdrowia finansowego (0–100)​

Ważona kompozycja składników:

SkładnikCo mierzyWaga
Poduszkamiesiące wydatków w buforze (cel 6)25%
Stopa oszczędnościwzględem celu 20%20%
Długudział długu w aktywach: 0 → pełne punkty, zero punktów przy 50% (hipoteka: przy 80%)15%
Dywersyfikacja1 − indeks Herfindahla portfela15%
CeleΣ odłożone ÷ Σ kwot celów w toku10%

Wynik to suma wartość × waga znormalizowana do dostępnych składników. Wagi bazowe z tabeli sumują się do 85%, dlatego arkusz „Skąd ten wynik?" pokazuje je znormalizowane do 100% — przy komplecie danych 29 / 23 / 18 / 18 / 12% (zaokrąglone metodą największych reszt, więc zawsze dają razem 100%), a gdy któregoś obszaru brakuje, wagi pozostałych przeliczają się tak samo. Sam wynik się przez to nie zmienia. Składnik ma słowo stanu: mocno (≥ 0,66), średnio (≥ 0,33), słabo.

Hipoteka liczy się łagodniej. Gdy co najmniej połowa długu to kredyt hipoteczny — powiązany z nieruchomością (pole „powiązane zobowiązanie" przy aktywie) albo nazwany jak hipoteka — składnik długu spada do zera dopiero przy 80% aktywów, a zamiast „słabo"/„średnio" widać „typowo przy kredycie hipotecznym". Mieszkanie, które zabezpiecza kredyt, jest po stronie aktywów, więc taki dług nie jest tym samym ryzykiem co kredyt gotówkowy.

Postęp celów to suma odłożonych kwot podzielona przez sumę kwot celów w toku (zrealizowane, z archiwum, nie wchodzą) — ta sama miara co nagłówek Celów, np. „125 000 zł z 308 000 zł · 40%". Wcześniej była to średnia procentów pojedynczych celów (w demo 51%), więc wynik i Cele mówiły co innego. Gdy wszystkie cele są zrealizowane, składnik ma 100%.

W Analizie wynik to jeden wiersz: „Wynik kondycji 82/100", linia, która wymienia wszystkie obszary wg stanu („3 z 5 obszarów mocno: poduszka, oszczędności, dywersyfikacja · średnio: cele · dług: typowo przy kredycie hipotecznym"), i link „Skąd ten wynik?". Wszystkie składniki, z liczbami i wagami, są w tym arkuszu. Dywersyfikacja podaje nazwę największej pozycji (np. „ETF globalny"), nie ticker, i jej udział w inwestycjach (nie w całym majątku).

FIRE​

Portfel FIRE = soczewka inwestycyjna (konta + gotówka + wynajem), nie majątek całkowity (dom użytkowy/auto poza). Stopy traktujemy jako realne (po inflacji).

Pieniądze odkładane dla kogoś innego nie wchodzą. Pozycje i aktywa z ustawionym beneficjentem (np. obligacje 800+ dziecka) są poza soczewką inwestycyjną, a ich miesięczne wpłaty — poza tempem wpłat FIRE. To nie jest kapitał, z którego para będzie żyć. W demo: portfel FIRE 405 118 zł zamiast 430 868 zł (bez 25 750 zł obligacji Zosi), tempo 7 150 zł/mc zamiast 7 950 zł, rok odpowiedzi 2038 zamiast 2037. Ta sama soczewka liczy widok „Na wolność" w Portfelu (kwota i lista pozycji) oraz efektywny SWR po podatkach. Wartość netto „razem" nadal liczy te pieniądze — należą do gospodarstwa.

Cele z terminem a portfel FIRE. Gdy cel z terminem ma za źródło konto albo aktywo z soczewki inwestycyjnej (przez wybrane źródło albo nazwę wpisaną w opisie celu), Analiza nazywa go przy odpowiedzi: „„Budowa domu" (2027) zabierze ok. 180 000 zł z tych pieniędzy". Kwota = kwota celu − odłożone, zaokrąglona jak w Celach. Rok odpowiedzi i kwota wolności nie odejmują jeszcze tej wypłaty — to zdanie informuje, model się nie zmienia.

  • Roczne wydatki — z ustawień FIRE, a bez nich koszty życia z ostatnich 12 wpisów (Σ (przychód − odłożone − raty) z kwot zaokrąglonych do złotych jak w Historii, przy krótszej historii przeskalowane do roku). To ta sama kwota co „Razem" kosztów życia w Historii. Wcześniej brali średnią z 6 miesięcy × 12 — przy droższym grudniu w starszej połowie roku zaniżało to roczne wydatki (w danych demo o 6 000 zł) i kwotę wolności o ok. 170 tys. zł.
  • Kwota wolności (FIRE number) = (roczne wydatki − stały dochód po FIRE) ÷ SWR + saldo kredytu do spłaty w roku FIRE. Mnożnik = 1/SWR (4% → ×25; 3,5% → ×28,6; 3% → ×33). Roczne wydatki nie zawierają rat (po FIRE raty już nie ma), ale saldo, które zostanie w roku FIRE, trzeba spłacić z portfela. Liczymy je jednym harmonogramem kredytu: co miesiąc saldo × (1 + stopa/12) − (rata + średnia faktyczna nadpłata z 12 wpisów) — ten sam rachunek co termin spłaty na Pulpicie i w Celach. Planowana nadpłata wchodzi tylko wtedy, gdy nie ma jeszcze wpisów (wcześniej FIRE brał ją zawsze i w demo „spłacał" kredyt przed 2035, choć wpisy nie miały nadpłat). Kredyty powiązane z aktywem z soczewki inwestycyjnej (mieszkanie na wynajem) już pomniejszają portfel FIRE, więc ich nie dodajemy.
  • % FIRE = portfel inwestycyjny / kwota wolności (z saldem kredytu z roku FIRE).
  • SWR konfigurowalny (domyślnie 3,5%); miesięcznie /12.
  • Coast FIRE = kwota wolności zdyskontowana do dziś realnym zwrotem na lata do emerytury: cel ÷ (1+r)^lata, gdzie cel = wydatki ÷ SWR + saldo kredytu w roku emerytury. „Macie tyle, że bez dokładania urośnie do celu".
  • Lata do wolności — iteracyjnie: kapitał × (1+r) + roczna wpłata, aż ≥ cel z tego samego roku (wydatki ÷ SWR + saldo kredytu w tym roku). Saldo maleje, portfel rośnie, więc pierwszy taki rok jest odpowiedzią. Demo (wpisy bez nadpłat, kredyt spłacany samą ratą do 2051): w 2038 zostaje 391 264 zł salda, cel 1 639 771 + 391 264 = 2 031 036 zł, odpowiedź 2038. Oś czasu w zakładce FIRE („Portfel FIRE w czasie") liczy dokładnie tą samą rekurencją, z tego samego portfela i tą samą stopą, dla dziś, 4 i 14 lat oraz roku z odpowiedzi — więc oś przecina kwotę wolności w tym samym roku, który podaje odpowiedź. Mieszkanie, działka i inne aktywa spoza soczewki oraz niepowiązane z nią kredyty są wymienione z nazwy i kwoty w „Skąd te liczby?" przy odpowiedzi. Kreska celu na każdym pasku to cel z danego roku (z saldem kredytu w tym roku). Roczna wpłata to 12 × miesięczne wpłaty, które zasilają ten portfel: wpłaty na konta inwestycyjne i nadpłaty kredytu na mieszkanie na wynajem. Rata ani nadpłata hipoteki na własne mieszkanie się nie liczą — spłacają dom, ale nie powiększają kapitału, z którego żyje się po FIRE. Wpłaty na pozycje z beneficjentem też się nie liczą. Tę samą wpłatę biorą symulacje Monte Carlo i scenariusz „+500 zł".
  • Poziomy Lean / Pełny / Fat = 0,7× / 1× / 1,5× rocznych wydatków ÷ SWR
    • saldo kredytu z roku, w którym ten poziom wypada (ta sama rekurencja co odpowiedź, z wydatkami poziomu). Demo: Lean 2036 (saldo 426 080 zł), Pełny 2038 (391 264 zł), Fat 2042 (305 491 zł). Wcześniej wszystkie trzy brały saldo z roku Pełnego FIRE.
  • „+500 zł/mc" — różnica dwóch wyników tego samego rachunku krokiem miesięcznym: portfel kapitalizowany miesięcznie stopą równoważną rocznej, wpłata co miesiąc, cel ruchomy jak w odpowiedzi (wydatki ÷ SWR + saldo kredytu z danego miesiąca). Demo: ok. 5 miesięcy wcześniej. Wcześniej cel był stały (kwota wolności z roku odpowiedzi).
  • Wiek (Coast FIRE, „w wieku N") liczymy z daty urodzenia osób w gospodarstwie: każda dorosła osoba ma swoją datę, a u głównej osoby działa też data z profilu. Kwoty FIRE są w dzisiejszych pieniądzach — wynikają z obecnych wydatków i realnych stóp.
  • Monte Carlo — 400 ścieżek rocznych zwrotów ~N(średnia, zmienność 12%) z roczną wpłatą, deterministycznych dzięki stałemu seedowi. Każda ścieżka biegnie do 40 lat po roku odpowiedzi (najwyżej 100 lat) i zapisuje pierwszy rok, w którym portfel pokrył cel z tego roku (wydatki ÷ SWR + saldo kredytu w tym roku — ten sam ruchomy cel co odpowiedź). Z tych samych ścieżek liczymy: udział ścieżek, które doszły do celu do roku z odpowiedzi, i najwcześniejszy rok, do którego doszły 3 z 4 ścieżek. Rok z odpowiedzi wynika ze średniego zwrotu, więc z definicji wypada mniej więcej w połowie rozkładu — dlatego pokazujemy go jako środek („ok. 2038 — w połowie scenariuszy"), a obok rok pewniejszy („pewniej (3 z 4): 2040"), bez słowa oceny („niska"). Udziały zaokrąglamy do 5%. Gdy udział do roku odpowiedzi wypada poza 40–60%, karta podaje go wprost („w ok. 35% scenariuszy"). Druga linia — do wieku emerytury z założeń — pojawia się, gdy ten wiek wypada później; liczy z tych samych ścieżek. Demo: 55% do 2038 (12 lat) → „w połowie", 3 z 4 do 2040, do 60 lat ponad 95%.
  • Realny zwrot do FIRE — roczny zwrot portfela ponad inflację do dnia FIRE, do wyboru w założeniach: 3% (ostrożnie), 5% (domyślnie, umiarkowanie dla akcji i obligacji), 7% (optymistycznie). Zmienia rok odpowiedzi, oś czasu, Coast FIRE i Monte Carlo. Przypis pod FIRE wymienia tylko to, co da się ustawić: SWR, realny zwrot, wydatki i wiek.
  • Oś czasu w każdym wierszu nazywa obie kwoty: „portfel X · cel Y". Wiersz z rokiem odpowiedzi ma dopisek „cel osiągnięty" (wcześniej „kwota wolności" stało obok wartości portfela i czytało się jak cel).
  • „Gdybyście przeszli na FIRE dziś" = portfel × SWR ÷ 12, z dopiskiem, że to kwota przed spłatą kredytu (saldo dziś) — wypłata z portfela kredytu sama nie spłaca.
  • Efektywny SWR po podatkach — SWR × (1 − średni ważony podatek kont: IKE 0, IKZE 10%, zwykłe 19%), z tych samych pozycji co portfel FIRE (bez pozycji z beneficjentem). Uproszczenie kierunkowe, nie porada.
  • Główny cel „Niezależność finansowa" — bez własnej kwoty celem jest ta sama kwota wolności co w Analizie (te same ustawienia: SWR, wydatki z ustawień FIRE albo z wpisów, stałe dochody po FIRE, saldo kredytu z roku FIRE), a postęp to portfel inwestycyjny / cel — czyli „% FIRE". Wcześniej cel przyjmował po cichu 25 × wydatki (SWR 4%), a postęp liczył same inwestycje, więc różnił się od Analizy.

Plan celów​

  • Miesięczna potrzeba celu = (kwota − odłożone) ÷ miesiące do terminu (min. 1).
  • Łącznie potrzeba = suma miesięcznych potrzeb celów z terminem w przyszłości albo w bieżącym miesiącu. Cele osiągnięte, po terminie i bez terminu nie wchodzą do sumy; brakującą kwotę celów po terminie pokazujemy osobno.
  • Możliwości (ile para odkłada miesięcznie) — kolejno: kwota podana na Celach („Zmień kwotę"), górna granica zakresu oszczędzania z Wpisu (gdy łączna potrzeba przekracza dolną granicę, werdykt mówi „mieści się tylko przy górnej granicy"), suma planu miesięcznych wpłat w portfelu (bez narzutu — dawniej × 1,2; bez pozycji automatycznych i bez pieniędzy odkładanych dla kogoś — pozycji z beneficjentem, np. 800+ dziecka, jak w „Na wolność" i FIRE), a bez danych — domyślne 4000 zł. Przy domyślnym szacunku i luce pierwszą akcją jest podanie kwoty, nie przesunięcie terminu.
  • Werdykt — mieści się, gdy łączna potrzeba ≤ możliwości (zostaje różnica); inaczej „brakuje ok. potrzeba − możliwości". Ocena pojedynczego celu (tylko w podglądzie formularza) liczy się względem tego, co zostaje po pozostałych celach w toku: wolne = możliwości − potrzeba pozostałych celów (edytowany cel wyłączony). Realny do 50% wolnych, napięty do 100%, ambitny powyżej — i zawsze ambitny, gdy razem z nim łączna potrzeba przekracza możliwości. Podgląd pokazuje też skutek dla sumy: „Po dodaniu: łącznie (pozostałe + ten cel) · brakuje / zostaje ok. …".
  • Przesunięcie, które domyka plan — dla każdego celu z terminem: wolne możliwości = 95% możliwości − potrzeba pozostałych celów (zapas 5%, żeby plan nie domykał się „na styk"; gdy to ≤ 0 — bez zapasu); nowy termin = teraz + ⌈brakująca kwota ÷ wolne możliwości⌉ miesięcy. Wybieramy cel z najkrótszym przesunięciem. Gdy żaden pojedynczy cel nie wystarcza (pozostałe już przekraczają możliwości), akcji nie ma.
  • Nowy termin dla celu po terminie — ten sam rachunek (z tym samym zapasem 5%): brakująca kwota ÷ to, co zostaje po pozostałych celach. Proponujemy go tylko do 12 miesięcy naprzód; dalej (albo gdy nic nie zostaje) — tylko ręczna zmiana terminu.
  • „Odłożone" ze źródła — cel powiązany z pozycją albo aktywem, z opcją „licz ze źródła", bierze jego bieżącą wartość. Kilka takich celów na jednym źródle dzieli ją po kolei wg terminu (bez terminu na końcu), każdy maks. do swojej kwoty.
  • Zrealizowane cele (oznaczenie, nie „odłożone = kwota") są poza sumą miesięczną, odłożonym i planowanym; w kondycji finansów liczą się jako 100%.
  • Czas do terminu — do 24 miesięcy w miesiącach, dalej w zaokrąglonych latach.
  • Bez długów ok. RRRR (cel główny) — ten sam harmonogram co Pulpit, Analiza i FIRE (spłata kredytu): rata + średnia nadpłata z ostatnich 12 wpisów; termin = najpóźniej spłacony dług. Gdy plan nadpłat jest wyższy niż faktyczne, pod spodem „Przy planowanej nadpłacie X zł/mc byłoby to ok. RRRR". Gdy termin wypada po końcu umowy — oba terminy. Daty nie ma, gdy spłata nie pokrywa odsetek.

Zwrot z inwestycji​

Pokazujemy trzy liczby (Analiza → Kondycja):

  • Zysk łączny = bieżąca wartość − zainwestowany kapitał (absolutny, w zł).
  • Zwrot roczny (MWR) = money-weighted (XIRR) — wewnętrzna stopa zwrotu liczona z przepływów: najstarsza migawka portfela to kapitał na start, kolejne wpłaty są dokładane w swoich miesiącach, a bieżąca wartość to stan na koniec. Dzięki temu liczba uwzględnia, ile i kiedy wpłacaliście — czego sam zysk absolutny nie oddaje. Liczona miesięcznie (Newton + bisekcja); wymaga min. 2 miesięcy historii, inaczej pokazujemy „—".
  • Zwrot rynkowy (TWR) — time-weighted: łańcuch stóp między migawkami z wpłatami „wyjętymi" z każdego okresu. Odpowiada na pytanie „jak pracował rynek/strategia", niezależnie od timingu wpłat. Obie liczby razem to standard branżowy: TWR ocenia strategię, MWR — Twój faktyczny wynik.

Obie stopy liczą przepływ netto miesiąca: wpłaty − wypłaty. Wypłata to pieniądze oddane inwestorowi (w MWR dodatni przepływ, w TWR „wyjęta" z okresu jak wpłata), więc spadek wartości konta po sprzedaży nie obniża zwrotu. Zamknięte konta zostają w historii obu stóp — ich wartości z migawek i wypłata z miesiąca zamknięcia należą do Waszego wyniku.

Projekcja wartości​

Przyszła wartość = wpłaty docelowe + kapitalizacja przy rocznej stopie założonej dla pozycji (np. ETF i IKE 8%, EDO 5,5%, ROS i COI 5,25%, PPK 6%). Dług redukowany o planowane nadpłaty (konserwatywnie, bez odsetek).

Krypto jest wyjątkiem: nie kapitalizujemy stałej stopy (to nie lokata). Projekcja krypto jest płaska — wartość bieżąca + ewentualne wpłaty, bez zakładanego wzrostu. W tabeli projekcji pozycja krypto pokazuje „wartość bieżąca · brak prognozy" z plakietką zmienne, a w edytorze nie ma pól „cel" i „stopa zwrotu" (krypto wyceniamy z bieżącego kursu).

Dopłata pracodawcy (US 401(k) employer match). Dla konta 401(k) w edytorze możesz ustawić, ile pracodawca dokłada do Twojej wpłaty: procent Twojej miesięcznej wpłaty (np. 50%) i opcjonalny miesięczny limit dopłaty. Wtedy efektywna miesięczna wpłata = własna + dopłata — i to ona kumuluje się w projekcji (kapitał pracodawcy też rośnie). Dopłata liczy się jako wkład (kapitał), nie jako zysk, więc nie zawyża wyniku. Bez ustawionej dopłaty projekcja pozostaje bez zmian (zero wpływu na pozostałe konta).

Podatek przy wypłacie — wg typu konta​

Wartość netto liczymy zależnie od typu konta (wrappera podatkowego), a nie na sztywno. Reguły trzymamy jako dane (limity i mnożniki zmieniają się co roku):

  • IKE, OIPE, PPK, PPE — wypłata kwalifikowana bez podatku (netto = brutto).
  • IKZE — 10% od całości wypłaty (nie od samego zysku). Wpłata obniża PIT w roku wpłaty — tę ulgę pokazujemy osobno (nie doliczamy do wartości netto), i tylko gdy podasz swoją stawkę PIT (nie zgadujemy jej).
  • Zwykłe konto / bank — Belka 19% od zysku (zysk = wartość − wpłaty − kapitał).
  • Metale fizyczne (złoto, srebro, platyna, pallad) w Polsce — bez podatku po 6 mies. Odpłatne zbycie rzeczy ruchomych po upływie pół roku, licząc od końca miesiąca nabycia, nie jest źródłem przychodu (art. 10 ust. 1 pkt 8 lit. d ustawy o PIT). Projekcja (horyzont co najmniej 2 lata) nie odlicza więc podatku, a plakietka mówi „zwolnione po 6 mies.". Sprzedaż wcześniejsza idzie do skali PIT, nie do Belki. Złoto inwestycyjne jest też zwolnione z VAT przy zakupie (art. 122 ustawy o VAT). Poza Polską plakietka mówi neutralnie „podatek zależy od okresu posiadania", a projekcja liczy zachowawczo od zysku. Ta sama reguła działa w FIRE: przy stopie wypłat po podatkach metale fizyczne w Polsce nie dokładają podatku.

Pozycje bez przypisanego typu konta zachowują się jak dotąd (flaga „opodatkowane" = Belka), więc projekcja istniejących planów się nie zmienia.

Inne kraje (silnik per kraj)​

Ten sam silnik liczy podatek wg kraju (country) — wybierasz go w Ustawieniach:

  • 🇩🇪 Niemcy — Depot: Abgeltungsteuer 26,375% od zysku po Teilfreistellung (część zwolniona wg instrumentu) i kwocie wolnej Sparerpauschbetrag, plus opcjonalny Kirchensteuer; Rürup/Riester/bAV — odliczenie na wejściu i opodatkowana część renty (Besteuerungsanteil).
  • 🇬🇧 Wielka Brytania — GIA: CGT 18/24% od zysku po rocznej kwocie wolnej 3 000 £ (osobna kwota wolna na dywidendy 500 £); ISA/SIPP wolne; rok podatkowy 6 kwietnia–5 kwietnia (nie kalendarzowy) wpływa na liczenie limitów.
  • 🇺🇸 USA — brokerage: LTCG 0/15/20% zależnie od okresu trzymania; Roth vs Traditional jako przełącznik (wolne na wyjściu vs odliczalne na wejściu); 529 mapuje się na cel edukacyjny dziecka.
  • 🇫🇷 Francja — CTO: PFU 31,4% rozbite na komponenty PS 18,6% + IR 12,8%; PEA (0% IR po 5 latach) i assurance-vie (po 8 latach) liczone wg stażu konta (data otwarcia); PER — odliczenie na wejściu.

Projekcje nie udają precyzji, której nie mają (np. Vorabpauschale jest jawnie nieuwzględniona) — założenia upraszczające są oznaczone.

Roczny limit wpłat​

Dla kont z limitem (IKE/IKZE/OIPE, DE Rürup/Riester/bAV, UK ISA/SIPP, US 401(k)/IRA/ HSA, FR PEA/PER) śledzimy wykorzystanie rocznego limitu — sumę wpłat danej osoby na konta tego typu w roku względem limitu. IKZE ma wyższy limit dla osób prowadzących działalność (JDG). W UK „rok" to rok podatkowy (6 kwietnia). Konta bez śledzonego limitu (PPK/PPE, GIA, brokerage, CTO…) paska nie pokazują.

Horyzont i grupowanie​

Projekcję w Portfelu pokazujemy dla jednego wybranego horyzontu (2/5/10/20 lat) zamiast czterech kolumn — bez przewijania w bok. Domyślnie wiersze są ułożone jak w bilansie (te same grupy i kolejność: konta emerytalne, inwestycje, obligacje…, w grupie od największej wartości). Można też grupować po osobie lub typie konta albo wyłączyć grupy.

Spłata kredytu i nadpłata​

Wszystkie ekrany liczą kredyt z jednego harmonogramu (od rundy 6): Pulpit (karta celu), Cele (cel główny „Wolność od długów"), Analiza (wniosek o spłacie i saldo kredytu w FIRE) oraz szczegóły kredytu w Portfelu. Wcześniej każdy ekran miał własne założenia i ten sam kredyt dawał cztery różne lata spłaty.

Harmonogram startuje od bieżącego salda i liczy miesiąc po miesiącu: odsetki to saldo × oprocentowanie / 12, a spłata miesięczna zależy od podstawy:

  • Faktyczna (domyślna) — rata + średnia nadpłata z ostatnich 12 wpisów (miesiące bez nadpłaty liczą się jako zero). Rata pochodzi z pozycji, a gdy jej brak — ze średniej rat zapisanych we wpisach.
  • Z planu — rata + „Nadpłata docelowa / mc" z pozycji. Używamy jej tylko wtedy, gdy nie ma jeszcze żadnego wpisu (ekran mówi wtedy „wg planu"), albo jako jawne „co jeśli": „Przy planowanej nadpłacie 4000 zł/mc byłoby to ok. 2034". Plan nigdy nie zastępuje odpowiedzi opartej na faktach.

liczba miesięcy n = −ln(1 − saldo × r / spłata) / ln(1 + r), gdzie r = oprocentowanie / 12

  • Termin spłaty = miesiąc salda + n (n zaokrąglone w górę do pełnego miesiąca). Miesiąc salda to ostatnia migawka kredytu — gdy wpisy stoją od kilku miesięcy, termin nie przesuwa się o te miesiące.
  • Saldo w dowolnym roku (FIRE, projekcja majątku) wynika z tej samej amortyzacji: saldo × (1 + r)^k − spłata × ((1 + r)^k − 1) / r.
  • „Spłata za" w szczegółach kredytu to n w latach z jednym miejscem po przecinku; odsetki do końca = spłata × n − saldo.
  • Gdy plan nadpłat jest wyższy niż faktyczne nadpłaty, szczegóły kredytu pokazują osobno wiersze „Z nadpłatą wg planu" i „Mniej odsetek przy nadpłacie wg planu", a zdanie-plan dostaje drugą linię „co jeśli".
  • Kapitał w racie / mc = rata − odsetki bieżącego miesiąca. Faktyczne nadpłaty (średnia z wpisów) mają własny wiersz, więc suma tych dwóch zgadza się ze spadkiem salda w historii.
  • Gdy spłata nie pokrywa nawet odsetek (saldo by nie malało), terminu nie podajemy, a plan na górze arkusza mówi „Rata nie pokrywa odsetek — saldo nie maleje.".
  • Spłacono = kwota początkowa kredytu − bieżące saldo (demo: 578 113 − 543 542 = 34 571 zł, 5%). To jedyna baza „spłacono" w arkuszu; wykres salda pokazuje tylko ostatnie miesiące.

Termin z umowy a termin z raty​

Okres kredytu („Okres (lata)") traktujemy jako pierwotny okres umowy liczony od początku kredytu. Początek to data otwarcia pozycji, a bez niej pierwszy miesiąc, w którym kredyt jest w historii (moment dodania do aplikacji). Kredyt sprzed 10 lat z okresem 25 lat ma więc przed sobą 15 lat, nie 25. Bez znanego początku porównujemy z pełnym okresem liczonym od dziś.

Koniec umowy = początek + okres. Gdy termin z harmonogramu wypada później niż koniec umowy, niczego nie przycinamy — ekrany mówią oba terminy i proszą o sprawdzenie raty: „wg umowy do 2049; przy wpisanej racie wychodzi 2053 — sprawdźcie ratę". Zwykle to literówka w racie, w oprocentowaniu albo w okresie. Gdy początku umowy nie znamy, szczegóły kredytu pokazują krótszą podpowiedź „Rata nie pasuje do okresu N lat — sprawdź ratę lub oprocentowanie.".

Karta celu na Pulpicie podaje rok, w którym znikną wszystkie długi (najpóźniej spłacany dług). Kwota „dług maleje o … zł/mc" to faktyczny spadek salda z migawek z ostatnich 12 miesięcy (ta sama liczba co „spłata kapitału" w hero), a bez historii — część kapitałowa spłaty w bieżącym miesiącu. Dług bez raty i bez nadpłat liczymy liniowo ze spadku salda w migawkach.

Postęp celu („Wolność od długów") = 1 − saldo ÷ kwota początkowa, zapisany tak samo na Pulpicie, w Celach i w szczegółach kredytu: w całych procentach, poniżej 100% zaokrąglony w dół (5,98% → „5%").

Przykład z danych demo: kredyt 578 113 zł zaciągnięty 5 lat temu na 30 lat, 6,89%, rata 3 803,59 zł, wpisy bez nadpłat. Saldo 543 542 zł, w racie co miesiąc ok. 680 zł kapitału. Termin z raty: październik 2051 — tyle samo, co koniec umowy, więc wszystkie ekrany mówią „ok. 2051". Plan nadpłaty 4 000 zł/mc dałby ok. 2034 i ok. 445 tys. zł mniej odsetek — to „co jeśli", nie odpowiedź. Przy okresie wpisanym jako 25 lat ekrany mówią „wg umowy do 2046; przy wpisanej racie wychodzi 2051 — sprawdźcie ratę".

Reguły spójności obliczeń​

Kilka zasad, które trzymają liczby w ryzach niezależnie od tego, skąd pochodzi wycena.

Skąd bierze się wartość pozycji. Każda pozycja ma dokładnie jedno źródło wartości, sprawdzane w tej kolejności:

  1. obligacja z parametrami serii → silnik obligacji,
  2. ilość × kurs — krypto z rozpoznaną monetą, metal z gramami, ETF/akcje z liczbą sztuk i symbolem Stooq,
  3. waluta obca — kwota w walucie × kurs NBP/EBC,
  4. ręczna — to, co wpisałeś.

Rewaluatory po starcie aplikacji dotykają tylko „swoich" pozycji, więc np. przeliczenie walutowe nie nadpisze wyceny ilościowej bitcoina, który ma też kwotę w dolarach. Pozycje z punktów 1–2 nie pojawiają się w kroku „ile teraz warte są konta" wpisu miesięcznego — ich wycena przychodzi sama (białe metale: tylko gdy jest żywy kurs).

Waluta przechowywania i waluta bazowa. Plan trzyma wszystkie kwoty w złotych — także krypto, złoto, ETF-y, kwotę wolną od podatku (DE: 1000 € przeliczone na złote) i pozycje w euro czy dolarach (kwota w walucie × kurs NBP). Waluta bazowa gospodarstwa (PL: PLN, DE: EUR…) to warstwa wyświetlania i wpisywania: ekran dzieli złotówki przez kurs waluty bazowej (ile złotych za 1 euro — średni kurs NBP, a bez NBP kurs EBC przeliczony na złote), a formularz wpisu mnoży wpisaną kwotę przez ten sam kurs. Dzięki temu zmiana kraju niczego nie przelicza w danych i da się ją cofnąć bez strat. Dopóki kursu nie ma, kwoty są pokazywane w złotych — nigdy jako nieprzeliczone euro. Formatowanie (separatory, „tys./mln", minus „−") idzie za językiem aplikacji, nie za walutą.

Znacznik modelu zapisu. Plan zapisany w tym modelu ma znacznik storageModel: "pln" (nowe plany i plany w złotych dostają go od razu). Plan w euro bez znacznika mógł powstać przed poprawką z 2 października 2026, gdy kwoty w euro zapisywały się bez przeliczenia — wtedy Ustawienia pytają raz: przeliczyć kwoty wpisane ręcznie × bieżący kurs (odwracalnie) czy zostawić. Szczegóły w Ustawieniach.

Rata kredytu obniża saldo. Kwota raty podana we wpisie miesięcznym dzieli się na odsetki (saldo × oprocentowanie ÷ 12) i kapitał; o część kapitałową maleje saldo długu. Ponowny zapis miesiąca nie odejmuje jej drugi raz (aplikacja pamięta, ile już zaksięgowała), usunięcie wpisu ją zwraca. Starszy wpis bez tej informacji traktujemy tak samo jak jego wpłaty — rata jest już w saldzie: aplikacja odtwarza kapitał, który by z niej odjęła (kapitał = rata − (saldo + kapitał) × oprocentowanie ÷ 12), i księguje tylko zmianę raty. Nadpłata (pole „wpłata" przy kredycie) działa jak dotąd — w całości na kapitał.

Wpłata na pozycję wycenianą kursem nigdy nie „paruje". Krypto z rozpoznaną monetą rozliczamy wyłącznie jednostkami (kwota ÷ kurs miesiąca). Gdy kursu nie ma (offline), wpłata czeka na kolejny zapis miesiąca — nie dopisujemy złotówek do wartości, którą rewaluator i tak nadpisze kursem.

Tak samo działają złoto, srebro, platyna, pallad oraz ETF-y i akcje z liczbą sztuk i symbolem Stooq: wpłata z wpisu miesięcznego zamienia się w gramy lub sztuki (jednostki = kwota ÷ kurs) i trafia do historii zakupów pozycji. Kurs: złoto — cena NBP miesiąca (live lub archiwum); białe metale i ETF-y — kurs bieżący (dla miesiąca bieżącego). Gdy kursu nie ma (offline albo uzupełniasz miesiąc przeszły — Stooq nie ma u nas archiwum), używamy kursu z ostatniej wyceny pozycji (wartość ÷ ilość). To przybliżenie, ale wpłata zawsze zostaje w majątku: po rewaluacji wartość = (dotychczasowa ilość + nowe jednostki) × kurs. Usunięcie wpisu cofa te jednostki (i tylko je — wartość w złotych nie jest odejmowana drugi raz).

Jednostki tylko za różnicę. Ponowny zapis miesiąca kupuje jednostki wyłącznie za tę część wpłaty, której jeszcze nie ma w wartości pozycji: zakup = wpłata miesiąca − (już zaksięgowane − wyliczony zakup tego miesiąca). Wpłaty starszych wpisów (sprzed śledzenia księgowania, np. dane demo) są już w wartości, więc zapis bez zmian niczego nie dokupuje, a podniesienie wpłaty o 100 zł dokupuje jednostki za 100 zł. Krypto, które przy pierwszym zapisie czekało na kurs, dolicza się przy kolejnym zapisie z kursem dokładnie raz.

Realnie czy nominalnie. FIRE liczy stopami realnymi. Jeśli w ustawieniach FIRE podasz inflację > 0, uznajemy, że stopy pozycji są nominalne i w projekcjach majątku przeliczamy je na realne: (1 + r) ÷ (1 + π) − 1, a kwoty podajemy w dzisiejszych pieniądzach. Inflacja 0 (domyślnie) = stopy pozycji bierzemy tak, jak je wpisaliście, bez przeliczenia — tabela projekcji w Portfelu podpisuje wtedy kwoty jako nominalne. Oś czasu w zakładce FIRE liczy portfel FIRE realną stopą z założeń FIRE, więc jej kwoty są zawsze w dzisiejszych pieniądzach.

Zobowiązanie powiązane z aktywem. Wartość netto „razem" odejmuje każdy dług raz. Soczewka inwestycyjna (portfel FIRE) długów nie odejmuje — z jednym wyjątkiem: jeśli aktywo wchodzące do soczewki (np. mieszkanie na wynajem) ma przypięte zobowiązanie (hipotekę), odejmujemy je, bo do wolności liczy się kapitał własny. Dług przypięty do auta (poza soczewką) nie wchodzi — tak jak auto.

Gdy nie znamy kosztu nabycia. Podatek od zysku (Belka, Abgeltung, CGT…) wymaga wiedzy, jaka część wartości to zysk. Bez podanego „zainwestowane" przyjmujemy połowę — jedno założenie planistyczne dla projekcji i dla FIRE (wcześniej projekcja zakładała 0%, a FIRE 100%). Wypłaty z kont „pre-tax" (US Traditional 401(k)/IRA) opodatkowujemy stawką 22%, konta niemieckie (Rürup/Riester/bAV) — 25%; obie to przybliżenia, nie porada.

Insighty​

Reguły generują podpowiedzi o nasileniu good / info / warn: spłata kredytu, trend stopy oszczędności, luka celów z terminem, poduszka, udział długu, koncentracja portfela (i ryzyko krypto), % FIRE.

Luka celów z terminem liczy dokładnie to, co werdykt Celów: cele z rzeczywistym „odłożone" (także liczone ze źródła), miesięczne możliwości (kwota podana w Celach, zakres z Wpisu albo plan wpłat), suma miesięcznych potrzeb celów z terminem i cel, który robi lukę. Wniosek mówi to samo zdanie: „Brakuje ok. 15 700 zł/mc na „Budowa domu" (do czerwca 2027)", z krokiem „Rozważcie późniejszy termin albo niższą kwotę". Od krytyki 2026-10-14 ten wniosek nie stoi w Analizie ani w panelu „Tematy do przeglądu" — kwota braku jest tylko w Celach, a Pulpit mówi o niej jedną linią bez kwoty („Cele: poniżej tempa …"). Wniosek zasila nadal powiadomienia i krok przy poduszce: dopóki taka luka istnieje, krok przy pełnej poduszce nie kieruje nadwyżek do inwestycji — mówi, że najpierw idą cele z terminem. Te same reguły zasilają powiadomienia. Termin spłaty kredytu liczymy tym samym harmonogramem co Pulpit, Cele i FIRE (rata + średnia nadpłata z 12 wpisów) i podajemy rokiem oraz w pełnych latach (zaokrąglenie, co najmniej 1 rok), z odmianą według liczebnika: „Przy obecnych spłatach kredyt zostanie spłacony ok. 2051 — za ok. 25 lat.". Gdy termin wypada po końcu umowy, wniosek mówi oba terminy i prosi o sprawdzenie raty i okresu. Lista „Pozostałe wnioski" na dole Kondycji pomija wniosek z nagłówka karty oraz wnioski o poduszce, oszczędnościach i długu — ich liczby stoją już w karcie.