Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Factura Electronica México (https://www.clubdelphi.com/foros/showthread.php?t=66807)

ContraVeneno 04-11-2010 18:00:30

de acuerdo a "lo que me han dicho", después del 2011, todos los CFD (comprobante fiscal digital) deberían ser sellados por un PAC (Proveedor Autorizado de Certificación). Dando al traste con el esfuerzo realizado por el área de desarrollo para generar de manera interna los CFD, ya que sin importar lo que se haga, se tendrían que enviar al PAC para su proceso, así que en este caso, pos pa que lo hago yo si el PAC también lo hace...

Pero por lo que he leído, aquellos que ya iniciaron con la emisión de CFDs en 2010, por medio de desarrollo interno o por medio de la adquisición de un sistema que emita CFDs, podrán seguir utilizando este medio de manera indefinida, es decir, no se requerirá de los servicios de un PAC.

¿Alguién está más informado que yo en este tema?

Saludos.

nuk3zito 04-11-2010 18:18:43

Cita:

Empezado por ContraVeneno (Mensaje 381300)
de acuerdo a "lo que me han dicho", después del 2011, todos los CFD (comprobante fiscal digital) deberían ser sellados por un PAC (Proveedor Autorizado de Certificación). Dando al traste con el esfuerzo realizado por el área de desarrollo para generar de manera interna los CFD, ya que sin importar lo que se haga, se tendrían que enviar al PAC para su proceso, así que en este caso, pos pa que lo hago yo si el PAC también lo hace...

Pero por lo que he leído, aquellos que ya iniciaron con la emisión de CFDs en 2010, por medio de desarrollo interno o por medio de la adquisición de un sistema que emita CFDs, podrán seguir utilizando este medio de manera indefinida, es decir, no se requerirá de los servicios de un PAC.

¿Alguién está más informado que yo en este tema?

Saludos.

Al parecer tenemos la misma información, muy probablemente las mismas fuentes.

Lo otro que acabo de confirmar es que los que ya generamos CFD's en 2010 SI tendremos que cambiar la forma del sellado utilizando SHA1 en lugar de MD5 para obtener la cadena de digestión... y la versión del cfd no cambiará en estos casos, pues seguirá siendo la versión 2 (Solo cambia un algoritmo).
Esto lo leí en las FAQ de http://www.sat.gob.mx/sitio_internet.../66_19430.html

Por lo demás de los CFDI, creo que la mayoría seguimos en el limbo, solo unos cuantos le han agarrado mas o menos el hilo a esto pues los ejemplos y la información publicada efectivamente si dejan mucho que desear.

AzidRain 04-11-2010 18:37:49

La versión 3, es la versión "perfeccionada" y ya con las omisiones corregidas. Hace rato estaba escribiendo una respuesta y se me reinicio mi lap y ya no la terminé, pero resumo:

Si tu desarrollo basado en el esquema actual ya lo tienes listo libéralo cuanto antes para que no tengas que hacer ningún cambio en 2011.

Si crees que ya no te da tiempo, no hablar, empieza a ver como cambiarlo al esquema nuevo.

QUienes ya estan con lo del 2010 NO tienen que cambiar nada ya que la resolución claramente indica que pueden seguir con el esquema que tienen hasta finales de 2011.

El esquema nuevo es mucho más sencillo de implementar además de que elimina obligaciones fiscales que el esquema actual si impone como:

* registrar simultaneamente cada factura en la contabilidad
* llevar contabilidad en algún software
* proporcionar las herramientas al SAT para que en caso de así requerirlo puedan consultar las cfds que ya emitiste (hacerles su software para consultar tus datos)
* emitir y presentar reporte mensual ante el SAT de los cfds generados

La información completa está en famoso Anexo 20, el cual pasó de unas 89 páginas a mas de 190 ya que se le agregó mucha información más específica y concisa.

Los PAC (que ahora todavia son PCFD) están como "perros" tratando de convencer a todo mundo de entrarle "de una vez" al esquema actual ya que en 2011 el servicio de certificación de los comprobantes es gratuito por ley y están obligados a cumplir con el mismo. Esto último no lo dicen por obvias razones, dado que por el momento SI pueden cobrar por ese servicio y quienes opten por entrar en este esquema no podrán cambiarlo al menos hasta junio del año que viene, o sea, a pescar lo que se pueda.

Por lo que si en sus empresas o clientes le están pensando o ya los están bombardeando, no les hagan caso y tomen una alternativa de transición de las que hay varias opciones y esperen a que salgan las demás reglas que faltan para que les salga mucho más barato y mucho más sencillo el desarollo.

Edito:
Las FAQ a que se refiere nuk3sito se refieren exclusivamente a los aspirantes a PAC (está equivocado el título en la página del SAT), en todo caso si te remites al CFF verás que el contribuyente que ya emita CFDS por medios propios NO está obligado a cambiar nada al menos durante el 2011. Además te lo confirmo dado que ayer precisamente estuve en un taller del SAT y fue una de mis preguntas.

Finalmente, para que le comenten a sus clientes, solo hay alrededor de 25 proveedores autorizados (si vieran todos los requisitos que se piden para obtener la autorización se espantan, no cualquier empresita tiene los recursos) pero sin embargo ya muchas empresas andan vendiendo soluciones que supuestamente "cumplen al 100%" con la disposición, pero no indican que no tienen autorización.

nuk3zito 04-11-2010 18:44:05

Cita:

Empezado por AzidRain (Mensaje 381310)
QUienes ya estan con lo del 2010 NO tienen que cambiar nada ya que la resolución claramente indica que pueden seguir con el esquema que tienen hasta finales de 2011.

Esto que mencionas es algo confuso, y no es que no te crea a ti, si no que en cada llamada que he hecho al SAT me dicen algo diferente. La respuesta que predomina es que la forma de sellado se queda tal y como está, pero por eso envié la liga de las FAQ en donde en una de las preguntas indican claramente que SI se debe cambiar el algoritmo usado para obtener la cadena de digestión.
Para esto mismo, cryptosys liberó el 2 de Noviembre el método para obtener el sellado usando SHA1 en lugar de MD5.
Repito, no es que no te crea a ti, pero debemos de creerle al SAT, no crees? El problema como te digo es que en cada llamada telefónica dicen algo diferente, y lo único escrito explícitamente para este tema es en las FAQ lo cual contradice lo que anteriormente se dijo de que la forma de sellado funcionaría en el 2011 "tal y como se hace hoy" en el caso de empresas que iniciaron con CFD's antes de 2011.

Si pudieras mostrarnos una URL en donde diga explícitamente que se seguirá usando MD5 en lugar de SHA1 te estaré agradecido, y no solo yo, creo que somos varios aunque la mayoría solo son lectores de este hilo.

Aqui vienen las FAQ que menciono:
http://www.sat.gob.mx/sitio_internet.../66_19430.html

Saludos.

lcarrasco 04-11-2010 18:47:28

Ayuda con comprobante emitido por Micro-e
 
1 Archivos Adjunto(s)
Hola amigos, disculpen desviarme un poco del tema para pedir ayuda. Lo que pasa es que estoy verificando si la libreria que hice (de codigo abierto) funciona adecuadamente. Para ello descargue la utilidad del SAT Micro-e ver 1.5 descargue los certificados, llave privada de ejemplo de persona con actividad empresarial e hice un comprobante, hasta ahi todo bien, sin embargo al usar mi libreria el sello es totalmente diferente, me estuve quebrando la cabeza todo un dia viendo porque, sin embargo subi el comprobante y el sello al validador del SAT y resulta que dice: "El sello no pudo ser verificado" sin mas detalles. Esto signfifica que la utilidad del SAT esta generando mal los comprobantes???

A alguien le ha pasado esto? es porque es la "version de prueba" del micro-e? hay alguna version mas nueva que la 1.5 ?? La descargue apenas hace 3 dias.

Anexo a este post los archivos que estoy usando asi como el PDF y el XML generado por el MicroE por si alguien puede generarla usando su codigo, programa, etc y verificar quien tiene la culpa.

Les estaria muy agradecido si me dan algunos tips.

PD. Aun no publico la liga al proyecto porque quiero liberar algo terminado y funcional y en cuanto logre pasar esta etapa les mando la liga. Aunque "dado" ya se ofrecio a colaborar y supongo la esta revisando.

AzidRain 04-11-2010 19:17:11

Micro-e va a seguir trabajando con el esquema 2010, de hecho la rsolución menciona que si empiezas a trabajar con el durante 2010 te quedas con el hasta que termine 2011 y no puedes cambiarte.

Por otro lado Nuk3sito, por teléfono es bastante difícil que te resuelvan dudas muy específicas, como es el caso, pues te atiende un operador entrenado en las cosas más comunes que preguntan, todo lo demás se va sobre una base de conocimiento a la que tienen acceso. Precisamente el taller al que te comento que asistí, fue dado por un especialista en la cuestión informática y otro en la cuestión fiscal por parte del SAT. Estos talleres son la mejor forma de obtener retroalimentación.

Te voy a buscar el fundamento legal para que veas que no tienes que cambiar nada, recuerda que en este caso una cosa es lo ténico y otra la legal. Podrán decirte que si va a cambiar y que no se cuanto, pero legalmente no tienes obligación de hacerlo, precisamente porque MD5 correspondia a como lo indicaba la resolución anterior y SHA1 es como lo indica la resolución nueva, si te apegas a lo legal no hay nada que te obligue (por mucho que te lo digan por teléfono u otro medio) a que lo cambies.

Prometo buscarte el fundamento, jejeje, discúlpenme porque de repente me oigo medio legaloide pero convivo con 2 que 3 contadores eruditos en materia fiscal pero sin mucha experiencia en lo técnico y pues ahi nos vamos ayudando unos con otros. Les pongo el link mas tarde

nuk3zito 04-11-2010 19:27:18

Orale, te agradezco mucho AzidRain.
Ya había iniciado con ese pequeño cambio pero había contemplado dejarlo parametrizable por si si o por si no. Pero tienes razón, por teléfono lo único que quieren es salir del problema.

Gracias y saludos.

AzidRain 04-11-2010 19:39:26

jeje Nuk3sito...lo que sobra no hace daño tratándose de software. Lo menos que puede pasar es que no tengas que usarlo pero es peor lo contrario

mirokiszel 05-11-2010 18:19:37

certificados raiz
 
Hola amigos,

necesito un poco de ayuda con la factura electronica que la implementamos en SAP. en sistema de test nos funciono todo bien.
ahora en productivo usamos los certificados raiz de la pagina de SAT
File ( 6 kB) Certificados raíz de los certificados que emite el SAT.


Sin embargo recibimos el error

Test signature
Signature ERROR - Unknown signer or recipient
Test encryption

Encryption ERROR - Unknown signer or recipient

entendi que a veces estos certificados raiz no son los correctos, pero deberian ser los reales ya que los proporciona SAT.

porque tenemos este error?

gracias

ContraVeneno 05-11-2010 23:33:47

Un problema muy común, es que se trata de utilizar el certificado de la FIEL en lugar del certificado de los CFDs... también la contraseña es sensible a más yúsculas y menos yúsculas... por ahí podría estar tu problema...

mirokiszel 06-11-2010 00:00:15

nosotros utilizamos los certificados FIEL para generar certificados CFDs.
despues de esto utilizamos los certificados raiz productivos (no de prueba) de la pagina de SAT para generar la factura.

entiendo que estos certificados de raiz son los ultimos que se necesitan para generar la factura....el archivo PSE.

desafortunamente tambien entendi que los certificados raiz que SAT proporciona son varios y depende cual ellos usaron para generar los certificados FIEL. si no son los mismos, compatible generan problemas....

alguien sabe como y donde encontrar el certificado raiz correcto si no en la pagina de SAT?

dado 06-11-2010 03:57:21

Cita:

Empezado por mirokiszel (Mensaje 381506)
nosotros utilizamos los certificados FIEL para generar certificados CFDs.
despues de esto utilizamos los certificados raiz productivos (no de prueba) de la pagina de SAT para generar la factura.

entiendo que estos certificados de raiz son los ultimos que se necesitan para generar la factura....el archivo PSE.

desafortunamente tambien entendi que los certificados raiz que SAT proporciona son varios y depende cual ellos usaron para generar los certificados FIEL. si no son los mismos, compatible generan problemas....

alguien sabe como y donde encontrar el certificado raiz correcto si no en la pagina de SAT?

No, no no, 'perate.

Estas revolviendo peras con manzanas.

Antes que nada OLVIDATE DEL CERTIFICADO RAIZ DEL SAT. Eso no tiene NADA que ver con factura electronica, bueno, no mucho.

La cosa esta asi :

Tienes que descargar un programa llamado SOLCEDI de la pagina del SAT, con ese programa y tu Certificado FIEL vas a solicitar (pon atencion) UN CERTIFICADO DE SELLOS DIGITALES

Ese CERTIFICADO DE SELLOS DIGITALES es personalizado y con ese vas a sellar tus facturas.

Fin----

Solo por aclarar, el CERTIFICADO RAIZ es otra cosa, ese es el certificado "PAPA" de todos los certificados FIEL y CSD, digamoslo asi, (en palitos y bolitas), si te llegara a tu correo un certificado FIEL de una persona y te dice "Este certificado me lo dio el SAT" entonces puedes usar el CERTIFICADO RAIZ del SAT y verificar su ADN (por decirlo de alguna forma), este ADN es el mismo para el Certificado Raiz padre y para el FIEL (hijo) y comprobar que efectivamente un certificado FIEL fue expedido por el SAT.

Dicho de otra forma, es la manera en que se evita que cualquier mortal genere una FIEL a su antojo.

Habia visto errores de usar la FIEL para sellar CFD, pero usar el Certificado Raiz....eso si esta en chino. :)

