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)

seccion_31 19-02-2024 12:11:24

Buenos dias Neftali

he visto tu codigo y no se como has guardado el XML.

Yo lo hacia con el evento beforeExecute del HTTPRIO pero en este ejemplo no se llega a ejecutar nunca.

Mi idea es crear un codigo con lo publicado aqui, que tome un excel o un archivo de texto y genere al menos un alta simple de factura, ¿si alguien quiere ayudarme? y publicarlo aqui en el foto.

Neftali Me gustaria saber, como guardar el XML antes de tener la url de envio.

Gracias

Saludos a todos.





Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 553902)
A mi los tres ficheros generados con esas opciones me resultan similares.
Completando el código que has puesto, la llamada podría ser similar a esta:

Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
var
  arrayDetalles : array of DetalleType;
  RegistroAltaFacturas: Array_Of_FacturasEmitidasType;
begin
  var alta:AltaFactuSistemaFacturacion := AltaFactuSistemaFacturacion.Create;

  // Cabecera
  var cab := Cabecera.Create;
  cab.IDVersion := VersionType._1_0;

  cab.ObligadoEmision := PersonaFisicaJuridicaESType.Create;
  cab.ObligadoEmision.NombreRazon := 'Empresa pruebas';
  cab.ObligadoEmision.NIF := '11111111H';
  cab.TipoRegistroAEAT := TipoRegistroAEATType.T0;
  cab.FechaFinVeriFactu := '01/01/2026';
  alta.Cabecera := cab;

  // Factura
  var fact:FacturasEmitidasType;
  fact := FacturasEmitidasType.Create;
  fact.RegistroFacturacion := RegistroFacturacionType.Create;
  fact.RegistroFacturacion.IDFactura := IDFacturaExpedidaType.Create;
  fact.RegistroFacturacion.IDFactura.NumSerieFacturaEmisor := '23/123456';
  fact.RegistroFacturacion.IDFactura.FechaExpedicionFacturaEmisor := '31/12/23';
  fact.RegistroFacturacion.IDFactura.IDEmisorFactura := IDEmisorFactura.Create;
  fact.RegistroFacturacion.IDFactura.IDEmisorFactura.NIF := '3333333';
  fact.RegistroFacturacion.DescripcionOperacion := 'venta de mercaderías';

  // Detalle
  var detalle := DetalleType.Create;
  detalle.CuotaRepercutida := '100';
  detalle.TipoImpositivo := '21';
  SetLength(arrayDetalles, 1);
  arrayDetalles[0] := detalle;

  // desglose
  var desglose: DesgloseType := DesgloseType.Create();
  SetLength(Desglose, 1);
  Desglose[0] := detalle;
  fact.RegistroFacturacion.Desglose := Desglose;

  // Lista de facturas del envío
  SetLength(RegistroAltaFacturas, 1);
  RegistroAltaFacturas[0] := fact;

  // Factura 1
  alta.RegistroAltaFacturas := RegistroAltaFacturas;

  // envío
  try
    var res:RespuestaAltaFactuSistemaFacturacion := RespuestaAltaFactuSistemaFacturacion.Create;
    res := GetsfSOAP(False, '', HTTPRIO1).AltaFactuSistemaFacturacion(alta);

    ShowMessage('Se ha realizado el envío; ' + sLineBreak +
                '   CSV: ' + res.CSV  + sLineBreak +
                '   TimeStamp: ' + res.DatosPresentacion.TimestampPresentacion
                );
  except
    on E:Exception do begin
      ShowMessage(Format('Error al realizar el envío; (%s)-%s',[E.ClassName, E.Message]));
    end;
  end;
end;

En este caso genera un fichero como este:

Código:

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding">
    <SOAP-ENV:Body xmlns:NS1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SistemaFacturacion.wsdl" xmlns:NS2="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:NS3="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
        <NS1:AltaFactuSistemaFacturacion SOAP-ENV:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
            <AltaFactuSistemaFacturacion SOAP-ENC:id="1" xsi:type="NS2:AltaFactuSistemaFacturacion">
                <Cabecera SOAP-ENC:id="2" xsi:type="NS3:Cabecera">
                    <IDVersion xsi:type="NS3:VersionType">1.0</IDVersion>
                    <ObligadoEmision SOAP-ENC:id="3" xsi:type="NS3:PersonaFisicaJuridicaESType">
                        <NombreRazon xsi:type="xsd:string">Empresa pruebas</NombreRazon>
                        <NIF xsi:type="xsd:string">11111111H</NIF>
                    </ObligadoEmision>
                    <TipoRegistroAEAT xsi:type="NS3:TipoRegistroAEATType">T0</TipoRegistroAEAT>
                    <FechaFinVeriFactu xsi:type="xsd:string">01/01/2026</FechaFinVeriFactu>
                </Cabecera>
                <item SOAP-ENC:id="4" xsi:type="NS2:FacturasEmitidasType">
                    <RegistroFacturacion SOAP-ENC:id="5" xsi:type="NS3:RegistroFacturacionType">
                        <IDFactura SOAP-ENC:id="6" xsi:type="NS3:IDFacturaExpedidaType">
                            <IDEmisorFactura SOAP-ENC:id="7" xsi:type="NS3:IDEmisorFactura">
                                <NIF xsi:type="xsd:string">3333333</NIF>
                            </IDEmisorFactura>
                            <NumSerieFacturaEmisor xsi:type="xsd:string">23/123456</NumSerieFacturaEmisor>
                            <FechaExpedicionFacturaEmisor xsi:type="xsd:string">31/12/23</FechaExpedicionFacturaEmisor>
                        </IDFactura>
                        <NombreRazonEmisor xsi:type="xsd:string"/>
                        <TipoRegistroSIF xsi:type="NS3:TipoRegistroSIFType">S0</TipoRegistroSIF>
                        <TipoFactura xsi:type="NS3:ClaveTipoFacturaType">F1</TipoFactura>
                        <DescripcionOperacion xsi:type="xsd:string">venta de mercaderías</DescripcionOperacion>
                        <Desglose xsi:type="SOAP-ENC:Array" SOAP-ENC:itemType="NS3:DetalleType" SOAP-ENC:arraySize="1">
                            <item SOAP-ENC:id="8" xsi:type="NS3:DetalleType">
                                <ClaveRegimen xsi:type="NS3:IdOperacionesTrascendenciaTributariaType">01</ClaveRegimen>
                                <TipoImpositivo xsi:type="xsd:string">21</TipoImpositivo>
                                <BaseImponibleOimporteNoSujeto xsi:type="xsd:string"/>
                                <CuotaRepercutida xsi:type="xsd:string">100</CuotaRepercutida>
                            </item>
                        </Desglose>
                        <ImporteTotal xsi:type="xsd:string"/>
                        <EncadenamientoRegistroAnterior xsi:nil="true"/>
                        <SistemaInformatico xsi:nil="true"/>
                        <FechaGenRegistro xsi:type="xsd:string"/>
                        <HoraGenRegistro xsi:type="xsd:string"/>
                        <HusoHorarioGenRegistro xsi:type="NS3:HusoHorarioGenRegistroType">01</HusoHorarioGenRegistro>
                    </RegistroFacturacion>
                    <DatosControl xsi:nil="true"/>
                </item>
            </AltaFactuSistemaFacturacion>
        </NS1:AltaFactuSistemaFacturacion>
    </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>


