Загрузка квитанций от Яндекс.Деньги в Управление торговлей 11.1 для создания документов "Поступление безналичных ДС"

27.08.15

Учетные задачи - Банковские операции

Позволяет вручную (или по расписанию) проверять служебный e-mail и, если там есть письма c реестрами платежей (формат HTML и обычный текст) от "Yandex.Money Payment Center", загружать эти письма-квитанции в табличные части обработки и далее по нажатию на кнопку "Создать поступления безналичных ДС" создавать по каждой квитанции об оплате отдельный документ оплаты, заполненный на основании заказа клиента.
Есть встроенный отладчик для "off-line" имитации работы с электронной почтой, что очень важно для работы техподдержки.

Скачать файлы

Наименование Файл Версия Размер
Обработка загрузки квитанций от Яндекс.Деньги в УТ 11.1.9.51
.epf 23,78Kb
9
.epf 1.0.0 23,78Kb 9 Скачать
Квитанция Яндекс-Деньги как текст.txt
.txt 1,18Kb
2
.txt 1,18Kb 2 Скачать

Обработка выполнена для слегка измененного релиза УТ 11.1.9.51. Загрузка квитанций Яндекс.Деньги с помощью электронной почты универсальна (в части загрузки писем в табличную часть обработки работает и на БП 3.0, УНФ 1.х - везде для режима управляемых форм). Для создания в УТ 11.1 документов поступления денежных средств по сути важен только один реквизит для учета номера заказа на сайте - по нему идет привязка по оплате.

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


Формат входной квитанции в письме имеет вид:

2000258290430; 1973; 24880.00

Номер транзакции; Идентификатор клиента (Номер заказа на сайте); Сумма платежа;

Более подробно формат квитанций от Яндекс.Денег приведен ниже, а также включен в макет обработки для тестирования. Привожу строчки из квитанции (специально сделаны ошибки и дубли для тестирования):

 

29.06.2015, 09:50, "Yandex.Money Payment Center" <paymentcenter@yamoney.ru>:

РЕЕСТР ПЛАТЕЖЕЙ В ООО "Рога и копыта". № 727
Дата платежей: 28.06.2015
Номер транзакции; Идентификатор клиента; Сумма платежа; Валюта платежа; Сумма за вычетом комиссии; Время 
платежа; Номер кошелька плательщика; Краткое описание; Тип платежа;

 

2000258290777; 1871; 24880.00; RUB; 24009.20; 28.06.2015 17:06:19; 419991837201967; testfirma.ru; AC;


Учитывая то, что формат сообщений будет часто меняться и, кроме этого, на начальном этапе внедрения потребуется отладка необходимо в подобных случаях заранее подготовиться к отладке. С этой целью я ввел в обработку макет и опцию "off-line" отладки. Нужно просто скопировать в макет текст с квитанцией и включить опцию "Отладка", а в конце отладки провести "генеральную репетицию" приема с e-mail этой же инструкции. Результат в обоих случаях должен быть одинаковым.

Результат работы обработки следующий:

 

Ниже исходная тестовая информация по заказу клиента (номер заказа на сайте выведен в журнале документов) и конечные результаты работы (включая сообщения об ошибках загрузки - дублируются в журнал регистрации методом глобального контекста ЗаписьЖурналаРегистрации(), т.к. предполагается запуск регламентным заданием для анализа нештатных ситуаций):

Процедура СказатьПользователю(ТекстСообщ)
    // Если фоновый процесс предусмотреть только в техн. журнал
    СП = Новый СообщениеПользователю;
    СП.Текст = ТекстСообщ;
    СП.Сообщить();
    
    // Журнал регистрации
    УстановитьПривилегированныйРежим(Истина);
    ЗаписьЖурналаРегистрации("ошибка в обоработке ЗагрузкаКвитанцийОтЯндексДенег", 
    УровеньЖурналаРегистрации.Ошибка, , ""+ТекстСообщ, "вывод ошибки");
    УстановитьПривилегированныйРежим(Ложь);
    
КонецПроцедуры    

 

Тестовый заказ клиента в УТ 11.1:

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

Общий вид работы.


Результат работы.

 

Данная задача по интеграции оказалась интересной и сложной по следующим пунктам:

1. Прием писем и их первоначальная обработка встроенными средствами платформы 1С 8.3.6 без использования стороннего почтового клиента с помощью объекта "ИнтернетПочта".