Mmmmh, ademas, como sellaste (lo que sea) con un Certificado Raiz ? Para eso necesitas la LLAVE PRIVADA del Certificado Raiz y esa seguramente solo la tiene Felipe Calderon (no es broma, asi de super-secreta debe ser la LLAVE PRIVADA de un Certificado Raiz del SAT)

mirokiszel 06-11-2010 18:22:44

gracias por estas aclaraciones. si me ayudan a entender el proceso....pero todavia no se porque recibo los errores.

Tienes que descargar un programa llamado SOLCEDI de la pagina del SAT, con ese programa y tu Certificado FIEL vas a solicitar (pon atencion) UN CERTIFICADO DE SELLOS DIGITALES....hasta aqui todo claro!
tambien consequimos la contrasena de clave privada.


al generar el archivo PSE recibimos este error:

ERROR: Incomplete certification path -- NEED certificate
of "unstructuredName=Responsable: Fernando MartÝnez Coss,
L=Cuauhtemoc,
SP=Distrito Federal, C=MX, postalCode=06300, ST="Av. Hidalgo 77, Col.
Guerrero", [email protected], O=Servicio de Administraci¾n
Tributaria, CN=A.C. del Servicio de Administraci¾n Tri"!

SAP Mexico nos dijo que buscamos los certificados raiz en pagina de SAT.
Certificados raíz de los certificados que emite el SAT es el archivo. y los encontramos.

