Как правильно организовать бухгалтерский учет и расчет прибыли в самописной конфигурации 1С

Программист 1С v8.3 (Управляемые формы) Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При создании собственной системы учета на платформе «1С:Предприятие» начинающие разработчики часто сталкиваются с трудностями в понимании логики бухгалтерских проводок. Бухгалтерия — это не просто набор цифр, а стройная система, основанная на принципе двойной записи. Рассмотрим, как правильно спроектировать план счетов, отразить хозяйственные операции и получить отчет о прибыльности каждой услуги.

Основы двойной записи и принцип «закрытия» счетов

Разберем фундаментальный принцип, заложенный Лукой Пачоли более 500 лет назад: ничто не возникает из ниоткуда и не исчезает бесследно. В 1С это реализуется через механизм проводок, где сумма одновременно записывается в Дебет одного счета и Кредит другого.

Проанализируем важную мысль: счета должны закрываться. Если вы начислили задолженность (например, перед сотрудником по зарплате), она должна быть погашена (выплатой денег). Если вы отразили выручку, она должна быть сопоставлена с затратами для вычисления финансового результата. Если на конец периода на счете, который должен быть «пустым», висит остаток (сальдо), значит, в логике программы допущена ошибка.

Проектирование плана счетов

Для корректного учета в учебной или небольшой реальной задаче нам потребуется минимальный набор счетов, соответствующий российским стандартам (РСБУ):

Важное замечание: Не следует называть Счет 90 «Капиталом». В классической бухгалтерии капитал — это Счет 80. Для целей нашей задачи Счет 90 лучше определить как «Финансовый результат» или «Продажи».

Логика хозяйственных операций и проводок

Рассмотрим пошагово, как должны выглядеть проводки в вашей системе, чтобы расчет прибыли был корректным.

1. Поступление товаров от поставщика
При проведении приходной накладной мы увеличиваем количество товаров и увеличиваем долг перед поставщиком:
Дт 41 — Кт 60 (на сумму закупки).

2. Оказание услуги и списание материалов
Здесь происходит сразу два события: фиксация дохода и отражение расхода материалов.
Выручка (нам должны деньги): Дт 62 — Кт 90 (стоимость услуги для клиента).
Себестоимость (мы потратили товар): Дт 90 — Кт 41 (стоимость товаров по закупочной цене).

3. Начисление и выплата заработной платы
В исходном вопросе была допущена ошибка: Дт 70 — Кт 90. Такая проводка технически означает, что при начислении зарплаты у предприятия якобы растет доход, что абсурдно. Правильная логика начисления (затраты):
Дт 90 — Кт 70 (сумма начисленной ЗП включается в расходы предприятия).

Затем зарплату нужно выплатить, чтобы «закрыть» 70-й счет:
Дт 70 — Кт 50 (деньги ушли из кассы, долг перед сотрудником обнулился).

Как рассчитать прибыль предприятия

Выясним, прибыльно ли сработало предприятие за период. Для этого мы анализируем обороты по Счету 90:

  1. Смотрим Кредитовый оборот счета 90 — это вся наша выручка от оказанных услуг.
  2. Смотрим Дебетовый оборот счета 90 — это сумма всех затрат (себестоимость материалов + начисленная зарплата + прочие расходы).
  3. Вычитаем из Кредита Дебет. Если результат положительный — у нас Прибыль. Если отрицательный — Убыток.

В конце месяца разница со счета 90 должна переноситься на Счет 99 (Прибыли и убытки), чтобы 90-й счет обнулился для начала нового периода.

Аналитика по каждой услуге: использование Субконто

Чтобы понять, выгодна ли конкретная услуга (например, «УЗИ» или «Прием терапевта»), недостаточно общих сумм по счетам. Нам нужна аналитика. В 1С это реализуется через Субконто.

Рассмотрим подробнее настройку:

Проанализируем ситуацию: теперь в отчете «Оборотно-сальдовая ведомость по счету» или «Анализ счета» с детализацией по субконто мы увидим:


Услуга "Прием стоматолога":
- Оборот по Кт (Выручка): 5000 руб.
- Оборот по Дт (Материалы): 1200 руб.
- Оборот по Дт (ЗП врача): 1500 руб.
Итого маржа: 2300 руб.

Реализация в коде (пример)

Посмотрим на пример упрощенного кода формирования движений в документе «Оказание услуги»:


Процедура ОбработкаПроведения(Отказ, Режим)
    // 1. Отражаем выручку
    Движение = Движения.Хозрасчетный.Добавить();
    Движение.СчетДт = ПланыСчетов.Хозрасчетный.ДебиторскаяЗадолженность; // 62
    Движение.СчетКт = ПланыСчетов.Хозрасчетный.Продажи; // 90
    Движение.Период = Дата;
    Движение.Сумма = СуммаДокумента;
    Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекущаяУслуга;

    // 2. Списываем себестоимость товаров
    Для Каждого СтрокаТовары Из Товары Цикл
        Движение = Движения.Хозрасчетный.Добавить();
        Движение.СчетДт = ПланыСчетов.Хозрасчетный.Продажи; // 90
        Движение.СчетКт = ПланыСчетов.Хозрасчетный.Товары; // 41
        Движение.Период = Дата;
        Движение.Сумма = СтрокаТовары.Количество * СтрокаТовары.Себестоимость;
        Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекущаяУслуга;
    КонецЦикла;
КонецПроцедуры

Используя такой подход, мы обеспечиваем прозрачность учета. Теперь любой стандартный отчет 1С (например, «Оборотно-сальдовая ведомость») покажет вам реальную картину дел на предприятии: кто должен нам, кому должны мы, и какая услуга приносит реальный доход, а какая работает «в минус» из-за высокого расхода материалов или дорогой оплаты труда.

← На главную