Caracteres especiales

El carácter apostrofe

Como todos saben existen ciertos caracteres que no se pueden representar directamente en XML , deben ser codificados; el SAT en el anexo 20 ha establecido como deben se codificados:

En particular se deberá tener cuidado de que aquellos casos especiales que se presenten en los valores especificados dentro de los atributos del archivo XML como aquellos que usan el carácter &, el carácter “, el carácter ‘, el carácter < y el carácter > que requieren del uso de secuencias de escape.

■       En el caso del & se deberá usar la secuencia &amp;

■       En el caso del “ se deberá usar la secuencia &quot;

■       En el caso del < se deberá usar la secuencia &lt;

■       En el caso del > se deberá usar la secuencia &gt;

■       En el caso del ‘ se deberá usar la secuencia &apos;

Ejemplos:

Para representar nombre=“Juan & José & “Niño”” se usará nombre=”Juan &amp; José &amp; &quot;Niño&quot;”

Actualmente la librería ya contempla la codificación de casi todos los caracteres, menos el carácter apostrofe, el cual es totalmente válido en XML, este carácter podría usarse directamente en el XML a diferencia de los otros (< > “ &).

Algunos de nuestros lectores se preguntan cómo trata la librería dicho carácter cuando está contenido en alguna parte del XML, y la respuesta es, depende de la versión:

  • En la versión de C# es representado como apostrofe ( ‘ )
  • En la versión de Delphi es representado como &amp;apos;

Lo curioso de todo esto es que un XML generado de cualquiera de las dos formas es reportado como válido por el validador del SAT.

Ya modificamos la librería para que el XML salga como lo solicita el SAT y dicho carácter ( ‘ ) sea codificado cumpliendo el anexo 20; esto saldrá en la siguiente versión, que esperamos que sea la versión 2011.03.19.

Personalmente no estamos de acuerdo con la codificación de dicho carácter por dos motivos:

  • Es totalmente válido usarlo directamente en el XML, el validador del SAT ni otros validadores que he usado reporta problemas con este aspecto.
  • Afecta los tiempos de generación del CFD, ya que incrementa algunas milésimas de segundo el proceso, no es algo importante, pero soy fanático del  performance.

Es por eso que hemos dejado activada la codificación por default, pero se puede desactivar, esto a través de un parámetro.

 

El carácter asterisco (*)

Hace algunos días un usuario nos reporto que un CFD generado usando la librería y que contenida el carácter en cuestión marca como inválido en el validador del SAT; nosotros  que siempre estamos pendientes de cada problema, decidimos hacer nuestras pruebas y efectivamente, el problema reportado existía.

Decidimos  resolver el problema, hicimos una revisión profunda al código de la librería, pero no encontramos nada, entonces decidímos validar el CFD con otros validadores www.admincfd.com.mx y lo curioso fue que dichos validadores nos reportaron que el CFD estaba bien; en ese momento empezamos a sospechar que el problema no estaba en la librería, ni en el XML generado, el problema estaba en el validador del SAT.

Al día siguiente hablamos con mi contacto en el SAT para saber si el tenia algún reporte sobre el problema, nos indicio que no, que el XML debería ser validado correctamente, nos pidió que le enviáramos un ejemplo y él lo iba a ver con la gente de tecnología, entonces decidimos resolver este enigma, preparamos unos ejemplos y decidímos probarlo en el SAT y capturar las imágenes para demostrar que nos estaba reportando el validador, que sorpresa nos llevamos que ahora el validador nos decía que el CFD que contenía ( * ) y que nos había reportado mal, hace un tiempo atrás, ahora estaba bien; pensando que nosotros estaba haciendo algo mal, le pedímos a otras 3 personas que validaran el XML y que sorpresa nos llevamos cuando ellos nos reportaron que a ellos también se los estaba dando como valido.

Para nosotros este caso muere ahí, pero nos quedan ciertas dudas acerca de la efectividad del validador del SAT ya que no es la primera vez que escuchamos este tipo de historias, que para ser honestos es la primera vez que nos pasa.

 

Liberación 2010.12.22

Estimados usuarios de la librería, es para mi un gusto anunciar la liberación de una nueva versión, en esta versión se estuvo trabajando arduamente para la versión de Dot Net aunque también se hicieron algunas mejoras a la versión de Delphi.

Mi recomendación, como siempre, es que lean a detalle el archivo de historial de cambios.

Versión para C#

Versión para Delphi

Validador para CFDI

Para las personas que deseen validar su Comprobantes Fiscal Digital por Internet o CFDI por sus siglas, déjenos decirles que el SAT ha sacado un nuevo validador.

Al querer usarlo solicita el archivo XML y el certificado con el que se genero el sello el complemento timbre, es decir, el certificado del PAC. Esto es algo molesto, ya que siempre que quieras realizar esta tarea deberás contar con estos dos archivos.

Alguien podrá decir que es redundante validar un CFDI, pero déjeme decirles que es algo que preferimos hacer por tranquilidad, nadie es infalible y por mas que existan contratos, leyes, etc prefiero estar seguro de que dicho documento es correcto.

Ahora si como dice el dicho, hombre prevenido vale por 2.

Validador de CFDI

El Primer Prestador Autorizado de Certificación (PAC – CFDI)

Así es señores, hoy 16 de diciembre del 2010 a las 7 pm fue autorizado el primer PAC y la empresa es EDICOM.

Es una gran noticia, ya que creíamos que este año íbamos a terminar sin PAC y fue una gran sorpresa, por eso queremos desde este humilde lugar felicitar al SAT y a EDICOM por este logro.

El siguiente paso es averiguar cuales son las condiciones comerciales que tiene planeada esta empresa para las personas que deseen optar por esta alternativa y cuales son los protocolos, esquemas, medios, etc para poder generar un CDI desde nuestras aplicaciones.

Desconocemos de momento esta información, pero les aseguramos que ya estamos investigando; lo que si podemos prometer es que estarémos implementado, en la librería, la comunicación con este PAC y con cualquier otro.

Ahora bien, y ¿que sigue?, pues deberían salir mas y mas empresas para que se creen un ambiente competitivo en donde los usuarios nos veamos beneficiados, ya que somos creyentes de la ley de la oferta y la demanda y estamos convencidos que a mayor competencia mayores serán lo beneficios que tendremos como contribuyentes.

Seguimos en contacto.

Listado de PAC