despues de tener estos archivos recibimos un nuevo error:

Test signature
Signature ERROR - Unknown signer or recipient
Test encryption
Encryption ERROR - Unknown signer or recipient

y de aqui no sabemos como ir adelante....no sabemos que falta, que hicimos mal?


AzidRain 06-11-2010 22:04:01

No es por nada mirokiszel pero SAP sabe de este tema lo mismo que todos los que andamos en el hilo y creo que hasta menos. El problema con SAP fue que se metieron a diestra y siniestra con su producto y nunca contemplaron a fondo la legislación vigente, resulta paradójico que empresas mexicanas mas pequeñas ya tengan productos que funcionan perfectamente mientras SAP deja a sus usuarios "a la buena de Dios" practicamente para que ellos mismos busquen la solución. Sobre todo si tomamos en cuenta que no es un producto nada barato (ni siquiera en us versión "light" Bussiness One). Revisa lo que te comenta dado porque ahí te lo explico bastante bien. De cualquier forma como mencionaba posts atrás, les conviene más esperar al nuevo esquema precisamente porque te evitas hacer todo este circo con los certificados ya que no tienes que solicitar ya folios ni nada.

dado 06-11-2010 23:24:50

AzidRain tiene toda la razon del mundo, SAP tengo entendido se desarrolla en Alemania, pues seran muy chin... muy buenos, pero cuando se trata de hacer las cosas como se hacen en Mexico pues simplemente fallan.

Porque para empezar dices :

"Al generar el archivo PSE" ....y eso que es?

Y bueno, no es presuncion, solo por comentarte que he estudiado mucho acerca de la factura electronica y nunca he visto un archivo "PSE", he visto (y te puedo definir cada uno) archivos "CER", archivos "KEY", archivos "PEM" archivos "DER" archivos "X509" y archivos "PKCS8" pero nunca un "PSE",

Te sugiero que contactes con soporte tecnico de SAP porque aparentemente tienen un oscuro y complejo sistema de factura electronica

mirokiszel 08-11-2010 17:37:01

Hicimos pruebas en sistema de pruebas con archivos Cer_Sellos_2010_12.sda y Root_Cer_Sellos_2010-12.zip. Aqui estos ROOT Certificate/Certificatos de raiz funcionaron.

