В последние дни месяца 1С:Фреш обновила «Бухгалтерию предприятия» до версии 3.0.207.23. Вскоре утренний прогон нашей автоматики остановился на обычном зачислении по эквайрингу: при поступлении 2 249 ₽ 1С записала в КУДиР доход 3 571,42 ₽ вместо 2 141,90 ₽. Автоматика откатила своё проведение и прислала письмо.
Причина оказалась в самой новой версии. Расчёты с банком-эквайером переехали из регистра «Прочие расчеты» в новый регистр «Расчеты при эквайринге», а старые остатки 1С не перенесла. Зачисление погасило старый остаток, сверх него — всю новую оплату, и часть дохода посчиталась дважды.
Ниже — как это выглядит, как проверить свою базу, что мы сделали за один день и чего не делать до закрытия месяца. Кейс продолжает наш проект «Контроль полного цикла интернет-заказа в 1С». Организация — производитель с интернет-магазином на УСН «доходы минус расходы», плательщик НДС по ставке 5 %. Организация, банки и номера документов не называются.
Симптомы: доход в КУДиР больше самого поступления
- Зачисление по эквайрингу (вид операции «Поступления от продаж по платежным картам») проводится без ошибок. Проводка Дт 51 Кт 57.03 на 2 249 ₽ верная, 57.03 закрыт на сумму поступления.
- В КУДиР доход по этому зачислению больше самого поступления: 3 571,42 ₽ при 2 249 ₽. Ожидалось 2 141,90 ₽ — поступление за вычетом НДС 107,10 ₽.
- В «Движениях документа» новой «Операции по платежной карте» вместо вкладки «Прочие расчеты» появилась «Расчеты при эквайринге». У оплат до обновления — по-старому, «Прочие расчеты».
- Зачисления после обновления ведут себя по-разному: у нас зачисление на 544 ₽ дало верный доход, а на 2 249 ₽ — завышенный.
Главная ловушка: проводки по 57.03 в порядке, поэтому проверка по счетам ошибку не покажет. Она видна в КУДиР, то есть в налоговой базе по УСН, и в регистрах расчётов с банком-эквайером.
Как автоматика поймала ошибку
Автоматика дважды в день проводит в 1С:Фреш документы интернет-заказов: счёт, оплату картой или по СБП, отчёт о розничных продажах, загруженное из клиент-банка зачисление и комиссию банка. Статусу «проведён» она не верит: после каждого проведения читает фактические движения документа и сверяет их с расчётом по данным заказа. Для зачисления она, в частности, проверяет:
- проводки: Дт 51 Кт 57.03 (для карт — вместе с удержанной комиссией Дт 91.02 Кт 57.03) ровно на сумму заказа;
- 57.03 закрыт на всю сумму заказа;
- в КУДиР ровно одна строка, и доход в ней равен сумме заказа за вычетом НДС. Допуск — одна копейка: 1С округляет НДС по каждой погашенной части отдельно.
Первые две проверки прошли, сработала третья. В письме об остановке: доход в КУДиР должен быть без НДС, ожидалось 2 141,90 ± копейка, получено 3 571,42. Зачисление проводила сама автоматика, поэтому она сразу его распровела, записала снимки состояния до проведения и после отката и остановила работу по заказу. Чужие проведённые документы — бухгалтера или загрузки из клиент-банка — автоматика распроведёнными не оставляет: при расхождении останавливается и сообщает.
Лишний доход в КУДиР не остался. Разбор начался утром того же дня, а не при сдаче отчётности.
Причина: регистр «Расчеты при эквайринге» и неперенесённые остатки
В версии 3.0.207 оплата картой и зачисление по эквайрингу ведут расчёты с банком в новом регистре накопления «Расчеты при эквайринге». До обновления для этого служил регистр «Прочие расчеты». Остатки старого регистра 1С в новый не перенесла. В описании «Новое в версии 3.0.207» на момент разбора этот регистр не упоминался: по эквайрингу там только новый вид операции «Возврат по эквайрингу».
В «Прочих расчетах» по договору эквайринга оставались два остатка по 1 501 ₽ с разными знаками — след более раннего сбоя очерёдности погашения. Одна оплата картой была закрыта дважды (−1 501 ₽), у другой висел непогашенный хвост (+1 501 ₽). В сумме по договору это ноль, поэтому в итогах такие остатки не видны. Смотреть нужно по расчётным документам.
Поведение 3.0.207 на переходе мы восстановили по движениям документов и суммам в КУДиР:
- Новая оплата картой сначала гасит старые авансы банка в «Прочих расчетах» (остатки зачислений, пришедших раньше оплат), а остаток своей суммы пишет в «Расчеты при эквайринге». Отрицательный остаток по дважды закрытой оплате она не трогает.
- Зачисление сначала гасит положительные остатки старого регистра. Если его сумма не больше этих остатков, всё уходит в старый регистр. Так прошло зачисление на 544 ₽ при хвосте 1 501 ₽: доход в КУДиР сошёлся только потому, что у чужой оплаты та же ставка НДС, а собственная оплата этого зачисления осталась непогашенной в новом регистре.
- Если зачисление больше старого остатка, оно гасит старый хвост и сверх него — всю свою оплату в новом регистре. Зачисление на 2 249 ₽ «погасило» 1 501 + 2 249 = 3 750 ₽.
- Доход для КУДиР 1С считает от погашенной суммы за вычетом НДС погашенных оплат: 3 750 − (71,48 + 107,10) = 3 571,42 ₽.
Модель выведена из движений нашей базы и подтверждена контрольным проведением после исправления. Официального описания перехода от 1С на момент публикации нет, вопрос задан в обращении в поддержку.
Как проверить свою базу
- «О программе»: версия конфигурации. У нас — 3.0.207.23 в 1С:Фреш.
- «Движения документа» (кнопка ДтКт) у оплаты картой до обновления и после. Если у новой вместо «Прочих расчетов» стоит вкладка «Расчеты при эквайринге», база уже работает по новой схеме.
- Остатки «Прочих расчетов» по каждому договору эквайринга в разрезе расчётных документов. Опасны положительные остатки: пока они есть, зачисление, которое больше такого остатка, может задвоить доход.
- КУДиР по зачислениям после обновления: доход должен равняться оплатам покупателей за вычетом НДС; при ставке 5 % НДС внутри суммы — это сумма × 5/105. Расхождение в копейку — округление, в рубли — ошибка.
- Зачисления, которые записали в «Расчеты при эквайринге» расход на самих себя, то есть аванс банка без оплаты. У такого зачисления НДС из дохода не исключается, и в КУДиР уходит вся сумма.
- Если учёт автоматизирован через OData, проверьте состав публикации. У нас новый регистр туда не попал, и внешние проверки его не видели, пока его не добавили. Скрипты прошли 164 опубликованных регистра и не нашли, куда делись расчёты, — ответ нашёлся только в интерфейсе 1С.
Что сделали в тот же день
- Нашли причину: прочитали движения оплат и зачислений по всем опубликованным регистрам, затем в интерфейсе 1С сравнили «Движения документа» оплат до и после обновления и увидели новый регистр.
- Выровняли переходные остатки документом «Операция» — без проводок и без записей КУДиР, только движения регистра (Ещё → Выбор регистров). В «Прочих расчетах» — расход 1 501 ₽ по оплате с хвостом и приход 1 501 ₽ по дважды закрытой оплате. Сумма по договору и сальдо 57.03 не изменились.
- Поставили операцию раньше проблемного зачисления. 1С берёт остатки на момент документа, а это зачисление было датировано раньше уже проведённого зачисления на 544 ₽. Операция после него не помогла бы: на своём моменте зачисление снова увидело бы старый хвост.
- Провели зачисление заново — это был контрольный пример: доход в КУДиР 2 141,90 ₽, НДС 107,10 ₽ исключён, 2 249 ₽ погашено только в новом регистре и только по своей оплате.
- Второй операцией, датированной после зачисления на 544 ₽, компенсировали его расход 544 ₽ в старом регистре и погасили этой суммой его собственную оплату в новом. Само зачисление перепроводить не стали: под новой версией его прежние движения было бы уже не вернуть.
- Проверили результат: в «Прочих расчетах» по договору остатков нет, в «Расчетах при эквайринге» — только одна оплата, деньги по которой банк ещё не перечислил. Каждое следующее зачисление гасит оплату своего заказа.
- По второму договору эквайринга с другим банком переход сработал зеркально. Оплата картой целиком ушла на погашение старых авансов банка в «Прочих расчетах», а зачисление не нашло оплату в новом регистре, записало аванс банка на себя и не исключило НДС из дохода. Остатки выровняли такой же операцией, доход в КУДиР по этому зачислению поправлен ручной записью.
Условие владельца бизнеса: правки регистров должны быть обратимы. Обе операции можно распровести.
Ловушка при вводе: в поле «Расчетный документ» проверяйте вид документа и дату, а не только номер. Номера в 1С повторяются в разных видах документов и в разных годах. Мы один раз выбрали оплату картой с тем же номером вместо зачисления и заметили это до записи.
Бухгалтеру и в поддержку 1С
Бухгалтеру отправили пояснение: что случилось, какие операции введены, что они меняют и чего с этими документами делать нельзя. В поддержку 1С:Фреш отправили обращение с воспроизведением по шагам: документы, суммы, движения обоих регистров — и шестью вопросами:
- есть ли обработчик переноса остатков «Прочих расчетов» в «Расчеты при эквайринге» и почему он не отработал;
- известна ли ошибка с двойным доходом и есть ли исправление для 3.0.207.23;
- в каком порядке зачисление гасит остатки двух регистров и откуда 1С берёт НДС, если «Сумма НДС» у оплаты в новом регистре пустая;
- допустима ли правка переходных остатков документом «Операция»;
- как закрыть месяц, не перепроводя документы эквайринга, созданные до обновления;
- как «Возврат по эквайрингу» работает с оплатами, остатки которых лежат в «Прочих расчетах».
Закрытие месяца отложено до ответа 1С на эти вопросы, поэтому кейс в статусе «В работе».
Чего не делать до закрытия месяца
- Не запускать «Закрытие месяца» с перепроведением документов и групповое перепроведение, пока не выровнены переходные остатки и 1С не разъяснила, как новая версия перепроводит старые документы. Перепроведённые старые документы эквайринга перейдут на новый регистр и могут изменить КУДиР прошлых периодов.
- Не перепроводить документы эквайринга, датированные до обновления.
- Не распроводить и не удалять корректирующие операции. Не перепроводить зачисление, движения которого компенсированы операцией, — сдвиг вернётся. Если это всё же нужно, сначала распроведите операцию, потом документ.
- Не запускать восстановление последовательности до ответа 1С. В обращении есть вопрос, можно ли перенести её границу на момент после обновления, чтобы перепроводились только новые документы.
- Не ждать, что ошибка уйдёт сама. Пока в старом регистре есть положительные остатки, каждое зачисление больше такого остатка может задвоить доход — в нашей базе так и произошло.
Что изменили в автоматике
Слабое место прежних проверок: зачисление на 544 ₽ проверку КУДиР прошло. Оно погасило чужую оплату, но с той же ставкой НДС, и доход сошёлся. Поэтому теперь автоматика проверяет не только КУДиР, но и сами расчёты с банком:
- Новый регистр добавлен в состав OData, автоматика читает оба регистра.
- Перед проведением зачисления: если в «Прочих расчетах» по договору есть положительный остаток, остановка до записи, причина — в письме.
- После проведения: сумма, которую зачисление погасило в обоих регистрах, должна равняться сумме заказа. У проблемного зачисления вышло бы 3 750 ₽ при 2 249 ₽ — откат сработал бы и без проверки КУДиР.
- В начале каждого прогона — сверка расчётов с эквайером в режиме чтения: положительные остатки в старом регистре, остатки на документах, которые не являются оплатой картой, авансы банка старше трёх дней, приход последних оплат картой на всю их сумму, доступность обоих регистров. Найденные проблемы приходят в письме.
- Офлайн-тест вырос до 134 проверок, пять намеренно испорченных версий проверок (мутаций) он ловит.
Автоматика в этом кейсе настроена под учёт одной организации, перенос на другую базу — отдельный проект. Если у вас похожая связка — сайт, эквайринг и 1С — и расхождения всплывают только при закрытии квартала, расскажите о задаче: оценим, что можно проверять автоматически.
Вопросы, которые задают в такой ситуации
После обновления 1С до 3.0.207 зачисление эквайринга дало двойной доход в КУДиР. Почему?
По нашим наблюдениям, в 3.0.207 расчёты с банком-эквайером ведутся в новом регистре «Расчеты при эквайринге», а остатки «Прочих расчетов» в него не перенесены. Если на момент зачисления в старом регистре есть положительный остаток и он меньше суммы зачисления, 1С гасит этот остаток и сверх него всю оплату в новом регистре. Доход считается от обеих сумм. У нас зачисление на 2 249 ₽ дало 3 571,42 ₽ вместо 2 141,90 ₽.
Как понять, что база уже перешла на регистр «Расчеты при эквайринге»?
Откройте у оплаты картой, проведённой после обновления, «Движения документа» (кнопка ДтКт). Если там вкладка «Расчеты при эквайринге», а «Прочих расчетов» нет, база работает по новой схеме. Сравните с оплатой до обновления: у неё будут «Прочие расчеты».
Можно ли просто перепровести зачисление?
Нет, пока в «Прочих расчетах» есть положительные остатки. 1С возьмёт те же остатки на момент документа и снова погасит старый хвост. Сначала выровняйте остатки документом «Операция» с датой раньше зачисления, затем проведите зачисление и проверьте КУДиР. Такие правки согласуйте с бухгалтером.
Меняет ли корректирующая «Операция» проводки, 57.03 или КУДиР?
Нет, если в ней только движения регистров расчётов, без проводок и без регистров УСН. Сумма по договору не меняется, сальдо 57.03 тоже. Операцию можно распровести, и прежние остатки вернутся.
Может, дело в настройке «Расчеты выполняются при закрытии месяца»?
В нашем случае нет. Переключатель в разделе «Проведение документов» стоял «при закрытии месяца», но организация была в списке исключений, где расчёты выполняются при проведении. Оплата картой при проведении сразу давала Кт 62.02. Настройку стоит проверить, но двойной доход она не объясняет.
Можно ли закрывать месяц?
Мы закрытие отложили до ответа 1С. Если закрытие месяца перепроведёт документы эквайринга, созданные до обновления, они перейдут на новый регистр и могут изменить КУДиР прошлых периодов. В обращении в 1С спросили, можно ли перенести границу последовательности на момент после обновления, чтобы перепроводились только новые документы.
Кейс обезличен: организация, банки-эквайеры, договоры, номера документов и заказов не публикуются. Суммы взяты из реального зачисления — по ним виден механизм ошибки.