При создании собственной системы учета на платформе «1С:Предприятие» начинающие разработчики часто сталкиваются с трудностями в понимании логики бухгалтерских проводок. Бухгалтерия — это не просто набор цифр, а стройная система, основанная на принципе двойной записи. Рассмотрим, как правильно спроектировать план счетов, отразить хозяйственные операции и получить отчет о прибыльности каждой услуги.
Разберем фундаментальный принцип, заложенный Лукой Пачоли более 500 лет назад: ничто не возникает из ниоткуда и не исчезает бесследно. В 1С это реализуется через механизм проводок, где сумма одновременно записывается в Дебет одного счета и Кредит другого.
Проанализируем важную мысль: счета должны закрываться. Если вы начислили задолженность (например, перед сотрудником по зарплате), она должна быть погашена (выплатой денег). Если вы отразили выручку, она должна быть сопоставлена с затратами для вычисления финансового результата. Если на конец периода на счете, который должен быть «пустым», висит остаток (сальдо), значит, в логике программы допущена ошибка.
Для корректного учета в учебной или небольшой реальной задаче нам потребуется минимальный набор счетов, соответствующий российским стандартам (РСБУ):
Важное замечание: Не следует называть Счет 90 «Капиталом». В классической бухгалтерии капитал — это Счет 80. Для целей нашей задачи Счет 90 лучше определить как «Финансовый результат» или «Продажи».
Рассмотрим пошагово, как должны выглядеть проводки в вашей системе, чтобы расчет прибыли был корректным.
1. Поступление товаров от поставщика
При проведении приходной накладной мы увеличиваем количество товаров и увеличиваем долг перед поставщиком:
Дт 41 — Кт 60 (на сумму закупки).
2. Оказание услуги и списание материалов
Здесь происходит сразу два события: фиксация дохода и отражение расхода материалов.
Выручка (нам должны деньги): Дт 62 — Кт 90 (стоимость услуги для клиента).
Себестоимость (мы потратили товар): Дт 90 — Кт 41 (стоимость товаров по закупочной цене).
3. Начисление и выплата заработной платы
В исходном вопросе была допущена ошибка: Дт 70 — Кт 90. Такая проводка технически означает, что при начислении зарплаты у предприятия якобы растет доход, что абсурдно. Правильная логика начисления (затраты):
Дт 90 — Кт 70 (сумма начисленной ЗП включается в расходы предприятия).
Затем зарплату нужно выплатить, чтобы «закрыть» 70-й счет:
Дт 70 — Кт 50 (деньги ушли из кассы, долг перед сотрудником обнулился).
Выясним, прибыльно ли сработало предприятие за период. Для этого мы анализируем обороты по Счету 90:
В конце месяца разница со счета 90 должна переноситься на Счет 99 (Прибыли и убытки), чтобы 90-й счет обнулился для начала нового периода.
Чтобы понять, выгодна ли конкретная услуга (например, «УЗИ» или «Прием терапевта»), недостаточно общих сумм по счетам. Нам нужна аналитика. В 1С это реализуется через Субконто.
Рассмотрим подробнее настройку:
Счете 90 необходимо добавить вид субконто Номенклатура (или Номенклатурные группы).Дт 62 — Кт 90 в субконто Кредита мы записываем конкретную услугу.Дт 90 — Кт 41 в субконто Дебета мы также записываем ту же самую услугу, под которую списан товар.Проанализируем ситуацию: теперь в отчете «Оборотно-сальдовая ведомость по счету» или «Анализ счета» с детализацией по субконто мы увидим:
Услуга "Прием стоматолога":
- Оборот по Кт (Выручка): 5000 руб.
- Оборот по Дт (Материалы): 1200 руб.
- Оборот по Дт (ЗП врача): 1500 руб.
Итого маржа: 2300 руб.
Посмотрим на пример упрощенного кода формирования движений в документе «Оказание услуги»:
Процедура ОбработкаПроведения(Отказ, Режим)
// 1. Отражаем выручку
Движение = Движения.Хозрасчетный.Добавить();
Движение.СчетДт = ПланыСчетов.Хозрасчетный.ДебиторскаяЗадолженность; // 62
Движение.СчетКт = ПланыСчетов.Хозрасчетный.Продажи; // 90
Движение.Период = Дата;
Движение.Сумма = СуммаДокумента;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекущаяУслуга;
// 2. Списываем себестоимость товаров
Для Каждого СтрокаТовары Из Товары Цикл
Движение = Движения.Хозрасчетный.Добавить();
Движение.СчетДт = ПланыСчетов.Хозрасчетный.Продажи; // 90
Движение.СчетКт = ПланыСчетов.Хозрасчетный.Товары; // 41
Движение.Период = Дата;
Движение.Сумма = СтрокаТовары.Количество * СтрокаТовары.Себестоимость;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекущаяУслуга;
КонецЦикла;
КонецПроцедуры
Используя такой подход, мы обеспечиваем прозрачность учета. Теперь любой стандартный отчет 1С (например, «Оборотно-сальдовая ведомость») покажет вам реальную картину дел на предприятии: кто должен нам, кому должны мы, и какая услуга приносит реальный доход, а какая работает «в минус» из-за высокого расхода материалов или дорогой оплаты труда.