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

4 публикации маркиран с/със "отворен код"

Вижте всички етикети

Beancount v3: Какво е новото?

· 3 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Beancount версия 3, пусната в средата на 2024 г., отбелязва значителна архитектурна еволюция за популярния инструмент за счетоводство в обикновен текст. Въпреки че поддържа обратна съвместимост за потребителските файлове с регистри, основната структура и придружаващите инструменти са претърпели съществени промени. Ето преглед на новостите в Beancount v3.

По-модулна и оптимизирана архитектура

Какво е новото в Beancount v3

Най-значителната промяна в Beancount v3 е преминаването към по-модулна екосистема. Няколко ключови функционалности, които преди това бяха пакетирани с ядрото, са отделени в самостоятелни, независими проекти. Това прави ядрото на Beancount по-леко и позволява по-фокусирано развитие на отделни компоненти.

Ключовите компоненти, които сега са отделни пакети, включват:

  • beanquery: Мощният SQL-подобен инструмент за заявки за вашите файлове с регистри вече е в собствен пакет.
  • beangulp: Това е новият дом за рамката за импортиране на данни, заместваща бившия модул beancount.ingest.
  • beanprice: Специализиран инструмент за извличане на цени на стоки и акции.

Това разделение означава, че потребителите ще трябва да инсталират тези пакети в допълнение към beancount сам по себе си, за да запазят пълната функционалност, с която са свикнали във версия 2.

Промени в инструментите на командния ред и работните потоци

Отразявайки новата модулна архитектура, има някои забележителни промени в инструментите на командния ред:

  • bean-report е премахнат: Този инструмент е премахнат. Потребителите вече се насърчават да използват bean-query (от пакета beanquery) за своите нужди от отчети.
  • Нов работен поток за импортиране: Командите bean-extract и bean-identify са премахнати от ядрото. Новият подход с beangulp е базиран на скриптове. Потребителите вече ще създават свои собствени Python скриптове за обработка на импортирането на данни от външни източници като банкови извлечения.

Подобрения в синтаксиса и функциите

Докато основните счетоводни принципи остават същите, Beancount v3 въвежда известна желана гъвкавост в своя синтаксис:

  • По-гъвкави кодове на валути: Предишните ограничения за дължината и символите на имената на валутите са облекчени. Вече се поддържат едносимволни валутни символи.
  • Разширени флагове за транзакции: Потребителите вече могат да използват всяка главна буква от А до Я като флаг за транзакции, което позволява по-детайлна категоризация.

Важно е, че тези промени са обратно съвместими, така че вашите съществуващи Beancount v2 файлове с регистри ще работят без никакви модификации.

Пренаписването на C++ и производителността

Една от дългосрочните цели за Beancount е пренаписването на неговите критични за производителността компоненти на C++. Докато тази работа продължава, първоначалната версия на Beancount v3 не включва ядрото, базирано на C++. Това означава, че засега производителността на v3 е сравнима с тази на v2. Кодът на C++ остава в отделен клон за разработка за бъдеща интеграция.

Миграция от v2 към v3

За повечето потребители миграцията от Beancount v2 към v3 е сравнително лесна:

  1. Файлове с регистри: Не са необходими промени за вашите .beancount файлове.
  2. Инсталация: Ще трябва да инсталирате новите, отделни пакети като beanquery и beangulp с помощта на pip.
  3. Скриптове за импортиране: Ако имате персонализирани импортери, ще трябва да ги актуализирате, за да използват новия API на beangulp. Това включва главно промяна на базовия клас, от който наследяват вашите импортери, и коригиране на някои сигнатури на методи.
  4. Fava: Популярният уеб интерфейс за Beancount, Fava, е актуализиран, за да бъде съвместим с v3. Уверете се, че разполагате с най-новата версия на Fava за безпроблемно изживяване.

