-
Notifications
You must be signed in to change notification settings - Fork 0
14. Метод двойной записи, Простой текстовый учет (Plain Text Accounting)
← Вернуться на главную
← Назад: 13. Уравнения в бухгалтерском учете (Accounting Equations)
Итак, теперь мы понимаем метод и то, что он может сделать для нас, по крайней мере, в теории. Назначение бухгалтерской системы двойной записи - дать возможность реплицировать транзакции, которые происходят на различных счетах реального мира, в единую, унифицированную систему, в общем представлении, и извлекать из этих данных различные представления и отчеты. Теперь обратим внимание на то, как мы записываем эти данные на практике.
В этом документе речь идет о Beancount, целью которого является "двойной вход в бухгалтерию с использованием текстовых файлов". Beancount реализует парсер для простого синтаксиса, который позволяет записывать транзакции и проводки. Синтаксис для примера транзакции выглядит примерно так:
2016-12-06 * "Biang!" "Dinner"
Liabilities:CreditCard -47.23 USD
Expenses:Restaurants
Вы записываете много таких деклараций в файл, а Beancount считывает их и создает соответствующие структуры данных в памяти.
Проверка (Verification). После парсинга транзакций Beancount также проверяет правило метода двойной записи: он проверяет, что сумма сообщений по всем вашим транзакциям равна нулю. Если вы сделаете ошибку и запишете транзакцию с ненулевым балансом, то будет отображена ошибка.
Балансовые утверждения (Balance Assertions). Beancount позволяет реплицировать балансы, объявленные с внешних счетов, например, баланс, написанный на ежемесячной выписке. Он обрабатывает их и проверяет, совпадают ли остатки, полученные от ваших входных операций, с заявленными остатками. Это помогает легко обнаруживать и находить ошибки.
Плагины (Plugins). Beancount позволяет создавать программы, которые могут автоматизировать и/или обрабатывать потоки транзакций во входных файлах. Вы можете построить пользовательскую функциональность, написав код, который непосредственно обрабатывает поток транзакций.
Запрос и отчетность (Querying & Reporting). Он предоставляет инструменты для последующей обработки этого потока транзакций для получения отчетов, о которых мы говорили ранее в этом документе.
Есть еще несколько деталей, например, Beancount позволяет отслеживать стоимость и производить конвертацию валюты, но в этом ее суть.
Welcome to the publictranslations wiki!