Quisimos despues hacer todo en sistema productivo.
Con programa SOLCEDI generamos un archivo .req, .key. Estos 2 los mandamos a SAT y recibimos otros archivo .cer. Con este archivo .cer generamos un nuevo .key y .sdg archivo. Nos faltaba contrasena de clave privada que nosotros mismos creamos. Despues de esto quisimos crear el archivo PME…. Y salio el primer error….

ERROR: Incomplete certification path -- NEED certificate
of "unstructuredName=Responsable: Fernando MartÝnez Coss,
L=Cuauhtemoc,
SP=Distrito Federal, C=MX, postalCode=06300, ST="Av. Hidalgo 77, Col.
Guerrero", [email protected], O=Servicio de Administraci¾n
Tributaria, CN=A.C. del Servicio de Administraci¾n Tri"!

SAP nos dijo que sacamos los certificados raiz de pagina de SAT, parte de comprobantes fiscales, archivos con nombres de certificados de raiz…y ahora tuvimos otro error.

Test signature
Signature ERROR - Unknown signer or recipient
Test encryption
Encryption ERROR - Unknown signer or recipient

De lo que nosotros entendemos y comparando con lo que paso en sistema de prueba….nos faltan certificados raiz que SAT uso para generar el ultimo archivo .cer que nos mando.

Este es el proceso completo. cual paso el incorrecto? si necesito los certificados raiz como los necesitabamos en sistema de prueba? Es que esos certificados de prueba si no los proporciono SAP, pero para el uso productivo solo los puede proporcionar SAT de lo que yo entiendo....



mirokiszel 08-11-2010 19:16:11

Voy a hacer una coreccion>>>
Hicimos pruebas en sistema de pruebas con archivos Cer_Sellos_2010_12.sda y Root_Cer_Sellos_2010-12.zip. Aqui estos ROOT Certificate/Certificatos de raiz funcionaron.

Quisimos despues hacer todo en sistema productivo.
Con programa SOLCEDI generamos un archivo .req, .key. Estos 2 los mandamos a SAT y recibimos otros archivo .cer. Con este archivo .cer generamos un nuevo .key y .reg y al final el .sdg. mandamos el archivo .sdg a SAT y recibimos un nuevo archivo .cer ( el de cellos) Nos faltaba contrasena de clave privada que nosotros mismos creamos. Despues de esto quisimos crear el archivo PME…. Y salio el primer error….

ERROR: Incomplete certification path -- NEED certificate
of "unstructuredName=Responsable: Fernando MartÝnez Coss,
L=Cuauhtemoc,
SP=Distrito Federal, C=MX, postalCode=06300, ST="Av. Hidalgo 77, Col.
Guerrero", [email protected], O=Servicio de Administraci¾n
Tributaria, CN=A.C. del Servicio de Administraci¾n Tri"!

SAP nos dijo que sacamos los certificados raiz de pagina de SAT, parte de comprobantes fiscales, archivos con nombres de certificados de raiz…y ahora tuvimos otro error.

Test signature
Signature ERROR - Unknown signer or recipient
Test encryption
Encryption ERROR - Unknown signer or recipient

De lo que nosotros entendemos y comparando con lo que paso en sistema de prueba….nos faltan certificados raiz que SAT uso para generar el ultimo archivo .cer que nos mando.

Este es el proceso completo. cual paso el incorrecto? si necesito los certificados raiz como los necesitabamos en sistema de prueba? Es que esos certificados de prueba si no los proporciono SAP, pero para el uso productivo solo los puede proporcionar SAT de lo que yo entiendo....



Roberto_Garcia 08-11-2010 20:17:09

Interface not supported
 
Saludos
He comenzado a trabajar con esto de los CFD para el sistema Aspel SAE 3.0 ya genere el archivo cfdv2.pas con XML Data Binding y ya redacte la carga de los datos pero al probarlo en esta instruccion
Código Delphi [-]
CFD := GetComprobante( XMLDoc );
me vota este error "Interface not supported" nunca habia usado XMLDocument a si que no tengo ni idea de donde revisar.

Código Delphi [-]

procedure TfpRUEBAS.CargarDatosCFD( TipoDocu, SaeFolio: string; DatosDb: T_ConfigDbSae;
  DatosEmisor: T_ConfigCFDEmisor );
var
  _FacD, _FacP, _Clie, _Inve: TTable;
  _DFacD: TDataSource;
  procedure _ConfigDb;
  begin
    _FacD := TTable.Create( nil );
    _FacP := TTable.Create( nil );
    _Clie := TTable.Create( nil );
    _Inve := TTable.Create( nil );
    _DFacD := TDataSource.Create( nil );
    DatosDb.TrasfiereDatos( tiFact0x, _FacD );
    DatosDb.TrasfiereDatos( tiFa0tyx, _FacP );
    DatosDb.TrasfiereDatos( tiClie0x, _Clie );
    DatosDb.TrasfiereDatos( tiInve0x, _Inve );
    _DFacD.DataSet := _FacD;
    _FacD.IndexName := 'FACT01';
    _FacP.IndexName := 'iTip_Doc';
    _Clie.IndexName := 'CCLIE';
    _Inve.IndexName := 'Clv_Art';
    _FacP.MasterSource := _DFacD;
    _FacP.MasterFields := 'TIP_DOC;CVE_DOC';
    _FacD.Open;
    _FacP.Open;
    _Clie.Open;
    _Inve.Open;
    if not _FacD.FindKey( [ TipoDocu, SaeFolio ] ) then begin
      MessageDlg( 'No se encontro el documento', mtWarning, [ mbOk ], 0 );
      XMLDoc.Active := False;
      Abort;
    end;
    if not _Clie.FindKey( [ _FacD.FieldByName( 'Cve_ClPv' ).Value ] ) then begin
      MessageDlg( 'No se encontro el Cliente', mtWarning, [ mbOk ], 0 );
      XMLDoc.Active := False;
      Abort;
    end;
  end;
