
		Documentacion para Programa que Envia CFDI a Timbrar a Comercio Digital


Este es un programa ejecutable desarrollado en C# en ASP.NET version 2 de modo Consola que se manda llamar desde un Programa de
Facturacion de cualquier plataforma.

Para instalar este programa hay que hacer lo siguiente:

1) crear una estructra de directorios (carpetas) asi:
    a) ponerse en la raiz de disco
    a) mkdir  cfdi
    b) cd cfdi
    
2) en el directorio "/cfdi" depositar el programa "cd_sellar.exe" que se les entregara, junto con las librerias que se adjuntan

3) Asegurarse de tener instalado en la PC el ASP.NET version 2.0 o mayor;

4) En sus Sistema de Facturacion al hacer una Factura hay que generar un archivo texto llamado:
   SERIE+FOLIO.INI 
   y  llamar al metodo "CreateProcess" o equivalente para ejecutar el programa "cd_sellar.exe" con varios parametros:
   1) rfc                       <-  RFC del emisor de la factura
   2) pwd                       <-  Clave de acceso que le envio Comercio Digital por email al registrarse
   3) nombre_archivo_texto      <-  nombre de un archivo que contiene los datos para enviar a timbrar; 
   4) nombre_archivo_key        <-  nombre del archivo que contiene la LLave del Certificado Digital del RFC (extension .KEY )
   5) nombre_archivo_cer        <-  nombre del archivo que contiene el Certificado Publico del RFC ( extension .CER )
   6) pwd_key                   <-  clave que se puso al archivo .KEY al momento de generar el requerimiento en progama SOLCEDI
   7) servicio PRUEBAS  o PROD  <-  palabra PRUEBAS o PROD
   8) se quiere PDF             <- poner SI o  NO para que se regrese tambien un archivo PDF con la representacion Impresa de este CFDI
   9) email                     <- opcional , si se pone se enviara por email el archivo XML y el PDF a este email ( es el email de receptor del CFDI)

   ejemplo:
   cd_sellar.exe PPP010101A12 t67hT56  A00123.ini  /certs/PPP010101A12.key /certs/PPP010101A12.CER  ujhgaga PRUEBAS
   
   esto indica que hay un archivo A00123.INI que contiene la descripcion de la factura
   
   ***OJO*** si uno de los password tiene caracteres especiales, encerrar ese password entre comillas; eje F@/*  "F@/*"
             y si hay un %   se debe escapar como %%  aunque este dentro de las comillas

   cd_sellar.exe PPP010101A12 t67hT56  A00123.ini  /certs/PPP010101A12.key /certs/PPP010101A12.CER  ujhgaga PRUEBAS SI aaa.ddd@hotmai.com
   
5) En el Programa de Facturacion, esperar a que termine este proceso; normalmente se tarda 2 o 3 segundos, pero puede llegar a 
   tardarse hasta 30 segundos por timeout.

6) Se generara siempre un archivo ".SAT" (mismo nombre del INI mas la extension .SAT)  con la respuesta del envio:
   La primera linea del archivo SAT contiene el tipo de Respuesta:
   Respuesta=1             0 Timeout, 1)Ok 2) No respuesta 3)otro error

7a) Si Respuesta fue "0" o "2"  hay que esperar para retransmitir el mismo CFDI

7b) si Respuesta fue "3": la segunda linea del archivo "SAT" contiene el mensaje de error

7c) si Respuesta fue "1", se puede proceder a leer el archivo de salida del XML que contiene el XML Timbrado; el nombre el mismo archivo INI mas las extension .XML
   y en las siguientes lineas estan los datos del timbre fiscal , uno por linea, por si necesita leerlos sin tener que parsear el XML
   UUID=0586708C-73FA-E141-8100-736364073130
   FECHA-TIMBRE=2012-09-09T11:43:18
   SERIE-SAT=20001000000100004047
   SELLO-SAT=0Iq14xYKFMjk9CDylmJn+pGIA7Vztcl6quIW/wkUey9zyk3Z7bqragsjHtpWHb80QxBC/RyP4xkqDMnCeqVy9zNJnn96ji296ldyseU6aRebbJNyM4N7hyuHvdVpuXfJJYcvHYhui18DhOdpzPMV+Z0W2cwIBoU1HYZr5FKXpTg=
   CADENA-TIMBRE=||1.0|0586708C-73FA-E141-8100-736364073130|2012-09-09T11:43:18|aRqbNvXL4bzoo7BzDh1213If3Y4/3V+/kokwevS1oZQ49nosKet7UU7Q6oRUZ2kpmZP9XvpPesYviuSz43a1VEBk77E7ZC6Y7urYzVZuyAYZCZWskT/v6/rhKPswCRfCThm0wyvz+6+Vg42l8eL+abDCkKzo2jPuSxhRjN4B9f8=|20001000000100004047||
   
10) ver archivo adjunto para Formato del archivo INI, es MUY IMPORANTE que se genere este archivo con codificacion UTF-8 , por
    requerirlo asi el SAT; si no se hace asi, los caracteres acentudos y especial no saldran bien.

11) Si requiere poner un logo en en el PDF , se hace asi:
    generar un logo en archivo JPG con maximo 1000 x 700 pixeles
    grabarlo en un archivoen la misma caroeta que el programa cd_sellar.exe, con nombre rfc.jpg
    asi puede haber varios logo de diferentes RFC
    
12) Si desea usar hojas membretadas en la representacion impresa y desea que la impresion empieze mas abajo, poner un archivo con nombre RFC.y
    con una linea de texto con 2 numeros separados por COMA.
    1er numero es cuanto se requiere bajar la impresion
    2ndo numero es hasta donde se imprime en la hoja
    Estos 2 numeros estan de decimas de milimetro; si requiere bajar 1.5 centimietros la impresion , esto da 15 milimetro, esto es 150 decimas de milimetro
    ejemplos:
    100,2000        <- esto es se baja un centimetro la impresion, cuando la impresion llegue a 20 centimetros del comienzo de la hoja, se cambiara de pagina.

13) OJO: si el archivo INI grabado esta en ASCII, es el default.
    Si el archivo INI se grabo con UTF8, entonces hay que crear un archivo con linea (lo que sea) en el mismo directorio que el cd_sellar.exe
    que se llame "ENCODING_UTF8"; con esto se le notifica al programa que debe leer el archivo INI como UTF8 y no como ASCII

*********************************************************** Ejemplo de CFDI *********************************************

[Comprobante]
Version=3.2
TipoDeComprobante=ingreso
Serie=A
Folio=12345
Fecha=2012-06-20 11:02:03
FormaDePago=Pago en una sola exhibición
CondicionesDePago=Contado
SubTotal=320
Descuento=0
MotivoDescuento=Por pronto pago
TipoCambio=1.00
Moneda=MXN
Total=384
MetodoDePago=Tarjeta de credito
LugarExpedicion=CD Juarez, Chih
NumCtaPago=0033

[Emisor]
Rfc=GOSF560418A48
Nombre=Mi Empresa SA de CV
RegimenFiscal=general
Calle=Calle de la Amargura
NoExterior=123
NoInterior=456
Colonia=Col. Bondojito
Localidad=Oaxaca
Referencia=Atras de una gasolinera
Municipio=Oaxaca
Estado=Oaxaca
Pais=México
CodigoPostal=87345

[EmisorExpedidoEn]
Calle=Av. Revolucion
NoExterior=2233
NoInterior=4455
Colonia=Col. Centro
Localidad=Tampico
Referencia=Referencia
Municipio=Tampico
Estado=Tamaulipas
Pais=México
CodigoPostal=47372

[Receptor]
Rfc=PWD090210DR5
Nombre=Mi Cliente SA de CV
Calle=Patriotismo
NoExterior=4579
NoInterior=94
Colonia=La Añoranza
Localidad=Boca del Rio
Referencia=Junto al mar
Municipio=Veracruz
Estado=Veracruz
Pais=Mexico
CodigoPostal=75489

[Concepto1]
Cantidad=10
Unidad=Kilo
NoIdentificacion=38495683628
Descripcion=Arroz blanco marca SOE
ValorUnitario=12
Importe=120

[Concepto2]
Cantidad=5
Unidad=PZA
NoIdentificacion=29845798357
Descripcion=Piña dulce del bajio
ValorUnitario=20
Importe=100

AduanaNumero=348759
AduanaFecha=2011-01-08
Aduana=Aeropuerto Internal. de México

AduanaNumero1=1348759
AduanaFecha1=1111-11-11
Aduana1=Aeropuerto Internal. de México1

[Concepto3]
Cantidad=1
Unidad=NO APLICA
Descripcion=Arrendamiento de Bodega
ValorUnitario=50
Importe=50
Predial=12222222

[Concepto4]
Cantidad=1
Unidad=NO APLICA
Descripcion=Colegiaturas
ValorUnitario=50
Importe=50
NombreAlumno=Pedro Paramo
CURP=GXXX010101GGGUYT78
NivelEducativo=Secundaria
Autrvoe=xxxxx
RFCPago=HHH010101GGG

[Impuestos]
TotalImpuestosTrasladados =117.60

IEPSTrasladado=32.00
IEPSTasa=10.00

IVATrasladado=32
IVATasa=10.00

[Impuestoslocales]
Impuestoretenido=DAP
tasaretencion=10
importeretencion=1000

impuestotrasladado=ERD
tasatraslado=10
importetraslado=1000


*********************************************************** Respuesta CFDI *********************************************

<?xml version="1.0" encoding="utf-8"?>
<cfdi:Comprobante sello="mI1uojJSal5R5Axil8RmK8/p0nZsuC4tb2xplPrvPrVn55ED6GaKIc2Q1XtcSctfROSNY/OCz9xmBvWTp3XQn9l6eqF2q+Dn1jGa+KAl2X/bSJ1OCwhLgthV4e/8Z5W9iBoNR9X5LB/T6MyyTrzO/V3jjOyVepjOLaM2OUsbRGI=" noCertificado="20001000000100001705" certificado="MIIFDzCCA/egAwIBAgIUMjAwMDEwMDAwMDAxMDAwMDE3MDUwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMDExMTkxOTQyMDRaFw0xMjExMTgxOTQyMDRaMIGoMR0wGwYDVQQDExRHRVJBUkRPIEZSQUdPU08gTFVOQTEdMBsGA1UEKRMUR0VSQVJETyBGUkFHT1NPIExVTkExHTAbBgNVBAoTFEdFUkFSRE8gRlJBR09TTyBMVU5BMRYwFAYDVQQtEw1GQUxHMzkwMjAyRUE0MRswGQYDVQQFExJGQUxHMzkwMjAyTURGTlNSMDgxFDASBgNVBAsTC1N1Y3Vyc2FsQVZMMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCjluKNRikZi9pvCRKB0eZ0TjZBCe77RM+rHhvmhKfMTEiNIT517b0GETdYNXgaYSSnNcp5PXk7LftnIv+zf5iHRKJ+pR+ogQhaU3iE5RO7BtcQHIwINLkL1JRJC+jEcbkMUUbeXyZCiD1HCEf2a8L5yhY4ddgWqxE5Bk9w25EABQIDAQABo4HqMIHnMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMB0GA1UdDgQWBBQQYCf+5Zp25kTvismyc2EGN6zDYjAuBgNVHR8EJzAlMCOgIaAfhh1odHRwOi8vcGtpLnNhdC5nb2IubXgvc2F0LmNybDAzBggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNhdC5nb2IubXgvMB8GA1UdIwQYMBaAFOtZfQQimlONnnEaoFiWKfU54KDFMBAGA1UdIAQJMAcwBQYDKgMEMBMGA1UdJQQMMAoGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4IBAQBjBGNr/3DlqQGCTUMir5Q9r3rXVRtQ9WMX4EyrX7ms9h3rmvWZrV2sYFNq0BbXpgAKIDaQEbqZ/tl1/adI02ecuSoEHjJYAEvKlhZ9MTVYnMm5Gb8b4PSYDXpwMdntAlSWIMPmafMvrGjRKjM4U8SQYJTW/Q6L0HC7sli2hHtRJ/t9dC/QRaB2g39nC13cyBs4V7YpJ1NLHeHHzirMzMh4isfuHJWlYRvDf78e//Kb1Fw2Ry74MD7kuK2PZyE/GnXqjGSxHZGxMh2ebTiR1txjj4o7g2fZ1rk0plwKbyFXKSdylIUu5J8+0VSJJLbGF12WR0/pzVCp3j3BQKwNlu50" 
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/cfdv3.xsd" 
version="3.0"  serie="Z2" folio="cl1" fecha="2011-10-26T09:54:20" 
formaDePago="PAGO EN UNA SOLA EXHIBICION"  condicionesDePago="CONTADO" subTotal="1000" Moneda="MN" total="1160" metodoDePago="DEPOSITO BANAMEX" tipoDeComprobante="ingreso" 
>
<cfdi:Emisor rfc="FALG390202EA4" nombre="EMPREA PRUABA">
<cfdi:DomicilioFiscal calle="av juarez 444" noExterior="123" noInterior="A" colonia="centro" localidad="juarez" referencia="entre 1 y 2" municipio="juarez" estado="chih" pais="mexico" codigoPostal="32000" /></cfdi:Emisor>
<cfdi:Receptor rfc="PRU010101123" nombre="Empresa prueba 22222" >
<cfdi:Domicilio calle="av juarez 444" noExterior="123" noInterior="A" colonia="centro" localidad="juarez" referencia="entre 1 y 2" municipio="juarez" estado="chih" pais="mexico" codigoPostal="32000" /></cfdi:Receptor> 
<cfdi:Conceptos> 
  <cfdi:Concepto cantidad="200" unidad="PIEZAS" descripcion="TORNILLOS y Tuerca" valorUnitario="1" importe="1000"> 
  </cfdi:Concepto> 
</cfdi:Conceptos> 
<cfdi:Impuestos   totalImpuestosTrasladados="160"  > 
   <cfdi:Traslados> 
   <cfdi:Traslado impuesto="IVA" tasa="16" importe="160" ></cfdi:Traslado> 
   </cfdi:Traslados> 
</cfdi:Impuestos> 
<cfdi:Complemento><tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital"  xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/TimbreFiscalDigital/TimbreFiscalDigital.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" UUID="810EB564-86FE-E041-8200-736364783031" FechaTimbrado="2011-10-24T21:23:18" 
selloCFD="mI1uojJSal5R5Axil8RmK8/p0nZsuC4tb2xplPrvPrVn55ED6GaKIc2Q1XtcSctfROSNY/OCz9xmBvWTp3XQn9l6eqF2q+Dn1jGa+KAl2X/bSJ1OCwhLgthV4e/8Z5W9iBoNR9X5LB/T6MyyTrzO/V3jjOyVepjOLaM2OUsbRGI=" 
noCertificadoSAT="30001000000100000801" 
selloSAT="YT76sUXsUMgBlQsBRPWa/dJmw+xeALwLyi7zHvRpLpMH5cnyQUnyp5YTpPTCBmoMN0AxeUmCXjrJF8u0JiU18v8VRSP2D5d5h4cvdhqH0uKNd49BYkUmlHLI6FzTAUq9SJNGozw/YMsvhZDaNLUOuvEIcgqW7qPoDr2K9WtweLM=" />
</cfdi:Complemento>
</cfdi:Comprobante>