Adjunto los 3 ficheros generados al importar el WSDL y el propio fichero WSDL.


keno_71 19-02-2024 12:41:20

Hola seccion_31
sí se está ejecutando en esta línea, aunque la url sea ficticia si se guarda en el beforeExecute
yo seguí ese código de ejemplo y me lo ha guardado.

Cita:

res := GetsfSOAP(False, '', HTTPRIO1).AltaFactuSistemaFacturacion(alta);

seccion_31 19-02-2024 13:30:22

Añadir TAGs al código del mensaje
 
gracias

a mi no me entra en el beforeExecute; (tengo un showmessage), cuando ejecuta, me dice: invalid url XXX (como dices, no tiene la ruta, ok), que viene en SistemaFacturacionSOAPv12, en defURL.

tengo los siguientes valores en HTTPRIO:

Código Delphi [-]
Port: SistemaFacturacionPruebas
Service: sfService
tag: 0
URL:
WSDLLocation: (una ruta wl archoivo xsd)



Código Delphi [-]
procedure TForm2.HTTPRIO1BeforeExecute(const MethodName: string;
  SOAPRequest: TStream);
var
  ss:TFileStream;
begin
        showmessage('hola');
        ss:=TFileStream.Create( 'c:\copiar\1v.xml' , fmCreate);
        ss.CopyFrom(SOAPRequest, SOAPRequest.size);
        ss.Free;
end;

Voy a seguir comprobando a ver que puede ser.

keno_71 19-02-2024 13:38:56

Lo tengo así,

en el beforeExecute:

Cita:


sTmp := TStringList.Create;
try
SOAPRequest.Position := 0;
sTmp.LoadFromStream(SOAPRequest);
nFile := ExtractFilePath(Application.ExeName) + 'VeriFactu_PeticionEnviada.xml';
sTmp.SaveToFile(nFile);
Memo1.Lines.LoadFromFile(nFile);
finally
FreeAndNil(sTmp);
end;


en el fichero de SistemaFActuracion:

Cita:

function GetsfSOAP(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): sfSOAP;
const
defWSDL = 'https://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SistemaFacturacion.wsdl';
defURL = 'https://www.me_la_he_inventado_.com';
defSvc = 'sfService';
defPrt = 'SistemaFacturacion';

saludos

seccion_31 19-02-2024 13:49:47

perfecto, cambiando la defURL por la tuya:

https://www.me_la_he_inventado_.com


si dejamos el xxx no hace mencion si quiera de enviar.

muchas gracias

ramherfer 19-02-2024 14:09:17

Cita:

Empezado por ermendalenda (Mensaje 554519)
Yo te lo pongo pero no sé si te vas a liar más, ya que yo trabajo en Vb6 para generar el xml y despuñess las firmas y encapsulamientos soaps lo hago en php con llamadas desde curl.
En Delphi hay otras formas que los compañeros del foro seguro que te pueden guiar.

Mira el código para generar el XML (A pelo) es de esta forma:
Código:

close #92
Open "C:\xmls\" & nombre_fichero & ".xml" For Output  As #92
 Print #92, "<?xml version=" & Chr(34) & "1.0" & Chr(34) & " encoding=" & Chr(34) & "UTF-8" & Chr(34) & "?>"
              Print #92, "<?xml version=" & Chr(34) & "1.0" & Chr(34) & " encoding=" & Chr(34) & "UTF-8" & Chr(34) & "?>"
                If es_anulacion Then
                   
                    Print #92, "<sum:BajaFactuSistemaFacturacion xmlns:sum=" & Chr(34) & "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" & Chr(34) & " xmlns:sum1=" & Chr(34) & "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" & Chr(34) & ">"
                Else
                    Print #92, "<sum:AltaFactuSistemaFacturacion xmlns:sum=" & Chr(34) & "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" & Chr(34) & " xmlns:sum1=" & Chr(34) & "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" & Chr(34) & ">"
                End If
                Print #92, "<sum1:Cabecera>"
                Print #92, "<sum1:IDVersion>" & version_vfactu & "</sum1:IDVersion>"
 Print #92, "<sum1:ObligadoEmision>"
                Print #92, "<sum1:NombreRazon>" & TEXT_TO_UTF8(nombre_empresa) & "</sum1:NombreRazon>"
                Print #92, "<sum1:NIF>" & nif & "</sum1:NIF>"
                Print #92, "</sum1:ObligadoEmision>"
              select case tipo

                    "anulacion"
                        Print #92, "<sum1:TipoRegistroAEAT>T3</sum1:TipoRegistroAEAT>"
                   
                    "sustitutiva"
                            Print #92, "<sum1:TipoRegistroAEAT>T1</sum1:TipoRegistroAEAT>"
                    "normal"
                            Print #92, "<sum1:TipoRegistroAEAT>T0</sum1:TipoRegistroAEAT>"
              end select
***Y ahora lo que voy a escribir lo voy guardando en la variable datohash para calcular el hash cuando tenga en la variable lo que necesite
datoxml = "<sum:RegistroFacturacion>"
                datohash = datoxml
                If es_anulacion = False Then
   
                    Print #92, "<sum:RegistroAltaFacturas>" & datoxml;
                Else
                    Print #92, "<sum:RegistroAnulacionFacturas>" & datoxml;
                End If
               
                datoxml = "<sum1:IDFactura>"
                datohash = datohash & datoxml
                Print #92, datoxml;
                .......
****AL FINAL CALCULO EL HASH USANDO LAS API DE WINDOWS****
***  CryptCreateHash, ¿¿¿CryptAcquireContext, etc... de la libreria  "advapi32.dll"*****

                huella = UCase(CreateHashString(datohash, CALG_SHA_256))
                   
*** Inserto el hash en el xml y el resto de nodos
                  Print #92, "<sum1:Huella>" & huella & "</sum1:Huella>"
                   
                    Print #92, "<sum1:TipoHash>01</sum1:TipoHash>"
                    Print #92, "</sum:DatosControl>"
                    If es_anulacion Then
                        Print #92, "</sum:RegistroAnulacionFacturas>"
                        Print #92, "</sum:BajaFactuSistemaFacturacion>"
                    Else
                        Print #92, "</sum:RegistroAltaFacturas>"
                        Print #92, "</sum:AltaFactuSistemaFacturacion>"
                    End If
                  close #92

Por otro lado puedo encapsular en php, ya que en VB6 desconozco la forma, pero en mi caso hemos pagado a una empresa la programación y el servicio de conservación y le vamos a enviar los xmls sin encapsular para que hagan toda la hilera de verificación del encadenamiento, validación schema xml-xsd, conservación, encapsulamiento, envios y control de errores, el envio lo harán con su certificado y ellos le dan este servicio a cada cliente al que le cobraremos un precio "razonable", y me libero de la parte peor. Cada cliente recibirá o podrá consultar el reporte de los envios y si hay errores se avisará y se tomará las medidas según cada caso, esto ya lo tenemos definido.

