SAP ERP 6.0 EHP7 - стандартные электронные документы

Материал из razgovorov.ru
Версия от 11:18, 14 сентября 2015; Злобин Юрий (обсуждение | вклад) (Электронное выставление счета)
Перейти к: навигация, поиск

Содержание

Общие сведения

Модуль предназначен для создания, отправки и получения электронных счетов-фактур, актов, накладных и универсальных передаточных документов в формате xml ФНС. Модуль является составной частью пакета локализации для России.

Транзакции:

  • J3RFREGINV - Журнал электронных счетов-фактур.
  • J3RFREGTORG - Журнал электронных накладных и актов.

Журнал счетов-фактур

Общие сведения

Журнал электронных счетов-фактур – транзакция, которая отображает список входящих и исходящих счетов-фактур и их электронную версию в системе SAP.

  • Меню: Accounting>Finantial Accounting>Accounts Receivable>Reporting>Russia>Invoice Journal.
  • Техническое имя меню J3RF-FDMN-REP-RU.
  • Техническое имя транзакции J3RFREGINV.
  • Техническое имя программы J_3RF_REGINV.

Журнал использует таблицы:

  • J_3RF_REGINV_IN – входящие счета-фактуры
  • J_3RF_REGINV_OUT – исходящие счета-фактуры
  • J_3RF_REGINV_LOG – история статусов счетов-фактур
  • J_3RFDI_ARC – архив электронных счетов с XML-данными

Программа J_3RF_REGINV состоит из частей:

  • Описание переменных (DATA, TYPES)
  • Экран выбора (SELECTION-SCREEN)
  • Обработка событий на экране выбора (AT SELECTION-SCREEN)
  • Набор данных (START-OF-SELECTION)
  • Вывод данных (END-OF-SELECTION)
  • Обработка событий на экране вывода (USER-COMMAND)

При запуске программы на экране выбора необходимо выбрать режим:

  • показать исходящие счета
  • показать входящие счета
  • вывести выходную форму журнала
  • добавить входящие счета

Список доступных команд на экране вывода (USER-COMMAND):

  • Общие
    • REFR - refresh list - обновить список
    • INSR - insert entry - вставить запись
    • COPY - copy entry - скопировать запись
    • &EDI - edit entry - редактировать запись
    • DELE - delete entry - удалить запись
    • DISP - display entry - показать запись
    • HIST - Display History of Status Changes - просмотреть историю статусов
    • VLOG - View Application Log - просмотреть историю операций
  • Для входящих счетов-фактур
    • IADD - Register incoming invoices - зарегистрировать входящие счтеа
    • EREQ - Create XML Request for Clarification - создать xml запроса на уточнение
    • SGNR - Sign/Encrypt XML Request for Clarification - подписать запрос на уточнение
    • SNDR - Send XML Request for Clarification - отправить запрос на уточнение
    • DREQ - Display Clarification Request - показать запрос на уточнение
    • HNDL - Set Status Request for Clarification Handled - установить статус запроса на уточнение
  • Для исходящих счетов-фактур
    • &RVS - Print Revision for Entry - печать исправленного
    • EINV - Create XML Invoice - создать xml счета-фактуры
    • SGNI - Sign/Encrypt XML Invoice - подписать счет-фактуру
    • SNDI - Send XML Invoice - отправить счет-фактуру
    • DXML - Display XML Invoice - показать xml счета-фактуры
    • DPDF - Display XML in PDF - показать xml в dpf


Настройки журнала

Связь с Финансами и Сбытом

Настройки расположены в меню:

SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов


  1. Активировать бизнес-функции FIN_LOC_CI_33 ( FIN_LOC_CI_35 ???).
    1. Меню: SPRO-Активировать бизнес-функции.
    2. Поставить галочку напротив FIN_LOC_CI_33, нажать кнопку Активировать.
    3. Появится пункт меню: SPRO-Финансы-БухгДебКред-Бизнес операции-Параметры настройки для стран-Россия-Счета-фактуры-Электронное выставление счета.
  2. ???Поставить транспорт из ноты 1691843 - Transport Delivery: Invoice Journal (Russia).
  3. ???Настроить журнал регистрации счетов-фактур согласно ноте 1691844.
  4. Прописать в FIBF продукт по ноте 1691844. J3RFREGI=J3RF. Меню-Параметры настройки-Продукты-Партнеры.
  5. Присвоение диапазонов номеров вход. документов.
    1. Ввести БЕ и нажать кнопку Ведение интервалов.
    2. Нажать кнопку Новый диапазон.
    3. Ввести номер диапазона 01, год, начальный и конечный номера.
    4. Сохранить.
  6. Определение кодов видов операций.
    1. Нажать кнопку Новые записи.
    2. Ввести код например 24, описание, например "Регистрация счетов-фактур в книге покупок".
    3. Сохранить.
  7. Присвоение кодов видов операций кодам налога.
    1. Нажать кнопку Новые записи.
    2. Ввести БЕ, вид документа FI, код НДС, код вида операции.
    3. Сохранить.
  8. Ведение ид.текстовых объектов для входящих счетов
    1. Нажать кнопку Новые записи.
    2. Ввести текстовый объект BELEG, ид.внешнего номера, ид.внешней даты.
    3. Сохранить.
    4. Если текстовые ид. не заданы или соответствующие текстовые поля в документе не заполнены, номер внешнего документа берется из поля Номер ссылочного документа (BKPF-XBLNR), а дата внешнего документа — из поля Дата документа (BKPF-BLDAT).
  9. Настройка автоматической регистрации входящих счетов.
    1. Нажать кнопку Новые записи.
    2. Ввести БЕ, вид документа FI, галочки оставить пустыми.
    3. Сохранить.
  10. Настройка автоматической регистрации исходящих счетов из FI.
    1. Нажать кнопку Новые записи.
    2. Ввести БЕ, идентификатор корреспонденции например ZSA19, Установить галочку Предпросмотр, не ставить галочку Создать как зарегистрированный, не ставить галочку Выбор даты отправки (help.sap.com).
    3. Сохранить.
  11. Настройка автоматической обработки сторнирований.
    1. Нажать кнопку Новые записи.
    2. Ввести БЕ, причину сторно, режим удаления.
    3. Сохранить.


Электронное выставление счета

  1. Создать основную запись поставщика через транзакцию FK01. Например Оператор ЭДО 6 .
  2. Присвоить операторам электронные ид.
    1. Меню: S000-Финансы-Дебиторы-Система отчетности-Россия-Журнал счетов-Электронное выставление счета.
    2. Нажать Новые записи.
    3. Ввести БЕ, код поставщика-оператора ЭДО например 6, ид. оператора например OP6.
    4. Сохранить.
  1. Присвоить электронный ид. балансовой единице через ракурс J_3RFV_DI_CCOP.
    1. Меню: S000-Финансы-Дебиторы-Система отчетности-Россия-Журнал счетов-Электронное выставление счета-Ведение электронных ид.
    2. Нажать Новые записи.
    3. Ввести БЕ, оператор БЕ например 6, электронный ид. БЕ например ZUCH.
    4. Сохранить.
  2. Присвоить электронный ид. балансовой единице через ракурс J_3RFV_DI_PCCODE (устар).
    1. Это делается только потому что программа J_3RF_REGINV ищет настройки в устар. ракурсах.
    2. транз SE11.
    3. Войти на редактирование в ракурс J_3RFV_DI_PCCODE. Нажать Новые записи.
    4. Ввести БЕ, электронный ид. БЕ например ZUCH.
    5. Сохранить.
  3. Присвоить поставщикам электронные ид.
    1. Меню: S000-Финансы-Дебиторы-Система отчетности-Россия-Журнал счетов-Электронное выставление счета.
    2. Нажать Новые записи.
    3. Ввести БЕ, код кредитора например 1, оператора кредитора OP6, ид. кредитора например KRED1.
    4. Сохранить.
  4. Присвоить клиентам электронные ид. через ракурс J_3RFV_DI_PCUSTN.
    1. Меню: S000-Финансы-Дебиторы-Система отчетности-Россия-Журнал счетов-Электронное выставление счета.
    2. Нажать Новые записи.
    3. Ввести БЕ, код дебитора например 100000, оператор клиента например OP6, электронный ид. клиента например DEBI100000.
    4. Сохранить.
  5. Присвоить клиентам электронные ид. через ракурс J_3RFV_DI_PCUST (устар).
    1. Это делается только потому что программа J_3RF_REGINV ищет настройки в устар. ракурсах.
    2. транз.SE11.
    3. Войти в ракурс J_3RFV_DI_PCUST на редактирование.
    4. Нажать Новые записи.
    5. Ввести БЕ, код дебитора например 100000, электронный ид. клиента например ZUCH100000.
    6. Сохранить.
  6. Ведение сроков.
    1. Меню: SPRO-Финансы-БухгДебиторовКредиторов-Бизнес операции-Параметры для стран-Россия-Счета-фактуры-Электронное выставление счета.
    2. Ввести вид с-ф, Статус документа эл.счета, срок, тип срока.
    3. Сохранить.
  7. Ведение правил обработки и удаления.
    1. Меню: SPRO-Финансы-БухгДебиторовКредиторов-Бизнес операции-Параметры для стран-Россия-Счета-фактуры-Электронное выставление счета.
    2. Ввести БЕ, статус документа эл. счета, галочки Не обрабатывать, Не удалять.
    3. Сохранить.
  8. Мэппинг преобразований.
    1. Меню: SPRO-Финансы-БухгДебиторовКредиторов-Бизнес операции-Параметры для стран-Россия-Счета-фактуры-Электронное выставление счета.
    2. Настроены виды документов, направление, версия xml, xml-преобразование, класс преобр, метод преобр, имя типа.

