/
2.1.11.2.2.1. Overall implementation description (IS-U)

2.1.11.2.2.1. Overall implementation description (IS-U)

All mapping enhancements follow a common protocol at the time of implementation.

Firstly it is checked in the mapping excel (provided in the technical documentation of the tool) which is the default assignment for each field. If this coincides with the client's proposal of the implementation, then no further modification is necessary. If on the contrary the proposal differs, it is necessary to determine if there is an extension of type BAdI that allows us to change the mapping so that it takes the requested value.

All the BAdIs that can be used to change the default mappings are grouped in the extension point /EDGE/SII_MAPEOS_ISU.

 

Starting from this repository of enhancements and checking the code of the method GET_ESTRUCTURA_XML of the class that applies to the mapping of the field in question we can determine the existence (or not) of an alternative of expansion through BAdI.

Each stream will have one or two BAdIs supplied. The finalized in the suffix "_CL" only provide a series of methods without default code and that we must complete with the corresponding mapping. Those that do not have a "_CL" suffix provide a default base code that can be altered to fit the needs of each client.

  • BAdIs with default implementation:
    • /EDGE/BADI_SII_MAPEOS_FE_IS: This BAdI is used for fields to map in the IS-U issued invoice book, the methods it contains are as follows::
      • GET_TIPO_FACTURA: Returns the invoice type.
      • GET_FACTURAS_RECTIFICATIVAS: Returns the invoices of rectification.
      • GET_IMPORTE_RECTIFICATIVAS: Returns the rectification invoices amount.
      • GET_REGIMEN_ESPECIAL: Returns the special scheme value.
      • GET_SOCIEDAD: Returns  the company code.
      • SET_SOCIEDAD: Assigns the company code.
      • GET_PERIODO_IMPOSITIVO: Returns the tax period.
      • GET_NUMERO_FACTURA: Returns the invoice number.
      • GET_BASE_IMPONIBLE: Returns the taxable base.
      • GET_DATOS_CONTRAPARTE: Returns the different identification data of the counterparty (Ledger, country code, NIF, etc ...).
      • GET_DESC_OPERACION: Returns the operation description.

    • /EDGE/BADI_SII_MAPEOS_FE_SD: This BAdI is used for fields to be mapped in the invoice book issued SD, the methods it contains are as follows:


      • GET_SOCIEDAD: Returns  the company code.
      • SET_SOCIEDAD: Assigns the company code.
      • GET_PERIODO_IMPOSITIVO: Returns the tax period.
      • GET_NUMERO_FACTURA: Returns the invoice number.
      • GET_DATOS_CONTRAPARTE: Returns the different identification data of the counterparty (Ledger, country code, NIF, etc ...).
      • GET_DESC_OPERACION: Returns the operation description.


  • BAdIs without default implementation:
    • /EDGE/IF_SII_MAPEOS_FE_IS_CLI: This BAdI is used for fields to be mapped in the invoice book issued for IS-U, the methods it contains are as follows:
      • GET_EMISOR_RESUMEN: Returns sender summary.
      • ES_ALTA_NEGATIVA: Determination of if is a high negative.
      • GET_NIF_REPRESENTANTE: Returns the NIF of the representative.
      • ES_NO_SUJETA: Determination of whether an invoice is not subject.
      • GET_IMPORTE_NO_SUJETA: Returns the non-subject invoices amount.
      • GET_FACTURAS_AGRUPADAS: Returns data from grouped invoices.
      • GET_TIPO_RECTIFICATIVA: Returns the amendment bill type.
      • GET_CAUSA_EXENCION: Returns cause of exemption.
      • GET_ENTREGA_O_SERVICIO: Returns the deliveries and services for the breakdown by type of operation in the case that applies.

    • /EDGE/BADI_SII_MAPEOS_FE_SD_CL: This BAdI is used for fields to map in the invoice book issued for SD, the methods it contains are as follows


      • GET_EMISOR_RESUMEN: Returns sender summary.
      • ES_ALTA_NEGATIVA: Determination of if is a high negative.
      • GET_NIF_REPRESENTANTE: Returns the NIF of the representative.
      • ES_NO_SUJETA: Determination of whether an invoice is not subject.
      • GET_IMPORTE_NO_SUJETA: Returns the non-subject invoices amount.
      • GET_FACTURAS_AGRUPADAS: Returns data from grouped invoices.
      • GET_TIPO_RECTIFICATIVA: Returns the amendment bill type.
      • GET_CAUSA_EXENCION: Returns cause of exemption.
      • GET_ENTREGA_O_SERVICIO: Returns the deliveries and services for the breakdown by type of operation in the case that applies.
      • GET_NUM_REGISTRO_ACUERDO: Returns value of the billing agreement record number .
      • GET_TIPO_FACTURA: Returns the invoice type.
      • GET_REGIMEN_ESPECIAL: Recupera el valor del régimen especial.
      • GET_FACTURAS_RECTIFICADAS: Returns the rectification invoices.
      • GET_IMPORTE_RECTIFICATIVAS: Returns the rectification invoices amounts.
      • GET_BASE_IMPONIBLE: Returns the taxable base.
      • GET_TIPO_NO_EXENTA: Reurns the non-exempt type.


If there is no alternative to the BAdI extension for the field, the option to implement a class Z as the daughter of the /EDGE/CL_EDOC_SII_MAP_IS_L class must be considered. Once this is done, we would redefine the GET_ESTRUCTURA_XML method using the super method to reuse the existing logic with the modifications we deem necessary or to rewrite it completely. Another possibility is to create a POST or OVERWRITE implementation over the GET_ESTRUCTURA_XML method.





Avvale 2024