Gracias @ermendalenda

Neftali [Germán.Estévez] 22-02-2024 12:26:26

Se publican las presentaciones realizadas en el seminario del día 11 de febrero de 2024.
Durante la próxima semana, se irán incorporando el resto de contenidos asociados a la sesión de divulgación, tales como el documento de preguntas y respuestas, grabación al vídeo, entre otros.

Parece que hay una de la primera parte más teórica y otra de la segunda que era más técnica.

Los subo al FTP y añadiré el link al primer mensaje del hilo.

newtron 22-02-2024 12:41:05

^\||/ Gracias Germán.

ermendalenda 22-02-2024 16:06:51

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 554555)
Se publican las presentaciones realizadas en el seminario del día 11 de febrero de 2024.
Durante la próxima semana, se irán incorporando el resto de contenidos asociados a la sesión de divulgación, tales como el documento de preguntas y respuestas, grabación al vídeo, entre otros.

Parece que hay una de la primera parte más teórica y otra de la segunda que era más técnica.

Los subo al FTP y añadiré el link al primer mensaje del hilo.

gRACIAS GERMAN

espinete 23-02-2024 12:46:28

Duda sobre si cumplir con la ética o con la Ley Antifraude
 
Buenas...

Nos ha surgido una duda un poco rara en la empresa, relacionada en parte con la Ley Antifraude y "la prohibición de suministrar software que no cumpla con la nueva ley". Intentaré explicarlo brevemente a ver qué opináis...

Nosotros desarrollamos un software de facturación desde hace 20 años. Obviamente se van lanzando actualizaciones cada año, etc. pero siempre hay clientes que se quedan con versiones antiguas, o versiones "pirata", etc. así que hay clientes usando versiones de 2015, 2010 o incluso 2008 que simplemente no quieren actualizar.
Respetable, supongo.

- Esas versiones no eran compatibles obviamente con la Ley Antifraude: podías borrar facturas, modificarlas, no había registro de cambios, etc.
- Esas versiones se registraban enviándole un código al cliente por email (si, en aquella época no todo el mundo tenía internet en el negocio).

Dicho esto... Si uno de esos clientes, hoy en día, necesita reinstalar, o un nuevo código porque ha formateado el disco, etc. ¿estaríamos nosotros como desarrolladores infringiendo la normativa que impide suministrar software que no cumpla con la Ley Antifraude?
¿Estaríamos en nuestro derecho de no facilitar números de serie de versiones tan antiguas y obsoletas para las que no se ofrece asistencia técnica? ¿Sigue por ejemplo Microsoft facilitando números de serie, oficiales y legales, de Windows XP?

Como veis, no tiene relación directa, o tal vez sí, pero lo cierto es que ha generado debate en la empresa y no sabemos muy bien cómo proceder. Yo voto por descatalogar definitivamente esas versiones antiguas y punto, pero hay quien opina que esos clientes tienen derecho a usarla porque la pagaron en su momento.

No sé... si yo compré el Office 2003, tengo derecho a seguir instalándolo en 2024? ¿Es incluso posible hacerlo si el número de serie lo he perdido y necesito otro, o si he cambiado de ordenador?

Pues eso. Me gustaría saber vuestras opiniones, que hoy es viernes y a lo mejor esto relaja un poco :)

newtron 23-02-2024 13:05:58

Buenas.


Pues efectivamente es un tema peliagudo y que seguramente estará a criterio del inspector de turno.


Obviando el tema de que el cliente si está usando un programa antiguo que no esté adaptado a la nueva normativa le pueden dar un estacazo bueno, también tiene derecho a seguir usando un programa del que tiene licencia así que yo voto porque habría que proporcionarle la licencia para poder usarlo pero no llegar más allá, o sea, no hacer ningún tipo de actuación, instalación ni mantenimiento del mismo porque entonces si te podrías buscar las cosquillas.


Saludos.

ramherfer 23-02-2024 13:10:30

Cita:

Empezado por espinete (Mensaje 554562)
Buenas...

Nos ha surgido una duda un poco rara en la empresa, relacionada en parte con la Ley Antifraude y "la prohibición de suministrar software que no cumpla con la nueva ley". Intentaré explicarlo brevemente a ver qué opináis...

Nosotros desarrollamos un software de facturación desde hace 20 años. Obviamente se van lanzando actualizaciones cada año, etc. pero siempre hay clientes que se quedan con versiones antiguas, o versiones "pirata", etc. así que hay clientes usando versiones de 2015, 2010 o incluso 2008 que simplemente no quieren actualizar.
Respetable, supongo.

- Esas versiones no eran compatibles obviamente con la Ley Antifraude: podías borrar facturas, modificarlas, no había registro de cambios, etc.
- Esas versiones se registraban enviándole un código al cliente por email (si, en aquella época no todo el mundo tenía internet en el negocio).

Dicho esto... Si uno de esos clientes, hoy en día, necesita reinstalar, o un nuevo código porque ha formateado el disco, etc. ¿estaríamos nosotros como desarrolladores infringiendo la normativa que impide suministrar software que no cumpla con la Ley Antifraude?
¿Estaríamos en nuestro derecho de no facilitar números de serie de versiones tan antiguas y obsoletas para las que no se ofrece asistencia técnica? ¿Sigue por ejemplo Microsoft facilitando números de serie, oficiales y legales, de Windows XP?

Como veis, no tiene relación directa, o tal vez sí, pero lo cierto es que ha generado debate en la empresa y no sabemos muy bien cómo proceder. Yo voto por descatalogar definitivamente esas versiones antiguas y punto, pero hay quien opina que esos clientes tienen derecho a usarla porque la pagaron en su momento.

No sé... si yo compré el Office 2003, tengo derecho a seguir instalándolo en 2024? ¿Es incluso posible hacerlo si el número de serie lo he perdido y necesito otro, o si he cambiado de ordenador?

Pues eso. Me gustaría saber vuestras opiniones, que hoy es viernes y a lo mejor esto relaja un poco :)

Cualquier opinión es respetable. La mia es que si no tiene contrato de mantenimiento demostrable con facturas la empresa desarrolladora no esta infringiendo nada, y más cuando son empresas que no hay contacto. Las que hay con contacto se les puede avisar vía email que deben actualizar o desinstalar la aplicación.
Si alguien pide un codigo de instalación de versiones antiguas que haberlas las habrá, perfectamente se les informará a los usuarios de que esas versiones no cumple con la legislación vigente y que no se les puede facilitar ningún código de instalación. Aunque ya he comentado que si no tiene contrato de mantenimiento mensual, anual, demostrable con facturas la empresa desarrolladora no pueden hacerla responsable, si aquella empresa que sabiendo como está el tema, la use.

