Árvore de páginas

01. DATOS GENERALES


Producto

TOTVS Backoffice

Línea de producto: 

Línea Protheus

Segmento:

Servicios

Módulo:SIGAFAT - Facturación
Función:

   

Rutina(s)Nombre TécnicoFecha
LOCXFUNAFunciones genéricas de localizaciones.15/12/2020
FATSMEX.INIArchivo de configuración para Generación de XML para Documentos de Salida15/12/2020

   

Ticket:10286199
Requisito/Story/Issue (informe el requisito vinculado):DMINA-10756

02. SITUACIÓN/REQUISITO

Cuando se realiza el timbrado de una Factura de Venta que contiene un ítem con una TES configurada como bonificación "¿Agrega Valor?(F4_AGREG) = N -No", es generado el nodo de ese concepto con valor "0.00" y al timbrarla no permite ya que el SAT indica que este valor unitario debe ser mayor a cero. 

**Para mayor información Guía de llenado CFDI 3.3

03. SOLUCIÓN

  • Dentro de la rutina Funciones genéricas de Localizaciones (LOCXFUNA):
    1. Se crea la función LxfBusTES() donde indica si la TES del ítem tiene configurada una TES de bonificación (¿Agrega Valor? (F4_AGREG) = N - No).
    2. Se modifica la función fImptosD() donde se realiza cuando la TES del ítem contenga el campo (F4_AGREG) = N - No), el valor unitario del ítem será de "0.01" y el importe total del ítem será de "cantidad del ítem* 0.01"
    3. Se crea la función fSumBC() donde realiza el calculo de los ítems de la factura que tienen una TES de bonificación.
  • Dentro del Generación de XML para Documentos de Salida (FATSMEX.INI), se realiza la modificación en el subtotal y total donde suma el valor actual con lo obtenido en la función fSumBC().


  1. Realizar un respaldo de repositorio (.rpo)
  2. Aplicar un el parche correspondiente al issue DMINA-10756 y actualizar el archivo FATSMEX.INI
       

    Importante


    Si en su ambiente ya existe un archivo FATSMEX.INI y contiene personalizaciones, es recomendable evitar su actualización; en cambio deberá editarlo y realizar las siguientes modificaciones que corresponden a la solución del presente issue:


    En la INICIALIZACION

    Agregar una nueva línea 

    (PRE) _aTotal[103] := fSumBC(SF2->F2_DOC,SF2->F2_SERIE,SF2→F2_CLIENTE,SF2->F2_LOJA)

    Dentro de la CADENAORIGINAL_SELLO


    En el "Subtotal"

    Cambiar la línea: 

    (PRE) cCadOrig += Alltrim(STR(IIF(ALLTRIM(SF2->F2_TIPODOC) == "21", 0, (SF2->F2_VALMERC  + SF2->F2_DESCONT) - _aTotal[036] ),14,2)) + _aTotal[098]

    Por estas línea:

    (PRE) cCadOrig += Alltrim(STR(IIF(ALLTRIM(SF2->F2_TIPODOC) == "21", 0, (SF2->F2_VALMERC + _aTotal[103] + SF2->F2_DESCONT) - _aTotal[036] ),14,2)) + _aTotal[098]


    En el "Total"

    Cambiar la línea: 

    (PRE) cCadOrig += Alltrim(Str(IIf(ALLTRIM(SF2->F2_TIPODOC) == "21", 0, iif(GetSx3Cache("F2_VALBRUT","X3_DECIMAL")<= 2,SF2->F2_VALBRUT ,Round(SF2->F2_VALBRUT,2))),14,2)) + _aTotal[098]

    Por estas línea:

    (PRE) cCadOrig += Alltrim(Str(IIf(ALLTRIM(SF2->F2_TIPODOC) == "21", 0, iif(GetSx3Cache("F2_VALBRUT","X3_DECIMAL")<= 2,SF2->F2_VALBRUT + _aTotal[103],Round(SF2->F2_VALBRUT,2) + _aTotal[103])),14,2)) + _aTotal[098]

    Dentro de los datos de la FACTURA


    En el "Subtotal"

    Cambiar la línea: 

    (PRE) _aTotal[001] += ' SubTotal="' + Alltrim(STR(IIF(ALLTRIM(SF2->F2_TIPODOC) == "21", 0, (SF2->F2_VALMERC + SF2->F2_DESCONT) - _aTotal[036] ),14,2)) + '"'

    Por estas línea:

    (PRE) _aTotal[001] += ' SubTotal="' + Alltrim(STR(IIF(ALLTRIM(SF2->F2_TIPODOC) == "21", 0, (SF2->F2_VALMERC + _aTotal[103] + SF2->F2_DESCONT) - _aTotal[036] ),14,2)) + '"'


    En el "Total"

    Cambiar la línea: 

    (PRE) _aTotal[001] += ' Total="' + Alltrim(Str(IIf(Alltrim(SF2->F2_TIPODOC) == "21", 0, iif(GetSx3Cache("F2_VALBRUT","X3_DECIMAL")<= 2,SF2->F2_VALBRUT,Round(SF2->F2_VALBRUT,2))),14,2)) + '"'

    Por estas línea:

    (PRE) _aTotal[001] += ' Total="' + Alltrim(Str(IIf(Alltrim(SF2->F2_TIPODOC) == "21", 0, iif(GetSx3Cache("F2_VALBRUT","X3_DECIMAL")<= 2,SF2->F2_VALBRUT + _aTotal[103],Round(SF2->F2_VALBRUT,2)+ _aTotal[103])),14,2)) + '"'


    Nota:

    Si tiene dudas de cómo realizar los cambios, consulte al área de Soporte o Servicios.

       

  3. Validar que se tiene activa la funcionalidad de Facturación Electrónica para México CFDI (véase la sección 05. ASUNTOS RELACIONADOS)
  4. Desde el Configurador (SIGACFG)
    1. Habilitar como usado el campo Agrega Valor - "F4_AGREG" dentro de la tabla Tipos de Entrada y Salida "SF4".



  5. Contar con un Cliente.
  6. Contar con uno o más Productos.
  7. En el módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Archivos | Tipos de Entrada y Salida (MATA080):

    • Configurar un Tipo de Entrada/Salida de tipo Salida, sin cálculo de los impuestos y con ¿Agrega Valor? = N.



    • Configurar un Tipo de Entrada/Salida de tipo Salida, con cálculo del impuesto IVA.



  1. En el módulo Facturación (SIGAFAT)
  2. Ir al menú Actualizaciones | Facturación Facturaciones (MATA467N).
  3. Incluir una nueva Factura de Salida, en donde:
    • El primer ítem utilizar el Tipo de Entrada/Salida con cálculo de los impuestos IVA.
    • El segundo ítem utilizar el Tipo de Entrada/Salida sin cálculo del impuesto y con ¿Agrega Valor? = N.
  4. Una vez que se tienen informados todos los datos del documento, presionar Grabar para confirmar el guardado.
  5. Confirmar la generación del CFDI.
  6. Validar que hay haya generado con éxito el Timbre Fiscal.
  7. Validar que en el XML se visualicen en el nodo del segundo concepto con valor unitario de "0.01".

04. INFORMACIÓN ADICIONAL

El parámetro MV_BONUSTS, es utilizado para informar el código de TES utilizado por reglas de bonificación.


¡IMPORTANTE!

Se debe contar con la funcionalidad de Facturación Electrónica de modalidad CFDI 3.3, y la solución aplica para versión 12.1.17 o superior.

05. ASUNTOS RELACIONADOS

  • Facturación Electrónica México CFDI 3.3

    DT_Factura_Electronica_Mexico_CFDI_Version_3_3