Histórico da Página
Comprobante fiscal digital por Internet Versión 3.3
Características del Requisito
Línea de Producto: | Microsiga Protheus. | ||||||||||||||||||||||||||
Segmento: | Servicios- Mercado Internacional. | ||||||||||||||||||||||||||
Módulo: | SIGAFAT- Facturación. | ||||||||||||||||||||||||||
Rutina: |
| ||||||||||||||||||||||||||
Archivo Iniciales: | |||||||||||||||||||||||||||
Parámetro(s): | |||||||||||||||||||||||||||
Punto de Entrada: | |||||||||||||||||||||||||||
Llamados vinculados: | |||||||||||||||||||||||||||
Requisito/Story/Issue: | DMINA-604 | ||||||||||||||||||||||||||
País(es): | México. | ||||||||||||||||||||||||||
Base(s) de Datos: | Todas | ||||||||||||||||||||||||||
Tablas utilizadas: | F3H - Configuración de catálogos. | ||||||||||||||||||||||||||
Sistema(s) operativo(s): | Todos |
Descripción
Los comprobantes fiscales deben emitirse por los actos o actividades que se realicen, por los ingresos que perciban o por las retenciones de contribuciones que efectúen los contribuyentes ya sean personas físicas o morales.
El artículo 29-A del Código Fiscal de la Federación (CFF) establece los requisitos que deben de contener los Comprobantes Fiscales Digitales por Internet (CFDI), en relación con lo establecido en el artículo 29, fracción VI del citado Código, dichos comprobantes deben de cumplir con las especificaciones que en materia de informática determine el Servicio de Administración Tributaria (SAT), mediante reglas de carácter general.
Para dar cumplimiento a la legislación mencionada y de acuerdo a las especificaciones del Anexo 20 de la Resolución Miscelánea Fiscal para 2017, publicada el 23 de diciembre de 2016, en el presente documento se detalla la configuración que se debe realizar para la generación de los Comprobantes Fiscales Digitales a través de Internet (CFDi) versión 3.3.
Importante
Antes de ejecutar el Procedimiento de Implantación, es imprescindible:
- Realizar la copia de seguridad de la base de datos del producto que ejecutará el compatibilizador (directorio PROTHEUS_DATA\DATA) y de los diccionarios de datos SX (directorio PROTHEUS_DATA_SYSTEM).
- Los directorios mencionados anteriormente corresponden a la instalación estándar del Protheus, por lo tanto, deben modificarse de acuerdo con el producto instalado en la empresa.
- El compatibilizador debe ejecutarse de modo exclusivo, es decir, ningún usuario debe estar utilizando el sistema.
- Si los diccionarios de datos tienen índices personalizables (creados por el usuario), antes de ejecutar el compatibilizador, asegúrese de que están identificados por el nickname. Si el compatibilizador necesita crear índices, los agregará a partir del orden original instalado por el Protheus, lo que podrá ocasionar la superposición de índices personalizados, si no están identificados por el nickname.
- El compatibilizador debe ejecutarse con la Integridad referencial desactivada*.
Atención ¡El siguiente procedimiento debe realizarlo un profesional calificado como Administrador de base de datos (DBA) o su equivalente! La activación indebida de la integridad referencial puede modificar drásticamente la relación entre tablas en la base de datos. Por lo tanto, antes de utilizarla, observe atentamente el siguiente procedimiento: 1. En el Configurador (SIGACFG), verifique si la empresa utiliza Integridad referencial, seleccionando la opción Integridad/Verificación (APCFG60A). 2. Si no hay Integridad referencial activa, se listan en una nueva ventana todas las empresas y sucursales registradas en el sistema y ninguna de estas estará seleccionada. SOLAMENTE en este caso no es necesario ningún otro procedimiento de activación o desactivación de integridad, basta finalizar la verificación y aplicar normalmente el compatibilizador, de acuerdo con las instrucciones. 3. Si la Integridad referencial está activa en todas las empresas y sucursales, se muestra un mensaje en la ventana Verificación de vínculo entre tablas. Confirme el mensaje para que se concluya la verificación, o; 4. Si existe Integridad referencial activa en una o más empresas, que no representan la totalidad, se listan en una nueva ventana todas las empresas y sucursales registradas en el sistema y solamente se seleccionarán las que tienen integridad. Anote las empresas y/o sucursales que tienen la integridad activada y reserve esta anotación para posterior consulta en la reactivación (o incluso, entre en contacto con nuestro Help Desk Framework para informarse sobre los archivos que contienen esta información). 5. En los casos descritos en los ítems “iii” o “iv”, Y SOLO EN ESTOS CASOS, es necesario desactivar dicha integridad, seleccionando la opción Integridad/ Desactivar (APCFG60D). 6. Al desactivar la Integridad referencial, ejecute el compatibilizador, de acuerdo con las instrucciones. 7. Después de aplicar el compatibilizador, la Integridad referencial debe reactivarse, SOLAMENTE CUANDO se haya desactivado, por medio de la opción Integridad/Activar (APCFG60). Para ello, tenga a disposición la información de la(s) empresa(s) y/o sucursal(es) que tenía(n) activación de la integridad, selecciónela(s) nuevamente y confirme la activación.
¡EN CASO DE DUDAS, entre en contacto con el Help Desk Framework! |
Procedimiento de Implantación
Deberá aplicar el paquete de actualización (patch) relacionado a éste llamado. Es importante respaldar el repositorio de objetos (RPO) antes de aplicar la actualización.
El patch contiene la actualización de los fuentes:
- LOCXNF.PRW - Control de Notas Fiscales.
- LOCXNF2.PRW - Calculo en Notas Fiscales.
- MATA468N.PRW - Facturas Automáticas.
- FISA812.PRW - Definición de Catálogos.
- FISA813.PRW - Mantenimiento de Catálogos.
- FISA814.PRW - Carga de Catálogos.
- UPDFATMI.PRW - Actualización al Diccionario de Datos.
- UPDMODMI.PRW - Actualización al Diccionario de Datos.
- LOCXFUNA.PRX - Funciones Genéricas de Localizaciones.
Junto con el paquete de actualización se incluyen los siguientes ejemplos:
- FATSMEX.INI - Script de generación de los archivos XML.
- FATEMEX.INI - Script de generación de los archivos XML.
2. En base a los scripts de ejemplo antes mencionados, FATSMEX.ini y FATEMEX.ini, debe actualizar los archivos correspondientes al ambiente ubicados dentro de la carpeta inicfd (PROTHEUS_DATA\SYSTEM\CFDI\INICFD), estos archivos se utilizan para configurar la generación de los archivos xml de facturación (CFDI).
Importante
La ejecución del UPDMODMI solo aplica para las versiones 10 y 11 de Protheus.
3. Ejecutar el compatibilizador UPDMODMI:
- En Microsiga Protheus Smart Client , digite UPDMODMI en el campo Programa Inicial.
Para que se actualice correctamente el diccionario de datos, asegúrese de que la fecha del compatibilizador sea igual o superior al 19/05/2017.
Haga clic en OK para continuar.
Después de confirmar, aparece una pantalla para seleccionar la empresa en la cual se modificará el diccionario de datos o aparece la ventana para seleccionar el compatibilizador. Deberá seleccionar el módulo “SIGAFAT – Facturación” y posteriormente el actualizador “07 - Comprobante Fiscal Digital por Internet versión 3.3”.
Al confirmar, se muestra un mensaje de advertencia sobre la copia de seguridad y la necesidad de su ejecución de modo exclusivo.
Haga clic en Procesar para iniciar el procesamiento. El primer paso de la ejecución es la preparación de los archivos.
Se muestra un mensaje explicativo en la pantalla.
A continuación, se muestra la ventana Actualización concluida con el historial (log) de todas las actualizaciones procesadas. En este log de actualización se muestran únicamente los campos actualizados por el programa. El compatibilizador crea los campos que aún no existen en el diccionario de datos.
Haga clic en Grabar para guardar el historial (log) mostrado.
Haga clic en OK para finalizar el procesamiento.
5. Obtenga del sitio web del SAT el archivo Catálogo de datos (xsd) http://www.sat.gob.mx/sitio_internet/cfd/catalogos/catCFDI.xsd, exporte las diferentes tablas contenidas en la planilla hacia archivos tipo CSV separados, el nombre de los archivos debe ser el correspondiente a cada pestaña (hoja), la ruta donde almacenará estos archivos debe ser informada en el parámetro del sistema MV_PATH814, descrito más adelante en este documento.
Importante
Para la versión 10 de Protheus se deben copiar los siguientes archivos en la carpeta del smartclient.
- Archivo de la llave privada (.PEM)
- openssl.exe
- libssl32.dll
- libeay32.dll
- SelladoXml.exe
Actualizaciones del Compatibilizador
1. Creaciónde tabla en el archivo SX2– Tablas:
Clave | Nombre | Modo | PYME |
F3H | Configuración de Catálogos | C | S |
F3I | Información de Catálogos | C | S |
2. Creaciónde Campos en el archivo SX3 – Campos:
- Tabla F3H - Configuración de Catálogos.
Campo | F3H_FILIAL |
Tipo | C |
Tamaño | 2 |
Decimal | 0 |
Formato | |
Título | Sucursal |
Descripción | Sucursal |
Nivel | 1 |
Utilizado | No |
Obrigatório | No |
Browse | No |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Digite el código de la sucursal. |
Campo | F3H_CODIGO |
Tipo | C |
Tamaño | 4 |
Decimal | 0 |
Formato | @! |
Título | Código |
Descripción | Código del parámetro |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | Sí |
Browse | Sí |
Opciones | |
When | |
Relación | |
Val. Sistema | NaoVazio() .and. ExistChav("F3H", M->F3H_CODIGO,1) .and. FreeForUse("F3H",M->F3H_CODIGO) |
Help | Código del parámetro. |
Campo | F3H_DESC |
Tipo | C |
Tamaño | 30 |
Decimal | 0 |
Formato | @! |
Título | Descripción |
Descripción | Descripción del parámetro |
Nivel | |
Utilizado | Sí |
Obrigatório | Sí |
Browse | Sí |
Opciones | |
When | |
Relación | |
Val. Sistema | NAOVAZIO() |
Help | Descripción del parámetro. |
Campo | F3H_ORDEM |
Tipo | C |
Tamaño | 2 |
Decimal | 0 |
Formato | 99 |
Título | Orden |
Descripción | Orden del Parámetro |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | Sí |
Browse | No |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Orden del parámetro. |
Campo | F3H_CAMPOS |
Tipo | C |
Tamaño | 10 |
Decimal | 0 |
Formato | AXXXXXXXXX |
Título | Campos |
Descripción | Nombre del Campo |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | Sí |
Browse | No |
Opciones | |
When | |
Relación | |
Val. Sistema | NaoVazio() .and. f812VerChav("F3H",M->F3H_CAMPOS) |
Help | Incluir el nombre del campo. |
Campo | F3H_DESCPO |
Tipo | C |
Tamaño | 25 |
Decimal | |
Formato | @! |
Título | Desc.Campo |
Descripción | Descripción del Campo |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | Sí |
Browse | No |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Incluir la descripción del campo. |
Campo | F3H_TIPO |
Tipo | C |
Tamaño | 1 |
Decimal | |
Formato | @! |
Título | Tipo |
Descripción | Tipo |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | Sí |
Browse | No |
Opciones | N=Numérico;C=Carácter;D=Fecha |
When | F812Valid() |
Relación | |
Val. Sistema | NaoVazio() .and. Pertence("NCD") .and. f812ChkTipo(M->F3H_TIPO) |
Help | Incluya el tipo de campo. C = Carácter, D = Fecha, N = Numérico. |
Campo | F3H_TAMAN |
Tipo | N |
Tamaño | 3 |
Decimal | |
Formato | 999 |
Título | Tamaño |
Descripción | Tamaño del Campo |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | Sí |
Browse | No |
Opciones | |
When | F812Valid() |
Relación | |
Val. Sistema | NaoVazio() .and. F812ChkTaman(M->F3H_TAMAN) |
Help | Incluir el tamaño del campo. Obs: si el campo fuera tipo D=Fecha, el tamaño debe ser igual a 8. |
Campo | F3H_DECIMA |
Tipo | N |
Tamaño | 2 |
Decimal | |
Formato | 99 |
Título | Decimal |
Descripción | Decimal |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | No |
Opciones | |
When | F812Valid() |
Relación | |
Val. Sistema | f812ChkDec(M->F3H_DECIMA) |
Help | Incluir el número de decimales que tendrá el campo. Campos tipo: Fecha y Carácter No tiene decimales |
Campo | F3H_PICTUR |
Tipo | C |
Tamaño | 45 |
Decimal | 0 |
Formato | @! |
Título | Formato |
Descripción | Formato |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | No |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Digite la máscara para la exhibición del campo. Ej.: "@E 999,99 |
Campo | F3H_VALID |
Tipo | C |
Tamaño | 120 |
Decimal | 0 |
Formato | @! |
Título | Validación |
Descripción | Validación del Usuario |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | No |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Agregar una validación del campo si es necesario. Ej,: Entre("01","10",M-> F3H_TAMAN,.T.) En el caso que la función utilizada sea "PERTENECE", deberá informarse el campo como segundo parámetro. Ej.: Pertence("12",cCampo) |
Campo | F3H_PADRAO |
Tipo | C |
Tamaño | 6 |
Decimal | |
Formato | @! |
Título | Cons.Estand. |
Descripción | Consulta Estandar |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | No |
Opciones | |
When | |
Relación | |
Val. Sistema | f812ConsPad() |
Help | Digite una consulta estándar para la tabla. |
Campo | F3H_VERSAO |
Tipo | C |
Tamaño | 3 |
Decimal | |
Formato | @! |
Título | Versión |
Descripción | Versión |
Nivel | 1 |
Utilizado | No |
Obrigatório | No |
Browse | No |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Versión del catálogo. |
Campo | F3H_PESQ |
Tipo | C |
Tamaño | 1 |
Decimal | |
Formato | @! |
Título | ¿Usado Busq? |
Descripción | ¿Usado en la Busqueda? |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | No |
Opciones | 1=Si;2=No |
When | |
Relación | |
Val. Sistema | |
Help | ¿Usado en la Búsqueda de la Consulta Estándar (SXB)? Informar Si para utilizar este campo como clave simples de búsqueda. |
- Tabla F3I - Información de Catálogos.
Campo | F3I_FILIAL |
Tipo | C |
Tamaño | 2 |
Decimal | 0 |
Formato | |
Título | Sucursal |
Descripción | Sucursal |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | Sí |
Browse | No |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Informe el código de la sucursal. |
Campo | F3I_CODIGO |
Tipo | C |
Tamaño | 4 |
Decimal | 0 |
Formato | @! |
Título | Código |
Descripción | Código del parámetro |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | No |
Opciones | |
When | |
Relación | |
Val. Sistema | EXISTCPO("F31") |
Help | Informe el contenido de identificación del ítem de la lista. Por ejemplo, si la lista de modificación es la lista de países, este campo corresponde al código de identificación del país. |
Campo | F3I_SEQUEN |
Tipo | C |
Tamaño | 5 |
Decimal | |
Formato | 99999 |
Título | Secuencia |
Descripción | Secuencia |
Nivel | |
Utilizado | Sí |
Obrigatório | No |
Browse | No |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Secuencia. |
Campo | F3I_CONTEU |
Tipo | C |
Tamaño | 250 |
Decimal | |
Formato | @! |
Título | Contenido |
Descripción | Contenido de tabla |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | No |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Informe el contenido. |
- Tabla CTO - Monedas.
Campo | CTO_MOESAT |
Tipo | C |
Tamaño | 3 |
Decimal | |
Formato | @! |
Título | Moneda SAT |
Descripción | Moneda SAT |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Consulta | MEX008 |
Val. Sistema | Vazio() .or. ValidF3I("S008", M->CTO_MOESAT,1,3) |
Help | Clave de moneda de acuerdo al catálogo del SAT |
- Tabla SB1 - Productos.
Campo | B1_PRODSAT |
Tipo | C |
Tamaño | 8 |
Decimal | |
Formato | @! |
Título | Prod/Serv SAT |
Descripción | Producto o servicio SAT |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Consulta | MEX002 |
Val. Sistema | Vazio() .or. ValidF3I("S002", M->B1_PRODSAT,1,8) |
Help | Clave del producto o del servicio de acuerdo al catálogo del SAT. |
Campo | B1_NUMCTAP |
Tipo | C |
Tamaño | 150 |
Decimal | |
Formato | @! |
Título | Cta. predial |
Descripción | Cuenta Predial |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Número de la cuenta predial del inmueble. |
- Tabla SAH - Unidades de Medida.
Campo | AH_UNIDSAT |
Tipo | C |
Tamaño | 3 |
Decimal | |
Formato | @! |
Título | Uni Med SAT |
Descripción | Unidad medida SAT |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Consulta | MEX003 |
Val. Sistema | Vazio() .or. ValidF3I("S003", M->AH_UNIDSAT,1,3) |
Help | Unidad de medida de acuerdo al catálogo del SAT |
- Tabla SFB - Impuestos Variables.
Campo | FB_IMPSAT |
Tipo | C |
Tamaño | 3 |
Decimal | |
Formato | @! |
Título | Impuesto SAT |
Descripción | Impuesto SAT |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Consulta | MEX006 |
Val. Sistema | Vazio() .or. ValidF3I("S006", M->FB_IMPSAT,1,3) |
Help | Clave de impuesto de acuerdo al catálogo del SAT |
- Tabla SE4 - Condiciones de Pago.
Campo | E4_MPAGSAT |
Tipo | C |
Tamaño | 3 |
Decimal | |
Formato | @! |
Título | Met Pago SAT |
Descripción | Método de Pago SAT |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Consulta | MEX007 |
Val. Sistema | Vazio() .or. ValidF3I("S007", M->E4_MPAGSAT,1,3) |
Help | Clave del método de pago de acuerdo al catálogo del SAT |
- Tabla SF1 - Documentos de Entrada.
Campo | F1_RELSAT |
Tipo | C |
Tamaño | 2 |
Decimal | |
Formato | @99 |
Título | Relación CFDI |
Descripción | Tipo de relación CFDI |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Consulta | MEX012 |
Val. Sistema | Vazio() .or. ValidF3I("S012", M->F1_RELSAT,1,2) |
Help | Tipo de relación entre el documento y CFDI previo. |
Campo | F1_UUIDREL |
Tipo | M |
Tamaño | 10 |
Decimal | |
Formato | |
Título | UUID Relacs |
Descripción | UUID CFDI Relacionados |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Folio fiscal de un CFDI relacionado con el presente comprobante. Separar cada folio fiscal con un salto de línea. |
Campo | F1_USOCFDI |
Tipo | C |
Tamaño | 3 |
Decimal | |
Formato | @! |
Título | Uso CFDI |
Descripción | Clave de uso CFDI |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Consulta | MEX013 |
Val. Sistema | Vazio() .or. ValidF3I("S013", M->F1_USOCFDI,1,3) |
Help | Clave del uso que dará a esta factura el receptor del CFDI. |
- Tabla SD1 - Items de Documentos de Entrada.
Campo | D1_PEDISAT |
Tipo | C |
Tamaño | 90 |
Decimal | |
Formato | |
Título | Núm. Ped. |
Descripción | Número del Pedimento |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Número del pedimento que ampara la importación. Separar cada número de pedimento con el carácter pipe "|". |
- Tabla SF2 - Documentos de Salida.
Campo | F2_RELSAT |
Tipo | C |
Tamaño | 2 |
Decimal | |
Formato | @99 |
Título | Relación CFDI |
Descripción | Tipo de relación CFDI |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Consulta | MEX012 |
Val. Sistema | Vazio() .or. ValidF3I("S012", M->F2_RELSAT,1,2) |
Help | Tipo de relación entre el documento y CFDI previo. |
Campo | F2_UUIDREL |
Tipo | M |
Tamaño | 10 |
Decimal | |
Formato | |
Título | UUID Relacs |
Descripción | UUID CFDI Relacionados |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Folio fiscal de un CFDI relacionado con el presente comprobante. Separar cada folio fiscal con un salto de línea. |
Campo | F2_USOCFDI |
Tipo | C |
Tamaño | 3 |
Decimal | |
Formato | @! |
Título | Uso CFDI |
Descripción | Clave de uso CFDI |
Nivel | |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Consulta | MEX013 |
Val. Sistema | Vazio() .or. ValidF3I("S013", M->F2_USOCFDI,1,3) |
Help | Clave del uso que dará a esta factura el receptor del CFDI. |
- Tabla SD2 - Items de Documentos de Salida.
Campo | D2_PEDISAT |
Tipo | C |
Tamaño | 90 |
Decimal | |
Formato | |
Título | Núm. Ped. |
Descripción | Número del Pedimento |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Número del pedimento que ampara la importación. Separar cada número de pedimento con el carácter pipe "|". |
- Tabla SC5 - Pedidos de Venta.
Campo | C5_RELSAT |
Tipo | C |
Tamaño | 2 |
Decimal | 0 |
Formato | @99 |
Título | Relación CFDI |
Descripción | Tipo de relación CFDI |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Consulta | MEX012 |
Val. Sistema | Vazio() .or. ValidF3I("S012", M->C5_RELSAT,1,2) |
Help | Tipo de relación entre el documento y CFDI previo |
Campo | C5_UUIDREL |
Tipo | M |
Tamaño | 10 |
Decimal | |
Formato | |
Título | UUID Relacs |
Descripción | UUID CFDI Relacionados |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Folio fiscal de un CFDI relacionado con el presente comprobante. Separar cada folio fiscal con un salto de línea. |
Campo | C5_USOCFDI |
Tipo | C |
Tamaño | 3 |
Decimal | |
Formato | @! |
Título | Uso CFDI |
Descripción | Clave de uso CFDI |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Consulta | MEX013 |
Val. Sistema | Vazio() .or. ValidF3I("S013", M->C5_USOCFDI,1,3) |
Help | Clave del uso que dará a esta factura el receptor del CFDI. |
- Tabla SC6 - Items de Pedidos de Venta.
Campo | C6_PEDISAT |
Tipo | C |
Tamaño | 90 |
Decimal | |
Formato | |
Título | Núm. Ped. |
Descripción | Número del Pedimento |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | Sí |
Opciones | |
When | |
Relación | |
Val. Sistema | |
Help | Número del pedimento que ampara la importación. |
- Tabla SYA - Países.
Campo | YA_CCESAT |
Tipo | C |
Tamaño | 3 |
Decimal | |
Formato | @! |
Título | País SAT. |
Descripción | Clave País SAT. |
Nivel | 1 |
Utilizado | Sí |
Obrigatório | No |
Browse | No |
Opciones | |
When | |
Consulta | MEX009 |
Val. Sistema | Vazio() .or. ValidF3I("S009", M->YA_CCESAT,1,3) |
Help | Clave país para Complemento Comercio Exterior. |
3. Modificación de Campos en el archivo SX3 – Campos:
- Tabla SA1 - Clientes:
Campo | A1_MPAGO |
Consulta | MEX005 |
Val. Sistema | Vazio() .or. ValidF3I("S005", M->A1_MPAGO,1,2) |
Nota:
El campo A1_MPAGO se utiliza en las versiones 10 y 11 de Protheus.
- Tabla AI0 - Complementos de Clientes:
Campo | AI0_MPAGO |
Consulta | MEX005 |
Val. Sistema | Vazio() .or. ValidF3I("S005", M->AI0_MPAGO,1,2) |
Nota:
El campo AI0_MPAGO se utiliza en las versiones 12 de Protheus.
Importante:
El tamaño de los campos que disponen de grupo puede variar de acuerdo con el entorno en uso.
5. Creaciónde Consulta Estándar en el archivo SXB – Consulta Estándar:
- Búsqueda MEX001:
Alias | Tipo | Secuencia | Columna | Descripción | Contém |
MEX001 | 1 | 01 | RE | Catálogo de aduanas | F3I |
MEX001 | 2 | 01 | 01 | Catálogo de aduanas | F812SXB("S001","Aduana") |
MEX001 | 5 | 01 | VAR_IXB |
- Búsqueda MEX002:
Alias | Tipo | Secuencia | Columna | Descripción | Contém |
MEX002 | 1 | 01 | RE | Catálogo de productos / servicios | F3I |
MEX002 | 2 | 01 | 01 | Catálogo de productos / servicios | F812SXB("S002","Clave") |
MEX002 | 5 | 01 | VAR_IXB |
- Búsqueda MEX003:
Alias | Tipo | Secuencia | Columna | Descripción | Contém |
MEX003 | 1 | 01 | RE | Catálogo de unidades de medida CFDI | F3I |
MEX003 | 2 | 01 | 01 | Catálogo de unidades de medida CFDI | F812SXB("S003","Clave") |
MEX003 | 5 | 01 | VAR_IXB |
- Búsqueda MEX004:
Alias | Tipo | Secuencia | Columna | Descripción | Contém |
MEX004 | 1 | 01 | RE | Catálogo de códigos postales | F3I |
MEX004 | 2 | 01 | 01 | Catálogo de códigos postales | F812SXB("S004","Clave") |
MEX004 | 5 | 01 | VAR_IXB |
- Búsqueda MEX005:
Alias | Tipo | Secuencia | Columna | Descripción | Contém |
MEX005 | 1 | 01 | RE | Catálogo de formas de pago | F3I |
MEX005 | 2 | 01 | 01 | Catálogo de formas de pago | F812SXB("S005","FormaPago") |
MEX005 | 5 | 01 | VAR_IXB |
- Búsqueda MEX006:
Alias | Tipo | Secuencia | Columna | Descripción | Contém |
MEX006 | 1 | 01 | RE | Catálogo de impuestos | F3I |
MEX006 | 2 | 01 | 01 | Catálogo de impuestos | F812SXB("S006","Impuesto") |
MEX006 | 5 | 01 | VAR_IXB |
- Búsqueda MEX007:
Alias | Tipo | Secuencia | Columna | Descripción | Contém |
MEX007 | 1 | 01 | RE | Catálogo de Método de Pago | F3I |
MEX007 | 2 | 01 | 01 | Catálogo de Método de Pago | F812SXB("S007","MetodoPago") |
MEX007 | 5 | 01 | VAR_IXB |
- Búsqueda MEX008:
Alias | Tipo | Secuencia | Columna | Descripción | Contém |
MEX008 | 1 | 01 | RE | Catálogo de moneda | F3I |
MEX008 | 2 | 01 | 01 | Catálogo de moneda | F812SXB("S008","Moneda") |
MEX008 | 5 | 01 | VAR_IXB |
- Búsqueda MEX009:
Alias | Tipo | Secuencia | Columna | Descripción | Contém |
MEX009 | 1 | 01 | RE | Catálogo de países | F3I |
MEX009 | 2 | 01 | 01 | Catálogo de países | F812SXB("S009","Pais") |
MEX009 | 5 | 01 | VAR_IXB |
- Búsqueda MEX010:
Alias | Tipo | Secuencia | Columna | Descripción | Contém |
MEX010 | 1 | 01 | RE | Catálogo de régimen fiscal | F3I |
MEX010 | 2 | 01 | 01 | Catálogo de régimen fiscal | F812SXB("S010","RegFiscal") |
MEX010 | 5 | 01 | VAR_IXB |
- Búsqueda MEX011:
Alias | Tipo | Secuencia | Columna | Descripción | Contém |
MEX011 | 1 | 01 | RE | Catálogo de tipos de comprobante | F3I |
MEX011 | 2 | 01 | 01 | Catálogo de tipos de comprobante | F812SXB("S011","TipoCompr") |
MEX011 | 5 | 01 | VAR_IXB |
- Búsqueda MEX012:
Alias | Tipo | Secuencia | Columna | Descripción | Contém |
MEX012 | 1 | 01 | RE | Catálogo de tipos de relación CFDI | F3I |
MEX012 | 2 | 01 | 01 | Catálogo de tipos de relación CFDI | F812SXB("S012","TipoRelac") |
MEX012 | 5 | 01 | VAR_IXB |
- Búsqueda MEX013:
Alias | Tipo | Secuencia | Columna | Descripción | Contém |
MEX013 | 1 | 01 | RE | Catálogo de uso de comprobantes | F3I |
MEX013 | 2 | 01 | 01 | Catálogo de uso de comprobantes | F812SXB("S013","UsoCFDI") |
MEX013 | 5 | 01 | VAR_IXB |
6. Creaciónde Índices en el archivo SIX – Índices:
Índice | F3H |
Orden | 1 |
Clave | F3H_FILIAL+F3H_CODIGO |
Descripción | Código |
Propietario | S |
Índice | F3H |
Orden | 2 |
Clave | F3H_FILIAL+F3H_DESC |
Descripción | Descripción |
Propietario | S |
Índice | F3H |
Orden | 3 |
Clave | F3H_FILIAL+F3H_CAMPOS+F3H_CODIGO |
Descripción | Campos + Código |
Propietario | S |
Índice | F3I |
Orden | 1 |
Clave | F3I_FILIAL+F3I_CODIGO+F3I_SEQUEN |
Descripción | Código + Secuencia |
Propietario | S |
7. Creación de Parámetros en el archivo SX6 – Parámetros:
Nombre de la Variable | MV_F3HNUM |
Tipo | C |
Descripción | Almacena el ultimo numero del codigo del parametro |
Valor Estándar | U000 |
Nombre de la Variable | MV_PATH814 |
Tipo | C |
Descripción | Ruta donde se encuentran los archivos en formato csv. |
Valor Estándar | C:\Temp\FISA814\ |
Nombre de la Variable | MV_RETISR |
Tipo | C |
Descripción | Códigos de retención de ISR |
Valor Estándar |
Nombre de la Variable | MV_RETIVAM |
Tipo | C |
Descripción | Códigos de retención de IVA |
Valor Estándar |
Nombre de la Variable | MV_RETIEPS |
Tipo | C |
Descripción | Códigos de retención de IEPS |
Valor Estándar |
Nombre de la Variable | MV_IVATRAS |
Tipo | C |
Descripción | Códigos de IVA trasladado |
Valor Estándar |
Nombre de la Variable | MV_IEPSTRA |
Tipo | C |
Descripción | Códigos de IEPS trasladado |
Valor Estándar |
Procedimiento de Configuración
CONFIGURACIÓN DE PARÁMETROS
- En el Configurador (SIGACFG), acceda a Entornos/Archivos/Parámetros (CFGX017). Configure el(los) parámetro(s) a continuación::
Ítems/Carpetas | Descripción |
Nombre: | MV_PATH814 |
Tipo: | C |
Cont. Esp.: | C:\Temp\FISA814\ |
Descripción: | Ruta donde se encuentran los archivos en formato csv. |
Ítems/Carpetas | Descripción |
Nombre: | MV_RETISR |
Tipo: | C |
Cont. Esp.: | Ejemplo: IRS |
Descripción: | Códigos de impuesto variable para retenciones de ISR |
- Ingresar los códigos de los impuestos variables que son utilizados para realizar el cálculo de retenciones de ISR. Cada código debe estar separado por el carácter pipe “|”.
Ítems/Carpetas | Descripción |
Nombre: | MV_RETIVAM |
Tipo: | C |
Cont. Esp.: | Ejemplo: RIV |
Descripción: | Códigos de impuesto variable para retenciones de IVA |
- Ingresar los códigos de los impuestos variables que son utilizado para realizar el cálculo de retenciones de IVA. Cada código debe estar separado por el carácter pipe “|”.
Ítems/Carpetas | Descripción |
Nombre: | MV_RETIEPS |
Tipo: | C |
Cont. Esp.: | Ejemplo: IER |
Descripción: | Códigos de impuesto variable para retenciones de IEPS |
- Ingresar los códigos de los impuestos variables que son utilizados para realizar el cálculo de retenciones de IEPS. Cada código debe estar separado por el carácter pipe “|”.
Ítems/Carpetas | Descripción |
Nombre: | MV_IVATRAS |
Tipo: | C |
Cont. Esp.: | Ejemplo: IVA |
Descripción: | Códigos de impuesto variable para IVA trasladado. |
- Ingresar los códigos de los impuestos variables que son utilizados para realizar el cálculo del impuesto IVA trasladado. Cada código debe estar separado por el carácter pipe “|”.
Ítems/Carpetas | Descripción |
Nombre: | MV_IEPSTRA |
Tipo: | C |
Cont. Esp.: | Ejemplo: IEP |
Descripción: | Códigos de impuesto variable para IEPS trasladado. |
- Ingresar los códigos de los impuestos variables que son utilizados para realizar el cálculo del impuesto IEPS trasladado. Cada código debe estar separado por el carácter pipe “|”.
Nota: Los parámetros MV_RETISR, MV_RETIVAM, MV_RETIEPS, MV_IVATRAS y MV_IEPSTRA son utilizados en el proceso de generación del xml y sirven para determinar si el impuesto aplicado en la factura corresponde a impuesto retenido o impuesto trasladado.
CONFIGURACIÓN DE MENÚS
2. En el Configurador (SIGACFG), acceda a Entornos/Archivo/Menú (CFGX013). Informe la nueva opción de menú de Facturación, conforme las instrucciones a continuación:
Menú | Facturación |
Submenú | Actualizaciones | Archivos |
Nombre de la Rutina | Definición de Catálogos |
Programa | FISA812 |
Módulo | Facturación |
Tipo | Función Protheus |
Menú | Facturación |
Submenú | Actualizaciones | Archivos |
Nombre de la Rutina | Mantenimiento de Catálogos |
Programa | FISA813 |
Módulo | Facturación |
Tipo | Función Protheus |
Procedimiento de Utilización
Requisitos Previos
1.- En la ruta definida en el parámetro MV_PATH814, copiar los archivos de catálogos del SAT obtenidos de la planilla Catálogo de datos (xsd) http://www.sat.gob.mx/sitio_internet/cfd/catalogos/catCFDI.xsd
- c_Aduana.csv
- c_ClaveProdServ.csv
- c_ClaveUnidad.csv
- c_CodigoPostal.csv
- c_FormaPago.csv
- c_Impuesto.csv
- c_MetodoPago.csv
- c_Moneda.csv
- c_Pais.csv
- c_RegimenFiscal.csv
- c_TipoDeComprobante.csv
- c_TipoRelacion.csv
- c_UsoCFDI.csv
- c_Colonias.csv
Nota: La ruta predefinida en el parámetro es: C:\TEMP\FISA814
2.- Con base en los ejemplos proporcionados, el usuario debe modificar los scripts de generación de CFDI (FATSMEX.INI y FATEMEX.INI) para producir los comprobantes fiscales (archivo xml).
Configuración de campos para CFDi Versión 3.3
1.- Ingresar al modulo de Facturación (SIGAFAT).
2.- Ejecutar la rutina de Definición de Catálogos (Actualizaciones | Archivos), para que se carguen los nuevos catálogos definidos por el SAT, los nuevos catálogos son:
- S001 - Catálogo de aduanas.
- S002 - Catálogo de Productos/Servicios.
- S003 - Catálogo de unidades de medida CFDi.
- S004 - Catálogo de códigos postales.
- S005 - Catálogo de formas de pago.
- S006 - Catálogo de impuestos.
- S007 - Catálogo de Método de Pago.
- S008 - Catálogo de moneda.
- S009 - Catálogo de países.
- S010 - Catálogo de régimen fiscal.
- S011 - Catálogo de tipos de comprobante.
- S012 - Catálogo de tipos de relación entre CFDI.
- S013 - Catálogo de Uso de Comprobantes.
- S014- Catálogo de Colonias.
3.- Ejecutar la rutina de Mantenimiento de Catálogos (Actualizaciones Archivos) para corroborar que la información corresponda en cada una de estas de acuerdo a lo definido previamente.
4.- Ejecutar la rutina de Clientes (Actualizaciones | Archivos), en la pestaña de ‘Fiscales’, configurar para cada cliente el campo Método Pago (A1_MPAGO o AI0_MPAGO) con la clave que le corresponde de acuerdo al catálogo (S005) definido por el SAT.
5.- Ejecutar la rutina de Productos (Actualizaciones | Archivos). Para cada producto, configurar los siguientes campos:
- Prod/Serv SAT (B1_PRODSAT), informar la clave que le corresponde de acuerdo al catálogo (S002) definido por el SAT.
- Cta. Predial (B1_NUMCTAP), informar el número de la cuenta predial del inmueble.
6.- Ejecutar la rutina de Unidades Medida (Actualizaciones | Archivos), configurar para cada unidad de medida el campo Uni Med SAT (AH_UNIDSAT) con la clave que le corresponde de acuerdo al catálogo (S003) definido por el SAT.
7.- Ejecutar la rutina de Impuestos Variab. (Actualizaciones | Archivos), configurar para cada impuesto el campo Impuesto SAT (FB_IMPSAT) con la clave que le corresponde de acuerdo al catálogo (S006) definido por el SAT.
8.- Ejecutar la rutina de Cond. de Pago (Actualizaciones | Archivos), configurar para cada condición de pago el campo Met Pago SAT (E4_MPAGSAT) con la clave que le corresponde de acuerdo al catálogo (S007) definido por el SAT.
9.- Ingresar al modulo de Contabilidad de Gestión (SIGACTB).
10.- Ejecutar la rutina de Monedas Contables (Actualizaciones | Archivos), configurar para cada una de las monedas el campo Moneda SAT (CTO_MOESAT) con la clave que le corresponde de acuerdo al catálogo (S008) definido por el SAT.
11.- Ingresar al modulo de Compras (SIGACOM).
12.- Ejecutar la rutina de Países (Actualizaciones | Archivos Import), configurar para cada país el campo País SAT (YA_CCESAT), con la clave que le corresponde de acuerdo al catálogo (S009) definido por el SAT.
13.- Ingresar al modulo de Facturación (SIGAFAT)
14.- A través de la rutina de Pedidos de Venta (Actualizaciones | Pedidos), Incluir un pedido de venta.
- En la ventana de registro, informar los campos Relación CFDi (C5_RELSAT), UUID Relacs (C5_UUIDREL), Uso CFDi (C5_USOCFDI) y Núm Ped (C6_PEDISAT).
15.- A traves de la rutina de Gener. de Fact. (Actualizaciones | Facturación). Generar una factura de venta por medio del pedido de venta.
- Informar los parámetros correspondientes para filtrar los pedidos de venta que existan en sistema.
- Seleccionar el pedido de venta registrado previamente.
- Generar la factura de venta para el pedido seleccionado.
16.- A través de la rutina de Facturación (Actualizaciones | Facturación), visualizar la factura generada a través del pedido de venta.
- Confirmar que los datos ingresados en los campos de Relación CFDi (C5_RELSAT), UUID Relacs (C5_UUIDREL), Uso CFDi (C5_USOCFDI) y Núm Ped (C6_PEDISAT) exista en los campos correspondientes de la factura de venta. Los campos son: Relación CFDi (F2_RELSAT), UUID Relacs (F2_UUIDREL), Uso CFDi (F2_USOCFDI) y Núm Ped (D2_PEDISAT).
17.- A través de la rutina de Facturación (Actualizaciones | Pedidos), Incluir una factura de venta.
- En la venta de registro, informar los campos Relación CFDi (F2_RELSAT), UUID Relacs (F2_UUIDREL), Uso CFDi (F2_USOCFDI) y Núm Ped (D2_PEDISAT).
Generación del archivo XML para CFDi Versión 3.3
1.- A través de la rutina de Facturación (Actualizaciones | Facturación).
- Seleccionar la factura de la cual se desea generar el comprobante fiscal digital (xml).
- En acciones relacionadas, seleccionar la opción de Facturas Electrónicas.
- Confirmar la generación del comprobante fiscal digital.
2.- Ingresar a la ruta definida en el parámetros MV_CFDDOCS para visualizar el comprobante fiscal digital (xml).