По същество Beancount v3 е фундаментална версия, която оптимизира архитектурата на проекта, правейки го по-модулен и по-лесен за поддръжка и разширяване в дългосрочен план. Въпреки че изисква някои корекции в работните потоци на потребителите, особено по отношение на импортирането на данни, тя поставя основите за бъдещото развитие на този мощен счетоводен инструмент.

Надстройка на Fava до версия 1.19: Основни промени и подобрения

· Една минута четене
Mike Thrift
Mike Thrift
Marketing Manager

Надстроихме софтуера с отворен код Fava, лицензиран под MIT, до версия 1.19. Ето промените от последната ни актуализация:

  • v1.19 (2021-05-18)
    • мигриране от опциите conversion и interval към опцията default-page
    • добавяне на опция invert-income-liabilities-equity
    • надстройка до CodeMirror 6
    • добавя български превод
    • други малки подобрения и корекции на грешки
  • v1.18 (2021-01-16)
    • няколко малки подобрения и различни корекции на грешки.

Чувствате се развълнувани? Изпробвайте го сега на https://beancount.io/ledger/

2021-07-16-upgrade-fava-to-1-19

Имате въпроси? Ще бъдем на разположение за вас на https://t.me/beancount :)

Beancount Mobile: Нашият ангажимент към отворения код и поверителността

· Една минута четене
Mike Thrift
Mike Thrift
Marketing Manager

Поверителността е в основата на нашето ДНК, нашата култура и нашите ценности. Ние сме ангажирани да защитаваме вашите данни във всички наши системи.

И днес, с вълнение обявяваме отварянето на кода на Beancount mobile. Това означава, че кодът е публично достъпен и може да бъде преглеждан от хората. Това ниво на прозрачност гарантира както сигурността на приложението, така и вашето спокойствие относно това какво правим с вашите данни.

Отвореният код дава на нашите клиенти повече избори на пазара и по-добри решения по много начини. Ние изграждаме Beancount.io върху отлични проекти с отворен код и се надяваме да отворим кода на колкото се може повече модули от нашата система в бъдеще. А Beancount mobile е само началото на това пътешествие :)

2020-10-08-open-sourcing-beancount-mobile

Beancount.io Сърце Отворен Код

Основи на счетоводството с Beancount: Пътят към изрядно водене на сметки с обикновен текст

· 7 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Не можете да управлявате бизнес, ако не знаете къде отиват парите. Точните сметки превръщат предположенията в прозрения. (Investopedia)

Всеки собственик на бизнес, фрийлансър или основател на стартъп в крайна сметка се сблъсква с една и съща реалност: финансовият хаос е убиец на растежа. Без ясна картина на паричния си поток, вие летите на сляпо. Но какво ще стане, ако можете да управлявате финансите си със същата прецизност и контрол, които прилагате към кода си? Запознайте се с Beancount, мощна система за счетоводство с отворен код, която работи с файлове с обикновен текст.

2019-03-24-bookkeeping-basics

Това ръководство ще ви преведе през основите на счетоводството и ще ви покаже как да изградите стабилен, лек и прозрачен финансов работен процес, използвайки Beancount.

Какво е счетоводство?

В основата си счетоводството е систематичното и непрекъснато записване на всяка финансова транзакция, извършена от бизнеса. Това е ежедневната дисциплина за проследяване на приходите, разходите, активите (това, което притежавате) и пасивите (това, което дължите).

В света на Beancount тези записи не са заключени в собственически софтуер. Те се намират в прости, четими от човека файлове с обикновен текст. Този подход ви позволява да контролирате версиите на финансовата си история с инструменти като Git, точно както бихте направили със софтуерен проект. Всеки запис се управлява от правилото за балансиране на двойното записване, елегантна система, която автоматично проверява работата ви и гарантира, че сметките ви винаги са правилни. (beancount)

Защо е важно?