Здесь тоже все не так просто, как кажется: начиная от зависания сеанса 1С во время чтения заголовков переполненного ящика и заканчивая настройкой профиля электронной почты для выяснения настроек портов и протоколов (SSL). В частности, для корректного доступа на pop.rambler.ru нужно включить опцию разрешения доступа сторонним почтовым клиентом, иначе будете получать непонятное сообщение в переводе с английского "некоректный логин или пароль". Также нужно учесть глючность методов ограничения и удаления писемПочта.ПолучитьЗаголовки(СтруктураОтбора):

 

СтрОтбора = Новый Структура;
//СтрОтбора.Вставить("ПослеДатыОтправления", Дата(2015, 07, 01) );
//СтрОтбора.Вставить("Прочитанные", Ложь);
//СтрОтбора.Вставить("Новые", Ложь);
Заголовки=Почта.ПолучитьЗаголовки(СтрОтбора);
Если Заголовки.Количество()=0 Тогда
Возврат 0; //Предупреждение("В почтовом ящике нет входящих сообщений!", ,"Нет сообщений");
КонецЕсли;
// Порядок чтения, пометка и удаление с сервера в ТЗ не оговорены! Логично пока не удалять с сервера, но помечать как прочитанные. Читать только непрочненные.
Сообщения = Почта.Выбрать(Ложь, Заголовки, Истина); // Не удалять с сервера, но помечать как прочитанные. 

2. Обработка полученного письма в формате HTML (иначе парсинг веб-страницы).

Это самый сложный пункт, поэтому кто сталкивался с подобными задачами - большая просьба поделиться опытом и рассказать о подводных камнях парсинга.

Здесь столкнулся с проблемой, что автоматически выделить текст "как есть" на сервере хотя бы с переносами строк очень непростая задача. На клиенте можно использовать Поле HTML-документа, но перерыв весь интернет нашел решение в DOM-технологии для получения из исходного HTML-документа сплошной строки текста без переноса (метод 1С 8.3 Новый ИнтернетПочта):

 

Для каждого ТекстСообщения Из Сообщение.Тексты Цикл
Если ТекстСообщения.ТипТекста=ТипТекстаПочтовогоСообщения.HTML Тогда
Попытка
//Проеобразуем HTML в сплошную строку
//штатными средствами 1С 8.3 без переносов:
Построитель = Новый ПостроительDOM;
ЧтениеHTML = Новый ЧтениеHTML;
ЧтениеHTML.УстановитьСтроку(ТекстСообщения.Текст, ТекстСообщения.Кодировка); // Utf-8 по умолчанию.
ДокументHTML = Построитель.Прочитать(ЧтениеHTML);
ТекстВходящие = ТекстВходящие + ДокументHTML.Тело.ТекстовоеСодержимое+ВК_ПС; 
Исключение
ПодробныйАнализОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке() );
СказатьПользователю("Ошибка при чтении-записи информации из письма "+ПодробныйАнализОшибки);
Продолжить;
КонецПопытки;
ИначеЕсли ТекстСообщения.ТипТекста=ТипТекстаПочтовогоСообщения.ПростойТекст Тогда
ТекстВходящие = ТекстВходящие+ТекстСообщения.Текст;
Иначе
СказатьПользователю("Поддерживаются только письма в HTML или простом текстовом формате (не размеченные)"); 
Продолжить;
КонецЕсли; 
КонецЦикла; // Для каждого ТекстСообщения Из Сообщение.Тексты...

 

В результате получим результат в виде строки без переносов. Самое веселое, что придуманый способ отладки уже основывался на алгоритме перебора строк объекта ТекстовыйДокумент.

Как альтернатива можно попытаться удалить символы тегов из HTML вроде такого метода:

//Удаление html тегов из строки
//Код 1C v 8.х
 RegExp = Новый COMОбъект("VBScript.RegExp");
 RegExp.IgnoreCase = Ложь; //Игнорировать регистр 
 RegExp.Global = Истина; //Поиск всех вхождений шаблона 
 RegExp.MultiLine = Ложь; //Многострочный режим 
 
 RegExp.Pattern = "<[^>]*>"; //Ищем теги HTML 
 стр=RegExp.Replace(стр, ""); //Заменяем все теги на пустоту

Еще был вариант использовать COMОбъект("htmlfile"), но тут уже задача сильно усложнается в сторону знаний веб-дизайна.

 

