Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Ley antifraude 2021 (VERIFACTU) - Programas informáticos (https://www.clubdelphi.com/foros/showthread.php?t=95235)

ramherfer 09-05-2023 22:04:08

Cita:

Empezado por Casimiro Notevi (Mensaje 551422)
Algo así:


Código Delphi [-]
uses
  IdHash, IdHashSHA, IdGlobal, SysUtils;

function CalculateFileHash(const FileName: string): string;
var
  FileStream: TFileStream;
  SHA256Hash: TIdHashSHA256;
  HashBytes: TBytes;
begin
  FileStream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
  try
    SHA256Hash := TIdHashSHA256.Create;
    try
      HashBytes := SHA256Hash.HashValue(FileStream);
      Result := LowerCase(BytesToHex(HashBytes));
    finally
      SHA256Hash.Free;
    end;
  finally
    FileStream.Free;
  end;
end;

// Ejemplo de uso:
procedure TForm1.Button1Click(Sender: TObject);
var
  FileName: string;
  HashValue: string;
begin
  FileName := 'ruta_del_archivo.xml';
  HashValue := CalculateFileHash(FileName);
  ShowMessage('Hash SHA256 del archivo XML: ' + HashValue);
end;

Gracias Casimiro, pero eso sería para crear el hash del fichero xml, pero lo que tiene que llevar es en el campo huella el hash sólo del contenido del nodo <RegistroFacturacion>contenido</RegistroFacturacion>. Entonces el problema es que no tengo ni pajolera idea de como pasar el nodo completo a widestring (por ejemplo) para calcular el hash del string y pasarlo al campo huella. Agradezco tu respuesta mil+1

ramherfer 10-05-2023 20:06:23

Bueno pues ya lo tengo, he recibido ayuda de valor incalculable, Si no, no lo consigo ni de coña. Ojo que como ya se había hablado, es bien distinto calcular el hash con el fichero xml formateado indentado que sin formato evidentemente los CR LF varian el valor del Hash. ¿Cómo se tendrá que hacer? pues sorpresa, pero por lo menos lo está haciendo. Luego es más fácil corregir y adaptar que empezar desde cero. Las cosas deprisa y corriendo por muy claras que las tengas, no suelen salir igual.
Observaciones estoy creando el hash mientras estoy creando el xml.

Aquí va el código, cualquier sugerencia u objeción sería bien recibida.

Código:

 

var
  archivoXML: TXMLDocument;
  NDatosControl, NCabecera : IXMLNode;
  NodoSistema, NodoRegistroAltaFacturas, NodoRegistroFacturacion: IXMLNode;
  ContenidoNodoRegistroFacturacion: WideString;
  Huella: String;

    · · ·

    NDatosControl := NCabecera.AddChild( 'DatosControl' );
    Nodo := NDatosControl.AddChild( 'Huella' );
    //***** Calculo Hash RegistroFacturacion
    NodoSistema := archivoXML.DocumentElement;
    NodoregistroAltaFacturas := NodoSistema.ChildNodes.FindNode('RegistroAltaFacturas');
    if Assigned(NodoregistroAltaFacturas) then
    begin
      NodoRegistroFacturacion := NodoRegistroAltaFacturas.ChildNodes.FindNode('RegistroFacturacion');
      if Assigned(NodoRegistroFacturacion) then
        ContenidoNodoRegistroFacturacion := NodoRegistroFacturacion.XML;
    end;
    Huella := CalculaStrHashSHA256(ContenidoNodoRegistroFacturacion, checkBox1.Checked);
    //****** Fin calculo huella SHA256
    Nodo.Text := Huella;
    Nodo := NDatosControl.AddChild( 'TipoHash' );
    Nodo.Text := '01';

    · · ·

La función CalculaStrHashSHA256 esta contenida en una librería DLL. Si alguien necesita el código de la librería lo pongo, aunque es bien sencillo.
He comprobado los Hash resultantes con la herramienta online https://emn178.github.io/online-tools/sha256.html y en principio están perfectos.

edari 11-05-2023 12:43:29

Pongo por adelantado que no he empezado a hacer anda de esto hasta que no sea todo más o menos definitivo.



Me he leído el hilo y esperando la nueva "movida" que nos llega.



Yo también tendré que generar el Hash sha256 desde un proceso externo y no sé si puedo usar utilidades tipo CERTUTIL del propio sistema operativo o me estoy liando bien liado...


https://www.dell.com/support/kbdoc/e...re-y-antivirus


Insisto que igual estoy diciendo una burrada pero bueno por si os suena este tipo de utilidades. Perdón de antemano...



Gracias...

ermendalenda 19-05-2023 21:48:01

Cita:

Empezado por edari (Mensaje 551437)
Pongo por adelantado que no he empezado a hacer anda de esto hasta que no sea todo más o menos definitivo.


Me he leído el hilo y esperando la nueva "movida" que nos llega.



Yo también tendré que generar el Hash sha256 desde un proceso externo y no sé si puedo usar utilidades tipo CERTUTIL del propio sistema operativo o me estoy liando bien liado...


https://www.dell.com/support/kbdoc/e...re-y-antivirus


Insisto que igual estoy diciendo una burrada pero bueno por si os suena este tipo de utilidades. Perdón de antemano...



Gracias...

Hay apis de windows que se pueden incluir, no creo que desarrollers en un lenguaje que no se pueda, tendría que ser cobol qbasic o gwbasic

edari 22-05-2023 09:15:33

Cita:

Empezado por ermendalenda (Mensaje 551541)
Hay apis de windows que se pueden incluir, no creo que desarrollers en un lenguaje que no se pueda, tendría que ser cobol qbasic o gwbasic


Mi duda es si el Hash que da ese sistema es correcto o no...

ermendalenda 22-05-2023 09:48:48

Cita:

Empezado por edari (Mensaje 551557)
Mi duda es si el Hash que da ese sistema es correcto o no...

Es perfecto ya tengo generados millones de tiquets y faxturas en formato verifactu y el hash es comprobado por un tercero al que le mando los datos y no hay un solo error

edari 22-05-2023 09:50:49

Cita:

Empezado por ermendalenda (Mensaje 551558)
Es perfecto ya tengo generados millones de tiquets y faxturas en formato verifactu y el hash es comprobado por un tercero al que le mando los datos y no hay un solo error




Gracias ermendalenda ^\||/

ermendalenda 26-05-2023 12:49:54

*** Corrección Ejemplos Facturas Verifactu ***
 
Buenas tardes, en los xmls de ejemplos que puse de factura ordinarias y/o sustitutivas no estaba incluido el nodo
《sum1:Contraparte>

Tes 07-06-2023 11:41:48

Duda normativa VERIFACTU
 
!Hola! ¿Qué tal? Soy nueva en el foro, es mi primer mensaje. Encantada de conoceros a todos.

Estoy haciendo una investigación para el equipo de desarrollo de mi empresa y tengo una duda existencial en cuanto a la normativa. Os agradecería infinito si pudierais ayudarme.

Hasta donde he podido investigar, la ley antifraude, de momento, dice que: “Todas las empresas y autónomos deberán expedir y remitir facturas electrónicas en sus relaciones comerciales con otras empresas y autónomos”

Sin embargo, TicketBAI obliga a todo tipo de empresas e incluye al cliente final (no solo a otras empresas y autónomos), es decir, con TicketBAI cualquier pequeño comercio (peluquería, bar, etc.) tiene que enviar a las respectivas haciendas forales todas las operaciones de venta que realice por cualquier servicio al cliente final.

¿Sabéis si con VERIFACTU será igual? ¿Está indicado en alguna normativa que no he sido capaz de encontrar?

¡Muchas gracias por vuestra ayuda y feliz día! :)

