Преминете към основното съдържание

Ръководство за уеб интерфейса на beancount.io

Уеб интерфейсът на beancount.io (захранван от Fava) предоставя цялостен набор от инструменти за управление, заявки и визуализация на вашите финансови данни. Това ръководство обхваща основните му функционалности, от основно въвеждане на данни до разширено персонализиране и отстраняване на проблеми.

1. Редактиране и въвеждане на данни

Вграденият редактор

Интерфейсът включва мощен текстов редактор за извършване на директни промени във вашите Beancount файлове. Основните характеристики включват:

  • Автоматично довършване: Натиснете Tab, за да довършите имената на сметки, платци, тагове и връзки.

  • Клавишни комбинации:

    • Ctrl+Space: Задейства автоматично довършване.
    • Ctrl+/: Коментира или декоментира редове.
    • Ctrl+D: Дублира текущия ред.
    • Alt+Up/Down: Премества текущия ред нагоре или надолу.
  • Интелигентно поставяне на курсора: Използвайте опцията $insert-entry$ във вашия файл, за да поставите автоматично курсора в най-скорошния запис за конкретна сметка, когато редакторът се отвори.

    option "insert-entry" "Expenses:Food:Dining-Out"

Добавяне на транзакции

Щракнете върху бутона + (или натиснете n), за да отворите формата за транзакция.

  • Бързо въвеждане: Формата предлага скорошни сметки и запомня често срещани суми за платци.

  • Вградени тагове/връзки: Добавете тагове и връзки директно в полето за описание (например, Lunch #food ^receipt-001).

  • Шаблони за транзакции: Създайте бъдещи записи с таг #template. След това можете да използвате формата, за да ги намерите и попълните.

    2099-01-01 * "Месечно плащане на наем" #template
    Expenses:Housing:Rent 1500.00 USD
    Assets:Checking -1500.00 USD

2. Управление на документи

Ефективно свързвайте разписки, извлечения и други файлове с вашите транзакции.

  • Качване чрез влачене и пускане:

    • Пуснете файл върху име на сметка, за да го съхраните в папката на тази сметка.
    • Пуснете файл върху транзакция в дневника, за да го свържете директно.
  • Съхранение на документи: Файловете се запазват в папката, посочена от директивата $option "documents" "path/to/your/documents"$ във вашия Beancount файл.

  • Автоматизирано свързване: Beancount може автоматично да открива и свързва документи към транзакции. Активирайте това със следните плъгини:

    plugin "fava.plugins.link_documents"
    plugin "fava.plugins.tag_discovered_documents"

3. Заявки и анализ с BQL

Страницата Заявки ви позволява да изпълнявате заявки на езика за заявки на Beancount (BQL), подобно на инструмента от командния ред bean-query.

  • Визуализация: Резултатите от заявките се рендират автоматично като таблици. Ако вашата заявка връща две колони (като дата/низ и число), интерфейсът ще генерира и линейна, стълбовидна графика или treemap диаграма.
  • Експортиране: Изтеглете всеки резултат от заявка като CSV файл.

Практически примери за заявки

  • Месечен отчет за разходите:

    SELECT account, SUM(position) AS total
    FROM postings
    WHERE account ~ '^Expenses' AND date >= 2024-01-01 AND date < 2024-02-01
    GROUP BY account
    ORDER BY total DESC;
  • Приходи спрямо разходи по месеци:

    SELECT YEAR(date) as year, MONTH(date) as month,
    SUM(IIF(account ~ '^Income', -position, 0)) as income,
    SUM(IIF(account ~ '^Expenses', position, 0)) as expenses
    FROM postings
    GROUP BY year, month
    ORDER BY year, month;

4. Персонализиране и работен процес

Персонализиране на изгледа

Приспособете показването на интерфейса с тези опции във вашия Beancount файл:

  • Видимост на сметките: Контролирайте кои сметки се появяват в страничната лента.

    option "show-closed-accounts" "false"
    option "show-accounts-with-zero-balance" "false"
    option "collapse-pattern" "Assets:Investments:.*"
  • Индикатори за актуалност: Оцветени точки до сметките показват тяхното състояние (зелено за преминаващ баланс, червено за неуспешен, жълто за липса на скорошна проверка на баланса). Активирайте това в директивата open на сметката:

    2020-01-01 open Assets:Checking   fava-uptodate-indication: "TRUE"

Връзки в страничната лента

Добавете персонализирани връзки към често използвани отчети или филтрирани изгледи в страничната лента.

2024-01-01 custom "fava-sidebar-link" "Разходи за този месец" "/income_statement/?time=month"
2024-01-01 custom "fava-sidebar-link" "Всички документи" "/journal/?show=document"

Обща конфигурация

  • Множество файлове: Ако зареждате няколко .beancount файла, можете да превключвате между тях с помощта на падащото меню в горния ляв ъгъл.
  • Външен редактор: Конфигурирайте потребителския интерфейс да отваря файлове директно във вашия локален редактор, използвайки опцията $use-external-editor$ и URL манипулатор.
  • Език: Задайте езика на интерфейса с опцията $language$, или го оставете да се открие автоматично от вашия браузър.
  • Експортиране: Експортирайте всеки филтриран изглед на дневника в Beancount формат, използвайки бутона Експорт.

5. Производителност и отстраняване на проблеми

Работа с големи файлове

За книги с хиляди транзакции, подобрете производителността чрез:

  • Използване на включвания: Разделете книгата си на множество файлове по година или месец и използвайте директивата include.

    include "accounts.beancount"
    include "transactions/2023.beancount"
    include "transactions/2024.beancount"
  • Филтриране: Използвайте опциите за време и филтър, за да ограничите количеството данни, показвани наведнъж.

Често срещани проблеми и решения

  • Интерфейсът не се зарежда:

    1. Проверете файла си за синтактични грешки, като използвате инструмента от командния ред bean-check.
    2. Потърсете съобщения за грешки в долната част на уеб страницата.
    3. Изчистете кеша на браузъра си.
  • Ниска производителност:

    1. Намалете активния диапазон от дати в потребителския интерфейс.
    2. Опростете сложните BQL заявки.
  • Грешки в конфигурацията: Уверете се, че имената на опциите и типовете персонализирани директиви са затворени в кавички.

    ; Правилно
    option "documents" "/path/to/docs"
    custom "fava-sidebar-link" "Етикет" "URL"

    ; Неправилно (ще доведе до грешки)
    option documents "/path/to/docs"
    custom fava-sidebar-link "Етикет" "URL"