Документ «Счёт-фактура полученный (ЭСФ)»
Документ регистрирует счёт-фактуру, полученную от поставщика, и фиксирует входной НДС для последующего отнесения в зачёт. Бухгалтерских проводок (Дт/Кт) сам не делает — пишет данные в специализированные регистры НДС. Создаётся из входящего ЭСФ, на основании поступления или вручную. Центральный документ блока «входной НДС» в разделе «ЭСФ/ЭАВР».
🎯 Что это и зачем
В Казахстане право поставить НДС в зачёт даёт счёт-фактура (бумажная или электронная — ЭСФ). Документ «Счёт-фактура полученный» — это регистрация такого документа в учёте: программа запоминает поставщика, номер и дату входящего счёта-фактуры, перечень товаров/услуг/ОС/НМА, суммы и ставки НДС, дату совершения оборота. На основании этих данных формируется реестр полученных счетов-фactur и рассчитывается НДС к зачёту в декларации (форма 300.00).
Кто работает: бухгалтеры по участку «Покупка/НДС», ежедневно. Чаще всего документ создаётся автоматически при загрузке входящего ЭСФ из ИС ЭСФ либо на основании поступления; ручной ввод — резервный сценарий.
Документ поддерживает три вида счёта-фактуры: - Основной — обычная счёт-фактура поставщика; - Исправленный — заменяет ранее выписанный счёт-фactura (исправляемый помечается как «прекративший действие», формируются сторно-движения); - Дополнительный — корректирует основной на дополнительные суммы (например, при изменении цены).
🧭 Где найти в программе
Раздел «ЭСФ/ЭАВР» → пункт «Счета-фактуры полученные». Откроется журнал; новый документ создаётся кнопкой «Создать».
navigation-map.json: основной раздел ЭСФ/ЭАВР, псевдонимы Покупка, Продажа.👤 Часть 1. Для пользователя
Проходим по шагам — от загрузки/создания до проведённого счёта-фактуры и проверки данных НДС. В реальной жизни 90% документов рождаются автоматически (ЭСФ) или «на основании», поэтому начинаем именно с них.
Урок 1. Счёт-фактура из входящего ЭСФ (основной сценарий)
Когда: поставщик выписал вам электронный счёт-фактуру через ИС ЭСФ, и она «прилетела» во входящие.
Шаг 1. Находим входящий ЭСФ
В подсистеме обмена ЭСФ открываем список входящих электронных счетов-фактур. По команде регистрации система сама создаёт документ «Счёт-фактура полученный»: при заполнении из объекта типа Документ.ЭСФ отрабатывает специальная ветка (ЭСФСервер.ЗаполнитьСчетФактуруПолученный).
Шаг 2. Проверяем заполненные реквизиты
Документ открывается с уже подставленными данными из ЭСФ: - Поставщик и Контрагент, Организация (она же Покупатель); - Номер входящего документа и Дата входящего документа (реквизиты поставщика); - табличные части (Товары / Услуги / ОС / НМА) с номенклатурой, суммами и ставками НДС; - Способ получения = «Электронный документооборот».
Шаг 3. Связываем с документами поступления (по необходимости)
На закладке «Документы-основания» добавляем документ(ы) поступления, к которым относится эта счёт-фактура. Это нужно, чтобы система понимала, какой именно приход «закрывает» данная счёт-фактура.
Шаг 4. Проводим
«Провести» или «Записать и закрыть». После проведения счёт-фактура попадает в реестр полученных счетов-фактур и участвует в расчёте НДС к зачёту.
Урок 2. Создание на основании поступления
Когда: сначала оформили приход, теперь регистрируем бумажную/электронную счёт-фактуру поставщика.
Шаг 1. Из документа поступления
Открываем «Поступление товаров и услуг» (или «Поступление доп. расходов», «Поступление НМА», «Возврат товаров поставщику») → «Создать на основании» → «Счёт-фактура (полученный)».
Шаг 2. Дозаполняем реквизиты поставщика
Система перенесёт Организацию, Контрагента, договор, валюту и строки. Вручную указываем: - Номер входящего документа и Дата входящего документа — из бумажного/электронного счёта-фактуры; - Вид счёта-фактуры — обычно «Основной»; - Способ получения — «Бумажный документ» или «Электронный документооборот».
Урок 3. Ручной ввод (резервный сценарий)
Когда: ЭСФ ещё не пришла, а зарегистрировать счёт-фактуру нужно.
Шаг 1. Создаём пустой документ
В журнале — «Создать». Указываем Вид счёта-фактуры = «Основной».
Шаг 2. Шапка
- Организация (Покупатель) — подставится основная;
- Контрагент и Поставщик — поставщик по сделке;
- Номер входящего документа, Дата входящего документа — обязательны;
- Способ получения — обязателен.
Шаг 3. Табличные части
На нужной закладке (Товары / Услуги / ОС / НМА) добавляем строки: номенклатуру (или ОС/НМА), количество, цену, ставку НДС. Сумму и сумму НДС программа рассчитает сама.
Шаг 4. Дата совершения оборота
- Либо ставим общую дату в шапке — поле «Дата совершения оборота по реализации»;
- Либо включаем индивидуальные даты по строкам (флаг «Дата оборота в табличной части») и заполняем «Дата оборота» в каждой строке.
Урок 4. Исправленный и дополнительный счёт-фактура
Когда: поставщик прислал исправленную или дополнительную счёт-фактуру взамен/в дополнение к ранее выписанной.
Шаги
- «Создать» (не на основании). Указываем Вид счёта-фактуры = «Исправленный» или «Дополнительный».
- В поле «Основной счёт-фактура» выбираем исходный документ, который исправляем/дополняем. Это поле обязательно для исправленных и дополнительных.
- Заполняем реквизиты и табличные части по данным нового документа поставщика.
- Проводим.
🛠 Часть 2. Для программиста
Источник: реальный код релиза 3.0.72.1 (Documents/СчетФактураПолученный/Ext/ObjectModule.bsl и .../ManagerModule.bsl), плюс разбор objects/ и business-logic/.
Структура объекта
Ключевые реквизиты шапки. Обязательные (ShowError): Организация, Контрагент, Поставщик, Покупатель, НомерВходящегоДокумента, ДатаВходящегоДокумента, КурсВзаиморасчетов, КратностьВзаиморасчетов, ВидСчетаФактуры, СпособПолучения; условно-обязательный ОсновнойСчетФактура (для исправленных/дополнительных). Управляющие флаги: УчитыватьНДС, СуммаВключаетНДС, ПодтвержденДокументамиОтгрузки, ДатаОборотаВТабличнойЧасти, РучнаяКорректировка. Дата оборота — ДатаСовершенияОборотаПоРеализации (шапка) и/или ДатаОборота (строки).
Табличные части: четыре независимых списка предметов учёта — Товары (ТМЗ, + НомерГТД), Услуги (+ Содержание), ОС, НМА; служебные — ДокументыОснования (связь с приходами) и УчастникиСовместнойДеятельности.
objects/ реквизит ОсновнойСчетФактура помечен как «Да (ShowError)» без оговорок, но реальная ОбработкаПроверкиЗаполнения делает его условным: для основного счёта он добавляется в массив непроверяемых реквизитов, обязателен только при ВидСчетаФактуры = Исправленный/Дополнительный (и то при записи из документа отгрузки выводится лишь сообщение, без отказа — чтобы не сорвать запись отгрузки). При генерации/валидации опираться на код, а не на «плоскую» таблицу обязательности.Жизненный цикл (обработчики ObjectModule)
| Обработчик | Что делает (по реальному коду 3.0.72.1) |
|---|---|
ОбработкаЗаполнения |
Маршрутизация заполнения по типу основания: из Документ.ЭСФ → ЭСФСервер.ЗаполнитьСчетФактуруПолученный; из разрешённых документов-оснований → ЗаполнитьПоДокументуОснования; из Структура → ЗаполнитьЗначенияСвойств; иначе — шапка по умолчанию + УчетНДСИАкциза.ЗаполнитьПоставщикПокупательПоОрганизации. Блокирует ввод на основании «Поступления от нерезидента». Заполняет Автор текущим пользователем |
ОбработкаПроверкиЗаполнения |
Формирует массив непроверяемых реквизитов в зависимости от условий (дата оборота, наличие строк, вид счёта, плательщик НДС), затем удаляет их из проверки. Доп. проверки: ОсновнойСчетФактура для исправленных/дополнительных; согласованность реквизитов нескольких документов-оснований (ПроверитьРеквизитыДокументовОснований). Ставит флаг ВыполненаПроверкаЗаполнения |
ПередЗаписью |
При проведении без отметки ВыполненаПроверкаЗаполнения — принудительный ПроверитьЗаполнение(). Сбрасывает ПодтвержденДокументамиОтгрузки, если оснований нет. Чистит данные по СД, считает СуммаДокумента (сумма с НДС по 4 ТЧ), вызывает ОпределениеПараметровСчетаФактуры и ЭСФСервер.ПередЗаписьюСчетаФактуры |
ОбработкаПроведения |
Готовит наборы записей; при РучнаяКорректировка — выход. Получает ПодготовитьПараметрыПроведения, проверяет ПроверитьВозможностьПроведения. Для исправленного — добавляет сторно-движения по исправляемым и прекратившим действие счетам. Формирует движения НДС по каждой непустой ТЧ через УчетНДСИАкциза.СформироватьДвиженияСчетФактураПолученный |
ОбработкаУдаленияПроведения |
ПроверитьВозможностьОтменыПроведения (запрет, если есть проведённый связанный документ), затем обновление сторнирующих документов |
ПриЗаписи |
ЭСФСервер.ОбновитьСторнирующиеДокументы; при актуальной дате — ИзвещениеПоЗачетуНДССервер.ОбновитьАктуальныеЭСФПоПервичнымДокументам |
ПриКопировании |
Перезаполняет шапку документа (новые номер/дата) |
Движения по регистрам
По метаданным документа (СчетФактураПолученный.xml, RegisterRecordsWritingOnPost = WriteSelected) объект пишет ровно в два регистра — и никакого регистра бухгалтерии (проводок Дт/Кт) среди них нет:
| Регистр | Тип | Что пишет |
|---|---|---|
СведенияСчетовФактурПолученных |
Накопления | Данные полученной счёт-фактуры для целей НДС: номенклатура/ОС/НМА, сумма, сумма НДС, ставка НДС, дата оборота, реквизиты входящего документа. Основа реестра полученных счетов-фактур и расчёта НДС к зачёту |
СчетаФактурыПрекратившиеДействие |
Сведения | Связь «исправляемый ↔ исправленный»: при проведении исправленного исходный отмечается прекратившим действие (для корректной отчётности и контроля отмены проведения) |
АктуальныеЭСФ напрямую этим документом по RegisterRecords не пишется, но обновляется по цепочке из ПриЗаписи (ИзвещениеПоЗачетуНДССервер) и из ManagerModule — он отслеживает актуальную электронную счёт-фактуру по первичным документам.Как формируется проведение — реальный код (3.0.72.1)
Главное: проводок нет вовсе, а движения НДС документ не «зашивает» сам — он собирает параметры и делегирует формирование профильному модулю УчетНДСИАкциза. Источник истины по составу движений НДС — этот общий модуль и учётная политика, а не документ.
Источник: ObjectModule.bsl, процедура ОбработкаПроведения (стр. 156):
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект);
Если РучнаяКорректировка Тогда
Возврат; // ручное управление движениями
КонецЕсли;
ПараметрыПроведения = Документы.СчетФактураПолученный.ПодготовитьПараметрыПроведения(Ссылка, Отказ);
Документы.СчетФактураПолученный.ПроверитьВозможностьПроведения(ЭтотОбъект, Отказ);
Если Отказ Тогда
Возврат;
КонецЕсли;
// ФОРМИРОВАНИЕ ДВИЖЕНИЙ
Если ВидСчетаФактуры = Перечисления.ВидыСчетовФактур.Исправленный Тогда
МассивСФПрекратившихДействие = Новый Массив;
Документы.СчетФактураПолученный.ДобавитьДвиженияСторнирующиеИсправляемыеСчетаФактуры(ЭтотОбъект, МассивСФПрекратившихДействие);
Документы.СчетФактураПолученный.ДобавитьДвиженияПоСчетамФактурамПрекратившимДействие(ЭтотОбъект, МассивСФПрекратившихДействие);
КонецЕсли;
ЭСФСервер.ОбновитьДвиженияСторнирующихДокументов(ЭтотОбъект);
// Если не удалось получить параметры проведения и не установлен Отказ — просто выходим
Если ПараметрыПроведения = Неопределено Тогда
Возврат;
КонецЕсли;
Если ПараметрыПроведения.СчетФактураПолученныйТаблицаТовары.Количество() <> 0 Тогда
УчетНДСИАкциза.СформироватьДвиженияСчетФактураПолученный(ПараметрыПроведения.СчетФактураПолученныйТаблицаТовары,
ПараметрыПроведения.СчетФактураПолученныйРеквизиты, Движения, Отказ);
КонецЕсли;
// … аналогично для ТаблицаУслуги, ТаблицаОС, ТаблицаНМА …
КонецПроцедуры
Разбор по шагам:
- РучнаяКорректировка = Истина → авто-проведение полностью пропускается (Возврат в начале) — движения регистров заполняет пользователь руками.
- ПараметрыПроведения = Неопределено → движения НДС не формируются. Это ключевой нюанс: ПодготовитьПараметрыПроведения возвращает Неопределено, если НЕ Реквизиты.УчитыватьНДС (см. ManagerModule.bsl, стр. 381–383). То есть для неплательщика НДС или при снятом флаге «Учитывать НДС» документ проводится «вхолостую» — без движений по СведенияСчетовФактурПолученных.
- Исправленный счёт-фактура дополнительно формирует сторно-движения по исправляемым и «прекратившим действие» счетам — до основного цикла формирования движений.
- Формирование движений НДС идёт по каждой непустой табличной части одним и тем же вызовом УчетНДСИАкциза.СформироватьДвиженияСчетФактураПолученный(<таблица ТЧ>, <реквизиты>, Движения, Отказ). Конкретный состав записей регистра определяет этот модуль.
objects/ в нескольких местах утверждает, что документ «формирует движения по регистрам бухгалтерского учёта» и упоминает «проводки». Это неверно: в RegisterRecords объекта нет ни одного регистра бухгалтерии, а ОбработкаПроведения вызывает только УчетНДСИАкциза.*. Документ — налоговый регистратор НДС, проводки Дт/Кт по приходу делает ПоступлениеТоваровУслуг. Источник истины — метаданные + ОбработкаПроведения.
- Жалоба «НДС не встал в зачёт / счёт-фактуры нет в реестре» при проведённом документе — первым делом проверяем
Учитывать НДСи признак плательщика НДС организации на дату (ПроцедурыНалоговогоУчета.ПолучитьПризнакПлательщикаНДС). Если организация не плательщик или флаг снят — движений нет by design, документ проводится пустым.- «Не могу провести исправленный» — проверяем, проведён ли основной счёт-фактура (
ОсновнойСчетФактура.Проведен).- «Не могу распровести счёт-фактуру» — значит, по нему уже есть проведённый связанный документ в
СчетаФактурыПрекратившиеДействие; сначала распроводим/корректируем его.- «Документ отгрузки не проводится из-за счёта-фактуры» — смотрим связку
ПодтвержденДокументамиОтгрузкии согласованность контрагента/договора/валюты вДокументыОснования(валидация ниже).- Печать «Электронный счёт-фактура» доступна только при включённых функциональных опциях
ИспользоватьОбменЭСФЧерезAPIили…ЧерезXML(ManagerModule.ДобавитьКомандыПечати).
Валидации
ОбработкаПроверкиЗаполнения (ObjectModule):
- Дата оборота: если ДатаОборотаВТабличнойЧасти = Ложь — обязательна ДатаСовершенияОборотаПоРеализации (иначе она исключается из проверки, дату ждут в строках).
- Достаточно строк хотя бы в одной из ТЧ Товары/Услуги/ОС/НМА — тогда сами ТЧ исключаются из проверки на пустоту.
- ОсновнойСчетФактура обязателен только для Исправленный/Дополнительный; при записи из документа, подтверждающего отгрузку, — выводится сообщение без Отказ (чтобы не сорвать запись отгрузки).
- СтавкаНДС по строкам проверяется, только если организация — плательщик НДС на дату и УчитыватьНДС = Истина.
- Если документ-основание — ПоступлениеДопРасходов без НДС, предупреждение: показатели ставки НДС очистились, документы не проведутся (нужно снять «Подтверждён документами отгрузки»).
- Для Дополнительный — Товары.Количество исключается из проверки.
- При ПодтвержденДокументамиОтгрузки и более чем одном основании — ПроверитьРеквизитыДокументовОснований: контрагент, договор контрагента и валюта во всех основаниях должны совпадать со счётом-фактурой (иначе построчные сообщения с Отказ).
ManagerModule:
- ПроверитьВозможностьПроведения — исправленный нельзя провести, пока не проведён ОсновнойСчетФактура.
- ПроверитьВозможностьОтменыПроведения — нельзя отменить проведение, если в СчетаФактурыПрекратившиеДействие есть запись, где данный документ исправлен другим проведённым.
Зависимости (общие модули)
ЭСФСервер (заполнение из ЭСФ, синхронизация сторнирующих документов, ПередЗаписьюСчетаФактуры), УчетНДСИАкциза (заполнение поставщика/покупателя, суммы с НДС, единственный формирователь движений СформироватьДвиженияСчетФактураПолученный), ПроведениеСервер (подготовка наборов записей), ПроцедурыНалоговогоУчета (признак плательщика НДС), ИзвещениеПоЗачетуНДССервер (актуальные ЭСФ по первичным документам), ЗаполнениеДокументов, ОбщегоНазначения/ОбщегоНазначенияБК. Серверная логика самого документа — в ManagerModule (ПодготовитьПараметрыПроведения, ОпределениеПараметровСчетаФактуры, ЗаполнитьПоДокументуОснования, НайтиОсновнойСчетФактуру).
- Документ не делает проводок. Не ищите регистр бухгалтерии в его движениях — его там нет. Дт/Кт по приходу — у
ПоступлениеТоваровУслуг; здесь только регистры НДС/сведений.- Гейт по НДС. Любая автоматизация проведения должна учитывать: при
НЕ УчитыватьНДС(или неплательщике)ПодготовитьПараметрыПроведениявернётНеопределено, и движений НДС не будет — это корректное поведение, а не ошибка.- Вид счёта-фактуры — определяющий реквизит. От него зависят обязательность
ОсновнойСчетФактура, формирование сторно-движений и контроль проведения/отмены. Устанавливайте его до заполнения остального.- Контрагент чистит основания. При смене контрагента ТЧ
ДокументыОснованияочищается (форма) — сначала контрагент, потом основания.- Заполняйте одну профильную ТЧ. Логика проведения обходит все четыре ТЧ, но семантически документ описывает один предмет учёта; не смешивайте товары/услуги/ОС/НМА в одном счёте-фактуре без необходимости.
- ЭСФ-связка асинхронна. После создания из ЭСФ не редактируйте немедленно — дождитесь завершения обработки оповещений и обновления
АктуальныеЭСФ.
🔗 Связанные разделы
- postuplenie-tmz-i-uslug — приход и проводки Дт/Кт (счёт-фактура регистрируется на его основании)
- schet-faktura-vydannyy — зеркальный документ: счёт-фактура выданная (исходящий НДС)
- esf — электронный счёт-фактура (источник автозаполнения)
- vozvrat-tovarov-postavshchiku — основание для корректировочной счёт-фактуры
🆕 Что нового
| Версия | Изменение | Тип |
|---|---|---|
| 3.0.72.1 | Первичное описание (на релизе 3.0.72.1) | 🆕 |