El proceso de Pre-factura, permite al usuario subir Comprobantes Fiscales (XML) expedidos por los proveedores para la generación mediante la opción "+ Subir XML". También permite la Modificación, Visualización y Borrado de los registros correspondientes a la carga de los Comprobantes Fiscales.
El proceso se encuentra dividido en Subir XML y Mantenimiento de los registros, los cuales serán descritos a continuación:
Subir XML:
La opción Subir XML, es el proceso que permite la carga de las facturas electrónica (XML) de los proveedores; el cual obtiene los valores para validar la información y así poder subirla a Protheus.
En la carga del XML, el sistema realiza validaciones para asegurar la correcta carga de la información, las cuales en caso de no cumplirse retornarán los siguientes mensaje de validación:
Validaciones de configuración:
Sec. | Validaciones a Realizar | Descripción del Mensaje de error |
1 | La existencia del archivo XML a subir. | “El archivo o la ubicación del archivo a subir no existen” |
2 | La existencia del directorio donde se colocara el archivo ya procesado. | “Directorio “+MV_XMLPRO+” donde se depositara el archivo procesado no existe” |
3 | Verificar que el RFC exista en el catálogo de proveedores (tabla SA1). | “RFC inexistente en el catálogo de proveedores” |
4 | La existencia del directorio donde se obtienen las facturas en xml. | “Directorio “+MV_DIRXML+ “donde se encuentran las facturas XML no existe.” |
Validaciones en XML:
Validaciones a Realizar | Mensaje de error |
Validar que no venga vacío el RFC del emisor | “"El RFC no fue informado dentro de la factura.” |
Validar que el RFC de la empresa(SM0->M0_CGC) coincida con el RFC del Receptor incluido en la factura. | “El RCF del Receptor informado en la factura no corresponde con el registrado para la empresa:” + SM0->M0_CGC |
Validar que el RFC del Receptor esté incluido en la factura. | "El RCF del Receptor no fue informado en la factura." |
Que contenga fecha de timbrado | “Factura sin fecha de timbrado.” |
Validar que la factura contenga el folio fiscal. El archivo XML deberá contener valores en el nodo UUID. | “Sin Folio fiscal (UUID)” |
NOTA:
Para saber más sobre el uso de funciones para el tratamiento de archivos XML con ADVPL, consulte en TDN:
Validaciones de tablas:
Validaciones a Realizar | Mensaje de error |
Validar que los campos (CSX3->X3_CAMPO) para la CPP/CPQ OBLIGATORIOS estén definidos como obligatorios en a configuración de la addenda (CPO_OBLIGA). | Por cada campo inexistente enviar el mensaje: “Configuración de Addenda Errónea para el campo: “+x3_titulo del CPO_CAMPO |
Validaciones a Realizar | Mensaje de error |
Validar que los campos (CPO_CAMPO), de la adenda seleccionada, existan sus elementos en el archivo (CPO_ELEMEN). | Por cada campo inexistente enviar el mensaje: “La factura no contiene “+x3_titulo del CPO_CAMPO |
NOTA:
Las Validaciones en XML y Validaciones de tablas; generarán un log de errores en caso de no superarse las validaciones, el cual será visualizado al finalizar el proceso de carga de XML.
Para la rutina de Prefactura (MATA458) con fecha mayor o igual a 21/06/2024, se tiene activo el Punto de Entrada PEVLD458, el cual se detona en la función que Realiza el proceso del xml (XMLProc) mediante la acción Subir XML, para permitir al usuario agregar validaciones personalizadas al generar una Prefactura desde un XML.
El punto de entrada PEVLD458 recibe como parámetro la estructura con los datos del XML.
Para más información ver el ejemplo de la sección Punto de Entrada.
Producto de XML asociado a Proveedor.
Para la rutina de Prefactura (MATA458) con fecha mayor o igual a 02/07/2024, cuando no se tenga una adenda configurada, se realiza la búsqueda del producto en la tabla SA5 - Productos X Proveedor con el código del producto informando en el atributo cfdi:Concepto:NoIdentificacion del XML,
Si el producto y el proveedor del XML no fueron asociados desde la rutina Productos X Proveedor(MATA061), se mostrará el siguiente mensaje:
Mantenimiento:
Subir XML:
Mantenimiento de registros:
Ejemplo del Punto de Entrada:
PEVLD458
User Function PEVLD458()
Local oXMLP := PARAMIXB[1] //Objeto del XML
Local aErrRet := {}
aAdd(aErrRet, "Error Personalizado en Punto de Entrada")
Return aErrRet
DT Pre-factura - México - Gestão de Compras - P12
Carga de Listado de Emisores de Comprobantes Fiscales 69-B