Почему 1С:Бухгалтерия и 1С:УПП по-разному рассчитывают стоимость товаров в условных единицах при наличии аванса?

Программист 1С v8.3 (Обычные формы) Бухгалтерский учет
← На главную

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

Законодательная база: ПБУ 3/2006 и учет авансов

Для начала проанализируем методологическую основу. В российском учете правила оценки активов в валюте или у.е. регулируются ПБУ 3/2006 «Учет активов и обязательств, стоимость которых выражена в иностранной валюте». Ключевое правило, которое нам необходимо запомнить: авансы не переоцениваются.

Выясним, как это влияет на стоимость товара (счета 10, 41):

  1. Если организация перечислила поставщику 100% предоплату, то товар должен быть принят к учету по курсу на дату оплаты.
  2. Если была частичная предоплата, то стоимость товара складывается из рублевой суммы аванса (по курсу на дату аванса) и остатка стоимости по курсу на дату поступления.
  3. Курсовые разницы в этом случае на стоимость товара не влияют — они возникают только при переоценке задолженности (кредиторской или дебиторской), но не аванса.

Проанализируем пример: мы оплатили 10 евро по курсу 60 рублей (600 руб.). На дату поступления курс составил 70 рублей. Согласно ПБУ 3/2006, товар на 10 счете должен стоить именно 600 рублей, а не 700. Если программа ставит 700 рублей — это методологическая ошибка.

Механизм корректировки в 1С:Бухгалтерия

В конфигурации «Бухгалтерия предприятия» реализован механизм «на лету». При проведении документа поступления система проверяет наличие остатков по счету 60.32 (или 60.22 для валюты) в разрезе аналитики. Если программа обнаруживает аванс, она понимает, что стоимость ТМЦ в документе, рассчитанная по курсу на текущую дату, не соответствует ПБУ.

Для исправления этой ситуации вызывается процедура: БухгалтерскийУчетРасчетовСКонтрагентами.РаспределитьКорректировкуПриРасчетахВУсловныхЕдиницах

Рассмотрим, что именно делает эта процедура:

Именно поэтому пользователи видят «странные» суммы с разницей в копейки или рубли — это результат распределения курсовой разницы аванса на каждую позицию номенклатуры. Если вы видите, что программа делает такие корректировки, значит, в шапке документа поступления указан курс, отличный от курса аванса, и программа приводит учет в соответствие с законом.

Особенности реализации в 1С:УПП 1.3

В 1С:УПП механизмы учета более консервативны и часто зависят от настроек учетной политики и последовательности действий пользователя. Посмотрим на основные отличия:

  1. Сборный курс: В отличие от БП, УПП часто требует более внимательного отношения к курсу в самом документе. Если поступление закрывает несколько авансов по разным курсам, система в момент проведения документа по бухгалтерскому учету может не сразу рассчитать идеальную стоимость, если нарушена последовательность документов.
  2. Восстановление последовательности: Посмотрим на важный нюанс — правильные суммы по расчетам в у.е. в УПП часто формируются окончательно только после запуска обработки Восстановление последовательности расчетов. До этого момента в регистрах и проводках могут висеть временные оценки.
  3. Регламентные операции: Корректировки стоимости в УПП могут выполняться отдельными движениями при проведении регламентных документов в конце месяца, что сбивает с толку пользователей, привыкших к немедленному результату в БП.

Если в УПП суммы на 10 счете не сходятся с БП, первым делом необходимо проверить, восстановлена ли последовательность расчетов по данному контрагенту и договору. Также стоит обратить внимание на то, как заполнена вкладка «Предоплата» в документе (если она используется в вашей версии конфигурации).

Как избежать «лишних» корректировок и расхождений

Разберем, как сделать так, чтобы в обеих программах данные были идентичными и прозрачными. Основная причина «кривых» сумм — ручное изменение курса в документе поступления без учета аванса.

Выполним следующие рекомендации:

Рассмотрим пример кода, который часто фигурирует при анализе этой проблемы (схематично):


// Фрагмент логики распределения корректировки
СуммаПоКурсуАванса = ОтработанныйАванс.ВалютнаяСумма * ОтработанныйАванс.Курс;
СуммаПоКурсуДокумента = ДокументПоступления.ВалютнаяСумма * ДокументПоступления.Курс;

Если СуммаПоКурсуАванса <> СуммаПоКурсуДокумента Тогда
    Разница = СуммаПоКурсуАванса - СуммаПоКурсуДокумента;
    // Процедура распределяет эту разницу по строкам ТМЦ
    РаспределитьСуммуПоСтрокам(ДокументПоступления.Товары, Разница);
КонецЕсли;

Проанализировав ситуацию, мы приходим к выводу: поведение 1С:Бухгалтерии является более автоматизированным и строгим с точки зрения соблюдения ПБУ 3/2006. УПП требует большего контроля за последовательностью документов. Если же суммы в БП начали сходиться с УПП после перепроведения, это означает, что документы просто «встали» в правильную хронологическую очередь, и потребность в автоматической корректировке «кривого» курса отпала.

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

← На главную