Настройки BADI

Настройки расположены в меню:

SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-BADI SPRO-Сбыт-Фактурирование-Фактуры-Национальные особенности-Россия-BADI

Содержат следующие пункты:

  • BAdI: авансовый отчет (J_3R_AO1_BADI_INTERFACE)
  • BAdI: изменение адреса (IF_EX_J_3RF_CH_ADDR)
  • BAdI: обновление данных печати для налогового счета (J_3R_INV_BADI)


Ввод исходящих счетов в журнал

Ручной ввод

Ручной ввод добавляет одну запись в журнал. Номер, год, БЕ, внешний номер, дату, сумму необходимо указывать вручную, что при ошибках может вызвать несоответствие введенного документа документу FI. Помимо ручного ввода в журнале ввести исх. счета вручную можно при помощи транзакции V_J_3RFREGINVOUT - Регистрация исх.счетов в журнале.

  • В журнале на экране выбора необходимо нажать радиокнопку "Просмотреть список исходящих счетов".
  • Ограничить выбор, ввести год, номер, и т.д.
  • Запустить отчет.
  • Выводится список исходящих счетов. Нажать кнопку Новый ввод (Создать запись, команда INSR).
  • Выводится экран ввода документа. Ввести данные БЕ, номер исходного счета-фактуры (номер из FI), год исходного счета-фактуры (год из FI). Номер исходного счета-фактуры можно найти через средство поиска из FI. Далее вводим дату исходного счета-фактуры, внешний номер, дату поступления, формат обмена (печать, электронный), вид операции, код дебитора, валюту, сумму брутто.
  • Система проверяет, что записи с таким ключом (БЕ, исходный номер, исходный год) еще не создано.
  • Сохранить.
  • Экран ввода документа закроется, в списке вывода появится новая строка.
  • В таблицу J_3RF_REGINV_OUT добавляются новые записи, которые содержит внутр. номер, номер FI, внешний номер, БЕ, год, код дебитора и др. данные.

BADI:

Автоматический ввод из Финансов

Исходящие счета-фактуры закачиваются автоматически из модуля Финансы (FI) при помощи программы печати документа.

  • В FI должна быть настроена корреспонденция SAPR3, программе печати J_3RF_INV_A присвоен ИдФормуляра pdf EI . Это настраивается в меню: SPRO-Финансы-Параметры настройки Финансов-Корреспонденция.
  • Запустить программу печати J_3RF_INV_A (FI). Указать ИдФормуляра EI, код корреспонденции SAPR3, БЕ, год, номер документа. При этом печати не происходит, только закачка данных в журнал.
  • Документ должен появиться в журнале с-ф.