begin
  XMLDoc.XML.Text := '<? xml version="1.0" encoding="UTF-8" ?> <Comprobante xmlns="---sat.gob.mx/cfd"> </Comprobante >';
  XMLDoc.Active := True;
  CFD := GetComprobante( XMLDoc ); // *** al ejecutar esta instruccion me vota el error
  CFD.SetAttribute( 'xmlns:xsi', '---w3.org/2001/XMLSchema-instance' );
  CFD.SetAttribute( 'xsi:schemaLocation', '---sat.gob.mx/cfd ---sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd' );
  _ConfigDb;
  with CFD do begin
    Version := '2.0';
    Serie := 'A';
    Folio := '1';
    Fecha := DateTimeToStr( Now );
    { TODO : Falta especifcar "Sello" }
    { TODO : Falta especifcar "NoAprobacion" }
    { TODO : Falta especifcar "AnoAprobacion" }
    FormaDePago := 'Pago en una sola exhibición';
    { TODO : Falta especifcar "NoCertificado" }
    { TODO : Falta especifcar "Certificado" }
    CondicionesDePago := IntToStr( _Clie.FieldValues[ 'Dias_Cred' ] ) + ' Dias';
    SubTotal := FloatToStrF( _FacD.FieldValues[ 'Can_tot' ], ffNumber, 14, 2 );
    Descuento := FloatToStrF( _FacD.FieldValues[ 'Des_tot' ], ffNumber, 14, 2 );
//  MotivoDescuento // Opcional
    Total := FloatToStrF(
      ( _FacD.FieldValues[ 'Can_tot' ] - _FacD.FieldValues[ 'Des_Tot' ] ) +
      _FacD.FieldValues[ 'Imp_Tot4' ], ffNumber, 14, 2 );
//  MetodoDePago // Opcional
    if TipoDocu = 'F' then
      TipoDeComprobante := 'ingreso' // ingreso egreso traslado
    else if TipoDocu = 'D' then
      TipoDeComprobante := 'egreso';
    with Emisor do begin
      Rfc := DatosEmisor.Rfc; // SIN ESPACIOS O GUIONES
      Nombre := DatosEmisor.Nombre;
      with DomicilioFiscal do begin
        Calle := DatosEmisor.DomFisCalle;
        NoExterior := DatosEmisor.DomFisNoExterior;
        NoInterior := DatosEmisor.DomFisNoInterior;
        Colonia := DatosEmisor.DomFisColonia;
        Localidad := DatosEmisor.DomFisLocalidad;
        Referencia := DatosEmisor.DomFisReferencia;
        Municipio := DatosEmisor.DomFisMunicipio;
        Estado := DatosEmisor.DomFisEstado;
        Pais := DatosEmisor.DomFisPais;
        CodigoPostal := DatosEmisor.DomFisCodigoPostal;
      end;
      with ExpedidoEn do begin
        Calle := DatosEmisor.ExpEnCalle;
        NoExterior := DatosEmisor.ExpEnNoExterior;
        NoInterior := DatosEmisor.ExpEnNoInterior;
        Colonia := DatosEmisor.ExpEnColonia;
        Localidad := DatosEmisor.ExpEnLocalidad;
        Referencia := DatosEmisor.ExpEnReferencia;
        Municipio := DatosEmisor.ExpEnMunicipio;
        Estado := DatosEmisor.ExpEnEstado;
        Pais := DatosEmisor.ExpEnPais;
        CodigoPostal := DatosEmisor.ExpEnCodigoPostal;
      end;
    end; // with emisor
    with Receptor do begin
      Rfc := _Clie.FieldValues[ 'Rfc' ];
      Nombre := _Clie.FieldValues[ 'Nombre' ];
      with Domicilio do begin
        Calle := _Clie.FieldValues[ 'Dir' ];
        //NoExterior := ; //opcional
        //NoInterior := ; //opcional
        Colonia := _Clie.FieldValues[ 'Colonia' ];
        //Localidad := //opcional
        //Referencia :=  //opcional
        Municipio := _Clie.FieldValues[ 'Pob' ];
        //Estado := //opcional
        Pais := _Clie.FieldValues[ 'Campostru2' ];
        CodigoPostal := _Clie.FieldValues[ 'Codigo' ];
      end;
    end; //With Receptor
    while not _FacP.Eof do begin
      with cfd.conceptos.add do begin
        Cantidad := FloatToStr( _FacP.FieldValues[ 'Cant' ] );
        Unidad := _FacP.FieldValues[ 'UNI_VENTA' ];
        //NoIdentificacion // opcional
        if _Inve.FindKey( [ _FacP.FieldValues[ 'Cve_Art' ] ] ) then
          Descripcion := _Inve.FieldValues[ 'Descr' ]
        else
          Descripcion := _FacP.FieldValues[ 'Cve_Art' ];
        ValorUnitario := FloatToStrF( _FacP.FieldValues[ 'Prec' ], ffNumber, 14, 2 );
        Importe := FloatToStrF( _FacP.FieldValues[ 'Prec' ] * _FacP.FieldValues[ 'Cant' ],
          ffNumber, 14, 2 );
        //InformacionAduanera  // no aplica
        //CuentaPredial // no aplica
        //ComplementoConcepto // no aplica
        //Parte // no aplica
      end;
      _FacP.Next;
    end;
    with Impuestos do begin
      //TotalImpuestosRetenidos  // no aplica
      TotalImpuestosTrasladados := _FacD.FieldValues[ 'Tot_Imp4' ];
      //Retenciones     // no aplica
      with Traslados.Add do begin
        Impuesto := 'IVA';
        Tasa := '16';
        Importe := FloatToStrF( _FacD.FieldValues[ 'Tot_Imp4' ],
          ffNumber, 14, 2 );
      end; //With Traslados
    end; //With Impuestos
    //Complemento
    //Addenda
  end; // with CFD
end;

E=M*C^2 09-11-2010 06:26:09

Componente para factura electrónica
 
Quiero comentar que estoy a punto de liberar una librería de clases que te permite de forma rápida y sencilla generar un CFD y CFDI y lo lo mejor de todo, es que son totalmente gratuitas.

