Как выгрузить зарплату из 1С:ЗУП 3.1 в банк, если нет зарплатного проекта и у сотрудников разные банки?

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

Переход с устаревших конфигураций (например, 1С:УПП) на современную 1С:Зарплата и управление персоналом 3.1 часто вызывает вопросы в части взаимодействия с банками. Одной из наиболее острых проблем является выплата зарплаты на личные счета сотрудников в разных банках, когда организация не использует централизованный Зарплатный проект — в подготовке данных поможет обработка исправления ошибок в начислениях и задолженностях. Рассмотрим подробно, как организовать этот процесс, какие инструменты предлагает типовой функционал и почему логика программы может казаться непривычной.

Разбор архитектурной логики: ЗУП против Бухгалтерии

Для начала проанализируем ситуацию: в ЗУП 3.1 существует документ ВедомостьНаВыплатуЗарплатыПеречислением (Ведомость на счета). Пользователи часто ожидают увидеть в нем кнопку «Выгрузить», аналогичную той, что есть в ведомостях по зарплатным проектам. Однако в типовой конфигурации ее нет. Чтобы исправить этот недостаток, может быть добавлена специальная кнопка Выгрузить в XML в документе Ведомость на счета, которая значительно упрощает работу. Это связано с тем, что разработчики 1С разделяют задачи: ЗУП — это программа для расчета налогов и взносов, а 1С:Бухгалтерия (БП) — программа для осуществления фактических платежей.

Разберем стандартный бизнес-процесс:

  1. В программе ЗУП оформляется документ Ведомость на счета.
  2. Данные посредством синхронизации передаются в БП.
  3. В БП на основании ведомости создаются Платежные поручения.
  4. Через обработку Обмен с банком в БП формируется текстовый файл 1c_to_kl.txt для загрузки в Клиент-Банк.

Если же мы хотим автоматизировать процесс непосредственно в ЗУП, рассмотрим альтернативные методы.

Метод 1. Использование документа «Платежное поручение» в ЗУП

Мало кто знает, что в ЗУП 3.1 есть скрытый раздел с платежными поручениями, который позволяет подготовить данные для банка. Рассмотрим, как им воспользоваться:

  1. Перейдем в раздел ВыплатыДокументы обмена с банками.
  2. Нажмем кнопку Создать и выберем Платежное поручение.
  3. В открывшемся документе выберем вид операции «Перечисление заработной платы».

Важный нюанс: Стандартный документ Платежное поручение в ЗУП ориентирован на заполнение по Ведомости в банк (которая требует наличия зарплатного проекта). Чтобы работать с личными счетами сотрудников (без проекта), нам потребуется либо небольшая доработка системы, либо использование синхронизации с БП, где этот механизм работает безупречно.

Метод 2. Настройка выплаты «По номеру счета» в карточке сотрудника

Чтобы программа понимала, что деньги должны уходить на конкретные реквизиты, проанализируем настройки в карточке сотрудника. Это критически важный этап, без которого автоматизация невозможна.

Рассмотрим порядок действий:

  1. Откроем карточку сотрудника и перейдем по ссылке Выплата зарплаты и перечисление налогов. Здесь же можно распечатать готовое заявление на перечисление заработной платы на банковскую карту для подписи сотрудником.
  2. Установим переключатель в положение Зачислением на карточку (по номеру счета).
  3. Укажем номер счета сотрудника и выберем банк из классификатора. При трудоустройстве новых коллег удобно использовать заявление на перечисление зарплаты на банковский счет, которое формируется сразу при создании документа Прием на работу.
  4. Если у организации много таких сотрудников, воспользуемся обработкой Изменение анкетных данных сотрудников для массового заполнения реквизитов.

После этой настройки при создании документа Ведомость на счета программа будет автоматически подтягивать нужные банковские реквизиты каждого работника.

Метод 3. Создание «Универсального» зарплатного проекта