Автоматический ввод из Сбыта

Исходящие счета-фактуры закачиваются автоматически из модуля Сбыт (SD) при печати документа.

  • Создать с-ф из SD.
  • Необходимо использовать программу печати J_3RV_INV_A (SD).
  • Документ должен появиться в журнале с-ф.


Ввод входящих счетов в журнал

Ручной ввод

Ручной ввод добавляет одну запись в журнал. Номер, год, БЕ, внешний номер, дату, сумму необходимо указывать вручную, что при ошибках может вызвать несоответствие введенного документа документу FI. Помимо ручного ввода в журнале ввести вх. счета вручную можно при помощи транзакции V_J_3RFREGINVIN - Регистрация вх.счетов в журнале.

  • В журнале на экране выбора необходимо нажать радиокнопку "Просмотреть список входящих счетов".
  • Ограничить выбор, ввести год, номер, и т.д.
  • Запустить отчет.
  • Выводится список входящих счетов. Нажать кнопку Новый ввод (Создать запись, команда INSR).
  • Выводится экран ввода документа. Ввести данные БЕ, номер исходного счета-фактуры (номер из FI), год исходного счета-фактуры (год из FI). Номер исходного счета-фактуры можно найти через средство поиска из FI. Далее вводим дату исходного счета-фактуры, внешний номер, дату поступления, формат обмена (печать, электронный), вид операции, код кредитора, валюту, сумму брутто.
  • Система проверяет, что записи с таким ключом (БЕ, исходный номер, исходный год) еще не создано.
  • Сохранить.
  • Экран ввода документа закроется, в списке вывода появится новая строка.
  • В таблицу J_3RF_REGINV_IN добавляется новая запись, которая содержит внутр. номер, номер FI, внешний номер, БЕ, год, код кредитора и др. данные.

Автоматический ввод из Финансов

Входящие счета-фактуры могут закачиваться автоматически из модуля Финансы (FI). Те счета, которые уже есть в журнале, не добавляются.

  • В журнале на экране выбора необходимо нажать радиокнопку "Добавить отсутств. входящие счета".
  • Запустить отчет.
  • На вкладке "Критерии выбора отсутствующих счетов" необходимо задать параметры выбора из таблиц FI. Например, год 2015, вид документа KR вх.счет.
  • Выводится список тех счетов из Финансов, которых нет в журнале. Сравнение происходит по БЕ, году и номеру FI документа, например ZUCH 2015 1900000001.
  • Выделить нужные строки.
  • Для сохранения выделенных записей в журнале необходимо нажать кнопку Сохранить.
  • В таблицу J_3RF_REGINV_IN добавляются новые записи, которые содержит внутр. номер, номер FI, внешний номер, БЕ, год, код кредитора и др. данные.

Привязка файлов xml к входящим с-ф в системе

Для того чтобы прикрепить файлы xml к документам их необходимо загрузить в систему.

  1. Активировать бизнес-функции FIN_LOC_CI_33 ( FIN_LOC_CI_35 ???).
    1. Меню: SPRO-Активировать бизнес-функции.
    2. Поставить галочку напротив FIN_LOC_CI_33, нажать кнопку Активировать.
  2. Запустить программу J_3RF_DI_PROC_IN, которая загружает XML файлы из папки на сервере в SAP.
  3. Просмотреть загруженные электронные с-ф в журнале.
  4. Осуществить привязку XML-документа к счету-фактуре, зарегистрированному в системе, через программу J3RFINVOFFLINK.


Команда Create XML Invoice

Описание Создает xml для выделенных на экране исходящих счетов-фактур, используя номера документов.

Аргументы Выделенные строки в списке счетов-фактур с содержанием номеров и статусов.

Возвращаемое значение Список счетов-фактур с новыми статусами или сообщение об ошибке.

Результат Заголовок, данные в формате string, xml-данные в формате hex, эл.подпись в формате hex добавлаются в таблицу J_3RFDI_ARC. Изменяется статус документа в таблицах J_3RF_REGINV_OUT, J_3RF_REGINV_IN, J_3RF_REGINV_LOG.

