Как отключить автоматический зачет авансов на счете 76.09 в документе «Оказание услуг»?

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

При оформлении документа Оказание услуг в программе «1С:Бухгалтерия предприятия 3.0» пользователи часто сталкиваются с автоматическим формированием проводок по зачету авансов (например, по счету 76.09 или 62.02). Если бухгалтерии требуется разносить расчеты обособленно и не закрывать предоплату этим документом, бухгалтерам приходится вручную удалять строки зачета через ручную корректировку движений. Выясним причину такого поведения конфигурации и разберем способы решения задачи как с помощью программной доработки, так и штатными методическими средствами программы.

Архитектурная причина автоматического зачета

Проанализируем типовую логику конфигурации. Документ Оказание услуг изначально предназначен для пакетного начисления услуг большому количеству контрагентов (например, в образовательных учреждениях, абонентском обслуживании или коммунальной сфере). В отличие от стандартного документа Реализация (акт, накладная, УПД), в документе Оказание услуг на форме отсутствуют реквизиты выбора порядка зачета предоплаты (такие как «Автоматически», «По документу» или «Не зачитывать»).

Алгоритм проведения жестко закладывает автоматический поиск и зачет предоплаты. Если на момент проведения документа по комбинации аналитики «Организация — Контрагент — Договор» на счете авансов имеется кредитовый остаток, программа безусловно генерирует проводку взаимозачета.

Решение 1. Программное отключение через расширение конфигурации

Разберем самый надежный и гибкий способ решения проблемы без снятия типовой конфигурации с поддержки. Для этого используем механизм расширений и директиву &ИзменениеИКонтроль.

Посмотрим на алгоритм формирования проводок: логика подготовки данных находится в модуле менеджера документа ОказаниеУслуг. За установку режима зачета отвечает функция ТекстЗапросаЗачетАвансов(НомераТаблиц).

В типовом коде формирование таблицы запроса содержит жесткое указание:


|	ЗНАЧЕНИЕ(Перечисление.СпособыЗачетаАвансов.Автоматически) КАК СпособЗачетаАвансов,

Для полного отключения зачета авансов в этом документе достаточно подменить значение перечисления. В расширении конфигурации переопределяем этот фрагмент следующим образом:


&Вместо("ТекстЗапросаЗачетАвансов")
Функция Расш1_ТекстЗапросаЗачетАвансов(НомераТаблиц)
	// В теле запроса заменяем способ зачета:
	// Вместо: |	ЗНАЧЕНИЕ(Перечисление.СпособыЗачетаАвансов.Автоматически) КАК СпособЗачетаАвансов,
	// Указываем:
	Текст = СтрЗаменить(
		ПродолжитьВызов(НомераТаблиц), 
		"ЗНАЧЕНИЕ(Перечисление.СпособыЗачетаАвансов.Автоматически) КАК СпособЗачетаАвансов", 
		"ЗНАЧЕНИЕ(Перечисление.СпособыЗачетаАвансов.НеЗачитывать) КАК СпособЗачетаАвансов"
	);
	Возврат Текст;
КонецФункции

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

Решение 2. Методическое разделение договоров без изменения кода

Если вносить доработки в программу нельзя или нежелательно, разберем штатный методический вариант. Механизм зачета авансов в «1С:Бухгалтерии 3.0» всегда жестко изолирован в пределах одного договора контрагента.

  1. Создаем для контрагента два отдельных договора (например, «Расчеты по предоплате» и «Оказание услуг»).
  2. Входящие платежи (поступления на расчетный счет или в кассу) проводим по первому договору.
  3. Документ Оказание услуг заполняем и проводим по второму договору.

Поскольку остаток предоплаты числится по другому договору, документ Оказание услуг не увидит кредитового сальдо и проводку зачета аванса не сформирует.

Решение 3. Настройка регистра счетов учета расчетов

Рассмотрим вариант, при котором учет на счете 76.09 («Прочие расчеты с разными дебиторами и кредиторами») не предполагает деления на авансовую и основную часть задолженности.

  1. Открываем регистр сведений Счета учета расчетов с контрагентами.
  2. Находим или создаем строку настроек для требуемой организации, контрагента или вида расчетов.
  3. В поле Счет расчетов по авансам оставляем значение пустым либо задаем технический счет, по которому гарантированно отсутствуют остатки и обороты.

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

Влияние отключения зачета на бухгалтерский и налоговый учет

Обратим внимание на критические последствия отключения автоматического зачета:

  1. НДС с полученных авансов (счет 76.АВ / 68.02): если организация применяет общую систему налогообложения (ОСНО), регламентная операция формирования книги покупок рассчитывает вычет НДС с авансов только при наличии проводок зачета аванса. Если отключить зачет, запись в книгу покупок автоматически не попадет.
  2. Выравнивание сальдо: развернутое сальдо между счетами задолженности и предоплаты не закроется самостоятельно. Для периодического закрытия долгов потребуется использовать документ Корректировка долга с видом операции Зачет авансов.
← На главную