Всё, что умеет приложение, в том порядке, в каком вы с этим скорее всего столкнётесь. Здесь не описано ни одной кнопки, которой ещё нет.
Создание аккаунта
Аккаунт заводится в мобильном приложении 4 Envelopes. Браузер входит в уже существующий и своей формы регистрации не имеет: пробный период начинается с регистрации, а подписка покупается в приложении — значит, место, где аккаунт начинается, должно быть одно.
Адрес почты и пароль не короче шести символов — или одна кнопка: Google, а на iPhone ещё и Apple.
Следом придёт письмо для подтверждения. Ждать его не нужно: приложением можно пользоваться сразу и до подтверждения ничего не придерживается.
При входе через Google или Apple письмо не отправляется вовсе. Провайдер подтвердил адрес раньше, чем мы его увидели.
Пробный период — 33 дня с момента создания аккаунта. Карту не спрашивают, и ничего в это время не ограничено.
Когда пробный период кончается без подписки, аккаунт становится доступен только для чтения: все цифры остаются видны, прекращается только ввод новых.
Вход
Один и тот же аккаунт входит и из браузера, и из приложения. Данные живут на сервере, поэтому оба всегда смотрят на одни и те же цифры, а не на две их копии.
Почта и пароль — или та же кнопка провайдера, которой аккаунт был заведён.
Забыли пароль: запросите ссылку на экране входа. Она живёт час.
Открыть её — значит задать новый пароль, заодно подтвердить адрес и закрыть все остальные сессии: сброс делают тогда, когда подозревают, что в аккаунте кто-то ещё.
Ответ на такой запрос один и тот же, что бы вы ни ввели, так что этот экран никому не сообщает, есть ли за адресом аккаунт.
У аккаунта, заведённого через Google или Apple, пароля нет и сбрасывать нечего. Тому, кто его запросит, придёт письмо с названием нужной кнопки.
Валюты
Одна базовая валюта, в которой выражены все итоги, конверты и отчёты, и тридцать четыре валюты для счетов и платежей. И то и другое — в настройках.
Курсы загружаются сами. RUB, KZT, GEL и AED источник не котирует — они берутся из сохранённой таблицы и помечены, чтобы было видно, какого рода цифру вы читаете.
Любой курс можно задать вручную. Ручной курс переживает обновление и держится, пока вы его не уберёте.
Ненужную валюту можно выключить. Это лишь укорачивает выпадающие списки: остатки, история, конверты и отчёты не меняются, а счёт, уже заведённый в ней, продолжает работать.
Базовую валюту выключить нельзя — в ней выражается всё. Смена базовой пересчитывает все курсы, а не выбрасывает те, что вы задали руками.
Порядок списка ваш: в браузере строку перетаскивают, в приложении двигают стрелками.
Счета
Счёт — это название, валюта и начальный остаток. Его баланс — эта начальная цифра плюс всё, что с тех пор на него записано.
Платёж, поступление или перевод всегда двигают счёт в его собственной валюте — независимо от того, в какой валюте была введена сумма.
Перевод между счетами в разных валютах спрашивает не курс, а сумму, которая действительно зачислена, — ту, что стоит в выписке. Курс выводится из двух сумм, поэтому спорить о том, куда он направлен, не о чем.
Счёт можно выключить. Он уходит из выпадающих списков и остаётся во всех итогах: остаток по-прежнему считается, история остаётся, а регулярное правило, указывающее на него, по-прежнему подтверждается.
Порядок здесь тоже ваш, а форма платежа открывается на том счёте, с которого вы платили в прошлый раз.
Удаление сначала спрашивает и называет, что именно уходит.
Регулярные платежи и поступления
Правило — это план, а не списание. Оно говорит, что ожидается, как часто и с какого счёта; в журнал ничего не попадает, пока очередное начисление не подтверждено.
Раз в неделю, в месяц или в год, с явно названным днём: день недели, число месяца либо число и месяц.
«31-е» работает и в феврале — в коротком месяце оно сдвигается на последний день.
Дата начала ограничивает правило, чтобы оно не появлялось в календаре раньше, чем начинается.
Правило может быть в любой поддерживаемой валюте, независимо от валюты счёта. Пересчёта не происходит, пока начисление не подтверждено, — и тогда по курсу, действующему в этот момент.
Правило можно выключить, не удаляя: оно перестаёт порождать начисления и сохраняет всё, что уже породило.
Цели
Цель — это название, сумма, валюта и дата, к которой она нужна. Из них выводится, сколько откладывать каждый месяц отсюда и до неё.
Прогресс — это то, что переведено в цель, по отношению к её сумме.
Откладывают со счёта, и это отложение — обычная строка журнала, её видно на экране операций.
Конверты придерживают то, что каждой незавершённой цели нужно ещё в этом месяце: месячную рекомендацию минус уже отложенное, чтобы за цель, которую вы в этом месяце уже покормили, не списали дважды.
Экран конвертов напоминает о целях, на которые с 1-го числа ничего не отложено. Отложение, датированное прошлым месяцем, его не заглушает.
Цель можно выключить, а достигнутая перестаёт учитываться.
Четыре конверта
Первый экран — тот, по которому приложение названо. Календарный месяц делится на четыре части, и каждый конверт говорит, сколько осталось потратить в своей.
Конверт — это постоянные обязательства месяца, делённые на четыре, плюс то, что вы сами внесли за эту неделю.
Постоянные обязательства — это запланированные поступления месяца минус запланированные платежи минус то, что цели должны получить в этом месяце. Эта половина намеренно одинакова во всех четырёх конвертах: одна цифра, разделённая на четыре.
Недели здесь — четверти календарного месяца, а не отрезки по семь дней. Первая начинается 1-го, последняя кончается последним днём, и каждая дата месяца попадает ровно в одну из них.
Уже прожитые недели не показываются — конверт это то, что осталось потратить. Если перелистнуть на другой месяц, видны все четыре: «уже прошла» ничего не значит в месяце, на который вы просто смотрите.
Неделя, ушедшая в минус, показывается пустой, а нехватка переносится на недели после неё — никогда на те, что раньше, чьи деньги уже тратятся. Карточка сообщает, когда это произошло.
Каждая карточка показывает свою арифметику: долю месяца, поступления и платежи этой недели и то, что перенесено между неделями.
Постоянные обязательства месяца перечислены один раз, рядом с цифрой, которую они дают, а не внутри карточки — их деньги размазаны по всем четырём.
Подтверждение запланированного платежа
Правило порождает начисления; подтвердить одно из них — значит превратить его в деньги, которые действительно ушли. Список стоит на экране конвертов.
Он идёт с 1-го числа месяца до конца той недели, в которой вы находитесь. То, что наступит через три недели, подтверждать сегодня нечего; то, что просрочено с 1-го, — по-прежнему есть, и записать его больше негде.
Сумму можно поменять, она подставлена из правила. Счёт редко совпадает с планом до копейки — строка журнала несёт то, что заплачено на самом деле, а правило сохраняет свою цифру для следующих месяцев.
Дату тоже можно поменять, она подставлена днём начисления, и она обязана остаться внутри месяца этого начисления. Записать августовскую аренду в сентябрь — исказить оба месяца, поэтому это отклоняется с объяснением, а не принимается молча.
Начисление можно пропустить вместо того, чтобы подтверждать, — тогда у месяца, к которому оно относится, его просто нет.
Подтвердить одно и то же начисление дважды невозможно. Вторая попытка отклоняется, а не записывается, чтобы двойное нажатие не стало двойным платежом.
Подтверждённое начисление остаётся запланированным. Оно не выпрыгивает из общей месячной цифры в ту единственную неделю, которой оказалось датировано.
Платежи и поступления
Три кнопки вверху первого экрана — платёж, поступление, перевод. Каждая открывает окно поверх страницы: сумма, счёт, заметка и дата, а если валюта не та, что у счёта, то и валюта.
Окно закрывается, когда запись проведена, и остаётся открытым, когда её отклонили, — вместе с тем, что вы набрали. Окно, закрывающееся на отказе, выбросило бы введённое и оставило сообщение объяснять форму, которой уже никто не видит.
Платёж в другой валюте: введите цифру со счёта к оплате, а рядом — то, что на самом деле списалось со счёта. Сохраняется и то и другое: в журнале видно и 9 000 THB, и 250 $, в которые они обошлись.
Переводы двигают деньги между вашими же счетами, поэтому в итоги поступлений и платежей они не входят: иначе каждое внутреннее движение считалось бы дважды.
Экран операций показывает всё и сужается до одного счёта. Перевод виден там со стороны этого счёта, чтобы пришедшие деньги читались как пришедшие, а не как расход другого счёта.
Удаление сначала спрашивает и называет строку.
В приложении форму можно заполнить ещё и снимком чека или вставкой сообщения от банка. Автоматически не записывается ничего: форма открывается заполненной, а кнопку нажимаете вы.
Календарь
Каждый день месяца с тем, что на него приходится, и с остатком после него.
Позади сегодняшнего дня цифры восстановлены из того, что действительно записано; впереди — запланированное проецируется вперёд.
Неподтверждённое начисление из прошедшего дня здесь намеренно не рисуется: остаток рядом с ним его бы опровергал. Оно по-прежнему ждёт на экране конвертов.
По всем счетам сразу остаток пересчитывается в базовую валюту — одна цифра должна быть в одних деньгах.
Суженный до одного счёта, он показан в валюте этого счёта и в точности совпадает с цифрой на экране счетов.
Переводы по всем счетам взаимно гасятся и в текущий остаток не входят. Внутри одного счёта они и есть движение остатка, и там они учитываются.
Отчёты
Два графика, год назад и год вперёд: деньги по месяцам и остаток.
Это две рамки на общей оси времени, а не один график с двумя шкалами. Деньги по месяцам — поток, остаток — запас; положить их на одну пару осей означало бы отдать тому, кто рисует, решение, какая линия выглядит выше.
Позади сегодняшнего дня ряды строятся только из записанных строк. Впереди — из планов: неподтверждённые начисления, разовые строки, уже датированные вперёд, и то, что каждой цели ещё нужно.
Запланированные месяцы нарисованы теми же цветами, штриховкой, чтобы шов между двумя половинами был виден.
Переводы исключены с обеих сторон — по той же причине, по которой их нет в итогах.