Оплата платежными (банковскими) картами и кредитами в 1С: Бухгалтерии 2.0 (эквайринг)

03.02.17

Задачи пользователя - Адаптация типовых решений

Столкнулся с задачей реализовать оплату платежными картами от покупателя в конфигурации 1C Бухгалтерия 2.0 (на примере одноименного документа в конфигурациях УТ 10 и 11). Необходимость возникла в связи с тем, что у заказчика не классическая розничная торговля в деньги (деньги взял - товар отдал), а вариант: "утром деньги - вечером стулья". Т.е. для отражения факта отгрузки товара используется документ "Реализация товаров и услуг", при этом оплата может быть от покупателей частичная наличными и по платежным картам, это может быть просто аванс без отгрузки или наоборот доплата.

Данная публикация будет интересна тем, кто ведет учет в 1С: Бухгалтерия 2.0 при этом торгует в розницу и использует документ "Реализация товаров и услуг".

На скриншотах видно, как заполняется документ и в результате формируются проводки по всем разделам учета (это основная цель всех заморочек).

Документ "Оплата платежными картами" формирует проводку:
Дт 57.03 (Банк эквайер, договр)  -  Кт 62 (Покупатель, договор)

Стандартным документом "Поступление на расчетный счет" с видом операции : поступление от продаж по платежным картам и банковским кредитам формирует проводку:
Дт 51 (Расчетный счет)  -  Кт 57.03 (Банк эквайер, договор)

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

Цели доработки:

- регистрировать оплату платежными картами с привязкой к конкретному покупателю;

- регистрировать оплату кредитами с привязкой к конкретному покупателю;

- формирование соответствующих проводок: Дт 57.03 (Банк эквайер, договор)  -  Кт 62 (Покупатель, договор);

- важным было формирование движений по дополнительным регистрам, для корректного отображения в книгах доходов/ расходов УСН и по Патенту;

- максимально уйти от ручного формирования проводок и движений;

- сохранить зачеты авансов по документам движения.

Из всего выше сказанного вариант с переброской долга документом "Корректировка взаиморасчетов" отброшен сразу, т.к. неотвечал ни одному из условий задачи.

Реализация задуманного:

1. Итак, чтобы не выдумывать велосипед за основу был взят документ "Приходный кассовый ордер" - данный документ необходимо скопировать и переименовать, например "ОплатаПлатежнымиКартами". Далее в документ добавляем два реквизита: "БанкЭквайер" (тип СправочникСсылка.Контрагенты) и "ДоговорБанкаЭквайера" (тип СправочникСсылка.ДоговорыКонтрагентов). Размещаем реквизиты в форме документа и не забываем установить для договора связку по владельзу - для удобства выбора договора при работе.

 

 

Я также удалил кнопку "Чек" - чтобы не смущала (рядом с кнопкой "ОК").

Укажите, что документ может вводиться на основании "Реализации товаров и услуг".

2. Доработки модуля формы документа "Оплата платежными картами":

Везде где есть строка Кнопки.Чек.Доступность = Истина  ( Кнопки.Чек.Доступность = Ложь) - закомментировать

например: //АА ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Чек.Доступность = Ложь;

 

Процедура ЗаполнитьСчетаКассы()
	
	МассивОтбора = Новый Массив;
	МассивОтбора.Добавить(ПланыСчетов.Хозрасчетный.Касса);

	......
	
	//АА Комментируем чтобы не выбирать стандартные счета кассы 50..
        //АА ЭлементыФормы.СчетКасса.СписокВыбора = РаботаСДиалогами.ЗаполнитьСписокВыбораСчетовДенежныхСредств(
	//АА МассивОтбора, ТолькоРубли, ПланыСчетов.Хозрасчетный.КассаОрганизации, МассивИсключений);
		
	//АА Добавляем в список выбора только нужный счет 50.03
	ЭлементыФормы.СчетКасса.СписокВыбора.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("57.03"), "57.03");
	
КонецПроцедуры

 

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
	
	Если ЭтоНовый() Тогда // проверить объект на то, что он еще не внесен в ИБ
		//АА Уберем запрос вида операции РаботаСДиалогами.ВыбратьВидОперации(ЭтотОбъект, Отказ);
		
		//АА Добавить чтобы не вводить каждый раз при создании документа
		ВидОперации = Перечисления.ВидыОперацийПКО.ОплатаПокупателя;
		СчетКасса  =ПланыСчетов.Хозрасчетный.НайтиПоКоду("57.03");
		
	КонецЕсли;
	
	// Установка кнопок печати
        //АА комментируем чтобы не было меню Печать в форме документа	
        //АА УстановитьКнопкиПечати();
	
	// Установка кнопок заполнение ТЧ
	УстановитьКнопкиПодменюЗаполненияТЧ();
	
	ЗаполнитьСчетаКассы();
	
	ЗаполнитьСчетаБанка();
       
КонецПроцедуры // ПередОткрытием()

 

Процедура СчетКассаПриИзменении(Элемент)

      //АА  В этой процедуре удалите весь код
	
КонецПроцедуры

3. Доработки модуля документа "Оплата платежными картами":

Процедура ОбработкаПроведения(Отказ, Режим)
	
	...
	
	// Проверка ручной корректировки
	
        //АА Заблокировал, т.к. выдавало ошибку.. не стал разбираться.
        //АА НО ЕСЛИ КТОТ БУДЕТ КОРРЕКТИРОВАТЬ ПРОВОДКИ ВРУЧНУЮ - РАЗБЕРИТЕСЬ С ОШИБКОЙ
        // иначе ручные изменения будут слетать при перепроведении документа

        //АА Если ОбщегоНазначения.РучнаяКорректировкаОбработкаПроведения(РучнаяКорректировка,Отказ,Заголовок,ЭтотОбъект) Тогда
	//	Возврат
	//КонецЕсли;
	
        ...
	
КонецПроцедуры // ОбработкаПроведения
Процедура ДвиженияПоРегистрам(Режим, Отказ, Заголовок ,СтруктураШапкиДокумента)

       ...
   
	Если ЕстьРасчетыСКонтрагентами или ЕстьРасчетыПоКредитам Тогда

		СтруктураШапкиДокумента.Вставить("КоррСчет",СчетДт);
		
		ТаблицаДокумента = УправлениеДенежнымиСредствами.ПодготовитьТаблицуОплат(СтруктураШапкиДокумента);
		
		Если ЕстьРасчетыПоКредитам Тогда
			ТаблицаДокумента.ЗагрузитьКолонку(ТаблицаДокумента.ВыгрузитьКолонку("СчетОплаты"),"СчетАванса");
		КонецЕсли; 
		
		
		//АА Добавить наши субконто для счета 57.03
		ТаблицаДокумента.ЗаполнитьЗначения(БанкЭквайер, "КоррСубконто1");
		ТаблицаДокумента.ЗаполнитьЗначения(ДоговорБанкаЭквайера, "КоррСубконто2");
		//АА Конец
		

		ОпределятьСостояниеРасчетов = ЕстьРасчетыСКонтрагентами;
		
		ТаблицаРаспределенияОплат = УправлениеВзаиморасчетами.ПогаситьЗадолженностьКонтрагентов(
			СтруктураШапкиДокумента, ТаблицаДокумента, ЭтотОбъект, 
			Отказ, Заголовок, СодержаниеПроводки, ОпределятьСостояниеРасчетов);

         ...

КонецПроцедуры

4. Доработка общего модуля ОбщийМодуль.БухгалтерскийУчетРасчетовСКонтрагентами:

Функция ОпределениеНаправленияДвиженияДляДокументаДвиженияДенежныхСредств(Знач ВидДокумента,ВидОперации = неопределено) Экспорт

	ВидДействийДокумента = Новый Структура("Направление,РасчетыВозврат");
	ВидыДокументовДДС    = Новый Соответствие();

	ВидыДокументовДДС.Вставить("СписаниеСРасчетногоСчета", "Выбытие");
	ВидыДокументовДДС.Вставить("РасходныйКассовыйОрдер", "Выбытие");
	ВидыДокументовДДС.Вставить("ПоступлениеНаРасчетныйСчет", "Поступление");
	ВидыДокументовДДС.Вставить("ПриходныйКассовыйОрдер", "Поступление");
	
	//АА Добавить строку чтобы правильно формировал проводки Дт 57.03 Кт 62
	ВидыДокументовДДС.Вставить("ОплатаПлатежнымиКартами", "Поступление");

	ВидыДокументовДДС.Вставить("АвансовыйОтчет", "Выбытие");

 

5. Также для возможности просмотра движений документа по кнопк ДтКт необходимо добавить наш документ в тип реквизита "ДокументОбъект" обработки "КорректировкаДвижений"

 

 

В итоге получаем при проведении документов оплаты от покупателя и поступления этих денежных стредств из банка:

Движения при регистрации оплаты картой от покупателя: погашении долга покупателя, увеличение долга банка эквайера, движения по регистру для учета УСН/Патент

 

 

Движения при регистрации поступления денег от банка эквайера: погашении долга банка эквайера, списание комиссии банка на счет расходов, движения по регистру для учета УСН/Патент

 

 

- движения по регистру КУДиР: признание расходов ЕНВД (или УСН в ином случае)

 

 

- движения по регистру Книги учета доходов при Патенте (отсутствует в случае УСН)

 

 

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

19520 руб.

21.03.2023    22920    161    39    

120

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

Корректируйте банковские документы быстро и легко! Создайте правило обработки, и оно автоматически применится при загрузке выписки, экономя ваше время (Можно настроить отбор по любому реквизиту или по регулярному выражению). Решение позволяет автоматически заполнять расшифровку платежа, исключать загрузку ненужных документов (дублей) из банка, заполнять комиссию за эквайринг и многое другое. Вам не нужно доплачивать за алгоритмы, они уже включены в решение. Автоматическая обработка применяется при загрузке данных как из файлов клиент банка, так и через DirectBank. Доступен AI чат бот который умеет консультировать по функционалу решения.

15250 руб.

20.12.2024    15281    65    27    

62

Адаптация типовых решений 1С:Предприятие 8 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

32330 руб.

29.06.2023    12000    35    15    

42

Банковские операции Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

9760 руб.

17.06.2025    3408    9    0    

8

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

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с соответствующими именами, при выводе на печать в размещённые картинки будут выводиться факсимиле из прикреплённых рисунков. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

6000 руб.

07.02.2023    12976    116    23    

72

Адаптация типовых решений 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Расширение для вывода информации об остатках и ценах номенклатуры в форме списка и выбора номенклатуры. (УТ 11, КА 2, ERP). Позволяет получать информацию о ценах, остатках и доступности в разрезе складов и характеристик номенклатуры, информацию по документам резерва.

7930 руб.

16.10.2025    1228    2    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. drimer 59 21.07.17 20:13 Сейчас в теме
// Проверка ручной корректировки

//АА Заблокировал, т.к. выдавало ошибку.. не стал разбираться.
//АА НО ЕСЛИ КТОТ БУДЕТ КОРРЕКТИРОВАТЬ ПРОВОДКИ ВРУЧНУЮ - РАЗБЕРИТЕСЬ С ОШИБКОЙ
// иначе ручные изменения будут слетать при перепроведении документа

//АА Если ОбщегоНазначения.РучнаяКорректировкаОбработкаПроведения(РучнаяКорректировка,Отказ,Заголовок,ЭтотОбъект) Тогда
// Возврат
//КонецЕсли;
Отключение проверки ручной корректировки приведёт к добавлению строк проводок к ранее записанным.
Для исправления ошибки необходимо включить документ в Подписки на события - ПередЗаписьюДокументаДляУдаленияДвижений.
Realyzer; insurgut; +2 Ответить
2. insurgut 208 06.07.18 10:32 Сейчас в теме
А ведь ещё и чек при необходимости нужно выбить... жаль ничего нет тут на этот счет :-/
3. insurgut 208 08.07.18 12:05 Сейчас в теме
Чтобы корректно данные доработки работали с УСН/ЕНВД необходимо ещё немного доработок:

1. В общем модуле НалоговыйУчетУСН добавить:

Процедура ДвиженияУСН(...) Экспорт
...
ИначеЕсли
ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПоступлениеНаРасчетныйСчет") ИЛИ
ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.СписаниеСРасчетногоСчета") ИЛИ
ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПриходныйКассовыйОрдер") ИЛИ
ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ОплатаОтПокупателяПлатежнойКартой") ИЛИ //<--доработка
ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПриходныйКассовыйОрдер") ИЛИ
ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.РасходныйКассовыйОрдер") ИЛИ
ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПоступлениеДенежныхДокументов") ИЛИ
ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ВыдачаДенежныхДокументов") Тогда

ОтразитьВУСН(ДокументСсылка, ,СтруктураШапкиДокумента, , СтруктураДопПараметров);
...
Показать


2. В тип измерения РегистрНакопления.РасходыПриУСН.Партия добавить наш документ
Realyzer; +1 Ответить
4. SnakePlisskin 3 25.09.18 19:17 Сейчас в теме
Доброго дня! А можете прояснить момент, когда на следующий день придут выписки из банка и деньги упадут на расчетный счет, что в этом случае делать?
5. alexhline 110 25.09.18 23:18 Сейчас в теме
Смотрите скриншот выше: "Движения при регистрации поступления денег от банка эквайера: погашении долга банка эквайера, списание комиссии банка на счет расходов, движения по регистру для учета УСН/Патент".
Будет формирование проводок по закрытию долга Эквайера: Дт 51 (Расчетный счет) - Кт 57.03 (Банк эквайер, договр)
6. SnakePlisskin 3 26.09.18 08:56 Сейчас в теме
(5)я так понимаю, данная доработка уже прошла "боевые" испытания, как показала себя в работе?
7. alexhline 110 26.09.18 20:02 Сейчас в теме
(6) Это доработка программы, а не обработка отдельная.
У одного заказчика работала два года назад, сейчас актуальность не могу сказать.
Данная тема (статья) ранее мной была переведена в архив, как вы ее находите...
8. SnakePlisskin 3 27.09.18 08:59 Сейчас в теме
(7)я понимаю что это доработка конфигурации. поиском нашлась, очень полезная штука, как раз нужно что-то типа такого)
Для отправки сообщения требуется регистрация/авторизация