64
Página | 1 MANUAL DE USUARIO CONECTOR INSIGNA

MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o Soporte ilimitado para criptografía en Java

Embed Size (px)

Citation preview

Page 1: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 1

MANUAL DE USUARIO

CONECTOR INSIGNA

Page 2: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 2

CONTENIDO

1. Introducción ........................................................................................................................................ 4 1.1 Tipos de CFDI ................................................................................................................................. 4

2. Funcionalidad del Conector .............................................................................................................. 4 2.1 Timbrado, Cancelación y Validación de CFDI ................................................................................ 4 2.2 Lectura de datos a través de un sistema de archivos ................................................................... 5 2.3 Guardado de XML timbrados ........................................................................................................ 5 2.4 Generación de representación impresa personalizable (PDF) ..................................................... 5 2.5 Envío de correo electrónico .......................................................................................................... 6 2.6 Manejo seguro de información sensible ....................................................................................... 7

3. Requisitos ............................................................................................................................................ 7 3.1 Conector ........................................................................................................................................ 7 3.2 SAT ................................................................................................................................................ 8 3.3 INSIGNA ......................................................................................................................................... 8

4. Instalación ........................................................................................................................................... 8 4.1 Procedimiento de instalación ....................................................................................................... 8 4.2 Configuración archivo .properties .............................................................................................. 12 4.3 Configuración de cuenta INSIGNA .............................................................................................. 13 4.4 Instalación de certificado SSL de INSIGNA .................................................................................. 14 4.5 Configuración de contraseñas .................................................................................................... 14 4.6 Instalación de certificado de sello digital (CSD) y su llave privada ............................................. 15 4.7 Alta/Baja de empresas en archivo rfc.properties ....................................................................... 15 4.8 Alta/Baja de unidades de negocio en archivo rfc.properties ..................................................... 16 4.9 Revisión de instalación ................................................................................................................ 16

5. Ejecución ........................................................................................................................................... 18 6. Apagado del Conector ..................................................................................................................... 18 7. Configuración de correos ................................................................................................................ 19 8. Timbrado de CFDIs ........................................................................................................................... 21

8.1 Creación de archivos XML ........................................................................................................... 21 8.2 Proceso de timbrado ................................................................................................................... 23 8.3 Manejo de Addendas .................................................................................................................. 24

9. Cancelación de CFDIs....................................................................................................................... 26 10. Recuperación de CFDIs ................................................................................................................ 26 11. Validación de CFDIs ...................................................................................................................... 30

11.1 Proceso de Validación ................................................................................................................. 30 11.2 Resultados de Validación ............................................................................................................ 30

12. Representación Impresa .............................................................................................................. 31 12.1 Archivo Catalogs.properties ........................................................................................................ 31

13. Errores ............................................................................................................................................ 32 14. Anexos ............................................................................................................................................ 38

14.1 Propiedades de configuración ........................................................................................................ 38 14.2 Cuerpo del correo electrónico ........................................................................................................ 47 14.3 Formato CSV ................................................................................................................................... 47 14.4 Comandos ....................................................................................................................................... 51 14.5 Extensión de Criptografía en Java ................................................................................................... 57

Page 3: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 3

15. MailSender ..................................................................................................................................... 58 15.1 Configuración .................................................................................................................................. 60 15.2 Ejecución ......................................................................................................................................... 61 15.3 Errores ............................................................................................................................................. 63

16. Glosario .......................................................................................................................................... 64

Page 4: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 4

2. Introducción

El Conector INSIGNA es una aplicación cliente desarrollada en Java cuya función es la de

efectuar el timbrado, cancelación y validación de CFDIs. Esto lo realiza mediante la conexión

a un servidor del sistema INSIGNA. La naturaleza misma de la aplicación permite que sea

instalada y ejecutada en diferentes sistemas operativos.

El Conector está diseñado como una herramienta de timbrado rápida y segura. Es capaz de

timbrar CFDIs generados en archivos de texto, soportando los formatos CSV y XML.

En este documento se describen las características del Conector, así como la lista de los

requerimientos mínimos para su instalación y funcionamiento.

1.1 Tipos de CFDI

En el Conector INSIGNA se identifica como un CFDI a los siguientes tipos de comprobantes:

Comprobante Fiscal Digital por Internet (CFDI V3.3)

Documento Electrónico de Retenciones e información de Pagos (Retención Pago V1.0)

Por lo que al hacer referencia a un CFDI dentro de este manual tomaremos en cuenta los comprobantes previamente mencionados.

3. Funcionalidad del Conector

La funcionalidad del Conector se resume en los siguientes puntos:

1. Timbrado, Cancelación y Validación de CFDIs. 2. Lectura de datos a través de un sistema de archivos. 3. Guardado de XML timbrados. 4. Generación de representación impresa personalizable. 5. Envío de correo electrónico personalizable. 6. Manejo seguro de información sensible.

2.1 Timbrado, Cancelación y Validación de CFDI

La comunicación entre las aplicaciones es configurable para adaptarse a la operación del cliente. La siguiente gráfica muestra la comunicación entre las diferentes aplicaciones:

Page 5: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 5

Internet

Cliente

Servidor CERTIPASS

Conector

2.2 Lectura de datos a través de un sistema de archivos

La lectura de datos desde un sistema de archivos permite timbrar archivos XML o CSV leyéndolos desde una carpeta configurada en el Conector. Esto permite que se ingrese la información desde cualquier sistema que pueda escribir un archivo en un fichero, incluyendo programas como una macro en Microsoft Excel, un ERP o un sistema hecho a la medida.

2.3 Guardado de XML timbrados

El Conector puede guardar los CFDIs timbrados para su almacenamiento y administración en 2

lugares:

1. Sistema de archivos. Si está configurado el modo lectura desde sistema de archivos,

la salida de XML y PDF a un sistema de archivos es obligatoria para que el usuario

reciba esta información.

2. Envío por email. Para el modo de entrada por sistema de archivos con formato CSV

(se excluye XML), se puede configurar el envío de emails con los archivos adjuntos XML

y PDF como se detalla más adelante.

2.4 Generación de representación impresa personalizable (PDF)

Una vez timbrado un XML, el Conector puede generar la representación impresa del CFDI en

formato PDF para facilitar su lectura.

Page 6: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 6

INSIGNA soporta distintas opciones de representaciones impresas a elegir para que se adecuen

a las necesidades del cliente. Cada RFC con el que se desee emitir en el Conector puede

tener una representación impresa diferente.

En el caso de requerir otro diseño con imágenes y colores diferentes a los proporcionados,

INSIGNA ofrece un servicio de personalización el cual puede solicitarse a Servicio al Cliente.

2.5 Envío de correo electrónico

El Conector puede ser configurado para enviar correos electrónicos con la información de los

CFDIs timbrados a los usuarios administradores del sistema y/o al receptor del CFDI.

El correo electrónico adjunta los archivos generados del CFDI: un archivo XML timbrado y su

representación impresa en PDF.

El texto del email es personalizable y se puede enviar un texto diferente por cada RFC

emisor.

Usuario

Conector

Servidor SMTP

IMPORTANTE: Para utilizar esta funcionalidad es requisito que el cliente tenga un servidor de

correos en su infraestructura.

Page 7: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 7

2.6 Manejo seguro de información sensible

El certificado, la llave privada y la contraseña de un emisor se consideran información

importante y sensible.

El Conector ofrece una mayor seguridad cifrando todas las contraseñas a través de una frase

única (masterkey) manejada por el administrador del sistema. Esto previene la obtención de

la información sensible en caso de un acceso indebido a los servidores donde se encuentra la

instalación del Conector.

4. Requisitos

Durante el proceso de configuración será requerida información que corresponde al SAT e

INSIGNA. Se sugiere revisar cada uno de los requisitos para una correcta instalación.

3.1 Conector

Hardware

Un servidor con conexión a Internet de 512 Kb libres o mayor1, 256 MB libres en RAM y 100 MB

libres de disco duro para la instalación.

Posteriormente, se requerirán 7 MB por cada 100 CFDIs generados.

Si se utilizará la conexión mediante TCP a los servicios de INSIGNA, es necesario que el

servidor cuente con una IP pública (homologada). En caso que se utilice la conexión mediante

Web Service a INSIGNA no es necesario contar con la IP pública.

Software

Sistema operativo:

o Windows Server 2003, 2008 o 2012.

Máquina virtual de Java (JVM) con JRE versión 1.8 o superior.

o http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-

2133155.html

Soporte ilimitado para criptografía en Java (Ver Anexo 14.5).

o http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-

2133166.html

OpenSSL:

o 0.9.8 para Unix

1 Velocidad de salida para la carga de archivos

Page 8: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 8

o Cygwin con OpenSSL 0.9.8 para Windows

Para envío de correos:

o Servidor SMTP

3.2 SAT

Certificado de sello digital (CSD) para facturar electrónicamente. http://www.sat.gob.mx/informacion_fiscal/factura_electronica/Paginas/tramite_csd.aspx

http://www.sat.gob.mx/informacion_fiscal/factura_electronica/Paginas/certificado_sello_di

gital.aspx

3.3 INSIGNA

Cuenta de acceso a INSIGNA. Timbres suficientes para realizar cada operación. Certificado SSL para la comunicación segura, si es que se utilizará una conexión

mediante el protocolo TCP.

Tanto la cuenta de acceso como el certificado SSL se generan durante el proceso de

contratación.

5. Instalación

Antes de iniciar con los pasos de la instalación, se debe saber cuál es la funcionalidad que se

va a activar para esta instancia de Conector.

4.1 Procedimiento de instalación

1. Descomprimir el archivo Conector.zip en la carpeta donde se desee hacer la instalación; se puede utilizar cualquier software que descomprima archivos .zip. El archivo Conector.zip será enviado por INSIGNA al cliente vía correo electrónico.

Page 9: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 9

2. Se declara la variable de entorno2 CONECTOR_HOME3. El valor que se establece en la variable debe ser igual a la carpeta de instalación del Conector.

SET CONECTOR_HOME= C:\conector\

3. Para la ejecución de los comandos, la variable de entorno JAVA_HOME debe apuntar a la instalación requerida de Java (como se observa en la imagen, JAVA_HOME apunta al directorio donde está instalado Java).

Esto se puede validar tecleando el comando “java”. Si la variable JAVA_HOME está configurara correctamente, la consola reconocerá el comando “java” y desplegará lo siguiente, independientemente del directorio en el que esté posicionada.

2 Para mayor información acerca de cómo configurar variables de entorno visite la siguiente liga: http://support.microsoft.com/kb/310519/es 3 En caso de que no se haya configurado la variable de entorno, al ejecutar cualquiera de los comandos del mismo

se pedirá dicha variable. La variable es establecida en la sesión de consola.

Page 10: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 10

4. Configurar la ruta de archivo para el guardado de la bitácora del Conector, para lo cual es necesario abrir el archivo ubicado en %CONECTOR_HOME%\config\logging.properties y configurar la propiedad java.util.logging.FileHandler.pattern4, donde por default se encuentra el valor “conector%u.%g.log”. El valor de esta propiedad debe ser una ruta de archivo absoluta para asegurar que la bitácora sólo sea guardada en esa ubicación y no de forma relativa a la posición actual en la consola.

Ejemplo: C:/conector/bin/conector%u.%g.log

Nota: Es importante señalar que para la definición de esta ruta no es posible

4 Revisar la documentación sobre la clase FileHandler de Java 6

Page 11: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 11

utilizar cualquier variable de entorno. Además, es imperativo usar como

separador de directorios la diagonal, más específicamente, el carácter “/”.

5. Verificar la instalación del Conector ejecutando el comando conector help.

%CONECTOR_HOME%/bin/conector help

Respuesta al comando conector help al ejecutarse en el sistema operativo Windows.

6. Extensión de Criptografía en Java

Las librerías de criptografía de Java por defecto no soportan llaves de más de 128 bits. Para

utilizar una llave SSL de INSIGNA (de 1024 bits) se necesita reemplazar un par de archivos en

la instalación de Java (ver sección 4.1, paso 3).

Los archivos se encuentran disponibles en el zip del Conector:

O bien pueden descargarse en las siguientes rutas:

Java 8 (archivo jce_policy-8.zip) http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

Page 12: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 12

Antes de proseguir es necesario revisar el valor de la variable JAVA_HOME (ver punto #3 de la

sección 4.1).

A continuación, se toman los archivos local_policy.jar y US_export_policy.jar (contenidos en

el archivo zip descargado) y se colocan en el directorio definido en

%JAVA_HOME%/lib/security:

Hecho este procedimiento se podrá utilizar sin problemas la conexión SSL con INSIGNA. Se

recomienda hacer esta sustitución de archivos con el Conector apagado.

4.2 Configuración archivo .properties

En esta sección, y en otras posteriores, se estarán configurando propiedades en archivos tipo

.properties de Java. Es importante revisar la documentación de Java referente al formato de

los archivos de propiedades5, para aclarar la forma en que estos archivos deberán ser

llenados. También podrás encontrar en la carpeta “/conector/docs/config” ejemplo de dos

archivos de configuración listos para su funcionamiento con el RFC emisor LAN7008173R5

1. Archivo program.properties: Configurar ruta/ubicación del comando OpenSSL y tipo de conexión a INSIGNA.

5http://docs.oracle.com/cd/E23095_01/Platform.93/ATGProgGuide/html/s0204propertiesfileformat01.html

Page 13: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 13

%CONECTOR_HOME%/config/program.properties

openssl.command.path = [Ruta del comando OPENSSL]

Tipo de dato: cadena (Ejemplo: C:/cygwin/bin/openssl) Requerido: sí, cuando el tipo de conexión es TCP o si se tiene configurado un rfc con sus

respectivos archivos cert y key.

connection.type = [Tipo de conexión a INSIGNA]

Tipo de dato: selector (1, 2). Si se desea la conexión mediante el protocolo TCP, ingresar el valor “1”; si se desea la conexión mediante Web Service, ingresar “2”.

Requerido: No Valor default: 1

4.3 Configuración de cuenta INSIGNA

Si en el archivo program.properties (ver paso 4.2) no se especificó un tipo de conexión o se

especificó el tipo de conexión 1 (conexión mediante TCP) es necesario configurar:

1. Archivo pac_client.properties: configurar cuenta de acceso y revisar servidor TCP de INSIGNA.

%CONECTOR_HOME%/config/pac_client.properties

pac.tcp.server = [Dirección TCP de INSIGNA y puerto]

Formato: [dirección]#[puerto] Requerido: sí Valor default: signer.insigna.mx#2700

pac.tcp.username = [Nombre de usuario INSIGNA]

Requerido: sí

*Se puede encontrar más información de cada una de las propiedades de este archivo a

detalle en la sección 14.1, Tabla 4.

Si en el archivo program.properties se especificó el tipo de conexión 2 (conexión mediante

Web Service) es necesario configurar:

1. Archivo ws_client.properties: configurar cuenta de acceso y URL del Web Service de INSIGNA.

%CONECTOR_HOME%/config/ws_client.properties

Page 14: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 14

pac.ws.wsdl = [Dirección del WSDL del Web Service de INSIGNA]

Formato: [URL]/services?wsdl Requerido: no Valor default: https://ws.insigna.mx/services?wsdl

pac.ws.username = [Nombre de usuario INSIGNA]

Requerido: sí

*Se puede encontrar más información de cada una de las propiedades de este archivo a

detalle en la sección 14.1, Tabla 5.

4.4 Instalación de certificado SSL de INSIGNA

Si en el archivo program.properties (ver paso 4.2) no se especificó un tipo de conexión o se

especificó el tipo de conexión 1 (conexión mediante TCP) es necesario configurar:

1. Añadir los archivos tcp-server.pem y el archivo tcp-client.pk12 a la carpeta SSL

C:\conector\config\ssl

Ambos archivos se generan durante el proceso de contratación con INSIGNA. El archivo tcp-server.pem será proporcionado directamente por INSIGNA, mientras que el archivo tcp-client.pk12 será generado de acuerdo a las indicaciones dadas por INSIGNA. Es importante que los archivos tengan los nombres tcp-server.pem y tcp-client.pk12, para que el Conector los pueda procesar.

4.5 Configuración de contraseñas

Todas las contraseñas en el Conector se manejan a través del comando conector masterkey.

%CONECTOR_HOME%/bin/conector masterkey

Con el comando conector masterkey se define una contraseña única que engloba a todas las

demás. Este manual se referirá a esta contraseña como llave maestra.

El comando es ejecutado en consola con el comando conector masterkey el cual ejecuta el proceso para definir una nueva llave maestra y las contraseñas correspondientes. Se tiene un máximo de 3 intentos para definir cada contraseña; en el caso de las cuentas INSIGNA, TCP-INSIGNA, y WS-INSIGNA estos intentos cuentan de manera conjunta. Las contraseñas que el comando pide son:

Llave maestra.

Contraseña de usuario INSIGNA.

Page 15: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 15

Contraseña de la llave privada que corresponde al certificado SSL entregado por

INSIGNA (solo si el tipo de conexión es TCP).

Contraseña de servidor de correo (en caso de implementarse).

Contraseña de la llave privada de cada RFC agregado.

El comando sólo pide las contraseñas necesarias para la configuración que se tenga hasta ese

momento.

Para más información sobre el comando conector masterkey referirse a la sección 14.4.

4.6 Instalación de certificado de sello digital (CSD) y su llave privada

1. Renombrar cada uno de los archivos (.cer y .key) bajo el nombre de su RFC. 2. Depositar ambos archivos en la carpeta llamada ‘CERTS’ dentro del conector

C:\conector\config\certs

Si el tipo de conexión seleccionado en el paso 4.2 fue “Web Service” y el certificado y llave privada del RFC ya fueron dados de alta en la página web de INSIGNA, no es necesario incluir dichos archivos en Conector.

4.7 Alta/Baja de empresas en archivo rfc.properties

1. El último paso consiste en configurar los RFCs

%CONECTOR_HOME%/config/rfc.properties

rfc.emisor.list = RFC1,RFC2,RFC3

Tipo de dato: cadena (RFCs separados por comas) Requerido: obligatorio

Importante: Para dar de baja un RFC del listado, sólo se requiere borrarlo de la propiedad rfc.emisor.list 2. Ejecutando el comando conector masterkey6 se puede determinar la contraseña de la llave privada para cada RFC.

%CONECTOR_HOME%/bin/conector masterkey

6 Ver punto 4.5 de este manual.

Page 16: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 16

4.8 Alta/Baja de unidades de negocio en archivo rfc.properties

Muchas empresas tienen sucursales o unidades de negocio que utilizan el mismo RFC para facturación, en caso de requerir una representación impresa del CFDI diferente para cada unidad de negocio es necesario dar de alta la unidad de negocio.

1. Establecer las unidades de negocio relacionadas al RFC, este previamente tuvo que

haber sido dado de alta.

[RFC].rfc.busUnit.list = [UNIDADDENEGOCIO],[UNIDADDENEGOCIO]

Tipo de dato: cadena (Nombre identificador de la unidad de negocio separado por comas) Requerido: Sólo si necesita representaciones impresas de CFDI para un mismo RFC

Importante: Para dar de baja una unidad de negocio del listado, sólo se requiere borrarlo de la propiedad [RFC].rfc.busUnit.list 2. Establecer la plantilla correspondiente para cada unidad de negocio.

[RFC].rfc.busUnit.[UNIDADDENEGOCIO].pdf.template =

Tipo de dato: Nombre de plantilla sin extensión(referirse a las contenidas en la carpeta establecida en program.properties en la propiedad pdf.template.path

Requerido: Requerido por cada UNIDADDENEGOCIO declarada en [RFC].rfc.busUnit.list

3. Establecer el valor a coincidir con el campo serie del CFDI para determinar la

pertenencia de un CFDI con determinado RFC a una UNIDADDENEGOCIO declarada.

[RFC].rfc.busUnit.[UNIDADDENEGOCIO].value =

Tipo de dato: Cadena Requerido: Requerido por cada UNIDADDENEGOCIO declarada en [RFC].rfc.busUnit.list

4.9 Revisión de instalación

El comando conector test verifica la información existente de la aplicación Conector.

%CONECTOR_HOME%/bin/conector test

Durante la ejecución, el comando solicita la llave maestra para ejecutar el set de pruebas

completo. En el caso de pasar toda revisión se puede ejecutar la aplicación.

La siguiente imagen muestra un ejemplo de resultado cuando se configura el Conector

utilizando el tipo de conexión a INSIGNA mediante TCP:

Page 17: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 17

En caso de que el Conector encuentre un error en alguno de los puntos anteriores, mostrará

en pantalla un mensaje de error indicando los puntos en donde se encuentra el problema.

*Se pueden encontrar todas las revisiones a detalle que hace el comando conector test en los anexos.

Page 18: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 18

6. Ejecución

La ejecución del Conector se hace con el comando conector run.

%CONECTOR_HOME%/bin/conector run

Con este comando el Conector estará activo y conectado al Servidor TCP de INSIGNA para

ejecutar el proceso de timbrado, cancelación y validación de CFDIs. El usuario no tendrá que

preocuparse por dicha conexión dada la implementación de un administrador automático de

conexiones que las gestiona de una forma eficiente y silenciosa para solventar las peticiones

de timbrado y cancelación que el Conector realice.

IMPORTANTE: el Conector no soporta múltiples ejecuciones, es decir, para un cliente de

INSIGNA en específico sólo podrá existir un Conector en ejecución.

7. Apagado del Conector

Si se desea apagar el Conector en ejecución es necesario hacerlo usando el comando conector

stop.

Para poder ejecutarlo es requerido que se abra una nueva consola y se ejecute la siguiente

línea:

%CONECTOR_HOME%/bin/conector stop

Page 19: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 19

8. Configuración de correos

Para utilizar la funcionalidad de envío de correos en cada una de las empresas, se necesita

realizar los siguientes pasos:

1. Editar el archivo program.properties: Activar la funcionalidad de envío de correos

%CONECTOR_HOME%/config/program.properties

activate.mail = true Tipo de dato: booleano (true/false) Requerido: obligatorio

2. Editar el archivo mail.properties: Configurar servidor de correo SMTP y plantillas

%CONECTOR_HOME%/config/mail.properties

config.smtp.url = [dirección del servidor de correo SMTP]

Formato: [dirección]:[puerto] Ejemplo: mailserver.example.com:25

La dirección del servidor de correo debe ser una URL válida, y se sugiere utilizar el puerto 25, el cual es el más común para el protocolo SMTP.

Requerido: Obligatorio cuando se activa la funcionalidad de envío de correos. Tanto la dirección como el puerto son obligatorios.

config.smtp.user = [Nombre de usuario del correo electrónico]

Tipo de dato: cadena Requerido: Obligatorio cuando se activa la funcionalidad de envío de correos

mail.templates = [Nombre de plantilla]

Tipo de dato: cadena (nombres de plantillas separados por comas). Los nombres de plantilla deberán ser de una sola palabra, es decir no deberán contener espacios intermedios.

Ejemplo: plantilla1, plantilla2, plantilla3 Requerido: Obligatorio cuando se activa la funcionalidad de envío de correos

[Nombre de plantilla].mail.from = [Dirección de correo del remitente]

Tipo de dato: cadena (correo electrónico) Requerido: Obligatorio cuando se activa la funcionalidad de envío de correos

Page 20: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 20

[Nombre de plantilla].mail.cc = [Dirección de correo para recibir una copia]

Tipo de dato: cadena (correo electrónico, sólo se admite una dirección) Requerido: Obligatorio cuando se activa la funcionalidad de envío de correos

[Nombre de plantilla].mail.bcc = [Envío de copia oculta a correo electrónico]

Tipo de dato: cadena (correo electrónico, sólo se admite una dirección) Requerido: Obligatorio cuando se activa la funcionalidad de envío de correos

[Nombre de plantilla].mail.subject = [Asunto del correo]

Tipo de dato: cadena Requerido: Obligatorio cuando se activa la funcionalidad de envío de correos

[Nombre de plantilla].mail.body = [Cuerpo del correo]

Tipo de dato: cadena especial*** Esta cadena puede contener texto en general, además de que puede ser particionada con el

carácter "\", esto para generar cuerpos de correo largos conservando su visibilidad en pantalla.

Además, pueden ser introducidos los caracteres especiales de cadenas (String Java 6. Para mayor

información) como el caso del salto de línea "\n" para formatear el cuerpo del correo. Por último,

se pueden añadir variables que corresponden al CFDI enviado en el correo para personalizar el

mensaje.

Datos en las variables: - receptorName - invoiceDate

Formato de entrada de variables: - <variable>receptorName</variable>

Ejemplo: Estimado <variable>receptorName</variable>:\n\nPor medio del \ presente correo nos permitimos hacerle llegar el CFDI correspondiente \ a su compra efectuada el día <variable>invoiceDate</variable>.\n\n\ Nuevamente, reiteramos nuestro compromiso con usted y todos nuestros \ clientes. Además, le informamos que pronto tendremos promociones \ especiales, ¡Esté atento!\n\nAtentamente\n\nEmpresa Pruebas XYZ S.A.\ de C.V.

Requerido: Obligatorio cuando se activa la funcionalidad de envío de correos

Para eliminar una plantilla es necesario borrar su nombre de la lista de plantillas activas en

la propiedad mail.templates. No es necesario el borrado de sus propiedades, sólo de la lista

de plantillas activas. No debe haber empresas que sigan haciendo referencia a plantillas

eliminadas o el Conector no iniciará ejecución.

3. - Editar el archivo rfc.properties; seleccionar la plantilla de correo para una empresa

%CONECTOR_HOME%/config/rfc.properties

Page 21: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 21

Se pueden configurar las plantillas de correo para cada RFC una vez que las plantillas estén

hechas.

En el archivo rfc.properties se define la propiedad [RFC].mail.template7 en el cual se agrega

el nombre de la plantilla que se desee seleccionar.

[RFC].mail.template = [nombre de la plantilla] *** Referirse a las plantillas definidas en el archivo mail.properties

Tipo de dato: cadena (valores como los utilizados en la propiedad "mail.templates") Requerido: Obligatorio cuando se activa la funcionalidad de envío de correos.

9. Timbrado de CFDIs

8.1 Creación de archivos XML

El Conector lee los archivos de la carpeta filesystem.cfdi_to_sign. Cada archivo representa un

CFDI a ser timbrado. El archivo debe estar en formato XML o CSV (el formato CSV no aplica

para la versión 3.3 de CFDI y está limitado a los tipos de comprobantes mencionados en esta

sección) y guardado en codificación UTF-8 y el tamaño del CFDI que generen no debe superar

los 5 MB. Como referencia, una factura normal oscila entre 4 y 8 kb.

El contenido del archivo CSV para Retención Pago V1.0 tiene el siguiente formato:

[PRIMER RENGLÓN]

retencion,claveRetencion,folioInterno,descripción,fechaExpedición

[SEGUNDO RENGLÓN]

emisor,rfc,nombreDenominaciónRazonSocial,curp

[TERCER RENGLÓN]

receptor-nacional,rfc, nombreDenominaciónRazonSocial,curp

receptor-extranjero, nombreDenominaciónRazonSocial,numeroRegistroIdFiscal

[CUARTO RENGLÓN]

periodo,mesInicio,mesFin,añoEjercicioFiscal

[QUINTO RENGLÓN]

totales,montoTotalOperacion,montoTotalGravado,montoTotalExento,montoTotalRetenciones

7 Ver punto 14.1, Tabla 2.

Page 22: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 22

[N RENGLONES POR IMPUESTO RETENIDO]

impuestoretenido,montoRetenido,tipoPagoRetención,baseImpuesto,tipoImpuesto

[ÚLTIMO RENGLÓN]

complemento,enajenaciondeacciones,contratoIntermediación,ganancia,pérdida

complemento,operacionesconderivados,montoGananciaAcumulable,montoPerdidaDeducible

complemento,sectorfinanciero,idFideicomiso,nombreFideicomiso,descripciónFideicomiso

complemento,intereses,provieneDeSistemaFinanciero,interesesRetirados,correspondeAOperacionFinancieraDerivada,montoInterésNominal,montoInteresesReales,pérdida

complemento,arrendamientoenfideicomiso,pagoFiduciarioArrendador,remdimientosObtenidos,deduccionesArrendamiento,montoTotalRetención,montoResfiscalFIBRAS,montoOtrosConceptosDistribuidos,descripciónConceptosDistribuidos

complemento,premios,entidadFederativaPago,montoPago,montoGravado,montoTotalExento

complemento,pagosaextranjeros,esBeneficiarioDirecto,paisDeResidencia,conceptoPagoNB,descripcionConceptoNB,rfc,Curp,razónSocialB,conceptoPagoB,descripcionConceptoB

complemento,planesderetiro,sistemaFinanciero,montoTotAportAnioInmAnterior,montoIntRealesDevengAniooInmAnt,huboRetirosAnioInmAntPer,montoTotRetiradoAnioInmAntPer,montoTotExentRetiradoAnioInmAnt, montoTotExedenteAnioInmAnt,huboRetirosAnioInmAnt,montoTotRetiradoAnioInmAnt

complemento,intereseshipotecarios,creditoOtorgadoPorInstFinanciera,saldoInsoluto,proporciónDeducibleDelCrédito,montoTotaInteresesNominalesDevengados,montoTotaInteresesNominalesDevengadosPagados,montTotaInteresesRealesPagadosDeducibles,numContratoCréditoHipotecario

*Información a detalle sobre el formato completo para la inserción de datos en archivos CSV se puede encontrar en la sección 14.3.

Por defecto, el delimitador es una coma simple para la separación de datos; las comillas se

utilizan como carácter de escape de la coma simple. Los delimitadores pueden ser

modificados en las propiedades del archivo program.properties8.

Creación de archivo XML

En caso de tratarse de un CFDI V3.3, el XML debe cumplir con el esquema descrito por la SAT

en el anexo 20.

http://www.sat.gob.mx/informacion_fiscal/factura_electronica/paginas/anexo_20_version3.

3.aspx

En caso de ser una Retención Pago V1.0, el XML debe cumplir con el esquema descrito por la

SAT en el documento Retención Pago.

8 Ver punto 14.1, Tabla 1.

Page 23: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 23

http://www.sat.gob.mx/informacion_fiscal/factura_electronica/Documents/retenciones/Ret

encionPago.pdf

8.2 Proceso de timbrado

Como se menciona en la sección 5, este proceso se efectúa con el comando conector run. El

Conector toma los archivos de la carpeta de entrada y procesa cada uno como un CFDI. El

tiempo de este ciclo está determinado por timer.period que por defecto es de 10 segundos.

En caso de éxito, se escribirá un archivo XML con el CFDI timbrado y un PDF como

representación impresa, ambos usando como nombre de archivo el generado por el formato

definido de nombre de archivo para el RFC emisor del CFDI ( propiedad

[RFC].cfdis.file_name_format ). Éstos son escritos en las carpetas [RFC].signed_cfdis y

[RFC].cfdi_pdfs.

Al ocurrir un error en los datos de entrada o un error de comunicación se generan dos nuevos

archivos en la carpeta filesystem.cfdis_failed_to_sign; el primero es el archivo de entrada y el

segundo un log (archivo de texto) con la descripción del error ocurrido, el cual se crea con el

mismo nombre y agregando el sufijo “_log”. En caso de nombres repetidos, se agrega el sufijo

_#. En el caso de que existan más de 3 intentos de timbrado fallidos de manera consecutiva,

es decir se obtenga un error (2500), el conector se detendrá para que se ejecute una revisión

manual de esos archivos y después se podrá iniciar nuevamente.

Page 24: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 24

8.3 Manejo de Addendas

INSIGNA permite la inclusión de addendas dentro de los archivos XML que se van a timbrar.

Las addendas soportadas por INSIGNA (en modo de archivo XML) son XML, EDIFACT y texto

libre. Por el momento, el Conector no soporta el manejo de addendas en archivos CSV.

Para el caso de las adendas en XML (es decir, no EDIFACT ni texto libre) es necesario

proporcionar la definición de dicha addenda en un archivo XSD (XML Schema Definition). La

ubicación del archivo se especifica en la propiedad addendas.path, como se puede consultar

en la Sección 14.1 (Tabla 1) de este manual.

A continuación se muestran ejemplos de los distintos tipos de Addendas soportados por

INSIGNA:

XML

Page 25: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 25

<Addenda>

<Tienda>

<Tienda:Discos>

<Tienda:Disco id="201203048843" precio="125.00"/>

<Tienda:Disco id="201115234533" precio="185.00"/>

<Tienda:Discos/>

<Tienda:Libros>

<Tienda:Libro id="PR2323388" precio="325.00"/>

<Tienda:Libro id="CL8484320" precio="45.00"/>

<Tienda:Libros/>

</Tienda>

</Addenda>

EDIFACT

<Addenda>

<Documento>

UNB+IATB:1+6XPPC+LHPPC+940101:0950+1'

UNH+1+PAORES:93:1:IA'

MSG+1:45'

IFT+3+XYZCOMPANY AVAILABILITY'

ERC+A7V:1:AMD'

IFT+3+NO MORE FLIGHTS'

ODI'

TVL+240493:1000::1220+FRA+JFK+DL+400+C'

</Documento>

</Addenda>

Page 26: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 26

TEXTO LIBRE

<Addenda>

Este es un ejemplo de addenda con texto libre. El contenido no necesita seguir ninguna

estructura en XML, con tal de que la codificación sea la misma que en el resto del

archivo (UTF-8). Aquí se puede poner texto a discreción del usuario.

</Addenda>

10. Cancelación de CFDIs

El proceso de cancelación se lleva a cabo de la misma forma que el proceso de timbrado.

El proceso inicia leyendo de la carpeta filesystem.cfdis_to_cancel, donde el cliente debe

depositar los archivos CFDIs a cancelar. El proceso lee los archivos en formato XML y arroja

los acuses de recibo (recibidos directamente del SAT) en la carpeta [RFC].canceled_cfdis

para las cancelaciones exitosas. Para las cancelaciones fallidas se deja en la carpeta

filesystem.cfdis_failed_to_cancel el archivo original (XML) de la cancelación así como un

archivo de log con la descripción del error.

XML

El XML insertado en el sistema de archivos para ser cancelado debe ser el mismo que el XML

timbrado.

11. Recuperación de CFDIs

El Conector permite a un usuario recuperar los CFDIs que dicho usuario ha timbrado con

INSIGNA. Para ello es necesario realizar los siguientes pasos:

1. Descargar el reporte de CFDIs timbrados del sitio de INSIGNA, disponible en la dirección

https://www.insigna.mx/jsf/invoicer/report/report.jsf . Es necesario que el usuario se

autentique proporcionando el nombre de usuario INSIGNA (ver sección 4.4) y la contraseña de

usuario INSIGNA (ver sección 4.6).

Page 27: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 27

2. Una vez descargado este reporte (un archivo en formato CSV) se requiere colocarlo en una

carpeta dentro de la instalación del conector, definida por la propiedad

filesystem.cfdis_input_report, cuyo valor por defecto se puede consultar en la sección 13.1

(Tabla 1).

Es importante que el reporte CSV sea el único archivo presente en la carpeta, dado que el

Conector no pide de antemano un nombre para dicho archivo, sino que procesa el primero

que encuentre en el directorio especificado.

3. La recuperación de CFDIs no se ejecuta de modo paralelo al timbrado y a la cancelación,

por lo cual, en caso de que el conector esté ejecutándose, es necesario detenerlo mediante

el comando conector stop (ver sección 6).

4. Si el conector no se encuentra en proceso de timbrado o de cancelación, se podrá ejecutar

el comando de recuperación de CFDIs:

%CONECTOR_HOME%/bin/conector download

Page 28: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 28

5. Como parte de la ejecución, se validará la configuración del conector, incluyendo la parte

de contraseñas (llave maestra).

6. Si las validaciones de configuración son exitosas, el conector comenzará a procesar el

reporte, avisando con el texto:

7. De existir algún problema con el reporte, el conector avisará con un mensaje de error:

Las posibles causas de error son las siguientes:

No se encontró ningún archivo en el directorio. Se encontró un archivo que no es de tipo CSV. No se encontraron UUIDs a procesar en el reporte. El reporte excede el tamaño permitido a procesar del Conector (5 MB). Se encontró una carpeta adicional en el directorio. Ocurrió un error de IO (InputOutput) al intentar abrir el archivo.

8. Si el reporte es procesado correctamente, se mostrará un mensaje de confirmación y se

generarán los archivos XML correspondientes:

Page 29: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 29

9. De existir algunos errores encontrados en el reporte (por ejemplo, si el archivo fue

accidentalmente modificado) se generará un archivo txt con el mismo nombre del reporte y la

terminación “…_log.txt”:

10. Si se desea que el Conector reanude el procesamiento de facturas (timbrado, cancelación

y validación), se necesita introducir el comando conector run (Ver sección 5).

%CONECTOR_HOME%/bin/conector run

Page 30: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 30

12. Validación de CFDIs

11.1 Proceso de Validación

El Conector lee los archivos de la carpeta filesystem.validation.new. Cada archivo dentro de

esa carpeta debe ser un CFDI timbrado y en formato XML. El tamaño máximo que puede tener

un CFDI es de 5 MB; como referencia, un CFDI regular oscila entre los 4 y 8 KB.

Como se menciona en la sección 5, el proceso de validación se efectúa con el comando

conector run. El Conector toma los archivos de la carpeta de entrada e intenta procesar cada

uno como un CFDI para validarlo en el sistema de INSIGNA. El tiempo en que se ejecuta este

comando de manera recurrente, se define en la propiedad timer.period dentro del archivo

program.properties; por defecto esta variable tiene un valor de 10 segundos.

Tras validar los CFDIs que se pusieron en la carpeta filesystem.validation.new, el Conector los

moverá a otras 3 carpetas dependiendo del resultado de la validación, estas carpetas son las

que se indiquen en las propiedades: filesystem.validation.successful,

filesystem.validation.failed, y filesystem.validation.no_validated. El resultado de la

validación de los CFDIs puede ser: válido, inválido, y no validado.

Además de mover los archivos según el resultado de la validación, se generará un reporte con

los resultados de las validaciones realizadas. Dicho reporte se creará en la carpeta indicada

en la propiedad filesystem.validation.report dentro del archivo program.properties. El

reporte contendrá información detallada respecto a los resultados, si hubo algún error o el

archivo es inválido, se indicará con los errores correspondientes; estos se pueden consultar en

la sección 13 de este documento.

11.2 Resultados de Validación

En la sección anterior se menciona que la validación de un CFDI tiene 3 posibles resultados:

Válido: el documento cumple con la estructura que el SAT dicta para un CFDI y también se encuentra en los sistemas del SAT.

Inválido: el documento no cumple con la estructura que el SAT dicta para un CFDI o no se encuentra en los sistemas del SAT.

No validado: el documento no es un CFDI en formato XML, hubo un problema al comunicarse con el SAT, o el cliente no tiene timbres disponibles.

Page 31: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 31

13. Representación Impresa

El Conector permite generar representaciones impresas de CFDIs o Retenciones que ya hayan

sido timbrados previamente. La generación la hace obteniendo los archivos que se encuentren

dentro de la carpeta indicada en la propiedad filesystem.print_representation.new dentro

del archivo program.properties.

La generación de representación impresa se efectúa con el comando conector run. Si el RFC

emisor tiene configurada una plantilla se tomará dicha plantilla para la representación

generada por el conector, en caso que no se tenga una plantilla se utilizará una plantilla

genérica.

Los archivos PDF de las representaciones genéricas generadas, así como el archivo fuente en

formato XML, serán colocadas por el Conector dentro de la carpeta configurada en la

propiedad filesystem.print_representation.successful dentro del archivo program.properties.

Si la representación impresa no se pudo generar, se copiará el archivo fuente a la carpeta

indicada en la propiedad filesystem.print_representation.failed que se configuró en el

archivo program.properties, y también se creará un archivo de tipo TXT donde se indicará la

causa por la que no se pudo generar la representación impresa del archivo correspondiente;

el nombre del archivo será igual que el archivo fuente pero con la terminación “_log.txt”.

12.1 Archivo Catalogs.properties

Existe un archivo llamado Catologs.properties dentro de la carpeta “bundles” donde se

encuentra instalado el conector, dicho archivo contiene las descripciones de las claves de los

catálogos del SAT y esas descripciones son usadas en las plantillas. Este archivo puede ser

modificado para cambiar las descripciones que vienen predeterminadas por descripciones que

los usuarios consideren más adecuadas o se sean más claras para su negocio y esos cambios

solo se verán reflejados en los PDF generados, ya sea por el proceso de timbrado o por la

regeneración de la representación impresa.

Los catálogos que se pueden modificar son:

Forma de pago

Método de pago

Tipo de relación

Régimen fiscal

Tipo comprobante

Page 32: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 32

Uso CFDI

Tipo de Cadena de Pago (solo aplica para complemento de pago)

Ejemplo de Uso

Cambiar la forma de pago “02-Cheque nominativo” por solo “Cheque”.

Antes del cambio

Despues del cambio

14. Errores

A continuación se muestra una lista de errores locales, es decir que son validaciones propias del conector, existen catálogos de errores adicionales que son proporcionados por el SAT, por ejemplo CFDI33### para CFDI 3.3, NOM### para recibos de nómina y CCE### para complemento de comercio exterior. http://www.sat.gob.mx/informacion_fiscal/factura_electronica/Documents/matriz%20de%20errores/MatrizDeErrores_CFDI_v33.xls http://www.sat.gob.mx/informacion_fiscal/factura_electronica/Documents/Complementoscfdi/matriz_erroresnomina_v12.xls http://www.sat.gob.mx/informacion_fiscal/factura_electronica/Documents/matriz%20de%20errores/MatrizDeErrores_CCE_v11.xls

Page 33: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 33

Código de

Error

Mensaje Detalles

CON-10202 No se pudo encontrar

el archivo: X.

El programa no pudo encontrar la ubicación de un archivo

de configuración del Conector.

CON-10400 Error de conector en

el proceso de

configuración: X.

Existe un error de configuración del Conector, revisar los

archivos de configuración. Para mayor información ir a la

sección 4 de la guía de usuario.

CON-20101 La URL del servidor

de correos es

inválida: X.

Revisar en el archivo mail.properties que la URL del servidor

de correos tenga un formato válido. Para mayor información

ir a la sección 7 de la guía de usuario.

CON-20102 El CFDI: X es inválido. Revisar la carpeta de error configurada en la propiedad

filesystem.failed_to_sign. El error de validación se

especifica en un archivo .txt con el mismo nombre que el

archivo de entrada más el sufijo “_log”.

CON-20103 Una o más

direcciones de correo

electrónico son

inválidas: X.

Revisar en el archivo mail.properties que las direcciones de

correo electrónico tengan un formato válido. Para mayor

información ir a la sección 7 de la guía de usuario.

CON-20104 El CFDI: X es inválido. Revisar la carpeta de error configurada en la propiedad

filesystem.failed_to_sign. El error de validación se

especifica en un archivo .txt con el mismo nombre que el

archivo de entrada más el sufijo “_log”.

CON-20105 Sello inválido del

CFDI: X.

Revisar en la carpeta de CFDIs por timbrar, el campo sello

del CFDI [X]. Para mayor información sobre la carpeta de

CFDIs por timbrar ir a la sección 11 de la guía de usuario.

CON-20106 Se encontró elemento

TimbreFiscalDigital,

posiblemente porque

el CFDI ya fue

timbrado: X.

El archivo XML procesado contiene un elemento que sólo

debe estar presente en los CFDIs ya timbrados. Revisar que

no se estén enviando a la carpeta de CFDIs por timbrar

aquellos CFDIs ya timbrados.

CON-20204 No se pudo leer el

CFDI: X.

El Conector tuvo problemas con la lectura del CFDI [X],

revisar que el CFDI [X] se encuentre en la carpeta de CFDIs

por timbrar y que la carpeta cuente con permisos de

lectura.

Page 34: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 34

CON-20205 No se pudo crear el

CFDI: X.

El Conector tuvo problemas con la creación del CFDI [X],

revisar que el CFDI [X] se encuentre en la carpeta de CFDIs

por timbrar, en caso de que el CFDI [X] exista el error

puede deberse a que no puede guardarse el PDF del CDFI [X]

en la carpeta de PDFs. Para mayor información sobre la

carpeta de CFDIs por timbrar ir a la sección 11 de la guía de

usuario.

CON-20206 No se pudo escribir el

CFDI: X.

El Conector no pudo guardar el PDF correspondiente al CFDI

[X].

CON-20207 No se pudo cerrar el

CFDI: X.

El Conector no pudo cerrar la ruta de escritura del PDF

correspondiente al CFDI [X].

CON-20208 El tamaño del archivo

excede el límite

establecido: X.

El tamaño máximo del archivo a timbrar es de 5MB.

CON-20400 Error de sistema en el

procesamiento de

CFDIs: X.

El Conector tuvo un error inesperado durante el

procesamiento de CFDIs (para su timbrado o cancelación).

CON-20501 Ocurrió un error al

intentar enviar el

correo electrónico

correspondiente al

CFDI: X.

Revisar que los campos del archivo mail.properties estén

correctos. Para mayor información consultar la sección 7 de

la guía de usuario.

CON-20601 Error al inicializar la

fábrica de PDFs al

intentar generar el

archivo del CFDI: X.

Existe un error con la plantilla de PDFs (archivo de

extensión .jasper).

CON-20602 No se pudo generar el

archivo PDF del CFDI:

X.

Existe un error al generar el PDF del CFDI usando la plantilla

de PDFs.

CON-30101 Sello inválido del

CFDI: X.

Revisar en la carpeta de CFDIs por cancelar el campo sello

del CFDI [X]. Para mayor información sobre la carpeta de

CFDIs por cancelar ir a la sección 11 de la guía de usuario.

CON-30102 El CFDI: X es inválido. Existe un error con el CFDI [X] que se quiere cancelar.

Revisar el CFDI [X] en la carpeta de CFDIs por cancelar. Para

mayor información ir a la sección 11 de la guía de usuario.

Page 35: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 35

CON-30105 Ocurrió un error al

analizar la gramática

del archivo ubicado

en la ruta: X.

El archivo ubicado en la ruta [X] tiene errores en la

estructura de la información, revisar que el archivo tenga

los datos estructurados de acuerdo al formato de CSV de

este manual o que sea un XML bien formado con la

estructura del CFDI explicada en el anexo 20 del SAT.

CON-30201 No se pudo encontrar

el CFDI: X.

No se pudo encontrar el CFDI [X] enviado a cancelar. Para

mayor información ir a la sección 11 de la guía de usuario.

CON-30204 No se pudo leer el

CFDI: X.

Pudo haber un error al leer el CFDI [X] enviado a cancelar o

un error al intentar guardar el archivo XML del CFDI

cancelado. Revisar la carpeta de CFDIs por cancelar. Para

mayor información ir a la sección 11 de la guía de usuario.

CON-30205 El tamaño del archivo

excede el límite

establecido: X.

El tamaño máximo del archivo a cancelar su timbrado es de

5MB.

CON-30206 El tipo de archivo no

coincide con los

archivos soportados:

X.

El archivo no coincide con las extensiones CSV ni XML.

CON-40401 Error al intentar

apagar el Conector:

X.

Existe un error en el Conector al intentar apagarse.

CON-50202 CFDI previamente

cancelado.

El CFDI enviado a cancelar ya había sido previamente

cancelado.

CON-50203 El UUID del CFDI no

concuerda con el

RFC.

El UUID no fue emitido por el RFC proporcionado, verificar

que la información en el archivo de entrada sea correcta.

Para mayor información sobre el archivo de cancelación ir a

la sección 9 de la guía de este manual.

CON-50205 El UUID no existe. El UUID a cancelar no está registrado en INSIGNA, verificar

que la información en el archivo de entrada sea correcta.

Para mayor información sobre el archivo de cancelación ir a

la sección 9 de este manual.

CON-50302 Sello mal formado o

inválido.

El UUID a cancelar se envió con una llave y/o certificado

que no corresponden al RFC con que dicho UUID fue

emitido.

Page 36: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 36

CON-50303 El RFC del certificado

no coincide con el

RFC emisor.

El certificado CSD configurado no corresponde al RFC

emisor. Para mayor información ir a la sección 3.2 de este

manual.

CON-50304 El certificado se

encuentra revocado.

El certificado CSD configurado se encuentra revocado. Se

tiene que configurar el certificado activo proporcionado por

la SAT y correspondiente al RFC emisor. Para mayor

información ir a la sección 3.2 de este manual.

CON-50305 La fecha de emisión

no se encuentra

dentro del rango de

validez del

certificado.

La vigencia del certificado configurado no cubre la fecha

para la que se está emitiendo la factura. Para mayor

información ir a la sección 3.2 de este manual.

CON-50306 Certificado inválido. El certificado configurado es inválido. Se tiene que

configurar el certificado CSD (no FIEL) proporcionado por la

SAT y correspondiente al RFC emisor. Para mayor

información ir a la sección 3.2 de este manual.

CON-50307 El CFDI contiene un

timbre previo.

Se está procesando un CFDI que ya fue enviado a timbrar

anteriormente.

CON-50308 Certificado no

firmado por el CA

(certificate

authority).

El certificado CSD configurado es inválido. Se tiene que

configurar el certificado activo proporcionado por la SAT y

correspondiente al RFC emisor. Para mayor información ir a

la sección 3.2 de este manual.

CON-50401 El tiempo entre la

fecha de emisión y

fecha del timbrado

excede el límite

establecido.

La fecha de

cancelación se

encuentra fuera de

los límites

establecidos.

Revisar que la fecha de emisión proporcionada corresponda

con la fecha actual.

Revisar que la hora de la máquina corriendo el Conector

corresponda con la fecha actual.

CON-50402 El certificado no se

encuentra en la lista

de LCO.

El emisor no tiene

El certificado configurado es inválido. Se tiene que

configurar el certificado activo proporcionado por la SAT y

correspondiente al RFC emisor. Para mayor información ir a

la sección 4 de la guía de usuario.

Page 37: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 37

obligaciones fiscales.

CON-50403 La fecha de emisión

es anterior al límite

establecido.

Revisar que la fecha de emisión proporcionada corresponda

con la fecha actual.

CON-52309 No hay timbres

disponibles / El RFC

está bloqueado.

Asegurarse que existan timbres disponibles para el usuario

INSIGNA configurado en el Conector y que el RFC emisor no

se encuentre bloqueado.

CON-52500 Error en el servidor. Ocurrió un error desconocido en el servidor. Favor de

comunicarse a INSIGNA.

CON-60101 El archivo XML es

Inválido.

El archivo que se validó en INSIGNA no cumple con las

validaciones de un CFDI correcto.

CON-60102 El archivo XML es una

Retención no un

CFDI.

El archivo XML que se trató de validar es un archivo

correspondiente a una Retención.

CON-60201 No se pudo leer el

archivo del CFDI.

No se pudo obtener el archivo correspondiente al CFDI que

se quería validar.

CON-60202 El tamaño del archivo

excede el máximo

soportado.

El archivo que se trató de validar excede al tamaño máximo

permitido.

CON-60203 El tipo de archivo no

coincide con los

archivos soportados.

El archivo que se trató de validar no es de tipo XML, es un

tipo de archivo no soportado para validación.

CON-70001 No se pudo leer el

archivo.

No se pudo leer o escribir en el archivo relacionado a la

representación impresa.

CON-70002 El tamaño del archivo

excede el máximo

soportado.

El archivo que se trató de obtener para generar la

representación impresa excede al tamaño máximo

permitido.

CON-70003 El tipo de archivo no

coincide con los

archivos soportados.

El archivo que se trató de obtener para generar la

representación impresa no es de tipo XML, es un tipo de

archivo no soportado para esta funcionalidad.

CON-70004 El archivo XML es

inválido.

El archivo que se trató de obtener para generar la

representación impresa no cumple con las validaciones

propias de un CFDI o Retención.

Page 38: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 38

CON-70005 Sello del CFDI

inválido.

El CFDI o Retención a la que se trató de generar

representación impresa, no contiene un sello válido.

CON-70006 Error al intentar

generar el archivo

PDF.

Ocurrió un error desconocido al momento de intentar

generar la representación impresa del CFDI o Retención.

CON-70007 Error mientras se

escribía el archivo

PDF.

Ocurrió un error desconocido al momento de generar la

representación impresa del CFDI o Retención.

CON-70008 No se encontró el

CFDI.

No se encontró el CFDI o Retención a la que se trató de

generar la representación impresa.

15. Anexos

14.1 Propiedades de configuración

El Conector permite su configuración a través de cinco archivos (se genera un archivo extra en

memoria para almacenar las contraseñas, las cuales no estarán visibles).

Sólo el archivo “logging.properties” sigue las especificaciones de logging de Java, por lo que

no es presentado.

A continuación se muestra una descripción de los parámetros de configuración del Conector.

Tabla 1 Propiedades configurables del archivo program.properties

Nombre Propiedad Descripción Tipo de dato Default

Modo de

entrada de

CFDIs

input.mode Modo de entrada de CFDIs al

Conector

Selector(1,2) 1. Base de datos 2.- Archivos en carpetas del sistema.

2

Salida de

CFDIs

output.filesystem Salida de CFDIs al Conector Booleano (true/false)

false

Separador de

datos CSV

csv.separator Separador de datos que se

usará en los archivos de

sistema que corresponderán a

los CFDIs por procesar en

formato CSV.

Caracter ,

Carácter de csv.escape.charact Carácter de escape que se Caracter “

Page 39: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 39

escape CSV er usará en los archivos de

sistema que corresponderán a

los CFDIs por procesar en

formato CSV.

Carpeta CFDIs

por timbrar

filesystem.cfdis_to

_sign

Dirección de sistema en

donde se colocarán los CFDIs

listos para timbrarse

Cadena (dirección de

archivos del sistema)

./default/

Timbrado/

nuevos

Carpeta CFDIs

fallidos por

timbrado

filesystem.cfdis_fai

led_to_sign

Dirección de sistema en

donde se colocarán los CFDIs

que fallaron en el proceso de

timbrado junto con sus logs.

Los logs se presentarán con el

mismo nombre del archivo

del CFDI añadiendo el

postfijo "_log"

Cadena (dirección de

archivos del sistema)

./default/

Timbrado/f

allados

Carpeta CFDIs

por cancelar

filesystem.cfdis_to

_cancel

Dirección de sistema en donde se colocarán los CFDIs a cancelar junto con sus logs. Los logs se presentarán con el mismo nombre del archivo del CFDI añadiendo el postfijo "_log" y contendrán información del proceso de cancelación.

Cadena (dirección de

archivos del sistema)

./default/

Cancelacio

n/nuevos

Carpeta de

CFDIs fallidos

por

cancelación

filesystem.cfdis_fai

led_to_cancel

Dirección de sistema en

donde se colocarán los CFDIs

que fallaron en el proceso de

cancelación junto con sus

logs. Los logs se presentarán

con el mismo nombre del

archivo del CFDI añadiendo el

postfijo "_log"

Cadena (dirección de

archivos del sistema)

./default/

Cancelacio

n/fallados

Carpeta de

CFDIs a

validar

filesystem.validati

on.new

Dirección de sistema en

donde se colocarán los CFDIs

listos para validarse

Cadena (dirección de

archivos del sistema)

./default/

Validacion/

nuevos

Carpeta de

CFDIs válidos

filesystem.validati

on.successful

Dirección de sistema en

donde se colocarán los CFDIs

que pudieron ser enviados a

INSIGNA y que son válidos.

Cadena (dirección de

archivos del sistema)

./default/

Validacion/

validos

Carpeta de

CFDIs

inválidos

filesystem.validati

on.failed

Dirección de sistema en

donde se colocarán los CFDIs

que pudieron ser enviados a

Cadena (dirección de

archivos del sistema)

./default/

Validacion/

invalidos

Page 40: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 40

INSIGNA y que son inválidos.

Carpeta de

CFDIs no

validados

filesystem.validati

on.no_validated

Dirección de sistema en

donde se colocarán los CFDIs

que no pudieron ser enviados

a INSIGNA.

Cadena (dirección de

archivos del sistema)

./default/

Validacion/

no_validad

os

Ubicación de

reporte de

validación de

CFDIs

filesystem.validati

on.report

Dirección de sistema en

donde se colocará el reporte

con el resultado de las

validaciones a los CFDIs.

Cadena (dirección de

archivos del sistema)

./default/

Validacion/

Carpeta de

logs de

operación

filesystem.operatio

n_log

Dirección de sistema en

donde se colocarán los

archivos que contendrán la

información concerniente a

los procesos del sistema en

forma de bitácora de

operación

Cadena (dirección de

archivos del sistema)

./log

Carpeta

plantillas PDF

pdf.template.path Dirección de sistema en donde se encuentran las plantillas para la creación de los PDFs. *La carga de cualquier otro tipo de archivo puede causar problemas en la funcionalidad del conector.

Cadena (dirección de

archivos del sistema)

./config/te

mplates

Carpeta para

generación de

representació

n impresa de

CFDIs

filesystem.print_re

presentation.new

Dirección de sistema en donde se encuentran los CFDIs a los que se generará una representación impresa.

Cadena (dirección de

archivos del sistema)

./default/

Generacion

de

Representa

cion

Impresa/nu

evos

Carpeta de

representacio

nes impresas

falladas

filesystem.print_re

presentation.failed

Dirección de sistema en donde se encuentran los archivos a los que no se les pudo generar una representación impresa.

Cadena (dirección de

archivos del sistema)

./default/

Generacion

de

Representa

cion

Impresa/fa

llados

Carpeta de

representacio

nes impresas

generadas

filesystem.print_re

presentation.succe

ssful

Dirección de sistema en donde se encuentran las representaciones impresas generadas de manera exitosa.

Cadena (dirección de

archivos del sistema)

./default/

Generacion

de

Representa

cion

Page 41: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 41

Impresa/re

presentaci

ones_impre

sas_genera

das

Carpeta

certificados y

llaves de los

RFCs

certs_pks.path Dirección de sistema en

donde se encuentran los

certificados y llaves privadas

Cadena (dirección de

archivos del sistema)

./config/ce

rts

Número de

CFDIs a

bloquear por

proceso de

timbrado

database.rows.per.

process

Número de CFDIs que se

bloquearán por proceso de

timbrado del sistema. (sólo

modo base de datos)9

Entero Positivo

(1-500)

20

Activación de

envío de

CFDIs

activate.mail Activar o desactivar el envío

de CFDI por correo

electrónico

Booleano (true/false) false

Puerto de

conexión para

apagado del

sistema

shutdown.port Puerto para establecer la

conexión con el sistema en el

proceso de apagado del

mismo.

Entero positivo (recordar que está sujeto a número de puertos del S.O.)

26632

Path del

comando

openssl

openssl.command.

path

Ruta del comando openssl. Cadena (dirección de

archivos del sistema)

*Debe de

ser

establecido

por el

usuario

Periodo de

proceso

timer.period Periodo de tiempo que el sistema tardará en volver a realizar el proceso de timbrado. *Tiempo Menor 1 segundo – Mayor 999999

- "s" para segundos - "m" para minutos - "h" para horas - "d" para días - "w" para semanas

10s

Carpeta para

XSDs

addendas.path Dirección de sistema en

donde se encuentran los

esquemas de las addendas

con extensión .xsd que serán

cargados por el sistema

Cadena (dirección de

archivos de sistema)

*Definido

por el

usuario. No

es

requerido

9 El bloqueo al cual se hace referencia es a nivel de registros de la base de datos. Los CFDIs a procesar, sea cual sea el número, serán bloqueados para no permitir que otras aplicaciones pudieran modificarlos en ese momento.

Page 42: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 42

Ancho de

pantalla

out.message.width Ancho en número de

caracteres para el correcto

formateo de los mensajes

Entero positivo

(60-200)

80

Tipo de

conexión a los

servicios de

INSIGNA

connection.type Tipo de conexión que se

utilizará para conectarse a

los servicios de INSIGNA

Selector (1, 2)

1 – TCP

2 – Web Service

1

Habilitar

respaldo de

CFDIs

enable.output.back

up_cfdis

Permite habilitar la

configuración de respaldo de

los CFDIs emitidos por el

conector

Booleano (true/false) false

Salida de

respaldo de

CFDIs

output.backup_cfdi

s

Permite utilizar una dirección

donde se guardan respaldos

de los CFDIs emitidos por el

conector

Cadena (dirección de

archivos de sistema)

./default/

Respaldo:C

FDIsYaTimb

rados_Mail

Sender

Pausa entre

firmado de

XML

pause.between.sig

ns

Tiempo de espera (en

milisegundos) después de

firmar un XML antes de

firmar el siguiente

Entero positivo 0

Activación de

la escritura

del carácter

BOM – UTF-8

filesystem.utf8.wit

h.bom

Permite indicar si se desea

que se escriba el carácter

BOM para UTF-8

Booleano (true/false) false

Url

cancelación

de

retenciones

retention.cancel.n

amespace

Url para generar el sello de

cancelación de retenciones

Cadena http://ww

w.sat.gob.

mx/esque

mas/retenc

ionpago/1

Tabla 2 Propiedades configurables del archivo rfc.properties

Nombre Propiedad Descripción Tipo de dato Default

RFCs

emisores

activos

rfc.emisor.list RFCs que estarán

configurados en la parte

inferior del documento,

además de que se

encontrarán activos listos

para poder timbrar CFDIs

Cadena (RFCs

separados por comas)

*Debe de ser

establecido por el

usuario

Page 43: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 43

donde ellos sean los

emisores

Formato del

nombre de

archivo para

los CFDIs

(PDF/XML)

[RFC].cfdis.file_na

me_format

Formato para el nombre de los archivos de salida PDF/XML para el resultado de proceso de timbrado o cancelación. Es obligatorio incluir el uuid. En caso de repeticiones de nombre de archivo, se renombran usando un sufijo “_#” para diferenciarlos entre sí.

- rfc_emisor - rfc_receptor - año $(yyyy) - mes $(mm) - día $(dd) - hora $(hh) - minuto $(mi) - segundo $(ss) - uuid

$(yyyy)$(mm)$(dd

)_$(rfc_receptor)_

$(uuid)

Carpeta PDFs [RFC].cfdi_pdfs Dirección de sistema en

donde se encontrarán los

archivos PDF de los CFDIs

timbrados

Cadena (dirección de

archivos de sistema)

./default/Timbrad

o/timbrados

Carpeta

CFDIs

timbrados

[RFC].signed_cfdis Dirección de sistema en

donde se encontrarán los

archivos XML de los CFDIs

timbrados

Cadena (dirección de

archivos de sistema)

./default/

Timbrado/timbrad

os

Carpeta

CFDIs

cancelados

[RFC].canceled_cfd

is

Dirección de sistema en

donde se encontrarán los

archivos XML de los CFDIs

cancelados

Cadena (dirección de

archivos de sistema)

./default/Cancela

cion/cancelados

Plantilla de

correo

[RFC].mail.templat

e

Plantilla de correo que

será utilizada para el

envío de los CFDIs

correspondientes al RFC

Cadena (valores

como los utilizados

en la propiedad

mail.templates del

archivo

mail.properties)

*Requerido (sólo si

se activa la

propiedad

activate.mail)

Plantilla PDF [RFC].pdf.template Plantilla de PDF que será

utilizada para la creación

de los archivos PDF para

los CFDIs

Nombre de plantilla (Nombre del archivo contenido en la carpeta de Plantillas PDF sin hacer uso de su extensión)

Default(correspon

de a

default.jasper)

Lista de

unidades de

negocio

[RFC].rfc.busUnit.li

st

Listado de unidades de

negocio correspondientes

a un RFC, en caso de

querer diferentes

representaciones

impresas para un mismo

Cadena (Nombres identificadores de las unidades de negocio separados por comas)

*Debe ser

establecido por el

usuario, si lo

requiere

Page 44: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 44

RFC

Plantilla PDF

para la

unidad de

negocio

[RFC].rfc.busUnit. [UNIDAD DE

NEGOCIO].pdf.tem

plate

Nombre de la plantilla

asociada a la unidad de

negocio, referirse a las

contenidas en la carpeta

establecida en

pdf.template.path

Nombre de plantilla (Nombre del archivo contenido en la carpeta de Plantillas PDF sin hacer uso de su extensión)

*Debe ser

establecido por el

usuario si declaró

una unidad de

negocio en

particular

Valor a

coincidir

[RFC].rfc.busUnit.

[UNIDAD DE

NEGOCIO].value

Valor que debe coincidir

con el campo serie del

CFDI y con el RFC para

determinar su

correspondencia a una

unidad de negocio

Cadena (Valor a coincidir)

*Debe ser

establecido por el

usuario si declaró

una unidad de

negocio en

particular

Logo plantilla

PDF

[RFC].pdf.template

.logo

Permite introducir el logo

que será utilizado en los

archivos PDF

Cadena (Nombre del archivo del logotipo contenido en la carpeta de Plantillas PDF, por ejemplo: images/default.png)

Ninguno

Plantilla PDF

Retención

[RFC].retention.te

mplate

Permite introducir la

plantilla de PDF que será

utilizada para las

retenciones

Cadena (Nombre del archivo sin extensión, ejemplo: defaultRetention)

defaultRetention

Logo de

plantilla

Retención

[RFC].retention.te

mplate.logo

Permite introducir el logo

que será utilizado en los

archivos PDF creados

para los CFDIs

Retenciones

Cadena (Nombre del archivo del logotipo contenido en la carpeta de Plantillas PDF, por ejemplo: images/default.png)

Ninguno

Tabla 3 Propiedades configurables del archivo mail.properties

Nombre Propiedad Descripción Tipo de dato Default

URL del

servidor

config.smtp.url Dirección y el puerto

donde se encuentra

ubicado el servidor.

Cadena

[dirección]:[puerto]

*Requerido

Usuario config.smtp.user Nombre de usuario de

correo

Cadena *Requerido

Requiere

contraseña

el servidor

config.smtp.requires.

password

Indica si se utilizará

contraseña para el

correo electrónico

Booleano

(true/false)

false

Page 45: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 45

Formato de

fecha

config.mail.date.for

mat

Formato de fecha que

será usado las fechas que

pudieran encontrarse en

el cuerpo del correo

http://docs.oracle.com

/javase/6/docs/api/jav

a/text/SimpleDateForm

at.html

dd/MM/yyyy

HH:mm:ss

Lista de

plantillas de

correo

mail.templates Conjunto de plantillas

que estarán configuradas

en la parte inferior de

este documento y

disponibles para ser

asignadas en los RFCs del

archivo "rfc.properties"

Cadena (nombres de

plantillas separados por

comas)

Ejemplo: t1, t2, t3

*Requerido

Correo-De [plantilla].mail.from Dirección de correo

desde donde será

enviado el correo

electrónico

Cadena

(correo electrónico)

*Requerido por

cada plantilla

que se desee

definir

Correo-Con

copia

[plantilla].mail.cc Dirección de correo a

donde será enviada una

copia del correo

electrónico

Cadena

(correo electrónico)

*Requerido por

cada plantilla

que se desee

definir

Correo-Con

copia oculta

[plantilla].mail.bcc Dirección de correo a

donde será enviada una

copia oculta del correo

electrónico

Cadena

(correo electrónico)

*Requerido por

cada plantilla

que se desee

definir

Correo-

Asunto

[plantilla].mail.subje

ct

Sí, sólo en caso de que

"activate.mail" se

encuentre "true", es

decir, cuando la

propiedad que activa el

envío de correos se

encuentre activada.

Cadena *Requerido por

cada plantilla

que se desee

definir

Correo-

Cuerpo

[plantilla].mail.body Cuerpo del correo

electrónico

Anexo 14.2 Cuerpo del

correo electrónico

*Requerido por

cada plantilla

que se desee

definir

Permite usar

SMTP con

TLS

mail.smtp.starttls.en

able

Permite configurar si el

SMTP usará o no TLS

Booleano (true/false) false

Pausa

después de

enviar un

mail.pause.between.

sends

Tiempo de espera

(milisegundos) después

de enviar un correo para

Entero Positivo

0

Page 46: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 46

correo evitar que el sistema

envíe muchos correos en

poco tiempo

Tabla 4 Propiedades configurables del archivo pac_client.properties

Nombre Propiedad Descripción Tipo de dato Default

Dirección

del servidor

INSIGNA TCP

pac.tcp.server Dirección y el puerto

donde se encuentra

ubicado el servidor.

Cadena

Formato:

[dirección]#[puerto]

*Debe de ser

definido por el

usuario

Nombre de

usuario

INSIGNA

pac.tcp.username Nombre de usuario

registrado en INSIGNA que

será usado para

establecer la conexión al

servidor.

Cadena

(correspondiente al

usuario registrado en

INSIGNA)

*Debe de ser

definido por el

usuario

Modo debug pac.client.debug Agrega al log del conector

los comandos del servidor

que son ejecutados

Boolean (true/false) false

Tiempo de

vida de la

conexión

pac.tcp.ttl Tiempo de vida de la

conexión

*Periodo de tiempo

(ver al final del anexo

la especificación)

3600s

Tiempo de

espera

pac.tcp.timeout Tiempo de espera para

efectuar la conexión con

el servidor

*Periodo de tiempo

(ver al final del anexo

la especificación)

15s

Tabla 5 Propiedades configurables del archivo ws_client.properties

Nombre Propiedad Descripción Tipo de dato Default

Dirección del

WSDL del

Web Service

de INSIGNA

pac.ws.wsdl Dirección donde se

encuentra ubicado el

WSDL del servidor de

INSIGNA.

Cadena

Formato:

[dirección]/services?ws

dl

*https://ws.insig

na.mx/services?

wsdl

Nombre de

usuario

INSIGNA

pac.ws.username Nombre de usuario

registrado en INSIGNA que

será usado para

establecer la conexión al

Cadena

(correspondiente al

usuario registrado en

*Debe de ser

definido por el

usuario

Page 47: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 47

servidor. INSIGNA)

*Periodo de tiempo: [#][unidad_tiempo]; donde # es cualquier número entero largo y unidad_tiempo es:

- "s" para segundos - "m" para minutos - "h" para horas - "d" para días - "w" para semanas

Ejemplos: 10s, 15m, 2d, 5w Nota: la mínima unidad de tiempo será de 1 segundo, algo menor a eso será causa de error en el tipo de dato de entrada. Para cualquiera de las unidades de tiempo el máximo valor numérico que podrá ser asignado será de 999999.

14.2 Cuerpo del correo electrónico

Esta cadena puede contener texto en general, además de que puede ser particionada con el carácter "\", esto para generar cuerpos de correo largos conservando su visibilidad en pantalla. Además de esto, pueden ser introducidos los caracteres especiales de cadenas (String Java 6 para mayor información) como en los siguientes casos: \t Insertar una tabulación \b Insertar un retroceso \n Insertar una nueva línea \r Insertar un regreso de carro \f Insertar un salto de página \’ Insertar una comilla simple \” Insertar comillas dobles \\ Insertar una diagonal invertida en el texto También se pueden añadir variables que corresponden al CFDI enviado en el correo para personalizar el mensaje. Los datos permitidos en las variables son los siguientes: - receptorName

- invoiceDate

La forma de introducirlos al cuerpo del correo es el siguiente:

<variable>receptorName</variable>

14.3 Formato CSV

Formato CSV para Retención Pago V1.0

Page 48: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 48

1. Timbrado

[PRIMER RENGLÓN]

retencion,claveRetencion,folioInterno,descripción,fechaExpedición

[SEGUNDO RENGLÓN]

emisor,rfc,nombreDenominaciónRazónSocial,curp

[TERCER RENGLÓN]

receptor-nacional,rfc, nombreDenominaciónRazónSocial,curp

receptor-extranjero, nombreDenominaciónRazónSocial,numeroRegistroIdFiscal

[CUARTO RENGLÓN]

periodo,mesInicio,mesFin,añoEjercicioFiscal

[QUINTO RENGLÓN]

totales,montoTotalOperacion,montoTotalGravado,montoTotalExento,montoTotalRetenciones

[N RENGLONES POR IMPUESTO RETENIDO]

impuestoretenido,montoRetenido,tipoPagoRetención, baseImpuesto,tipoImpuesto

[SEPTIMO RENGLÓN]

complemento,enajenaciondeacciones,contratoIntermediación,ganancia,pérdida

complemento,operacionesconderivados,montoGananciaAcumulable,montoPerdidaDeducible

complemento,sectorfinanciero,idFideicomiso,nombreFideicomiso,descripciónFideicomiso

complemento,intereses,provieneDeSistemaFinanciero,interesesRetirados,correspondeAOperacionFinancieraDerivada,montoInterésNominal,montoInteresesReales,pérdida

complemento,arrendamientoenfideicomiso,pagoFiduciarioArrendador,remdimientosObtenidos,deduccionesArrendamiento,montoTotalRetención,montoResfiscalFIBRAS,montoOtrosConceptosDistribuidos,descripciónConceptosDistribuidos

complemento,premios,entidadFederativaPago,montoPago,montoGravado,montoTotalExento,observaciones

complemento,pagosaextranjeros,esBeneficiarioDirecto,paisDeResidencia,conceptoPagoNB,descripcionConceptoNB,rfc,Curp,razónSocialB,conceptoPagoB,descripcionConceptoB

complemento,planesderetiro,sistemaFinanciero,montoTotAportAnioInmAnterior,montoIntRealesDevengAniooInmAnt,huboRetirosAnioInmAntPer,montoTotRetiradoAnioInmAntPer,m

Page 49: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 49

ontoTotExentRetiradoAnioInmAnt, montoTotExedenteAnioInmAnt, huboRetirosAnioInmAnt, montoTotRetiradoAnioInmAnt

complemento,intereseshipotecarios,creditoOtorgadoPorInstFinanciera,saldoInsoluto,proporciónDeducibleDelCrédito,montoTotaInteresesNominalesDevengados,montoTotaInteresesNominalesDevengadosPagados,montTotaInteresesRealesPagadosDeducibles,numContratoCréditoHipotecario

Reglas Generales:

a. El archivo del informe deberá ser creado con formato de texto simple, con extensión CSV

y contener un registro por renglón.

b. Cada uno de los atributos que conforman el informe deberá estar delimitado por el

carácter separador (por defecto la coma ",") y sin espacios entre ellos, debido a que éste

será utilizado como carácter de control en la formación del informe.

c. Opcionalmente, cada uno de los atributos que conforman el informe puede estar

contenido dentro de un carácter de escape al inicio y un carácter de escape al final del

atributo. Por defecto el carácter de escape es la doble coma ("). Esto permite que los

nombres de los atributos contengan el carácter separador. No se permite usar dicho

carácter de escape dentro de los atributos.

i. Ejemplo:

"descripción","nombreDenominaciónRazónSocial","rfc"

d. El primer registro de cada renglón, deberá contener una de las palabras clave (retencion,

emisor, receptor-nacional, receptor-extranjero, periodo, totales, impuestoretenido,

enajenaciondeacciones, operacionesconderivados, sectorfinanciero, intereses,

arrendamientoenfideicomiso, premios, planesderetiro, intereseshipotecarios) en

minúsculas.

e. Se expresará únicamente la información del dato sin expresar el atributo al que hace

referencia. Por ejemplo, si el rfc de la retención fuera "RFCC850101RFC" sólo se expresará

" RFCC850101RFC " y nunca "rfc RFCC850101RFC ".

f. En el caso de datos con valor Nulo (sin valor), simplemente se añade el carácter

separador, para indicar la presencia de un atributo o -si se prefiere- mediante los

caracteres de escape (por defecto las dobles comas "") sin ningún valor entre dichos

caracteres de escape.

g. Se puede incluir información relativa a parcialidades en los siguientes campos del primer

renglón:

folio_fiscal_original,serie_folio_fiscal_original,fecha_folio_fiscal_original,monto_folio_fisc

al_original

h. En el caso de existir varios conceptos en una factura, se deberá crear un registro por cada

concepto de manera consecutiva (un renglón por concepto). Ejemplo:

domiciliofiscal,calle,número_exterior,número_interior,colonia,localidad,referenci

a,municipio,estado,país,código_postal

Page 50: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 50

concepto,cantidad,unidad,número_identificación,descripción,valor_unitario,import

e,cuenta_predial,complemento_concepto,pedimento_aduana,fecha_aduana,nombr

e_aduana

concepto,cantidad,unidad,número_identificación,descripción,valor_unitario,import

e,cuenta_predial,complemento_concepto,pedimento_aduana,fecha_aduana,nombr

e_aduana

impuesto,tasa,importe,tipo_impuesto,nombre_impuesto

i. En el caso de existir varias partes por concepto, se deberá crear un registro por cada

parte de manera consecutiva inmediatamente después del registro del concepto al que

pertenecen (un renglón por parte). Ejemplo:

domiciliofiscal,calle,número_exterior,número_interior,colonia,localidad,referenci

a,municipio,estado,país,código_postal

concepto,cantidad,unidad,número_identificación,descripción,valor_unitario,import

e,cuenta_predial,complemento_concepto,pedimento_aduana,nombre_aduana,fech

a_aduana

parte,cantidad,unidad,número_identificación,descripción,valor_unitario,importe,

pedimento_aduana,fecha_aduana,nombre_aduana

parte,cantidad,unidad,número_identificación,descripción,valor_unitario,importe,

pedimento_aduana,fecha_aduana,nombre_aduana

parte,cantidad,unidad,número_identificación,descripción,valor_unitario,importe,

pedimento_aduana,fecha_aduana,nombre_aduana

concepto,cantidad,unidad,número_identificación,descripción,valor_unitario,import

e,cuenta_predial,complemento_concepto,pedimento_aduana,nombre_aduana,fech

a_aduana

parte,cantidad,unidad,número_identificación,descripción,valor_unitario,importe,

pedimento_aduana,fecha_aduana,nombre_aduana

concepto,cantidad,unidad,número_identificación,descripción,valor_unitario,import

e,cuenta_predial,complemento_concepto,pedimento_aduana,nombre_aduana,fech

a_aduana

impuesto,tasa,importe,tipo_impuesto,nombre_impuesto

j. Los únicos registros que pueden ser múltiples son concepto, parte e impuesto.

k. Los registros parte y domiciliofiscal son los únicos registros opcionales.

Page 51: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 51

l. Los registros correspondientes a fechas deberán tener el formato yyyy/MM/dd HH:mm:ss,

excepto aquellos de fecha_aduana, en donde el Anexo 20 indica que el formato es

yyyy/MM/dd.

m. En el registro emisor, receptor y domiciliofiscal, se podrá referir a México con las palabras

“Mex”, “MX” y “México" (sin validar mayúsculas o minúsculas). Cualquier palabra distinta

se considerará como un país extranjero (y si es un dato asociado a un RFC, se deberá

utilizar el RFC genérico para extranjeros: “XEXX010101000”).

n. El registro regimenesfiscales es la cabeza de una serie de regímenes que puede ir desde 1

régimen (al menos es requerido uno) hasta N regímenes.

o. En el registro regimenesfiscales, si se introduce un campo (vacío) será ignorado por el

sistema.

p. El atributo tipo_comprobante del registro factura sólo permite los siguientes valores en

minúsculas: ingreso, egreso o traslado.

q. El atributo tipo_impuesto del registro impuesto sólo permite los siguientes valores en

minúsculas: retencion o traslado.

r. El atributo nombre_impuesto del registro impuesto sólo permite los siguientes valores en

mayúsculas para los impuestos de tipo traslado: IVA o IEPS y los siguientes valores en

mayúsculas para los impuestos de tipo retención: IVA o ISR.

s. Se generará un archivo de texto por cada factura emitida, es decir, no se permitirá tener

varias facturas en un archivo XML/CSV.

t. El certificado y el número de certificado se registran en un archivo diferente al de la

factura en formato base64.

u. Cada uno de los conceptos registrados en la factura puede contener 0 o sólo 1 elemento

de los siguientes:

a. cuenta_predial

b. complemento_concepto

c. aduana (pedimento,fecha,nombre)

d. parte

En caso de no cumplir con esta regla se marcará como factura inválida y se reportará el error

en el archivo de log de la factura

2. Cancelación

[PRIMER RENGLÓN]

rfc,uuid

14.4 Comandos

El usuario interactúa con el Conector mediante el uso de comandos, los cuales son

introducidos a través de la línea de comandos. De esta manera el Conector recibe la señal de

inicio, detención, configuración, pruebas y ayuda. En caso de ocurrir un error el Conector

despliega la información del error.

Page 52: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 52

Comando Acceso

rápido

Descripción

Run /r Ejecuta el programa. El programa no arrancará hasta que toda la

configuración esté correcta, un mensaje en pantalla mostrará el error

en éstos casos y el programa detendrá su ejecución.

Stop /s Detiene el Conector (una vez ejecutado el comando conector run) sin

necesidad de terminar el proceso directamente con el gestor de

aplicaciones del sistema operativo, lo cual podría ocasionar

problemáticas transaccionales en el Conector. En el momento en que se

desee terminar la ejecución del Conector se necesita abrir una ventana

Page 53: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 53

de línea de comandos y ejecutar el comando ubicándose en la carpeta

del Conector en ejecución. La ventana despliega una serie de mensajes

donde se indicará lo sucedido con el proceso.

Pantalla 1:

Pantalla 2:

masterkey /m Permite configurar la llave maestra en el Conector. Al ejecutar este

comando se pedirán las contraseñas, tanto de las llaves privadas de las

empresas configuradas, teniendo disponibles 3 intentos para definir

cada una, así como también de las contraseñas correspondientes a la

cuenta y la configuración SSL de INSIGNA (si se utilizará la conexión

mediante TCP), las cuales tienen 3 intentos para definirse en conjunto,

y correos (este último sólo de ser necesario).

En la primera ejecución de este comando, posterior a la configuración

inicial del Conector, se requiere realizar una configuración inicial de la

llave maestra. Esto implica el configurar una nueva llave maestra

cumpliendo con las características definidas –al menos 10 caracteres y

Page 54: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 54

hasta 50 caracteres como máximo, al menos un carácter alfabético y al

menos un dígito. Posteriormente pedirá las contraseñas mencionadas en

el párrafo anterior, sólo de ser necesarias por la configuración del

Conector.

Una vez que la llave maestra se encuentra configurada, el comando

conector masterkey puede volverse a ejecutar teniendo como resultado

el estatus de la configuración de llave maestra. Existen diversos

comportamientos del Conector dependiendo de la configuración y el

estatus actual del Conector, los cuales se detallan a continuación:

1. En caso de que falten contraseñas por configurar, el Conector

las pedirá y finalmente las guardará cifradas.

2. En caso de que no falten contraseñas, el Conector pondrá un

estatus (OK) de la configuración de llave maestra y al final

presentará 2 flujos alternos:

a. Primero preguntará por cambiar la llave maestra, se

requiere proporcionar tanto la llave maestra anterior

como la nueva. No hay necesidad de introducir las

contraseñas previamente configuradas.

b. En caso de no haber seleccionado la opción anterior, el

Conector preguntará si se desea definir una nueva llave

maestra, indicándonos que eso implicaría introducir de

nuevo todas las contraseñas que el Conector requiere. No

se requiere proporcionar la llave maestra anterior.

En caso de tener 3 intentos fallidos de introducción de cualquier

contraseña el Conector detendrá su ejecución.

Page 55: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 55

test /t Permite realizar una comprobación de los diversos módulos del Conector necesarios para la correcta ejecución del Conector.

Page 56: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 56

El comando comprueba:

Lectura de propiedades de Conector Periodicidad de Timbrado Apagado del Conector (puerto) Entrada/Salida de CFDIs Configuración comando OpenSSL y descifrado de llave privada de

prueba o En esta sección se revisa el correcto funcionamiento del

comando OpenSSL mediante el descifrado de una llave privada que sirve solamente para efectos de ésta prueba.

Validación de Lista de Emisores de RFCs10 Configuración de Plantillas PDF (Carga de archivos) Configuración de Certificados SAT (Validación del directorio) Configuración de Certificados SAT (Carga de certificados) Configuración de Llaves Privadas SAT (Validación del directorio) Configuración de Llaves Privadas SAT (Carga de archivos) Estado de la llave maestra

o Descifrado de contraseña PAC o Descifrado de contraseña SSL o Descifrado de contraseñas de las llaves privadas para los

RFCs o Descifrado de contraseña de correos (sólo cuando el

10 La validación se realiza sobre la lista de RFCs escritos en el campo rfc.emisor.list, en caso de existir algún RFC inválido el sistema marcara un error indicando los RFCs inválidos; por el contrario, en caso de no existir ningún RFC configurado la validación resultará exitosa.

Page 57: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 57

envío de correos esté activo y el servidor con seguridad habilitada)

Configuración de RFCs Configuración de Correos electrónicos Parámetros CSV Revisión de directorios (permisos de lectura y escritura) Conexión TCP de INSIGNA (cliente-servidor) / Conexión Web

Service de INSIGNA (cliente-servidor) help /h Muestra la descripción de los comandos del Conector.

14.5 Extensión de Criptografía en Java

Las librerías de criptografía de Java por defecto no soportan llaves de más de 128 bits. Para

utilizar una llave SSL de INSIGNA (de 1024 bits) se necesita reemplazar un par de archivos en

la instalación de Java (ver sección 4.1, paso 3).

Los archivos se encuentran disponibles en el zip del Conector:

O bien pueden descargarse en las siguientes rutas:

Java 8 (archivo jce_policy-8.zip) http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

Page 58: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 58

Antes de proseguir es necesario revisar el valor de la variable JAVA_HOME (ver punto #3 de la

sección 4.1).

A continuación, se toman los archivos local_policy.jar y US_export_policy.jar (contenidos en

el archivo zip descargado) y se colocan en el directorio definido en %JAVA_HOME%/lib/

security:

Hecho este procedimiento se podrá utilizar sin problemas la conexión SSL con INSIGNA. Se

recomienda hacer esta sustitución de archivos con el Conector apagado.

16. MailSender

El MailSender es un artefacto que tiene como función enviar CFDIs por correo electrónico de

manera independiente del funcionamiento del conector, sin embargo, el mailsender toma

como base el sistema de archivos del conector.

El MailSender está alojado en el directorio de instalación del conector y se encuentra ubicado

en la carpeta conector/mail-sender/conector_mail_sender.

Page 59: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 59

Al igual que el conector, el MailSender tiene un sistema de carpetas definido para el

procesamiento de archivos ubicado en la carpeta mailResend:

cfdiNotSent: Carpeta que contiene los archivos que no fueron posibles de enviar

cfdiSent: Carpeta que contiene los archivos enviados con éxito

cfdiToSend: Carpeta Auxiliar para agregar los archivos que se desean enviar.

configuration: Carpeta donde se encuentran los archivos necesarios para la

configuración del artefacto.

El MailSender genera un archivo de logueo ubicado en la carpeta de instalación llamado

"SendMail_log" en el cual se encuentra el registro del procesamiento de archivos y es útil

cuando es necesario identificar las razones por las cuales fallen los envíos.

Page 60: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 60

15.1 Configuración

Previo a la ejecución del MailSender es necesario definir dos variables de sistema:

MAIL_SENDER_HOME

CONECTOR_HOME

El archivo de configuración del MailSender se encuentra en mailResend/configuration/

mail.properties y sus propiedades se enlistan a continuación:

Propiedad Descripción Tipo de

dato

Default

signed.cfdis.directory Carpeta de donde se leen

los archivos que van a ser

enviados por correo. (El

directorio base es la

carpeta de instalación del

conector, si se desea que el

mail sender tome lo

archivos a enviar de la

carpeta de timbrados del

conector es necesario

asignarle a esta propiedad

el valor

“/default/timbradas”)

Cadena N/A

mail.time.between.send Tiempo entre envío de

correos en milisegundos

Número N/A

number.connection.retries Número máximo de

intentos con el servidor de

conexiones antes de

Número 10

Page 61: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 61

detener el envío.

mail.pdf.required Bandera para indicar si el

pdf será necesario para

enviar el correo.

Booleano false

mail.to.source.file.type Tipo de archive del cual se

lee el destinario del correo

(1=XML,2=TXT)

Número 1

mail.host URL del servidor de correos Cadena N/A

mail.port Puerto del servidor de correos

Número N/A

mail.userName Usuario del servidor de correos

Cadena N/A

mail.smtp.starttls.enable Bandera para indicar si se permite usar SMTP con TLS

Booleano false

mail.from “from” para la plantilla del correo

Cadena N/A

mail.cc “cc” para la plantilla del correo

Cadena N/A

mail.bcc “bcc” para la plantilla del correo

Cadena N/A

mail.subject Asunto para la plantilla del correo

Cadena N/A

mail.body Cuerpo para la plantilla del correo

Cadena N/A

mail.date.format Formato de fecha usado en los correos

Cadena dd/mm/yyyy

HH:mm:ss

Configuración del destinatario

Para configurar el destinario se tiene que agregar al nodo Receptor del CFDI un atributo

llamado correoElectronico que NO aparecerá en el CFDI timbrado, ya que su uso es solamente

para el envío del correo.

15.2 Ejecución

Para iniciar el MailSender es necesario ejecutar el archivo "mail-sender" que se encuentra en

la carpeta bin dentro de la instalación del MailSender:

Page 62: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 62

1. Al iniciar el MailSender se le pedirá la contraseña del servidor de correos y se

procederá a hacer una prueba de conexión con los datos proporcionados.

a. En caso de no ingresar correctamente la contraseña se mostrará un mensaje

indicando que hubo un error y se detendrá el mail sender.

2. Se procesarán los archivos encontrados dentro de la carpeta "signed.cfdis.directory" y

se mostrará información acerca de los tipos de archivos encontrados.

3. Se leen los archivos "base" (XML sin sello o TXT) en donde se encuentran las

direcciones de correos a los cuales se enviarán los CFDIs.

a. Los nombres de losarchivos XML del cfdi timbrado y PDF deberán contener al

inicio el nombre del archivo base, por ejemplo: si el archivo base se llama

“DST_3030.txt” entonces el cfdi timbrado deberá llamarse

“DST_3030_LOQUESEA.xml”.

4. Se buscan los archivos requeridos para el envió: XML del CFDI timbrado y PDF(si se

estableció como requerido en la configuración)

a. Si la propiedad “mail.pdf.required” tiene un valor “true” y no se encuentra el

pdf del CFDI que se está procesando, él envió no se realizará y los archivos

serán movidos a la carpeta cfdiNotSent.

5. Se hace una prueba de conexión del servidor de correos.

a. Si el servidor de correos no responde, el mail sender intentará conectarse el

número de veces definido en “number.connection.retries” usando el tiempo

definido en “mail.time.between.send” entre cada intento. Si se alcanza el

número máximo de intentos de conexión sin éxito, el mail sender se detendrá.

6. Se envían los CFDIS a los destinatarios.

a. En caso de que la dirección de correo del destinario no sea una dirección

válida, él envió no se realizará y los archivos serán movidos a la carpeta

cfdiNotSent.

Page 63: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 63

b. Si al momento del envió no se tiene respuesta por parte del servidor de

correos, se procederá a esperar el tiempo definido en

“mail.time.between.send” y se reintentará enviar de nuevo el correo, hasta

que sea posible enviarlo.

7. Se mueven los archivos involucrados (Archivo base, XML sellado y PDF) a las carpetas

correspondientes.

a. Los archivos enviados correctamente se moverán a la carpeta cfdiSent

b. Los archivos que no fueron enviados por algún error se moverán a la carpeta

cfdiNotSent. La razón del problema con el envío se escribirá en el archivo

“SendMail_log”

8. Se espera el tiempo establecido (mail.time.between.send) entre envíos y se reinicia el

proceso de envío.

15.3 Errores

Como se mencionó anteriormente en el archivo SendMail_log se encuentra detallado las

causas de problemas con envíos de correos, a continuación se mencionan algunos de los

problemas más comunes y su posible solución:

Mensaje de error Causa Solución

No se pudo localizar el

servidor de correos, revise la

url

Alguno de los datos de la

configuración del servidor de

correos es inválido.

Verificar que las propiedades

mail.host, mail.port,

mail.userName y

mal.smtp.starttls.enable

tenga los valores correctos

para realizar la conexión

Error a leer la carpeta El valor de la propiedad

signed.cfdis.directory no es

válido

Verificar que exista la

dirección especificada en signed.cfdis.directory y que el

mail_sender tenga permisos de

lectura para dicha carpeta.

Ocurrió un error al leer el

archivo:

No se encontró el archivo

mencionado.

El archivo mencionado no

tiene un formato válido o

está corrupto.

Verificar que el archivo

mencionado existe en la

carpeta definida en

“signed.cfdis.directory”

No se encontró el archivo:,

No se encontraron los

No se encontraron los

archivos requeridos para el

Verificar que se encuentren

los archivos requeridos para

Page 64: MANUAL DE USUARIO CONECTOR - insigna.mx Tipos de CFDI ... o  Soporte ilimitado para criptografía en Java

Página | 64

archivos: envío el envío XML timbrado y PDF

en caso de que se haya

definido como requerido.

Verificar que el nombre de

los archivos inicia con el

nombre del archivo base.

Por favor, verifique la

escritura de emails.

Las direcciones de envío no

son válidas

Verificar que esté bien

escrita la dirección de correo

electrónica.

17. Glosario

CFDI: Comprobante Fiscal Digital por Internet.

CSV: Tipo de documento en formato abierto sencillo para representar datos en forma de tabla.

FIEL: Firma Electrónica Avanzada.

CSD: Certificado de Sello Digital.

IP: Etiqueta numérica que identifica, de manera lógica y jerárquica, a una interfaz de un dispositivo.

PAC: Proveedor Autorizado de Certificación.

PDF: Formato de documento portátil.

SMTP: Simple Mail Transfer Protocol.

TCP: Transmission Control Protocol.

Timbrar: Procedimiento que legaliza los documentos necesarios para respaldar las diferentes operaciones que los contribuyentes realizan al llevar a cabo sus actividades económicas.

Web Service: Servicio que permite intercambiar información entre aplicaciones

mediante el uso de la red o internet.

XML: Extensible Markup Language.