Avisar a usuarios con contacto y sin mantenimiento que actualización ($$$) o desinstalación.
Clientes sin contacto y que hagan petición de un codigo de instalación, o actualizar pagando lo que se estipule o que la desinstalen, codigos ni uno, es más el algoritmo interno va a ser cambiado en nuevas versiones para que no hayan despistes.
Evidentemente los usuarios con contrato de mantenimiento una vez adaptada la aplicación se les implementará.

Repito es mi humilde y discutible opninión, pero es lo que aquí se va a hacer ya que la cosa es seria y no está para andar jugando (150000€) Antes de lamentarme yo, tienen dos opciones o actualizarse o lamentarse pero ellos.

edari 23-02-2024 13:16:56

Yo voto también voto por descatalogar versiones antiguas y más con la burrada de multas que deberíamos asumir. Hasta que se les rompa. Ni un soporte de ellas damos ya.

Por otro lado...

Qué empresa va a aceptar recibir una factura ilegal al no tener código QR?

ermendalenda 23-02-2024 13:22:24

Cita:

Empezado por espinete (Mensaje 554562)
Buenas...

Nos ha surgido una duda un poco rara en la empresa, relacionada en parte con la Ley Antifraude y "la prohibición de suministrar software que no cumpla con la nueva ley". Intentaré explicarlo brevemente a ver qué opináis...

Nosotros desarrollamos un software de facturación desde hace 20 años. Obviamente se van lanzando actualizaciones cada año, etc. pero siempre hay clientes que se quedan con versiones antiguas, o versiones "pirata", etc. así que hay clientes usando versiones de 2015, 2010 o incluso 2008 que simplemente no quieren actualizar.
Respetable, supongo.

- Esas versiones no eran compatibles obviamente con la Ley Antifraude: podías borrar facturas, modificarlas, no había registro de cambios, etc.
- Esas versiones se registraban enviándole un código al cliente por email (si, en aquella época no todo el mundo tenía internet en el negocio).

Dicho esto... Si uno de esos clientes, hoy en día, necesita reinstalar, o un nuevo código porque ha formateado el disco, etc. ¿estaríamos nosotros como desarrolladores infringiendo la normativa que impide suministrar software que no cumpla con la Ley Antifraude?
¿Estaríamos en nuestro derecho de no facilitar números de serie de versiones tan antiguas y obsoletas para las que no se ofrece asistencia técnica? ¿Sigue por ejemplo Microsoft facilitando números de serie, oficiales y legales, de Windows XP?

Como veis, no tiene relación directa, o tal vez sí, pero lo cierto es que ha generado debate en la empresa y no sabemos muy bien cómo proceder. Yo voto por descatalogar definitivamente esas versiones antiguas y punto, pero hay quien opina que esos clientes tienen derecho a usarla porque la pagaron en su momento.

No sé... si yo compré el Office 2003, tengo derecho a seguir instalándolo en 2024? ¿Es incluso posible hacerlo si el número de serie lo he perdido y necesito otro, o si he cambiado de ordenador?

Pues eso. Me gustaría saber vuestras opiniones, que hoy es viernes y a lo mejor esto relaja un poco :)

Infringir la ley antifraude por darle soporte aunque sea una consulta, la infringes seguro. Como tengan inspección y lleguen hasta vosotros por que vean cualquier acceso actual te van a poner el supositorio.

keys 23-02-2024 13:32:02

Nosotros en el contrato que firman al comprar la aplicación indicamos que sólo nos hacemos responsables si el software esta actualizado. Esto no sólo ocurre con verifactu, puede afectar a mas cosas, como impuestos (IVA, SII, etc), que por cambio de normativa ya no sean válidos en la versión que tienen ellos.

Lógicamente tu no te puedes hacer responsable del uso de un programa que vendíste hace 10 años.

antoine0 23-02-2024 14:44:36

Cita:

Empezado por espinete (Mensaje 554562)
¿estaríamos nosotros como desarrolladores infringiendo la normativa que impide suministrar software que no cumpla con la Ley Antifraude?

Buena pregunta. Muy buena.
Creo que lo de los números de serie (si lo haces gratis) no entra como «suministrar software», solo cumples una obligación nacida de una venta anterior.

Cita:

¿Estaríamos en nuestro derecho de no facilitar números de serie de versiones tan antiguas y obsoletas para las que no se ofrece asistencia técnica?
Si al vender estas licencias hace años no has puesto clausulas de reserva, no puedes poner tal clausula retroactivamente. Entonces la única razón para no dar estos números (que claramente es parte de lo que has vendido históricamente) sería si existe una normativa que te prohíbe suministrarlos. La LGT es obviamente tal normativa; queda por determinar si el texto de la ley 11/2021 (artículo 13) prohíbe (a los desarrolladores) cumplir con los contratos anteriores, con el motivo que los programas anteriores ya no cumplen lo que dice la normativa que los corresponde.

Solo he visto el nuevo artículo 201 bis de la LGT que dice primero que los desarrolladores están en infracción si fabrican, producen o comercializan programas que no cumplen con la normativa anti-fraude; entiendo que dar respuesta a una consulta en aplicación de un contrato anterior no entra en estos tres supuestos (pero no soy letrado y seguramente habrán letrados que darán interpretaciones correctas al respecto).
La segunda parte del artículo es más interesante: prohíbe «la tenencia de los sistemas o programas informáticos o electrónicos que no se ajusten a lo establecido [...]» Aquí claramente hay posibilidad de avisar a estos clientes que están/estarán en infracción con la LGT, con cuantiosas multas por detrás (lo que no sé es si estás obligado a avisarlos; o si hay obligación, o autorización, de denunciarlos a Hacienda). Pero avisar los clientes es una cosa, y cumplir con la petición regular de un cliente es otra. Creo que en este caso el desarrollador no comete ninguna infracción en sí dando un tal número de serie; al máximo podría ser posible cómplice, y no he visto que siga motivo de infracción (en la redacción actual).

Una muy buena pregunta par un viernes, es cierto.

Cita:

¿Sigue por ejemplo Microsoft facilitando números de serie, oficiales y legales, de Windows XP?
Nunca ha necesitado facilitar números de serie después de la compra. Es por esto que ha sido posible el pirateo: porqué el mecanismo era fijado en el momento de la compra inicial.

Cita:

Yo voto por descatalogar definitivamente esas versiones antiguas y punto, pero hay quien opina que esos clientes tienen derecho a usarla porque la pagaron en su momento.
Estoy con la segunda opción.

Cita:

No sé... si yo compré el Office 2003, tengo derecho a seguir instalándolo en 2024?
Los tres únicos casos que conozco par impedirlo es si lo utilizas en otro ordenador, si la licencia está ligada a un ordenador determinado (licencia «OEM», más barata), o si has utilizado esta licencia de Office 2003 para obtener un descuento en una versión ulterior; pero fuera de estos casos, claramente sí puedes instalarlo en 2024.
También puedes instalar Word para CP/M en un Zilog Z-80, si tienes licencia.

Creo que un mejor ejemplo sería Napster en lugar de Office 2003... pero claro Napster como compañía ya no existe.

