- ТРИБУНА УЧЁНОГО электронный научно-практический журнал
✒ ОПУБЛИКОВАТЬ СТАТЬЮ В НАШЕМ ЖУРНАЛЕ
ОПУБЛИКОВАТЬ СТАТЬЮ
-
•
РЕГИСТРАЦИЯ•ВХОД•
ОПИСАНИЕ ВЕДЕНИЯ БИЗНЕС-ПРОЦЕССА МОДУЛЯ SAP FI «КОРРЕСПОНДЕНЦИЯ СЧЕТОВ» ОПИСАНИЕ ПРОБЛЕМЫ СТАНДАРТНОЙ РЕАЛИЗАЦИИ
Статья опубликована в журнале за "Июнь 2020"
Автор(ы) статьи: Карамаев М.О.
PDF файл статьиУДК 345.5 Карамаев Максим Олегович студент 2 курса магистратуры, факультет управления и автоматизации Нижнекамский химико-технологический институт (филиал) Казанский национальный исследовательский технологический университет Россия, г. Казань e-mail: karamaevmo@gmail.com Научный руководитель: Матухина О.В. заведующий кафедрой, кандидат физико-математических наук, доцент, доцент кафедры Нижнекамский химико-технологический институт (филиал) Казанский национальный исследовательский технологический университет Россия, г. Казань ОПИСАНИЕ ВЕДЕНИЯ БИЗНЕС-ПРОЦЕССА МОДУЛЯ SAP FI «КОРРЕСПОНДЕНЦИЯ СЧЕТОВ» ОПИСАНИЕ ПРОБЛЕМЫ СТАНДАРТНОЙ РЕАЛИЗАЦИИ Аннотация: Статья посвящена полному описанию ведения бизнес- процесса корреспонденции счетов главной книги FI-GL в системе SAP ERP модуля финансы FI «Финансы», в статье рассматриваются алгоритм предложенный компаний SAP в стандартной поставке системы ERP. Данная статья являться первым этапом для построения модели машинного обучения, выбора классификаторов обучения и методов реализации машинного обучения, наиболее подходящих для данного бизнес-процесса. Ключевые слова: бизнес-процесс, финансы, корреспонденция счетов, главная книга, модуль SAP FI. Karamaev Maxim Olegovich 2nd year master student, Faculty of Management and Automation Nizhnekamsk Institute of Chemical Technology (branch) Kazan National Research Technological University Russia, Kazan Scientific adviser: Matukhina O.V. Head of Department Candidate of Physical and Mathematical Sciences, Associate Professor, Associate Professor 1 https://tribune-scientists.ru Журнал «Трибуна ученого» Выпуск 06/2020 Nizhnekamsk Institute of Chemical Technology (branch) Kazan National Research Technological University Russia, Kazan DESCRIPTION OF THE SAP FI MODULE BUSINESS PROCESS MANAGEMENT «CORRESPONDENCE OF ACCOUNTS» DESCRIPTION OF THE STANDARD IMPLEMENTATION PROBLEM Abstract: The article is devoted to the complete description of the business process correspondence General Ledger accounts FI-GL SAP ERP financial accounting FI is "Finance", the article describes the algorithm of proposed company SAP in the standard delivery of the ERP system. This article is the first stage for building a machine learning model, selecting learning classifiers, and implementing machine learning methods that are most appropriate for this business process. Keywords: business process, finance, correspondence of invoices, General Ledger, SAP FI module. Потребность ведения корреспонденции счетов ГК логично вытекает из принципа двойной записи бухгалтерского учета, когда каждая хозяйственная операция оформляется посредством записи по дебету счета А и кредиту счета Б, что обеспечивает соблюдение главного уравнения баланса (АКТИВ = ПАССИВ). Требование фиксации корреспонденции в регистрах бухгалтерского учета уже давно не является обязательным, однако она [1]: - часто дает ответы на сопутствующие вопросы и позволяет точнее идентифицировать хозяйственную операцию; - может облегчить решение многих периферийных задач (формирование отчетов по ДДС, движению капитала и пр.); - часто запрашивается аудиторами при проверке. Существует три способа разбора: - вручную в транзакции J3RKKRD в режиме офлайн; - автоматически в транзакции J3RKKRS в режиме офлайн; - автоматически при регистрации документа в режиме онлайн. Разобранная корреспонденция хранится (как это часто устроено в SAP ERP) на двух уровнях: уровень итоговых записей (таблица J_3RKKR0) и уровень отдельных позиций (таблица J_3RKKRS). Ведение итоговых записей 2 https://tribune-scientists.ru Журнал «Трибуна ученого» Выпуск 06/2020 значительно облегчает задачу формирования итоговых отчетов (легко прослеживается аналогия с GLT0 или FAGLFLEXT). Автоматический разбор корреспонденции выполняется в OPEN-FI в событиях 1025, 1030 и 1050 (для RW-процессов). Для автоматического разбора необходимо активировать продукт партнера J3RKORRS. Кроме того, в FIBF должны быть активны стандартные функциональные модули Published&Subscribed: - событие 1025: J_3RKORRSSP_1025; - событие 1030: J_3RKORRSSP_1030; - событие 1050: J_3RKORRSSP_1050. Часто на проектах не используют онлайн корреспонденцию, для многих это способ удобнее (если в организации за разбор корреспонденции отвечает вполне конкретный круг лиц и делается это в четко регламентированные сроки). В этом случае онлайн разбор корреспонденции можно не активировать и осуществлять разбор вручную в J3RKKRD или автоматически в J3RKKRS. Еще одним способом разбора является планирование автоматического разбора в J3RKKRS через фоновое задание. Например, каждую ночь. В этом случае в фоновом задании можно запускать J3RKKRS напрямую или создать удобную Z-оболочку. В обоих случаях есть смысл настроить вариант с использованием динамических переменных на поле «Дата проводки». Например, автоматически рассчитывать период как «с первого числа предыдущего месяца по последнее число текущего месяца». Механизм разбора корреспонденции. Три кита корреспонденции: - приоритеты счетов; - правила сортировки и разделения документа; - запрещенные пары. Кратко алгоритм разбора корреспонденции выглядит следующим образом. Если для документа определены правила сортировки и разделения, то позиции документа сортируются в соответствии с заданным правилом сортировки, после чего разделяются в соответствии с заданным правилом разделения. 3 https://tribune-scientists.ru Журнал «Трибуна ученого» Выпуск 06/2020 Разделение документа на субдокументы позволяет существенно сузить логическую область разбора и минимизировать риск неверного разбора. Если для документа правила сортировки и разделения не определены, то деления документа не происходит, он разбирается целиком как есть. В обоих случаях (как для субдокумента, так и для документа целиком) выбранные позиции сортируются по убыванию приоритета, суммы и номера позиции (строго в таком порядке). После этого позиции по дебету сопоставляются с позициями по кредиту, последовательно «откусывая» необходимую сумму от исходной позиции документа. В процессе поиска «пары» система проверяет, не находится ли данная комбинация счетов ГК в списке запрещенных. Если пара запрещена, то анализируется следующая пара счетов и т.д. Алгоритм разделения на правила сортировки и разделения. Например, документом списания материалов, в котором 500 позиций. Документ содержит весьма сложную номенклатуру, почти все пары счетов идентичны с точки зрения счета ГК, но отличаются с точки зрения номера материала [2]. Стандартный механизм отсортирует позиции документа по убыванию приоритета и сумме. Если позиции по сумме не пересекаются и все счета ГК однородные, то есть вероятность, что стандартный механизм разберет корреспонденцию верно. Однако стоит некоторым суммам пересечься или затесаться счету с более высоким приоритетом, чем у других позиций, как алгоритм разбора сразу будет нарушен. В этой связи было бы логично выделить отдельный критерий, который позволил бы представить исходный документ как совокупность поддокументов (субдокументов). Тогда для решения общей задачи можно было бы разобрать в отдельности каждый субдокумент из, скажем, 2 или 4 позиций, а не из 500. Иными словами, мы имеем дело с декомпозицией исходного документа до множества более мелких. Правило сортировки представляет из себя комбинацию полей, по которым система будет сортировать позиции документа ПЕРЕД разделением. Настройка 4 https://tribune-scientists.ru Журнал «Трибуна ученого» Выпуск 06/2020 выполняется в транзакции J3RKSORT или в транзакции S_AC0_52000652. В списке полей могут присутствовать исключительно поля таблицы BSEG. Задать сортировку можно по восходящей или по нисходящей линии. Рисунок 1. Правила сортировки по полям Правило разделения представляет из себя комбинацию полей, по которым система будет сопоставлять позиции после сортировки. По сути это уникальный ключ, в соответствии с которым будут позиции сравниваться. Двигаясь последовательно по отсортированным позициям документа, система определит смену ключа, это будет ознаменовать окончание формирования субдокумента. Настройка разделения документа выполняется в транзакции J3RKSPLIT или в транзакции S_AC0_52000653. Рисунок 2. Правила разделения Описание взаимосвязь между сортировкой и разделением документа. Симптомом того, что формирование субдокумента завершено, является смена ключа разделения в соответствии с заданным правилом разделения. 5 https://tribune-scientists.ru Журнал «Трибуна ученого» Выпуск 06/2020 Смена ключа напрямую зависит от того, как были позиции документа отсортированы. Если, скажем, Вы сортировали позиции документа по заказу, а разделяли документ по номеру материала, то смена ключа разделения может произойти несколько раз: в рамках заказа 1 есть пара позиций по материалу А и пара позиций по материалу Б, в рамках заказа 2 есть пара позиций по материалу А и пара позиций по материалу Б. Тогда Вы получите 4 субдокумента вместо двух. Отсюда логично напрашивается правило: разделять позиции предпочтительно по тем же полям, что и сортировать. Правила разделения и сортировки присваиваются общему правилу, которое активируется только при выполнении его предпосылки. Предпосылки для работы правила настраиваются в транзакции S_AC0_52000654 [3]. Рисунок 3. Настройка правил В конечном итоге созданному правилу присваивается правило сортировки и правило разделения. Это делается в транзакции S_AC0_52000655. Рисунок 4. Правила присвоения к группам Предпосылки для работы правила не должны пересекаться. Дело в том, что выбор правила осуществляется посредством простого перебора всех правил, 6 https://tribune-scientists.ru Журнал «Трибуна ученого» Выпуск 06/2020 присвоенных данной БЕ. Как только предпосылка правила сработает, правило будет считаться выбранным (реализация через select/endselect с exit). На основе этого и была выбранная данная тема исследования и применения методов машинного обучения для решения этой проблемы. При формировании каждого субдокумента система контролирует общую сумму субдокумента во внутренней валюте (переменная amount). Субдокумент считается корректно сформированным, если его общая сумма равна 0. В противном случае сформированный субдокумент игнорируется, все оставшиеся позиции документа разбираются как есть, формирование следующих субдокументов прекращается. Работает приоритет счета работает по следующему принципу, при разборе документа или субдокумента все позиции (документа или субдокумента) сортируются по убыванию приоритета, суммы и позиции. Чем выше число приоритета, тем раньше будет обработана позиция. Приоритеты счетов настраиваются в транзакции J3RKPAC или в транзакции S_AC0_52000651. Рисунок 5. Сортировка отдельных позиций Корреспонденцию счетов в SAP ERP создана не совсем корректно, в связи с этим выбор приоритета реализован весьма специфически: выполняется перебор всей настроечной таблицы приоритетов и как только счет будет найден по маске, приоритет будет присвоен и будет выполнен выход. 7 https://tribune-scientists.ru Журнал «Трибуна ученого» Выпуск 06/2020 Рисунок 6. Алгоритм программы Это создает проблему: не получится назначить приоритет конкретному счету, если данный счет еще и входит в множество счетов, определенных по некоторой маске. Поэтому лично я бы внутри подпрограммы GET_PRIORITY сделал неявное расширение, внутри которого бы сначала выбирал приоритет через точный запрос по номеру счету и при удачном поиске выполнял бы выход из подпрограммы. И только при неудачном поиске продолжал бы поиск по маске. Чем выше приоритет счета, тем быстрее он будет обработан при разборе. В этой связи приоритет 30 выше, чем приоритет 10. Самые высокие приоритеты следует назначать таким позициям, которые должны первыми уйти из разбора в силу специфики документа. Пример 1. Используется код НДС с «мгновенной» проводкой налогового вычета без вторичного события, то есть дебет 19, дебет 68 и кредит 19. Последнюю пару счетов следует сразу разобрать и исключить из дальнейшего разбора, иначе 68 счет вступит в корреспонденцию с позицией кредитора. Пример 2. При проводке СФ по цене, отличной от цены заказа, вместе с позицией по счету 15 (ПМ/ПС) была сформирована проводка по кредиту счета 16 (отклонение) при отсутствии материала на складе или по счету 10, если материал на складе присутствует. Если счет 15 будет иметь более высокий приоритет, чем счет 16 или 10, то он вступит в корреспонденцию со счетом 60 на полную сумму, что в корне неверно, потому что 15 счет корреспондирует в первую очередь со счетом 16 или 10 и только на оставшуюся сумму — со счетом 8 https://tribune-scientists.ru Журнал «Трибуна ученого» Выпуск 06/2020 60. Поэтому в первую очередь должны быть обработаны счета отклонений или счета материалов на складе. В некоторых случаях предотвратить неверный разбор можно за счет перечисления запрещенных пар, то есть таких пар счетов ГК, которые не могут вступить в корреспонденцию друг с другом в силу национального законодательства или в силу иных технических предпосылок. Тогда система перейдет к следующей паре счетов, даже если счет из текущей пары имеет более высокий приоритет. Рисунок 7. Определения приоритетов Никаких «предпочесть» тут не настроить, пары могут быть только запрещенными. Значение P присутствует в доменном справочнике J_3RKINKRP, но в программе разбора корреспонденции нигде не обрабатывается. Это является еще одной проблемой стандартной корреспонденции счетов SAP. После разбора корреспонденции необходимо провести сверку данных, выполнить транзакцию J3RKOBX. Обороты и сальдо итоговых записей корреспонденции сравниваются с оборотами и сальдо счета ГК из итоговых таблиц финансовой бухгалтерии (GLT0 или FAGLFLEXT). На этом этапе могут выйти не разобранные документы, что является ошибкой, по это приходиться повторять процесс ручным способом. Но даже после этого могут остаться ошибки или вообще данные из таблицы J_3RKKRS не соответствуют данным в таблице J_3RKKR. 9 https://tribune-scientists.ru Журнал «Трибуна ученого» Выпуск 06/2020 На основании этого у SAP есть нота 740745, в описан код для новой программы Z_CORR_FIX. Который должен решить эту проблему, если она буде выявлена своевременно, пока период для не закрыт. Все это показывает что применения метода машинного обучения для анализа правильности работы стандартного функционала SAP ERP крайне необходимо. В данном исследовании машинное обучение будет применено к анализу базы данных корреспонденции счетов сформированной программой «Автоматического определения корреспондирующего счета». Список литературы: 1. Учет бухгалтерских счетов. [Электронный ресурс] // Режим доступа: URL: https://ru.wikipedia.org/wiki/ (дата обращения: 04.06.2020 г.). 2. Электронный журнал SAP [Электронный ресурс] // Режим доступа: URL: https://sapland.ru/ (дата обращения: 04.06.2020 г.). 3. Машинное обучение. [Электронный ресурс] // Режим доступа: URL: https://ru.wikipedia.org/wiki/ (дата обращения: 04.06.2020 г.). Журнал «Трибуна ученого» Выпуск 06/2020 10 https://tribune-scientists.ru