HTML = Новый COMОбъект("htmlfile");
HTML.Open("text/html");
HTML.Write(ТекстПисьма);
HTMLDocument = HTML.documentElement.document;
Сообщить(HTMLDocument.Body.ChildNodes.length);
Сообщить(HTMLDocument.getElementsByTagName("Table").length);
И третий вариант:
// Вариант обработки HTML-документа средствами 1С 8
ХТМЛТекст = ТекстПисьма.ПолучитьТекст();
НовыйHTMLДокумент = Новый COMОбъект("HtmlFile");
НовыйHTMLДокумент.open("text/html");
НовыйHTMLДокумент.write(ХТМЛТекст);
НовыйHTMLДокумент.close();
ТегТела = НовыйHTMLДокумент.all.tags("BODY");
Для а = 0 По ТегТела.length - 1 Цикл
ТегТела.item(а).innerHTML = "
|<P><BR><BR><BR>
|<HR>
|</P>
|<P></P>" + ТегТела.item(а).innerHTML;
КонецЦикла;
ТекстСообщенияДляОтправки = "";
Для а = 0 По НовыйHTMLДокумент.all.length - 1 Цикл
Если НовыйHTMLДокумент.all.item(а).tagName = "HTML" Тогда
ТекстСообщенияДляОтправки = НовыйHTMLДокумент.all.item(а).innerHTML;
КонецЕсли; 
КонецЦикла;

Думаю так, что универсальный парсинг HTML-документа (в т.ч. и сторонними средствами) нужен тогда, когда структура документа заранее неизвестна и будет часто меняться. Здесь же структура относительно постоянно. Я привязался для разбивке строк к двум символам "двоеточие" в дате письма (13.11.2015 14:32:19), а также к 13-ти значному номеру транзакции в Яндекс.Деньги (и еще к 15-ти значному яндекс-кошельку). Метод чтения примитивный, но действенный:

Функция ЕстьТранзакцияВСтроке(СтрТекста, СтрТранзакция)
Пока Истина Цикл
 Поз = Найти(СтрТекста, ";");
Если Поз=0 Тогда
 Возврат Ложь;
КонецЕсли; 

ЯндексКошелек = ОставитьВСтрокеТолькоЦифры(Сред(СтрТекста, Поз-15, 15));

Если СтрДлина(ЯндексКошелек)=15 Тогда
 СтрТекста = Сред(СтрТекста, Поз+1);
 Продолжить;
КонецЕсли;

СтрТранзакция = ОставитьВСтрокеТолькоЦифры(Сред(СтрТекста, Поз-13, 13));

Если СтрДлина(СтрТранзакция)=13 Тогда
 Возврат Истина; // Это кошелек
КонецЕсли;

СтрТекста = Сред(СтрТекста, Поз+1);
КонецЦикла;

КонецФункции 

3. Создание документов поступления денежных средств на основании заказа клиента.

Здесь задача обычная (хотя вся задача относится к разряду интеграции). Пока не стал самовольничать и вносить в конфигурацию новый реквизит - флаг загрузки обработкой (который нужно скрыть от пользователя и заполнять только этой обработкой программно). Также сама УТ 11.1.9 делает контроль взииморасчетов по заказу и не дает переплатить. В текущей версии оставил как есть. Даже в такой реализации двойной загрузке по оплате от клиента (переплаты) не будет, хотя тут нужно уточнять дополнительно по условиям оплаты:

Процедура СоздатьДокументы() Экспорт
// Вопрос по ТЗ: Может создать в пользовательском режиме доп. реквизит (ЗагруженИзЯндексДенег и контроль этой обработкой?
// Иначе только стандартный контроль взаиморасчетов по расшифровкам платежа настройками УТ 11.1.9 как сейчас чтоб заказ не был оплачен дважды
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ВхТЗ", Квитанции.Выгрузить(, "Загрузить, Загружен, НомерЗаказа") );
Запрос.Текст =
"ВЫБРАТЬ
| Вх.Загрузить,
| Вх.Загружен,
| Вх.НомерЗаказа КАК НомерЗаказа
|ПОМЕСТИТЬ ВТ
|ИЗ
| &ВхТЗ КАК Вх
|
|ИНДЕКСИРОВАТЬ ПО
| НомерЗаказа
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Заказ.Ссылка КАК Заказ,
| Заказ.Дата КАК ДатаЗаказа,
| ВТ.НомерЗаказа КАК НомерЗаказаССайта
|ИЗ
| Документ.ЗаказКлиента КАК Заказ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ КАК ВТ
| ПО Заказ.НомерЗаказаНаСайте = ВТ.НомерЗаказа
|ГДЕ
| Заказ.Проведен
| И ВТ.Загрузить
| И НЕ ВТ.Загружен
|
|УПОРЯДОЧИТЬ ПО
| ДатаЗаказа";

РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ДокЗаказ = Выборка.Заказ;
Док = Документы.ПоступлениеБезналичныхДенежныхСредств.СоздатьДокумент();
Попытка
Док.Заполнить(ДокЗаказ);
Если Док.РасшифровкаПлатежа[0].СуммаВзаиморасчетов = 0 Тогда
Продолжить; // Защита от двойной загрузки оплаты. Оплата по-условию только по одному заказу.
КонецЕсли; 
Док.Дата = ТекущаяДата();
Док.НомерВходящегоДокумента = Выборка.НомерЗаказаССайта; //!!! Тип строка в Поступление ДС, а тут - тип число!
Док.ДатаВходящегоДокумента = Док.Дата; // Уточнить. Может брать из квитанции по реестру как и номер входящего документа.
Док.Комментарий = "# Создан обработкой загрузки квитанций от Яндекс.Денег по заказу с сайта "+Выборка.НомерЗаказаССайта;
Док.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный); // Уточнить про выписку банка.
Квитанции.Найти(Выборка.НомерЗаказаССайта, "НомерЗаказа").Загружен = Истина;
// Вопрос про контроль двойной оплаты (будет ли проводиться Поступление ДДС на основании заказа (расшифровка платежа) ?!?
Исключение
ПодробныйАнализОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке() );
СказатьПользователю("Ошибка при записи и проведении "+Док+" на основании "+ДокЗаказ+" Номер заказа с сайта <<"+
Выборка.НомерЗаказаССайта+">>"+ПодробныйАнализОшибки);
КонецПопытки;
КонецЦикла; 
УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры

4. Встроенный отладчик для техподдержки.

Естественно, ничего не заменит тестирования в реальной ситуации, но, возможно, будет так, что работа с почтовым ящиком будет затруднительна (вдруг будут опции удаления писем). Для этого введена опция отладки загрузки. Справка включена в обработку (F1 в помощь).

Если изменился формат или выскакивает ошибка то для отладки проделать следующее:

4.1 На время работ вывести на форму флаг "Отладка" реквизит булево внешней обработки.

4.2 Скопировать текст письма с проблемной квитанцией с почтового ящика как есть.

4.3 Поместить в текстовый макет внешней обработки и сохранить.

4.4 В режиме предприятия под отладчиком установить флаг "Отладка".

Данная обработка с заранее заложенными возможностями отладки "off-line" скопировать текст письма из внешней почтовой программы с реестром платежей в макет обработки как обычный текст письма (без тегов HTML). Результат заполнения табличной части в обоих случаях должен быть одинаковым, т.к. используются общие механизмы.

P.S. Надеюсь, данная методика работы с квитанциями Yandex.Money для планирования входящих платежей от клиентов будет полезна. Жду от Вас замечаний и предложений по данной тематике.

Яндекс.Деньги яндекс-кошелек ПостроительDOM ЧтениеHTML парсинг управление торговлей 11.1.9 интеграция HTML-парсинг чтение е-майл e-mail 1С 8.3 УТ 11.1.9 Yandex.Money планирование поступления ДС Поступление безналичных ДС обработка создания документов по банку загрузка квитанций об оплате квитанции парсинг электронной почты как распарсить письмо в HTML

См. также

Автоматическая обработка документов по банку при загрузке банковской выписки в 1С

Банковские операции Обмен с интернет-банком Эквайринг/ридер магнитных карт Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Устали вручную дозаполнять и корректировать документы по банку после загрузки банковской выписки? С помощью правил обработки банковской выписки вы сможете автоматически определять правильный вид хозяйственной операции, заполнять расшифровку, аналитику платежа и многое другое.

12000 руб.

21.03.2023    8177    32    12    

43

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    15750    10    17    

11

Обмен с клиентом банка для Беларуси

Банковские операции Обмен с интернет-банком Платформа 1С v8.3 Бухгалтерский учет Конфигурации 1cv8 1С:Конвертация данных 1С:Бухгалтерия 3.0 Беларусь Бухгалтерский учет Платные (руб)