Cita:

¿Es incluso posible hacerlo si el número de serie lo he perdido y necesito otro, o si he cambiado de ordenador?
En tal caso, con la prueba de la compra, creo que Microsoft te debe dar una mano, sobre todo porqué no hay razones técnicas que impide a Microsoft hacerlo (prueba: se puede piratear). Evidentemente, debes estar dentro de los parámetros para una posible instalación (es decir: en un Windows 10 x64, no te van a ayudar, está fuera de especificaciones.)

El caso de la ley anti-fraude es distinto del de Office 2003: con la ley antifraude sí existe una razón que podría oponerse al hacerlo: el hecho que instalándolo estás claramente infringiendo la LGT.

Neftali [Germán.Estévez] 23-02-2024 14:50:51

Cita:

Empezado por espinete (Mensaje 554562)
Nosotros desarrollamos un software de facturación desde hace 20 años. Obviamente se van lanzando actualizaciones cada año, etc. pero siempre hay clientes que se quedan con versiones antiguas, o versiones "pirata", etc. así que hay clientes usando versiones de 2015, 2010 o incluso 2008 que simplemente no quieren actualizar.
Respetable, supongo.

- Esas versiones no eran compatibles obviamente con la Ley Antifraude: podías borrar facturas, modificarlas, no había registro de cambios, etc.
- Esas versiones se registraban enviándole un código al cliente por email (si, en aquella época no todo el mundo tenía internet en el negocio).

Pues eso. Me gustaría saber vuestras opiniones, que hoy es viernes y a lo mejor esto relaja un poco :)


Creo que el otro día en la empresa comentaban que lo habían consultado y la clave está en que tú no ofrezcas ni soporte, ni ayuda, ni tengas "ganancia" sobre esas versiones obsoletas, una vez que entre en vigor la ley.

Si el cliente instala esa versión antigua que no está preparada es problema suyo y a él le caerán las sanciones.
A ti te podrían caer también, si se demuestra que se los has vendido, si le has ayudado, si le has cobrado por mantenimiento, soporte,etc, etc,... todo esto después de la fecha especificada.

Sistel 23-02-2024 17:39:43

Cita:

Empezado por espinete (Mensaje 554562)
Nosotros desarrollamos un software de facturación desde hace 20 años. Obviamente se van lanzando actualizaciones cada año, etc. pero siempre hay clientes que se quedan con versiones antiguas, o versiones "pirata", etc. así que hay clientes usando versiones de 2015, 2010 o incluso 2008 que simplemente no quieren actualizar.
Respetable, supongo.

- Esas versiones no eran compatibles obviamente con la Ley Antifraude: podías borrar facturas, modificarlas, no había registro de cambios, etc.
- Esas versiones se registraban enviándole un código al cliente por email (si, en aquella época no todo el mundo tenía internet en el negocio).

Dicho esto... Si uno de esos clientes, hoy en día, necesita reinstalar, o un nuevo código porque ha formateado el disco, etc. ¿estaríamos nosotros como desarrolladores infringiendo la normativa que impide suministrar software que no cumpla con la Ley Antifraude?
¿Estaríamos en nuestro derecho de no facilitar números de serie de versiones tan antiguas y obsoletas para las que no se ofrece asistencia técnica? ¿Sigue por ejemplo Microsoft facilitando números de serie, oficiales y legales, de Windows XP?

Como veis, no tiene relación directa, o tal vez sí, pero lo cierto es que ha generado debate en la empresa y no sabemos muy bien cómo proceder. Yo voto por descatalogar definitivamente esas versiones antiguas y punto, pero hay quien opina que esos clientes tienen derecho a usarla porque la pagaron en su momento.

No sé... si yo compré el Office 2003, tengo derecho a seguir instalándolo en 2024? ¿Es incluso posible hacerlo si el número de serie lo he perdido y necesito otro, o si he cambiado de ordenador?

Pues eso. Me gustaría saber vuestras opiniones, que hoy es viernes y a lo mejor esto relaja un poco :)

Hola,

Por lo que me pareció entender en la charla del otro día, de la Agencia Tributaria, el desarrollador del software debe hacer una auditoría externa o una declaración responsable de que cumple con la nueva Ley Antifraude.

Entiendo que en este caso, haría la declaración responsable del software que cumple (versión actual) no de las versiones anteriores.
Por ejemplo de "Facturación Pepe, versión 5 (Antifraude) y posteriores"
Y, por tanto, quedarían exentas de cumplir la nueva normativa las versiones anteriores, como "Facturación Pepe, versión 4".

Si un cliente usa "Facturación Pepe, versión 4" debe saber que es un software antiguo que no cumple con la nueva ley y por tanto puede ser sancionado.

Supongo que con eso el desarrollador queda exento de responsabilidad.

Saludos

xevi 24-02-2024 09:30:29

Una consulta a ver si alguien me puede aportar un poco de luz

En un software de Contabilidad, simplemente Contabilidad (Cuentas, Asientos, Balances, Libros...)
¿Sabeis como afecta o el alcance de la ley Anti Fraude?

Porque el tema por lo que voy leyendo e informando, todo gira entorno a la facturación y más concretamente al emitir la factura, pero queda un poco a nivel de programador o desarrollador todo el tema de trazabilidad, integridad... por lo que yo solamente he desarrollado un registro de eventos y además le he incluido una integridad a mi manera en cada apunte de la base de datos "asientos", pero como digo, no veo que haya una normativa específica, detallada para los sitemas de Contabilidad.

Agradezco cualquier aporte al respecto.

Gracias.

Un Saludo,
Xevi

keno_71 24-02-2024 09:41:55

Nosotros tenemos la misma "discusión", tenemos clientes con versiones antiguas, tenemos pensado enviar el email para informar que solamente se mantendrá mantenimiento con aplicación nueva porque además haremos un cambio sustancial en la misma para que se note que es otra y a los que no quieran cambiar no se les hará mantenimiento. El problema viene con clientes que se actualicen, que se les cobre un mantenimiento pero que tengan el otro programa antiguo (que no se lo puedo desinstalar) y haga algo que no deba.

ermendalenda 25-02-2024 11:10:46

Algunas observaciones sobre el seminario dia 14
 
Inmediatez de envio:
Estaba claro que iban a ser laxos en el tiempo de envio, es técnicamente muy complicado (para algunos imposible) mantener siempre la inmediatez. En el seminario ya han hecho refrencia a este punto.
Nuevo Nodo "CuotaTotal", en referencia al calculo del hash, que ya no va a ser sobre el registro de facturación completo, aparece un nuevo nodo que, supongo, veremos en la siguiente versión.

Ejemplo Cadena para calcular Hash
Cita:


<sum1:NIF>00000006Y</sum1:NIF><sum1:NumSerieFacturaEmisor>150.3.1.5</sum1:NumSerieFacturaEmisor><sum1:FechaExpedicionFacturaEmisor>25-02-2024</sum1:FechaExpedicionFacturaEmisor><sum1:TipoRegistroSIF>S0</sum1:TipoRegistroSIF><sum1:TipoFactura>F2</sum1:TipoFactura><sum1:CuotaTotal>0.20</sum1:CuotaTotal><sum1:ImporteTotal>2.20</sum1:ImporteTotal><sum1:HuellaRegistroAnterior>8ADCCCBD8DBBF8A668C78571C7AC2768EB77C77468C49A44E1829 03CB4468FE5</sum1:HuellaRegistroAnterior><sum1:FechaGenRegistro>25-02-2024</sum1:FechaGenRegistro><sum1:HoraGenRegistro>11:15:24</sum1:HoraGenRegistro>
Hay que tener en cuenta que el primer registro no tiene el nodo huellaregistroanterior.

Sobre la aplcación que van a poner:
Aunque la aplciación que desarrolle la Aeat, es de último recurso y para empresas con bajos recursos supongo que la podrá usar cualquiera.
Si se pudiera usar, me surgen algunas dudas sobre el uso de esta aplicación que tendrán que aclarar:

* ¿Si uso un software SIF puedo a la vez usar para otras series para el mismo NIF el software de hacienda? (digamos que tengo un departamento con poca facturación con unos servicios determinados que no merece la pena que tenga un SIF y solo hace 2 o tres factura al mes)

* Suponiendo que pueda usar el software de hacienda, ¿ puedo generar facturas sustitutivas, rectificativas o anulaciones para el mismo cif del que he generado con el CIF desde esa aplicaciónde la AEAT?

En el SII si se puede.

ermendalenda 25-02-2024 11:48:25

Cita:

Empezado por ermendalenda (Mensaje 554591)
Inmediatez de envio:
Estaba claro que iban a ser laxos en el tiempo de envio, es técnicamente muy complicado (para algunos imposible) mantener siempre la inmediatez. En el seminario ya han hecho refrencia a este punto.
Nuevo Nodo "CuotaTotal", en referencia al calculo del hash, que ya no va a ser sobre el registro de facturación completo, aparece un nuevo nodo que, supongo, veremos en la siguiente versión.

Ejemplo Cadena para calcular Hash

Hay que tener en cuenta que el primer registro no tiene el nodo huellaregistroanterior.

Sobre la aplcación que van a poner:
Aunque la aplciación que desarrolle la Aeat, es de último recurso y para empresas con bajos recursos supongo que la podrá usar cualquiera.
Si se pudiera usar, me surgen algunas dudas sobre el uso de esta aplicación que tendrán que aclarar:

* ¿Si uso un software SIF puedo a la vez usar para otras series para el mismo NIF el software de hacienda? (digamos que tengo un departamento con poca facturación con unos servicios determinados que no merece la pena que tenga un SIF y solo hace 2 o tres factura al mes)

* Suponiendo que pueda usar el software de hacienda, ¿ puedo generar facturas sustitutivas, rectificativas o anulaciones para el mismo cif del que he generado con el CIF desde esa aplicaciónde la AEAT?

En el SII si se puede.

Pongo un ejemplo:
Empresa de 100establecimientos con 1000 empleados
Emiten continuamente facturas sustitutivas.
Cada semana hay varios errores sobre la emisión a clientes erroneos.
Incluso en la misma factura puede haber correcciones en disitntos momentos.
Se hace un pelin complicado hacer una hilera de las rectificativas.
En estos casos, con el SII usamos el programa de hacienda para corregir

jlmoli_67 25-02-2024 12:50:26

¿se puede hacer el calculo del hash sobre el valor del nodo sin incluir el nombre del nodo o da igual pero eso si, aplicar siempre la misma forma de calcularlo ya sea con o sin los nombre ?

ermendalenda 25-02-2024 13:44:35

Cita:

Empezado por jlmoli_67 (Mensaje 554593)
¿se puede hacer el calculo del hash sobre el valor del nodo sin incluir el nombre del nodo o da igual pero eso si, aplicar siempre la misma forma de calcularlo ya sea con o sin los nombre ?

Con el nombre del nodo siempre.
No puede ser opcional, si no pones el nombre no se puede saber cuál es cada campo y díganos que tiene que ha er 1 solo protocolo para que el que recibe sepa ver si está bien calculado

Neftali [Germán.Estévez] 26-02-2024 08:25:06

Cita:

Empezado por xevi (Mensaje 554583)
En un software de Contabilidad, simplemente Contabilidad (Cuentas, Asientos, Balances, Libros...)
¿Sabeis como afecta o el alcance de la ley Anti Fraude?


Sólo afecta a facturación.
Un programa de contabilidad que no genere facturas (por ejemplo, que sólo contabilice porque las importa de otro) no se ve afectado por todo esto.

newtron 26-02-2024 09:32:37

Cita:

Empezado por xevi (Mensaje 554583)
Una consulta a ver si alguien me puede aportar un poco de luz

En un software de Contabilidad, simplemente Contabilidad (Cuentas, Asientos, Balances, Libros...)
¿Sabeis como afecta o el alcance de la ley Anti Fraude?

Porque el tema por lo que voy leyendo e informando, todo gira entorno a la facturación y más concretamente al emitir la factura, pero queda un poco a nivel de programador o desarrollador todo el tema de trazabilidad, integridad... por lo que yo solamente he desarrollado un registro de eventos y además le he incluido una integridad a mi manera en cada apunte de la base de datos "asientos", pero como digo, no veo que haya una normativa específica, detallada para los sitemas de Contabilidad.

Agradezco cualquier aporte al respecto.

Gracias.

Un Saludo,
Xevi


Yo entiendo que la ley Anti Fraude solamente se refiere a sistemas que emitan facturas de venta (normales o simplificadas) por lo que no afectaría a cualquier otro tipo de software, p.e.: contabilidad, crm, control de costos, presupuestos, etc.


Saludos.

Sistel 26-02-2024 09:37:56

Cita:

Empezado por newtron (Mensaje 554599)
Yo entiendo que la ley Anti Fraude solamente se refiere a sistemas que emitan facturas de venta (normales o simplificadas) por lo que no afectaría a cualquier otro tipo de software, p.e.: contabilidad, crm, control de costos, presupuestos, etc.

Hola,

Incluso si el software de ventas incluye entregas de mercancías (albaranes) y cobros de las operaciones de venta, mientras no emita facturas, entiendo que está al margen de la Ley Antifraude.

Saludos

ermendalenda 26-02-2024 09:54:26

Cita:

Empezado por Sistel (Mensaje 554600)
Hola,

Incluso si el software de ventas incluye entregas de mercancías (albaranes) y cobros de las operaciones de venta, mientras no emita facturas, entiendo que está al margen de la Ley Antifraude.

Saludos

Ojo, con los cobros, tanto de totales, parciales o a cuenta, están obligados a emitir facturas y si es la factura final hay que reflejarlo también, si la emites desde otra aplicación de facturación, perfecto

Sistel 26-02-2024 10:20:45

Cita:

Empezado por ermendalenda (Mensaje 554601)
Ojo, con los cobros, tanto de totales, parciales o a cuenta, están obligados a emitir facturas y si es la factura final hay que reflejarlo también, si la emites desde otra aplicación de facturación, perfecto

