Отрасль бизнеса: - Любая -
Подразделение: Финансы, бухгалтерия, аудит
ERP-система: SAP ERP, Другая

Проект внедрения Roll-out представляет собой быстрое внедрение обкатанной в других странах стандартизованной функциональности ERP-систем. Однако, такое внедрение для России, учитывая местную специфику, не может качественно покрыть российский бухгалтерский и налоговый учет.

В данном кейсе речь пойдёт про наш опыт настройки автоматизированного сбора Книги покупок и Книги продаж для отчетности по НДС на основе данных из системы SAP, ранее внедренной у Заказчика в варианте Roll-out.

Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Лист запуска обработок Книги покупок
  • Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Лист запуска обработок Книги покупок
  • Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Лист запуска обработок Книги продаж
  • Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Загруженные данные из SAP
  • Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Лист загрузки различных данных
  • Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Рабочая таблица, в которой выполняются обработки данных
  • Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Книга покупок

Предыстория и задачи проекта

В компании-Заказчике, крупной международной компании, несколько лет назад был выполнен проект Roll-out SAP. Такое внедрение не учитывало многочисленную специфику локального учета, поэтому по завершении проекта налоговую отчетность сотрудники компании были вынуждены собирать практически вручную. Ситуация осложнялась еще и тем, что по результатам внедрения для некоторых хозяйственных операций данные в системе SAP не только не отвечали требованиям РСБУ, но и вообще отсутствовали или присутствовали, но далеко не в достаточной степени детализации.

Практически сразу нас пригласили помочь и реализовать средствами MS Excel пост-обработку данных из SAP для получения Книги покупок и Книги продаж для Декларации по НДС. Мы разработали Excel-решение, в котором исходные данные по листам копировались каждый в своём формате, а затем последовательно при нажатии кнопок в разработанном Excel-шаблоне эти данные включались в Книги или использовались для уточнения/проверки/корректировки существующих операций в Книгах.

Но сейчас мы хотим вам рассказать о другом, более продвинутом и современном решении этой задачи на базе Excel. Тем более, что мы видели недостатки своей предыдущей Excel-реализации, которые заключались в сложностях изменения логики работы решения, необходимости корректировки решения при малейших изменениях в исходных форматах и самое главное - долгой и неоптимальной работе MS Excel со значительными объемами данных у Заказчика (сотня тысяч строк).

Через несколько лет после того "первого" решения к нам повторно обратился Заказчик с целью оптимизации существующего Excel-решения для сбора Книги покупок и Книги продаж для Декларации по НДС. С тех пор существенно изменились не только форматы исходных данных (и сотрудники Заказчика, работая со "старым" решением, были вынуждены всё время корректировать форматы исходных данных), но и электронные форматы Книг и ставка НДС. Кроме того, у Заказчика появились новые виды хозяйственных операций, включаемые в Книги (и сотрудники Заказчика опять-таки были вынуждены добавлять эти операции вручную). Плюс "старое" решение работало медленно. И мы взялись полностью "перекраивать" сделанное нами ранее программное решение.

Экономическая эффективность и результаты выполненного проекта

С помощью разработанного нами нового Excel-решения ежеквартальный сбор Книги покупок и Книги продаж для Декларации по НДС с количеством операций в сотню тысяч строк сейчас выполняется силами ответственных сотрудников в течение 3-4-х дней. Ранее с предыдущим Excel-решением эта работа занимала существенно больше времени. А без какого-либо дополнительного решения в ситуации Заказчика сбор Книг требовал бы еще на порядок больше трудозатрат и не формировал бы качественный результат.

Разработанное Excel-решение обеспечило "контролируемость" и "проверяемость" собираемых данных для Книг. В ходе проекта также была выполнена работа по анализу всех операций, формирующих отчетность по НДС, в результате чего Заказчик получил "системное" и "понимаемое" им решение.

Экономический эффект для Заказчика от выполненного проекта обуславливается:

  • кардинальной экономией трудозатрат своих сотрудников на сбор Книг для Декларации по НДС;
  • минимизацией ошибок в отчетности по НДС, а значит - минимизацией штрафов от контролирующих органов и минимизацией трудозатрат сотрудников на анализ и корректировку ошибок.