Si quieren leer mas del tema puedes entrar

electronicdocument.wordpress.com

lcarrasco 10-11-2010 20:46:45

Libreria de Facturacion Electronica de codigo abierto
 
Hola amigos, despues de varias semanas de desarrollo, pruebas, lectura del foro, etc en la empresa que tenemos decidimos liberar el codigo que estaremos usando para la facturación electrónica como código abierto para que la comunidad se beneficie. Pueden ver más información sobre este proyecto asi como descargarlo junto con ejemplos, etc de la siguiente liga:

ww.bambucode.com/codigoabierto/facturacion_electronica_delphi.php

(Falta ponerle una w al principio ya que aun no tengo derechos para poner ligas).

Agradezco publicamente a "dado" por su ayuda en algunas preguntes que han surgido asi como su ofrecimiento para abrir un foro de ayuda para el proyecto en su sitio web.

Y aunque probablemente no sea la unica librería ni lo será, como comento nuestro compañero Dario, publicamos el código de esta librería ya que al menos hace unos meses no encontramos nada parecido y lo vimos como una necesidad que beneficiaría a toda la comunidad en este tema de facturación electrónica que puede llegar a ser bastante complejo.

Gracias a este foro y a toda la comunidad por compartir el conocimiento, esperamos esta sea una manera de regresar algo a cambio.

P.D. La libreria es 100% gratuita y libre de dependencias (fuera de los DLL de OpenSSL).

Saludos!

lcarrasco 10-11-2010 21:31:05

Algunas ventajas de la libreria
 
Debido a que se paso el tiempo de edicion del mensaje anterior, menciono algunas ventajas de la libreria:

- Hecha 100% en clases para que sea facil de usar en cualquier proyecto.
- Usa OpenSSL y no requiere librerias o DLLs adicionales.
- Realiza el sellado de la factura llamando directamente al DLL de OpenSSL y usando la llave privada en formato .key por lo que no es necesario convertirla a formato PEM evitando los problemas de tener el archivo PEM sin llave de por medio en el disco duro del usuario.
- Obtiene el certificado en base64 para incluirlo en la factura XML directo de la libreria OpenSSL por lo que no se usa para nada llamados a openssl.exe
- Todas las funciones y procedimientos son probados con pruebas de unidad (a traves de DUnit).
- 100% codigo abierto y gratuita.

Saludos!

LordRiper 11-11-2010 02:12:33

gracias y felicidades!!!

AzidRain 11-11-2010 18:34:31

La regla II.2.23.3.3 de la RMF dice literalmente :

“… Para los efectos de lo dispuesto por el artículo 29, fracción IV, párrafos segundo al quinto del CFF, para obtener la autorización como proveedor de certificación de CFDI autorizado, los contribuyentes deberán cumplir con lo dispuesto en la ficha 153/CFF “Solicitud para obtener autorización para operar como proveedor de certificación de CFDI” contenida en el Anexo 1-A…“.

Y la ficha 153/CFF, en su fracción XV, literalmente dice:

“… Validar y certificar de manera gratuita los CFDI que generen los contribuyentes a partir de la aplicación gratuita, así como cumplir con las características funcionales y servicios generales, los cuales están publicados en la página de Internet del SAT…“.

Por otro lado tampoco hemos hablado del la NOM-151 que tiene que ver con el almacenamiento de los CFDi y también está bastante confusa.

Sin duda fue una atinada idea el liberar la librería porque el beneficio se regresará a sus autores en cuanto la comunidad la empiece a enriquecer.

edgaronfo 11-11-2010 19:13:56

Felicidades!
 
Cita:

Empezado por lcarrasco (Mensaje 381986)
Debido a que se paso el tiempo de edicion del mensaje anterior, menciono algunas ventajas de la libreria:

- Hecha 100% en clases para que sea facil de usar en cualquier proyecto.
- Usa OpenSSL y no requiere librerias o DLLs adicionales.
- Realiza el sellado de la factura llamando directamente al DLL de OpenSSL y usando la llave privada en formato .key por lo que no es necesario convertirla a formato PEM evitando los problemas de tener el archivo PEM sin llave de por medio en el disco duro del usuario.
- Obtiene el certificado en base64 para incluirlo en la factura XML directo de la libreria OpenSSL por lo que no se usa para nada llamados a openssl.exe
- Todas las funciones y procedimientos son probados con pruebas de unidad (a traves de DUnit).
- 100% codigo abierto y gratuita.

Saludos!

Súper bien! sigan así! excelente!

Saludos!

AzidRain 11-11-2010 21:34:04

Mi ultimo post quedó incompleto, solo aparece la cita, quería comentar que la librería no se si funcione con el esquema del 2011 ya que cambia el cifrado y además comentar que el servicio de "sellado" no será gratuito (al menos no mientras no cambien la regla) de acuerdo a lo que puse en la cita. A como está ahorita quien opte por empezar a hacer sus propias facturas, está obligado a seguir así durante todo 2011. Disculpen el lapsus

lcarrasco 11-11-2010 22:13:13

Libreria
 
Aclarando, efectivamente la libreria funciona para hacer CFD v2.0 donde, segun yo, cualquier contribuyente que empiece a facturar durante este 2010 podrá operar bajo este esquema por tiempo "indefinido" por lo que la libreria es util para cualquiera que comience durante el 2010 a facturar electronicamente. Si por el contrario se quiere EMPEZAR a facturar electronicamente del 1 de Enero del 2011 en adelante se tiene que empezar obligatoriamente a facturar los CFDi o comprobantes por internet y todos los cambios que se necesiten.

Ya estoy trabajando en implementar dicha funcionalidad pero queria liberar la libreria como esta para la gente que le sea util y si alguien se apunta a ayudarme con la implementacion de los CFDi es mas que bienvenido.

Saludos!

AzidRain 12-11-2010 00:23:52