newtron 07-06-2023 11:56:03

Cita:

Empezado por Tes (Mensaje 551667)
!Hola! ¿Qué tal? Soy nueva en el foro, es mi primer mensaje. Encantada de conoceros a todos.

Estoy haciendo una investigación para el equipo de desarrollo de mi empresa y tengo una duda existencial en cuanto a la normativa. Os agradecería infinito si pudierais ayudarme.

Hasta donde he podido investigar, la ley antifraude, de momento, dice que: “Todas las empresas y autónomos deberán expedir y remitir facturas electrónicas en sus relaciones comerciales con otras empresas y autónomos”

Sin embargo, TicketBAI obliga a todo tipo de empresas e incluye al cliente final (no solo a otras empresas y autónomos), es decir, con TicketBAI cualquier pequeño comercio (peluquería, bar, etc.) tiene que enviar a las respectivas haciendas forales todas las operaciones de venta que realice por cualquier servicio al cliente final.

¿Sabéis si con VERIFACTU será igual? ¿Está indicado en alguna normativa que no he sido capaz de encontrar?

¡Muchas gracias por vuestra ayuda y feliz día! :)


Buenas. Comentarte que ese texto que indicas creo que se refiere a la facturación electrónica que es otra "guerra" y que igualmente está pendiente de normalizar.


