Código de barras bidimensional (CBB)

Como ya todos sabemos dicho código fue definido por la autoridad (SAT) como un requerimiento en la representación impresa del CFDI, el cual debe contener los siguientes datos:

  1. RFC del emisor
  2. RFC del receptor
  3. Total (a 6 decimales fijos)
  4. Identificador único del timbre (UUID) asignado

BarCodeLibrary.dll es una DLL de Win32 que he desarrollado para poder generar el código de barras bidimensional (CBB) desde cualquier lenguaje de programación (Visual Basic, Visual FoxPro, Clarion, PowerBuilder, etc) y la cual expone 3 métodos para tal fin:

LibraryVersion

  • En realidad es una función que regresa una cadena de texto
  • No recibe ningún parámetro
  • Es usada para obtener la versión de la biblioteca

SetConfiguration

  • Es un método que permite configurar el tamaño y el tipo de archivo a generar.
  • Recibe dos parámetros, el primero se llama size y el según imageformat, los dos son de tipo entero.
  • Size es usado para determinar el tamaño del QR Code a generar, su valor recomendado es 4 y sus posibles valores son entre 4 y 6
  • Imageformat indica el tipo de imagen (archivo) a generar y sus posibles valores son: 0 para  BMP, 1 para JPG y 2 para PNG.
  • Por default estos valores son 4 para size y 0 para  Imageformat,

GenerateFile

  • Es el método más importante de la biblioteca, ya que es el encargado de genera el código de barras bidimensional o CBB como le decimos algunos.
  • Recibe dos parámetros: text que es el texto que va a contener el código y fileName que es el nombre y ruta del archivo que se va a generar, este nombre debe contener la extensión de acuerdo a lo definido en el método SetConfiguration.
  • Para su uso NO es necesario llamar previamente al método SetConfiguration

Como podemos ver es muy fácil usar dicha biblioteca, solo debemos importarla a nuestro lenguaje de programación favorito e invocar el método GenerateFile.

Para  finalizar pueden descarga el anexo 20 dando clic aquí y revisar la página 110 que es donde se da toda la especificación para el manejo de código de barras bidimenacional.

Hasta la próxima.

 

Electronic Document Library versión DLL Win32

Como todos ustedes ya sabrán estamos liberando una serie de herramientas que relacionadas con la factura electrónica, ya en días pasados comentamos la primera de ellas: Validador de certificados; hoy les traemos la segunda.

Electronic Document Library versión DLL Win32; ésta ha sido una de las cosas que más nos han requerido los desarrolladores en todo el tiempo de vida de la biblioteca; y ese precisamente es el origen de este proyecto, dar respuesta a todas esas solicitudes y permitir que mas desarrolladores disfruten de los beneficios que ofrece la biblioteca.

sabemos que un anuncio como este trae una avalancha de dudas que esperamos poder solucionar a continuación:

¿Desde que lenguajes podrá ser usada dicha versión?

Al ser una DLL podrá ser invocada desde cualquier lenguaje de programación, incluyendo los ya soportados C# y Delphi.

¿Dejaran de existir las versión de Dot Net (C#, VB .Net, etc) y Delphi?

No, la idea es continuar manteniendo las 3 versiones; este nuevo proyecto nace como una respuesta a las solicitudes de muchos programadores por usar la biblioteca en su lenguaje favorito; las otras dos versiones se seguirán manteniendo porque la idea es mantener el soporte nativo de la biblioteca en dicho lenguajes.

¿Viene preparada para ser usada en algún lenguaje en específico?

Si, se tiene contemplado implementar todos los ejemplos que ya existen en los siguientes lenguajes de programación, quedando la DLL lista para ser usada en dichos lenguajes:

  • Visual Basic
  • Visual Fox Pro
  • PowerBuilder

¿Y puedo usarla en otros lenguajes de programación?

Si lo puedes hacer, solamente que la incorporación al mismo la debes de hacer tu; pero no te preocupes con gusto te estaré apoyando.

¿Y qué tan fácil es de usar?

Desde nuestro punto de vista, creemos que es muy sencilla de usar, ya que son muy pocos los métodos que expone dicha DLL, esto debido a la arquitectura que proponemos para su uso; cuando estábamos gestando el proyecto fue uno de los puntos que más se analizo: la facilidad de uso; como podrán constatar en los otros proyecto que hemos publicado, siempre nos preocupamos por facilitarle mucho las cosas al desarrollador.

¿Y va a contener la misma funcionalidad que las otras versiones?

La respuesta es no y si; no porque en este momento va ser liberada con casi toda la funcionalidad y si porque en futuras versiones se incorporaría la funcionalidad necesaria para igualar los otros proyectos.

¿Y cuándo será liberada?

Esperamos en 2 o 3 semanas estar liberando una versión BETA de la misma.

¿Y cuánto va a costar?

Ponte en contacto con nosotros para darte mas información.

Nos gustaría comentar algunos aspectos técnicos de proyecto:

  1. Es una DLL de 32 Bits
  2. Contiene las de 10,000 lco escritas en ensamblador
  3. Son aproximadamente 8  los métodos que se exponen.

De nuestra parte es todo, esperamos pronto traerles nuevas noticias.

Validador de certificados

Justamente ayer, escribimos este post, en donde anuncia la liberación de varias herramientas que les ayudará en este mundo de la factura electrónica; así que hoy nos hemos dedicado a mostrarles la primera de ellas.

El validador de certificados es un software que desarrollamos hace ya algún tiempo y que ha sido de gran ayuda a las empresas.

Es típico el caso en donde le pides a un usuario el certificado de sello para poder generar los comprobantes (CFD y CFDI) y te entregan un certificado de FIEL ó te entregan el certificado de sello pero te dan el password de la llave privada de la FIEL y es en este tipo de cosas en donde entra en acción este validador, ya que nos permite saber a ciencia cierta si con los archivo que te dio el usuario se pueden generar comprobantes.

Algunos de ustedes se preguntarán en que se basa la herramienta para decidir esto, fácil, se basa en ciertos requerimientos que debe cumplir el certificado de sello y su llave privada y para eso la aplicación realiza las siguiente operaciones:

  1. Se valida que el certificado, realmente sea un certificado y corresponda con el estándar correspondiente.
  2. Se valida que la llave privada, realmente sea una llave privada y corresponda con el estándar correspondiente.
  3. Se valida que el password de la llave privada sea el correcto.
  4. Se valida que la llave privada y el certificado correspondan.
  5. Se valida que el RFC del emisor cumpla con la estructura definida por el SAT.
  6. Se valida que el certificado fue emitido por el SAT.
  7. Se valida que el certificado sea un certificado de sello.
  8. Se valida que el certificado pertenezca a la empresa que va a emitir el comprobante.

Como pueden ver  son varias las  validaciones que se deben realizar a un certificado antes de poder ser usado en la generación de un comprobante (CFD y CFDI)  y es ahí donde radica la importancia de la herramienta, ya que te evita usar un certificado incorrecto en el proceso de generación, ya que si lo llegarás a hacer, estarías emitiendo comprobantes apócrifos.

Adicional a esto la herramienta cuenta con dos características, que considero claves en su uso:

Es muy fácil de usar, sólo debemos indicar 4 datos:

  1. El Certificado (archivo con extensión cer)
  2. La Llave privada (archivo con extensión key)
  3. Password de la llave privada
  4. RFC del emisor

Es un solo ejecutable muy pequeño (920 KB) que no requiere nada extra.

Para ejecutar la validación solo debemos indicar los datos, comentados previamente y luego dar clic en el botón validar y si existe un error, la aplicación nos mostrara un mensaje indicando el error.

En caso de que todo sea correcto, la aplicación nos mostrará el siguiente mensaje.

Validación de un certificado de sello
Validación de un certificado de sello

Finalmente queremos agregar que existen dos validaciones que no ejecuta la aplicación:

  1. No verifica si esta revocado el certificado.
  2. No verifica si el certificado está en la lista de contribuyentes obligados (LCO)

Estas validaciones serán agregadas en una próxima versión.

Para descargar la aplicación pueden dar clic aquí.

Hasta la próxima.

Nuevas herramientas

Escribimos para traerles buenas noticias, se trata de tres herramientas que hemos creado y que estamos seguros les va a ser muy útil a todos ustedes, no queremos adelantar mucho del tema, pero les puedo decir que están orientadas al tema de comprobantes fiscales digitales, que son algo que muchos de ustedes ha pedido y lo mejor de todo serán totalmente gratuitas.

Así que ya saben, estén al pendiente porque muy pronto estarémos contándoles  de cada una de ellas.

Hasta la próxima.

Electronic Document Library. ¿Librería o biblioteca?

Hace algunos días hablando con AL González, un excelente desarrollador y muy buen colega, nos hizo ver el error que comúnmente cometemos al hacer la traducción de un vocablo inglés, en este caso la plática se centro en la incorrecta traducción de la palabra Library, la cual  tradujimos como librería.

Este caso es lo que se conoce como falso amigo: “Un falso amigo es una palabra de otros idiomas que se parece, en la escritura o en la pronunciación, a una palabra en la lengua materna del hablante, pero que tiene un significado diferente.”

Para mayor referencia pueden leer esto.

Ahora bien, la pregunta del millón es: ¿Cuál es la traducción correcta en este caso? y la respuesta es: Biblioteca.

Para nosotros fue una gran sorpresa cuando descubrimos  nuestro gran error y aunque sé que muchos de ustedes ya lo sabían, quisimos publicar este post por si alguien más estaba en el mismo error.

Ahora que ya lo sabemos, esperamos en un futuro no muy lejano estar haciendo las correcciones respectivas en el sitio, foro, blog y todo lo relacionado con el proyecto para que use la palabra correcta.

Hasta la próxima.

Liberación 2011.06.16

Es motivo de alegría para nosotros liberar esta nueva versión de la biblioteca en su versión de Delphi; ha sido mucho el trabajo y tiempo invertido para poder lograrlo, pero hemos podido alcanzar el objetivo y ahí está el resultado.

Esta versión trae la conexión con un PAC y los respectivos ejemplos de cómo lograrlo de forma rápida y sencilla.

El PAC con el que se integra es Facuraxion, el mismo con el que se integra la versión en C# y el cual ya varios usuarios están usando para timbrar.

Si tienen alguna duda o pregunta acerca de cómo pueden integrarse con él mismo, pueden enviarnos un correo a la cuenta de soporte y con gusto los estarémos apoyando.

Otro punto fue que eliminamos el soporte para Delphi XE, ya que se están presentando problemas con esa versión de Delphi, colmo recordarán dicha versión se estaba soportando en forma BETA, esperamos en una futura liberación incluirla.

De nuestra parte es todo, esperamos disfruten esta nueva versión.

Versión para C#

Versión para Delphi

Saludos

Web service del SAT

Si lo que estas buscando es referente al Webservice para la descarga del archivo XML de tus facturas del servidor del SAT, te invitamos a que conozcas acerca de este tema, dando clic en la siguiente liga:

Webservice para descargar XML del SAT

Uno de nuestros visitantes al blog nos  escribió esto:

“…referente al web service público que el SAT tiene, según mis investigaciones en los foros si lo tiene pero no hay mucha información al respecto, al parecer solos los PAC tiene esta información que el SAT les pasa como un Development Kit o algo así, si esto es cierto tienes planeado sacar un DLL para conectarse directo a los WS del SAT?”

Inicialmente queríamos responderle directamente, pero creo que es una mejor idea si lo creamos con un post, asi todos podrán ver la repsuesta.

Actualmente el SAT tiene 2 web service publicados para el tema del CFDI:

Recepción del CFDI.

  • Fue creado para que el PAC le envíe el CFDI una vez generado
  • Este envío debe realizarlo en un tiempo menos a 1 hora una vez ha sido generado el CFDI, si pasa dicho tiempo si es recibido, pero es recibido como extemporáneo.
  • Para consumir dicho web service es necesario contar un certificado expedido por el SAT y que le es entregado a cada PAC una vez que ha superado el proceso de certificación.
  • El envío de dichos archivo al SAT es una obligación del PAC al SAT; no es una ventaja que te ofrezcan, ni un beneficio, como muchos nos lo quieren vender, ya que ellos adquirieron esa obligación en el momento que se certificaron.

Recepción de la cancelación

  • Este web service fue creado por el SAT para la recepción de la notificación de cancelación de un CFDI.
  • En este caso no es una obligación por parte del PAC ofrecer dicho servicio, ya que existen diferentes mecanismos para llevarlo a cabo, uno de ellos es ingresar a la página del SAT y realizar la cancelación de forma manual.
  • Si un PAC nos ofrece este servicio a través de algún medio, entonces si nos está dando un valor agregado.
  • Para consumir dicho web service es necesario contar un certificado expedido por el SAT y que le es entregado a cada PAC una vez que ha superado el proceso de certificación.

Viendo todo lo anterior podríamos concluir:

  1. La existencia de dichos web service no es un mito ni una especulación, existen y están funcionando.
  2. Las únicas personas que tienen permitido consumirlo son los Proveedores Autorizados de Certificación o PAC, ya que los certificados para esto son creados exclusivamente para los ellos.
  3. El primero web service no tiene sentido para nosotros como desarrolladores, ya que es para que los PAC cumplan con sus obligaciones.
  4. El único web service que tiene sentido consumir desde es el de cancelación.

Como bien saben hemos integrado la librería con PAC, el cual tiene previsto en un futuro cercano ofrecer en su web service la posibilidad de cancelar los CFDI, en el momento que esté disponible integrare la cancelación para que de forma transparente y automática puedan realizado.

Como habrán podido notar, siempre hemos tratado de integrar en la librería todo lo que está disponible para el CFD y CFDI, y este caso no va a ser la excepción; así que si la autoridad llegase a liberar el web service de cancelación para que podamos consumirlo, tenlo por seguro que lo estaremos integrando en las 3 versiones de la librería : Dot Net (C#, VB.Net, etc), Delphi y la DLL.

Hasta la próxima.

Liberación 2011.04.27

Hace algunos días liberamos una versión de la librería, para C#, que incluía la integración con un PAC, esta integración es de forma trasparente; fueron varios los usuarios que se pusieron directamente en contacto con nosotros ya que no existía un ejemplo de cómo lograrlo; pues bien el día de hoy hemos agregado un ejemplo a la generación del CFDI en donde se demuestra cómo realizar la conexión con el PAC y como generar el CFDI con el timbre ya incluido.

Y ya saben, si tienen inquietudes, no duden en escribirnos en el foro.

El siguiente paso es implementar la misma funcionalidad pero en la versión de Delphi.

Que la disfruten.

Versión para C#

Versión para Delphi

Liberación 2011.04.23

Es un placer para nosotros darles a conocer esta nueva versión de la librería en donde se han realizado cambios muy importantes, como la conexión directa con un PAC, en esta oportunidad se ha implementado con la gente de Facturaxion; la funcionalidad generada hace que la obtención del timbre fiscal sea sencilla y sin ningún tipo de complicación.

De igual forma se ha liberado la generación del complemento Detallista, que era el único complemento que faltaba por implementar en la versión de C#, ya que en la versión de Delphi hace días ya estaba incluido.

En la versión de Delphi el cambio más importante ha sido el soporte para la versión de Delphi XE.

Como siempre, los invitamos a descargar la última versión y leer el historial de cambios ya que se realizaron bastantes cambios, mejoras y correcciones.

Versión para C#

Versión para Delphi