
DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.
CARTA PORTE V3.1
ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03
.
Agregar Nodo Complemento
-
- Mensajes: 7
- Registrado: Lun Ago 05, 2013 5:06 pm
Agregar Nodo Complemento
Que tal colegas:
Es necesario incluir al XML en la version 3.2, el nodo de Complemento con las etiquetas de <selloCFD=""> <FechaTimbrado=""> <UUID=""> <noCertificadoSAT=""> <version="1.0"> <selloSAT="">
si es asi me podrian orientar un poco para agregarselo al XML ya creado..?
por aqui en este foro vi algo así:
XmlDocument docXML = new XmlDocument();
docXML.Load("Prueba.xml");
// Create an attribute and add it to the root element
docXML.DocumentElement.SetAttribute("sello", selloDigitalOriginal);
docXML.Save("Prueba.xml");
Si utilizo este mismo fragmento para agregar el complemento se agrega en el elemento principal que es <cfdi:Comprobante> y no en la de Complemento
¿Como podria indicarle el elemento y los Atributos?
de antemano muchas gracias..!
Es necesario incluir al XML en la version 3.2, el nodo de Complemento con las etiquetas de <selloCFD=""> <FechaTimbrado=""> <UUID=""> <noCertificadoSAT=""> <version="1.0"> <selloSAT="">
si es asi me podrian orientar un poco para agregarselo al XML ya creado..?
por aqui en este foro vi algo así:
XmlDocument docXML = new XmlDocument();
docXML.Load("Prueba.xml");
// Create an attribute and add it to the root element
docXML.DocumentElement.SetAttribute("sello", selloDigitalOriginal);
docXML.Save("Prueba.xml");
Si utilizo este mismo fragmento para agregar el complemento se agrega en el elemento principal que es <cfdi:Comprobante> y no en la de Complemento
¿Como podria indicarle el elemento y los Atributos?
de antemano muchas gracias..!
-
- Mensajes: 372
- Registrado: Mié Ago 11, 2010 1:55 am
- Ubicación: México, D.F.
- Contactar:
Re: Agregar Nodo Complemento
Compañero... estas un poco perdido... el complemente que mencionas forma parte del Timbre Fiscal que los PAC te tienen que agregar al momento de timbrar tu factura, tu solo construye un XML valido, mandalo a timbrar y si todo esta bien el PAC te regresa el mismo XML añadiendo el nodo Complemento con todo estos datos...
Saludos
Saludos
Todo lo que no es dado es perdido
-
- Mensajes: 7
- Registrado: Lun Ago 05, 2013 5:06 pm
Re: Agregar Nodo Complemento
En mi caso o tan solo con las pruebas que estoy haciendo con mi PAC "Solucion Factible"mauricio escribió:Compañero... estas un poco perdido... el complemente que mencionas forma parte del Timbre Fiscal que los PAC te tienen que agregar al momento de timbrar tu factura, tu solo construye un XML valido, mandalo a timbrar y si todo esta bien el PAC te regresa el mismo XML añadiendo el nodo Complemento con todo estos datos...
Saludos
me regresa lo siguiente:
Código: Seleccionar todo
<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns:timbrarResponse xmlns:ns="http://timbrado.ws.cfdi.solucionfactible.com">
<ns:return xmlns:ax23="http://timbrado.ws.cfdi.solucionfactible.com/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ax23:CFDICertificacion">
<ax23:status>200</ax23:status>
<ax23:mensaje>OK</ax23:mensaje>
<ax23:resultados xsi:type="ax23:CFDIResultadoCertificacion">
<ax23:cadenaOriginal>||1.0|A5148D79-626F-4213-AC34-263369F9C727|2011-05-16T16:43:04|j+sqQ/Md+hz8YSqLx5XNpRREgpqZjJL9jA/KUSK+LZIo30Ml93A5May6yEQEw6KVz1Z8ap2DYBfZc+oN5lgMoshYQqxtNQUmjSMOuV9AWAksLMjOegDZrMuh7rNo1pdWlymUezOBA2pko19zjE6Vrobdsnn596d8fNwd7geUxxM=|30001000000100000801||</ax23:cadenaOriginal>
<ax23:certificadoSAT>30001000000100000801</ax23:certificadoSAT>
<ax23:cfdiTimbrado>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0eHhNPSI+PGNm . . . ZGk6RWrdmhtWGpoUD+PC9jZmRpOkNvbXByb2JhbnRlPg0K</ax23:cfdiTimbrado>
<ax23:fechaTimbrado>2011-05-16T21:43:04.481Z</ax23:fechaTimbrado>
<ax23:mensaje>La operación se completó con éxito</ax23:mensaje>
<ax23:qrCode>iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDA//+0BaRJ . . . d94cI+vI/kugA61E/60JiLOEAAAAASUVORK5CYII=</ax23:qrCode>
<ax23:selloSAT>IZUrCoMwsKRhy1ah7YVvRJ0K2gd1sh++WN+v . . . hmXjhP7WajMcWRr71yMgdy4LvNfPrk=</ax23:selloSAT>
<ax23:status>200</ax23:status>
<ax23:uuid>A5148D79-626F-4213-AC34-263369F9C727</ax23:uuid>
<ax23:versionTFD>1.0</ax23:versionTFD>
</ax23:resultados>
</ns:return>
</ns:timbrarResponse>
</soapenv:Body>
</soapenv:Envelope>
o hasta el momento es lo que tengo entendido
-
- Mensajes: 372
- Registrado: Mié Ago 11, 2010 1:55 am
- Ubicación: México, D.F.
- Contactar:
Re: Agregar Nodo Complemento
¿No te lo regresa tu PAC ya formadito solo para guardar?... bueno... si este es el caso, entonces si, tienes que agregarselo a tu XML original... lastima...
Saludos
Saludos
Todo lo que no es dado es perdido
-
- Mensajes: 7
- Registrado: Lun Ago 05, 2013 5:06 pm
Re: Agregar Nodo Complemento
alguna idea de como lo pueda Hacer ..?mauricio escribió:¿No te lo regresa tu PAC ya formadito solo para guardar?... bueno... si este es el caso, entonces si, tienes que agregarselo a tu XML original... lastima...
Saludos
-
- Mensajes: 372
- Registrado: Mié Ago 11, 2010 1:55 am
- Ubicación: México, D.F.
- Contactar:
Re: Agregar Nodo Complemento
Con Python es realmente sencillo, ¿que lenguaje estas usando?
Todo lo que no es dado es perdido
-
- Mensajes: 7
- Registrado: Lun Ago 05, 2013 5:06 pm
Re: Agregar Nodo Complemento
Vb.NETmauricio escribió:Con Python es realmente sencillo, ¿que lenguaje estas usando?
-
- Mensajes: 372
- Registrado: Mié Ago 11, 2010 1:55 am
- Ubicación: México, D.F.
- Contactar:
Re: Agregar Nodo Complemento
Tu nodo complemento debe de quedar así:
Te muestro como hacerlo con Python, solo tienes que buscar las equivalencias en tu lenguaje:
Tal vez puedas usar este código desde VB.Net pero eso te lo confirmo mañana...
Saludos
Código: Seleccionar todo
<cfdi:Complemento>
<tfd:TimbreFiscalDigital
xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital"
version="1.0"
UUID="E6E0E85E-E2C0-4288-9E4A-D80C7F9B7650"
FechaTimbrado="2013-08-07T00:43:09"
selloCFD="h22VcNNiM3J4GBWxljzLHXox5yj6MrzTFHnQgdkIDgcwxAF7YcK6DoiM="
noCertificadoSAT="20001000000100005761"
selloSAT="zRcqTNlSuj0DkDkp8860Bytk9k1qHamdOFmR0LxNEtihUWM8K8zBOg8o="
xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/TimbreFiscalDigital/TimbreFiscalDigital.xsd"/>
</cfdi:Complemento>
Código: Seleccionar todo
# -*- coding: utf-8 -*-
from xml.etree import ElementTree as ET
from xml.dom import minidom
ET.register_namespace('cfdi',"http://www.sat.gob.mx/cfd/3")
xml_cfdi = """<?xml version='1.0' encoding='utf-8'?>
<cfdi:Comprobante
xmlns:cfdi="http://www.sat.gob.mx/cfd/3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
sello="h26xxD1TPm9sJ93mDyS53J4GBWxljzLHXox5yj6MrzTFHnQgdkIDgcwxAF7YcK6DoiM="
certificado="MIIEdDCCA1ygAw/sPMzWWGt8S1yjmtPfXgFs1t65AZ2hcTwTAuHrKwDyUVww=="
fecha="2013-08-07T00:43:09"
LugarExpedicion="Coyoacan, México, D.F."
Moneda="peso"
TipoCambio="1.00"
folio="1"
formaDePago="Pago en una sola exhibición"
metodoDePago="No identificado"
noCertificado="20001000000100005867"
serie="F"
subTotal="10000.00"
tipoDeComprobante="ingreso"
total="11600.00"
version="3.2"
xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd">
<cfdi:Emisor
nombre="ACCEM SERVICIOS EMPRESARIALES SC"
rfc="AAA010101AAA">
<cfdi:DomicilioFiscal
calle="Carlota Armero"
codigoPostal="04040"
colonia="Culhuacan"
estado="México, D.F."
municipio="Coyoacan"
noExterior="No 1000"
pais="México"/>
<cfdi:RegimenFiscal Regimen="Regimen General de Ley Personas Morales"/>
</cfdi:Emisor>
<cfdi:Receptor
nombre="Mauricio Baeza"
rfc="BASM740115RR9">
<cfdi:Domicilio
calle="Parque"
codigoPostal="04040"
colonia="Parque San Andrés"
estado="México, D.F."
municipio="Coyoacán"
noExterior="No 14"
pais="México"/>
</cfdi:Receptor>
<cfdi:Conceptos>
<cfdi:Concepto
cantidad="1.00"
descripcion="Asesoria en desarrollo de sistema"
importe="10000.00"
noIdentificacion="1"
unidad="Servicio"
valorUnitario="10000.00"/>
</cfdi:Conceptos>
<cfdi:Impuestos totalImpuestosTrasladados="1600.00">
<cfdi:Traslados>
<cfdi:Traslado importe="1600.00" impuesto="IVA" tasa="16"/>
</cfdi:Traslados>
</cfdi:Impuestos>
</cfdi:Comprobante>
"""
xml_complemento = """<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns:timbrarResponse xmlns:ns="http://timbrado.ws.cfdi.solucionfactible.com">
<ns:return xmlns:ax23="http://timbrado.ws.cfdi.solucionfactible.com/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ax23:CFDICertificacion">
<ax23:status>200</ax23:status>
<ax23:mensaje>OK</ax23:mensaje>
<ax23:resultados xsi:type="ax23:CFDIResultadoCertificacion">
<ax23:cadenaOriginal>||1.0|A5148D79-626F-4213-AC34-263369F9C727|2011-05-16T16:43:04|j+sqQ/Md+hz8YSqLx5XNpRREgpqZjJL9jA/KUSK+LZIo30Ml93A5May6yEQEw6KVz1Z8ap2DYBfZc+oN5lgMoshYQqxtNQUmjSMOuV9AWAksLMjOegDZrMuh7rNo1pdWlymUezOBA2pko19zjE6Vrobdsnn596d8fNwd7geUxxM=|30001000000100000801||</ax23:cadenaOriginal>
<ax23:certificadoSAT>30001000000100000801</ax23:certificadoSAT>
<ax23:cfdiTimbrado>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0eHhNPSI+PGNm . . . ZGk6RWrdmhtWGpoUD+PC9jZmRpOkNvbXByb2JhbnRlPg0K</ax23:cfdiTimbrado>
<ax23:fechaTimbrado>2011-05-16T21:43:04.481Z</ax23:fechaTimbrado>
<ax23:mensaje>La operación se completó con éxito</ax23:mensaje>
<ax23:qrCode>iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDA//+0BaRJ . . . d94cI+vI/kugA61E/60JiLOEAAAAASUVORK5CYII=</ax23:qrCode>
<ax23:selloSAT>IZUrCoMwsKRhy1ah7YVvRJ0K2gd1sh++WN+v . . . hmXjhP7WajMcWRr71yMgdy4LvNfPrk=</ax23:selloSAT>
<ax23:status>200</ax23:status>
<ax23:uuid>A5148D79-626F-4213-AC34-263369F9C727</ax23:uuid>
<ax23:versionTFD>1.0</ax23:versionTFD>
</ax23:resultados>
</ns:return>
</ns:timbrarResponse>
</soapenv:Body>
</soapenv:Envelope>
"""
xml = ET.fromstring(xml_complemento)
r = xml[0][0][0][0]
if r.text == '200':
r = xml[0][0][0][2]
data = {}
for n in r.getchildren():
key = n.tag.split('}')[1]
data[key] = n.text
atributos = {}
complemento = ET.Element('cfdi:Complemento')
atributos['xmlns:tfd'] = 'http://www.sat.gob.mx/TimbreFiscalDigital'
atributos['xsi:schemaLocation'] = 'http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/TimbreFiscalDigital/TimbreFiscalDigital.xsd'
atributos['version'] = data['versionTFD']
atributos['UUID'] = data['uuid']
atributos['FechaTimbrado'] = data['fechaTimbrado']
atributos['selloCFD'] = data['cfdiTimbrado']
atributos['noCertificadoSAT'] = data['certificadoSAT']
atributos['selloSAT'] = data['selloSAT']
timbre = ET.SubElement(complemento, 'tfd:TimbreFiscalDigital', atributos)
xml = ET.fromstring(xml_cfdi)
xml.insert(len(xml.getchildren()), complemento)
print (minidom.parseString(ET.tostring(xml, 'utf-8')).toprettyxml(encoding='utf8'))
Saludos
Todo lo que no es dado es perdido
-
- Mensajes: 7
- Registrado: Lun Ago 05, 2013 5:06 pm
Re: Agregar Nodo Complemento
Excelente ! muchas gracias por el aporte @mauricio
ya quedo solucionado
ya quedo solucionado
-
- Mensajes: 1
- Registrado: Vie Ago 08, 2014 9:34 am
Re: Agregar Nodo Complemento
Como lograstes solucionar el problema en vb?