Awesome Beancount
Подбран наръчник за екосистемата на Beancount. Beancount е мощна система за счетоводство с отворен код, която използва прост, текстово базиран формат за управление на вашите финанси със стриктността на двустранното счетоводство. Тази страница съчетава списъци, подбрани от общността, и прегледи на екосистемата в един изчерпателен ресурс.
Защо счетоводство в обикновен текст?
Счетоводството в обикновен текст (Plain text accounting - PTA) е методология за управление на финансите чрез обикновени текстови файлове и мощни инструменти за команден ред. Този подход ви дава пълна собственост върху вашите данни, гарантира дълготрайност и предлага несравнима гъвкавост за автоматизация и анализ.
- Официален PTA център: Plain Text Accounting
- Внимателно въведение: Accounting for the simple minds with plain text accounting
- От уеб приложения към CLI: Command line accounting: From mint.com to Ledger
Екосистемата на Beancount
Екосистемата на Beancount е колекция от инструменти, плъгини и ресурси, изградени около основното ядро. Всеки компонент играе специфична роля в създаването на цялостен работен процес за финансово управление.
1. Основно ядро и официални ресурси
Това са основните елементи на Beancount, поддържани от създателя и официалните сътрудници.
| Ресурс | Описание |
|---|---|
| Beancount (Ядро) | Ядрото, което чете вашия файл с главната книга, налага правилата на двустранното счетоводство и генерира отчети. То предоставя основни инструменти за команден ред като bean-check и bean-format. Всички останали инструменти са изградени върху него. |
| Начална страница | beancount.github.io |
| Изходен код | github.com/beancount/beancount |
| Документация | GitHub Pages и Google Docs |
| Външни приноси | Официален списък с приноси от общността |
| Beanquery | Мощен инструмент за заявки, подобен на SQL (v3), за изпълнение на разширени заявки (напр. SELECT ... FROM ... WHERE ...) към вашата главна книга за генериране на персонализирани анализи. |
2. Потребителски интерфейси
Тези инструменти предоставят визуални интерфейси за изследване и редактиране на вашите финансови данни.
| Инструмент | Описание |
|---|---|
| Fava | Окончателното, пълнофункционално уеб табло за Beancount. Предоставя интерактивни графики, детайлни таблици, редактиране в браузъра и система за разширения за добавяне на функции като бюджетиране. |
| Fava-GTK | Нативно приложение за работния плот GNOME, което обвива Fava за безпроблемно изживяване на десктоп. |
| Beancount Mobile | Мобилно приложение за въвеждане на данни за добавяне на транзакции в движение. |
| Beancount Telegram Bot | Telegram бот за бързо добавяне на транзакции към вашата главна книга чрез чат. |
3. Импортиране на транзакции
Импортирането е процесът на конвертиране на данни от финансови институции (като банкови CSV или PDF файлове) в записи за Beancount.
| Инструмент | Описание |
|---|---|
| Beangulp (v3) | Модерната, самостоятелна рамка за изграждане на импортьори. Обработва външни файлове чрез Python скриптове (плъгини) за генериране на директиви за Beancount. |
| Smart Importer | Инструмент, който допълва импортьорите с машинно обучение за автоматично предвиждане и задаване на категории. |
| Beancount Reds Ingestor | Колекция от импортьори с обща библиотека за работа с CSV и OFX файлове. |
| double-entry-generator | Импортьор, базиран на правила, фокусиран върху китайски услуги като Alipay и WeChat Pay. |
Импортери от общността (по държави)
Богата колекция от скриптове за конкретни банки и услуги, поддържана от общността.
- Китай
- Alipay / 支付宝: deb-sig/double-entry-generator, wzyboy/importer
- China Merchants Bank (CMB): Дебитна карта, Кредитна карта
- WeChat Pay / 微信支付: deb-sig/double-entry-generator
- Франция
- Caisse d'Epargne: beancount-ce
- Boursorama, Amex: Beancount-myTools
- Германия
- Commerzbank: beancount-commerzbank
- Deutsche Kredit Bank (DKB): beancount-dkb
- ING: beancount-ing
- N26: beancount-n26
- Volksbank & GLS-Bank: beancount-importer-volksbank
- Индия
- SBI, BOI, Paytm, HSBC, ICICI: beancount-importers-india
- Нидерландия
- ABN AMRO: beancount-abnamro
- Швейцария
- Общи: tariochbctools (BCGE, Neon, Raiffeisen, ZKB, Fidelity)
- Finpension: drnuke-bean
- PostFinance: tariochbctools, drnuke-bean
- Обединено кралство
- Monzo, Revolut, Wise: Evernight/beancount-importers
- Revolut, Wise: tariochbctools
- САЩ
- Amex, Chase, Citi, Schwab: mterwill/gist
- Capital One: mtlynch/beancount-capitalone
- Chase: mtlynch/beancount-chase-bank, ArthurFDLR/beancount-chase
- Clipper: beancount-clipper
- Mercury: mtlynch/beancount-mercury
- Блокчейн
4. Поддръжка за редактори и инструменти
Инструменти, които интегрират Beancount във вашата среда за разработка, за да улеснят редактирането и поддръжката.
- Поддръжка за IDE: Плъгини, предоставящи подчертаване на синтаксиса, автоматично довършване и проверка на баланса в реално време.
- VSCode
- Emacs
- Vim
- Zed
- Sublime Text
- Atom
- Beancount Language Server (за всеки LSP-съвместим редактор)
- Автоматизация и помощни инструменти:
bean-add: Интерактивно добавяне на трансакции от командния ред.beancount-black: Стриктен инструмент за форматиране на код за Beancount файлове.beancount-categorizer: Автоматично категоризиране на трансакции с правила чрез регулярни изрази (regex).beanahead: Управление и прогнозиране на бъдещи трансакции.
- Инструменти за миграция на данни: Помощни програми за конвертиране на данни от други счетоводни системи.
- От GnuCash: henriquebastos/gc-to-bc, dtrai2/gc-to-bc
- От Ledger/hledger: travisdahlke/gist, zacchiro/ledger2beancount
- От YNAB: hoostus/beancount-ynab
5. Плъгини (Разширения за главната книга)
Python модули за главната книга, които се изпълняват по време на обработката, за да прилагат персонализирани правила, да автоматизират трансакции или да добавят нови функции.
- Бюджетиране:
- fava-envelope: Разширение за Fava за бюджетиране по метода на пликовете.
- Автоматизация и проверки:
- autobean.share: Разпределяне на разходи и управление на дългове.
- autobean.sorted: Гарантира, че трансакциите са подредени хронологично.
- beancount-checkclosed: Автоматична проверка за нулев баланс на закрити сметки.
- Манипулация на данни:
- autobean.narration: Автоматично генериране на описания на трансакциите.
- beancount-lazy-plugins.filter_map: Прилага операции върху филтрирана група от трансакции.
6. Източници на цени
Скриптове, които извличат исторически и текущи цени на стоки, акции и валути за проследяване стойността на инвестициите.
- beancount-exchangerates: За фиатни валути чрез API като
frankfurter.dev. - pricehist: Инструмент за извличане на цени от множество източници.
- beancount-cryptoassets: За извличане на цени на криптовалути.
- tariochbctools: Включва източник на цени за Interactive Brokers.
Обучение и общност
Книги и подробни ръководства
- Управление на лични финанси с Python (Tracking Personal Finances using Python): Книга, която предоставя изчерпателно ръководство за изграждане на система за лични финанси с Beancount. (Уебсайт)
- Серия блогове на китайски (BYVoid): Част 1: Защо?, Част 2: Дебит и кредит
Избрани публикации в блогове
- Английски
- Френски
- Китайски
Общност
- Списък с имейли: Google Groups (Основен форум за дискусии)
- Чат на живо (IRC): #beancount на web.libera.chat
- Telegram (китайски): t.me/beancount_zh
Търговски услуги и приложения
За потребители, които искат мощта на Beancount, без да управляват инфраструктурата сами.
| Услуга | Описание |
|---|---|
| Beancount.io | SaaS (софтуер като услуга) платформа, предоставяща готова инстанция на Beancount и Fava. Предлага също и специализирани мобилни приложения за iOS и Android. |