Generar la Cadena Original de un XML (CFDI) en VB6/VBA

Para crear la Cadena Original de un XML usando la XSLT proporcionada por el SAT en VBA debes hacer lo siguiente:

  1. Agregar a las referencias: «Microsoft XML, v3.0» (o 6.0)
  2. Usar el siguiente código:

 

Function getCadenaOriginal()
    Dim oXSlT As New DOMDocument
    Dim xXML As New DOMDocument
    Dim sCadenaOriginal As String
    oXSlT.Load "D:\proyectos\cadenaoriginal_3_2.xslt"
    xXML.Load "D:\Proyectos\util\F.xml"
    sCadenaOriginal = xXML.transformNode(oXSlT)
    Debug.Print sCadenaOriginal
End Function

Esto te devolverá la cadena original generada a partir de un XML.

getCadenaOriginal

Recuerda que debes tener un XML ya timbrado, y el archivo «cadenaoriginal_3_2.xslt» que lo puedes descargar desde el SAT.

Anuncio: Ya no es posible generar los CFDI usando la FIEL mediante un sistema externo (PAC) al SAT

El día 3 de marzo se publicó una actualización de la Resolución de Miscelánea Fiscal 2015 en el Diario Oficial de la Federación, que entre otros cambios, destaca uno importante:

Facilidad para que las personas físicas expidan CFDI con FIEL
2.2.7. Para los efectos del artículo 29, fracción II del CFF, las personas físicas en sustitución del CSD, podrán utilizar el certificado de FIEL obtenido conforme a lo previsto en el artículo 17-D del citado Código, únicamente para la emisión del CFDI a través de la herramienta electrónica denominada “Servicio gratuito de generación de Factura Electrónica (CFDI) ofrecido por el SAT”.

En palabras sencillas y para humanos:

Si estás usando un sistema ajeno al SAT para timbrar tus facturas, llámese FactuKora, Visual Caja 3D u otros, es necesario que solicites un CSD (Certificado de sello digital) para poder continuar timbrando tus facturas.

¿Cómo solicitar un CSD? En esta página del SAT te especifica los pasos:

http://www.sat.gob.mx/informacion_fiscal/factura_electronica/Paginas/tramite_csd.aspx

Por lo tanto, a todos nuestros clientes de FactuKora y Visual Caja 3D, les instamos a solicitar cuanto antes su CSD, luego ponerse en contacto con nosotros para actualizar los datos correspondientes.

Estructura del XML de nómina mensual

Si estás aquí, es porque seguramente eres programador y estás interesado en saber cómo armar tu XML para que la nómina mensual sea completamente válida.

Esto es realmente fácil partiendo de la estructura inicial, donde por cada XML tienes un nodo <nomina:Nomina> dentro del nodo: <cfdi:Complemento>

por lo que ahora podrá quedar:

<cfdi:Complemento>
		<nomina:Nomina ... />
		<nomina:Nomina ... />
		<nomina:Nomina ... />
		<nomina:Nomina ... />
</cfdi:Complemento>

Es decír, podrás tener múltiples complemente <nomina:Nomina> dentro del nodo superior.

también cambian los nodos <cfdi:conceptos> donde importe sera la suma de las percepciones menos las deucciones de todos los nodos <nomina:Nomina>, al igual que el nodo <cfdi:Impuestos> donde los atributos internos serán el total de las retenciones de todos los nodos de <nomina:Nomina>

Quedando entonces los totales registrados en:

	<cfdi:Conceptos>
		<cfdi:Concepto cantidad="1" unidad="servicio" descripcion="Pago de nómina" valorUnitario="6000" importe="6000"/>
	</cfdi:Conceptos>
	<cfdi:Impuestos totalImpuestosRetenidos="225">
		<cfdi:Retenciones>
			<cfdi:Retencion impuesto="ISR" importe="225"/>
		</cfdi:Retenciones>
	</cfdi:Impuestos>

 

Para que quede mas claro, pongo un ejemplo de XML ya timbrado y verificado completo de una Nómina (CFDI) Mensual:

<cfdi:Comprobante xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd http://www.sat.gob.mx/nomina http://www.sat.gob.mx/sitio_internet/cfd/nomina/nomina11.xsd" version="3.2" serie="AA" folio="33" fecha="2015-02-05T22:51:14" sello="Dyzt66wXc4x0UVahwlC51n5aAfJE9+1/npHP6vrX3StMbxDdJoGOzk47jN2tERNjtmWHooIrw7duVaafGPXJmCGtHkucUxvbowu5Jufz1ejOiiZwOruJoUzHefCn6EbqoqV6XxI6qFV9mBPYB/BZHA9rHWyTLiRQeBlvg1IOHd8=" formaDePago="PAGO EN UNA SOLA EXHIBICION" noCertificado="20001000000200001428" certificado="MIIEYTCCA0mgAwIBAgIUMjAwMDEwMDAwMDAyMDAwMDE0MjgwDQYJKoZIhvcNAQEFBQAwggFcMRowGAYDVQQDDBFBLkMuIDIgZGUgcHJ1ZWJhczEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSkwJwYJKoZIhvcNAQkBFhphc2lzbmV0QHBydWViYXMuc2F0LmdvYi5teDEmMCQGA1UECQwdQXYuIEhpZGFsZ28gNzcsIENvbC4gR3VlcnJlcm8xDjAMBgNVBBEMBTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDESMBAGA1UEBwwJQ295b2Fjw6FuMTQwMgYJKoZIhvcNAQkCDCVSZXNwb25zYWJsZTogQXJhY2VsaSBHYW5kYXJhIEJhdXRpc3RhMB4XDTEzMDUwNzE2MDEyOVoXDTE3MDUwNzE2MDEyOVowgdsxKTAnBgNVBAMTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFNDMSkwJwYDVQQpEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcGA1UEChMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxJTAjBgNVBC0THEFBQTAxMDEwMUFBQSAvIEhFR1Q3NjEwMDM0UzIxHjAcBgNVBAUTFSAvIEhFR1Q3NjEwMDNNREZOU1IwODERMA8GA1UECxMIcHJvZHVjdG8wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKS/beUVy6E3aODaNuLd2S3PXaQre0tGxmYTeUxa55x2t/7919ttgOpKF6hPF5KvlYh4ztqQqP4yEV+HjH7yy/2d/+e7t+J61jTrbdLqT3WD0+s5fCL6JOrF4hqy//EGdfvYftdGRNrZH+dAjWWml2S/hrN9aUxraS5qqO1b7btlAgMBAAGjHTAbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMA0GCSqGSIb3DQEBBQUAA4IBAQACPXAWZX2DuKiZVv35RS1WFKgT2ubUO9C+byfZapV6ZzYNOiA4KmpkqHU/bkZHqKjR+R59hoYhVdn+ClUIliZf2ChHh8s0a0vBRNJ3IHfA1akWdzocYZLXjz3m0Er31BY+uS3qWUtPsONGVDyZL6IUBBUlFoecQhP9AO39er8zIbeU2b0MMBJxCt4vbDKFvT9i3V0Puoo+kmmkf15D2rBGR+drd8H8Yg8TDGFKf2zKmRsgT7nIeou6WpfYp570WIvLJQY+fsMp334D05Up5ykYSAxUGa30RdUzA4rxN5hT+W9whWVGD88TD33Nw55uNRUcRO3ZUVHmdWRG+GjhlfsD" subTotal="6000" descuento="0" motivoDescuento="Deducciones nómina" TipoCambio="1.00" Moneda="Peso MXN" total="5775" tipoDeComprobante="egreso" metodoDePago="Efectivo" LugarExpedicion="Nayarit, México">
	<cfdi:Emisor rfc="AAA010101AAA" nombre="DESARROLLO FACTUKORA">
		<cfdi:DomicilioFiscal calle="calle" noExterior="23" colonia="colonia" localidad="Tepic" municipio="Tepic" estado="Nayarit" pais="México" codigoPostal="63163"/>
		<cfdi:RegimenFiscal Regimen="Régimen de las Personas Físicas con Actividades Empresariales y Profesionales"/>
	</cfdi:Emisor>
	<cfdi:Receptor rfc="XAXX010101000" nombre="NOMBRE DEL EMPLEADO">
		<cfdi:Domicilio calle="calle" noExterior="10" colonia="colonia" localidad="TEPIC" municipio="TEPIC" estado="NAYARIT" pais="MÉXICO" codigoPostal="63163"/>
	</cfdi:Receptor>
	<cfdi:Conceptos>
		<cfdi:Concepto cantidad="1" unidad="servicio" descripcion="Pago de nómina" valorUnitario="6000" importe="6000"/>
	</cfdi:Conceptos>
	<cfdi:Impuestos totalImpuestosRetenidos="225">
		<cfdi:Retenciones>
			<cfdi:Retencion impuesto="ISR" importe="225"/>
		</cfdi:Retenciones>
	</cfdi:Impuestos>
	<cfdi:Complemento>
		<nomina:Nomina xmlns:nomina="http://www.sat.gob.mx/nomina" Version="1.1" RegistroPatronal="123456789" NumEmpleado="04458722855" CURP="COMR900725HNTRXP08" TipoRegimen="3" NumSeguridadSocial="123456" FechaPago="2015-02-05" FechaInicialPago="2015-02-05" FechaFinalPago="2015-02-11" NumDiasPagados="6" Departamento="Sistemas" Banco="014" Puesto="Jefe" TipoContrato="Base" TipoJornada="Diurna" PeriodicidadPago="Semanal" RiesgoPuesto="1" SalarioDiarioIntegrado="150">
			<nomina:Percepciones TotalGravado="1500" TotalExento="1500">
				<nomina:Percepcion TipoPercepcion="001" Clave="001" Concepto="Sueldos, Salarios Rayas y Jornales" ImporteExento="0" ImporteGravado="1500"/>
			</nomina:Percepciones>
			<nomina:Deducciones TotalGravado="56.25" TotalExento="0">
				<nomina:Deduccion TipoDeduccion="002" Clave="002" Concepto="ISR" ImporteExento="0" ImporteGravado="56.25"/>
			</nomina:Deducciones>
		</nomina:Nomina>
		<nomina:Nomina xmlns:nomina="http://www.sat.gob.mx/nomina" Version="1.1" RegistroPatronal="123456789" NumEmpleado="04458722855" CURP="COMR900725HNTRXP08" TipoRegimen="3" NumSeguridadSocial="123456" FechaPago="2015-02-05" FechaInicialPago="2015-02-12" FechaFinalPago="2015-02-18" NumDiasPagados="6" Departamento="Sistemas" Banco="014" Puesto="Jefe" TipoContrato="Base" TipoJornada="Diurna" PeriodicidadPago="Semanal" RiesgoPuesto="1" SalarioDiarioIntegrado="150">
			<nomina:Percepciones TotalGravado="1500" TotalExento="1500">
				<nomina:Percepcion TipoPercepcion="001" Clave="001" Concepto="Sueldos, Salarios Rayas y Jornales" ImporteExento="0" ImporteGravado="1500"/>
			</nomina:Percepciones>
			<nomina:Deducciones TotalGravado="56.25" TotalExento="0">
				<nomina:Deduccion TipoDeduccion="002" Clave="002" Concepto="ISR" ImporteExento="0" ImporteGravado="56.25"/>
			</nomina:Deducciones>
		</nomina:Nomina>
		<nomina:Nomina xmlns:nomina="http://www.sat.gob.mx/nomina" Version="1.1" RegistroPatronal="123456789" NumEmpleado="04458722855" CURP="COMR900725HNTRXP08" TipoRegimen="3" NumSeguridadSocial="123456" FechaPago="2015-02-05" FechaInicialPago="2015-02-19" FechaFinalPago="2015-02-25" NumDiasPagados="6" Departamento="Sistemas" Banco="014" Puesto="Jefe" TipoContrato="Base" TipoJornada="Diurna" PeriodicidadPago="Semanal" RiesgoPuesto="1" SalarioDiarioIntegrado="150">
			<nomina:Percepciones TotalGravado="1500" TotalExento="1500">
				<nomina:Percepcion TipoPercepcion="001" Clave="001" Concepto="Sueldos, Salarios Rayas y Jornales" ImporteExento="0" ImporteGravado="1500"/>
			</nomina:Percepciones>
			<nomina:Deducciones TotalGravado="56.25" TotalExento="0">
				<nomina:Deduccion TipoDeduccion="002" Clave="002" Concepto="ISR" ImporteExento="0" ImporteGravado="56.25"/>
			</nomina:Deducciones>
		</nomina:Nomina>
		<nomina:Nomina xmlns:nomina="http://www.sat.gob.mx/nomina" Version="1.1" RegistroPatronal="123456789" NumEmpleado="04458722855" CURP="COMR900725HNTRXP08" TipoRegimen="3" NumSeguridadSocial="123456" FechaPago="2015-02-05" FechaInicialPago="2015-02-26" FechaFinalPago="2015-03-04" NumDiasPagados="6" Departamento="Sistemas" Banco="014" Puesto="Jefe" TipoContrato="Base" TipoJornada="Diurna" PeriodicidadPago="Semanal" RiesgoPuesto="1" SalarioDiarioIntegrado="150">
			<nomina:Percepciones TotalGravado="1500" TotalExento="1500">
				<nomina:Percepcion TipoPercepcion="001" Clave="001" Concepto="Sueldos, Salarios Rayas y Jornales" ImporteExento="0" ImporteGravado="1500"/>
			</nomina:Percepciones>
			<nomina:Deducciones TotalGravado="56.25" TotalExento="0">
				<nomina:Deduccion TipoDeduccion="002" Clave="002" Concepto="ISR" ImporteExento="0" ImporteGravado="56.25"/>
			</nomina:Deducciones>
		</nomina:Nomina>
		<tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/TimbreFiscalDigital/TimbreFiscalDigital.xsd" version="1.0" UUID="AA509515-D0FA-4090-9C17-26C56A52D447" FechaTimbrado="2015-02-06T00:07:56" noCertificadoSAT="20001000000100005761" selloCFD="Dyzt66wXc4x0UVahwlC51n5aAfJE9+1/npHP6vrX3StMbxDdJoGOzk47jN2tERNjtmWHooIrw7duVaafGPXJmCGtHkucUxvbowu5Jufz1ejOiiZwOruJoUzHefCn6EbqoqV6XxI6qFV9mBPYB/BZHA9rHWyTLiRQeBlvg1IOHd8=" selloSAT="Y5ACAS/s1Q+oHy9giFwCIzHwCagW8qeGnOWRxuZRGTt7nJwtoM01DeMyl4MxkBhoKyxYkswN4xJJLPCF5sTI3mxqrGgXBEdZr0BtPSSP573+3E69OggWtx3dE0DFx79Q054g9amL1K++E1DVpD+bitakg4M+YOmjyExQif+NXNo="/>
	</cfdi:Complemento>
