Как в 1с разбить платеж на несколько счетов
Рассматривать алгоритм буду на примере Управление торговлей 10.3, механизм можно внедрить практически в любую из типовых конфигураций. Дано:
- большое количество счетов/заказов
- большое количество входящих платежей (оптимистично, да). Это могут быть Платежки, ПКО и прочие приходные документы.
Необходимо автоматически сопоставить платежи с выставленными счетами и указать их в платежных поручениях входящих (или попытаться это сделать).
Начнем с состава метаданных. Для указания такого соответствия в входящих платежных документах существует отдельная табличная часть - РасшифровкаПлатежа, где в строках проставляется, к каким документам этот платеж относится, и делится сумма платежа на составляющие.
На форме таких документов - есть переключатель Без разбиения/Списком - который, по сути, только переключает внешнее представление этой табличной части. В случае выбора варианта Без разбиения - мы работаем только с первой строкой данной табличной части. В случае выбора второго варианта - имеем дело со всей таблицей.
При поступлении платежа по банку, нам доступны для анализа несколько реквизитов. Это - Контрагент, Договор контрагента, Сумма, Назначение платежа (текстовый комментарий при оформлении платежки). Будем их использовать!
Сразу отмечу - можно сделать автоматическое разнесение минимум двумя способами - обработка, которая будет анализировать все поступающие платежи за период, в дальнейшем можно это поместить в регламентное задание. Второй способ - влезем в модуль документов, процедуру ПриЗаписи - способ менее хорош, потому что задействуем изменение конфигурации.
В данной статье рассмотрим второй способ - он проще и нагляднее, как мне кажется, а привести его к первому варианту не составит большого труда.
Итак. Рассмотрим поступление Платежного поручения входящего (ППВ). Обычно их загружают из клиент-банка, реже вводят вручную. Все необходимые нам реквизиты (повторю - это Контрагент, Договор, Сумма, Назначение) вводятся в ППВ. Теперь нам необходимо проанализировать имеющуюся информацию и попытаться найти один или несколько необходимых счетов.
Анализировать предлагаю в процедуре модуля ПередЗаписью - вызывается перед записью и соответственно перед проведением документа и позволит нам заполнить табличную часть РасшифровкаПлатежа.
Для начала проанализируем, может, мы уже указали соответствующий заказ и ничего делать не требуется. Критериев может быть несколько - заполнены ли все строки в РасшифровкеПлатежа, заполнена ли первая строка в этой ТЧ. Как показала практика, достаточно анализа первой строки:
делаем дальше. Для хранения соответствия нам нужна таблица значений, которую мы потом перенесем в ТЧ.
Теперь разбираем Назначение платежа и пытаемся вытащить полезную для нас информацию, которая поможет найти необходимые счета или заказы. Проходим последовательно каждые 10 символов в Назначении и проверяем, не дата ли это. Если дата, то добавляем информацию в нашу новую таблицу значений. Прогоняем два раза - иногда бухгалтеры пишут год в полном формате - "2015", а иногда просто "15". Будем искать фрагменты вида ХХ.ХХ.ХХХХ и ХХ.ХХ.ХХ. В конце проверяем - корректная ли найденная дата. При желании можно самостоятельно оптимизировать код для одного прогона цикла.
Даты, когда выставлены счета, мы нашли. Теперь проанализируем, есть ли в базе такие счета, и совпадёт ли их сумма с суммой платежа. Если совпадет - бинго! - мы заполнили расшифровку платежа
Таким образом, как показывает практика, мы сможем заполнить около 80% входящих платежек и как минимум освободим много времени у нашего бухгалтера. Договор при поиске мы не используем, в случае неправильного указания в клиент-банке подходящего договора, мы не сможем найти необходимые счета. Можно вывести предупреждение о разных договорах в найденных счетах и в самом платежном поручении.
Платежные поручения, разнесенные по Заказам, мы у себя в базе, например, выделяем цветом в общем журнале - чтобы можно было сразу видеть, где надо еще поработать руками:
В качестве дополнения - можно научить определять программу месяц в дате по названию - январь, февраль. но на практике такое случается достаточно редко, не увидел необходимости.
Всем спасибо за внимание! Будут предложения по алгоритму - с удовольствием выслушаю :)
Многие пользователи задаются вопросом, как правильно работать с банковскими выписками в «1С:Бухгалтерия 8 редакция 3.0», чтобы корректно отразить все поступления и списания. Как грамотно настроить обмен с данными из клиент-банка и какие проводки нужно при этом сформировать.
Поступление
Деньги поступили на счет организации. Теперь данные нужно занести в программу. Откройте вкладку «Банк и касса», затем «провалитесь» в «Банковские выписки».
Документ придется ввести вручную через кнопку «Поступление».
При следующем шаге нужно выбрать необходимый вид операции. Затем организацию и контрагента (предложит справочник).
Обязательно нужно внести данные банковского счета организации.
Вносим корректную сумму платежа.
Далее работаем с табличной частью. Сюда нужно добавить данные о договоре контрагента.
Затем укажите ставку НДС и проверьте счета учета расчетов и авансов. Статью движения денежных средств здесь указывать не обязательно.
Cписание
Теперь в форме банковской выписки требуется отразить списание с расчетного счета. Это делается по соответствующей кнопке «Списание».
Указываем вид операции, организацию. Чтобы отразить выполненную предоплату, выбираем контрагента. Если его нет в списке, то вносим вручную. Затем нужно внести сумму платежа и банковский счет организации.
Переходим к таблице.
Когда в наличии несколько договоров, то по каждому из них потребуется отдельная строка. В статье движения денежных средств прописываем ставку НДС. Проверьте, чтобы счета расчетов и сумма были корректными.
Во вкладке вы видите строку «Назначение платежа», она заполнится автоматически. Однако если необходимо, то можно в ручном режиме можно внести правки.
Осталось провести документ, чтобы сформировались движения по счетам.
Настройка загрузки выписки из банк-клиента
Снова заходим в «Банковские выписки» через вкладку «Банк и касса».
Выбираем «Загрузить», затем нужную организацию, банковский счет - «Настройка».
Система может предложить настройки обмена с клиент-банком. Это нужно сделать, поэтому выбираем «Открыть настройки».
Выбираем название банк-клиента. Затем указать файл загрузки, где расположена информация о движении денежных средств по счету. Чтобы его сформировать, необходимо зайти в банк-клиент и найти пункт выгрузки в 1С.
Когда будете выгружать файл, нужно будет указать место его расположения. Потом в 1С прописать путь к этой папке. Для этого используйте поле «Файл загрузки».
Вы увидите еще одно поле «Файл выгрузки». Но если вы все платежи выполняете в банк-клиенте, то можете не изменять его. «Файл выгрузки» понадобится, когда исходящие платежки делаются в 1С, а потом уже выгружаются в банк-клиент.
Когда выполнены все настройки, файл с данными выгружен из банк-клиента, нужно «Обновить из выписки». Проверяем список платежных поручений, особенно колонку «Вид операции». Если необходимо, то вносим правки. После нажимаем «Загрузить».
Загруженные документы отразятся в банковской выписке в 1С.
Обмен с банком
Чтобы сэкономить время, можно без каких-либо сложностей настроить автоматический обмен данными с банком. Все расчетные операции будут учтены, об этом не стоит беспокоиться. Для этого в системе предусмотрена специальная обработка «Обмен с банком».
В 1С 8.3 есть несколько вариантов работы с клиент-банком:
- из формы «Обмен с банком»;
- из журнала «Банковские выписки»;
- из журнала.
Стандартные настройки не всегда учитывают все особенности бизнес-процессов компании. Если вам необходима индивидуальная настройка, вы можете заказать у нас услуги по доработке и обслуживанию 1С.
Читайте также: