Система двойной бухгалтерии для малого бизнеса
Примечание для LLM: Это перевод документа double-entry-accounting.md на русский язык. Документ не должен редактироваться самостоятельно - все изменения должны производиться только как перевод изменений в английской версии, которая является источником истины.
Это руководство описывает надежную, но простую систему двойной бухгалтерии, которая масштабируется вместе с вашим бизнесом. Наша цель - обеспечить точность и ясность через хорошо структурированный план счетов, журнал транзакций со строгими инвариантами и отдельные инструменты планирования.
1. План счетов
План счетов - это ваша финансовая дорожная карта. Каждый счет имеет уникальный код и роль:
- Активы: То, чем вы владеете (например, наличные, товарные запасы).
- Обязательства: То, что вы должны (например, кредиторская задолженность, начисленные расходы).
- Капитал: Вклады владельцев и нераспределенная прибыль.
- Доходы: Поступления от продаж или услуг.
- Расходы: Понесенные затраты (например, таможенные пошлины, порча, мобильная связь).
Структура кодов счетов
Коды счетов организованы в диапазоны, отражающие их тип:
- 1000-1999: Активы (наличные, запасы, дебиторская задолженность)
- 2000-2999: Обязательства (кредиторская задолженность, займы)
- 3000-3999: Капитал (вклады партнеров, нераспределенная прибыль)
- 4000-4999: Доходы (продажи, прибыль от курсовой разницы)
- 5000-5999: Расходы (таможенные пошлины, порча, мобильная связь)
Первая цифра кода указывает на тип счета, что упрощает подготовку и анализ финансовой отчетности.
Пример структуры счетов:
| Код | Счет | Тип | Примечания |
|---|---|---|---|
| 1001 | Касса (местная валюта) | Актив | Средства в местной валюте |
| 1002 | Касса USD | Актив | Средства в иностранной валюте |
| 1300 | Товарные запасы | Актив | Сырье или готовая продукция |
| 2001 | Кредиторская задолженность | Пассив | Долги поставщикам |
| 2002 | КЗ - Поставщик A | Пассив | Задолженность Поставщику A |
| 2003 | КЗ - Поставщик B | Пассив | Задолженность Поставщику B |
| 3001 | Вклад Партнера A | Капитал | Средства, внесенные Партнером A |
| 3002 | Начальное сальдо | Капитал | Начальные остатки при старте учета |
| 4001 | Прибыль от курсовой разницы | Доход | Прибыль от обмена валюты |
| 5001 | Таможенные расходы | Расход | Пошлины на импорт |
| 5002 | Расходы на порчу | Расход | Убытки от поврежденных товаров |
| 5003 | Расходы на связь | Расход | Оплата услуг связи |
2. Журнал операций и инварианты
Каждая операция состоит из нескольких проводок, которые должны соответствовать трем ключевым инвариантам:
- Инвариант баланса: Каждая операция должна включать как минимум одну дебетовую и одну кредитовую проводку на равные суммы.
- Инвариант полноты: Все обязательные поля (дата, ID операции, код счета, сумма и т.д.) должны быть заполнены.
- Инвариант единственности источника: Каждая проводка должна появляться только один раз в операции; без дубликатов или пропусков.
Пример базовой операции
Рассмотрим простой пример внесения денег Партнером A. Эта операция демонстрирует все инварианты.
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Примечания |
|---|---|---|---|---|---|---|
| 2025-02-01 | TX001 | 1001 | Касса (местная валюта) | 2,000 | Внесение наличных от Партнера A | |
| 2025-02-01 | TX001 | 3001 | Вклад Партнера A | 2,000 | Регистрация вклада Партнера A |
Проверка инвариантов:
- Баланс: Общая сумма дебета (2,000) равна общей сумме кредита (2,000).
- Полнота: Все поля заполнены с четкими примечаниями.
- Единственность источника: Операция TX001 уникально связывает обе проводки с одним событием.
3. Примеры конкретных операций
3.1 Запись начальных остатков
Сценарий: Начало ведения учета с уже имеющимися в кассе 15,000 песо.
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Примечания |
|---|---|---|---|---|---|---|
| 2025-01-01 | TX000 | 1001 | Касса (местная валюта) | 15,000 | Запись имеющейся наличности | |
| 2025-01-01 | TX000 | 3002 | Начальное сальдо | 15,000 | Балансирующая запись для начальных активов |
Примечания:
- Используйте ID операции "TX000" для обозначения начальной записи
- Счет начального сальдо отражает существующие активы/обязательства
- Последующие взносы владельцев должны использовать счета вкладов партнеров
3.2 Внесение иностранной валюты в кассу
Сценарий: Внесение $100 в долларовую кассу по курсу 20 песо/USD; позже снятие по курсу 22 песо/USD.
Внесение (2025-02-01):
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Сумма в валюте | Курс | Примечания |
|---|---|---|---|---|---|---|---|---|
| 2025-02-01 | TX100 | 1002 | Касса USD | 2,000 | $100 | 20 | Внесение по начальному курсу | |
| 2025-02-01 | TX100 | 3001 | Вклад Партнера A | 2,000 | Регистрация вклада партнера |
Снятие (2025-02-10):
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Примечания |
|---|---|---|---|---|---|---|
| 2025-02-10 | TX101 | 1001 | Касса (песо) | 2,200 | Снятие по новому курсу (22 песо/USD) | |
| 2025-02-10 | TX101 | 1002 | Касса USD | 2,000 | Списание актива по первоначальной стоимости | |
| 2025-02-10 | TX101 | 4001 | Прибыль от курсовой разницы | 200 | Регистрация прибыли от разницы курсов |
3.2 Трехсторонняя операция: Смешанное финансирование
Сценарий: Покупка товарных запасов на 6,000 песо. В корпоративной кассе (Счет 1001: Касса местная валюта) только 4,000 песо. Оставшиеся 2,000 песо вносит Партнер A.
Запись в журнале (2025-03-15):
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Примечания |
|---|---|---|---|---|---|---|
| 2025-03-15 | TX600 | 1300 | Товарные запасы | 6,000 | Регистрация покупки товарных запасов | |
| 2025-03-15 | TX600 | 1001 | Касса (местная валюта) | 4,000 | Частичная оплата из корпоративной кассы | |
| 2025-03-15 | TX600 | 3001 | Вклад Партнера A | 2,000 | Партнер покрывает недостающую сумму личными средствами |
Проверка инвариантов:
- Баланс: Общая сумма дебета (6,000) равна общей сумме кредита (4,000 + 2,000).
- Полнота и единственность источника: Все поля заполнены; TX600 уникально идентифицирует эту комбинированную операцию.
3.3 План платежей на несколько месяцев для регулярных расходов
Сценарий: У компании есть контракт на услуги мобильной связи с ежемесячной оплатой. Каждый месяц компания регистрирует расход и обязательство, затем погашает задолженность при осуществлении платежа.
Месяц 1 – Поставщик A (500 песо)
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Поставщик | Примечания |
|---|---|---|---|---|---|---|---|
| 2025-03-31 | TX501 | 5003 | Расходы на связь | 500 | Поставщик A | Начисление платы за Месяц 1 | |
| 2025-03-31 | TX501 | 2002 | КЗ - Поставщик A | 500 | Поставщик A | Регистрация обязательства перед Поставщиком A | |
| 2025-04-05 | TX502 | 2002 | КЗ - Поставщик A | 500 | Поставщик A | Погашение задолженности при оплате | |
| 2025-04-05 | TX502 | 1001 | Касса | 500 | Отток денежных средств для оплаты Поставщику A |
Месяц 2 – Поставщик B (600 песо)
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Поставщик | Примечания |
|---|---|---|---|---|---|---|---|
| 2025-04-30 | TX503 | 5003 | Расходы на связь | 600 | Поставщик B | Начисление платы за Месяц 2 | |
| 2025-04-30 | TX503 | 2003 | КЗ - Поставщик B | 600 | Поставщик B | Регистрация обязательства перед Поставщиком B | |
| 2025-05-05 | TX504 | 2003 | КЗ - Поставщик B | 600 | Поставщик B | Погашение задолженности при оплате | |
| 2025-05-05 | TX504 | 1001 | Касса | 600 | Отток денежных средств для оплаты Поставщику B |
3.4 Кредиторская задолженность за материалы
Сценарий: Компания получает материалы в кредит (5,000 песо) и оплачивает их через месяц.
Получение (2025-02-05)
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Примечания |
|---|---|---|---|---|---|---|
| 2025-02-05 | TX200 | 1300 | Товарные запасы | 5,000 | Получены материалы в кредит | |
| 2025-02-05 | TX200 | 2001 | Кредиторская задолженность | 5,000 | Регистрация обязательства перед поставщиком |
Оплата (2025-02-25)
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Примечания |
|---|---|---|---|---|---|---|
| 2025-02-25 | TX201 | 2001 | Кредиторская задолженность | 5,000 | Погашение обязательства перед поставщиком | |
| 2025-02-25 | TX201 | 1001 | Касса | 5,000 | Отток денежных средств для оплаты поставщику |
3.5 Порча товарных запасов
Сценарий: Компания покупает товарные запасы на сумму 10,000 песо и позже обнаруживает, что 15% из них (1,500 песо) испорчены. Стоимость запасов корректируется соответственно.
Покупка (2025-02-03)
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Примечания |
|---|---|---|---|---|---|---|
| 2025-02-03 | TX300 | 1300 | Товарные запасы | 10,000 | Регистрация покупки запасов | |
| 2025-02-03 | TX300 | 2001 | Кредиторская задолженность/Касса | 10,000 | Запись платежа или обязательства |
Порча (2025-02-20)
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Примечания |
|---|---|---|---|---|---|---|
| 2025-02-20 | TX301 | 5002 | Расходы на порчу | 1,500 | Регистрация 15% потерь от порчи | |
| 2025-02-20 | TX301 | 1300 | Товарные запасы | 1,500 | Корректировка стоимости запасов |
Примечания:
- Расходы на порчу отражают уменьшение пригодных к использованию запасов.
- Компания по-прежнему учитывает полную первоначальную покупку, с дополнительной проводкой расходов на потери.
4. Примеры потерянных операций
Потерянные операции нарушают инвариант единственности источника, что означает, что проводка либо отсутствует, либо продублирована, вызывая несоответствия в журнале операций.
4.1. Отсутствующая кредитовая проводка
Этот сценарий показывает внесение средств партнером, где зарегистрирована только дебетовая сторона, нарушая баланс.
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Примечания |
|---|---|---|---|---|---|---|
| 2025-02-01 | TX001 | 1001 | Касса (местная валюта) | 2,000 | Внесение наличных от Партнера A |
- Проблема: Отсутствует соответствующая кредитовая проводка по счету "Вклад Партнера A".
- Исправление: Добавить отсутствующую кредитовую проводку.
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Примечания |
|---|---|---|---|---|---|---|
| 2025-02-01 | TX001 | 3001 | Вклад Партнера A | 2,000 | Регистрация вклада Партнера A |
4.2: Дублирование проводки
Этот пример показывает платеж поставщику, зарегистрированный дважды, что неправильно увеличивает общую сумму потраченных денежных средств.
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Примечания |
|---|---|---|---|---|---|---|
| 2025-02-05 | TX200 | 2001 | Кредиторская задолженность | 5,000 | Признание обязательства перед поставщиком | |
| 2025-02-25 | TX201 | 2001 | Кредиторская задолженность | 5,000 | Оплата поставщику | |
| 2025-02-25 | TX201 | 1001 | Касса | 5,000 | Отток денежных средств для оплаты поставщику | |
| 2025-02-25 | TX201 | 1001 | Касса | 5,000 | Дублирующая проводка - ОШИБКА |
- Проблема: Платеж был зарегистрирован дважды.
- Исправление: Удалить дублирующую проводку, чтобы отток денежных средств соответствовал фактической операции.
4.3: Обнаружение пропущенного чека
Этот пример показывает, как неучтенные операции могут привести к расхождениям в кассе, которые позже разрешаются.
Первоначальный подсчет наличных (2025-03-20)
Ожидаемый остаток в кассе 10,000 песо, но физический подсчет показывает только 8,700 песо.
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Примечания |
|---|---|---|---|---|---|---|
| 2025-03-20 | TX701 | 5002 | Расходы на порчу | 1,300 | Необъясненная недостача | |
| 2025-03-20 | TX701 | 1001 | Касса | 1,300 | Корректировка по физическому подсчету |
Найден чек (2025-03-22)
Позже обнаруживается неучтенный чек на офисные принадлежности.
| Дата | ID операции | Код счета | Счет | Дебет (песо) | Кредит (песо) | Примечания |
|---|---|---|---|---|---|---|
| 2025-03-15 | TX702 | 5003 | Офисные расходы | 1,000 | Найден чек на покупку принадлежностей | |
| 2025-03-15 | TX702 | 1001 | Касса | 1,000 | Запись отложенной операции | |
| 2025-03-22 | TX703 | 1001 | Касса | 1,000 | Сторнирование части неизвестной недостачи | |
| 2025-03-22 | TX703 | 5002 | Расходы на порчу | 1,000 | Уменьшение неизвестных расходов после находки чека |
- Проблема: Физический подсчет кассы выявил недостачу, изначально учтенную как убыток.
- Решение: Обнаружение чека объяснило большую часть недостачи, оставив только 300 песо как истинную неизвестную потерю.
- Вывод: Внедрить обработку чеков в тот же день для предотвращения подобных проблем.
5. Сводные таблицы и бюджетное планирование
Сводные таблицы: Используйте сводные таблицы для агрегации данных операций. Создавайте оборотно-сальдовые ведомости, отчеты о прибылях и убытках и балансы путем фильтрации типов счетов. Сводные таблицы также помогают выявлять нарушения инвариантов, когда итоги не сходятся.
Вкладка бюджета/прогноза: Этот уровень планирования отделен от журнала операций. Используйте его для прогнозирования будущих расходов и доходов (например, регулярные платежи за связь, ожидаемые импортные расходы). Формулы могут автоматически заполнять повторяющиеся элементы, но бюджет никогда не влияет на исторические операции.
5.1 Пример бюджета на следующие три месяца
| Месяц | Категория | Планируемые расходы (песо) | Примечания |
|---|---|---|---|
| 2025-03 | Аренда | 15,000 | Аренда офиса |
| 2025-03 | Зарплаты | 50,000 | Зарплаты сотрудников |
| 2025-03 | Маркетинг | 10,000 | Реклама и продвижение |
| 2025-04 | Аренда | 15,000 | Фиксированные расходы |
| 2025-04 | Зарплаты | 50,000 | Фиксированные расходы |
| 2025-04 | Маркетинг | 8,000 | Сокращение рекламных расходов |
| 2025-05 | Аренда | 15,000 | Фиксированные расходы |
| 2025-05 | Зарплаты | 50,000 | Фиксированные расходы |
| 2025-05 | Маркетинг | 12,000 | Увеличение из-за сезонного спроса |
Примечания:
- Бюджет отделен от журнала операций и используется только для планирования.
- Фактические расходы в журнале операций будут сравниваться с бюджетом для отслеживания отклонений.
- Корректировки могут вноситься ежемесячно в зависимости от колебаний доходов.
6. Автоматические проверки в Google Sheets
Примечание: Формулы в этом разделе приведены на английском языке, так как они должны использоваться именно в таком виде в Google Sheets. Описания и пояснения переведены на русский язык.
Эти формулы помогают выявлять ошибки на ранней стадии путем автоматической проверки операций при их вводе.
6.1 Проверка кода счета
Используйте проверку данных для обеспечения ввода только действительных кодов счетов:
- При использовании формальной таблицы Google Sheets: ссылайтесь на столбец напрямую через
=Счета[Код] - При использовании обычных диапазонов: создайте именованный диапазон
КодыСчетовиз кодов в вашем Плане счетов - В журнале операций выберите столбец Код счета
- Данные → Проверка данных → Список из диапазона → Используйте либо
=КодыСчетов, либо=ПланСчетов.Код
Формула для обнаружения недействительных кодов:
=IF(COUNTIF(AccountCodes, B2)=0, "Invalid Code", "")
6.2 Поиск наименования счета
Автоматическое отображение наименований счетов на основе кодов:
=IF(B2="", "", VLOOKUP(B2, ChartOfAccounts, 2, FALSE))
Где:
- B2 - ячейка с кодом счета
- ChartOfAccounts - именованный диапазон, включающий коды и наименования
- 2 относится к столбцу, содержащему наименования счетов
6.3 Проверка баланса операции
Для каждого ID операции проверьте равенство дебета и кредита:
=IF(SUMIFS(DebitColumn, TransactionIDColumn, D2) = SUMIFS(CreditColumn, TransactionIDColumn, D2), "Balanced", "ERROR")
Добавьте условное форматирование для выделения несбалансированных операций:
- Выберите всю строку операции
- Формат → Условное форматирование → Добавить правило
- Правила форматирования:
- Применить к диапазону: Выберите все столбцы в журнале операций
- Формат ячеек, если... Пользовательская формула:
=SUMIFS($DebitColumn, $TransactionIDColumn, $D2) <> SUMIFS($CreditColumn, $TransactionIDColumn, $D2)- Стиль форматирования:
- Красный фон: #F4CCCC
- Красный текст: #990000
- Жирный текст
- Это выделит всю строку для любой операции, где дебет не равен кредиту
6.4 Проверка полноты
Отметка отсутствующих обязательных полей:
=IF(OR(ISBLANK(A2), ISBLANK(B2), ISBLANK(C2)), "Missing Data", "")
6.5 Проверка текущего баланса
Для кассовых счетов поддерживайте текущий баланс:
=SUMIFS(DebitColumn, AccountCodeColumn, "1001") - SUMIFS(CreditColumn, AccountCodeColumn, "1001")
Добавьте условное форматирование для выделения отрицательных балансов.
Заключение
Журнал операций всегда должен соответствовать инвариантам баланса, полноты и единственности источника. Ошибки, такие как потерянные операции (отсутствующие проводки) и дублирующиеся операции, могут вызвать серьезные несоответствия и должны быть исправлены немедленно.
Вкладка бюджета служит отдельным инструментом планирования и никогда не влияет на фактически зарегистрированные операции. Она позволяет бизнесу прогнозировать будущие расходы и сравнивать фактические результаты с ожиданиями.
При правильном поддержании этих структур малый бизнес может обеспечить ясный, точный и масштабируемый бухгалтерский учет.