Как в 1С:Бухгалтерия 3.0 разделить продажи и оплаты на своевременные и просроченные?

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

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

Архитектурные особенности учета расчетов по срокам в 1С:Бухгалтерия

В отличие от решений 1С:ERP или 1С:Управление торговлей, в бухгалтерской конфигурации отсутствуют отдельные регистры накопления для графиков платежей. Вся информация о расчетах с контрагентами хранится непосредственно в регистре бухгалтерии на счетах 62.01 («Расчеты с покупателями и заказчиками») и 62.02 («Расчеты по авансам полученным»).

Плановый срок оплаты покупателем в конфигурации может определяться на нескольких уровнях:

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

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

Чтобы сопоставить конкретный платеж с конкретной накладной, на счете 62.01 обязательно должен быть включен аналитический разрез по документам. Для этого в настройках плана счетов должна быть установлена функциональная опция «Вести учет расчетов по документам», добавляющая третье субконто Документы расчетов с контрагентом.

Если это субконто заполнено, проводка оплаты (по дебету счетов 50, 51 и кредиту счета 62.01) содержит ссылку на исходный документ Реализация (акт, накладная).

Алгоритм сопоставления оплат и сроков долга

Разберем по шагам логику анализа движений:

  1. Определяем дату возникновения задолженности: берем документ реализации из субконто кредита счета 62.01.
  2. Вычисляем предельную плановую дату оплаты: извлекаем дату из накладной или прибавляем количество дней по договору к дате документа реализации.
  3. Сравниваем с фактической датой платежа: берем дату проводки документа оплаты (банковская выписка или кассовый ордер).
  4. Классифицируем сумму:
    1. Если ДатаОплаты <= ДатаПредельнойОплаты, то сумма относится к своевременно погашенной задолженности.
    2. Если ДатаОплаты > ДатаПредельнойОплаты, то сумма считается просроченной.
  5. Учитываем зачет авансов: проводки зачета аванса (дебет 62.02 — кредит 62.01) означают, что деньги поступили до или в момент отгрузки, поэтому такие суммы всегда считаются погашенными вовремя.

Пример запроса для разделения оборотов оплаты по срокам

Рассмотрим структуру запроса к регистру бухгалтерии Хозрасчетный.ДвиженияССубконто, который позволяет получить суммы оплат с признаком просрочки:


ВЫБРАТЬ
	Хозрасчетный.Период КАК ДатаОплаты,
	Хозрасчетный.Регистратор КАК ДокументОплаты,
	Хозрасчетный.СубконтоКт1 КАК Контрагент,
	Хозрасчетный.СубконтоКт2 КАК Договор,
	ВЫРАЗИТЬ(Хозрасчетный.СубконтоКт3 КАК Документ.РеализацияТоваровУслуг) КАК ДокументОтгрузки,
	ВЫРАЗИТЬ(Хозрасчетный.СубконтоКт3 КАК Документ.РеализацияТоваровУслуг).СрокОплаты КАК ПлановыйСрокОплаты,
	Хозрасчетный.Сумма КАК СуммаОплаты,
	ВЫБОР
		КОГДА Хозрасчетный.СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоАвансамПолученным)
			ТОГДА ЛОЖЬ
		КОГДА ВЫРАЗИТЬ(Хозрасчетный.СубконтоКт3 КАК Документ.РеализацияТоваровУслуг).СрокОплаты ЕСТЬ NULL
			ТОГДА ЛОЖЬ
		КОГДА НАЧАЛОПЕРИОДА(Хозрасчетный.Период, ДЕНЬ) > НАЧАЛОПЕРИОДА(ВЫРАЗИТЬ(Хозрасчетный.СубконтоКт3 КАК Документ.РеализацияТоваровУслуг).СрокОплаты, ДЕНЬ)
			ТОГДА ИСТИНА
		ИНАЧЕ ЛОЖЬ
	КОНЕЦ КАК ЭтоПросроченнаяОплата
ИЗ
	РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
		&НачалоПериода,
		&КонецПериода,
		СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Покупатели),
		,
		) КАК Хозрасчетный
ГДЕ
	Хозрасчетный.СчетДт В (
		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Касса),
		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетныеСчета),
		ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоАвансамПолученным)
	)

Важные нюансы при работе с расчетами

Проанализируем ситуации, которые требуют дополнительного внимания при реализации отчета:

  1. Частичные оплаты: одна накладная может оплачиваться несколькими транзакциями. Первый платеж может поступить в срок, а остаток суммы — с опозданием. Поэтому делить на категории нужно не сумму реализации целиком, а каждую конкретную сумму проводки погашения долга.
  2. Актуальность последовательности расчетов: если в договоре выбран способ взаиморасчетов «По договору в целом», привязка оплат к документам отгрузки распределяется программой автоматически по методу ФИФО. При редактировании документов задним числом обязательно требуется восстановить последовательность проведения, иначе распределение оплат по субконто будет некорректным.
  3. Неоплаченные остатки на конец периода: для получения полной картины по продажам необходимо объединять обороты погашения долга с остатком задолженности на конец периода через виртуальную таблицу ОстаткиИОбороты, проверяя, наступил ли срок оплаты для еще не закрытых долгов.
← На главную