Hola

Por supuesto, se tiene obligación de emitir factura siempre que hay una operación de venta de un producto o servicio.
Pero no tiene por qué ser en el momento de la entrega de la mercancía o servicio.
Y el cobro puede ser incluso con anterioridad a la emisión de la factura.

Creo recordar que Hacienda pide que se facturen las ventas antes del 15 del mes siguiente a la operación.
(Pero no recuerdo dónde lo leí)

Saludos

ermendalenda 26-02-2024 11:24:06

Cita:

Empezado por Sistel (Mensaje 554602)
Hola

Por supuesto, se tiene obligación de emitir factura siempre que hay una operación de venta de un producto o servicio.
Pero no tiene por qué ser en el momento de la entrega de la mercancía o servicio.
Y el cobro puede ser incluso con anterioridad a la emisión de la factura.

Creo recordar que Hacienda pide que se facturen las ventas antes del 15 del mes siguiente a la operación.
(Pero no recuerdo dónde lo leí)

Saludos

Sí, puedes ir haciendo notas de ent4ega(albaranes) si el cliente es una empresa o autonomo puedes emitir la factura recapitulando los a lbarabes hdel mes(solo del mes sin mezclar meses) hasta el 15 del mes siguiente, si es una persona fis8ca hasta el último día del mes.
Pero son cosas diferentes, si coges algo a cuenta, el día que lo cosas hay que emitir factura, puedo estar equivocado, pero esa es la información que me han pasado 2 asesores, que por supuesto tb pueden haber interpretado mal.

Sistel 26-02-2024 11:43:26

Cita:

Empezado por ermendalenda (Mensaje 554603)
...Pero son cosas diferentes, si coges algo a cuenta, el día que lo cosas hay que emitir factura, puedo estar equivocado, pero esa es la información que me han pasado 2 asesores, que por supuesto tb pueden haber interpretado mal.

Hola,

Creo que se puede recibir un pago a cuenta (por ejemplo, para reservar un producto) sin que haya obligación aún de emitir factura hasta que se entregue la mercancía (o hasta el 15 del mes siguiente a haberse entregado en el caso de empresas).

Saludos

espinete 26-02-2024 14:11:32

Muchas gracias a todos por vuestras opiniones. Vamos a darle un par de vueltas más para tomar la decisión.

Hay que tener en cuenta que los números de serie son "por PC", específicos para que solo funcionen en un equipo concreto.
Si nos llaman 15 años después porque han cambiado de PC, creo que sí podríamos decirles perfectamente que, sintiéndolo mucho, no podemos facilitarles un nuevo código (deberían haberlo guardarlo ellos, vamos).

Será algo polémico, pero han pasado 15 años y se nos hace difícil seguir generando esos números de serie manualmente.

Por suerte son menos de 100 clientes los que tienen una versión tan antigua.

antoine0 26-02-2024 19:16:58

Cita:

Empezado por ramherfer (Mensaje 554564)
Si alguien pide un codigo de instalación de versiones antiguas que haberlas las habrá, perfectamente se les informará a los usuarios de que esas versiones no cumple con la legislación vigente y que no se les puede facilitar ningún código de instalación.

Suponemos que estamos en el año 2026 y este cliente te llama por qué su instalación antigua, que cubre los años 2022 hasta 2024, se le ha quebrado el disco duro y ahora viene una inspección y necesitan recuperar los datos anteriores para sacar datos y mostrar que las declaraciones de 2023 eran las correctas... Quieren reinstalarlo en un ordenador que no era el original licenciado, y te piden que lo "activas" para darle acceso al inspector.

Si el inspector les multa porqué el programa antiguo no cumple con los requisitos vigentes para 2026, creo que... se estará pasando un poco. :rolleyes:


Cita:

Avisar a usuarios con contacto y sin mantenimiento que actualización ($$$) o desinstalación.
Creo que «desinstalación» no es legal. Debes guardar los programas y sus datos de alguna forma por 4 o 5 años.

AlfredoSanz 27-02-2024 09:37:50

Cita:

Empezado por xevi (Mensaje 554583)
Una consulta a ver si alguien me puede aportar un poco de luz

En un software de Contabilidad, simplemente Contabilidad (Cuentas, Asientos, Balances, Libros...)
¿Sabeis como afecta o el alcance de la ley Anti Fraude?

Porque el tema por lo que voy leyendo e informando, todo gira entorno a la facturación y más concretamente al emitir la factura, pero queda un poco a nivel de programador o desarrollador todo el tema de trazabilidad, integridad... por lo que yo solamente he desarrollado un registro de eventos y además le he incluido una integridad a mi manera en cada apunte de la base de datos "asientos", pero como digo, no veo que haya una normativa específica, detallada para los sitemas de Contabilidad.

Agradezco cualquier aporte al respecto.

Gracias.

Un Saludo,
Xevi

Hola, hace días que sigo este interesante hilo del foro y me he decidido a participar para hacer una puntualización.

La Ley Antifraude, en la incorporación del artículo 29.2.j) de la LGT dice:
La obligación, por parte de los productores, comercializadores y usuarios, de que los sistemas y programas informáticos o electrónicos que soporten los procesos contables, de facturación o de gestión .....

Por lo cual entiendo que los programas contables y de gestión (confección de albaranes, etc..) si bien no aplica el envío automático verifactu, sí son de aplicación a dichos programas la incorporación de medidas que garanticen la integridad, conservación, accesibilidad, legibilidad, trazabilidad e inalterabilidad de los registros.

Otra cosa es cómo se traduce esta obligación en la práctica, ya que hasta ahora sólo han hablado de cómo va ha cambiar el sistema de facturación.

ermendalenda 27-02-2024 10:42:35

Cita:

Empezado por AlfredoSanz (Mensaje 554608)
Hola, hace días que sigo este interesante hilo del foro y me he decidido a participar para hacer una puntualización.

La Ley Antifraude, en la incorporación del artículo 29.2.j) de la LGT dice:
La obligación, por parte de los productores, comercializadores y usuarios, de que los sistemas y programas informáticos o electrónicos que soporten los procesos contables, de facturación o de gestión .....

Por lo cual entiendo que los programas contables y de gestión (confección de albaranes, etc..) si bien no aplica el envío automático verifactu, sí son de aplicación a dichos programas la incorporación de medidas que garanticen la integridad, conservación, accesibilidad, legibilidad, trazabilidad e inalterabilidad de los registros.

Otra cosa es cómo se traduce esta obligación en la práctica, ya que hasta ahora sólo han hablado de cómo va ha cambiar el sistema de facturación.


Hola.
Para los sistemas que remitan Veri*factu no son aplicables algunos artículos, ya lo han dicho en el seminario del día 14 y en varias ocasiones, ya que el envio ya presupone cumplimiento de estos artículos.

Artículos no aplicables a los que remitan VERI*FACTU:
Cita:

Artículo 6. Integridad e inalterabilidad de los registros de facturación (huella vs firma)
Artículo 7. Trazabilidad de los registros de facturación
Artículo 8. Conservación, accesibilidad y legibilidad de los registros de facturación.
Artículo 9. Registro de Eventos.
Por tanto, puedes tener un sistema de contabilidad, gestion de pedidos, albaranes, generación temporal de facturas, y por otro lado remitirlas con un sistema VERIFACTU que cumpla el resto de requisitos, huella, envio automatico, Generación QR.

Debido a la complejidad de los software P que necesitan meses o incluso años de volver a desarrollarlo o tienen un software sin soporte, seguro van a pasar por 1 primer proceso, siempre que tengas acceso a los datos directamente vinculando bases de datos, por ODBC o por otro sistema.
SOLUCIÓN,:
Exportar los datos a otra aplicación que cumpla los requisitos VERI*FACTU para hacer los envios, teniendo en cuenta que la nueva aplcación controle que los datos de la aplicación antigua no haga cosas "raras", con lo cual das de alta la nueva aplcaicón y listo, la primera aplicación pasará a ser una herramienta de trabajo temporal, como los albaranes. Las facturas que generes serán documentos temporales hasta que se envien, etc...

Con esto también podemos contestar a la pregunta si estás obligado a mantener un sistema antiguo, y mi espuesta es Sí, siempre que lo tengas vinculado a un sistema VERI*FACTU y como no va a haber más remedio que vincularlo entonces la respuesta es tajante

xevi 27-02-2024 10:52:33

Exacto, Fredy.

Este parágrafo que citas lo pone "claramente???"
Pero queda, a mi entender, sin una definición específica y sin ella, pues a criterio del desarrollador del software.
Yo he implementado en mi programa de contabilidad una "huella" por cada apunte, un log de trazabilidad de "casi" TODO lo que se maneja que afecta a apuntes/asientos... y creo, a mi entender, que la alterabilidad de la base de datos de asientos está por mi parte garantizada. Pero como no hay un reglamento específico, de ahí mis inquietudes.

Ahora bien, el tema para "Gestión", sin llegar a la factura, eso creo que debería de implementar algo parecido, pues también nos puede afectar tal y como está el parágrafo que citas. Y ya para una vez emitida la factura, si la envio a hacienda con VERI*FACTU, creo que estoy cubierto para cumplir la ley.

novatico 27-02-2024 16:34:11

Con respecto a las Contabilidades, hay que remitirse al artículo 201.bis, que regula las infracciones y que en su apartado 1 cataloga como "infracción grave", la fabricación, producción y comercialización de sistemas y programas informáticos o electrónicos que:
a) permitan llevar contabilidades distintas en los términos del artículo 200.1.d) de esta Ley;
b) permitan no reflejar, total o parcialmente, la anotación de transacciones realizadas;
c) permitan registrar transacciones distintas a las anotaciones realizadas;
d) permitan alterar transacciones ya registradas incumpliendo la normativa aplicable;

En lo que respecta al apartado "a)", el artículo 200.1.d) dice:
"La llevanza de contabilidades distintas referidas a una misma actividad y ejercicio económico que dificulten el conocimiento de la verdadera situación del obligado tributario."

Estos apartados son los que están en vigor desde el 11 de Octubre de 2021, y no deben confundirse ni obviarse por el hecho de que se obliguemos a VERI*FACTU.

ermendalenda 27-02-2024 17:46:56

Cita:

Empezado por novatico (Mensaje 554613)
Con respecto a las Contabilidades, hay que remitirse al artículo 201.bis, que regula las infracciones y que en su apartado 1 cataloga como "infracción grave", la fabricación, producción y comercialización de sistemas y programas informáticos o electrónicos que:
a) permitan llevar contabilidades distintas en los términos del artículo 200.1.d) de esta Ley;
b) permitan no reflejar, total o parcialmente, la anotación de transacciones realizadas;
c) permitan registrar transacciones distintas a las anotaciones realizadas;
d) permitan alterar transacciones ya registradas incumpliendo la normativa aplicable;

En lo que respecta al apartado "a)", el artículo 200.1.d) dice:
"La llevanza de contabilidades distintas referidas a una misma actividad y ejercicio económico que dificulten el conocimiento de la verdadera situación del obligado tributario."

Estos apartados son los que están en vigor desde el 11 de Octubre de 2021, y no deben confundirse ni obviarse por el hecho de que se obliguemos a VERI*FACTU.

Exactamente no hay que obviarlo pero hay que interpretarlo correctamente.

Este artículo requiere de un desarrollo reglamentario (que está pendiente) sin el cual la normativa no estará completamente definida, en lo que se refiere a los productores y distribuidores, estos deberán abstenerse, respectivamente, de fabricar y comercializar, productos de software que propendan o faciliten intencionalmente la manipulación de registros, desde el
11 de octubre de 2021
. Desde esa fecha y hasta la entrada en vigor del desarrollo reglamentario previsto, solo el incumplimiento deliberado y culpable de los supuestos del art. 201.bis comercializando productos de software o sistemas con intención de que los clientes manipulen sus registros contables, podría dar lugar a las sanciones señaladas en el propio artículo, siempre que concurra para ello el elemento subjetivo de la culpabilidad. Por lo tanto, hasta que no tengamos el reglamento correspondiente no podremos conocer en detalle las medidas a adoptar por los productores y comercializadores de programas informáticos pero lo que está claro es que deben abstenerse de fabricar y comercializar productos que permitan la manipulación de registros.
De momento lo único que van a reglamentar sobre este punto son las facturas. Por supuesto esto que he puesto no me lo he inventado, viene como respuesta a una consulta realizada sobre este tema.

AlfredoSanz 27-02-2024 18:55:53

Cita:

Empezado por xevi (Mensaje 554610)
Exacto, Fredy.

Este parágrafo que citas lo pone "claramente???"
Pero queda, a mi entender, sin una definición específica y sin ella, pues a criterio del desarrollador del software.
Yo he implementado en mi programa de contabilidad una "huella" por cada apunte, un log de trazabilidad de "casi" TODO lo que se maneja que afecta a apuntes/asientos... y creo, a mi entender, que la alterabilidad de la base de datos de asientos está por mi parte garantizada. Pero como no hay un reglamento específico, de ahí mis inquietudes.

Ahora bien, el tema para "Gestión", sin llegar a la factura, eso creo que debería de implementar algo parecido, pues también nos puede afectar tal y como está el parágrafo que citas. Y ya para una vez emitida la factura, si la envio a hacienda con VERI*FACTU, creo que estoy cubierto para cumplir la ley.

Hola Xevi!, que pequeño es el mundo ;-)

Yo considero que en contabilidad y gestión, por lo menos de momento, tener un registro de cambios y aplicarle a cada uno de ellos un hash encadenado con el registro anterior es más que suficiente.

keys 28-02-2024 09:16:05

Por si a alguien le interesa. https://www.wolterskluwer.com/es-es/...pkGOqzeCHmcK-T


La franja horaria es GMT +2. Ahora son las 07:29:08.

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