Алгоритм

  1. Формируем список фактур по котором надо сформировать xml документы, среди отмеченных записей списка берем фактуры удовлетворяющие условиям (статус: пусто/создан/подписано; типом обмена: только xml обмен; индикатор "заархивировано": пусто; индикатор "удалено": пусто). Отобранные фактуры помещаем во врем. таблицу t_out_list[]
  2. set_xml_timestamp Получаем системную дату время
  3. CL_J3RF_DI_REGINV->CREATE_XML_INVOICES(список фактур - врем. таблица t_out_list[]) Получаем данные фактуры и формируем xml. Возвращаемое значение: код ошибки.
    1. Проверяем есть ли в системе BADI J_3R_REGINV_DIG_BADI (должна быть иначе ошибка)
    2. Перебираем список фактур и в зависимости от типа фактуры (обычная / корректировочная) запускаем разные методы получения данных из БД:
      1. Для обычной фактуры
        1. CL_J3RF_DI_REGINV->GET_INV_DATA(врем. структура ls_out запись из списка фактур t_out_list) Получаем данные обычной фактуры . Возвращаемое значение: ls_hd_inv - структура с заголовком счета, lt_txt - врем. таблица текстов (комментариев к документу), lt_inv - врем. таблица с позициями счетов-фактур. ???Неизвестно какая программа запускается через параметр save_progn??? Вероятно запускается программа печати Z_3RF_INV_A / Z_3RV_INV_A или программа RFKORB00??? Программа печати Z_3RF_INV_A запускает BADI J_3R_INV_BADI->UPDATE_DATA, J_3R_REGINV_BADI->UPDATE_REG_OUT. Программа печати Z_3RV_INV_A не закончена???, запускает BADI J_3R_INV_BADI. Программа RFKORB00 не содержит BADI.
        2. CL_J3RF_DI_REGINV->PREPARE_XML_INVOICE (ls_hd_inv, lt_txt, lt_inv). По полученным данным собираем структуру специального формата для конвертации в xml. Возвращаемые значения: ls_xml_inv - временная структура с данными для создания xml.
        3. CL_J3RF_DIGINV_PROCESSOR->SET_STRUCT_DIVISION - получаем данные подписанта. Аргументы: ls_out - врем. строка цикла по врем.таблице it_out_entries[], тип документа счета, ключ с номером счета. Возвращаемые значения: ls_xml_inv-signatory - данные подписанта.
        4. BADI J_3R_REGINV_DIG_BADI->UPDATE_INV_XML(ls_hd_inv, lt_txt, lt_inv, ls_xml_inv) - Можем изменить подготовленную структуру ls_xml_inv.
        5. Добавляем врем. структуры ls_xml_inv во врем. таблицу lt_xml_inv и lt_inv_table
      2. Для корректировочной фактуры - аналогично обычной фактуре.
        1. CL_J3RF_DI_REGINV->GET_CORRINV_DATA
        2. CL_J3RF_DI_REGINV->PREPARE_XML_CORRINV
        3. CL_J3RF_DIGINV_PROCESSOR->SET_STRUCT_DIVISION
        4. BADI J_3R_REGINV_DIG_BADI->UPDATE_CORRINV_XML
        5. Добавляем врем. структуры ls_xml_inv во врем. таблицу lt_xml_inv и lt_inv_table
    3. CL_J3RF_DIGINV_PROCESSOR->PROCESS_OUTGOING(lt_inv_table[], индикатор j3rdx_out_create_only) Формирует xml документ, помещает его в таблицу J_3RFDI_ARC. Возвращает: код ошибки.
      1. Перебираем список, и в зависимости от операции (создать/созд и подписать/подписать) запускаем разные модули обработки.
        1. Для создания
          1. PROCESS_DOCUMENT(document-данные с-ф, l_not_transform-флаг предв. трансформ). Изменяем xml данные ls_ddx_doc. Сохраняем xml в БД при помощи модуля, получаемого из настроек??? . Возвращаем lv_record_id - количество сохраненных записей.
        2. Для создания и подписи
          1. PROCESS_DOCUMENT(document-данные с-ф, l_not_transform-флаг предв. трансформ). Изменяем xml данные ls_ddx_doc. Сохраняем xml в БД при помощи модуля, получаемого из настроек??? . Возвращаем lv_record_id - количество сохраненных записей.
          2. BADI J_3RF_DIGITAL_INVOICE_BADI->SIGN. Генерация xml подписи.
          3. UPDATE_STORED_DOCUMENT. Обновление уже сохраненного документа в БД.
        3. Для подписи
          1. BADI J_3RF_DIGITAL_INVOICE_BADI->SIGN. Генерация xml подписи.
          2. UPDATE_STORED_DOCUMENT. Обновление уже сохраненного документа в БД.
      2. Заполнение лога (табл J_3RF_REGINV_LOG???) в случае ошибок.
    4. Заполнение кода ошибки как выходного параметра .
  4. SHOW_XML_RESULT(количество выделенных строк, количество строк во врем.таблице t_out_list[], код ошибки из create_xml_invoices). Выводит сообщение о результатах работы: "Х строк выделено, Y строк обработано, Z строк с ошибками".
  5. OUT_INV_SELECT(out_list[]-список счетов-фактур). Обновление список счетов-фактур на экране вывода .