Прецизното счетоводство не е просто административна спретнатост; това е стратегическо предимство.

  • Увереност при данъчно облагане: Когато дойде време за данъци, чистите записи са вашият най-добър приятел. НАП изисква ясна документация за приходите и разходите. Добре поддържаната счетоводна книга означава, че можете да подадете декларацията си с увереност и драстично да съкратите евентуални проверки. (НАП)
  • По-ясни решения: Достатъчно високи ли са цените ви? Доходен ли е конкретен договор за услуги? Разходите за абонаменти излизат ли извън контрол? Финансовите отчети, като отчет за приходите и разходите и баланс, разкриват пропуски в ценообразуването, неконтролируеми разходи и дупки в паричния поток, като дават на мениджърите и инвеститорите данните, от които се нуждаят, за да вземат интелигентни решения. (Investopedia)
  • По-лесно финансиране: Кредиторите и инвеститорите не вземат решения въз основа на интуиция. Преди да преведат средства, те ще поискат финансови отчети. Добрите сметки ви позволяват да генерирате баланс или отчет за приходите и разходите за секунди, демонстрирайки професионализъм и финансово здраве. (Investopedia)
  • Сигнали за измами и грешки: Редовното сверяване на сметките ви с банковите извлечения е вашата първа линия на защита срещу грешки. Този прост навик ви помага бързо да откриете дублирани такси, банкови грешки или измамни действия, преди да се превърнат в сериозни проблеми. (НАП)

План с обикновен текст в седем стъпки

Готови ли сте да започнете? Ето как да изградите вашата система за счетоводство, задвижвана от Beancount, от нулата.

1. Разделете бизнес и лични сметки

Това е първата стъпка, която не подлежи на обсъждане. Отворете специална бизнес разплащателна сметка и, ако е необходимо, бизнес кредитна карта. Смесването на средства създава кошмар за счетоводството и може да размие линиите на отговорност между вас и вашия бизнес. Чистото разделяне е от съществено значение за точни данъчни облекчения и правна защита. (Агенция за малки и средни предприятия)

В Beancount декларирате съществуването на тези сметки с директива open:

; Начални салда за вашите сметки
2025-07-22 open Assets:Bank:Business USD
2025-07-22 open Assets:Bank:Personal USD

2. Изберете система за счетоводство

Beancount използва метода на двойното записване, златния стандарт на счетоводството от векове. Принципът е прост: всяка транзакция засяга поне две сметки. За всяко дебитиране от една сметка трябва да има съответстващо кредитиране на друга. Магията на тази система е, че сумата на всички ваши сметки винаги трябва да е равна на нула. Beancount налага това правило автоматично, което означава, че печатна грешка или логическа грешка веднага ще вдигнат червен флаг. Буквално не можете да имате небалансирани сметки. (beancount)

3. Решете кой счетоводен метод да използвате

Имате два основни избора тук:

  • Касов метод: Записвате приходи, когато получите парите, и разходи, когато ги платите. Той е по-прост и отразява директно вашия паричен поток.
  • Метод на начисляване: Записвате приходи, когато ги спечелите (напр. когато е изпратена фактура) и разходи, когато ги направите (напр. когато получите фактура). Този метод дава по-вярна картина на финансовото здраве и производителност на компанията, особено за растящи фирми. (Investopedia)

Ето пример за транзакция по метода на начисляване в Beancount. Вие осчетоводявате приходите, когато фактурата е изпратена, премествайки стойността в Assets:AccountsReceivable. Когато клиентът плати, премествате парите от AccountsReceivable в банковата си сметка.

; Пример за начисляване: издадена фактура, плащане по-късно
2025-07-22 * "Фактура за дизайн #101"
Assets:AccountsReceivable 3000.00 USD
Income:Design

2025-08-15 * "Клиентът плаща фактура #101"
Assets:Bank:Business 3000.00 USD
Assets:AccountsReceivable

4. Съберете инструментите си