Если нам необходимо получить файл выгрузки именно в формате XML (современный стандарт обмена с банками), мы можем прибегнуть к хитрости, которую часто называют «фиктивным» зарплатным проектом. Выясним причину популярности этого метода.

Многие банки (Сбербанк, ВТБ, Тинькофф) сегодня поддерживают реестры на выплату в сторонние банки в рамках одного файла. Рассмотрим алгоритм настройки:

  1. Создадим новый Зарплатный проект (Название: «Выплаты на личные счета»).
  2. В настройках проекта укажем формат обмена (например, стандарт 3.7).
  3. В карточках сотрудников укажем этот проект, но в поле «Номер счета» внесем данные их реальных счетов в разных банках.
  4. При создании документа Ведомость в банк (вместо ведомости на счета) мы выбираем этот проект. Теперь кнопка Выгрузить станет доступна.

Внимание: Перед использованием этого метода уточните в своем банке, готов ли их шлюз принимать XML-реестр. Например, для некоторых учреждений актуальна выгрузка в Газпромбанк по формату Сбербанка с исправлением шаблона имени файла, чтобы система банка корректно приняла данные. Если банк настроен строго, файл будет отклонен.

Нюансы с кодами видов доходов и исполнительными листами

Проанализируем крайне важный законодательный аспект. Согласно указам ЦБ РФ, в каждом платежном поручении на зарплату должен стоять Код вида дохода (обычно «1»). Также в поле «Назначение платежа» должна присутствовать информация о сумме взыскания по исполнительным листам, если таковые имеются.

При использовании документа Ведомость на счета в ЗУП 3.1 эти данные формируются автоматически внутри программы. Если мы решим «вручную» набивать платежки в Клиент-Банке, мы рискуем нарушить эти требования, что приведет к штрафам. Поэтому использование автоматизированной выгрузки (даже через промежуточный этап в БП) является приоритетным.

Пример формирования данных для выгрузки

Если вы решите прибегнуть к помощи программиста для создания внешней обработки, которая будет формировать текстовый файл напрямую из ведомости, рассмотрим логику, которую должен реализовать код. Программа должна собрать данные из табличной части ведомости и преобразовать их в формат 1c_to_kl.txt.


// Пример логики сбора данных из Ведомости на счета
Для Каждого СтрокаТЧ Из ВедомостьНаСчета.Состав Цикл
    ФайлВыгрузки.ДобавитьСтроку("СекцияДокумент=Платежное поручение");
    ФайлВыгрузки.ДобавитьСтроку("Номер=" + НомерПП);
    ФайлВыгрузки.ДобавитьСтроку("Дата=" + Формат(ТекущаяДата(), "ДЛФ=Д"));
    ФайлВыгрузки.ДобавитьСтроку("Сумма=" + СтрокаТЧ.КВыплате);
    ФайлВыгрузки.ДобавитьСтроку("Получатель=" + СтрокаТЧ.ФизическоеЛицо.Наименование);
    ФайлВыгрузки.ДобавитьСтроку("ПолучательСчет=" + СтрокаТЧ.НомерСчета);
    ФайлВыгрузки.ДобавитьСтроку("ПолучательБИК=" + СтрокаТЧ.Банк.Код);
    ФайлВыгрузки.ДобавитьСтроку("КонецДокумента");
КонецЦикла;

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

Заключение и выводы

Мы рассмотрели несколько путей решения задачи. Подведем итоги:

  1. Самый правильный путь: Синхронизация ЗУП с Бухгалтерией. Это штатный механизм, поддерживающий все требования ЦБ РФ — есть инструмент синхронизации EnterpriseData между ЗУП и БП.
  2. Путь для продвинутых: Настройка «универсального» зарплатного проекта с форматом обмена 3.7.
  3. Путь автоматизации: Использование внешних обработок для формирования файла 1c_to_kl.txt напрямую из ЗУП.

Выбирайте метод, исходя из технической готовности вашего банка принимать реестры и наличия настроенной синхронизации между вашими базами 1С.

← На главную