BADI

J_3R_REGINV_DIG_BADI

  • UPDATE_INV_XML - изменение xml данных счета
  • UPDATE_CORRINV_XML - изменение xml данных корр.счета

J_3RF_DIGITAL_INVOICE_BADI

  • SIGN - генерация xml подписи

J_3R_INV_BADI

  • UPDATE_DATA - изм данных в прогр печати


Журнал накладных и актов

Общие сведения

Журнал электронных накладных и актов – транзакция, которая отображает список входящих и исходящих накладных ТОРГ12 и актов и их электронную версию в системе SAP.

  • Техническое имя транзакции J3RFREGTORG.
  • Техническое имя программы J_3RF_REGTORG.

Журнал использует таблицы:

  • J_3RF_RGTORG_IN - входящие накладные
  • J_3RF_RGTORG_OUT - исходящие накладные
  • J_3RF_RGTORG_IFS - индекс документов

Программа J_3RF_REGTORG состоит из частей:

  • Описание переменных (DATA, TYPES)
  • Экран выбора (SELECTION-SCREEN)
  • Обработка событий на экране выбора (AT SELECTION-SCREEN)
  • Набор данных (START-OF-SELECTION)
  • Вывод данных (END-OF-SELECTION)
  • Обработка событий на экране вывода (USER-COMMAND)

При запуске программы на экране выбора необходимо выбрать режим:

  • показать исходящие документы
  • показать входящие документы

Список доступных команд на экране вывода (USER-COMMAND):

  • Общие
    • DXML - Display XML-File - показать xml
    • IAKT_PDF - Print Seller Title in PDF form - напечатать данные продавца в pdf
    • ZAKT_PDF - Print Buyer Title in PDF form - напечатать данные покупателя в pdf
    • DCLFR - Display Clarification Request - показать запрос на уточнение
    • TORG2_PROC - Set Status to Processed - установить статус "обработан"
    • HIST - Display Status History - просмотреть историю статусов
    • VLOG - View Application Log - просмотреть историю операций
  • Исходящие документы
    • ETORG - Create XML - создать xml
    • SGNI - Sign - подписать документ
    • SNDI - Send - отправить документ


Как входящие документы попадают в журнал

Вариант 1 (....)

Описание

Алгоритм


Список доступных команд

Команда 1

Описание

Алгоритм

BADI


Журнал универсальных передаточных документов (УПД)

Общие сведения

Структура таблиц журнала счетов-фактур

J_3RF_REGINV_IN – входящие счета-фактуры

J_3RF_REGINV_OUT – исходящие счета-фактуры

J_3RF_REGINV_LOG – история статусов счетов-фактур

J_3RFDI_ARC – архив электронных счетов с XML-данными

Структура таблиц журнала накладных и актов

J_3RF_RGTORG_IN - входящие накладные

J_3RF_RGTORG_OUT - исходящие накладные

J_3RF_RGTORG_IFS - индекс документов

+структура каждой таблицы