</cfdi:Comprobante>

Si lo copias a  Sublime Text, te será más fácil digerirlo o leerlo.

Si tienes dudas sobre la estructura de un XML para la nómina mensual, puedes preguntar comentando. Aquí puedes ver cómo hacer un documento CFDI de nómina mensual en FactuKora.

Recuerda que en KoraNet Soluciones desarrollamos FactuKora, sistema que permite llevar el control documentos CFDI: Facturas, Nóminas y Recibos de honorarios. Tenemos precios especiales a distribuidores, si te interesa ponte en contacto con nosotros.

Puedes descargar una versión de demostración de FactuKora, también ver los Precios y Promociones.

 

Los medicamentos, absolutamente, van a cambiar tu vida. Si el problema persiste durante un perГ­odo mГЎs largo, se debe consultar a un mГ©dico. ВїTiene alguna cuestión sobre Kamagra y comprare cialis? Por supuesto que no es todo. ВїQuГ© medicamento es adecuado para incapacidad laboral para obtener o mantener una erecciГіn? Tal vez usted sabe sobre . Otra pregunta que tenemos que discutir es . Tener impotencia puede complicar el romance. Todo tipo de medicamentos, desde aquellos que se consideran «todos naturales» a los que se producen quГ­micamente en un laboratorio, pueden causar algunos efectos secundarios no deseados.