Página 1 de 1

Duda con el nodo (o nodos) de Complemento

Publicado: Jue Mar 01, 2018 2:49 pm
por rafuru
Buen dia!

Estaba mirando la documentacion del CFDI 3.3 y en el nodo de CFDI:Complemento indica una cardinalidad 0..n .

Esto significa que pueden haber n nodos de complemento en un comprobante. Lo cual me lleva a la siguiente pregunta:

Se debe agregar un nodo Complemento por cada complemento o se deben agregar todos los complementos a un solo nodo complemento.

Un ejemplo muy simple es cuando tienes el complemento de nomina , el complemento TFD (una vez timbrado el comprobante) deberia ir en un nodo independiente de Complemento o se agrega al mismo nodo complemento donde esta el de nomina.

Re: Duda con el nodo (o nodos) de Complemento

Publicado: Jue Mar 01, 2018 2:55 pm
por Dado
Es un solo nodo complemento padre con 1 o varios complementos hijo (y debe forzosamente llevar al menos uno......el del timbre fiscal)

Por ejemplo asi (ilustrativo, los nombres no son los reales que deben ser)

Código: Seleccionar todo

<Complemento>
	<Complemento INE/>
	<Complemento Detallista/>
	<TimbreFiscal/>
</Complemento>

Re: Duda con el nodo (o nodos) de Complemento

Publicado: Jue Mar 01, 2018 2:59 pm
por rafuru
Hmm al pasar por un sax parser (que valida la estructura con el XSD), un xml con varios nodos complemento ,éste no muestra un error. Por lo cual mientras valido ese xml deberia rechazar comprobantes que tengan mas de un nodo CFDI:Complemento, aun cuando el SAT lo permite y lo documenta de esa forma.

El sat siendo sat :lol:

Re: Duda con el nodo (o nodos) de Complemento

Publicado: Jue Mar 01, 2018 4:53 pm
por s3cr3to
rafuru escribió:...xml con varios nodos complemento... aun cuando el SAT lo permite y lo documenta de esa forma
Aunque un sax parser no falle, es correcto insertar varios nodos Complemento:

Código: Seleccionar todo

<cfdi:Comprobante>...
<cfdi:Complemento><tfd:TimbreFiscalDigital xmlns:tfd="".../></cfdi:Complemento>
<cfdi:Complemento><x:y.../></cfdi:Complemento>
</cfdi:Comprobante>
Porque el anexo dice "nodos complementarios":
Nodo opcional donde se incluye el complemento Timbre Fiscal Digital de manera
obligatoria y los nodos complementarios determinados por el SAT, de acuerdo con las
disposiciones particulares para un sector o actividad específica.

Código: Seleccionar todo

<cfdi:Complemento>
<nomina12:Nomina Version="1.2"...> ... </nomina12:Nomina>
<tfd:TimbreFiscalDigital xmlns:tfd=""... />
<ejemplo1:UnComplX />
<ejemplo2:OtroComplY />
</cfdi:Complemento>

Re: Duda con el nodo (o nodos) de Complemento

Publicado: Jue Mar 01, 2018 5:00 pm
por rafuru
s3cr3to escribió:
rafuru escribió:...xml con varios nodos complemento... aun cuando el SAT lo permite y lo documenta de esa forma
Aunque un sax parser no falle, es correcto insertar varios nodos Complemento:

Código: Seleccionar todo

<cfdi:Comprobante>...
<cfdi:Complemento><tfd:TimbreFiscalDigital xmlns:tfd="".../></cfdi:Complemento>
<cfdi:Complemento><x:y.../></cfdi:Complemento>
</cfdi:Comprobante>
Porque el anexo dice "nodos complementarios":
Nodo opcional donde se incluye el complemento Timbre Fiscal Digital de manera
obligatoria y los nodos complementarios determinados por el SAT, de acuerdo con las
disposiciones particulares para un sector o actividad específica.

Código: Seleccionar todo

<cfdi:Complemento>
<nomina12:Nomina Version="1.2"...> ... </nomina12:Nomina>
<tfd:TimbreFiscalDigital xmlns:tfd=""... />
<ejemplo1:UnComplX />
<ejemplo2:OtroComplY />
</cfdi:Complemento>
Es correcto insertar varios nodos complemento o quisiste decir incorrecto?

Entonces un comprobante con varios nodos complemento se considera tan válido como uno con todos los complementos en un solo nodo CFDI:Complemento? :|

Re: Duda con el nodo (o nodos) de Complemento

Publicado: Vie Mar 02, 2018 8:34 am
por s3cr3to
rafuru escribió:Es correcto insertar varios nodos complemento o quisiste decir incorrecto?|
Incorrecto (porque así lo dice el anexo 20) disculpa la aclaración-confusión. :oops:
También quise decir que algún parser podría no fallar con varios nodos Complemento, pero eso no lo hace correcto (anexo 20)
El primer ejemplo muestra el error con varios nodos Complemento.
El segundo ejemplo Un nodo Complemento con varios nodos complementarios.