No te preocupes lcarrasco, solo quise hacer la aclaración pues este tema no es nada más técnico sino también legal y ahi es donde muchos clientes siempre pegan de brincos. Y muchos que estamos en esto no le prestamos atención, por lo demás solo quiero aclararte que el esquema "2.0" no funcionará "por tiempo indefinido" sino solo durante 2011. Por otro lado mencioné lo de los cambios al esquema "3.0" (CDIs) precisamente porque a menos que ya tengan una plataforma probada y funcional (aún con la ayuda la la librería) no hay tiempo suficiente para implementar una solución que cumpla con lo la legislación vigente. De hecho en mi caso opté por parar todo desarrollo relativo precisamente por eso y esperar a 2011 ya que faltan aún reglas por publicarse de parte del SAT. No dudes que cuanta información obtenga te la haré llegar pues sin duda es un esfuerzo muy bueno el que hicieron y vale la pena mantenerlo de parte de todos los que estamos en esto.

AzidRain 12-11-2010 18:32:47

"Hoygan" jeje. Les recomiendo que escuchen un programa de radio que pasa por Radio Red los Jueves a las 10 de la noche, es sobre temas fiscales pero están tratando precisamente esto de la factura electrónica y se puede llamar para hacer preguntas. Además de que contestan al aire.

dado 13-11-2010 13:54:36

Cita:

Empezado por Roberto_Garcia (Mensaje 381714)
XMLDoc.XML.Text := '<? xml version="1.0" encoding="UTF-8" ?> <Comprobante xmlns="---sat.gob.mx/cfd"> </Comprobante >';


En algun punto estas formando mal tu XML.

Intenta XMLDoc.XML.Text = ''; por el momento, para que no truene, luego empieza a agregarle encabezados, mi sospecha es que tienes un espacio en blanco en el ultimo tag </Comprobante___>

Nos comentas como quedo al final

E=M*C^2 16-11-2010 05:10:45

Liberada la librería para generar CFD y CFDI
 
Solamente quiero comentar que ya esta libera la primera versión de la librería que permite el CFD y CFDI, como se le conoce comúnmente: la factura electrónica.


Pueden leer mas de esto aquí:

electronicdocument.wordpress.com

dado 16-11-2010 15:17:56

Cita:

Empezado por E=M*C^2 (Mensaje 382422)
Solamente quiero comentar que ya esta libera la primera versión de la librería que permite el CFD y CFDI, como se le conoce comúnmente: la factura electrónica.


Pueden leer mas de esto aquí:

electronicdocument.wordpress.com


Excelente aportacion.

Oye que sabes acerca del envio al PAC para el timbrado?

Ese asunto es urgente..........

nejamube 16-11-2010 16:02:46

NO FUNCIONA en D2010
 
Cita:

Empezado por E=M*C^2 (Mensaje 382422)
Solamente quiero comentar que ya esta libera la primera versión de la librería que permite el CFD y CFDI, como se le conoce comúnmente: la factura electrónica.


Pueden leer mas de esto aquí:

electronicdocument.wordpress.com

Buen trabajo, pero no funciona en la version Delphi 2010 y supongo que tampoco en D2011.

