Улучшение работы с Beancount с помощью пользовательских ссылок и запросов
Beancount, система бухгалтерского учета по двойной записи, любимая как разработчиками, так и финансовыми энтузиастами, мощна в своей простоте. Но для тех, кто хочет больше контроля и более быстрой навигации внутри Fava, веб-интерфейса Beancount, пользовательские ссылки боковой панели и SQL-запросы могут вывести ваш рабочий процесс на новый уровень.
В этом руководстве мы покажем вам, как:
- Добавлять ссылки быстрого доступа на боковую панель Fava
- Использовать SQL-запросы для расширенной фильтрации и анализа
- Настраивать свой рабочий процесс для ежемесячных обзоров или обнаружения аномалий
Зачем настраивать Fava?
Fava уже является прекрасным интерфейсом для просмотра вашей бухгалтерской книги Beancount, но по мере роста вашего журнал а возрастает и потребность в более удобных ярлыках и более умных запросах.
Проблемы, которые это решает:
- Повторяющаяся навигация по временным диапазонам
- Фильтрация транзакций по вложенным счетам
- Более быстрое обнаружение отрицательных остатков или аномалий
✨ Пользовательские ссылки боковой панели
Начнем с улучшения вашего ежедневного рабочего процесса с помощью простых ярлыков боковой панели. Эти ссылки появляются в левой боковой панели Fava и могут напрямую переводить вас к отфильтрованным представлениям, таким как транзакции текущего месяца или доход за прошлый месяц.
Добавьте эти строки в ваш файл Beancount:
2021-01-01 custom "fava-sidebar-link" "Current Month" "/jump?time=month"
2021-01-01 custom "fava-sidebar-link" "Last Month" "/jump?time=month-1"
2021-01-01 custom "fava-sidebar-link" "Clear All" "/jump?account=&time=&filter="
Что они делают:
- Текущий месяц: Открывает представление транзакций, отфильтрованное по текущему месяцу.
- Прошлый месяц: Мгновенно переходит к предыдущему месяцу — отлично подходит для обзоров в конце месяца.
- Очистить все: Сбрасывает фильтры, снова показывая все записи.
Эти ярлыки устраняют ручной ввод времени и делают ваш опыт работы с Fava более плавным и персонализированным.
🔍 Пользовательские SQL-запросы
Для более глубокого анализа SQL-интерфейс Fava невероятно мощный. Вот запрос, который находит все отрицательные остатки на счетах, соответствующих шаблону — идеа льно подходит для отметки необычных или проблемных транзакций.
SELECT account, units(sum(position)), sum(position)
WHERE number(units(position)) < 0
AND account ~ '.*:BCM:.*'
AND date >= DATE(2021,12,9)
AND date < DATE(2022,1,9)
Разбор:
account ~ '.*:BCM:.*'
: Фильтрует счета, содержащие:BCM:
в своем названии.number(units(position)) < 0
: Отмечает отрицательные остатки (например, перерасходованные бюджеты).- Фильтры по дате сужают результат до определенного 1-месячного окна.
Случаи использования:
- Обнаружение ошибок, таких как дублирующиеся расходы или неверные проводки
- Аудит конкретного поставщика или категории
- Быстрое извлечение полезных данных для бюджетирования