El tema verifactu pensamos que será parecido a ticketbai pero todavía no hay mucho al respecto así que muchos de nosotros estamos a la espera de noticias.



Resumiendo: Que alguien me corrija si me equivoco pero de momento no hay mucho detalle de cómo implementar ni la facturación electrónica ni verifactu.


Saludos.

Tes 07-06-2023 12:03:23

Cita:

Empezado por newtron (Mensaje 551668)
Buenas. Comentarte que ese texto que indicas creo que se refiere a la facturación electrónica que es otra "guerra" y que igualmente está pendiente de normalizar.


El tema verifactu pensamos que será parecido a ticketbai pero todavía no hay mucho al respecto así que muchos de nosotros estamos a la espera de noticias.



Resumiendo: Que alguien me corrija si me equivoco pero de momento no hay mucho detalle de cómo implementar ni la facturación electrónica ni verifactu.


Saludos.

¡Muchas gracias por tu respuesta!

¿Quieres decir que se prevee que con VERIFACTU también los comercios que venden productos o servicios a cliente final (no empresa) tengan que enviar las facturas a la AEAT, pero que no está confirmado por el momento?

Gracias :)

newtron 07-06-2023 12:13:59

Cita:

Empezado por Tes (Mensaje 551669)
¡Muchas gracias por tu respuesta!

¿Quieres decir que se prevee que con VERIFACTU también los comercios que venden productos o servicios a cliente final (no empresa) tengan que enviar las facturas a la AEAT, pero que no está confirmado por el momento?

Gracias :)


Según yo entiendo cualquier operación de venta desde cualquier dispositivo ya sean facturas normales o simplificadas (antiguos tickets) tendrá que estar a disposición de la AEAT bien enviando de forma directa o bien a petición de ellos por lo que todo software tendrá que tener la capacidad de enviar esa información a sus servidores. Por otro lado van a dar la opción de hacer el envío de forma voluntaria o no enviar a no ser que te lo requieran pero (por supuesto) chantajeando (y esto lo han dicho ellos) con que los que no envíen los datos de forma voluntaria estarán más vigilados que los que si lo hacen.


Saludos.

Neftali [Germán.Estévez] 07-06-2023 12:18:16

Cita:

Empezado por Tes (Mensaje 551669)
¿Quieres decir que se prevee que con VERIFACTU también los comercios que venden productos o servicios a cliente final (no empresa) tengan que enviar las facturas a la AEAT, pero que no está confirmado por el momento?

Eso es lo que parece.
Por lo poco que se sabe los tiros van por donde ha ido TicketBAI, osea que la respuesta es que si.

Pero tal y como ha comentado [newtron] por ahora no hay nada y dado que en breve hay elecciones y además es bastante probable que se cambie de gobierno, yo lo "dejaría todo en barbecho", porque es posible que la cosa se paralice o se alargue bastante.

De aquí a que lo decidan, lo piensen, lo plasmen, lo implementes, preparen las plataformas, generen documentación, las pongan en marcha y lo publiquen en el BOE, podemos hacer apuestas...
¿Enero del 2024, inicios del 2025?...

Tes 07-06-2023 12:33:05

Cita:

Empezado por newtron (Mensaje 551668)
Buenas. Comentarte que ese texto que indicas creo que se refiere a la facturación electrónica que es otra "guerra" y que igualmente está pendiente de normalizar.


El tema verifactu pensamos que será parecido a ticketbai pero todavía no hay mucho al respecto así que muchos de nosotros estamos a la espera de noticias.



Resumiendo: Que alguien me corrija si me equivoco pero de momento no hay mucho detalle de cómo implementar ni la facturación electrónica ni verifactu.


Saludos.

¡Muchas gracias por tu respuesta!

¿Quieres decir que se prevee que con VERIFACTU también los comercios que venden productos o servicios a cliente final (no empresa) tengan que enviar las facturas a la AEAT, pero que no está confirmado por el momento?

Gracias :)

Gracias por la ayuda newtron :)

Tes 07-06-2023 12:50:48

