01. DATOS GENERALES
Producto | TOTVS Backoffice | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | ||||||||||||
Segmento: | Backoffice | ||||||||||||
Módulo: | SIGAFAT - Facturación | ||||||||||||
Función: |
| ||||||||||||
País: | México | ||||||||||||
Ticket: | No aplica. | ||||||||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-22067 |
02. SITUACIÓN/REQUISITO
Para la funcionalidad de generación del XML de los Comprobantes Fiscales Digitales por Internet (CFDI), a través de las rutinas de Generación de XML para Documentos de Salida (FATSMEX.PRW) y Generación de XML para Documentos de Entrada (FATEMEX.PRW) para el país México, es decir, cuando el parámetro MV_FEXML se encuentra configurado con el valor S, se solicita realizar la implementación de personalizaciones por medio de puntos de entrada disponibles, que permitan las siguientes acciones:
- En el nodo cfdi:Comprobante, permitir personalizar el atributo "Exportación".
- Personalizar el nodo cfdi:Parte.
03. SOLUCIÓN
En la rutina de Generación de XML para Documentos de Entrada (FATEMEX) y la rutina Generación de XML para Documentos de Salida (FATSMEX) , se realizan los siguientes ajustes:
- En el Punto de Entrada PEXMLDOC se activó la opción E, para personalizar el atributo Exportación.
En la rutina de Funciones genéricas de Documentos Fiscales (LOCXFUNA), se realizan los siguientes ajustes:
En el Punto de Entrada PECOMPCON se activó la opción P, para personalizar el nodo cfdi:Parte.
Información
El punto de Entrada PECOMPCON, recibe 2 parámetros, donde:
El primer parámetro es de tipo carácter, con las opción P para personalizar el nodo de Parte de los Conceptos
El segundo parámetro recibe el valor lógico .T. o .F., que indica si se va a generar la Cadena Original o el XML (.T. es igual a generar la Cadena Original y .F. es igual a generar el XML)
El retorno debe ser un valor de tipo carácter.
- Realizar un respaldo del repositorio del ambiente (archivo RPO).
- Aplicar el parche correspondiente al issue DMINA-22067.
- Validar que las rutinas incluidas en el parche coincidan con las mencionadas en la sección "Función" del encabezado del presente Documento Técnico, así como las fechas.
- Configurar el parámetro MV_FEXML, con el valor igual a S.
- Configurar el parámetro MV_CFDDIRS con la ruta donde se encuentran las llaves y certificados.
- Configurar el parámetro MV_CFDI_CP con el nombre y extensión del Archivo de la clave privada (.pem).
- Configurar los puntos de entrada correspondientes para personalizar los nodos del XML: PEXMLDOC
- Ingresar al módulo Facturación (SIGAFAT), ir al menú "Actualizaciones | Facturación | Facturaciones (MATA467N)
- Indicar los parámetros de la rutina, informando la pregunta ¿Normal/Benef./Anticipo? con la opción Normal.
- Incluir una Factura de Venta (NF):
- Informar los datos del Encabezado de la Factura de Venta.
- Informar los datos de los ítems de la Factura de Venta.
- Confirmar el grabado de la Factura de Venta.
- Confirmar la generación y timbrado exitoso del Comprobante Fiscal Digital para Internet (Ésta confirmación puede presentarse o no de acuerdo a la configuración del parámetro MV_CFDUSO).
- Validar que en el XML sean informados los atributos especificados en los Puntos de Entrada.
- Ingresar al módulo Facturación (SIGAFAT), ir al menú "Actualizaciones | Facturación | Generac. de Notas de Crédito y Débito (MATA465N)
- Incluir una Nota de Crédito de Cliente:
- Informar los datos del Encabezado de la Nota de Crédito de Cliente (NCC).
- Informar los datos de los ítems de la Nota de Crédito de Cliente (NCC).
- Confirmar el grabado de la Nota de Crédito de Cliente (NCC).
- Confirmar la generación y timbrado exitoso del Comprobante Fiscal Digital para Internet (Ésta confirmación puede presentarse o no de acuerdo a la configuración del parámetro MV_CFDUSO).
- Validar que en el XML sean informados los atributos especificados en el Punto de Entrada.
04. INFORMACIÓN ADICIONAL
Ejemplos de los Puntos de Entrada:
#include 'protheus.ch' #INCLUDE "FWMVCDEF.CH" #include "FILEIO.CH" User Function PEXMLDOC() Local cOpc := PARAMIXB[1] //Opción para indicar el atributo o el nodo a personalizar Local lCadO := PARAMIXB[2] //Indica si es Cadena Original .T. = Si y .F. = No Local cXMLRet := "" If Alltrim(cEspecie) $ "NF" If cOpc == "E" //Exportación cXMLRet := IIf(!Empty(SF2->F2_TIPOPE) .And. Alltrim(SF2->F2_ESPECIE) == "NF","02", "01") EndIf EndIf Return cXMLRet
#include 'protheus.ch' #INCLUDE "FWMVCDEF.CH" #include "FILEIO.CH" User Function PECOMPCON() Local cXMLCon := "" Local cCRLF := (chr(13)+chr(10)) Local cOpc := PARAMIXB[1] //Opción donde IA - Información Aduanera, CP - Cuenta Predial, P - Parte Local lCadO := PARAMIXB[2] //Indica si es Cadena Original .T. = Si y .F. = No Local cSepa := "|" Local cClaveP:= "10101504" Local cNoId := "9642000000000002" Local cCant := "1" Local cUnid := "UN" Local cDesc := "MOUSE" If Alltrim(cEspecie) $ "NF|NDC|NCC" If lCadO If cOpc == "P" //Parte cXMLCon := cClaveP + cSepa + cNoId +cSepa+ cCant + cSepa + cUnid + cSepa +cDesc +cSepa EndIf Else If cOpc == "P" //Parte cXMLCon := Space(12) + ' <cfdi:Parte ClaveProdServ="'+ cClaveP +'" NoIdentificacion="'+ cNoId +'" Cantidad="'+ cCant +'" Unidad="'+cUnid+'" Descripcion="'+cDesc+'"/> '+ cCRLF EndIf EndIf EndIf Return cXMLCon
La presente solución aplica para versión 12.1.2210 o superior, y es necesario tener activa la funcionalidad de CFDI versión 4.0 o superior.¡IMPORTANTE!
05. ASUNTOS RELACIONADOS
- Activación de PEEMIREC para XML de Documentos de Entrada y Salida con MV_FEXML activo MEX
Activación de generación de XML de Factura de tipo Normal mediante rutina FATSMEX.PRW México
- Activación de generación de XML de Nota de Crédito de Cliente mediante rutina FATEMEX.PRW MEX
- Activación de PE para ajustar datos de Conceptos, Impuestos por ítem, Información Aduanera, Cuenta Predial e Impuestos Totales para FATSMEX.PRW y FATEMEX.PRW MEX