Сравнение файлов
Проблема ПИРПервое решениеОписаниеПроектДетализация
Что изменено:Как изменено:
101.65991NEWОнлайн-кассы - новые реквизиты в ФФД 1.05 и 1.1КассаПриходный кассовый ордер
В соответствии с прилагаемым Приказом ФНС России от 21.03.2017 N ММВ-7-20/229@ начиная с версии 1.05 формата фискальных документов (ФФД) по сравнению с ФФД 1.0 добавляется ряд новых обязательных реквизитов. То есть как только кассовый аппарат обновлён до ФФД 1.05, или 1.1 - формирование этих реквизитов становится обязательным. Там же сказано, что ФФД 1.0 полностью прекращает своё действие 31.12.2018, поэтому сейчас клиенты массово обновляют свою ККТ. Из новых реквизитов ФД для нас в первую очередь интерес представляют: 1212 "признак предмета расчета" - для каждой позиции чека, на данный момент 18 значений, см. Таблицу 29; 1214 "признак способа расчета" - для каждой позиции чека, 7 значений, см. Таблицу 28; 1215 "сумма по чеку (БСО) предоплатой (зачетом аванса и (или) предыдущих платежей)" - на весь чек; 1216 "сумма по чеку (БСО) постоплатой (в кредит)" - на весь чек; 1217 "сумма по чеку (БСО) встречным предоставлением". Предлагается реализовать новые точки расширения для передачи расширенного набора данных в ККТ. Возможно, также пользовательскую настройку "Версия формата фискальных документов" с вариантами "1.0/1.05 и выше" - для выбора вызываемых точек (обсуждаемо). epKO_isNotExistExtPoint_v1_05 - для определения версии ФФД (тогда не придётся добавлять настройку). epKO_KKTInitConnection - новая точка расширения наверное пока не нужна. epKO_KKTRegistration_v1_05 - добавить передачу реквизитов 1212 и 1214. Возможно, также ссылки на позицию накладной и распределения. epKO_KKTDoneConnection_v1_05 - добавить передачу реквизитов 1215, 1216, 1217. В системном интерфейсе регистрации показать все рассчитанные реквизиты, желательно с возможностью ручной корректировки. Вычисление реквизитов: 1212 - для начала предлагаю формировать ТОВАР (1)/УСЛУГА (4)/ПЛАТЕЖ (10). Значение "ПЛАТЕЖ" (10) - только в случае, если реквизит 1214 равен "АВАНС" (3). 1214 - если нет распределения по позициям накладной, то каждая позиция ДО это либо "ПРЕДОПЛАТА 100%" (1), либо "ПРЕДОПЛАТА" (2), либо "АВАНС" (3). Такие платежи нужно разрешить регистрировать повторно (при отгрузке). То есть при регистрации устанавливать промежуточный статус, допускающий повторную регистрацию - например, "Зарегистрирован как предоплата/аванс". "АВАНС" (3) - это когда заранее неизвестно за какой конкретно товар/услугу платят, например, при покупке подарочной карты, или при выборе услуги "аванс в счёт будущих поставок". Как вариант, можно определять по внешнему атрибуту к МЦ/услуге "Аванс", или добавить новое поле, или новое значение поля "Категория", или может есть что-то более подходящее в каталогах МЦ/услуг. "ПРЕДОПЛАТА 100%" (1), или "ПРЕДОПЛАТА" (2) - на данном этапе определить не можем, поскольку сейчас у нас нет информации о распределённой сумме платежа по позициям ДО. Пока что предлагаю формировать 1, в ближайшее время доработать распределение по позициям ДО (в рамках отдельного ПиР). "ПОЛНЫЙ РАСЧЕТ" (4) - когда позиция ПОЛНОСТЬЮ оплачена регистрируемым документом (с учётом предыдущих платежей) и дата регистрируемого платежа <= дате отгрузки. Передавать полное количество по накладной dKol (а не только оплаченное регистрируемым документом). При этом сумму предыдущих платежей по данной позиции нужно накапливать для реквизита 1215 (если дата регистрируемого платежа < дате отгрузки, то его тоже сюда включать). "ЧАСТИЧНЫЙ РАСЧЕТ И КРЕДИТ" (5) - когда позиция ЧАСТИЧНО оплачена регистрируемым документом (с учётом предыдущих платежей) и дата регистрируемого платежа <= дате отгрузки. Передавать полное количество по накладной dKol (а не только оплаченное). При этом сумму предыдущих платежей по данной позиции нужно накапливать для реквизита 1215 аналогично предыдущему пункту, а неоплаченную сумму по данной позиции - накапливать для реквизита 1216. "ПЕРЕДАЧА В КРЕДИТ" (6) - когда позиция полностью НЕ оплачена и дата отгрузки равна дате регистрируемого платежа. Передавать полное количество по накладной dKol. При этом ВСЮ сумму по данной позиции нужно накапливать для реквизита 1216. Здесь необходимо ещё решить вопрос как быть в случае передачи товара вообще без оплаты - формировать платёж на сумму 0? Сейчас так сделать не получается. "ОПЛАТА КРЕДИТА" (7) - когда дата регистрируемого платежа > даты отгрузки. Передавать оплаченное регистрируемым документом количество dKol. 1215, 1216 - накопленные соответствующие суммы по всем позициям с реквизитом 1214 = "ПОЛНЫЙ РАСЧЕТ" (4), или "ЧАСТИЧНЫЙ РАСЧЕТ И КРЕДИТ" (5), или "ПЕРЕДАЧА В КРЕДИТ" (6). 1217 - пока предлагаю формировать 0. См. также описание примеров во вложенном файле (они годовой давности, но в основном правильные, если найдём более актуальные документы - будем добавлять сюда).Для поддержки поддержки формата ФФД 1.05 или 1.1 реализованы следующие точки расширения: 1. Проверка поддержки формата ФФД 1.05 или 1.1 При существовании обработчика, а значит поддержке новых форматов, точка должна возвращать false. ExtensionPoint epKO_isNotExistExtPoint_v1_05; 2. Регистрация оплаченной позиции документа для ФФБ 1.05 ExtensionPoint epKO_KKTRegistration_v1_05 (wTiDk, // Тип документа wOperation, // Тип операции (0-не определен; 1-продажа; 2-возврат продажи; 3-покупка; 4-возврат покупки) wObjMethod, // Признак предмета расчета wCalcMethod : word; // Признак способа расчета sAdmPass, // Пароль администратора системы sOperatorPass, // Пароль оператора для ККТ sNamePos : string; // Наименование мц/услуги dKol, // Количество dPrice, // Цена dTaxRate, // Ставка dSumTax, // Сумма налога dSumTaxForOne: double; // Не округленная сумма налога за 1 позицию bModeTax : boolean; // Входимость налога wDistrType : word; // Тип распределения (1 - по ДО; 2 - по накладной/акту) cDistrPos : comp; // Ссылка на позицию распределения (для типа 1 ссылка на PlDgDist; для типа 2 ссылка на SpSopHoz) pObject : pointer); // Ссылка на драйвер кассового аппарата 3. Завершение регистрации ККТ для ФФБ 1.05 ExtensionPoint epKO_KKTDoneConnection_v1_05 (cDoc : comp; // NREC документа sAdmPass, // Пароль администратора системы sOperatorPass : string; // Пароль оператора для ККТ wPaymentType : word; // Тип оплаты (0 - наличные; 1- банковская карта) dSumPrePay, // Сумма по чеку (БСО) предоплатой (зачетом аванса и/или предыдущих платежей) dSumPostPay, // Сумма по чеку (БСО) постоплатой (в кредит) dSumConsider : double; // Сумма по чеку (БСО) встречным предоставлением pObject : pointer; // Ссылка на драйвер кассового аппарата pStr : iObjExtStr); // Объект работы со строками В случае, если реализована точка расширения №1 и она возвращает значение False, это означает что регистрация в ККТ будет выполнятся с учетом нового формата. В этом случае, в окне распределения по спецификациям накладной/акта, а так же по спецификации ДО,в позициях оплаты, появится поле "ККТ", которое может принимать значения "Да" или "Нет". Значение "Да", означает что данная позиция была обработана в ККТ. Данные поля можно редактировать вручную, а так же оно автоматически устанавливается в занчение "Да", после выполнения регистрации по позициям. В окне регистрации в ККТ для каждой позиции были добавлены поля "Предмет расчета" и "Способ расчета". Данные поля определяются для каждой позиции и передаются в точку расширения №2. Так же в окне появились поля "Сумма по чеку предоплатой" и "Сумма по чеку постоплатой". Данные поля накапливают суммы по всем позициям и передаются в точку расширения №3. Поле "Сумма по чеку предоплатой" накапливает по позициям оплаты суммы которые были зарегистрированы ранее (позиции распределения со значением поля "ККТ" = "Да"). Поле "Сумма по чеку постоплатой" накапливает по позициям суммы, которых не хватает до полной оплаты позиции. Предмет расчета определяется следующим образом: если позиция является МЦ, то она принимает значение = 1 (товар), если позиция является услугой, то она принимает значение = 4 (услуга), а если к товару или услуге указанной в позиции спецификации существует внешний строковый атрибут "Аванс" который принимает значение "1", атрибут то предмет расчета принимает значение = 10 (Аванс) Способ расчета может принимать следующие значения: 1) Предоплата 100% (значение = 1) - когда существует только распределение по спецификации ДО и позиция полностью распределена (с учетом предыдущих оплат). При этом количество передается целиком, а сумма предыдущих оплат накапливается в поле "Сумма по чеку предоплатой". 2) Предоплата (значение = 2) - когда существует только распределение по спецификации ДО и позиция не полностью распределена. При этом количество передается с учетом предыдущих оплат, а сумма предыдущих оплат накапливается в поле "Сумма по чеку предоплатой". 3) Аванс (значение = 3) - для позиции с признаком предмета расчета - "Аванс". 4) Полный расчет (значение = 4) - когда позиция спецификации накладной/акта полностью распределена (с учетом предыдущих оплат) и дата регистрируемого платежа меньше либо равна дате накладной/акта. При этом количество по позиции передается полное, а сумма предыдущих оплат накапливается в поле "Сумма по чеку предоплатой". 5) Частичный расчет и кредит (значение = 5) - когда позиция спецификации накладной/акта распределена частично (с учетом предыдущих оплат) и дата регистрируемого платежа меньше либо равна дате накладной/акта. При этом количество по позиции передается полное, сумма предыдущих оплат накапливается в поле "Сумма по чеку предоплатой", а неоплаченная сумма по позиции накапливается в поле "Сумма по чеку постоплатой". 6) Передача в кредит (значение = 6) - на данный момент режим не обрабатывается. 7) Оплата кредита (значение = 7) - когда есть распределение по позиции спецификации накладной/акта и дата регистрируемого платежа больше даты отгрузки. При этом этом количество передается оплаченное непосредственно этим платежом. В окне регистрации в ККТ, все поля кроме "Позиция", "%НДС" и "Вх." являются редактируемыми. После нажатия на кнопку "Продолжить" (окно регистрации в ККТ), все отобранные позиции передаются в ККТ с помощью точки расширения №2. Для каждой позиции передается так же ее тип распределения и ссылка на позицию распределения. В частности если распределение по позициям ДО, то передается значение "1" и ссылка на запись PlDgDist.NRec. А если распределение по позициям накладной/акта, то предается значение "2" и ссылка на запись SpSopHoz.Nrec. По завершении обработки всех позиций, вызывается точка расширения №3, которая кроме основных параметров передает сумму по чеку предоплатой и сумму по чеку постоплатой. Сумма по чеку встречным представлением на данный момент не используется и передается значение ноль. После завершения обработки, в документе выполняется установка соответствующего статуса. Для документа должны быть заведены как минимум два статуса в группе исполняемых статусов. 1) "Регистрация аванса/предоплаты ККТ" (наименование может быть указано любое) со значением в поле код = 5. 2) "Завершена регистрация ККТ" (наименование может быть указано любое) со значением в поле код = "4". В случае, если по документу была зарегистрирована хотя бы одна позиция со значениями способа расчета "предоплата 100%", "предоплата" или "аванс", то в документе будет устанавливаться статус №1. При этом из данного статуса разрешена повторная регистрация ККТ. В противном случае, после выполнения регистрации, в документе устанавливается статус №2.
102.190603NEWПереход на НДС 20% : доработать возможность создания корректировочного СФ к авансовому СФУправление сбытомНаши счета-фактуры
Необходимо доработать возможность создания корректировочного СФ к авансовому СФ, т.е. аванс уплачен до 01/01/2019 (выставлен авансовый СФ со ставкой НДС 18/118), доплата НДС в размере 2% (20%-18%)произведена после 01/01/2019. Нужно выставить корректировочный СФ на сумму доплаты НДС. Таким образом, вся оплаченная сумма - это доначисление только НДС, которое отражается в корректировочном СФ. Законодательство: Письмо ФНС от 23 октября 2018 г. N СД-4-3/20667@ "О ПОРЯДКЕ ПРИМЕНЕНИЯ НАЛОГОВОЙ СТАВКИ ПО НДС В ПЕРЕХОДНЫЙ ПЕРИОД" (полный текст см. во вложении): "если доплата налога в размере 2% осуществляется покупателем с 1 января 2019, то такую доплату не следует рассматривать в качестве дополнительной оплаты стоимости, с которой необходимо исчислять НДС по ставке 20/120. При получении такой доплаты налога продавцу следует выставить корректировочный счет-фактуру на разницу между показателем суммы налога по счету-фактуре, составленному ранее с НДС 18/118, и показателем суммы налога, рассчитанной с учетом размера доплаты налога;"Доработки выполнены для страны Россия. В окне редактирования хозяйственной операции финансовых и кассовых документов, добавлена закладка "Доплата НДС". На данной вкладке находятся два поля: 1) Статус хозоперации. Информационное поле, которое может отображать следующие значения: - Доплата НДС не выполнялась; - Доплата НДС; - Связь с доплатой НДС. 2) Связанный документ. Поле отображающее описание хозяйственной операции с которой установлена связь. Предназначено для формирования и удаления связи, а так же для перехода в связанный документ. Для того что бы для текущей хозоперации выполнить доплату НДС необходимо либо выполнить пункт локального меню "Обработать хозяйственную операцию как доплату НДС", либо нажать F3 в поле "Связанный документ". При этом дата оплаты хозяйственной операции (а при ее отсутствии дата выписки документа) должна быть позже 31.12.2018 и хозоперация должна входить в сумму документа. В результате пользователю будет предложено выбрать хозоперацию для которой выполняется доплата НДС. При этом к хозяйственным операциям будет применен следующий фильтр: - период до 31.12.2018 (включительно); - вид документа аналогичный текущему; - контрагент аналогичный текущему; - договор и соглашение аналогичные текущему. Данный фильтр можно изменить (локальное меню интерфейса выбора хозопераций - Установка ограничений). В случае, если у текущей хозоперации существует разноска по ДО, то выбрать можно только хозоперацию с таким же ДО. После выбора хозяйственной операции будет установлена связь между текущей и выбранной хозоперацией и на вкладке "Доплата НДС", в поле "Связанный документ" отобразится наименование выбранной хозоперации, а поле "Статус хозоперации" будет отображаться значение "Доплата НДС". Так же, в окне редактирования хозоперации, в поле "Статус" (самое первое поле сверху окна) отобразится значение "Доплата НДС". При этом, если у выбранной хозоперации было ДО, то в текущей хозоперации оно тоже будет привязно и выполнится распределение по спецификации накладной/акта и рассчитаются налоги. Был доработан расчет налогов. В случае если хозоперация является доплатой НДС, то формируется налог НДС со ставкой 20% и на сумму равную сумме хозяйственной операции. В выбранной хозоперации, в статусе появится подпись - "связь с доплатой НДС". Для того что бы отменить обработку хозоперации как доплату НДС, необходимо в поле "Связанный документ" нажать на клавишу Del. В результате связь будет удалена, а налоги по хозоперации будут пересчитаны. Для того что бы перейти в связанный документ, необходимо в поле "Связанный документ" нажать F4. При удалении платежного документа или одной из связанных хозопераций выполняется удаление связи между документами. При уводе хозоперации в "минус", в случае автоматического создания новой хозоперации, связь между документами копируется в новую хозоперацию. __________________________________________ Доработка СФ.
102.193169NEWВалютная сумма не совпадает с валютной суммой в распределенииФинансово-расчетные операцииВалютное платежное поручение
Когда сумма распределения меньше суммы хоз.операции, возникает запрос на уменьшение суммы хоз.операции. В результате берется распределенная по хоз.операции рублевая сумма, а потом из нее по текущему курсу рассчитывается валютная составляющая суммы. Затем в хозоперацию подставляется рублевая сумма из распределения и рассчитанная валютная сумма. При таких расчетах есть вероятность что валютная сумма не будет совпадать с валютной суммой в распределении. Во вложении пример, когда возникают расхождения, которые не устраивает клиентов. Сумма хозоперации должна совпадать с суммой распределения. Обсуждали с Яковлевым И. Н.После утвердительного ответа на запрос об уменьшении суммы хоз.операции, в валютных платежных документах из распределения берется валютная сумма, а сумма в НДе рассчитывается от нее по курсу. В рублевых платежных документах (даже при наличии ссылки на валюту) из распределения берется сумма в НДЕ, а валютный эквивалент, если он указан, рассчитывается по курсу.