Cita:

Empezado por newtron (Mensaje 551670)
Según yo entiendo cualquier operación de venta desde cualquier dispositivo ya sean facturas normales o simplificadas (antiguos tickets) tendrá que estar a disposición de la AEAT bien enviando de forma directa o bien a petición de ellos por lo que todo software tendrá que tener la capacidad de enviar esa información a sus servidores. Por otro lado van a dar la opción de hacer el envío de forma voluntaria o no enviar a no ser que te lo requieran pero (por supuesto) chantajeando (y esto lo han dicho ellos) con que los que no envíen los datos de forma voluntaria estarán más vigilados que los que si lo hacen.


Saludos.

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 551671)
Eso es lo que parece.
Por lo poco que se sabe los tiros van por donde ha ido TicketBAI, osea que la respuesta es que si.

Pero tal y como ha comentado [newtron] por ahora no hay nada y dado que en breve hay elecciones y además es bastante probable que se cambie de gobierno, yo lo "dejaría todo en barbecho", porque es posible que la cosa se paralice o se alargue bastante.

De aquí a que lo decidan, lo piensen, lo plasmen, lo implementes, preparen las plataformas, generen documentación, las pongan en marcha y lo publiquen en el BOE, podemos hacer apuestas...
¿Enero del 2024, inicios del 2025?...

Gracias por la ayuda Neftali :)
Supongo que, como dices, habrá que esperar.

Lo que comentas de la "vigilancia" imagino que ya lo estarán haciendo en mayor o menor medida en el País Vasco, para evitar que los pequeños comercios sigan dando recibos en papel (o nada) cuando un cliente paga en efectivo ¿no?, y también animando al consumidor a exigir su factura, porque ¿cómo entonces asegurar que todas las operaciones estan informadas?

Gracias de nuevo!

Neftali [Germán.Estévez] 07-06-2023 13:49:43

Cita:

Empezado por Tes (Mensaje 551673)
Lo que comentas de la "vigilancia" imagino que ya lo estarán haciendo en mayor o menor medida en el País Vasco, para evitar que los pequeños comercios sigan dando recibos en papel (o nada) cuando un cliente paga en efectivo ¿no?, y también animando al consumidor a exigir su factura, porque ¿cómo entonces asegurar que todas las operaciones estan informadas?


Cualquier ticket que emite una tienda/negocio lleva un código QR (o DEBE llevarlo). Si lo escaneas, automáticamente te lleva a una página WEB con los datos de la factura.

Si un comercio entrega tickets sin ese QR se arriesga a que lo denuncien (me imagino) o a que pase un inspector,...

Tes 07-06-2023 14:37:26

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 551674)
Cualquier ticket que emite una tienda/negocio lleva un código QR (o DEBE llevarlo). Si lo escaneas, automáticamente te lleva a una página WEB con los datos de la factura.

Si un comercio entrega tickets sin ese QR se arriesga a que lo denuncien (me imagino) o a que pase un inspector,...

Gracias Neftalli, eso suponía.

Pues nada, esperaremos a que nos lleguen noticias en relación a VERIFACTU para salir de dudas. Veo que nos tienen a todos en ascuas.

Gracias a todos!

xamminf 09-06-2023 23:56:30

Anular factura
 
Hola,

Al anular una factura ¿ Vosotros qué haceis ? ¿ Mostrarla en todos los listados con la marca anulada y no sumar la factural al total del listado o liquidacion ?

ermendalenda 10-06-2023 00:29:48

Cita:

Empezado por xamminf (Mensaje 551686)
Hola,

Al anular una factura ¿ Vosotros qué haceis ? ¿ Mostrarla en todos los listados con la marca anulada y no sumar la factural al total del listado o liquidacion ?

Muy simple cr3ar una serie interna co la factura en negativa, esa serie no entraría dentro de la "hilera verifactu".

xamminf 10-06-2023 14:17:50

Cita:

Empezado por ermendalenda (Mensaje 551687)
Muy simple cr3ar una serie interna co la factura en negativa, esa serie no entraría dentro de la "hilera verifactu".

Hola,

Gracias por las respuesta:

Entiendo yo que todas las facturas habrían de subir a verifactura, bien sean rectificativas del tipo que sea, bien sean anuladas.

Si te pudieras explayar más en tu respuesta

Gracias


La franja horaria es GMT +2. Ahora son las 01:07:13.

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