В работе с 1С:Предприятие термин «перерасчет» встречается едва ли не ежедневно — будь то корректировка зарплаты, пересчет себестоимости или исправление ошибок в налоговых регистрах. Однако за внешней простотой этого понятия скрываются десятки нюансов: от технических механизмов до бухгалтерских последствий. Почему перерасчет в одних случаях занимает секунды, а в других — требует ручного вмешательства? Когда система выполняет его автоматически, а когда нужно запускать процесс вручную? И главное — как избежать ошибок, которые потом придется исправлять месяцами?
Эта статья не просто объяснит, что такое перерасчет в 1С, но и раскроет его «подводные камни»: от различий между 1С:Бухгалтерией, 1С:Зарплатой и 1С:Управлением торговлей до специфики работы с документами ретроспективной даты. Мы разберем реальные кейсы — например, что делать, если перерасчет зарплаты «сбил» налоги или как исправить расхождения в себестоимости после закрытия месяца. А для программистов приведём примеры кода, которые автоматизируют рутинные операции.
Важно: перерасчет — это не универсальная «волшебная кнопка», а инструмент, который требует понимания его логики. Ошибки здесь обходятся дорого: от штрафов за неверную отчетность до потери доверия сотрудников из-за некорректных выплат. Поэтому статья построена так, чтобы вы могли сразу применить знания на практике — с чек-листами, предупреждениями и пошаговыми инструкциями.
1. Что такое перерасчет в 1С: определение и ключевые принципы
В контексте 1С:Предприятие перерасчет — это процесс повторного вычисления данных с учетом новых условий, исправленных ошибок или ретроспективных изменений. Он может затрагивать:
- 💰 Зарплатные начисления (например, при изменении оклада с обратной силой или исправлении больничного листа).
- 📊 Налоговые регистры (пересчет НДС, налога на прибыль после корректировки первичных документов).
- 📦 Себестоимость товаров (при изменении метода оценки запасов или ретроактивном списании).
- 📅 Графики работы (пересчет отработанного времени при изменении табеля).
Ключевая особенность перерасчета в 1С — его нелинейная зависимость от даты документов. Например, если вы исправили документ «Начисление зарплаты» за январь в марте, система должна не только пересчитать январские начисления, но и скорректировать:
- 📑 НДФЛ и страховые взносы за январь (и, возможно, февраль, если ошибка повлияла на кумулятивные показатели).
- 📈 Регистры накопления по сотрудникам (например, для расчета среднего заработка).
- 💼 Отчетность (РСВ, 6-НДФЛ, 4-ФСС), если период уже закрыт.
При этом логика перерасчета отличается в разных конфигурациях:
| Конфигурация | Типичные объекты перерасчета | Особенности механизма |
|---|---|---|
| 1С:Бухгалтерия 8 | Налоговые регистры, операции по счетам, амортизация ОС | Перерасчет запускается при проведении документов с ретроспективной датой или ручном исправлении регистров. |
| 1С:Зарплата и Управление Персоналом | Начисления, удержания, средний заработок, взносы | Автоматический перерасчет при изменении плановых начислений (например, оклада) с обратной датой. |
| 1С:Управление Торговлей | Себестоимость, цены номенклатуры, скидки | Перерасчет себестоимости может требовать закрытия периода и ручного запуска процедуры. |
⚠️ Внимание: В 1С:ЗУП перерасчет зарплаты за прошлые периоды может привести к автоматическому пересчету налогов и взносов, даже если это не требуется по законодательству. Всегда проверяйте результаты в отчетах «Анализ начислений» и «Свод по взносам»!
2. Виды перерасчетов в 1С: когда и какой нужен
Не все перерасчеты одинаковы. Их можно классифицировать по нескольким критериям:
2.1. По инициатору процесса
- 🤖 Автоматический — запускается системой при проведении документов с ретроспективной датой (например, исправление табеля за прошлый месяц).
- 👨💼 Ручной — иницируется пользователем через специальные обработки (например, «Перерасчет зарплаты» в 1С:ЗУП).
- 🔄 Регламентный — выполняется по расписанию (например, ежемесячный пересчет себестоимости в 1С:УТ).
2.2. По объекту изменения
Здесь ключевое отличие — что именно пересчитывается:
- 💵 Денежные начисления (зарплата, премии, больничные).
- 📉 Налоговые обязательства (НДФЛ, взносы, НДС).
- 📦 Товарные остатки (себестоимость, количественный учет).
- ⏳ Временные показатели (отработанное время, графики).
Например, если в 1С:ЗУП вы изменили оклад сотрудника с обратной датой, система автоматически пересчитает:
- Начисления по окладу за все затронутые периоды.
- Средний заработок (если он зависел от оклада).
- НДФЛ и страховые взносы (с учетом кумулятивных баз).
А вот в 1С:Управление Торговлей перерасчет себестоимости при изменении цены поставщика с обратной датой не всегда происходит автоматически. Часто требуется:
- Закрыть период (через документ «Закрытие месяца»).
- Запустить обработку «Перерасчет себестоимости».
- Проверить расхождения в отчете «Ведомость по товарам».
⚠️ Внимание: В 1С:Бухгалтерии 8.3 при перерасчете налогов за прошлые периоды система может автоматически сформировать корректировочные декларации. Перед отправкой в ИФНС всегда сверяйте данные с первичными документами!
3. Как сделать перерасчет в 1С: пошаговые инструкции
Алгоритм зависит от конфигурации и объекта перерасчета. Разберем три самых распространенных сценария.
3.1. Перерасчет зарплаты в 1С:ЗУП
Допустим, вы обнаружили, что оклад сотрудника был занижен с января, а исправляете ошибку в марте. Порядок действий:
- Откройте документ «Кадровый перевод» или «Прием на работу» за январь и исправьте оклад.
- Перепроведите документ. Система предложит пересчитать начисления:
Перерасчитать начисления за период с 01.01.2026 по 31.03.2026?Нажмите «Да».
- Проверьте результаты в отчете «Анализ начислений» (раздел «Зарплата» → «Отчеты по зарплате»).
- Если перерасчет затронул налоги, сформируйте уточненные декларации (6-НДФЛ, РСВ).
Исправить первичный документ (приказ, табель)
Перепровести документ с подтверждением перерасчета
Проверить отчет "Анализ начислений"
Сверить НДФЛ и взносы в "Своде по взносам"
Сформировать уточненную отчетность (при необходимости)-->
3.2. Перерасчет себестоимости в 1С:УТ
Если вы изменили цену поставщика с обратной датой или обнаружили ошибку в поступлении товаров, себестоимость может «разъехаться». Чтобы исправить:
- Закройте месяц документа «Закрытие месяца» (раздел «Склад» → «Закрытие периода»).
- Откройте обработку «Перерасчет себестоимости» (
Сервис → Регламентные операции → Перерасчет себестоимости). - Укажите период перерасчета и нажмите «Выполнить».
- Проверьте результаты в отчете «Ведомость по товарам» (фильтр по датам перерасчета).
Если после перерасчета остались расхождения, воспользуйтесь отчетом «Анализ состояния себестоимости» (Отчеты → Склад → Анализ себестоимости). Обратите внимание на столбцы:
- 📌 Количество по учету — должно совпадать с фактическими остатками.
- 💰 Сумма по учету — проверьте, что себестоимость пересчитана корректно.
- ⚠️ Расхождения — если есть значения, требуется ручная корректировка.
3.3. Перерасчет налогов в 1С:Бухгалтерия
При исправлении первичных документов (например, счетов-фактур) за прошлые периоды:
- Исправьте документ (например, «Поступление товаров») и перепроведите его.
- Запустите обработку «Проверка и исправление учета» (
Сервис → Проверка учета). - В отчете «Анализ счетов» (
Отчеты → Стандартные → Анализ счета) проверьте счета 68 («Налоги») и 19 («НДС»). - Если требуется корректировка деклараций, используйте документ «Корректировка декларации» (раздел «Налоги»).
Перед массовым перерасчетом налогов сделайте резервную копию базы! В 1С:Бухгалтерии для этого используйте команду Администрирование → Выгрузка/загрузка → Выгрузить данные.
4. Типичные ошибки при перерасчете и как их избежать
Даже опытные пользователи 1С сталкиваются с проблемами при перерасчетах. Вот самые распространенные ошибки и способы их предотвращения:
4.1. «Зацикливание» перерасчета
Симптомы: система бесконечно пересчитывает одни и те же документы, или процесс «зависает».
Причины и решения:
- 🔄 Ретроспективные документы без даты — проверьте, что у всех документов проставлена корректная дата.
- 📅 Нарушение последовательности — перерасчет должен идти от более ранних документов к поздним. Используйте обработку «Проверка последовательности документов».
- 🔧 Ошибки в конфигурации — если проблема повторяется, проверьте логику модулей документов (для программистов).
4.2. Некорректный перерасчет НДФЛ
Частая проблема: после перерасчета зарплаты НДФЛ считается неверно (например, не учитывается стандартный вычет).
Что делать:
- Проверьте настройки вычетов в карточке сотрудника (
Кадры → Сотрудники → НДФЛ). - Запустите отчет «Анализ НДФЛ» и сравните данные с налоговой карточкой.
- Если ошибка сохраняется, используйте документ «Корректировка НДФЛ» (
Зарплата → Корректировка НДФЛ).
4.3. Расхождения в себестоимости после перерасчета
Если после перерасчета себестоимости остатки не сходятся, проверьте:
- 📦 Движения документов — откройте документ «Поступление товаров» и посмотрите движения по регистру «Товары на складах».
- 🔄 Порядок списания — в настройках учета (
Администрирование → Настройки программы → Учет товаров) проверьте метод оценки (ФИФО, средняя и т.д.). - 📑 Ручные корректировки — если ранее вносились исправления вручную, они могли «сбить» автоматику.
Что делать, если перерасчет "сбил" закрытие месяца?
Если после перерасчета не закрывается месяц в 1С:УТ или 1С:Бухгалтерии, выполните следующие шаги:
1. Отмените закрытие месяца (документ «Закрытие месяца» → «Отменить проведение»).
2. Запустите обработку «Проверка учета» (Сервис → Проверка учета).
3. Исправьте ошибки, указанные в отчете.
4. Повторно закройте месяц.
Если проблема сохраняется, проверьте последовательность документов — возможно, есть ретроспективные документы, которые «ломают» логику закрытия.
⚠️ Внимание: В 1С:ЗУП 3.1 при перерасчете зарплаты за прошлые периоды система может автоматически аннулировать ранее выданные авансы, что приведет к двойному удержанию в текущем месяце. Всегда сверяйте ведомость по выплатам!
5. Перерасчет с точки зрения программиста: автоматизация и нюансы
Для разработчиков 1С перерасчет — это не только интерфейсные обработки, но и работа с регистрами накопления, последовательностями документов и транзакциями. Разберем ключевые моменты.
5.1. Механизм перерасчета в коде
При проведении документа с ретроспективной датой 1С автоматически запускает процедуру перерасчета для зависимых регистров. Логика описывается в модуле документа, например:
Процедура ОбработкаПроведения(Отказ, Режим)
Если Режим = РежимПроведенияДокумента.Оперативный Тогда
ПерерасчетЗависимыхРегистров(ДатаДокумента);
КонецЕсли;
КонецПроцедуры
Для ручного перерасчета можно использовать метод ПерерасчетРегистровНакопления():
ПерерасчетРегистровНакопления(
ДатаНачала, ДатаОкончания,
"РегистрНакопления.НДФЛРасчетыСФизЛицами"
);
5.2. Типичные задачи для программистов
- 🔧 Массовый перерасчет — например, корректировка окладов для группы сотрудников с обратной датой.
- 📊 Отчеты по расхождениям — создание кастомных отчетов для анализа результатов перерасчета.
- 🔄 Интеграция с внешними системами — например, синхронизация пересчитанных данных с банк-клиентом для выплат.
Пример кода для массового перерасчета зарплаты:
Процедура МассовыйПерерасчетЗарплаты(ДатаНачала, ДатаОкончания)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗарплатаКПерерасчету.Сотрудник КАК Сотрудник,
| ЗарплатаКПерерасчету.Период КАК Период
|ИЗ
| Документ.НачислениеЗарплаты КАК ЗарплатаКПерерасчету
|ГДЕ
| ЗарплатаКПерерасчету.Период МЕЖДУ &ДатаНачала И &ДатаОкончания";
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
Результат = Запрос.Выполнить();
Пока Результат.Следующий() Цикл
Документ = Результат.Период.ПолучитьОбъект();
Документ.Перепровести();
КонецЦикла;
КонецПроцедуры
НачатьТранзакцию();
Попытка
// Код перерасчета
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
Сообщить(ОписаниеОшибки());
КонецПопытки;-->
5.3. Оптимизация производительности
Перерасчет больших объемов данных может занимать часы. Чтобы ускорить процесс:
- 📈 Используйте пакетное проведение — разбивайте перерасчет на части по периодам.
- 🔧 Отключайте ненужные регистры — если перерасчет затрагивает только зарплату, нет смысла обновлять товарные регистры.
- 🖥️ Запускайте в фоновом режиме — для этого подходит механизм
ФоновыеЗадания.
⚠️ Внимание: При программном перерасчете в 1С:ЗУП не забывайте обновлять регистр СведенияОТрудовыхДоговорах — иначе средний заработок для больничных и отпусков будет считаться некорректно!
6. Перерасчет и законодательство: что говорит закон
Перерасчеты в 1С должны учитывать не только технические нюансы, но и законодательные требования. Разберем ключевые моменты.
6.1. Перерасчет зарплаты
Согласно ст. 137 ТК РФ, удержания из зарплаты возможны только в строго определенных случаях. Если перерасчет приводит к излишней выплате, работодатель может удержать сумму только при соблюдении условий:
- 📅 Срок удержания — не позднее 1 месяца со дня окончания срока, установленного для возврата излишне выплаченной суммы.
- 💰 Размер удержания — не более 20% от выплаты (в исключительных случаях — 50%).
- 📝 Согласие сотрудника — если сумма ошибки превышает средний месячный заработок.
В 1С это реализовано через документ «Удержание из зарплаты» (Зарплата → Удержания). При перерасчете с излишней выплатой система предложит создать такое удержание автоматически.
6.2. Перерасчет налогов и взносов
Если перерасчет затрагивает налоги (НДФЛ, страховые взносы), необходимо:
- Сформировать уточненные декларации (6-НДФЛ, РСВ, 4-ФСС).
- Уплатить пени за просрочку (если перерасчет увеличил налоговую базу).
- Подать пояснения в ИФНС, если перерасчет привел к уменьшению налогов.
В 1С:Бухгалтерии для этого используйте:
- 📑 Документ «Корректировка декларации» (
Налоги → Корректировка деклараций). - 📊 Отчет «Анализ расчетов с бюджетом» для проверки пеней.
6.3. Перерасчет себестоимости и бухгалтерская отчетность
Согласно ПБУ 5/01, изменение себестоимости должно отражаться в учете того периода, к которому оно относится. Если перерасчет затрагивает прошлые периоды:
- 📅 В бухгалтерском учете корректировки вносятся записями по соответствующим счетам (например, 41 «Товары», 90 «Продажи»).
- 📊 В налоговом учете может потребоваться уточненная декларация по налогу на прибыль.
В 1С это реализуется через:
- 📑 Документ «Операция (бухгалтерский и налоговый учет)» для ручных корректировок.
- 🔄 Обработку «Закрытие месяца» с флагом «Перерасчет себестоимости».
⚠️ Внимание: При перерасчете себестоимости в 1С:УТ проверьте, не изменилась ли валовая прибыль за прошлые периоды. Если да — потребуется корректировка декларации по налогу на прибыль!
7. Частые вопросы и ответы (FAQ)
❓ Как отменить перерасчет, если он был сделан ошибочно?
Если перерасчет был запущен ошибочно, вернуть данные в исходное состояние можно следующими способами:
- Восстановите базу из резервной копии (если перерасчет затрагивал критичные данные).
- Используйте документ «Отмена проведения» для документов, которые инициировали перерасчет.
- В 1С:ЗУП для отмены перерасчета зарплаты воспользуйтесь обработкой «Восстановление последовательности документов».
Важно: если после перерасчета уже сформирована отчетность, отмена может привести к расхождениям с данными в ИФНС.
❓ Почему после перерасчета зарплаты не изменился НДФЛ?
Причины могут быть следующими:
- 📅 В карточке сотрудника не указан стандартный вычет (проверьте в
Кадры → Сотрудники → НДФЛ). - 🔄 Перерасчет не затронул кумулятивную базу (например, если оклад изменился, но сумма начислений за год не превысила порог для вычетов).
- 📝 В документе «Начисление зарплаты» не установлен флаг «Пересчитывать НДФЛ».
Чтобы исправить:
- Откройте документ «Начисление зарплаты» и нажмите «Пересчитать НДФЛ».
- Проверьте отчет «Анализ НДФЛ» на предмет расхождений.
❓ Можно ли сделать перерасчет только для одного сотрудника?
Да, в 1С:ЗУП это реализовано через:
- Документ «Корректировка начислений» (
Зарплата → Корректировка начислений) — позволяет изменить начисления для конкретного сотрудника. - Обработку «Перерасчет зарплаты» с фильтром по сотруднику.
В 1С:Бухгалтерии для перерасчета налогов по одному контрагенту используйте отчет «Анализ счета» с фильтром по субконто (например, по сотруднику или поставщику).
❓ Что делать, если перерасчет "сбил" закрытие месяца?
Если после перерасчета не закрывается месяц, выполните следующие шаги:
- Отмените закрытие месяца (документ «Закрытие месяца» → «Отменить проведение»).
- Запустите обработку «Проверка учета» (
Сервис → Проверка учета). - Исправьте ошибки, указанные в отчете (обычно это некорректные движения по регистрам).
- Повторно закройте месяц.
Если проблема сохраняется, проверьте последовательность документов — возможно, есть ретроспективные документы, которые «ломают» логику закрытия.
❓ Как пересчитать себестоимость, если в базе миллион документов?
Для крупных баз используйте следующие подходы:
- 📅 Разбейте на периоды — пересчитывайте данные помесячно, начиная с самого раннего.
- 🕒 Запускайте ночью — используйте фоновые задания (
Администрирование → Фоновые задания). - 🔧 Отключите ненужные регистры — в настройках обработки «Перерасчет себестоимости» снимите флажки с регистров, которые не затрагивает корректировка.
- 🖥️ Используйте сервер 1С — для ускорения распределите нагрузку на кластер серверов.
Пример кода для пакетного перерасчета:
Для Месяц = НачалоГода(ТекущаяДата()) По ТекущаяДата() Цикл
ДатаНачала = НачалоМесяца(Месяц);
ДатаОкончания = КонецМесяца(Месяц);
ПерерасчетСебестоимости(ДатаНачала, ДатаОкончания);
КонецЦикла;