Типовая обработка "Клиент-банк" из конфигурации 1С "Бухгалтерия для Беларуси, редакция 2.1" корректно работает с выписками только банка "Дабрабыт", до 28.01.2019 "Москва-Минск". А бухгалтеру нужно работать и с другими банками и с другими конфигурациями. Для этого было разработано расширение, которое позволит решить данную проблему!

10.10.2017    36391    69    Xershi    41    

57

SALE! 20%

Обмен с клиентом банка для БП 3.0, ERP 2.4, ERP 2.5 с дополнительными правилами загрузки

Обмен с интернет-банком Банковские операции Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Выписка клиент-банка загружается и обрабатывается по Вашим правилам. Заполнение реквизитов документов, анализ назначения платежа. Работа с клиент банком не отличается от типового варианта, а документы автоматически заполняются так, как нужно вам. Дополнительная обработка, работающая совместно с основным расширением позволяет подключать собственные произвольные алгоритмы.

20400 16320 руб.

03.04.2013    122251    243    377    

158

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17558    6    15    

13
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Melifaro588 13.07.15 14:14 Сейчас в теме
Разве таковая цепочка верна? Если я правильно понял, то приходник формируется от клинта на продавца.
Яндекс деньги сначала получает средства от клиента, а потом перечисляет получателю.
Соответственно необходимо формировать перенос задолженности с клиента на яндекс деньги.
Nefertary; jobkostya1c_ERP; +2 Ответить
2. jobkostya1c_ERP 100 13.07.15 14:22 Сейчас в теме
(1) Melifaro588, насчет предметной области Вы верно заметили - это как будто "ПКО оформили" и взаиморасчеты сдвинулись в "нашу пользу", но: мы собираем КВИТАНЦИИ по почте, а не официальное подтверждение из банка. Фактически как работа с эквайрингом получается - банк с нами проводит сводный расчет в конце месяца за вычетом возвратов. Тут то мы получаем бумажки. Мало ли кто там чего прислал? Это всего лишь расчеты, а не взаиморасчеты. Планируемое поступление денег, а не фактическое. Документ в УТ 11.1 "поступление безналичных ДС" в редакции 11.1.9 нужно проводить после заполнения табличной части документа Выписка банка. Это уже в 10-й редакции УТ есть опция "проведено банком" (уже эти редакции на них памяти не хватает).
К тому же вы же анонс публикации взят один в один по ТЗ к задаче. Вопрос насколько корректна такая цепочка уже к непосредственному заказчику, которого я в глаза не видел :) Может вообще левые платежи хотят собирать?
3. jobkostya1c_ERP 100 13.07.15 14:26 Сейчас в теме
Дополнительно, формирование банковской выписки в любой программе дело серьезное. Это уже реальные списания со счета (или зачисления на счет). Там формат уже более "строгий", хоть и текстовый, т.к. регламентирован банком и все равно тот кому доверили работу с банком должен все контролировать и быть ответственным не полагаясь на автоматику.
4. jobkostya1c_ERP 100 14.07.15 17:51 Сейчас в теме
Просматривал аналогичные разработки. Например эта по использованию API-яндекс.деньги из 1С обладает более мощными возможностям, но нужен "монопольный" доступ к финансовой информации.
5. Nefertary 163 18.09.15 09:00 Сейчас в теме
Тоже работаем с Я.Деньги, но данные об оплате нам передает Битрикс (доработанный).
У нас используется штатная цепочка "Эквайринговая операция" - "Поступление безналичных ДС"
Эквайринговая операция - это как раз факт поступления денег от клиента в платежную систему.
В момент проведения долг клиента переносится на эквайрера(платежную систему)
При проведении поступления денег долг эквайрера закрывается.
6. jobkostya1c_ERP 100 18.09.15 10:21 Сейчас в теме
(5) Nefertary, а в том то и дело что по этой обработке НЕ СТАВИТСЯ флажок "Проведено выпиской банка" (я про смысл, а не как там точно в программе) в одних редакциях УТ 11.1 проведение банковской выпиской, в других просто флажок в платежном поручении и один документ.
Главное смысл: получение по почте квитанции о совершенной операции уже факт что деньги поступят, а у Вас получение сведений от битрикса из эквайринговой системы уже фактически равносильно ОФИЦИАЛЬНОЙ банковской выписки.
Проведение потом по банку после таких обработок еще никто не отменял!
8. Nefertary 163 18.09.15 11:05 Сейчас в теме
(6)
Эквайринговая операция не формирует движения ДС, а только двигает расчеты с клиентом. В этом смысле все корректно.
По платежке деньги придут потом именно от эквайрера, а не от физика.
jobkostya1c_ERP; +1 Ответить
9. jobkostya1c_ERP 100 18.09.15 17:47 Сейчас в теме
(8) Nefertary, в говове БП и проводки
10. jobkostya1c_ERP 100 18.09.15 18:44 Сейчас в теме
(8) Nefertary, каждую задачу нужно смотреть отдельно и на том релизе что будет внедряться (дорабатываться) для УТ 11.1.10 посмотрел по эквайрингу (из встроенной справки):
1. Эквайринговая операция