Абсолютный экономический эффект от проекта, вычисляемый как разность между затратами на решение задачи без этого проекта (оценим для примера работу 4-х сотрудников в течение 2-х недель для сбора такой отчетности раз в квартал ориентировочно в 160 тыс руб, включая налоги по зарплате) и затратами на решение задачи после этого проекта (оценим работу 4-х сотрудников в течение 4-х дней для сбора такой отчетности раз в квартал соответственно в 64 тыс руб, включая налоги по зарплате) + разовыми затратами на этот проект (стоимость проекта 171 тыс руб без НДС), в зависимости от соответствующих затрат конкретного Заказчика даже на сроке в один год составляет 213 тыс руб. = (160 тыс руб до внедрения x 4 квартала) - (64 тыс руб после внедрения x 4 квартала) - 171 тыс руб проект. Поскольку результат проекта может быть применен значительно на больший срок, чем один год, а стоимость проекта является разовым вложением, то окупаемость проекта на практике оказывается еще более существенной.

При этом ежеквартальный экономический эффект при работе с решением, например, в течение 2-х лет составит 74`625 руб. = (160 тыс руб до внедрения - 64 тыс руб после внедрения) - (171 тыс руб проект/8 кварталов).

Коэффициент экономической эффективности, если его считать как отношение результата (т.е. абсолютного экономического эффекта) к затратам на проект также в зависимости от соответствующих затрат конкретного Заказчика и срока использования решения составит не менее 100%.

Средства реализации

Исходя из потребностей пользователей, технических ограничений в компании, невозможности реализации решения с использованием баз данных (даже Access), для решения задачи был подтвержден выбор очевидного доступного инструмента - MS Excel с программной логикой. В нём мы решили разрабатывать гибкий, функциональный, понимаемый, проверяемый и удобно корректируемый инструмент для сборки данных по Книгам покупок и продаж для Декларации по НДС.

Все небходимые для Книг данные из SAP мы пытались взять, но всё равно их оказалось недостаточно, чтобы покрыть всё многообразие возможных операций у Заказчика, которое согласно российскому учету должно войти в Разделы "Сведения из Книги покупок"и "Сведения из Книги продаж" для Декларации по НДС.

Исходными данными были выгрузки Книг из SAP, которые уже при помощи дополнительных данных и отдельными автоматизированными действиями в нашем Excel-шаблоне доводились до состояния финальных Книг в нужной детализации.

Детали и шаги реализации

Основной идеей нашей реализации была работа с данными для Книг так, как будто это работа со структурированной базой данных. В готовом решении мы хотели получить гибкость, удобство настройки и корректировки, "понимаемость" данных, "прослеживаемость" данных от полученной исходной информации до попадания конкретной операции в строку Книги покупок или продаж.

Справедливости ради стоит отметить, что изначально мы и видели решение этой задачи исключительно с использованием базы данных, пусть даже MS Access. Тем более что мы уже столкнулись с недостатками нашей предыдущей реализации в Excel и фактически не могли с ними кардинально побороться при существующем ранее решении. Даже договорились с Заказчиком о том, что изначально мы делаем свою обновленную версию решения с базой данных MS Access и после этого пробуем его в действии у Заказчика. При этом если что-то пойдет не так... или мы столкнёмся с техническими ограничениями у Заказчика... или Заказчику не понравится результат, то мы обязательно вернёмся к "удобной" реализации средствами MS Excel.

И да! - По причине некоторых технических ограничений у Заказчика и неудобства работы с "новым" решением на MS Access для Заказчика нам пришлось во многом переделывать "новое" решение. Но на тот момент логика сбора исходных данных "как для базы данных" и красивая идея систематизации и единообразия исходных данных во многом уже была реализована и фактически вдохновила нас на создание мини-базы данных, но уже только средствами MS Excel.

Итак, переходим к секретам реализации...

Решение представляет собой 2 единообразных Excel-решения (Excel-шаблона) - один для Книги покупок, другой - для Книги продаж. Каждый Excel-шаблон содержит:

  • Главную страницу для последовательного запуска отдельных алгоритмов обработки (лист "MAIN"),
  • Лист с собираемой Книгой покупок или Книгой продаж (лист "Working Table"),
  • Однотипные листы со всеми необходимыми исходными данными, собранными в виде линейных таблиц с логично именованными идентификаторами колонок (листы "src..."),
  • Лист для загрузки в Excel-шаблон исходных данных в своих форматах - исходные данные читаются из нужного формата, специальным образом размечаются для их передачи в нашу регламентированную структуру данных, и записываются на нужные листы "src..." (лист "Upload"),
  • Лист настройки исходных данных, содержащий форматы загрузки данных и соответствие названий колонок в исходных данных нашим структурированным данным (лист "UploadSetup"),
  • Лист готовой Книги покупок или Книги продаж для конвертации в электронный формат XML (лист "Result").

Ниже на скриншотах приведены главные страницы Excel-шаблонов:

Книга покупок для Декларации НДС по данным из SAP - Excel-постобработка данных, Лист запуска обработок

Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Лист запуска обработок

Нажатие первой кнопки формирует рабочий лист Книги "Working Table" с базовыми данными (фактически это изначально полученные из SAP данные) - в него собираются данные из разных источников, с ним выполняются основные действия, в нём подготавливаются данные для финальных Книг в виде приложений к Налоговой декларации по НДС.

При нажатии следующих кнопок последовательно отрабатывают нужные алгоритмы обработки существующих данных с применением соответствующих дополнительных данных. Фактически собираемые операции разбираются-разделяются-анализируются-дополняются-проверяются с учетом соответствия референсов, с учетом кодов налогов (Tax Code), с учетом типов операций и с использованием дополнительных таблиц с данными на листах "src...".

Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Рабочий лист с данными

Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Рабочий лист с данными

Предварительно все исходные и дополнительные данные должны быть загружены на соответствующие листы "src...".

Для Книги покупок исходными данными являются:

  • Лист с оригинальными данными из SAP ("srcSAP") - Purchase Ledger,
  • Листы для добавления данных по посредническим операциям (такси, визы, отели, билеты) - возможно это отчеты от посредников, в том числе их вариант Журнала регистрации счетов-фактур в части операций в отношении Заказчика,
  • Лист с детализацией по изначально невключенным счетам-фактурам,
  • Лист с номерами ГТД и номерами платежных поручений по таможенным операциям,
  • Лист с вычетами НДС при подтверждении ставки 0% после реализации товаров на экспорт и восстановления входного налога,
  • Лист с операциями налогового агента,
  • Лист с авансами и другое (в зависимости от того - каких данных не хватает в Книге покупок или какие данные должны быть проверены).

Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Исходные данные для Книги покупок

Для Книги продаж исходными данными являются:

  • Лист с оригинальными данными из SAP ("srcSAP") - Sales Ledger,
  • Листы для определения групп операций и выделения нужных кодов видов операций,
  • Лист с детализацией по изначально невключенным счетам-фактурам,
  • Лист по экспортным операциям со ставкой 0%,
  • Лист с восстановленным НДС при экспорте,
  • Лист с операциями налогового агента,
  • Лист с авансами и другое (в зависимости от того - каких данных не хватает в Книге продаж или какие данные должны быть проверены).

Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Исходные данные для Книги продаж

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

Любые исходные данные можно загрузить в шаблон из внешнего файла/внешних файлов. Файл выбирается по двойному клику мыши на соответствующем поле с именем файла. Всего можно загружать до 5-ти файлов одновременно, однако одновременная загрузка возможна только для файлов с одним типом данных.

Текущие настройки выполнены так, что из файлов формата ".txt" загружаются только данные книг из SAP, все остальные загрузки данных предполагаются из файлов формата ".xls".

Для загрузки из внешних файлов необходимо в желтом поле "Тип данных" выбрать тип скопированных данных (тип данных определяет – текстовый или Excel-файл подаётся на вход, какие колонки ожидаются для этих данных, на какой лист с исходными данными будут перенесены соответствующие данные), выбрать файл/файлы и нажать кнопку "1-Прочитать данные из файла/файлов".

Если выбран Excel-файл с исходными данными и в нём есть несколько листов, то система спрашивает из какого листа выполнять загрузку данных.

Данные из указанного файла/указанных файлов появятся на этом же листе "Upload" ниже и правее голубых линий:

Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Лист загрузки неформализованных данных

Кроме того любые исходные данные в неформализованном формате также можно скопировать из своего источника ниже и правее голубых линий на лист "Upload".

Затем необходимо нажать кнопку "2-Разметить колонки и строки для указанного типа данных". Колонки должны идентифицироваться по соответствующему формату, и в первой колонке должны появиться надписи "Header" (строка заголовка) и "Line" (строки с данными), а в строках 15-16 появятся буквенные идентификаторы соответствующих полей, которые используются для последующей загрузки на листы "src…":

Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Лист загрузки неформализованных данных после разметки данных

В исходных данных допускаются заголовки из нескольких строк. Порядок и даже состав колонок загружаемых данных может быть изменен – Excel-шаблон загрузит те колонки, названия которых он найдет в мэппинге колонок по типам данных на листе "UploadSetup", вне зависимости от порядка расстановки этих колонок.

Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Журнал учета счетов-фактур в качестве исходных данных

Перенос данных на листы "src…" выполняется по нажатию кнопки "3-Добавить на лист с данными". Ниже - скриншот с загруженными исходными данными из SAP на лист "srcSAP":

Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Загруженные структурированные исходные данные из SAP

Состав колонок загружаемых данных может быть модернизирован без каких-либо изменений в программном коде Excel-шаблона.

На листе "WorkingTable" и на всех листах "src…" в первой скрытой строке содержится идентификатор соответствующей колонки, во второй скрытой строке находится идентификатор типа данных, если это не текстовая колонка ("num" - для числа, "date" - для даты).

Программный код Excel-шаблона обращается к данным, находящимся в соответствующих колонках, только по текстовым идентификаторам колонок:

Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Идентификаторы колонок исходных данных

На листе "UploadSetup" приводится мэппинг полей источника данных и идентификаторов полей в Excel-шаблоне по типам данных ("SourceSAP", "GTD", "Advances", "VATExport" и т.п.). Таким образом, если в файле-источнике изменился заголовок соответствующей колонки, то с помощью этого мэппинга можно указать новое название поля-источника. Здесь же можно добавлять/удалять колонки для различных типов данных.

Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Настройка разметки колонок исходных данных

Нам бы не составило труда при помощи нашей библиотеки функций для выгрузки в XML выгрузить все собранные данные по Книгам в форматы XML для Приложений к Налоговой декларации по НДС, но Заказчик предпочел свой, исторически существующий, вариант - передачу данных в специальный Excel-формат Книг для Налоговой декларации по НДС от оператора ТКС. Собственно именно такое преобразование данных и было осуществлено в ходе проекта.

Книга покупок и Книга продаж для Декларации НДС по данным из SAP - Excel-постобработка данных, Готовая книга покупок

Развернуть

Сложности и решения

Как уже было указано выше в описании реализации, в ходе проекта мы изначально делали решение, ориентированное на использование базы данных MS Access. В дальнейшем мы исправили решение на версию с использованием только MS Excel без какой-либо базы данных.

Разумеется, в ходе проекта мы столкнулись и с рядом других сложностей. В частности - не всё возможное многообразие операций было учтено с самого начала, но идея разрабатываемого решения позволила нам без особых проблем учесть новые операции и добавить новые алгоритмы обработки. В ходе тестирования решения Заказчиком выяснилось, что в отдельных случаях мы взяли данные не из тех колонок, но сделать эти и подобные исправления при такой реализации совсем несложно.

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

Изначально при существенных объемах данных страдало и быстродействие решения. Для устранения этой проблемы мы пересмотрели ряд алгоритмов копирования данных.

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

Результат проекта

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

Самым важным результатом является то, что Заказчик получил не просто программный код автоматизации текущих операций (в котором в дальнейшем возможно сложно будет разобраться), а законченное решение, содержащее единую логику, прослеживаемые данные, читаемую и проверяемую логику автоматизированной обработки на основе текстовых идентификаторов данных, приспособленность алгоритмов и форматов к возможным изменениям.

Результат выполненного проекта полностью устроил Заказчика. Заказчик получил также инструкцию по работе с решением и годовую гарантию, в ходе которой мы сможем помогать в случае необходимости каких-либо модификаций. Уверены, что даже если и возникнет потребность в каких-то корректировках, реализованное Excel-решение позволит нам их просто и быстро осуществить.

А мы со своей стороны, наверное, еще не раз применим наши идеи универсальности в среде MS Excel (идентификация строк и заголовка в неформализованных данных, единообразный импорт исходных данных путём мэппинга по заголовкам, структурированность данных для работы, последовательные алгоритмы обработки).

Стоимость проекта

Стоимость проекта для Заказчика составила 205'200 руб. включая НДС 20%

Примечание

В целях конфиденциальности все упоминания о компании-Заказчике и все исходные данные на скриншотах изменены.