Skip to content

Доход

Dinary хранит данные о ежемесячном доходе семьи в EUR для расчёта накоплений (доход − расходы).

Откуда берутся данные

Период Источник в Google Sheets Валюта
2019–2021 вкладка Balance RUB → EUR
2022 (янв–июль) вкладка Balance RUB → EUR
2022 (авг–дек) вкладка Balance RSD → EUR
2023 вкладка Balance RSD → EUR
2024–2026 вкладка Income RSD → EUR

Конвертация в EUR выполняется по курсу НБС (для RSD) или Frankfurter (для RUB) на конец месяца.

Операции

Импорт дохода за один год

inv import-income --year=2024 --yes

Полностью перезаписывает таблицу income в budget_2024.duckdb данными из Google Sheets. Команда деструктивная и требует явного --yes.

Импорт всех лет

inv import-income-all --yes

Запускает импорт для каждого года, у которого зарегистрирован источник дохода. Используется как часть скоординированного reset-флоу (import-catalogimport-budget-allimport-income-allverify-bootstrap-import-allverify-income-equivalence-all) при остановленном сервере.

Проверка корректности

inv verify-income-equivalence --year=2024

Повторно читает Google Sheet и сравнивает итоги по месяцам с данными в БД (допуск ±0.02 EUR). Read-only, --yes не требуется.

Что хранится в БД

Одна строка на месяц: year, month, amount (EUR). Поле origin было удалено в ходе 3D-reset — income всегда импортируется из таблиц одним источником на год.

Начиная с 2026

Текущий доход по-прежнему вводится в существующих листах Google Sheets и подтягивается в БД через inv import-income. Phase 1 PWA не предоставляет ввод дохода (это запланировано для будущих фаз).