Документ предназначен для отражения операций оплаты клиентом за товары, работы, услуги с помощью платежных (пластиковых) карт международных платежных систем, и отражения операций возврата денежных средств на платежную карту.
Для оформления операций по оплате платежными картами необходимо предварительно ввести информацию об эквайринговом терминале, с помощью которого будут оформляться платежи по платежным картам.
Информация о проведенных банком платежах по платежным картам регистрируется в документе Отчет банка по операциям эквайринга.
В документе предусмотрена возможность печати чека для случая, когда эквайринговый терминал не имеет своего принтера чеков и чек должен распечатываться на фискальном регистраторе.
Использование операций эвайринга (оплата платежными картами) включается/отключается функциональной опцией Оплаты платежными картами в разделе Администрирование - Организации и денежные средства.

2. Отчет банка по эквайрингу:

Документ предназначен для регистрации детальных отчетов по операциям эквайринга, полученных из обслуживающих банков. Отчеты представляют собой расшифровку платежей, поступивших на расчетный счет или списанных с расчетного счета в банке-эквайере при оформлении платежей с использованием платежных карт. При помощи документа отражается сумма эквайринговой комиссии.
Для оформления операций по оплате платежными картами используется документ Эквайринговая операция.
Предусмотрена возможность автоматической загрузки отчетов банка по эквайринговым операциям из внешнего файла. Для этих целей используется обработка Загрузка отчета банка по эквайрингу.

Насчет бухгалтерских проводок эквайринговых операций:
Услуги банка по договору эквайринга НДС не облагаются.

Если перевод денежных средств осуществляется банком в день осуществления оплаты картами, то бухгалтерские проводки будут следующими:

Д 62 К 90.1 – выручка от безналичных продаж
Д90.3 К 68.2 – начислен НДС с продажи (для ЮЛ при ОСНО)
Д 51 К 62 – зачислены на расчетный счет денежные средства, оплаченные платежными картами.
Д 91.2 К 51 – удержана и принята на расходы комиссия банку по договору эквайринга.
Если перевод денежных средств банком происходит не в день осуществления оплаты картами, то необходимо использовать счет 57 «Переводы в пути»

Д57 К 62 – переданы в банк документы по оплате картами
Д51 К 57 – зачислены на расчетный счет денежные средства за товары, оплаченные платежными картами.
Если организация розничной торговли, то можно не использовать 62 счет, а выручку начислять используя счета 57 и 90.1.

Д57 К 90.1 – выручка от продаж
Д 90.3 К 68.2 – начислен НДС с продаж
Д51 К 57 – зачислены на расчетный счет деньги за товар, оплаченные платежными картами.
Д 91.2 К 57 – принята к расходам комиссия банка по договору эквайринга.
Показать

На рисунках видно что "реальное" поступление денег по документу операции (как в этот же день без 57 счета), а обычно банки "тянут время"
Реальный расход только по комиссии банка из отчета (который могут предоставить официальный с печатью по запросу).
Прикрепленные файлы:
7. jobkostya1c_ERP 100 18.09.15 10:24 Сейчас в теме
Тем более парсинг чего-то это фактически "заплатка", которая может не сработать и клиент будет недоволен. Тут задача была интересна с точки зрения методов парсинга HTML, чем создания документов цепочки оплаты.
11. jobkostya1c_ERP 100 18.09.15 18:51 Сейчас в теме
Если посмотреть внутренности то документ Поступление ДС более функционален (там почти половина всех регистров накопления и, главное, реквизит "проведеноБанком" при загрузке выписок.
Каждую задачу приходится смотреть отдельно по той цепочке в ТЗ, которую предоставили. Ее еще самому нужно смоделировать именно в УТ 11.1 из-за большого разброса релизов.
Прикрепленные файлы:
Оставьте свое сообщение