Красотата на Beancount е в неговия минималистичен, модулен характер. Вашият основен набор от инструменти включва:

  • Текстов редактор + Git: Вашият любим текстов редактор за записване на транзакции и Git за контрол на версиите, което ви дава пълна, проверяема история на всяка промяна.
  • bean-report / bean-balance / Fava: Инструменти за команден ред като bean-report и зашеметяващият уеб интерфейс Fava ви дават моментални финансови отчети, табла и мощни възможности за филтриране.
  • Импортьори: Богата екосистема от импортьори, създадени от общността, може да се свърже с вашите банкови емисии чрез CSV, Plaid или API за услуги като Stripe и PayPal, автоматизирайки голяма част от въвеждането на данни.

5. Категоризирайте всяка транзакция

Добре организираният "сметкоплан" е гръбнакът на проницателното отчитане. Дефинирайте категории, които имат смисъл за вашия бизнес, като използвате йерархични сметки за детайлност. След това, докато записвате транзакции, категоризирайте ги старателно.

2025-07-30 * "Месечна фактура от AWS"
Expenses:Hosting:AWS 124.50 USD
Assets:Bank:Business
tag: "ops"

В този пример разходът е ясно класифициран под Expenses:Hosting:AWS. Използването на tag: "ops" също позволява кръстосани отчети, като например преглед на всички оперативни разходи, независимо от основната им категория. (НАП)

6. Съхранявайте изходните документи сигурно

НАП с удоволствие приема дигитални копия на касови бележки и фактури. Сканирайте хартиени касови бележки или препращайте имейл фактури в специална папка в облачно хранилище (като Google Drive или Dropbox). След това се свържете към файла директно във вашия Beancount запис, използвайки метаданни. Това създава херметичен, самостоятелен запис.

; Изображение на касова бележка, свързано като метаданни
2025-07-18 * "Обяд на екипа"
Expenses:Meals 85.10 USD
Assets:Bank:Business
receipt: "receipts/2025-07-18-team-lunch.jpg"

7. Превърнете счетоводството в навик

Постоянството е ключово. Отлагането превръща счетоводството в стресираща, отнемаща време работа. Отделете повтарящ се времеви блок - седмичен или месечен "Bean-ден" - за импортиране на транзакции, сверяване на сметки и преглед на вашите финансови отчети. Тази проста рутина превръща счетоводството от тримесечна борба в бърза, овластяваща проверка на здравето на бизнеса. (НАП)

Самостоятелно или с професионална помощ

  • Самостоятелно: За фрийлансъри или малки фирми с предвидим обем транзакции, самостоятелният подход с Beancount е невероятно ефективен. Все пак е разумно да проведете кратка, еднократна консултация със сертифициран експерт-счетоводител, за да потвърдите вашия сметкоплан и да се уверите, че сте на правилния път.
  • Професионален преглед: С разрастването на вашия бизнес, усложняването на транзакциите или повишаването на риска от неспазване на изискванията, привличането на професионален счетоводител за периодични прегледи е безценно. Можете да продължите да използвате Beancount като основен източник на истина и просто да експортирате отчетите, от които се нуждаят.

Чеклист за бърз старт

  • Отворете отделни бизнес банкови сметки.
  • Клонирайте стартовия репозитори на Beancount и дефинирайте сметките си във accounts.bean.
  • Изберете касов или метод на начисляване и се придържайте към него.
  • Настройте импортьори за автоматизиране на въвеждането на данни от вашата банка (CSV), Stripe, PayPal и др.
  • Тагвайте и пишете ясни описания за всяка транзакция.
  • Сверявайте счетоводната си книга с банковите извлечения седмично или месечно.
  • Генерирайте месечни отчети за приходите, баланса и паричния поток, използвайки Fava или bean-report.
  • Архивирайте .bean файловете си редовно (Git + външно хранилище).

Допълнително четене

Готови ли сте да започнете? Инсталирайте Beancount, направете първия си запис и заменете мъглата на електронните таблици с яснотата на обикновения текст. Приятно счетоводене!