Facturación Electrónica de México v3.3
ÍNDICE
1. REQUERIMIENTOS
Características del Requisito
Línea de Producto: | Microsiga Protheus. | ||||||||||||||||||||||||
Segmento: | Servicios- Mercado Internacional. | ||||||||||||||||||||||||
Módulo: | SIGAFAT- Facturación. | ||||||||||||||||||||||||
Rutina: |
| ||||||||||||||||||||||||
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! |
1.1 Procedimiento de Implantación
- Actualizar los scripts de generación de XML (FATSMEX.ini y FATEMEX.ini), la ubicación exacta y nombres están definidos en los parámetros MV_CFDFTS y MV_CFDFTE.
La ubicación y nombre estándar son:- protheus_data\system\cfd\inicfd\FATSMEX.INI
- protheus_data\system\cfd\inicfd\FATEMEX.INI
¡Importante!
Para versiones 10 y 11, se deberá realizar la ejecución del compatibilizador UPDMODMI (el cual debe ser de una fecha igual o superior al 19/05/2019), indicando el actualizador "07 - Comprobante Fiscal Digital por Internet versión 3.3", clic aquí para ver los pasos de ejecución del compatibilizador.
2. 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) del catálogo, la ruta donde almacenará estos archivos debe ser informada en el parámetro del sistema MV_PATH814, descrito más adelante en este documento.
3. Contar con los archivos con claves privadas y publicas (.key, .pem, .cer y/o .pfx), los cuales se deberán colocar en la ubicación exacta definida en el parámetro MV_CFDDIRS.
¡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
Actualización del Diccionario de Datos
1. Creación de 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ón de 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 |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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 |
Obligatorio | 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 Búsqueda? |
Nivel | 1 |
Utilizado | Sí |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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 | 6 |
Decimal | |
Formato | 999999 |
Título | Secuencia |
Descripción | Secuencia |
Nivel | |
Utilizado | Sí |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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í |
Obligatorio | 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:
Para versiones 10 y 11 de Protheus.
- Tabla SA1 - Clientes (Para versiones ):
Campo | A1_MPAGO |
Consulta | MEX005 |
Val. Sistema | Vazio() .or. ValidF3I("S005", M->A1_MPAGO,1,2) |
Para versiones 12 de Protheus.
- Tabla AI0 - Complementos de Clientes:
Campo | AI0_MPAGO |
Consulta | MEX005 |
Val. Sistema | Vazio() .or. ValidF3I("S005", M->AI0_MPAGO,1,2) |
Importante:
El tamaño de los campos que disponen de grupo puede variar de acuerdo con el entorno en uso.
4. Creación de Consulta Estándar en el archivo SXB – Consulta Estándar:
- Consulta 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 |
- Consulta 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 |
- Consulta 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 |
- Consulta 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 |
- Consulta 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 |
- Consulta 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 |
- Consulta 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 |
- Consulta 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 |
- Consulta 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 |
- Consulta 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 |
- Consulta 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 |
- Consulta 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 |
- Consulta 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 |
5. Creación de Í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 |
6. 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 |
Nombre de la Variable | MV_CFDICMD |
Tipo | N |
Descripció | Visualizar mensajes del proceso de timbrado. |
Valor Estándar |
Nota: El uso de este parámetro es exclusivo de versiones inferiores a 12 de Protheus.
PROCEDIMIENTO DE CONFIGURACIÓN
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 un impuesto retenido o un 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 |
1.2 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- Fracciones Arancelarias.
- S015- 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 través 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).
Importante!
Acecrca del uso de los campos de Flete, Gastos y Seguro, deberan ser registrados como un producto mas, de acuerdo a la guía de llenado del CFDI 3.3. pagina 51, esta debería clasificarse como un concepto en el detalle de la factura junto con los demás ítems utilizando la clave correspondiente;
http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/GuiaAnexo2014102019.pdf
Para empresa con Giro de transportistas deberán utilizar un CFDI de Traslado:
Emisión de CFDI por el transportista, siempre que el propietario de las mercancías contrate los servicios de transportación. Los contribuyentes dedicados al servicio de autotransporte terrestre de carga, deberán expedir el CFDI que ampare la prestación de este tipo de servicio mismo que deberá contener los requisitos establecidos en el artículo 29-A del CFF, o bien, podrán expedir un comprobante impreso con los siguientes requisitos independientemente de los requisitos que al efecto establezca la SCT mediante su página de Internet para la denominada carta de porte.
- Lugar y fecha de expedición.
- La clave en el RFC de quien lo expide.
2. COMPLEMENTO DE COMERCIO EXTERIOR.
Línea de Producto: | Microsiga Protheus. | ||||||
Segmento: | Mercado Internacional. | ||||||
Módulo: | SIGAFAT-Facturación. | ||||||
Rutina: |
| ||||||
País(es): | México. | ||||||
Issue(Versión): | DMINA-392(11.8) | DMINA-911(12.1.14) | DMINA-392(12.1.07) | DMINA-2980(12.1.17) | ||||||
Tablas utilizadas: | SA1 - Clientes. RSB - Fracciones arancelarias. SYA - Países. SYJ - INCOTERMS. SX5 - Tablas genéricas AI0 - Complementos de clientes | ||||||
Sistema(s) operativo(s): | Windows/Linux |
DESCRIPCIÓN
Dar cumplimiento a la normativa del SAT para informar el complemento de comercio exterior en los CFDI que emite el contribuyente: CFDI versión 3.3
"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.
Nota: En caso de no contar con el complemento de Comercio Exterior 3.2, se deberá ejecutar lo indicado por el documento técnico: 480334_MMI-4945_DT_CFDI_Complemento_Comercio_Exterior_MEX.
2.1 Procedimiento de Implantación
1. Actualizar los scripts FATSMEX.ini y FATEMEX.ini (ver configuración de parámetros MV_CFDFTE y MV_CFDFTS), estos archivos se utilizan para configurar la generación de los archivos XML de facturación (CFDI).
Rutinas para versión 11.8:
- LOCXNF2.PRW (24/10/2017) - Cálculo en Notas Fiscales.
- LOCXNF.PRW (21/09/2017) - Notas Fiscales.
- MATA410.PRX (30/10/2017) - Pedido de Venta
- MATA468N (01/08/2017) - Generación de Notas.
- FISA812.PRW (30/10/2017) - Definición de Catálogos.
- FISA813.PRW (19/05/2017) - Definición de Catálogos.
- FISA814.PRW (30/10/2017) - Carga de Catálogos.
- LOCXFUNA.PRX (06/11/2017) - Funciones Genéricas de Localizaciones.
- UPDFATMI.PRW (30/10/2017) - Actualización al Diccionario de Datos.
- UPDMODMI.PRW (02/06/2017) - Actualización al Diccionario de Datos.
Rutinas para versión 12.1.7:
- LOCXNF2.PRW (10/11/2017) - Cálculo en Notas Fiscales.
- FISA812.PRW (10/11/2017) - Definición de Catálogos.
- FISA814.PRW (10/11/2017) - Carga de Catálogos.
- MATV410A.PRW (10/11/2017) - Validación de getdados en Pedido de Ventas.
- LOCXFUNA.PRX (10/11/2017) - Funciones Genéricas de Localizaciones.
Rutinas para versión 12.1.14:
- LOCXNF.PRW (29/11/2017) - Notas Fiscales.
- LOCXNF2.PRW (27/11/2017) - Cálculo en Notas Fiscales.
- FISA812.PRW (23/11/2017) - Definición de Catálogos.
- FISA814.PRW (23/11/2017) - Carga de Catálogos.
- MATV410A.PRW (23/11/2017) - Validación de getdados en Pedido de Ventas.
- LOCXFUNA.PRX (23/11/2017) - Funciones Genéricas de Localizaciones.
Rutinas para versión 12.1.17 o superior:
- LOCXNF2.PRW (04/06/2018) - Cálculo en Notas Fiscales.
- LOCXNF.PRW (06/06/2018) - Notas Fiscales.
- MATA410.PRX (10/05/2018) - Pedido de Venta
- MATA468N (07/06/2018) - Generación de Notas.
- FISA812.PRW (25/04/2018) - Definición de Catálogos.
- FISA813.PRW (31/07/2017) - Definición de Catálogos.
- FISA814.PRW (06/06/2018) - Carga de Catálogos.
- MATV410A.PRW (13/06/2018) - Validación de getdados en Pedido de Ventas.
- LOCXFUNA.PRX (30/05/2018) - Funciones Genéricas de Localizaciones.
Actualización del Diccionario de Datos
- Para versión 12.1.14, se han cambiado los siguientes campos:
V11.8 y V12.1.07 | V12.1.14 | Título | Descripción | ¿Obligatorio? |
---|---|---|---|---|
A1_REFER | AI0_REFER | Referencia | Referencia | No |
A1_IDFIS | AI0_IDFIS | NumRegIdTrib | Número identificación | Si |
A1_REFGEO | AI0_REFGEO | Ref. Geo | Referencia Geográfica | No |
Por lo tanto, para V12.1.14, los campos se ubicarán en la sección "Complemento del Cliente".
- Se realizan cambios del campo X3_F3 (Consulta), de los siguientes campos:
Campo | Consulta V12.1.7 y V11.8 | Consulta V12.1.14 |
---|---|---|
C6_FRACCA | RSB | MEX014 |
D1_FRACCA | RSB | MEX014 |
D2_FRACCA | RSB | MEX014 |
Para versión 12.1.14, se utiliza el catálogo S014, correspondiente a Fracciones Arancelarias y no la Tabla RSB.
2.2 Procedimiento de Utilización
CONFIGURACIONES PREVIAS
1.- Ingresar al modulo de Facturación (SIGAFAT).
2.- Catálogo de Colonias y Fracciones Arancelarias:
- Para versión 12.1.14, tomar en cuenta los siguientes criterios:
Al ingresar a Mantenimiento de Catálogos, en SIGAFAT - Actualizaciones | Archivos | Mantenimiento de Catálogos, se realiza la carga automática de datos, de los catálogos mencionados, pero, se deben tomar los siguientes criterios:
- S014 - Catálogo de Fracciones Arancelarias
Para la carga del catálogo de Fracciones Arancelarias, es necesarios ubicar el archivo c_FraccionArancelaria.csv, en el path configurado del parámetro MV_PATH814 y debe contener el siguiente formato: Fracción Arancelaria, Unidad de Medida y Impuesto, Exp. y Descripción; dichos campos deberán estar separados por pipes (|).
Ejemplo: 01019099|07|20|EX.|Los demás
- S015 - Catálogo de Colonias
Para la carga del Catálogo de Colonias, es necesarios ubicar el archivo c_Colonia.csv, en el path configurado del parámetro MV_PATH814 y debe contener el siguiente formato: Clave de la Colonia, Código postal y Nombre de la Colonia, dichos campos deberán estar separados por pipes (|).
Ejemplo: 0001|01000|San Ángel
- Para versiones 11.8 y V12.1.07, tomar en cuenta los siguientes criterios:
- Fracciones Arancelarias - Tabla RSB:
- En SIGAFAT desde Actualizaciones – Archivos – Fracciones arancelarias.
- Si no existen registros en tabla RSB, se cargara el catálogo de fracciones arancelarias.
- Se selecciona catálogo de fracciones arancelarias, el cual debe estar en formato c_fraccionarancelaria.csv, el cual se obtiene del SAT.
- Se muestra aviso con cantidad de registros importados. Se presiona Ok.
- S015 - Catálogo de Colonias
Para la carga del Catálogo de Colonias, es necesarios ubicar el archivo c_Colonia.csv, en el path configurado del parámetro MV_PATH814 y debe contener el siguiente formato: Clave de la Colonia, Código postal y Nombre de la Colonia, dichos campos deberán estar separados por pipes (|).
Ejemplo: 0001|01000|San Ángel
Nota: Para la carga de catálogos se debe hacer la conversión a formato .csv y tener cuidado con caracteres extraños.
3.- Configurar Empresas (SM0)
- Desde configurador en Entorno - Empresas - Sucursal.
- Se deben indicar los siguientes datos, el Código Postal (M0_CEPENT) y Código de Municipio (M0_CODMUN) deben llenarse de acuerdo a catálogos del SAT.
3. COMPLEMENTO COMERCIO EXTERIOR LEYENDAS FISCALES IMMEX
Línea de producto: | Microsiga Protheus. | ||||||
---|---|---|---|---|---|---|---|
Segmento: | Servicios - Mercado Internacional. | ||||||
Módulo: | SIGAFAT - Facturación. | ||||||
Función: |
| ||||||
Ticket: | 6652226 | ||||||
Pacote: | 006543 | ||||||
Issue : | DMINA-7313 | DMINA-7440 | ||||||
Versión: | 12.1.17 | 12.1.23 | 12.1.25 |
PREMISAS
Bajo los requisitos de los CFDI en transferencia de mercancías “Facturas de exportación”:
Con fecha 24 de junio de 2019 se publicaron en el Diario Oficial de la Federación las Reglas Generales en Materia de Comercio Exterior 2019, mismas que tienen vigencia desde el 25 de junio de 2019 y sin fecha definida de terminación.
Una de las modificaciones realizadas en esta resolución, es a la Regla 4.3.21 que regula el procedimiento para la transferencia de mercancías temporales.
Por lo cual, bajo la nueva obligación, se requiere incorporar en el complemento de 'Leyendas Fiscales' del CFDI que expida el número de Programa IMMEX o el número de autorización, según se trate, y el que corresponda a la empresa que recibe las mercancías.
Con el fin de cumplir las reglas fiscales indicadas por el SAT, se requiere lo siguiente:
Incluir en el CFDI el "Complemento de Leyendas fiscales" en el XML dentro de la propiedad textoLeyenda del nodo de complemento, el cual se deberá informar de acuerdo a:
- Leyenda A – “EMPRESA QUE VENDE NO CUENTA CON REGISTRO IMMEX”
IMMEX: XXXX-XXXX OPERACIÓN DE CONFORMIDAD CON EL ART. 29 FRACCIÓN I DE LIVA Y LO ESTIPULADO EN LAS RGCE 5.2.6. FRACCIÓN II, 5.2.7 Y 4.3.21. - Leyenda B – “EMPRESA QUE VENDE CUENTA CON REGISTRO IMMEX”
IMMEX: XXXX-XXXX OPERACIÓN DE CONFORMIDAD CON EL ART. 29 FRACCIÓN I DE LIVA Y LO ESTIPULADO EN LAS RGCE 5.2.6. FRACCIÓN I, 5.2.7 Y 4.3.21.
**Estos datos deberán incluirse tanto en el nodo de Complemento como en la cadena original del XML.
SOLUCIÓN
Se añadió en el Generador de XML "FATSMEX.INI" dentro del nodo de "Complemento" un nuevo nodo que incluye el IMMEX del Cliente y descripción de las Leyendas Fiscales.
Se agregaron nuevas validaciones para la Factura de Venta y el Pedido de Venta, donde cumplen la siguiente regla:
- Si el Cliente tiene configurado el campo ¿IMMEX? (A1_CONTRBE) = 1 - Sí; el campo Reg. IMMEX en el encabezado de la Factura de Venta, será un campo habilitado para edición y obligatorio.
- Si el Cliente tiene configurado el campo ¿IMMEX? (A1_CONTRBE) = 2 - No o "Vacío"; el campo Reg. IMMEX en el encabezado de la Factura de Venta, será un campo deshabilitado para edición y por lo tanto "No" será obligatorio.
Actualización del Diccionario de Datos
El usuario debe realizar las siguientes actualizaciones al diccionario de datos, a través del módulo Configurador de Protheus (SIGACFG).
NOTA: Las siguientes actualizaciones fueron incorporadas en el pacote 006543 - DMINA-7313 - COMPLEMENTO LEYENDAS FISCALES.
1.- Creación de campos en el archivo SX3 - Campos:
Campo | A1_CONTRBE |
Tipo | Carácter |
Tamaño | 1 |
Decimal | 0 |
Formato | @! |
Título | ¿IMMEX? |
Descripción | ¿IMMEX? |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Val. Sistema | No aplica |
Opciones | 1-Si;2-No |
When | "2" |
Help | Cliente registrado en el programa IMMEX. Campo usado para la factura de venta de Exportación para indicar si incluye o no el Complemento de Leyendas Fiscales. |
Campo | A1_PFISICA |
Tipo | Carácter |
Tamaño | 10 |
Decimal | 0 |
Formato | @! |
Título | No IMMEX |
Descripción | No IMMEX |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Val. Sistema | No aplica |
Opciones | No aplica |
When | No aplica |
Help | En caso de que el Cliente esté registrado en el programa IMMEX indicar el número de este. |
Campo | F2_CONUNI |
Tipo | Carácter |
Tamaño | 1 |
Decimal | 0 |
Formato | @! |
Título | Reg IMMEX |
Descripción | Reg IMMEX |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Val. Sistema | No aplica |
Opciones | 1=Si;2=No |
When | ValIMMEX(M->F2_CONUNI,M->F2_CLIENTE,M->F2_LOJA,'2','F2') |
Help | Si - Mi empresa cuenta con registro IMMEX, No - Mi empresa No cuentas con registro IMMEX. De esta respuesta depende la leyenda que colocará en el XML del Complemento de Leyendas Fiscales. |
3.1 Procedimiento de Utilización
- Ir al Configurador - SIGACFG.
- Ir a los parámetros.
- Indicar en el parámetro MV_CFDIEXP = .T.:
- Ir al módulo Facturación - "SIGAFAT".
- Ir al menú "Actualizaciones >> Archivos >> Clientes (MATA030)".
- Crear un cliente e indicarle en el campo ¿IMMEX? (A1_CONTRBE) = 1- Si e informar el campo No. IMMEX (A1_PFISICA).
- Ir al menú "Actualizaciones >> Facturación >> Facturaciones (MATA467N)".
- Dar clic en "Incluir".
- Indicar el cliente que se configuró anteriormente en el punto 6 con ¿IMMEX? (A1_CONTRBE) = 1 - Si.
- Observar que el campo Reg. IMMEX (F2_CONUNI), se encuentra habilitado en el encabezado de la Factura de Venta.
- Se indica en el campo Reg. IMMEX (F2_CONUNI) la opción "Si/No", según aplique el caso de la empresa.
- En caso de que el Cliente se encuentre ¿IMMEX? (A1_CONTRBE) =1 - Si y en el encabezado de la Factura se indique Reg. IMMEX (F2_CONUNI) = 2 - No; se mostrará en el XML la siguiente leyenda:
- IMMEX: (No. de IMMEX del cliente) OPERACIÓN DE CONFORMIDAD CON EL ART. 29 FRACCIÓN I DE LIVA Y LO ESTIPULADO EN LAS RGCE 5.2.6. FRACCIÓN II, 5.2.7 Y 4.3.21.
- En caso de que el Cliente se encuentre ¿IMMEX? (A1_CONTRBE) =1 - Si y en la Factura se indique Reg. IMMEX (F2_CONUNI) =1 - Sí; se mostrará en el XML la siguiente leyenda:
- IMMEX: (No. de IMMEX del cliente) OPERACIÓN DE CONFORMIDAD CON EL ART. 29 FRACCIÓN I DE LIVA Y LO ESTIPULADO EN LAS RGCE 5.2.6. FRACCIÓN I, 5.2.7 Y 4.3.21.
- En caso de que el Cliente se encuentre ¿IMMEX? (A1_CONTRBE) = 2 - No (Variante del paso 9) y en la Factura el Reg. IMMEX (F2_CONUNI) ="Vacío":
- No mostrará ninguna leyenda.
- En caso de que el Cliente se encuentre ¿IMMEX? (A1_CONTRBE) =1 - Si y en el encabezado de la Factura se indique Reg. IMMEX (F2_CONUNI) = 2 - No; se mostrará en el XML la siguiente leyenda:
- Llenar los campos relacionados al Complemento de Comercio Exterior.
- Llenar sección de ítems.
- Guardar la Factura dando clic en el botón "Confirmar".
- En la pregunta mostrada ¿Confirma la generación del Comprobante Fiscal Digital?, dar clic en "Si".
- En la pregunta mostrada ¿Confirma el timbrado del Comprobante Fiscal Digital (CFDI)?, dar clic en "Si".
- Verificar que se realice el timbrado de manera exitosa.
- Visualizar el XML y validar que se muestre según lo indicado en la regla.
- Ejemplo:
- Ejemplo:
4. COMPLEMENTO DE COMERCIO EXTERIOR NÚMEROS DE IDENTIFICACIÓN COMERCIAL (NICO)
Producto | TOTVS Backoffice | ||||||||||||
Línea de producto: | Línea Protheus | ||||||||||||
Segmento: | Servicios | ||||||||||||
Módulo: | SIGAFAT - Facturación | ||||||||||||
Función: |
| ||||||||||||
País: | México | ||||||||||||
Ticket: | 10508519 | ||||||||||||
Pacote: | 008467 | ||||||||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-10927 | ||||||||||||
Tablas utilizadas: |
| ||||||||||||
Versiones: | 12.1.17 | 12.1.23 | 12.1.25 | 12.1.27 | ||||||||||||
Sistema(s) operativo(s): | Windows/Linux |
Descripción
A partir del 28 de diciembre del 2020 entró en vigor el nuevo catalogo de Fracciones Arancelarias que cumple con el acuerdo publicado el 17 de noviembre de 2020 en el que se dan a conocer los Números de Identificación Comercial (NICO). Este catalogo integra el número de identificación comercial (NICO), el cual estará conformado por 2 dígitos, estos se colocan en la posición posterior de la fracción arancelaria que corresponda, y que estarán ordenados de manera progresiva iniciando del 00 al 99. Por lo anterior, el código de la fracción arancelaria pasa de 8 a 10 dígitos.
Solución
Se agregan los campos D1_NICO (notas de crédito), D2_NICO(factura de salida) y C6_NICO (Pedidos/Remitos), estos contendrán los dos dígitos correspondientes al Números de Identificación Comercial (NICO).
En el fuente FISA814 dentro de la función f814CatMex() para el catálogo de fracción arancelaria se asigna una nueva columna llamada NICO con un tamaño de dos caracteres. En la función f814ReadFile() se obtiene el código NICO del número de la fracción arancelaria.
En el fuente MATA468N en la función a468nGravD2() cuando se genera una factura a partir de un pedido o remisión se signa el valor NICO (C6_NICO) a la factura de salida (D2_NICO ) solo cuando el complemento de comercio exterior se encuentre activo (MV_CFDIEXP = .T.).
En el fuente LOCXNF dentro de la función LxDocOri se asigna el valor NICO(D2_NICO) a la NCC (D1_NICCO) cuando se realiza una nota de crédito a partir de una factura de salida.
Se agrega disparador a los campos D1_FRACCA, D2_FRACCA y C6_FRACCA para llenar automáticamente los campos D1_NICO, D2_NICO y C6_NICO.
Se modifica archivo de configuración fatsmex.ini, en la fracción arancelaria (D2_FRACCA) se concatena el identificador NICO (D2_NICO ) para que la información asignada al elemento FraccionArancelaria corresponda a 10 dígitos.
Se modifica archivo de configuración fatemex.ini, en la fracción arancelaria (D1_FRACCA) se concatena el identificador NICO (D1_NICO ) para que la información asignada al elemento FraccionArancelaria corresponda a 10 dígitos.
4.1 Procedimiento de Implantación
Realizar la siguiente configuración a los archivos:
NOTA: Si en su ambiente ya existen los archivos fatemex.ini y fatsmex.ini y contiene personalizaciones, es recomendable evitar su actualización, en cambio deberá editarlo y realizar la siguiente modificación.
fatemex.ini
- En la sección "Cadena Original | Complemento de Comercio Exterior" ubicar la siguiente instrucción:
(PREREG) IIf(lCCCE .And. !Empty(SD1->D1_FRACCA), (cCadOriCCE += Alltrim(SD1->D1_FRACCA) + _aTotal[098],.T.), ("",,.T.)) - Concatenar el campo D1_NICO como se muestra en la siguiente línea:
(PREREG) IIf(lCCCE .And. !Empty(SD1->D1_FRACCA), (cCadOriCCE += Alltrim(SD1->D1_FRACCA) + Alltrim(SD1->D1_NICO) + _aTotal[098],.T.), ("",,.T.)) - Ubicar el atributo FraccionArancelaria:
(PREREG) (cNodoCCE += IIf(lCCCE .And. !Empty(SD1->D1_FRACCA), ' FraccionArancelaria="' + Alltrim(SD1->D1_FRACCA) + '"', ""),.T.) - Concatenar el campo D1_NICO como se muestra en la siguiente línea:
(PREREG) (cNodoCCE += IIf(lCCCE .And. !Empty(SD1->D1_FRACCA), ' FraccionArancelaria="' + Alltrim(SD1->D1_FRACCA) + Alltrim(SD1->D1_NICO) + '"', ""),.T.)
fatsmex.ini
- En la sección "Cadena Original | Complemento de Comercio Exterior (Mercancías)" ubicar la siguiente instrucción:
(PREREG) IIf(lCCCE .And. !Empty(SD2->D2_FRACCA), (cCadOriCCE += Alltrim(SD2->D2_FRACCA) + _aTotal[098],.T.), ("",,.T.)) - Concatenar el campo D2_NICO como se muestra en la siguiente línea:
(PREREG) IIf(lCCCE .And. !Empty(SD2->D2_FRACCA), (cCadOriCCE += Alltrim(SD2->D2_FRACCA) + Alltrim(SD2->D2_NICO) + _aTotal[098],.T.), ("",,.T.)) - Ubicar el atributo FraccionArancelaria:
(PREREG) (cNodoCCE += IIf(lCCCE .And. !Empty(SD2->D2_FRACCA), ' FraccionArancelaria="' + Alltrim(SD2->D2_FRACCA) + '"', ""),.T.) - Concatenar el campoD2_NICOcomo se muestra en la siguiente línea :
(PREREG) (cNodoCCE += IIf(lCCCE .And. !Empty(SD2->D2_FRACCA), ' FraccionArancelaria="' + Alltrim(SD2->D2_FRACCA) + Alltrim(SD2->D2_NICO) + '"', ""),.T.)
Actualizaciones del Compatibilizador
Diccionario de Datos
SD1 - Ítems de las Fact. de Entrada
Campo | D1_NICO |
Tipo | C |
Tamaño | 2 |
Decimal | 0 |
Formato | @! |
Titulo | Num.Iden.Com |
Descripción | Números Ident. Comercial |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | N/A |
When | N/A |
Relación | N/A |
Val. Sistema | N/A |
Help | Asigne el número de Identificación Comercial (NICO) |
SD2 - Ítems de las Fact. de Salida
Campo | D2_NICO |
Tipo | C |
Tamaño | 2 |
Decimal | 0 |
Formato | @! |
Titulo | Num.Iden.Com |
Descripción | Números Ident. Comercial |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | N/A |
When | N/A |
Relación | N/A |
Val. Sistema | N/A |
Help | Asigne el Número de Identificación Comercial (NICO) |
SC6 - Ítems de los Pedidos de Venta
Campo | C6_NICO |
Tipo | C |
Tamaño | 2 |
Decimal | 0 |
Formato | @! |
Titulo | Num.Iden.Com |
Descripción | Números Ident. Comercial |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | N/A |
When | N/A |
Relación | N/A |
Val. Sistema | N/A |
Help | Asigne el Número de Identificación Comercial (NICO) |
SX7 - Disparadores
Campo | D1_FRACCA |
Secuencia | 001 |
Regla | M->D1_NICO := ObtColSAT("S014",AllTrim(M->D1_FRACCA),1,8,176,2) |
Contra Dominio | D1_NICO |
Tipo | P |
Seek | N |
Alias | |
Orden | 0 |
Llave | |
Condición | |
Propiedad | U |
Campo | D2_FRACCA |
Secuencia | 001 |
Regla | M->D2_NICO := ObtColSAT("S014",AllTrim(M->D2_FRACCA),1,8,176,2) |
Contra Dominio | D2_NICO |
Tipo | P |
Seek | N |
Alias | |
Orden | 0 |
Llave | |
Condición | |
Propiedad | U |
Campo | C6_FRACCA |
Secuencia | 001 |
Regla | M->C6_NICO := ObtColSAT("S014",AllTrim(M->C6_FRACCA),1,8,176,2) |
Contra Dominio | C6_NICO |
Tipo | P |
Seek | N |
Alias | |
Orden | 0 |
Llave | |
Condición | |
Propiedad | U |
4.2 Procedimiento de Utilización
1. Nuevo catálogo de fracción arancelaria.
Fracción arancelaria con número de identificación comercial(NICO) integrado.
- Obtiene el nuevo catálogo de fracc. arancelaria del SAT de la siguiente ruta:
http://omawww.sat.gob.mx/tramitesyservicios/Paginas/catalogos_emision_cfdi_complemento_ce.htm - Abrir el catálogo y modificar.
Se observa que la fracc. arancelaria cuanta con 10 caracteres
Fracc. arancelaria + NICO
01012101 + 00
Reubicar la columna UMT a la columna 2 y la columna Descripción a la columna 5
Generar el archivo .CSV separado por pipe’s “|” y guardarlo como c_FraccionArancelaria.csv en la ruta especificada en el parámetro MV_PATH814
2. Carga de Catálogo en Protheus
Ingresar al módulo Facturación (SIGAFAT), opción "Actualizaciones | Archivos| Definición de catálogos "(FISA812).
- Al acceder se comenzará con la carga del catálogo
- Después de cargar visualizar el catálogo S014
Se genera la columna NICO
Ingresar al módulo Facturación (SIGAFAT), opción "Actualizaciones | Archivos| Mantenimiento de catálogos" (FISA813)
- Visualiza contenido de consulta S014
- En la consulta S014 se genera información para la columna Num.Ident.Comer (NICO) y la información de la fracc. arancelaria se sigue guardando a 8 caracteres.
Importante
Con esta actualización se podrá seguir utilizando el catálogo con la versión que no contiene el número de identificación comercial (NICO), también, este catálogo se podrá cargar en protheus.
1. Factura de Salida
Ingresar al módulo Facturación (SIGAFAT), opción "Actualizaciones | Facturación | Facturaciones"(MATA67N).
- Incluir una factura.
En el encabezado llenar los campo relacionados al complemento de comercio exterior.
Tipo Oper, Clv. Ped, Cer. Origen, Subdivisión, Incoterm, Cambio USD, Total USD, Res. Fiscal y Reg. Fiscal
En el detalle llenar los campo relacionados al complemento de comercio exterior.
Cant. Aduana, Frac. Arance, Unidad Adua, Valor USD y Val Aduana
Al seleccionar la frac. arancelaria, se abrirá el catálogo, mostrando también el número de identificación comercial (NICO)
Después de seleccionar la fracción arancelaria, se llenará automáticamente el campo Núm. Iden. Com.
En este ejemplo se utiliza la fracción arancelaria "01019099" y el NICO "00" - Dar clic en "Grabar".
- Confirmar la generación del comprobante fiscal y generar el timbre fiscal.
- Verificar que sea timbrada la factura sin errores.
- Revisar XML
En el atributo FraccionArancelaria se observa que el valor asignado es el correcto.
Se concatenan los valores de fracción arancelaria "01019099" y NICO "00" entonces su valor final es 0101909900
2. Nota de Crédito
Ingresar al módulo Facturación (SIGAFAT), opción "Actualizaciones | Facturación | Generación de notas de Crédito y Débito "(MATA465N).
- Incluir una nota de crédito.
En el encabezado llenar los campo relacionados al complemento de comercio exterior.
Tipo Oper, Clv. Ped, Cer. Origen, Subdivisión, Incoterm, Cambio USD, Total USD, Res. Fiscal y Reg. Fiscal - En el menú "Otras acciones" seleccionar la opción "Doc. Orig" y seleccionar la factura
El detalle se llenar los campo relacionados a la factura seleccionada y a la información contenida en complemento de comercio exterior.
Cant. Aduana, Frac. Arance, Unidad Adua, Valor USD, Val Aduana y Núm. Iden. Com
En este ejemplo se utiliza la fracción arancelaria "01019099" y el NICO "00" - Dar clic en "Grabar".
- Confirmar la generación del comprobante fiscal y generar el timbre fiscal.
- Verificar que sea timbrada la factura sin errores.
- Revisar XML
En el atributo FraccionArancelaria se observa que el valor asignado es el correcto
Se concatenan los valore de fracción arancelaria "01019099" y NICO "00" entonces su valor final es 0101909900
3. Pedido de Venta
Ingresar al módulo Facturación (SIGAFAT), opción "Actualizaciones | Pedidos| Pedido de Venta "(MATA410).
- Incluir un pedido de venta.
En el encabezado informar que el documento a generar será una factura y llenar los campo relacionados al complemento de comercio exterior.
Tipo Opera, Clv. Ped, Cer. Origen, Subdivisión, Incoterm, Cambio USD, Total USD, Res. Fiscal y Reg. Fiscal
En el detalle llenar los campo relacionados al complemento de comercio exterior.
Cant. Aduana, Frac. Arance, Unidad Adua, Valor USD y Val Aduana
Al seleccionar la fracc. arancelaria, se abrirá el catálogo, mostrando también el número de identificación comercial (NICO)
Después de seleccionar la fracción arancelaria, se llenará automáticamente el campo Núm. Iden. Com
En este ejemplo se utiliza la fracción arancelaria "01031001" y el NICO "00" - Dar clic en "Grabar".
- Si es necesario liberar de crédito y stock
4. Generar Factura a partir de un Pedido de Venta.
Ingresar al módulo Facturación (SIGAFAT), opción "Actualizaciones | Facturación | Generación de notas "(MATA468N).
- Llenar los parámetros necesarios para filtrar el pedido.
- Seleccionar todos los ítems del pedido generado anteriormente.
- En el menú "Otras acciones" seleccionar la opción "Genera Fact."
- Asignar la "Serie", revisar los valores y dar clic en el botón "Ok"
- Confirmar la generación del CFDI y timbrar el documento.
- Verificar que sea timbrada la factura sin errores.
- Revisar XML
En el atributo FraccionArancelaria se observa que el valor asignado es el correcto
Se concatenan los valore de fracción arancelaria "01031001" y NICO "00" entonces su valor final es 0103100100
5. COMPROBANTE DE TRASLADO DE MERCANCÍA
Línea de Producto: | Microsiga Protheus. |
Segmento: | Servicios - Mercado Internacional. |
Módulo: | SIGAFAT - Facturación. |
Issue: | DMINA-871 | DMINA-1074 |
País(es): | México. |
Base(s) de Datos: | Todas. |
Tablas utilizadas: |
|
Sistema(s) operativo(s): | Todos. |
Descripción
Acorde a la publicación realizada por parte del SAT el día 7 de Agosto del 2017, donde se pone a disposición la guía de llenado aplicable para la versión 3.3 de CFDI :
Comprobante de Traslado, sirve para acreditar la tenencia o posesión legal de las mercancías objeto del transporte durante su trayecto.
La emisión del CFDI se debe realizar conforme a lo siguiente:
- Emisión de CFDI de traslado por el propietario de las mercancías cuando las transporte el mismo. Los propietarios de mercancías nacionales que formen parte de sus activos, podrán acreditar únicamente el transporte de dichas mercancías mediante un CFDI o la representación impresa de dicho CFDI expedido por ellos mismos, con valor cero y la clave genérica del receptor a que hace referencia la regla 2.7.1.26. especificando en clase de bienes o mercancías el objeto de la transportación de las mercancías.
- Emisión de CFDI por el transportista, siempre que el propietario de las mercancías contrate los servicios de transportación. Los contribuyentes dedicados al servicio de auto-transporte terrestre de carga, deberán expedir el CFDI que ampare la prestación de este tipo de servicio mismo que deberá contener los requisitos establecidos en el artículo 29-A del CFF, o bien, podrán expedir un comprobante impreso con los siguientes requisitos independientemente de los requisitos que al efecto establezca la SCT mediante su página de Internet para la denominada carta de porte.
5.1 Procedimiento de Implantación
- Tener configurado previamente la funcionalidad de CDFI 3.3, indicadas al inicio del presente documento técnico.
- En el módulo SIGACFG acceda a "Base de Datos > Diccionario > Base de datos" y realizar la modificación indica en la sección "Actualización del Diccionario de Datos".
- Reemplazar el archivo "FATSMEX.INI" por el nuevo archivo .INI anexo en el issue.
Modificar de manera manual por medio de Configurador (SIGACFG) el grupo de preguntas MT467N y agregar la opción 4 al grupo de preguntas.
- Modificación de Preguntas en el archivo SX1 – Archivo de Preguntas:
Pregunta | 01 |
---|---|
Nombre | ¿Normal/Benef./Anticipo? |
Opción 4 | Traslado (Opción que debe ser agregada a la pregunta) |
Para Protheus 10 deberá agregar el ítem de la siguiente manera:
Pregunta | 01 |
---|---|
Nombre | ¿Normal/Benef./Anticipo? |
Opción 3 | Traslado (Opción que debe ser agregada a la pregunta) |
5.2 Procedimiento de Utilización
Proceso de Facturación.
- En el módulo Facturación (SIGAFAT), "Actualizaciones > Facturación " se seleccione la rutina Facturación
- Seleccionar el Tipo de documento en esta caso se selecciona "Traslado"
- Informar los parámetros contables.
- Informar los campos del encabezado de la Factura.
- Se debe informar el campo Uso CFDI (F2_USOCFDI) con el valor "P01 - Por definir".
- Es opcional el campo Relación CFD (F2_RELSAT) y en caso de ser informado deberá se llenado con el valor "05 - Traslados de mercancías facturados previamente".
- Si se informa el campo Relación CFD (F2_RELSAT), se debe informar el campo UUID Relacs, debido a que se debe registrar el folio fiscal (UUID) de un comprobante fiscal relacionado con el presente comprobante.
- Se informan los campos del detalle de la Factura.
- Los campos de Valor Unitario y Valor Total del ítem permite dejarlos en 0 (Cero).
- Se informa el campo Tipo de Salida (D2_TES).
- Se guarda la factura.
- Al momento de guardar volverá a detonar todas las validaciones.
- Se confirma la generación del Comprobante Fiscal.
- Realizar el Proceso de Timbrado descrito a continuación.
Proceso de timbrado
- En el módulo Facturación (SIGAFAT), "Actualizaciones > Facturación " se seleccione la rutina Generar Timbres Fiscales (CFDFAT01 para versión 11 y FISA800 para versiones de 12)
- Especifique los parámetros del proceso a través de los cuales podrá:
- Filtrar los documentos a incluir para timbrado mediante rangos de selección por fecha de emisión, serie, documento, cliente/tienda.
- Indicar si se incluyen documentos ya timbrados.
- Indicar si los documentos seleccionados deben mostrarse previamente marcados para timbrado.
- Los documentos seleccionados se listan mostrando los datos generales como son:
- Número de documento, serie, especie, fecha de emisión, cliente.
- Seleccione los documentos que se vayan a timbrar marcando la casilla de selección.
- Cuando haya seleccionado los documentos a timbrar, haga clic en el botón OK, el proceso de timbrado comenzará a enviar al servicio web del PAC uno a uno los documentos marcados.
- Ante la ausencia o incorrecta configuración de algún parámetro se mostrará un aviso cancelando el proceso de timbrado.
- En caso de presentarse algún problema en el timbrado de un documento se dará aviso y continuará el proceso. Adicionalmente, en la subcarpeta de errores donde se ubica el ejecutable de timbrado, se genera un archivo log donde se registran las actividades por cada documento enviado a timbrar.
- En caso de que un CFDi contenga el elemento Addenda, este será retirado para poder solicitar el timbrado. El archivo final mantendrá el contenido original, CFDi con Addenda, además del complemento timbre fiscal digital.
- En la ruta que especifica el parámetro MV_CFDDOCS se generan estos archivos:
- archivo.xml – Corresponde al CFDi conteniendo el complemento de timbre fiscal digital.
- archivo.xml.out – Es la respuesta obtenida del servicio web, puede contener ya sea solo el elemento del timbre fiscal digital o el CFDi timbrado; como fue enviado al servicio web, esto es, sin Addenda.
- archivo original.xml – Es el CFDi como fue generado por el sistema; con Addenda, sin timbre.
- Al final se indicará cuantos documentos fueron timbrados.
- Se puede realizar la impresión del CFDi inmediatamente después de obtener el timbre fiscal. Las rutinas o funciones de usuario corresponden a desarrollos específicos.
- Use el botón Anular para cancelar el proceso y volver al menú previo.
6. COMPLEMENTO OTROS DERECHOS DE IMPUESTOS
Línea de Producto: | Microsiga Protheus. | ||||
Segmento: | Servicios - Mercado Internacional. | ||||
Módulo: | SIGAFAT - Facturación. | ||||
Rutina: |
| ||||
Parámetro(s): | MV_RETISR, MV_IEPSTRA y MV_IVATRAS | ||||
Requisito/Story/Issue: | DMINA-445 | ||||
País(es): | México | ||||
Base(s) de Datos: | Todas | ||||
Sistema(s) operativo(s): | Todas |
Descripción
Se crea el complemento de otros derechos de impuestos locales (p. ej. sobre alojamiento o servicios de hospedaje), retención de impuestos federales (p. ej. IEPS y 5 al millar que dispone el art. 191 de la Ley Federal de Derechos para facturas de obra pública) para CDFI 3.3 de México.
6.1 Procedimiento de Implantación
- En el módulo, SIGAFAT - Facturación.
- Acceda a Impuestos Variables y configurar los impuestos de Retención y Trasladado de Otros derechos de Impuestos.
- Acceda a Tipo Entrada y Salida y configurar las TES que serán usadas con los impuestos previamente configurados.
- Configurar los parámetros MV_RETISR, MV_IEPSTRA y MV_IVATRAS por medio del Configurador.
- Contar con la ultimas versiones de los archivos INI (FATEMEX.ini y FATSMEX.ini).
¡Importante!
Para versiones 10 y 11, se deberá realizar la ejecución del compatibilizador UPDMODMI (el cual debe ser de una fecha igual o superior al 28/10/2017), indicando el actualizador "Complemento de otros derechos de impuestos CFDI 3.3", clic aquí para ver los pasos de ejecución del compatibilizador.
Actualizaciones del Compatibilizador
- Creación de SFB_CLASSE en el archivo SX3 – Campos:
- Tabla SFB - Impuestos Variables:
Campo | FB_CLASSE |
Tipo Entrada | Combo |
Tipo | C |
Tamaño | 1 |
Decimal | 0 |
Formato | @! |
Título | Tp Imp Local |
Descripción | Tipo Impuesto Local |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | T=Traslados Locales;R=Retenciones Locales |
Help | Clasifica el tipo de Impuesto Local que puede ser de Traslado o de Retención |
¡Importante!
El tamaño de los campos que disponen de grupo puede variar de acuerdo con el entorno en uso.
Procedimiento de Configuración
CONFIGURACIÓN DE PARÁMETROS
- En el Configurador (SIGACFG), acceda a Entornos/Archivos/Parámetros (CFGX017). Configure los parámetros a continuación:
Nombre: | MV_RETISR |
Tipo: | Caracter |
Cont. Por.: | Ejemplo: ISR|IVR |
Descripción: | Impuestos Retencion de ISR |
Nombre: | MV_IEPSTRA |
Tipo: | Caracter |
Cont. Por.: | Ejemplo: IPS|EPS |
Descripción: | Impuestos Trasladado de IEPS |
Nombre: | MV_IVATRAS |
Tipo: | Caracter |
Cont. Por.: | Ejemplo: IVA |
Descripción: | Impuestos Trasladado IVA |
6.2 Procedimiento de Utilización
- En el módulo Facturación (SIGAFAT), grupo Facturación, a través de las rutinas, generar documentos de Facturas, Notas de Débito y Notas de Crédito:
- Facturación (MATA467N); registre varias facturas de ventas.
NOTA: Las facturas generadas deben de tener las TES previamente creadas. - Notas de crédito (MATA465N); capture algunas notas de crédito/débito.
NOTA: Las Notas de crédito y débito generadas deben de tener las TES previamente creadas.
- Facturación (MATA467N); registre varias facturas de ventas.
En estos procesos son generados los CFDi (archivos xml), sin timbrar.
NOTA: Formato del nodo generado en los XML.
<cfdi:Complemento>
<implocal:ImpuestosLocales version="1.0" TotaldeRetenciones="18.00" TotaldeTraslados="450.00" >
<implocal:TrasladosLocales ImpLocTrasladado="IMPUESTO TRASLADADO" TasadeTraslado="3.00000" Importe="450.00"/>
<implocal:RetencionesLocales ImpLocRetenido="IMPUESTO RETENIDO" TasadeRetencion="1.00000" Importe="18.00"/>
</implocal:ImpuestosLocales>
</cfdi:Complemento>
**Las URL's referentes al impuesto local (http://www.sat.gob.mx/implocal http://www.sat.gob.mx/sitio_internet/cfd/implocal/implocal.xsd), se mostrarán en el nodo de "<cfdi:Comprobante..."
2. Dentro del mismo módulo y grupo seleccione la rutina Generar Timbres Fiscales (CFDFAT01).
3. Especifique los parámetros del proceso a través de los cuales podrá:
- Filtrar los documentos a incluir para timbrado mediante rangos de selección por fecha de emisión, serie, documento, cliente/tienda
- Indicar si se incluyen documentos ya timbrados
- Indicar si los documentos seleccionados deben mostrarse previamente marcados para timbrado
4. Los documentos seleccionados se listan mostrando los datos generales como son:
Número de documento, serie, especie, fecha de emisión, cliente
5. Seleccione los documentos que se vayan a timbrar marcando la casilla de selección.
La rutina proporciona opciones para buscar un documento específico, marcar todos, desmarcar todos, invertir las marcas de selección
6. Cuando haya seleccionado los documentos a timbrar haga clic en el botón OK, el proceso de timbrado comenzará a enviar al servicio web del PAC uno a uno los documentos marcados.
7. El proceso de timbrado termina con éxito.
7. CANCELACIÓN DE CFDI
Línea de Producto: | Microsiga Protheus. | |||||||||||||||||||||
Segmento: | Servicios - Mercado Internacional. | |||||||||||||||||||||
Módulo: | SIGAFAT - Facturación. | |||||||||||||||||||||
Rutina: |
| |||||||||||||||||||||
Issue(Versión): | DMINA-4570 (v11.8), DMINA-4382 (v12.1.7), DMINA-4753 (v12.1.14), DMINA-4651 (v12.1.7), DMINA-4980 (v12.1.17), DMINA-4858 (v12.1.17), DMINA-5430 (v12.1.17), DMINA-5385 (v12.1.14), DMINA-4923 (12.1.17), DMINA-5386 (v12.1.17), DMINA-5460 (V11.8), DMINA-5627 (v12.1.7), DMINA-5493(V12.1.07), DMINA-8306 (V12), DMINA-8399 (v12.1.25) | |||||||||||||||||||||
País(es): | México. | |||||||||||||||||||||
Base(s) de Datos: | Todas. | |||||||||||||||||||||
Sistema(s) operativo(s): | Todos. | |||||||||||||||||||||
Paquete diccionario de datos: | 005448 | |||||||||||||||||||||
PAC(s) homologado(s): | MasterEdi | EdiCom | InvoiceOne| FormasDigitales | SolucionFactible | Tralix | Ateb |
PREMISAS
SAT - Cancelación de CFDI (nuevo esquema).
A partir del 1 de noviembre del 2018 los servicios de cancelación de facturas se actualizan. Las facturas en algunos casos, solo podrán cancelarse cuando la persona a favor de quien se expidan acepte su cancelación.
Fundamento Legal
Artículo 29-A del Código Fiscal de la Federación.
Reglas 2.7.1.38 y 2.7.1.39 de la Resolución Miscelánea Fiscal vigente.
Referencia:
https://www.sat.gob.mx/consultas/91447/nuevo-esquema-de-cancelacion
7.1 Procedimiento de Implantación
- Es imprescindible tener en operación el proceso de Factura Electrónica antes de realizar cualquier actualización descrita en este documento.
- Ejecute una vez la rutina UPDMODMI.1
- Acceda al módulo SIGACFG, rutina Base de Datos | Diccionario | Base de Datos
- Coloque en la ruta establecida en el parámetro MV_CFDSMAR, el archivo ejecutable actualizado para timbrado del PAC correspondiente (Timbrado$PAC$.exe)*, así como cualquier dependencia necesaria (por ejemplo archivo tipo DLL).
¡Importante!
Para version 11, se deberá realizar la ejecución del compatibilizador UPDMODMI (el cual debe ser de una fecha igual o superior al 01/11/2018), indicando el actualizador "10 - Cancelación CFDI", de clic aquí para ver los pasos de ejecución del compatibilizador.
*Validar que el ejecutable para el PAC cuente con la nueva funcionalidad del esquema de cancelación.
Actualizaciones del Compatibilizador
(Solamente para Microsiga Protheus, versiones anteriores a la versión 12).
1. Creación o modificación de Preguntas en el archivo SX1 – Archivo de Preguntas:
Grupo : FISA817
Orden | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 |
Pregunta | Tipo de Documento? | Fecha Inicial? | Fecha Final? | Serie Inicial? | Serie Final? | Documento Inicial? | Documento Final? | Cliente Inicial? | Cliente Final? | Tienda Inicial? | Tienda Final? |
Tipo | N | D | D | C | C | C | C | C | C | C | C |
Tamaño | 1 | 8 | 8 | 3 | 3 | 6 | 6 | 6 | 6 | 2 | 2 |
Validación | NaoVazio() | NaoVazio() .And. MV_PAR03 >= MV_PAR02 | NaoVazio() .And. MV_PAR05 >= MV_PAR04 | NaoVazio() .And. MV_PAR07 >= MV_PAR06 | NaoVazio() .And. MV_PAR09 >= MV_PAR08 | NaoVazio() .And. MV_PAR11 >= MV_PAR10 | |||||
Consulta Estándar | SERNF | SERNF | SA1CLI | SA1CLI | |||||||
Pre selección | 1 | ||||||||||
Opciones | Factura Nota Débito Nota Crédito | ||||||||||
Help | Tipo de los documentos a visualizar para el proceso de cancelación de CFDI. | Fecha inicial de emisión. | Fecha final de emisión. | Serie inicial de documentos. | Serie final de documentos. | Folio inicial de documentos. | Folio final de documentos. | Código de cliente inicial. | Código de cliente final. | Tienda de cliente inicial. | Tienda de cliente final. |
NOTA: Las preguntas del número 04 al 11 se crean de acuerdo al tamaño de los campos Serie, Documento, Cliente y Tienda indicado en el diccionario de datos.
2. Creación o modificación (mantenga solo la instrucción correspondiente) de Campos en el archivo SX3 – Campos:
Tabla SF1 - Encabezado de Fact. de Entrada
Configuración de campo F1_FLFTEX
Campo | F1_FLFTEX |
Tipo | C |
Tamaño | 1 |
Decimal | 0 |
Formato | @! |
Título | Status Canc |
Descripción | Status cancelación CFDI |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | 0=Vigente;1=En Proceso;2=Solicitud Rechazada;3=Cancelado Sin Aceptación;4=Cancelado Con Aceptación;5=Plazo Vencido;6=Docs Rel |
When | N/A |
Relación | N/A |
Val. Sistema | N/A |
Help | Indica el estado de cancelación del CFDI correspondiente. |
Configuración de campo F1_ESCANC
Campo | F1_ESCANC |
Tipo | C |
Tamaño | 1 |
Decimal | 0 |
Formato | @! |
Título | Es Cancelabl |
Descripción | Es cancelable el CFDI |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | 1=Sin Aceptación;2=Con Aceptación;3=No Cancelable |
When | N/A |
Relación | N/A |
Val. Sistema | N/A |
Help | Indica si el CFDI es cancelable. |
Configuración de campo F1_FECCANC
Campo | F1_FECCANC |
Tipo | D |
Tamaño | 8 |
Decimal | 0 |
Formato | |
Título | F.Solic Canc |
Descripción | Fecha solic cancel CFDI |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | N/A |
When | N/A |
Relación | N/A |
Val. Sistema | N/A |
Help | Fecha de solicitud de cancelación del CFDI. |
Configuración de campo F1_HORACAN
Campo | F1_HORACAN |
Tipo | C |
Tamaño | 8 |
Decimal | 0 |
Formato | |
Título | Hora Cancela |
Descripción | Hora solic cancel CFDI |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | N/A |
When | N/A |
Relación | N/A |
Val. Sistema | N/A |
Help | Hora de solicitud de cancelación del CFDI. |
Configuración de campo F1_MARK
Campo | F1_MARK |
Tipo | C |
Tamaño | 2 |
Decimal | 0 |
Formato | |
Título | Marca |
Descripción | Documento seleccionado |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | N/A |
When | N/A |
Relación | N/A |
Val. Sistema | N/A |
Help | Marca de selección del documento. |
Tabla SF2 - Encabezado de Fact. de Salida
Configuración de campo F2_FLFTEX
Campo | F2_FLFTEX |
Tipo | C |
Tamaño | 1 |
Decimal | 0 |
Formato | @! |
Título | Status Canc |
Descripción | Status cancelación CFDI |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | 0=Vigente;1=En Proceso;2=Solicitud Rechazada;3=Cancelado Sin Aceptación;4=Cancelado Con Aceptación;5=Plazo Vencido;6=Docs Rel |
When | N/A |
Relación | N/A |
Val. Sistema | N/A |
Help | Indica el estado de cancelación del CFDI correspondiente. |
Configuración de campo F2_ESCANC
Campo | F2_ESCANC |
Tipo | C |
Tamaño | 1 |
Decimal | 0 |
Formato | @! |
Título | Es Cancelabl |
Descripción | Es cancelable el CFDI |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | 1=Sin Aceptación;2=Con Aceptación;3=No Cancelable |
When | N/A |
Relación | N/A |
Val. Sistema | N/A |
Help | Indica si el CFDI es cancelable. |
Configuración de campo F2_FECCANC
Campo | F2_FECCANC |
Tipo | D |
Tamaño | 8 |
Decimal | 0 |
Formato | |
Título | F.Solic Canc |
Descripción | Fecha solic cancel CFDI |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | N/A |
When | N/A |
Relación | N/A |
Val. Sistema | N/A |
Help | Fecha de solicitud de cancelación del CFDI. |
Configuración de campo F2_HORACAN
Campo | F2_HORACAN |
Tipo | C |
Tamaño | 8 |
Decimal | 0 |
Formato | |
Título | Hora Cancela |
Descripción | Hora solic cancel CFDI |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | N/A |
When | N/A |
Relación | N/A |
Val. Sistema | N/A |
Help | Hora de solicitud de cancelación del CFDI. |
Configuración de campo F2_MARK
Campo | F2_MARK |
Tipo | C |
Tamaño | 2 |
Decimal | 0 |
Formato | |
Título | Marca |
Descripción | Documento seleccionado |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | N/A |
When | N/A |
Relación | N/A |
Val. Sistema | N/A |
Help | Marca de selección del documento. |
Importante:
El tamaño de los campos que disponen de grupo puede variar de acuerdo con el entorno en uso.
3. Creación o modificación de Parámetros en el archivo SX6 – Parámetros:
Nombre de la Variable | MV_CFDICAN |
Tipo | L |
Descripción | Esquema de cancelación CFDI 2018 |
Valor Estándar | .T. |
Nota
Al actualizar siguientes rutinas con fecha del 31/07/2024 o superior, el uso del parámetro MV_CFDICAN es descontinuado. El sistema usará el nuevo esquema de cancelación CFDI por estándar.
Rutina | Nombre |
---|---|
LOCXMEX.prw | Funciones complementarias notas fiscales México |
LOCXNF.prw | Notas Fiscales |
FISA817.prw | Cancelación CFDI |
FISA815.PRW | Complemento de recepción de pagos. |
Procedimiento de Configuración
(Estos procedimientos se deben realizar cuando es necesario configurar parámetros y/o rutinas en el menú).
CONFIGURACIÓN DE PARÁMETROS
- En el Configurador (SIGACFG), acceda a Entornos/Archivos/Parámetros (CFGX017). Cree/configure (mantenga solo la instrucción correspondiente) el(los) parámetro(s) a continuación:
(Es necesario crear una tabla para cada parámetro que se describe en el ítem Parámetro(s), de la tabla Características del Requisito).
Ítems/Carpetas | Descripción |
Nombre: | MV_CFDICAN |
Tipo: | L |
Cont. Por.: | .T. |
Descripción: | Esquema de cancelación CFDI 2018 |
Nota
Al actualizar siguientes rutinas con fecha del 31/07/2021 o superior, el uso del parámetro MV_CFDICAN es descontinuado. El sistema usará el nuevo esquema de cancelación CFDI por estándar.
Rutina | Nombre |
---|---|
LOCXMEX.prw | Funciones complementarias notas fiscales México |
LOCXNF.prw | Notas Fiscales |
FISA817.prw | Cancelación CFDI |
FISA815.PRW | Complemento de recepción de pagos. |
CONFIGURACIÓN DE MENÚS
2. En el Configurador (SIGACFG), acceda a Entornos/Archivo/Menú (CFGX013). Informe la nueva opción de menú del informe el nombre del módulo, conforme las instrucciones a continuación:
Menú | Actualizaciones. |
Submenú | Facturación. |
Nombre de la Rutina | Cancelación de CFDI. |
Programa | FISA817 |
Módulo | Facturación. |
Tipo | Función Protheus. |
7.2 Procedimiento de Utilización
- Registre y timbre documentos fiscales:
Facturas de Venta; En el módulo Facturación (SIGAFAT) desde el menú Actualizaciones | Facturación | Facturaciones.
Notas de Débito; En el módulo Facturación (SIGAFAT) desde el menú Actualizaciones | Facturación | Notas de Cred/Deb.
Notas de Crédito; En el módulo Facturación (SIGAFAT) desde el menú Actualizaciones | Facturación | Notas de Cred/Deb.En cada una de las rutinas mencionadas, seleccione alguno de los documentos ingresados y solicite las opción Anular. El sistema debe rechazar la operación pues se ha activado el nuevo esquema de cancelación. Por otra parte, documentos que no hayan sido timbrados sí podrán borrarse/anularse desde estas rutinas.
- Ingresar a la rutina de Cancelación de CFDI (nuevo esquema); SIGAFAT | Actualizaciones | Facturación | Cancelación CFDI (FISA817). Configure los parámetros del proceso:
Elementos de la pantalla y del browse de documentos fiscales filtrados de acuerdo a los parámetros indicados:Opciones principales del proceso:
Act. Status: Realiza la consulta al SAT del estado de los documentos seleccionados.
Los documentos a marcar deben tener estatus Vigente, En proceso o No cancelable.
- Cancelar: Envía solicitud de cancelación al SAT de los CFDI seleccionados.
Los documentos seleccionables deben tener estatus Vigente – Cancelable (con o sin aceptación del receptor del CFDI) o de Rechazo.
- Visualizar: Muestra el documento donde está posicionado el cursor dentro del Browse (aun cuando no esté marcado el checkbox).
El documento se presenta en la pantalla correspondiente a tipo de documento; factura de salida, nota de débito o nota de crédito.
- Leyenda: Despliega la relación de los símbolos de color de acuerdo a los diferentes estados de los documentos.
- Cancelar: Envía solicitud de cancelación al SAT de los CFDI seleccionados.
- Consulta de estado
- Seleccione uno o varios documentos.
- Haga clic en la opción Act. Status y confirme. El sistema entrará en contacto con los servicios web del PAC para obtener del SAT el estado de cada CFDI seleccionado.
- Al finalizar, se podrá visualizar el Log de la operación en donde se muestra el resultado obtenido por cada documento.
- En el Browse de Cancelación CFDI (FISA817) se verá reflejado el estatus de los documentos consultados.
- Consulta de status - Plazo Vencido
Si al consultar el status, la modalidad de solicitud de cancelación es por Cancelación de factura con aceptación del receptor , se recibe respuesta de Aceptación o Plazo Vencido*, se realizará la anulación automática del documento en el sistema Protheus, por lo cual ya no será visible en el browse de la rutina de Cancelación CFDI (FISA817).
*Cuando el proceso es por Cancelación de factura con aceptación del receptor,de no haber respuesta a la solicitud de cancelación del CFDI por parte del receptor , la factura es cancelada automáticamente por el “Servicio de Cancelación de Factura Electrónica” por haber transcurrido el plazo de los tres días hábiles sin que el receptor diera una respuesta.
Fundamento para plazo vencido : https://www.sat.gob.mx/cs/Satellite?blobcol=urldata&blobkey=id&blobtable=MungoBlobs&blobwhere=1461173738877&ssbinary=true (página 18).
- Solicitud de cancelación
- Seleccione uno o varios documentos a los cuales se haya actualizado estatus previamente.
- Haga clic en la opción [Otras Acciones] Cancelar y confirme. El sistema entrará en contacto con los servicios web del PAC para solicitar las cancelaciones al SAT.
- Al finalizar, se podrá visualizar el Log de la operación en donde se muestra el resultado obtenido por cada documento.
- En el Browse de Cancelación CFDI (FISA817) se verá reflejado el resultado de la solicitud, siendo que los CFDI cancelados ya no se visualizan.
Aspectos a considerar en ambiente de pruebas:
-Los documentos a procesar deben haber sido timbrados con el mismo PAC, de lo contrario se podría obtener el mensajes: “N - 602: Comprobante no encontrado.”
-Si se solicita cancelación de documentos cuyos títulos por cobrar tengan recibos de cobro y éstos no fueron timbrados, o no con el mismo PAC en uso, esos documentos quedan con estatus de No cancelables por documentos relacionados y ya no podrán ser seleccionados (marcados en el Checkbox) para Consulta de Estado o Solicitud de Cancelación.
Anulación de CFDI con Complemento para Recepción de Pagos
a) En el módulo Financiero (SIGAFIN) desde Actualizaciones | Cuentas por Cobrar | Cobros Diversos (FINA087A) registrar un recibo de cobro hasta generación del timbrado.
b) En el módulo Financiero (SIGAFIN) desde Actualizaciones | Cuentas por Cobrar | Anular Cobros Diversos (FINA088), seleccionar el recibo generado anteriormente y presionar Anular, validar que se muestre mensaje de que la anulación se realizó correctamente.
NOTA: Si solo está realizando la actualización del sistema para anulación de CFDI con Complemento para Recepción de Pagos, es necesario realizar previamente las acciones descritas en los incisos 1 y 4 del Procedimiento de Implantación, así como la Configuración de Parámetros del Procedimiento de Configuración descritos en este documento.
7.3 Cancelación de CFDI 4.0 (vigor 01/01/2022)
El 1 de Enero del 2022 la Actualización al servicio de Cancelación de Facturas que forma parte de la Reforma Fiscal 2022, donde se considera necesario señalar el Motivo de la cancelación de los comprobantes y se actualizan los plazos para realizar la cancelación de facturas, se solicita la actualización para el Proveedor Autorizado de Certificación (PAC) denominado MasterEdi (Facturas, Notas de Crédito y Complementos de Pago).
Regla definida por el SAT:
- A partir del 2022 será necesario señalar el motivo de la cancelación de los comprobantes.
- Al seleccionar como motivo de cancelación la clave 01 “Comprobante emitido con errores con relación” deberá relacionarse el folio fiscal del comprobante que sustituye al cancelado.
- Se actualizan los plazos para realizar la cancelación de facturas.
En la rutina de Cancelación de CFDI (FISA817) se realizan ajustes para que al ejecutar la acción Cancelar después de confirmar continuar con el proceso de cancelación se visualice la pantalla Motivo de Baja donde se visualizarán los campos:
Donde:
Serie/No. Doc.: Serie y Numero del documento a cancelar.
Folio: UUID del documento a cancelar.
Motivo de Cancelación: Combo para seleccionar los motivos de cancelación definidos por el SAT.
Folio Fiscal que sustituye: Folio Fiscal (UUID) que sustituye al cancelado, y que solo se activa si el Motivo de Cancelación es 01 - Comprobante emitido con errores con relación.
Acciones:
Al presionar el botón Confirmar, se realiza llamado al ejecutable TimbradoEDICOM.exe versión 3.0.2.0 el cual realiza la cancelación del CFDI enviando el Motivo y Folio de Sustitución (Folio enviado solo si motivo es 01) .
Cerrar o Salir - Se omite la actualización de la información de motivo de cancelación y el proceso de Solicitud de Cancelación del documento.
Ajuste al diccionario de Datos:
Información
Los ajustes a Diccionario de Datos para activar la nueva funcionalidad de Cancelación de Comprobantes Fiscales Digitales por Internet (CFDI) se realizaron en el pacote 010064.
En caso de contar con el archivo diferencial (SDFMEX.TXT) para realizar la actualización del Diccionario de Datos, consulte el documento Actualizador de diccionario y base de datos - UPDDISTR el cual le guiará para aplicar las actualizaciones automáticamente desde el archivo diferencial.
En la tabla SF1 - Encabezado de Fact. de Entrada se agregan los siguientes campos:
Campo | Contenido |
---|---|
Campo | F1_TIPNOTA |
Tipo | C- Carácter |
Tamaño | 2 |
Decimal | 0 |
Formato | @! |
Contexto | Real |
Propiedad | Modificar |
Tit. Español | Mot.Cancela |
Desc. Español | Motivo de cancelación |
Lista Español | 01=Compr. Emitido c/errores c/relac.;02=Compr. emitido c/errores s/relac.;03=No se llevó a cabo la oper.;04=Oper. nominativa. |
Obligatorio | No |
Usado | Si |
Exhibe en Browse | No |
Help | Indica el motivo de Cancelación que aplica para el CFDI: |
Campo | Contenido |
---|---|
Campo | F1_CODDOC |
Tipo | C - Carácter |
Tamaño | 36 |
Decimal | 0 |
Formato | @! NNNNNNNN-NNNN-NNNN-NNNN-NNNNNNNNNNNN |
Contexto | Real |
Propiedad | Modificar |
Tit. Español | Folio Susti. |
Desc. Español | Folio (UUID) que sustituye |
Lista Español | |
Obligatorio | No |
Usado | Si |
Exhibe en Browse | No |
Help | Folio fiscal del comprobante que sustituye a la cancelada. |
En la tabla SF2 - Encabezado de Fact. de Salida se agregan los siguientes campos:
Campo | Contenido |
---|---|
Campo | F2_TIPNOTA |
Tipo | C- Carácter |
Tamaño | 2 |
Decimal | 0 |
Formato | @! |
Contexto | Real |
Propiedad | Modificar |
Tit. Español | Mot.Cancela |
Desc. Español | Motivo de cancelación |
Lista Español | 01=Compr. Emitido c/errores c/relac.;02=Compr. emitido c/errores s/relac.;03=No se llevó a cabo la oper.;04=Oper. nominativa. |
Obligatorio | No |
Usado | Si |
Exhibe en Browse | No |
Help | Indica el motivo de Cancelación que aplica para el CFDI: |
Campo | Contenido |
---|---|
Campo | F2_CODDOC |
Tipo | C - Carácter |
Tamaño | 36 |
Decimal | 0 |
Formato | @! NNNNNNNN-NNNN-NNNN-NNNN-NNNNNNNNNNNN |
Contexto | Real |
Propiedad | Modificar |
Tit. Español | Folio Susti. |
Desc. Español | Folio (UUID) que sustituye |
Lista Español | |
Obligatorio | No |
Usado | Si |
Exhibe en Browse | No |
Help | Folio fiscal del comprobante que sustituye a la cancelada. |
Para ver la actualización del ejecutable para cada uno de los PAC ver las siguientes ligas:
Documento Técnico de Activación de Cancelación de CFDI 4.0 para el PAC Edicom para el país México
Documento Técnico de Activación de Cancelación de CFDI 4.0 para el PAC Edicom para el país México
Cancelación de CFDI 4.0 para el PAC Formas Digiltales para el país México
Reenvío de solicitud de cancelación información en el siguiente DT - 15946342 DMINA-18213 Reenvió de cancelación de una solicitud rechazada con motivo 01 FISA817 MEX
8. PUNTOS DE ENTRADA
8.1 M475IMPPER - Impresión Personalizada
Línea de producto: | Microsiga Protheus. | ||||||
---|---|---|---|---|---|---|---|
Segmento: | Mercado Internacional. | ||||||
Módulo: | SIGAFAT - Facturación. | ||||||
Función: |
| ||||||
Ticket: | 5113557 | ||||||
Issue(Requisito vinculado): | DMINA-6068 | DMINA-6319 (DMINA-6333) | ||||||
Versión: | 12.1.17 | 12.1.23 |
PREMISAS
Al emitir una Factura o Nota de Crédito/Débito, la impresión de los documentos se realiza por medio de la funcionalidad estándar (MATR475), sin embargo, existen clientes que cuentan con una función de usuario para realizar la impresión con un formato propio.
SOLUCIÓN
Con la finalidad de proporcionar al usuario un medio para realizar la impresión de los documentos con un formato diferente al estándar, se crea el punto de entrada M475IMPPER para la implementación de un formato de impresión personalizado.
Procedimiento de Implantación
Creación del PE M475IMPPER.
El usuario creara el código y compilará la función de usuario M475IMPPER, el nombre ParamIXB es fijo:
ParamIXB[1] = Especie (NF/NCC/NDC).
ParamIXB[2] = Serie.
ParamIXB[3] = Número del documento.
ParamIXB[4] = Tipo → 01 - Factura Normal. 21 - Factura de Traslado.
ParamIXB[5] = Cliente.
ParamIXB[6] = Tienda.
ParamIXB[7] = Valor lógico que indica si se visualizara el PDF tras impresión.
#include 'protheus.ch'
#include 'parmtype.ch'
#include 'FWPrintSetup.ch'
#include 'TBICONN.CH'
#include 'RPTDEF.CH'
#include 'FONT.CH'
User Function M475IMPPER()
Local cEspecie := ParamIXB[1] //Especie(NF/NCC/NDC)
Local cSerie := ParamIXB[2] //Serie
Local cNumDoc := ParamIXB[3] //Numero de documento
Local cTipoDoc := ParamIXB[4] //Tipo -> 01 - Factura Normal, 21 - Factura de Traslado.
Local cCliente := ParamIXB[5] //Cliente
Local cTienda := ParamIXB[6] //Tienda
Local lVisPDF := ParamIXB[7] //Informa si visualizara PDF tras impresión.
MsgAlert("Aquí debe colocar la lógica para la impresión de PDF utilizando los parámetros de ParamIXB.")
Return
Procedimiento de Utilización
- Registrar una factura de venta; SIGAFAT >> Actualizaciones | Facturación | Facturaciones.
- Confirmar la generación y timbrado del comprobante fiscal.
- Confirmar la impresión del comprobante fiscal.
- Visualizar el archivo PDF el cual debe tener el formato personalizado de la función de usuario.
Nota: Para los puntos 2 y 3 el comportamiento puede variar por la configuración del parámetro MV_CFDUSO.
8.2 LXHORANFIS - Llenado de campor Hora (F1_HORA/F2_HORA)
Se activa el punto en Entrada LXHORANFIS, para permitir modificar la funcionalidad de llenado del campo Hora (F1_HORA/F2_HORAcon una función de usuario para realizar la impresión con un formato propio, para verificar funcionalidad ver el siguiente documento técnico DT PE LXHORANFIS Guardado de campo Hora (F2_HORA / F2_HORA) para Notas Fiscales MEX
8.3 LOCXCONCEP- Modificación de campos del nodo Conceptos(cfdi:Concepto)
Producto | TOTVS Backoffice | ||||||
---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | ||||||
Segmento: | Servicios | ||||||
Módulo: | SIGAFAT - Facturación | ||||||
Función: |
| ||||||
Ticket: | 9236182 | ||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-9641 | ||||||
Versiones: | 12.1.17|12.1.23|12.1.25|12.1.27 |
PREMISAS
Inicialmente en los archivos de configuración para Generación de XML para Documentos de Salida (FATSMEX.INI) y para la Generación de XML para Documentos de Entrada (FATEMEX.INI ), se utilizaban las varias funciones para la Generación de la estructura y cadena original para nodo Conceptos, Impuestos e Impuestos Locales (fGetImps, fGetInfAdu, fCtaPredio, fGetPartes, fTotalImps) localizadas en la rutina de Funciones Genéricas de Localizaciones (LOCXFUNA). El uso de estas funciones permitía que la sección de Conceptos del XML pudiera ser modificada por el usuario.
En las últimas actualizaciones de la rutina, las funciones encargadas de la Generación de la estructura y cadena original para nodo Conceptos, Impuestos e Impuestos Locales (fGetImps, fGetInfAdu, fCtaPredio, fGetPartes, fTotalImps ) fueron reemplazadas por la función fXMLFun.
SOLUCIÓN
Se crea el Punto de Entrada LOCXCONCEP, mediante el cual el usuario podrá definir la información que retornará para algunos atributos del nodo Conceptos.
Procedimiento de Implantación.
Creación del PE LOCXCONCEP .
El Punto de Entrada LOCXCONCEP recibe 2 parámetros, que es el código del producto y el número del item, debe retornar un arreglo que contiene todos los campos que se pueden modificar a nivel ítem.
El array de retorno tiene la siguiente estructura:
aArray[1] := Clave de Producto o Servicio
aArray[2] := No. Identificación
aArray[3] := Cantidad
aArray[4] := Clave de Unidad *Si es nulo omitir el atributo Unidad
aArray[5] := Unidad
aArray[6] := Descripción
Ejemplo 1
Se utiliza la tabla de Clientes (SA1) ,en donde se agregá un nuevo campo llamado A1_IDENT.
El arreglo PARAMIXB recibe los parámetros de la función fXMLFun(), en este caso el código de producto, el cual se asigna a la variable cCodProd.
Se crea el arreglo aDetFac en el que se asignan los valores del ítem a reemplazar.
#include 'protheus.ch'
User function LOCXCONCEP()
Local cArea := GetArea()
Local cCodProd := PARAMIXB[1] // Código del producto.
Local cItem := PARAMIXB[2] // Numero Item
Local aDetFac := {"","",0,"","",""} // Arreglo que contiene la información del producto.
/*
aDetFac[1] := ClaveProdSer
aDetFac[2] := No. Identificación
aDetFac[3] := Cantidad
aDetFac[4] := ClaveUnidad
aDetFac[5] := Unidad
aDetFac[6] := Descripcion
*/
aDetFac[2] := AllTrim(SA1-> A1_IDENT)
aDetFac[6] := AllTrim(SA1 -> A1_IDENT)
RestArea(cArea)
Return aDetFac
Ejemplo 2 : Búsqueda en tabla SB1
#include 'protheus.ch'
User function LOCXCONCEP()
Local cArea := GetArea()
Local cCodProd := PARAMIXB[1] // Código del producto.
Local cItem := PARAMIXB[2] // Numero Item
Local aDetFac := {"","",0,"","",""} // Arreglo que contiene la información del producto.
/*
aDetFac[1] := ClaveProdSer
aDetFac[2] := No. Identificación
aDetFac[3] := Cantidad
aDetFac[4] := ClaveUnidad *Si es nulo omitir el atributo Unidad
aDetFac[5] := Unidad
aDetFac[6] := Descripcion
*/
DbSelectArea("SB1")
SB1->(dbSetorder(1)) // B1_FILIAL + B1_COD
SB1->(Dbseek(XFilial("SB1")+cCodProd))
aDetFac[2] := AllTrim(SB1-> B1_ID)
aDetFac[6] := AllTrim(SB1 -> B1_ID)
RestArea(cArea)
Return aDetFac
Ejemplo 3: Búsqueda en tabla SD2
#include 'protheus.ch'
User function LOCXCONCEP()
Local cArea := GetArea()
Local cCodProd := PARAMIXB[1] // Código del producto.
Local cItem := PARAMIXB[2] // Numero de Item
Local aDetFac := {"","",0,"","",""} // Arreglo que contiene la información del producto.
Local nRecSD2 := 0
/*
aDetFac[1] := ClaveProdSer
aDetFac[2] := No. Identificación
aDetFac[3] := Cantidad
aDetFac[4] := ClaveUnidad *Si es nulo omitir el atributo Unidad
aDetFac[5] := Unidad
aDetFac[6] := Descripcion
*/
BeginSQL Alias "SD2TMP"
SELECT D2_ITEM,D2_DESCRI
FROM %Table:SD2% SD2
WHERE SD2.D2_FILIAL = %xFilial:SD2%
AND SD2.D2_SERIE = %Exp:SF2->F2_SERIE%
AND SD2.D2_DOC = %Exp:SF2->F2_DOC%
AND SD2.D2_CLIENTE = %Exp:SF2->F2_CLIENTE%
AND SD2.D2_LOJA = %Exp:SF2->F2_LOJA%
AND SD2.D2_TIPO = %Exp:SF2->F2_TIPO%
AND SD2.%NotDel%
EndSQL
DbSelectArea("SD2TMP")
While !SD2TMP ->(Eof())
if AllTrim(SD2TMP -> D2_ITEM) == AllTrim(cItem)
aDetFac[6] := AllTrim(SD2TMP -> D2_DESCRI)
EndIf
SD2TMP -> (dbskip())
EndDo
SD2TMP ->(dbCloseArea())
RestArea(cArea)
Return aDetFac
En los ejemplos se observa que solo se informan el No.identificación y la Descripción del producto, si es requerido modificar algún otro campo sólo es necesario informar un valor en la posición del arreglo aDetFac dependiendo del campo que se quiera modificar.
Procedimiento de Utilización
- En el módulo Facturación (SIGAFAT), ingresar al menú "Actualizaciones | Facturación| Facturaciones" (MATA467N).
- Informar los parámetros de la rutina.
- "Incluir" una nueva factura de salida.
- Informar los campos del encabezado de la factura.
- Capturar los datos de un ítem.
- Dar clic en "Grabar".
- Se confirma la generación del comprobante fiscal y timbrado del CFDI.
- Validar que en el XML sean informados los atributos especificados en el Punto de Entrada.
NOTA: Cabe mencionar que al momento de la ejecución del punto de entrada, se puede posicionar en algunas tablas como de Clientes (SA1) , Productos(SB1), Items de factura(SD2), por lo que se podrán utilizar campos que ya existen de estas tablas o campos nuevos que sean agregados y definir la regla para el armado del los atributos del nodo Conceptos.
En el Punto de Entrada LOCXCONCEP el contenido de cada una de los campos en el arreglo aDetFac debe cumplir con lo establecido en el Anexo 20 Guía de llenado de los comprobantes fiscales digitales por Internet, referente a los atributos del nodo Conceptos considerando que dicha guía puede ser modificada en cualquier momento por el SAT.¡IMPORTANTE!
- Referencia del SAT, guia del Anexo 20 de CFDI:
http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/GuiaAnexo20.pdf
9. PARÁMETROS
9.1 MV_CFDUSO - Control de la Facturación Electrónica
Volver8.1.1 Automatización del timbrado e impresión de comprobantes fiscales
Línea de producto: | Microsiga Protheus. |
---|---|
Segmento: | Servicios - Mercado Internacional. |
Módulo: | SIGAFAT - Facturación. SIGALOJA - Control de Tiendas. |
Ticket: | 4651350 |
Issue (Requisito vinculado): | DMINA-5523 | DMINA-6319 (DMINA-6333) |
Versión: | 12.1.17 |
PREMISAS
Al realizar la captura de Facturas (NF), Notas de Crédito (NCC) o Notas de Débito (NDC), no se toma en cuenta la configuración del parámetro MV_CFDUSO.
SOLUCIÓN
En la rutina LOCXFUNA en la función CFDGerXml(), se considera la configuración del parámetro MV_CFDUSO de la siguiente manera al capturar Facturas (NF), Notas de Crédito (NCC), Notas de Débito (NDC) o generar Facturas desde la rutina Venta Asistida (LOJA701):
Valor | Comportamiento |
---|---|
0 | No utiliza Factura Electrónica, por lo que no se realizarán la generación, timbrado e impresión del comprobante fiscal. |
1 | Se solicitará la confirmación para realizar la generación, timbrado e impresión del comprobante fiscal. |
2 | Se realizará la generación, timbrado e impresión del comprobante fiscal sin solicitar confirmación. |
3 | Se realzará la generación del comprobante fiscal, pero no se realizara el timbrado e impresión. |
*Nota: Si el parámetro MV_CFDUSO no existe, no se encuentra configurado o no contiene una configuración valida se solicitará la confirmación para la generación, timbrado e impresión del comprobante fiscal.
Procedimiento de Implantación
Configurar el parámetro MV_CFDUSO:
Ítems/Carpetas | Descripción |
Nombre: | MV_CFDUSO |
Tipo: | C |
Cont. Esp.: | |
Descripción: | Indica si las facturas electrónicas se utilizaran o no, configurándose con: 0 - No utiliza Fact-E, 1-Utiliza Fact-e, 2-Indica uso de Fact-E. |
Procedimiento de Utilización
Generar documento desde módulo Facturación:
Configurar el parámetro MV_CFDUSO con el valor 2.
Ingresar a "SIGAFAT >> Actualizaciones | Facturación | Facturaciones" (MATA467N).
Capturar una nueva factura.
Concluir la captura de la factura y dar clic en el botón Grabar.
Validar que el sistema no solicite confirmación para realizar la generación, timbrado e impresión del comprobante fiscal.
Validar que en la ruta indicada para el guardado de los documentos (MV_CFDDOCS) se encuentren los documentos XML y PDF.
Generar documento desde módulo Control de Tiendas:
Configurar el parámetro MV_CFDUSO con el valor 2.
Ingresar a "SIGALOJA >> Actualizaciones | Atención | Venta Asistida" (LOJA701).
Capturar un nuevo producto, indicar la forma y condición de pago.
Concluir la captura de la venta asistida y Grabar.
Validar que el sistema no solicite confirmación para realizar la generación, timbrado e impresión del comprobante fiscal.
9.1.2 Deshabilitar la Facturación Electrónica
Características del Requisito
Línea de producto: | Microsiga Protheus. |
---|---|
Segmento: | Servicios - Mercado Internacional. |
Módulo: | SIGAFAT - Facturación. |
Issue: | DMINA-7510 |
Versiones | 12.1.17 | 12.1.23 | 12.1.25 |
PREMISAS
Se solicita que para la generación de Facturas de Venta (NF), Notas de Débito (NDC) y Notas de Crédito (NCC), mediante el parámetro MV_CFDUSO configurado con valor 0 - No se realizará la generación, timbrado e impresión del comprobante fiscal, no se visualicen ni muestren validaciones de campos que aplican para el proceso de Facturación Electrónica del país México.
Al ejecutar la rutina de Notas de Débito (MATA465N), se visualizan documentos de tipo Facturas de Venta (NF) en el browse.
SOLUCIÓN
Fuente LOCXNF:
En la función LOCXNF() se realiza modificación para que solo si la configuración del parámetro MV_CFDUSO es diferente de “0”, se active la funcionalidad del parámetro MV_NCCONL; también se realiza corrección de filtrado de documentos por tipo para Facturas de Venta (NF) y Notas de Débito (NDC).
En la función NfTudOK(), se realiza corrección para que se realice validación de campos requeridos solo si el parámetro MV_CFDUSO está configurado con un valor diferente de "0".
En la función LxDocOri() se realiza modificación para que solo se valide que los documentos a relacionar tengan el UUID solo si el parámetro MV_CFDUSO está configurado con un valor diferente de "0".
Fuente LOCXNF2:
En la función fCposNf2() se realiza modificación para que se activen los campos Certificado (F2_CERTFOL), N° Aprob. (F2_APROFOL), Folio Fiscal (F2_UUID), Fch.Timbrado (F2_FECTIMB), Fch Canc Tim (F2_FECANTF), Cert. SAT (F2_TIMBRE), Relación CFD (F2_RELSAT), Uso CFDI (F2_USOCFDI) para Facturas de Venta (NF) y Notas de Débito (NDC), y los campos Certificado (F1_CERTFOL), N° Aprob. (F1_APROFOL), Folio Fiscal (F1_UUID), Fch.Timbrado (F1_FECTIMB), Fch Canc Tim (F1_FECANTF), Cert. SAT (F2_TIMBRE), Relación CFD (F1_RELSAT), UUID Relacs (F1_UUIDREL) y Uso CFDI (F1_USOCFDI) para Notas de Crédito (NCC) solo si el parámetro MV_CFDUSO está configurado con un valor diferente de "0".
Procedimiento de Implantación
Configurar el parámetro MV_CFDUSO con valor "0".
Configurar un Cliente. (En el módulo Facturación (SIGAFAT) desde Actualizaciones | Archivos | Clientes).
Configurar un Producto. (En el módulo Facturación (SIGAFAT) desde Actualizaciones | Archivos | Productos).
Procedimiento de Utilización
Desde el módulo Facturación (SIGAFAT) registrar los siguientes documentos:
Factura de Venta (Actualizaciones | Facturación | Facturaciones).
Nota de Débito (Actualizaciones | Facturación | Genera. de Notas de Crédito y Débito).
Importante: Validar que para Facturas de Venta y Notas de Débito no se visualicen los campos Certificado (F2_CERTFOL), N° Aprob. (F2_APROFOL), Folio Fiscal (F2_UUID), Fch.Timbrado (F2_FECTIMB), Fch Canc Tim (F2_FECANTF), Cert. SAT (F2_TIMBRE), Relación CFD (F2_RELSAT), Uso CFDI (F2_USOCFDI) y que al guardar el documento no se muestren validaciones de campos requeridos para facturación electrónica de México, por ejemplo que el campo Uso CFDI sea informado.
Nota de Crédito (Actualizaciones | Facturación | Genera. de Notas de Crédito y Débito).
Importante: Validar que para Notas de Crédito no se visualicen los campos Certificado (F1_CERTFOL), N° Aprob. (F1_APROFOL), Folio Fiscal (F1_UUID), Fch.Timbrado (F1_FECTIMB), Fch Canc Tim (F1_FECANTF), Cert. SAT (F2_TIMBRE), Relacion CFD (F1_RELSAT), UUID Relacs (F1_UUIDREL) y Uso CFDI (F1_USOCFDI) y que al guardar el documento no se muestren validaciones de campos requeridos para facturación electrónica de México, por ejemplo que el campo Uso CFDI sea informado.
EJECUCIÓN DEL COMPATIBILIZADOR
- En Microsiga Protheus Smart Client , indique la opción a ejecutar 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 a la indicada para el actualizador requerido.
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 requerido.
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.
1 Aplica para las versiones 10 y 11 de Protheus.
10. LISTADO DE PAC's HOMOLOGADOS.
PAC | Facturación | Recibo de Nómina | Nuevo esquema de cancelación |
ATEB | Si | Si | No |
Daysoft | Si | No | No |
Digital Factura | Si | Si | No |
Diverza | Si | Si | No |
Edicom | Si | Si | Si |
EdiFactMx* | Si | Si | No |
FacturaSys | Si | Si | No |
Formas Digitales | Si | Si | Si |
InvoiceOne | Si | Si | Si |
ioFacturo | Si | Si | No |
MasterEdi | Si | Si | Si |
MySuite | Si | Si | No |
Sefactura | Si | Si | Si |
Solución Factible | Si | Si | Si |
STO Consulting | Si | Si | No |
Tralix | Si | Si | Si |
11. BITÁCORA DE CAMBIOS.
11.1 Retirada de funciones por cambios de versión
A partir de la versión 19/03/2020 de la rutina LOCXFUNA, fueron retiradas del RPO las funciones:
- fGetImps()
- fGetInfAdu()
- fCtaPredio()
- fGetPartes()
- fTotalImps()
- fGetImpLoc()
Debido a los cambios de versión de CFDI 3.2 para CFDI 3.3, ademas que se hizo una re-estructura y para evitar problemas de timbrado por causa de redondeo en centavos o mal formación de nodos de impuestos.
Para evitar error log o inconsistencias de los resultados, actualice su archivo FATSMEX.INI por el de fecha 23/03/2020 o el mas actual posible.
Para mas información, verifique el link : https://tdn.totvs.com/x/S8dvI
11.2 Estructura de productos - Nodo cfdi:Parte
Producto | TOTVS Backoffice | ||||||
---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | ||||||
Segmento: | Servicios | ||||||
Módulo: | SIGAFAT - Facturación | ||||||
Función: |
| ||||||
Ticket: | 9236172 | ||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-9642 | ||||||
Versiones: | 12.1.17|12.1.23|12.1.25|12.1.27 |
PREMISAS
Dentro de la rutina de Facturas de Salida (MATA467n), se genera una Factura de Salida (NF) con un producto que cuenta con un registro en la rutina de Estructuras (MATA200), al momento de generar el XML de la factura, el nodo cfdi:Parte que corresponde a la estructura del producto no se esta generando.
SOLUCIÓN
Dentro de la rutina de Funciones Genéricas de Localizaciones (LOCXFUNA), en la función que Llena el arreglo para hacer cuadre por centavos a estructura y cadena de XML para CFDI 3.3 (fImptosD), se reemplaza el uso de la función ASIZE() para que no se pierdan los datos correspondientes a la Estructura del Producto, ya que al momento de ejecutar dicha función los datos se pierden.
Dentro de la misma rutina , en la función que Genera la estructura y cadena origina para nodo Conceptos, Impuestos e Impuestos Locales (fXMLFun), se realiza el ajuste en la sección correspondiente a los nodos de cfdi:Impuestos-cfdi:Traslados , ya que no se estaban generando los nodos correctamente al momento de usar productos con Tipo de Entrada/Salida sin impuestos y otra con impuestos informada.
Se realizo el ajuste en la sección del nodo Partes para que no dependiera de la generación del nodo cfdi:Impuestos dentro del XML.
En la rutina de Funciones genéricas de Localizaciones "LOCXFUNA", se realiza modificación en la función fXMLFun() donde realiza la generación del nodo de "cfdi:Parte" dentro del XML, según la configuración del parámetro "MV_CFDSTRU":
Valor | Comportamiento |
---|---|
S o vacío | Realiza la generación del nodo cfdi:Parte dentro del XML |
N | No realiza la generación del nodo cfdi:Parte dentro del XML |
*Nota: Si el parámetro MV_CFDSTRU no existe o no se encuentra configurado realizará la generación del nodo cfdi:Parte.
Proceso de implementación
Configurar el parámetro MV_CFDSTRU:
Nombre de la Variable | MV_CFDSTRU |
---|---|
Tipo | C |
Descripción | Configura si en el XML se generan los nodos de la estructura del producto. S o vacío genera los nodos, N - no genera nodo. |
Valor Estándar |
- Contar con la configuración para Timbrado de CFDI 3.3.
- Contar con un producto registrado.
- Contar con registro en la tabla de Estructura del Producto (SG1) para el producto a usar en el módulo SIGACRM en "Actualizaciones|Administracion|Portafolios|Estructuras"(MATA200).
- Contar con un cliente para timbrado.
- Contar con los archivos "Generación de XML para Documentos de Salida|Generación de XML para Documentos de Entrada" (FATSMEX|FATEMEX) actualizados.
Procedimiento de Utilización
- En el módulo Facturación (SIGAFAT), ingresar al menú "Actualizaciones | Facturación| Facturaciones" (MATA467N).
- Informar los parámetros de la rutina.
- "Incluir" una nueva Factura de Salida.
- Informar los campos del encabezado de la factura.
- Capturar los datos de un ítem.
- Dar clic en "Grabar".
- Se confirma la generación del comprobante fiscal y timbrado del CFDI.
- Validar que en el XML sean generados los nodos correspondientes a las estructuras del producto (cfdi:Parte).
- Referencia Documento técnico simplificado:
9236172 DMINA-9642 DT Agregar Estructura del producto en nodo cfdi:Parte del XML MEX
- Referencia Estructuras MATA200:
[MigraciónESP ESP3] - Estructuras-mata200_estruturas.htm
11.3 CFDI con Complemento para Recepción de pagos.
Cuando la hora del lugar de expedición es menor a la hora del equipo donde se generan los recibos de cobro, se hace un ajuste a la hora de emisión del CFDI para evitar que éste se rechazado por el PAC correspondiente.
En la rutina de generación de CFDI con Complemento para Recepción de Pagos (FISA815) se agregó funcionalidad para identificar las zonas horarias de las sucursales emisora y la que genera el CFDI. Con esto, se determina si existe diferencia de horario y en caso necesario se ajusta la hora de emisión en el CFDI correspondiente (archivo XML).
Procedimiento de utilización:
- Configurar el código postal de la sucursal emisora de CFDI (la que recibe el pago del cliente):
- Configurar el parámetro MV_CFDICPG con el código postal de la sucursal que genera el CFDI:
Nombre de la Variable | MV_CFDICPG |
---|---|
Tipo | C |
Descripción | CP de la sucursal que genera CFDI con Complemento para Recepción de Pagos. |
Valor Estándar |
- Actualizar el catálogo S004 - Códigos Postales del SAT:
Consulte el siguiente Documento Técnico Simplificado para obtener detalles de la funcionalidad:
11.4 Carga de catálogos desde rutina Mantenimiento de Catálogos/Definición de Catálogos.
- Dentro de la rutina de Carga de Catálogos en formato .csv (FISA814), en la función encargada de Insertar los registros en la tabla de Catálogos (f814ReadFile), se toma de forma dinámica el tamaño del campo secuencia (F3I_SEQUEN) al momento de realizar la inserción de registros.
- Para que la inserción masiva de registros en la tabla Catálogos (F3I) sea más eficiente, se implementa la clase FWBulk.
Diccionario de Datos:
Paquete:
Las siguientes actualizaciones fueron incorporadas en el paquete: 009766 - DMINA-13909- ACTUALIZACIÓN CAMPO F3I_SEQUEN- MEX.
Actualización de campo en el archivo SX3 - Campos:
Tabla: F3I – Catálogo
Campo | F3I_SEQUEN |
---|---|
Tipo | C |
Tamaño | 6 |
Decimal | 0 |
Formato | 999999 |
Título | Secuencia |
Descripción | Secuencia |
Help | Secuencia |
Obligatorio | No |
Usado | Si |
Browse | No |
Nota
Para contar con la solución mencionada , es importante tener actualiza la rutina Carga de Catálogos en formato .csv (FISA814) con fecha del 16/10/2021 o superior.
Para más información consulte el siguiente documento técnico: 12543481 DMINA-13909 DT Carga de catálogos no funciona con más de 99999 registros MEX
11.5 Activación de Timbrado de Comprobantes Fiscales Digitales para Internet (CFDI) versión 4.0.
En la página del SAT, en el apartado de la documentación técnica del CFDI 4.0, se establece que la vigencia de esta nueva versión inicia a partir del 1 de enero de 2022, existiendo un periodo de convivencia entre la versión 3.3 y la versión 4.0 el cual comprende del 1 de enero al 30 de abril de 2022.
Por tanto, será a partir del 1 de mayo de 2022 que se deje de utilizar la versión 3.3 y se generalice la obligación de emitir la versión 4.0.
Para cumplir con dicha reforma fiscal, se modifica el esquema del CFDI con los siguientes cambios:
- Se incluye nuevos atributos (Exportacion,DomicilioFiscaIReceptor, RegimenFiscalR, Objetolmp).
- Se cambia la secuencia de CfdiRelacionados.
- Inclusión de reglas de validación para los nuevos Nodos y Atributos.
Para mayor información ver el Documento Técnico de Facturación Electrónica para México de Comprobantes Fiscales Digitales por Internet (CFDI) Versión 4.0
12. CONSIDERACIONES PARA INSTALACIÓN EN ENTORNO LINUX
Debido a que el Sistema Operativo Linux distingue entre mayúsculas y minúsculas, se recomienda usar directorios donde todas las carpetas se encuentren en minusculas al definir los siguientes parámetros, los cuales son utilizados para Generar los comprobantes fiscales (XML/PDF), Lectura de certificados y Copiado de scritps para generación de XML's (fatsmex.ini / fatemex.ini):
- MV_CFDANUL.
- MV_CFDDIRS.
- MV_CFDDOCS.
- MV_CFDFTE.
- MV_CFDFTS.
En caso de utilizar algunas carpetas con mayúsculas, se recomienda hacer la siguiente modificación en los parámetros mencionados, como se ejemplifica a continuación.
- MV_CFDDOCS = Lower(GetSrvProfString('startpath',''))+'\cfd\facturas\'
13. LINK DE DESCARGA EJECUTABLES
Los ejecutables se encuentra dentro de la carpeta RDMAKES_LOCALIZACIONES, en la ruta México\CFDI. Dentro de esta ruta se encuentran las carpetas comprimidas(archivos .zip) con el nombre de cada PAC, como se muestra en la siguiente imagen:
Dicha carpeta puede ser descargada desde el portal de descargas utilizando el siguiente enlace: