Inicio  |  Timbrado  |  2.1. Librerias  |  2.1.1. Documentación DLL's   |  2.1.1.1. DLL Timbrado API Doc
La LCO fue actualizada por última vez el 30/sep/2022

DLL Timbrado API Doc

Para hacer uso de estos métodos en su proyecto solo tiene que agregar la libreria dll_timbrado_1.8.4.2.zip para saber como agregarla porfavor siga este enlace: 2.5.1.1. Documentación DLL's .

ProgID SF.timbrar

Métodos principales:

String cancelar(String user, String pass, String pathToDerCertCSD, String pathToDerKeyCSD, String contrasenaKey, String UUIDs, int produccion)
Cancela un CFD o CFDI.
String enviarSolicitudCancelacion(String user, String pass, String rutaSolicitud (xml), int produccion)
Envia una solicitud de cancelación según el estándar definido en el Anexo 20 de la Resolución Miscelánea Fiscal (RMF) para 2012.
String recibe(String user, String pass, rfcReceptor, String pathToCFDI, String configuraciones, int produccion)
Recibe un CFD o CFDI, lo valida y, en caso de que pase todas las validaciones configuradas en la implementación, se almacena y devuelve un acuse de recibo.
String timbrarCFDI(String user, String pass, String pathToCFDI, int produccion)
Timbra un CFDI.
String timbrarCFD(String user, String pass, pathCFD, pathToDerCertCSD, pathToDerKeyCSD, String contrasenaCSD, int produccion)
Recibe un CFD, lo timbra.
String validar(String user, String pass, rfcReceptor, String pathToCFDI, String configuraciones, int produccion)
Recibe un CFD o CFDI, lo valida.

Métodos complementarios:

String enviarSolicitudCancelacionBase64(String user, String pass, String base64Data, int produccion)
Envia una solicitud de cancelación según el estándar definido en el Anexo 20 de la Resolución Miscelánea Fiscal (RMF) para 2012.
String cancelarWriteResponse(String user, String pass, String pathToDerCertCSD, String pathToDerKeyCSD, String contrasenaKey, String UUIDs, String pathToWrite, int produccion)
Cancela un CFDI o CFD y escribe la respuesta recibida en un archivo .xml.
String enviarSolicitudCancelacionWriteResponse(String user, String pass, String base64Data, int produccion)
Envia una solicitud de cancelación según el estándar definido en el Anexo 20 de la Resolución Miscelánea Fiscal (RMF) para 2012.
String enviarSolicitudCancelacionWriteResponseBase64(String user, String pass, String base64Data, int produccion)
Envia una solicitud de cancelación según el estándar definido en el Anexo 20 de la Resolución Miscelánea Fiscal (RMF) para 2012.
String timbrarCFDIWriteResponse(String user, String pass, String pathToCFDI, String pathToWrite, int produccion)
Timbra un CFDI y escribe la respuesta recibida en un archivo .xml.
String timbrarCFDWriteResponse(String user, String pass, pathCFD, pathToDerCertCSD, pathToDerKeyCSD, String contrasenaCSD, String pathToWrite, int produccion)
Recibe un CFD, lo timbra y escribe la respuesta recibida en un archivo .xml

Descripción detallada de los métodos

cancelar

String cancelar(String user, 
                String pass, 
                String pathToDerCertCSD, 
                String pathToDerKeyCSD, 
                String contrasenaCSD, 
                String UUIDs, 
                int  produccion)
            
Cancela un comprobante dado y regresa un String con la respuesta del servidor en formato XML.
Parámetros:
String user - El nombre de usuario (usualmente un email) que se usa para autenticarse y conectarse a su implementación.
String pass - La contraseña de usuario.
String pathToDerCertCSD - Ruta a el archivo certificado (archivo .cer).
String pathToDerKeyCSD - Ruta a la llave del certificado (archivo .key).
String contrasenaCSD - Contraseña del certificado.
String UUIDs - Cadena de cancelación que especifique el UUID del CFDI a cancelar, la clave del motivo de cancelación y el UUID que sustituye al documento a cancelar. Si es más de una cadena deben ir separados por comas, todos en el mismo string. En el formato: UUID|Motivo|UuidSustitucion
int produccion - Solo se aceptan los valores: 1 y 0. Indica el servidor a donde se va a hacer la petición;
0=TESTING
1=PRODUCCION
Returns:
Un String que contiene la respuesta en formato XML codificado.
Ejemplo de respuesta
Descargar este ejemplo: Cancelar_Response.zip

timbrarCFDI

String timbrarCFDI(String user, 
                    String pass, 
                    String pathToCFDI, 
                    int produccion) 
            
Timbra un CFDI dado y regresa un String con la respuesta del servidor en formato XML codificado.
Parámetros:
String user - El nombre de usuario (usualmente un email) que se usa para autenticarse y conectarse a su implementación.
String pass - La contraseña de usuario.
String pathToCFDI - Ruta a el archivo CFDI a timbrar.
int produccion - Solo se aceptan los valores: 1 y 0. Indica el servidor a donde se va a hacer la petición;
0=TESTING
1=PRODUCCION
Returns:
Un String que contiene la respuesta en formato XML.
Ejemplo de respuesta
Descargar este ejemplo: CFDI_Response.zip

timbrarCFD

String timbrarCFD(String user, 
                String pass,
                String pathCFD,
                String pathToDerCertCSD,
                String pathToDerKeyCSD,
                String contrasenaCSD,
                int produccion)
            
Recibe un CFD o CFDI sin sello, lo sella con el CSD proporcionado y lo Timbra. Regresa un String con la respuesta del servidor en formato XML codificado.
Parámetros:
String user - El nombre de usuario (usualmente un email) que se usa para autenticarse y conectarse a su implementación.
String pass - La contraseña de usuario.
String pathCFD - Ruta a el archivo CFD a timbrar.
String pathCert - Ruta a el archivo certificado (archivo .cer).
String pathKey - Ruta a la llave del certificado (archivo .key).
String contrasenaCSD - Contraseña del certificado.
int produccion - Solo se aceptan los valores: 1 y 0. Indica el servidor a donde se va a hacer la petición;
0=TESTING
1=PRODUCCION
Returns:
Un String que contiene la respuesta en formato XML.
Ejemplo de respuesta
Descargar este ejemplo: response.timbrarcfd.zip

timbrarCFDWriteResponse

String timbrarCFD(String user, 
                    String pass,
                    String pathCFD,
                    String pathToDerCertCSD,
                    String pathToDerKeyCSD,
                    String contrasenaCSD,
                    String pathToWrite,
                    int produccion)
            
Recibe un CFD o CFDI sin sello, lo sella con el CSD proporcionado y lo Timbra. Escribe la respuesta del servidor en formato XML codificado en UTF-8, regresa la ruta y el nombre con el que se genero el archivo. El nombre del archivo seguira el siguiente formato: CFDI_Response_UUID.xml. Ejemplo: CFDI_Response_44D1222C-F5D5-47B0-A30E-D011F651FEC2.xml
Parámetros:
String user - El nombre de usuario (usualmente un email) que se usa para autenticarse y conectarse a su implementación.
String pass - La contraseña de usuario.
String pathCFD - Ruta a el archivo CFD a timbrar.
String pathCert - Ruta a el archivo certificado (archivo .cer).
String pathKey - Ruta a la llave del certificado (archivo .key).
String contrasenaCSD - Contraseña del certificado.
String pathToWrite - Ruta de el directorio donde se almacenaró el archivo .xlm con la respuesta generada.
int produccion - Solo se aceptan los valores: 1 y 0. Indica el servidor a donde se va a hacer la petición;
0=TESTING
1=PRODUCCION
Returns:
Un String que contiene la ruta completa donde se almacenó el archivo, incluyendo el nombre de este.

cancelarWriteResponse

String cancelar(String user, 
                String pass, 
                String pathToDerCertCSD, 
                String pathToDerKeyCSD, 
                String contrasenaKey, 
                String UUIDs, 
                String pathToWrite,
                int  produccion)
            
Cancela un comprobante dado y escribe la respuesta del servidor en formato XML codificado en UTF-8, regresa la ruta y el nombre con el que se genero el archivo. El nombre del archivo seguira el siguiente formato: Cancelar_Response_UUID.xml. Ejemplo: Cancelar_Response_44D1222C-F5D5-47B0-A30E-D011F651FEC2.xml
Parámetros:
String user - El nombre de usuario (usualmente un email) que se usa para autenticarse y conectarse a su implementación.
String pass - La contraseña de usuario.
String pathToDerCertCSD - Ruta a el archivo certificado (archivo .cer).
String pathToDerKeyCSD - Ruta a la llave del certificado (archivo .key).
String contrasenaKey - Contraseña del certificado.
String UUIDs - Cadena de cancelación que especifique el UUID del CFDI a cancelar, la clave del motivo de cancelación y el UUID que sustituye al documento a cancelar. Si es más de una cadena deben ir separados por comas, todos en el mismo string. En el formato: UUID|Motivo|UuidSustitucion
String pathToWrite, - Ruta de el directorio donde se almacenará el archivo .xlm con la respuesta generada.
int produccion - Solo se aceptan los valores: 1 y 0. Indica el servidor a donde se va a hacer la petición;
0=TESTING
1=PRODUCCION
Returns:
Un String que contiene la ruta completa donde se almacenó el archivo, incluyendo el nombre de este.

timbrarCFDIWriteResponse

String timbrarCFDI(String user, 
                    String pass, 
                    String pathToCFDI,
                    String pathToWrite,
                    int produccion) 
            
Timbra un CFD dado y escribe la respuesta del servidor en formato XML codificado en UTF-8, regresa la ruta y el nombre con el que se genero el archivo. El nombre del archivo seguira el siguiente formato: CFDI_Response_UUID.xml. Ejemplo: CFDI_Response_44D1222C-F5D5-47B0-A30E-D011F651FEC2.xml
Parámetros:
String user - El nombre de usuario (usualmente un email) que se usa para autenticarse y conectarse a su implementación.
String pass - La contraseña de usuario.
String pathToCFDI - Ruta a el archivo CFDI a timbrar.
int produccion - Solo se aceptan los valores: 1 y 0. Indica el servidor a donde se va a hacer la petición;
0=TESTING
1=PRODUCCION
Returns:
Un String que contiene la ruta completa donde se almacenó el archivo, incluyendo el nombre de este.

validar

String validar(String user, 
              String pass, 
              String rfcReceptor,
              String configuraciones,
              String pathToCFDI,
              int produccion) 
            
Recibe un CFD o CFDI, lo valida y retorna una respuesta que indica el resultado de la validación.
Parámetros:
String user - El nombre de usuario (usualmente un email) que se usa para autenticarse y conectarse a su implementación.
String pass - La contraseña de usuario.
String rfcReceptor -RFC del receptor a quién están dirigidos los comprobantes. Este mismo debe corresponder a un emisor de la implementación (puede no existir y registrarse si el usuario tiene permiso para hacerlo).
String configuraciones - Arreglo de objetos de tipo Configuracion que tienen el propósito de especificar las configuraciones específicas para la validación del comprobante que se está enviando. De no enviarse se tomará en cuenta las configuraciones aplicables al receptor del comprobante.
String pathToCFDI - Ruta a el archivo CFDI a validar.
int produccion - Solo se aceptan los valores: 1 y 0. Indica el servidor a donde se va a hacer la petición;
0=TESTING
1=PRODUCCION
Returns:
Un String xml que contiene la respuesta del Web Service.

recibe

String recibe(String user, 
              String pass, 
              String rfcReceptor,
              String configuraciones,
              String pathToCFDI,
              int produccion) 
            
Recibe un CFD o CFDI, lo valida y, en caso de que pase todas las validaciones configuradas en la implementación, se almacena y devuelve un acuse de recibo.
Parámetros:
String user - El nombre de usuario (usualmente un email) que se usa para autenticarse y conectarse a su implementación.
String pass - La contraseña de usuario.
String rfcReceptor -RFC del receptor a quién están dirigidos los comprobantes. Este mismo debe corresponder a un emisor de la implementación (puede no existir y registrarse si el usuario tiene permiso para hacerlo).
String configuraciones - Arreglo de objetos de tipo Configuracion que tienen el propósito de especificar las configuraciones específicas para la validación del comprobante que se está enviando. De no enviarse se tomará en cuenta las configuraciones aplicables al receptor del comprobante.
String pathToCFDI - Ruta a el archivo CFDI a validar.
int produccion - Solo se aceptan los valores: 1 y 0. Indica el servidor a donde se va a hacer la petición;
0=TESTING
1=PRODUCCION
Returns:
Un String xml que contiene la respuesta del Web Service.

Configuraciones para recibe() y validar()

Las configuraciones deben ser especificadas en un solo string con la sintaxis codigo:valor,codigo:valor
ejemplo: ValidarAddendasSinNamespacePropio:false

Código Tipo Descripción
PorcentajeToleranciaAritmeticaSubtotalTotal Numérico Indica el porcentaje de margen de tolerancia que será aceptado para validar el total y subtotal del comprobante. Se representa en una escala de 0 a 100.
PorcentajeToleranciaAritmeticaImpuestos Numérico Indica el porcentaje de margen de tolerancia que será aceptado para validar los cálculos sobre los impuestos. Se representa en una escala de 0 a 100.
PorcentajeToleranciaAritmeticaConceptos Numérico Indica el porcentaje de margen de tolerancia que será aceptado para validar los cálculos en los conceptos. Se representa en una escala de 0 a 100.
ValidarAddendasSinNamespacePropio Boolean Indica si validar addendas en el comprobante que no tengan un namespace especificado.
ValidarAritmetica Boolean Indica si validar o no la aritmética del comprobante.
ValidarAddendasConNamespacePropio Boolean Indica si validar addendas en el comprobante que cuentan con un namespace especificado.
RechazarImporteTotalNegativo Boolean Indica si rechazar el comprobante por que tenga un importe total negativo (menor a 0).
ValidarSerie Boolean Indica si validar las aprobaciones de la serie del comprobante.


enviarSolicitudCancelacion

String enviarSolicitudCancelacion(String user, 
                                  String pass, 
                                  String rutaSolicitud (xml),
                                  int produccion) 
            
Envia una solicitud de cancelación según el estándar definido en el Anexo 20 de la Resolución Miscelánea Fiscal (RMF) para 2012 y devuelve la respuesta recibida en un string en lenguaje XML.
Parámetros:
String user - El nombre de usuario (usualmente un email) que se usa para autenticarse y conectarse a su implementación.
String pass - La contraseña de usuario.
String rutaSolicitud - Ruta a el archivo .xml que contiene la solicitud de cancelación.
int produccion - Solo se aceptan los valores: 1 y 0. Indica el servidor a donde se va a hacer la petición;
0=TESTING
1=PRODUCCION
Returns:
Un String xml que contiene la respuesta del Web Service.

enviarSolicitudCancelacionBase64

String enviarSolicitudCancelacionBase64(String user, 
                                        String pass, 
                                        String base64Data,
                                        int produccion) 
            
Envia una solicitud de cancelación según el estándar definido en el Anexo 20 de la Resolución Miscelánea Fiscal (RMF) para 2012 y devuelve la respuesta recibida en un string en lenguaje XML.
Parámetros:
String user - El nombre de usuario (usualmente un email) que se usa para autenticarse y conectarse a su implementación.
String pass - La contraseña de usuario.
String base64Data - Se espera la información de la solicitud de cancelación codificada en base64.
int produccion - Solo se aceptan los valores: 1 y 0. Indica el servidor a donde se va a hacer la petición;
0=TESTING
1=PRODUCCION
Returns:
Un String xml que contiene la respuesta del Web Service.

enviarSolicitudCancelacionWriteResponse

String enviarSolicitudCancelacionWriteResponse(String user, 
                                                String pass, 
                                                rutaSolicitud (xml),
                                                int produccion) 
            
Envia una solicitud de cancelación según el estándar definido en el Anexo 20 de la Resolución Miscelánea Fiscal (RMF) para 2012
Parámetros:
String user - El nombre de usuario (usualmente un email) que se usa para autenticarse y conectarse a su implementación.
String pass - La contraseña de usuario.
String rutaSolicitud - Ruta a el archivo .xml que contiene la solicitud de cancelación.
int produccion - Solo se aceptan los valores: 1 y 0. Indica el servidor a donde se va a hacer la petición;
0=TESTING
1=PRODUCCION
Returns:
Un String que contiene la ruta y el nombre del archivo donde se escribio la respuesta recibida.

enviarSolicitudCancelacionWriteResponseBase64

String enviarSolicitudCancelacionWriteResponseBase64(String user, 
                                                     String pass, 
                                                     String base64Data,
                                                     int produccion) 
            
Envia una solicitud de cancelación según el estándar definido en el Anexo 20 de la Resolución Miscelánea Fiscal (RMF) para 2012 y devuelve la respuesta recibida en un string en lenguaje XML.
Parámetros:
String user - El nombre de usuario (usualmente un email) que se usa para autenticarse y conectarse a su implementación.
String pass - La contraseña de usuario.
String base64Data - Se espera la información de la solicitud de cancelación codificada en base64.
int produccion - Solo se aceptan los valores: 1 y 0. Indica el servidor a donde se va a hacer la petición;
0=TESTING
1=PRODUCCION
Returns:
Un String que contiene la ruta y el nombre del archivo donde se escribio la respuesta recibida.

Ejemplo de solicitud cancelación de acuerdo al anexo 20

- Para la documentación sobre la solicitud de cancelación de la sección I inciso C y Sección II inciso C del Anexo 20 Consultar Estandar técnico.
- Para la especificación de cómo hacer la firma puede visitar el enlace externo: XML Signature Syntax and Processing.
- Para la validación de la firma puede visitar: Verificador de Firma digital XML.

Descargar ejemplo cancelación de CFDI 4.0

Descargar ejemplo de cancelación de Retenciones e información de Pagos 2.0

Motivos de cancelación:

Clave Descripción
01 Comprobante emitido con errores con relación.
02 Comprobante emitido con errores sin relación.
03 No se llevó a cabo la operación.
04 Operación nominativa relacionada en una factura global.

Cuando se seleccione la clave 01, se deberá habilitar un campo adicional para registrar el folio fiscal que sustituye al comprobante.

Consulte los códigos de respuesta aquí

Datos de contacto
comments powered by Disqus