Переход на использование Универсального передаточного документа (УПД) — это популярный шаг для упрощения документооборота в торговых компаниях. Вместо формирования двух отдельных документов (накладной по форме ТОРГ-12 и счета-фактуры) менеджеры могут распечатать один бланк УПД. Однако на практике этот процесс часто наталкивается на технические и организационные сложности, связанные с нумерацией документов в программе «1С:Управление торговлей 11» (УТ 11).
В этой статье мы подробно разберем, как устроена нумерация УПД (поможет настройка автоматической нумерации документов с префиксами), почему у клиентов часто возникают расхождения в номерах первичных документов, как решить проблему с актами сверки взаиморасчетов и каким образом можно программно синхронизировать номера реализаций и счетов-фактур с помощью механизмов расширений конфигурации.
Прежде чем приступать к доработке системы, давайте проанализируем методологическую основу формирования УПД. Номер, который выводится в печатной форме УПД, напрямую зависит от выбранного статуса документа:
РеализацияТоваровУслуг).Таким образом, если ваша компания применяет общую систему налогообложения (ОСНО) с НДС, то номер УПД всегда будет равен номеру выданного счета-фактуры (документ СчетФактураВыданный). Расхождение номеров реализации и счета-фактуры в 1С является абсолютно законным и нормальным явлением, обусловленным тем, что счета-фактуры имеют сквозную нумерацию, в которую также входят авансовые счета-фактуры.
Выясним причину, почему покупатели так часто просят присылать им УПД, номера которых совпадают с номерами накладных. Главная «боль» бухгалтеров кроется в формировании актов сверки взаимных расчетов. Для этой задачи есть автоматическая рассылка актов сверки для 1С.
В типовой конфигурации УТ 11 печатная форма документа СверкаВзаиморасчетов по умолчанию выводит именно номер документа-регистратора расчетов — то есть номер Реализации товаров и услуг — для этого подойдёт инструмент поиска расхождений в документах и взаиморасчетах. В то же время покупатель регистрирует у себя входящий документ по номеру полученного УПД (который равен номеру счета-фактуры). В результате при сопоставлении документов в акте сверки возникают расхождения (поможет сверка документов между базами УТ и БП):
Это заставляет бухгалтеров вручную сверять суммы и даты, что порождает массовые запросы клиентов с требованиями «сделать номера одинаковыми» или «вывести правильный номер в ТТН».
Рассмотрим ситуацию, когда покупатель требует, чтобы в Товарно-транспортной накладной (ТТН) фигурировали именно номера УПД, а не номера документов реализации. Чтобы не ломать типовую логику учета НДС, мы можем кастомизировать печатную форму ТТН. Для этого необходимо получить связанный документ СчетФактураВыданный для каждой реализации и вывести его номер в печатную форму ТТН.
Для реализации этой задачи мы рекомендуем использовать механизм расширений, перехватив процедуру печати ТТН в менеджере документа реализации. Нам потребуется найти подчиненный счет-фактуру по ссылке на документ-основание.
Если руководство компании все же приняло решение жестко связать нумерацию счетов-фактур с реализациями, нам потребуется автоматизировать этот процесс. В УТ 11 нет типовой настройки для автоматического приравнивания номеров, поэтому мы создадим расширение конфигурации.
Разберем по шагам алгоритм работы нашего расширения:
РеализацияТоваровУслуг.СчетФактураВыданный. Если его нет — создаем новый — решается через автоматизация создания связанных документов в 1С.Проанализируем пример кода, который решает эту задачу при проведении реализации. Данный код мы размещаем в модуле расширения, перехватывая обработку проведения или используя подписку на события:
Процедура ПередЗаписьюСчетаФактуры(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
// Проверяем, что это документ "Счет-фактура выданный" и он создан на основании реализации
Если ТипЗв(Источник.ДокументОснование) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
СсылкаНаРеализацию = Источник.ДокументОснование;
НомерРеализации = СсылкаНаРеализацию.Номер;
// Очищаем стандартный префикс организации при необходимости
// или переносим его один в один для сохранения сквозной нумерации
НовыйНомерСФ = НомерРеализации;
// Устанавливаем номер счета-фактуры равным номеру реализации
Источник.Номер = НовыйНомерСФ;
КонецЕсли;
КонецПроцедуры
При использовании данного подхода крайне важно предусмотреть обработку коллизий уникальности номеров. Выясним, какие проблемы могут возникнуть:
Рассмотрим пример функции проверки номера на уникальность перед его записью в счет-фактуру:
Функция НомерСФУникален(ПроверяемыйНомер, ТекущийДокумент) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| СчетФактураВыданный.Ссылка КАК Ссылка
|ИЗ
| Документ.СчетФактураВыданный КАК СчетФактураВыданный
|ГДЕ
| СчетФактураВыданный.Номер = &Номер
| И СчетФактураВыданный.Дата МЕЖДУ &НачалоГода И &КонецГода
| И СчетФактураВыданный.Ссылка <> &ТекущийДокумент";
Запрос.УстановитьПараметр("Номер", ПроверяемыйНомер);
Запрос.УстановитьПараметр("НачалоГода", НачалоГода(ТекущийДокумент.Дата));
Запрос.УстановитьПараметр("КонецГода", КонецГода(ТекущийДокумент.Дата));
Запрос.УстановитьПараметр("ТекущийДокумент", ТекущийДокумент.Ссылка);
РезультатЗапроса = Запрос.Выполнить();
Возврат РезультатЗапроса.Пустой();
КонецФункции
Используя предложенный алгоритм, мы гарантируем, что номера счетов-фактур будут автоматически синхронизироваться с реализациями, что позволит печатать УПД с ожидаемыми номерами. При этом система сохранит стабильность работы и не допустит дублирования номеров в рамках одного отчетного периода.
Мы проанализировали особенности работы с УПД в программе «1С:Управление торговлей 11». Хотя законодательство и не требует обязательного равенства номеров реализаций и счетов-фактур (УПД), на практике это значительно упрощает жизнь бухгалтерии как вашей компании, так и ваших контрагентов. Реализация автогенерации и синхронизации номеров через неразрушающее расширение конфигурации позволяет решить эту задачу быстро, сохранив при этом типовую конфигурацию на поддержке.