Как автоматически создавать счета на оплату на основании входящих банковских выписок в 1С:Бухгалтерия 3.0

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

В повседневной практике индивидуальных предпринимателей и небольших компаний, работающих в сфере услуг, часто возникает ситуация «шиворот-навыворот». Клиент производит оплату (например, за отработанные часы или консультации) без предварительно выставленного счета. Для корректного ведения учета в 1С:Бухгалтерия предприятия 3.0, формирования актов и закрытия авансов, бухгалтеру или ИП приходится вручную создавать документ Счет на оплату уже после того, как деньги поступили на расчетный счет. Разберем, как автоматизировать этот процесс, чтобы избавить себя от рутины.

Проблематика: почему это сложно автоматизировать?

Главная сложность при создании счета на основании выписки — отсутствие данных о товарном наполнении. В документе Поступление на расчетный счет есть сумма, контрагент и назначение платежа, но нет перечня конкретных товаров или услуг. Проанализируем основные алгоритмы, которые позволяют системе «угадать» содержание счета:

  1. Анализ текста назначения платежа: программный поиск ключевых слов в строке НазначениеПлатежа. Если встречается фраза «за ИТ-услуги», система подставляет соответствующую номенклатуру.
  2. Использование основной номенклатуры: для тех, кто оказывает однотипные услуги (например, «Аренда» или «Сопровождение 1С»), в настройках обработки задается одна позиция по умолчанию, которая заполняет табличную часть на всю сумму прихода.
  3. Копирование из предыдущих сделок: система находит последний оформленный документ Реализация (акт, накладная) или предыдущий Счет на оплату по данному контрагенту и копирует состав услуг оттуда.

Техническая реализация через внешнюю обработку

Рассмотрим вариант создания инструмента, который будет сканировать список поступлений и генерировать счета. Основным объектом для работы в коде будет выступать Документы.СчетНаОплатуПокупателю. Посмотрим на пример кода, который инициализирует новый счет на основании данных выписки:


// Пример заполнения счета на основании Поступления на расчетный счет
НовыйСчет = Документы.СчетНаОплатуПокупателю.СоздатьДокумент();
НовыйСчет.Дата = ОбъектВыписка.Дата;
НовыйСчет.Организация = ОбъектВыписка.Организация;
НовыйСчет.Контрагент = ОбъектВыписка.Контрагент;
НовыйСчет.ДоговорКонтрагента = ОбъектВыписка.ДоговорКонтрагента;
НовыйСчет.ВалютаДокумента = ОбъектВыписка.ВалютаДокумента;
НовыйСчет.СуммаВключаетНДС = Истина;

// Добавление строки в табличную часть
НоваяСтрока = НовыйСчет.Товары.Добавить();
НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Консультационные услуги");
НоваяСтрока.Количество = 1;
НоваяСтрока.Цена = ОбъектВыписка.СуммаДокумента;
НоваяСтрока.Сумма = ОбъектВыписка.СуммаДокумента;

НовыйСчет.Записать(РежимЗаписиДокумента.Запись);

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

Использование расширений конфигурации

Для более бесшовной интеграции в интерфейс 1С:Бухгалтерия 3.0 лучше использовать расширения. Это позволит добавить кнопку «Создать счет» непосредственно в форму списка банковских выписок. Разберем преимущества такого подхода:

Особенности учета для ИП на УСН

Для ИП, применяющих упрощенную систему налогообложения, критически важно, чтобы все входящие суммы были обоснованы первичными документами. Автоматическое создание цепочки Поступление -> Счет -> Акт позволяет значительно ускорить подготовку к налоговому периоду. Проанализируем ситуацию с авансами: если оплата пришла в конце квартала, а акт будет выставлен в начале следующего, наличие созданного «задним числом» счета поможет правильно идентифицировать назначение платежа для КУДиР.

Риски и нюансы автоматизации

Несмотря на удобство, следует учитывать несколько важных моментов при внедрении такой автоматизации:

Контроль НДС: Если ваша организация является плательщиком НДС, автоматическое создание счетов должно четко контролировать ставки налога (0%, 10%, 20%), указанные в назначении платежа, чтобы не возникло расхождений с декларацией.

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

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

Выясним причину, по которой типовой функционал 1С не содержит такой возможности «из коробки»: методология учета предполагает, что счет является первичным намерением сделки, а не её результатом. Однако для микробизнеса и самозанятых специалистов техническая доработка в виде расширения или внешней обработки становится незаменимым инструментом, экономящим часы ручного ввода данных.

← На главную