:(

Roberto_Garcia 16-11-2010 23:15:12

Cita:

Empezado por dado (Mensaje 382249)
En algun punto estas formando mal tu XML.

Intenta XMLDoc.XML.Text = ''; por el momento, para que no truene, luego empieza a agregarle encabezados, mi sospecha es que tienes un espacio en blanco en el ultimo tag </Comprobante___>

Nos comentas como quedo al final

Gracias dado por la sugerencia ya quedo solucionado

Código Delphi [-]
  XMLDoc.Active := True;
  XMLDoc.Version := '1.0';
  XMLDoc.Encoding := 'UTF-8';
  CFD := GetComprobante( XMLDoc );
  CFD.DeclareNamespace( 'xsi', '---.w3.org/2001/XMLSchema-instance' );
  CFD.Schema := '---.sat.gob.mx/cfd/2 ---.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd';

Roberto_Garcia 16-11-2010 23:58:15

Un solo CFD tres sellos distintos todos los valida
 
Saludos tengo una duda haciendo pruebas con diversos contenidos tuve un problema con la funcion SelloDigital de la unidad Sello.pas proprocionada por felipe el problema era el tamallo del buffer de entrada ya que generaba una cadena muy grande asi que lo modifique

Código Delphi [-]
function SelloDigital( llaveprivada, cadenaoriginal: string ): string;
var Len: cardinal;
  mdctx: EVP_MD_CTX;
  //  inbuf, outbuf: array[ 0..1023 ] of char; // original
  inbuf: array[ 0..8192 ] of char; // modificacion
  outbuf: array[ 0..1023 ] of char;
  key: pEVP_PKEY;
begin

y asi se solucionaba el problema. Accidentalmente genere un documento que ya habia sigo generado con el buffer de [0..1023] y me di cuenta de que el sello cambia:

buffer [0..1023] sello = J8De10sWc5XjCcM3YkPd405B6mPsHu1J9ujPK5NwjV8bpkg5sslVw2wf10Irn5T1V1WunKPCJ78+7Ctn7H0yY5H3/nhrjnJ49pzAT+bmdmb/5D9U7EXNu8dRojJ4whc+x0IcHBz6eBXkT422iGL2F4OC2wTJjclmCd08PHiiskQ=

buffer [0..8192] sello =
D17vTGYcaG5RksH9hiZZ/xEi7yBvhqF1Jn35T3NitMwPu7au1kqTmCEbG4zDqH595Q14LSWdWBQfz/7gajIFwwMkvkXOt1VGng4iC/WKUw1aU/1VwqfdX4MWSC/YgGqUYH6DFqwSIc3pp3TdxRY5Y8pLULaxxLJXC18XKQFThFI=

Probe ambos en el validador de hacienda ---.consulta.sat.gob.mx/SICOFI_WEB/ModuloECFD_Plus/ValidadorComprobantes/Validador.html y resulta que los dos CFD me los validaba.

Mi pregunta es ¿se puede modificar el buffer? y si es asi ¿afecta que genere un sello distinto?

AzidRain 17-11-2010 01:42:10

El "sello" o timbrado va a depender de las reglas que publique en el SAT antes del 31 de diciembre. Recordemos que una cosa es la ley de ingresos y otra los reglamentos. Como está la librería publicada funciona a la perfección para el esquema actual, pero tendremos que esperar para actualizarla al nuevo. Desgraciadamente esto ya se sale un poco de lo técnico pero así es. Hay que estar pendientes para actuar rápidamente.

Por cierto muchas empresas están sugiriendo que "te apures para adoptar las 'grandes ventajas' que ofrece el SAT si adoptas este esquema en este 2010", no digo nombres pero nada mas falso precisamente las ventajas son mayores a quien se espere al siguiente esquema. Estaré al pendiente y les seguiré informando...

E=M*C^2 17-11-2010 04:08:37

Cita:

Empezado por dado (Mensaje 382453)
Excelente aportacion.

Oye que sabes acerca del envio al PAC para el timbrado?

Ese asunto es urgente..........

Hola...

Como tal si tengo información acerca del tema, pero por no se me es permitido comentar al respecto.

Lo que site puedo decir es que la biblioteca de clases que he creado permitirá la generación del CFDI. Ya he publicado mas informacion al respecto

dado 23-11-2010 00:10:49

Cita:

Empezado por Roberto_Garcia (Mensaje 382513)
Saludos tengo una duda haciendo pruebas con diversos contenidos tuve un problema con la funcion SelloDigital de la unidad Sello.pas proprocionada por felipe el problema era el tamallo del buffer de entrada ya que generaba una cadena muy grande asi que lo modifique


Código Delphi [-]
function SelloDigital( llaveprivada, cadenaoriginal: string ): string;
var Len: cardinal;
mdctx: EVP_MD_CTX;
// inbuf, outbuf: array[ 0..1023 ] of char; // original
inbuf: array[ 0..8192 ] of char; // modificacion
outbuf: array[ 0..1023 ] of char;
key: pEVP_PKEY;
begin





y asi se solucionaba el problema. Accidentalmente genere un documento que ya habia sigo generado con el buffer de [0..1023] y me di cuenta de que el sello cambia:

buffer [0..1023] sello = J8De10sWc5XjCcM3YkPd405B6mPsHu1J9ujPK5NwjV8bpkg5sslVw2wf10Irn5T1V1WunKPCJ78+7Ctn7H0yY5H3/nhrjnJ49pzAT+bmdmb/5D9U7EXNu8dRojJ4whc+x0IcHBz6eBXkT422iGL2F4OC2wTJjclmCd08PHiiskQ=

buffer [0..8192] sello =
D17vTGYcaG5RksH9hiZZ/xEi7yBvhqF1Jn35T3NitMwPu7au1kqTmCEbG4zDqH595Q14LSWdWBQfz/7gajIFwwMkvkXOt1VGng4iC/WKUw1aU/1VwqfdX4MWSC/YgGqUYH6DFqwSIc3pp3TdxRY5Y8pLULaxxLJXC18XKQFThFI=

Probe ambos en el validador de hacienda ---.consulta.sat.gob.mx/SICOFI_WEB/ModuloECFD_Plus/ValidadorComprobantes/Validador.html y resulta que los dos CFD me los validaba.

Mi pregunta es ¿se puede modificar el buffer? y si es asi ¿afecta que genere un sello distinto?

Asegurate que estas firmando el mismisimo XML SIN CAMBIO EN LA FECHA y hora de elaboracion, ya que si cambia la fecha y hora de elaboracion entonces cambia el sello.

dado 23-11-2010 00:13:46

Cita:

Empezado por E=M*C^2 (Mensaje 382533)
Hola...

Como tal si tengo información acerca del tema, pero por no se me es permitido comentar al respecto.

Lo que site puedo decir es que la biblioteca de clases que he creado permitirá la generación del CFDI. Ya he publicado mas informacion al respecto

Crees que pueda haber informacion para diciembre?

En este momento no hay PAC's y no hay informacion del timbrado, dudo que alguien pueda crear un solo CFDI entrando el 2011.

E=M*C^2 23-11-2010 05:31:23

Cfdi
 
Cita:

Empezado por dado (Mensaje 383025)
Crees que pueda haber informacion para diciembre?

En este momento no hay PAC's y no hay informacion del timbrado, dudo que alguien pueda crear un solo CFDI entrando el 2011.


No sé a qué te refieras con información, pero si de lo que se trata es a generar un CFDI, déjame comentarte que las reglas ya están totalmente definidas.

Es cierto lo que comentas, en este momento no existe una empresa en el país, que haya sido certificada como PAC, pero si conozco varias que están en dicho proceso.

La información del timbrado ya está definida, tal vez a lo que refieres es como te vas a comunicar con el PAC, bueno, déjame comentarte que en esa parte ya varios de las empresas que están trabajando en la certificación, tiene definido el modelo de trabajo; pero como te comento es algo que no se me tiene permitido divulgar.

En cuanto a la generación del CFDI entrando el 2011, también tengo mis dudas, pero bueno, eso es algo que el tiempo lo dira.

Y repito, lo único que si puedo asegurar es que toda esa funcionalidad y muchas estará presente en la biblioteca de clases que he generado, que aprovechando déjenme decirles que ya estor pronto por liberar la siguiente versión en donde podrán generar el CFD con todo tipo de complementos.

Si alguien le interesa revisarlas, les dejo la liga.

http://electronicdocument.wordpress.com/

dado 25-11-2010 01:22:43

ORO !! ya esta la informacion publica acerca del timbrado.

http://www.validacfd.com/phpbb3/viewtopic.php?f=9&t=232

Saludos,


La franja horaria es GMT +2. Ahora son las 22:40:07.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi