La incompetencia del SAT a su maxima expresion ........
Hay una importante diferencia de la definicion de la Cadena Original para los CFDI.
El Anexo 20 dice :
Note que el orden definido ahi es en este orden estricto VERSION....FECHA....TIPO DE COMPROBANTE...etc
Ahora, en el archivo publicado llamado cadenaoriginal_3_0.xslt que es el usado por sistemas automatizados para la generacion de la cadena dice :
Y dice que el orden es en este estricto orden VERSION....SERIE.....FOLIO....FECHA....etc<xsl:template match="cfdi:Comprobante">
<!-- Iniciamos el tratamiento de los atributos de comprobante -->
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@version"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@serie"/>
</xsl:call-template>
<xsl:call-template name="Opcional">
<xsl:with-param name="valor" select="./@folio"/>
</xsl:call-template>
<xsl:call-template name="Requerido">
<xsl:with-param name="valor" select="./@fecha"/>
ENTONCES ??? La Cadena Original debe llevar o no SERIE y FOLIO.
En el Anexo 20 quiero entender que NO LO LLEVA YA QUE NI SIQUIERA LO MENCIONA.
Pero el XSLT dice que SI DEBE LLEVARLO, CLARO SIEMPRE Y CUANDO EXISTA ESE DATO.
RESUMEN : Me declaro incompetente a terminar el ValidaCFD para comprobantes Version 3, la verdad mejor me espero a que haya mas ejemplos y esperar aver si el SAT resuelve este problema.