España: Normativa sancionadora sistemas informáticos

Re: España: Normativa sancionadora sistemas informáticos

Postby VictorCasajuana » Mon Jul 15, 2024 3:03 pm

quim wrote:
Garbi wrote:Hola,

Muy interesante toda la información que estáis publicando para ir tomando nota.

¿Pero el reglamento ha salido ya?

Si no estoy mal informado, primero tiene que salir el reglamento y tenemos 9 meses para implantarlo. ¿Es así?


El reglamento ya se publicó en el BOE
Real Decreto 1007/2023, de 5 de diciembre, por el que se aprueba el Reglamento que establece los requisitos que deben adoptar los sistemas y programas informáticos o electrónicos que soporten los procesos de facturación de empresarios y profesionales, y la estandarización de formatos de los registros de facturación.


La documentación tecnica está disponible :
https://www.agenciatributaria.es/AEAT.desarrolladores/Desarrolladores/_menu_/Documentacion/IVA/Sistemas_Informaticos_de_Facturacion_y_Sistemas_VERI_FACTU/Sistemas_Informaticos_de_Facturacion_y_Sistemas_VERI_FACTU.html

Aclaro que VERI*FACTU es opcional para la adopción de la empresa, pero obligatorio para los SIF (Sistemas Informáticos de Facturación)

Sólo es necesaria la Orden Ministerial, es decir, una firma del consejo de ministros, puede ocurrir en cualquier momento (incluso en agosto) a partir de ahí 9 meses para que los sistemas estén adaptados
Extraoficialmente, esto puede entrar en vigor el 1 de julio 2025

No confundir VERI*FACTU (Sistema de facturación verificable -opcional-) con el proyecto de facturación electrónica entre empresas -obligatorio, previsto para 2025 (empresas > 8 millones € facturacion) y para el resto en 2026


En efecto, estamos a la espera del pistoletazo de salida, pero al ser la documentación del "reglamento" en versiones 0.xxx y en modo borrador, pues cualquier se atreve a picar algo de tecla... :D a parte que falta lo más importante, las url para poder hacer las pruebas de envío y validaciones.

Esperemos que no "disparen" este mes de agosto, aunque si tenemos en cuenta la fecha que siempre han indicado 1-7-25 y los nueve meses antes, o cambian la fecha o quedan un par de meses para que esto arranque.

Estaría bien ir comentando los avances que se van implementando en este foro y así, entre todos salir bien parados de este nuevo reto.

Salud!
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 265
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: España: Normativa sancionadora sistemas informáticos

Postby paquitohm » Mon Jul 15, 2024 3:25 pm

Hola a todos,

En mi caso aun no he empezado con Verifactu. Se parece bastante a TicketBAI y eso si que lo tengo desarrollado. Con respecto al intercambio de factura-e entre empresas, supongo que lo unico que tendriamos que hacer/ esperar es el tema de la plataforma de intercambio de los .xsig (.xml firmado factura-e) a ver si será publica o privada

Carlos (Fivewidi),
La URL que te pasé de facturacion electronica es suficiente para generar la factura electronica: Yo utilizo esos fuentes con pequeñas adaptaciones. No necesitas nada mas y no creo que la facturacion electronica chilena sea compatible con la española

Firma de archivos,
Para firmar el .xml (.xsig) utilizo la aplicacion Autofirma. Funciona perfectamente. Igual con openssl.exe se puede hacer tambien.

Salu2
paquitohm
 
Posts: 266
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Postby FiveWiDi » Mon Jul 15, 2024 7:36 pm

paquitohm wrote:Carlos (Fivewidi),
La URL que te pasé de facturacion electronica es suficiente para generar la factura electronica: Yo utilizo esos fuentes con pequeñas adaptaciones. No necesitas nada mas y no creo que la facturacion electronica chilena sea compatible con la española


Precisamente esta tarde la estaba mirando, me ha sorprendido que los TAG del XML están en inglés. Tu la utilizas casi tal cual está para generar el XML?
Por cierto, necesito usar la factura electrónica española; pero como este asunto tiene mucha similitud en los paises donde se está implantando, por eso pregunto en varios hilos al respecto, se aprende en cualquier lado.

paquitohm wrote:Firma de archivos,
Para firmar el .xml (.xsig) utilizo la aplicacion Autofirma. Funciona perfectamente. Igual con openssl.exe se puede hacer tambien.

Autofirma permite utilizarse sin intervención del usuario? Me sentiré más cómodo con Autofirma que con openssl.exe

Muchas gracias, sigo.
Un Saludo
Carlos G.

FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
FiveWiDi
 
Posts: 1190
Joined: Mon Oct 10, 2005 2:38 pm

Re: España: Normativa sancionadora sistemas informáticos

Postby paquitohm » Mon Jul 15, 2024 8:52 pm

FiveWiDi wrote:Precisamente esta tarde la estaba mirando, me ha sorprendido que los TAG del XML están en inglés. Tu la utilizas casi tal cual está para generar el XML?
Por cierto, necesito usar la factura electrónica española; pero como este asunto tiene mucha similitud en los paises donde se está implantando, por eso pregunto en varios hilos al respecto, se aprende en cualquier lado.


Si. Esa clase funciona; La tengo en produccion con total exito gracias a Manuel Calero Solís que la tiene en codigo abierto: No se necesita absolutamente nada mas, salvo el firmador, claro está. Creo que añadi algun tag para que fuera version 3.2.1 y ya. Ahora van por la 3.2.2 que lleva muy pocos tags mas y poco utilizados. Creo recordar que hice una clase "puente" con el fin de no modificar la clase original, pero es perfectamente obviable.

Sospecho que la factura-e de hispanoamerica tenga otra estructura e incluso otra firma. Me pareciera a mi que estariamos mas cerca de una clase factura-e española en php que una factura-e hispanoamericana en harbour.

Autofirma permite utilizarse sin intervención del usuario? Me sentiré más cómodo con Autofirma que con openssl.exe


Si, es un ejecutable command line, que de hecho se llama AutofirmaCommandLine.exe. Si lo utilizas, me lo dices y te pongo la clasecita que desarrolle para gestionarlo comodamente; Autofirmacommandline.exe tiene multiples parametros. Creo que no es necesario que esté instalado en el sistema, basta con que esté el ejecutable y quizas alguna libreria (no estoy seguro)
paquitohm
 
Posts: 266
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Postby FiveWiDi » Tue Jul 16, 2024 12:40 pm

paquitohm wrote:Si. Esa clase funciona; La tengo en produccion con total exito gracias a Manuel Calero Solís que la tiene en codigo abierto: No se necesita absolutamente nada mas, salvo el firmador, claro está. Creo que añadi algun tag para que fuera version 3.2.1 y ya. Ahora van por la 3.2.2 que lleva muy pocos tags mas y poco utilizados. Creo recordar que hice una clase "puente" con el fin de no modificar la clase original, pero es perfectamente obviable.

Puedes compartir esa clase 'puente'?
Ya que me pongo...

paquitohm wrote:Sospecho que la factura-e de hispanoamerica tenga otra estructura e incluso otra firma. Me pareciera a mi que estariamos mas cerca de una clase factura-e española en php que una factura-e hispanoamericana en harbour.

La estructura de la factura-e de hispanoamérica no me preocupa, sus procesos quizás si; pero yo usaré la española.

paquitohm wrote:Si, es un ejecutable command line, que de hecho se llama AutofirmaCommandLine.exe. Si lo utilizas, me lo dices y te pongo la clasecita que desarrolle para gestionarlo comodamente; Autofirmacommandline.exe tiene multiples parametros. Creo que no es necesario que esté instalado en el sistema, basta con que esté el ejecutable y quizas alguna libreria (no estoy seguro)

Perfecto, buscaré donde bajarlo, supongo que en AEAT o la FNMT. Lo de la clasecita ya te digo que casi seguro que usaré Autofirma.

Muchas gracias,
Un Saludo
Carlos G.

FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
FiveWiDi
 
Posts: 1190
Joined: Mon Oct 10, 2005 2:38 pm

Re: España: Normativa sancionadora sistemas informáticos

Postby paquitohm » Wed Jul 17, 2024 11:21 am

Carlos,

Comparto por aqui la clase para AutofirmaCommandLine.exe
Con respecto a la clase puente me es imposible ahora mismo, requiere mucho trabajo de limpieza y aclaracion: Repasandola he visto que hice tambien una clase Tree dummy para simular un Tree que utilizó Manuel Calero con la clase de la Factura-e.

Code: Select all  Expand view  RUN

//-------------------------------------------------------------------------//
FUNCTION Test_Autofirma()
Local oAutoFirma
Local cCerFile:= "Algo.pfx"
Local lFormatoFacturaE:= .t.
Local cIn:= "FacE.xml"
Local cOut:= "FacE.xSig"
Local lFirmadaOk

oAutoFirma:= TAutoFirmaDigital():New(lFormatoFacturaE)

oAutoFirma:cCerAlias:= "xx-8d6560e6-0cfc-4ebd-b165-xxxxxxxxxxxx"
oAutoFirma:cCerPass := "CONTRASEÑA"  // Password del certificado
oAutoFirma:cCerFile := '"'+ PWPATH_PROGRAM+ '\Firma\Certificados'+ cCerFile+ '"'
oAutoFirma:Activate()

lFirmadaOk:= oAutoFirma:lFirma(cIn, cOut)

return nil
*
//-------------------------------------------------------------------------//
// clase para utilizar AutoFirma.exe (El instalador
// autofirma.exe genera al instalarse
// \archivos de programa\autofirma\autofirma\autofirma.exe )
// Descargado desde http://administracionelectronica.gob.es ... enteafirma
CLASS TAutoFirmaDigital        // Tags: CLASS TAutoFirma / CLASS TFirmaDigital

   METHOD New()
   METHOD lEstaInstalado()
   METHOD Activate()
   METHOD lFirma(cIn, cOut)

   DATA cCerFile
   DATA cCerPass
   DATA cCerAlias
   DATA cFullFileXml
   DATA cFullFileSig      // Opcional. Despues de firmar tendra el nombre del archivo con firma
   
   DATA cFullAutoFirmaExe READONLY //INIT cFULL_AUTOFIRMA
   METHOD Debug()

   DATA lFormatoFacturaE READONLY
   *
ENDCLASS
*
//-------------------------------------------------------------------------//
METHOD New(lFormatoFacturaE)      CLASS TAutoFirmaDigital

DEFAULT lFormatoFacturaE:= .t.
::lFormatoFacturaE:= lFormatoFacturaE
*
IF ::lFormatoFacturaE
   ::cFullAutoFirmaExe:= "
Firma\autofirma.exe"
ELSE
   ::cFullAutoFirmaExe:= "
c:\Program Files\AutoFirma\AutoFirma\AutoFirmaCommandLine.exe"
ENDIF
RETURN Self

//-------------------------------------------------------------------------//
METHOD lEstaInstalado() CLASS TAutoFirmaDigital
RETURN File(::cFullAutoFirmaExe)
*
//-------------------------------------------------------------------------//
METHOD Activate() CLASS TAutoFirmaDigital
IF ::cFullFileXml != NIL  // Permitido NIL y asi se deben pasar como parametros en :lFirma()
   IF ::cFullFileSig == NIL
      ::cFullFileSig:= FileNueExtension(::cFullFileXml, "
.xSig")
   ENDIF
ENDIF
RETURN Self
*
//-------------------------------------------------------------------------//
METHOD lFirma(cIn, cOut)    CLASS TAutoFirmaDigital
Local cComando, cComandoRun
Local lFirmado
Local lFile, lGeneradoCorrecto
Local nSecIni, nSecEspera
Local cFullAutoFirmaExe:= ::cFullAutoFirmaExe
Local cCerAliasTmp
Local cHashPolitica, cConfigPolitica
*
DEFAULT cIn := ::cFullFileXml
IF cOut == NIL
   cOut:= ::cFullFileSig
ELSE
   ::cFullFileSig:= cOut
ENDIF
*
IF !File(cFullAutoFirmaExe)
//   MERROR_("
Falta firmador !!", cFullAutoFirmaExe, cIn, cOut)
   MsgInfo("
FAlta firmador !!", cFullAutoFirmaExe)
   RETURN .F.
ENDIF
*
IF Empty(::cCerFile) .OR.;
   Empty(::cCerAlias) .OR. Empty(::cCerPass)
   *
//   FLOGMSG_("
Faltan datos para firmador !!", ::cCerFile, ::cCerAlias, ::cCerPass)
//   MERROR_( "
Faltan datos para firmador !!", ::cCerFile, ::cCerAlias) //, ::cCerPass)
   RETURN .F.
ENDIF
*
#Define TAG_OCULTA_PASS "
__PASS__"
#Define SPA_ Space(1)
*
cCerAliasTmp:= '"
'+ ::cCerAlias+ '"'
*
cComando:= '"
'+ cFullAutoFirmaExe+ '"'+ SPA_+;
           ;
           ; // Comando firmar
           "
sign"+          Space(1)+;
           ;
           ; // Opciones
           "
-store pkcs12:"+       ::cCerFile+       SPA_+;
           "
-password"     + SPA_+ TAG_OCULTA_PASS+  SPA_+;
           "
-alias"        + SPA_+ cCerAliasTmp+     SPA_+;
           "
-i"            + SPA_+ cIn+              SPA_+;
           "
-o"            + SPA_+ cOut

IF ::lFormatoFacturaE
   // Formato: Factura Electronica
   cComando+= SPA_+ "
-format"       + SPA_+ "facturae"
ELSE
   // Formato: Xades / Ticket Bai
   cComando+= SPA_+ "
-format"       + SPA_+ "xades"
   cComando+= SPA_+ "
-xml"
   *
   // Politica de firma para Guipuzcoa / Gipuzkoa
   cConfigPolitica:=;
      '-config "
format=XAdES Enveloped '+;
      '
\npolicyIdentifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf '+;
      '\npolicyIdentifierHash=%HASH_POLITICA% '+;
      '\npolicyIdentifierHashAlgorithm=http://www.w3.org/2001/04/xmlenc#sha256 '+;
      '\npolicyQualifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf"'


   cHashPolitica:= "Quzn98x3PMbSHwbUzaj5f5KOpiH0u8bvmwbbbNkO9Es="

   cConfigPolitica:= StrTran(cConfigPolitica, "%HASH_POLITICA%", cHashPolitica)
   *
   cComando+= SPA_+ cConfigPolitica
ENDIF

IF File(cOut)
   DELETE FILE (cOut)
ENDIF

*
//FLOGMSG_("Antes de firmar 1", cComando)

*
#define SW_HIDE 0
cComandoRun:= StrTran(cComando, TAG_OCULTA_PASS, ::cCerPass)  // Para que no se grabe
*
WaitRun(cComandoRun, SW_HIDE)
*
nSecIni   := Seconds()
nSecEspera:= 10                                              // Espera maxima por cada fra (10 segundos)
DO WHILE !File(cOut) .AND. Seconds() < nSecIni+ nSecEspera   // Solo tiempo para que si da error y
ENDDO                                                        // por tanto no genera el .xsig, no se quede colgado
*
// El .xsig se puede generar con mensajes de error (en su interior)...
// asi que para saber si se genero bien, se busca cualquier palabra
// clave del xml
#Define PALABRA_CLAVE_CUALQUIERA_FORMATO_FACTURAE  "<BuyerParty>"
#Define PALABRA_CLAVE_CUALQUIERA_FORMATO_TICKETBAI "SignatureValue>"
#Define PALABRA_CLAVE_CUALQUIERA If(::lFormatoFacturaE,;
                                    PALABRA_CLAVE_CUALQUIERA_FORMATO_FACTURAE,;
                                    PALABRA_CLAVE_CUALQUIERA_FORMATO_TICKETBAI)

#Define lGENERADO_XSIG_CORRECTO ;
        At(PALABRA_CLAVE_CUALQUIERA, MemoRead(cOut) ) > 0
lFile:= File(cOut)
IF lFile
   lGeneradoCorrecto:= lGENERADO_XSIG_CORRECTO
   lFirmado:= lGeneradoCorrecto
ELSE
   lFirmado:= .f.
ENDIF
*
//FLOGMSG_("Despues de firmar", cComando, lFirmado, lFile, lGeneradoCorrecto, cOut)
*
RETURN lFirmado
*
//-------------------------------------------------------------------------//
METHOD Debug(nMargen) CLASS TAutoFirmaDigital
Local nI
Local cDebug:= ""
Local aDat:= {}
*
Aadd(aDat, {"cCerFile"      , ::cCerFile       } )
Aadd(aDat, {"cFullFileXml"  , ::cFullFileXml   } )
Aadd(aDat, {"cFullFileSig"  , ::cFullFileSig   } )
Aadd(aDat, {"cCerAlias"     , ::cCerAlias      } )
Aadd(aDat, {"cFullAutoFirmaExe", ::cFullAutoFirmaExe } )
Aadd(aDat, {"lEstaInstalado", ::lEstaInstalado} )
*
IF nMargen == NIL
   nMargen:= 0
ENDIF
FOR nI:= 1 TO Len(aDat)
   cDebug+= Space(nMargen)
   cDebug+= PadR(aDat[nI, 1], 15)+ Space(1)+;
            cGetInfo(aDat[nI, 2])
   IF nI != Len(aDat)
      cDebug+= CRLF
   ENDIF
NEXT
RETURN cDebug
*

 

Salu2
paquitohm
 
Posts: 266
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Postby FiveWiDi » Wed Jul 17, 2024 12:57 pm

paquitohm wrote:Carlos,

Comparto por aqui la clase para AutofirmaCommandLine.exe
Con respecto a la clase puente me es imposible ahora mismo, requiere mucho trabajo de limpieza y aclaracion: Repasandola he visto que hice tambien una clase Tree dummy para simular un Tree que utilizó Manuel Calero con la clase de la Factura-e.

Salu2


Perfecto, lo miraré.

Muchas gracias de nuevo.
Un Saludo
Carlos G.

FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
FiveWiDi
 
Posts: 1190
Joined: Mon Oct 10, 2005 2:38 pm

Re: España: Normativa sancionadora sistemas informáticos

Postby FiveWiDi » Wed Jul 17, 2024 1:51 pm

paquitohm wrote:Carlos,
Code: Select all  Expand view  RUN

//-------------------------------------------------------------------------//
FUNCTION Test_Autofirma()
Local oAutoFirma
Local cCerFile:= "Algo.pfx"
Local lFormatoFacturaE:= .t.
Local cIn:= "FacE.xml"
Local cOut:= "FacE.xSig"
Local lFirmadaOk

oAutoFirma:= TAutoFirmaDigital():New(lFormatoFacturaE)

oAutoFirma:cCerAlias:= "xx-8d6560e6-0cfc-4ebd-b165-xxxxxxxxxxxx"
oAutoFirma:cCerPass := "CONTRASEÑA"  // Password del certificado
oAutoFirma:cCerFile := '"'+ PWPATH_PROGRAM+ '\Firma\Certificados'+ cCerFile+ '"'
oAutoFirma:Activate()

lFirmadaOk:= oAutoFirma:lFirma(cIn, cOut)

return nil
*
//-------------------------------------------------------------------------//
// clase para utilizar AutoFirma.exe (El instalador
// autofirma.exe genera al instalarse
// \archivos de programa\autofirma\autofirma\autofirma.exe )
// Descargado desde http://administracionelectronica.gob.es ... enteafirma
CLASS TAutoFirmaDigital        // Tags: CLASS TAutoFirma / CLASS TFirmaDigital

   METHOD New()
   METHOD lEstaInstalado()
   METHOD Activate()
   METHOD lFirma(cIn, cOut)

   DATA cCerFile
   DATA cCerPass
   DATA cCerAlias
   DATA cFullFileXml
   DATA cFullFileSig      // Opcional. Despues de firmar tendra el nombre del archivo con firma
   
   DATA cFullAutoFirmaExe READONLY //INIT cFULL_AUTOFIRMA
   METHOD Debug()

   DATA lFormatoFacturaE READONLY
   *
ENDCLASS
*
//-------------------------------------------------------------------------//
METHOD New(lFormatoFacturaE)      CLASS TAutoFirmaDigital

DEFAULT lFormatoFacturaE:= .t.
::lFormatoFacturaE:= lFormatoFacturaE
*
IF ::lFormatoFacturaE
   ::cFullAutoFirmaExe:= "
Firma\autofirma.exe"
ELSE
   ::cFullAutoFirmaExe:= "
c:\Program Files\AutoFirma\AutoFirma\AutoFirmaCommandLine.exe"
ENDIF
RETURN Self

//-------------------------------------------------------------------------//
METHOD lEstaInstalado() CLASS TAutoFirmaDigital
RETURN File(::cFullAutoFirmaExe)
*
//-------------------------------------------------------------------------//
METHOD Activate() CLASS TAutoFirmaDigital
IF ::cFullFileXml != NIL  // Permitido NIL y asi se deben pasar como parametros en :lFirma()
   IF ::cFullFileSig == NIL
      ::cFullFileSig:= FileNueExtension(::cFullFileXml, "
.xSig")
   ENDIF
ENDIF
RETURN Self
*
//-------------------------------------------------------------------------//
METHOD lFirma(cIn, cOut)    CLASS TAutoFirmaDigital
Local cComando, cComandoRun
Local lFirmado
Local lFile, lGeneradoCorrecto
Local nSecIni, nSecEspera
Local cFullAutoFirmaExe:= ::cFullAutoFirmaExe
Local cCerAliasTmp
Local cHashPolitica, cConfigPolitica
*
DEFAULT cIn := ::cFullFileXml
IF cOut == NIL
   cOut:= ::cFullFileSig
ELSE
   ::cFullFileSig:= cOut
ENDIF
*
IF !File(cFullAutoFirmaExe)
//   MERROR_("
Falta firmador !!", cFullAutoFirmaExe, cIn, cOut)
   MsgInfo("
FAlta firmador !!", cFullAutoFirmaExe)
   RETURN .F.
ENDIF
*
IF Empty(::cCerFile) .OR.;
   Empty(::cCerAlias) .OR. Empty(::cCerPass)
   *
//   FLOGMSG_("
Faltan datos para firmador !!", ::cCerFile, ::cCerAlias, ::cCerPass)
//   MERROR_( "
Faltan datos para firmador !!", ::cCerFile, ::cCerAlias) //, ::cCerPass)
   RETURN .F.
ENDIF
*
#Define TAG_OCULTA_PASS "
__PASS__"
#Define SPA_ Space(1)
*
cCerAliasTmp:= '"
'+ ::cCerAlias+ '"'
*
cComando:= '"
'+ cFullAutoFirmaExe+ '"'+ SPA_+;
           ;
           ; // Comando firmar
           "
sign"+          Space(1)+;
           ;
           ; // Opciones
           "
-store pkcs12:"+       ::cCerFile+       SPA_+;
           "
-password"     + SPA_+ TAG_OCULTA_PASS+  SPA_+;
           "
-alias"        + SPA_+ cCerAliasTmp+     SPA_+;
           "
-i"            + SPA_+ cIn+              SPA_+;
           "
-o"            + SPA_+ cOut

IF ::lFormatoFacturaE
   // Formato: Factura Electronica
   cComando+= SPA_+ "
-format"       + SPA_+ "facturae"
ELSE
   // Formato: Xades / Ticket Bai
   cComando+= SPA_+ "
-format"       + SPA_+ "xades"
   cComando+= SPA_+ "
-xml"
   *
   // Politica de firma para Guipuzcoa / Gipuzkoa
   cConfigPolitica:=;
      '-config "
format=XAdES Enveloped '+;
      '
\npolicyIdentifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf '+;
      '\npolicyIdentifierHash=%HASH_POLITICA% '+;
      '\npolicyIdentifierHashAlgorithm=http://www.w3.org/2001/04/xmlenc#sha256 '+;
      '\npolicyQualifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf"'


   cHashPolitica:= "Quzn98x3PMbSHwbUzaj5f5KOpiH0u8bvmwbbbNkO9Es="

   cConfigPolitica:= StrTran(cConfigPolitica, "%HASH_POLITICA%", cHashPolitica)
   *
   cComando+= SPA_+ cConfigPolitica
ENDIF

IF File(cOut)
   DELETE FILE (cOut)
ENDIF

*
//FLOGMSG_("Antes de firmar 1", cComando)

*
#define SW_HIDE 0
cComandoRun:= StrTran(cComando, TAG_OCULTA_PASS, ::cCerPass)  // Para que no se grabe
*
WaitRun(cComandoRun, SW_HIDE)
*
nSecIni   := Seconds()
nSecEspera:= 10                                              // Espera maxima por cada fra (10 segundos)
DO WHILE !File(cOut) .AND. Seconds() < nSecIni+ nSecEspera   // Solo tiempo para que si da error y
ENDDO                                                        // por tanto no genera el .xsig, no se quede colgado
*
// El .xsig se puede generar con mensajes de error (en su interior)...
// asi que para saber si se genero bien, se busca cualquier palabra
// clave del xml
#Define PALABRA_CLAVE_CUALQUIERA_FORMATO_FACTURAE  "<BuyerParty>"
#Define PALABRA_CLAVE_CUALQUIERA_FORMATO_TICKETBAI "SignatureValue>"
#Define PALABRA_CLAVE_CUALQUIERA If(::lFormatoFacturaE,;
                                    PALABRA_CLAVE_CUALQUIERA_FORMATO_FACTURAE,;
                                    PALABRA_CLAVE_CUALQUIERA_FORMATO_TICKETBAI)

#Define lGENERADO_XSIG_CORRECTO ;
        At(PALABRA_CLAVE_CUALQUIERA, MemoRead(cOut) ) > 0
lFile:= File(cOut)
IF lFile
   lGeneradoCorrecto:= lGENERADO_XSIG_CORRECTO
   lFirmado:= lGeneradoCorrecto
ELSE
   lFirmado:= .f.
ENDIF
*
//FLOGMSG_("Despues de firmar", cComando, lFirmado, lFile, lGeneradoCorrecto, cOut)
*
RETURN lFirmado
*
//-------------------------------------------------------------------------//
METHOD Debug(nMargen) CLASS TAutoFirmaDigital
Local nI
Local cDebug:= ""
Local aDat:= {}
*
Aadd(aDat, {"cCerFile"      , ::cCerFile       } )
Aadd(aDat, {"cFullFileXml"  , ::cFullFileXml   } )
Aadd(aDat, {"cFullFileSig"  , ::cFullFileSig   } )
Aadd(aDat, {"cCerAlias"     , ::cCerAlias      } )
Aadd(aDat, {"cFullAutoFirmaExe", ::cFullAutoFirmaExe } )
Aadd(aDat, {"lEstaInstalado", ::lEstaInstalado} )
*
IF nMargen == NIL
   nMargen:= 0
ENDIF
FOR nI:= 1 TO Len(aDat)
   cDebug+= Space(nMargen)
   cDebug+= PadR(aDat[nI, 1], 15)+ Space(1)+;
            cGetInfo(aDat[nI, 2])
   IF nI != Len(aDat)
      cDebug+= CRLF
   ENDIF
NEXT
RETURN cDebug
*

 


Estoy mirando la clase.

De donde obtengo ::cCerAlias de mi firma digital?
He mirado las firmas instaladas en mi ordenador y no se ver un 'Alias' de la firma (o algo parecido) del tipo de codificación que veo de ejemplo en la clase.

Muchas gracias,
Un Saludo
Carlos G.

FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
FiveWiDi
 
Posts: 1190
Joined: Mon Oct 10, 2005 2:38 pm

Re: España: Normativa sancionadora sistemas informáticos

Postby paquitohm » Wed Jul 17, 2024 2:40 pm

Code: Select all  Expand view  RUN
"c:\Archivos de Programa\java\jre6\BIN\Keytool" -list -v -storetype PKCS12 -keystore "aqui_poner_nombre_certificado.pfx" > CERTI.TXT


Como indicado arriba, utiliza keytool.exe de java.
Despues abre y busca el tag alias o friend (o similar) y ese será el alias que tendrás que suministrar a ::cCerAlias (*)
Está al principio de certi.txt
Con Openssl.exe tambien se podria hacer.


(*) No sé si podria haber otra forma de hacer funcionar a Autofirmacommandline.exe sin Alias del certificado. Seguramente tambien se podria hacerlo funcionar a partir del almacen de certificados. Todo esto estaría por probar
paquitohm
 
Posts: 266
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Postby FiveWiDi » Wed Jul 17, 2024 8:58 pm

paquitohm wrote:
Code: Select all  Expand view  RUN
"c:\Archivos de Programa\java\jre6\BIN\Keytool" -list -v -storetype PKCS12 -keystore "aqui_poner_nombre_certificado.pfx" > CERTI.TXT


Como indicado arriba, utiliza keytool.exe de java.
Despues abre y busca el tag alias o friend (o similar) y ese será el alias que tendrás que suministrar a ::cCerAlias (*)
Está al principio de certi.txt
Con Openssl.exe tambien se podria hacer.


Ha funcionado perfectamente.

En mi caso sólo he substituido
c:\Archivos de Programa\java\jre6\BIN\Keytool
por
c:\Archivos de Programa\java\jre-1.8\BIN\Keytool

Muchas gracias.
Un Saludo
Carlos G.

FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
FiveWiDi
 
Posts: 1190
Joined: Mon Oct 10, 2005 2:38 pm

Re: España: Normativa sancionadora sistemas informáticos

Postby Garbi » Thu Jul 18, 2024 12:17 pm

Hola a todos,
Seguimos informando.
Un saludo a todos.

Os copia un comunicado que ha lanzado una empresa de software de gestión y contabilidad muy conocida y en el cual en el punto 4 :
4. ¿Cuándo tengo que adaptarme a la Ley Crea y Crece?
La normativa se aprobó en septiembre de 2022, pero todavía no se ha publicado el reglamento de desarrollo, por lo que no se puede concretar una fecha.
Cuando se apruebe, las empresas que facturen más de 8M€ tendrán un año para implementar sus requisitos. En cambio, si tienes un pequeño negocio o trabajas como autónomo, tendrás un poco más de tiempo: dos años
.

Pero me gustaría si alguien me puede explicar la diferencia entre el punto 4 y el punto 7 que indica se publico el reglamento en diciembre de 2023. Supongo que serán cosas distintas pero no se cual es la diferencia exacta.

1. ¿Qué es una factura electrónica?
Es una réplica de la factura tradicional en papel y, por ende, tiene su misma validez legal, pero “se expide y recibe en formato electrónico”, según indica la propia Agencia Tributaria.
No se trata simplemente de crear un documento en formato PDF y enviarlo por correo electrónico. Su autenticidad e integridad deben estar garantizadas con una firma electrónica avanzada basada en un certificado reconocido o a través
de medios de intercambio electrónico de datos (EDI) o comunicados previamente a Hacienda y validados por esta.
2. ¿Cómo tiene que ser la factura electrónica?
La factura electrónica solo se podrá emitir, enviar y recibir electrónicamente en un formato estructurado que facilite su automatización. Tendrá que incluir un código QR y un hash para garantizar su trazabilidad e integridad.
3. ¿Quién está obligado a emitir facturas electrónicas?
Bajo el marco de la Ley Crea y Crece, todas las empresas y profesionales localizados en territorio español tienen la obligación de utilizar la factura electrónica. Por tanto, si tienes tu negocio en España, tendrás que realizar los cambios
necesarios para aplicar este nuevo procedimiento de facturación.
4. ¿Cuándo tengo que adaptarme a la Ley Crea y Crece?
La normativa se aprobó en septiembre de 2022, pero todavía no se ha publicado el reglamento de desarrollo, por lo que no se puede concretar una fecha.
Cuando se apruebe, las empresas que facturen más de 8M€ tendrán un año para implementar sus requisitos. En cambio, si tienes un pequeño negocio o trabajas como autónomo, tendrás un poco más de tiempo: dos años.
5. ¿Qué necesito para cumplir con la Ley Crea y Crece?
Una vez en vigor y pasado el tiempo reglamentario para su ejecución, tendrás la obligación de:
• Emitir y procesar facturas en formato electrónico estandarizado
• Informar sobre los estados de la factura
Para ello, necesitarás contar con un software certificado que te permita emitir dichas facturas, así como con una plataforma online de servicios de facturación interconectadas. Como todo eso implica adaptar tus procesos de trabajo interno, es importante que comiences a formarte en la nueva operativa lo antes posible.
6. ¿Qué es el Reglamento de la Ley Antifraude?
Con el objetivo de luchar contra el fraude fiscal e incentivar el cumplimiento voluntario de las obligaciones fiscales, esta legislación regula fundamentalmente los procesos de gestión internos y los programas informáticos utilizados para facturar y llevar la contabilidad.
Específicamente, impide el uso de softwares de facturación que permitan la manipulación u ocultación de datos contables y establece la obligatoriedad de utilizar soluciones que impidan la manipulación de las facturas, permitan su
trazabilidad y puedan enviar sus registros a la AEAT.
7. ¿Cuándo entra en vigor el Reglamento de la Ley Antifraude?
La normativa se aprobó en 2021, de manera que ya entró en vigor, aunque no fue hasta diciembre de 2023 que se publicó el reglamento con los requisitos. A partir de ese momento, los productores y comercializadores de software de facturación tienen nueve meses para lanzar sus productos mercado.
Si eres un empresario o profesional, tendrás que adaptar tus sistemas informáticos a las características y requisitos que establece esta ley antes del 1 de julio de 2025.
8. ¿Quién está obligado a la Ley Antifraude?
Todas las empresas y autónomos deben contar con un software certificado de facturación que impida la manipulación de las facturas y tickets. Sin embargo, esta norma recoge algunas excepciones: no se aplicará a los obligados al Suministro Inmediato de Información (SII), ni en algunos casos del régimen de agricultura, ganadería y pesca, así como a ciertas operaciones excluidas de la obligación de facturar.
9. ¿Qué necesito para cumplir con la Ley Antifraude?
Una vez en vigor, debes contar con un software certificado por la Agencia Tributaria que incluya un código QR en las facturas, garantice su trazabilidad y pueda comunicarlas a la AEAT (VeriFactu). Dado que este nuevo proceso de facturación implicará cambios importantes en tu operativa diaria y a nivel contable, es importante que comiences a prepararte con antelación.
10. ¿Qué es VeriFactu?
El sistema VeriFactu es una iniciativa de la Administración Tributaria en el marco de la Ley Antifraude para aumentar la eficiencia, el control y la transparencia en la gestión tributaria, facilitando a las empresas y profesionales el cumplimiento de sus obligaciones fiscales de manera automatizada.
Básicamente, permite el envío digital, seguro y en tiempo real de los registros de facturación que generan los sistemas informáticos directamente a la Agencia Estatal de Administración Tributaria. De esta forma garantiza la calidad
de la facturación y automatiza la comunicación de los datos contables para agilizar el funcionamiento de los negocios y aligerar su carga administrativa.
11. ¿Qué requisitos introduce VeriFactu?
VeriFactu prevé el uso de estándares de facturación electrónica y protocolos de comunicación para garantizar un envío eficiente y seguro de los registros de las facturas a la AEAT. Estos deben cumplir las condiciones de integridad, conservación, accesibilidad, legibilidad, trazabilidad e inalterabilidad.
Por cada factura emitida se generará un registro y estas se encadenarán para facilitar su comprobación y certificar que sus datos no han sido alterados después de la presentación.
12. ¿A quién afecta VeriFactu?
Verifactu afecta a todos los empresarios y profesionales en España que estén obligados a expedir facturas, una oportunidad para automatizar su gestión y eliminar el papeleo físico.
No obstante, existen algunas excepciones. En los territorios forales coexistirá con los sistemas propios (TicketBai) y tampoco atañe a las empresas acogidas al Suministro Inmediato de Información (SII).
13. ¿Cuánto tiempo tienes para adaptarte a VeriFactu?
La entrada en vigor de Verifactu depende directamente de la Ley Antifraude y el reglamento que delimita sus características técnicas, aprobado en diciembre de 2023. Los desarrolladores de software tienen un plazo de 9 meses para
adaptar sus productos y las empresas y autónomos tendrán que implementarlos antes del 1 de julio de 2025.
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Garbi
 
Posts: 341
Joined: Wed Nov 02, 2005 3:28 pm

Re: España: Normativa sancionadora sistemas informáticos

Postby VictorCasajuana » Thu Jul 18, 2024 2:33 pm

Garbi wrote:Hola a todos,
Seguimos informando.
Un saludo a todos.

Os copia un comunicado que ha lanzado una empresa de software de gestión y contabilidad muy conocida y en el cual en el punto 4 :
4. ¿Cuándo tengo que adaptarme a la Ley Crea y Crece?
La normativa se aprobó en septiembre de 2022, pero todavía no se ha publicado el reglamento de desarrollo, por lo que no se puede concretar una fecha.
Cuando se apruebe, las empresas que facturen más de 8M€ tendrán un año para implementar sus requisitos. En cambio, si tienes un pequeño negocio o trabajas como autónomo, tendrás un poco más de tiempo: dos años
.

Pero me gustaría si alguien me puede explicar la diferencia entre el punto 4 y el punto 7 que indica se publico el reglamento en diciembre de 2023. Supongo que serán cosas distintas pero no se cual es la diferencia exacta.

1. ¿Qué es una factura electrónica?
Es una réplica de la factura tradicional en papel y, por ende, tiene su misma validez legal, pero “se expide y recibe en formato electrónico”, según indica la propia Agencia Tributaria.
No se trata simplemente de crear un documento en formato PDF y enviarlo por correo electrónico. Su autenticidad e integridad deben estar garantizadas con una firma electrónica avanzada basada en un certificado reconocido o a través
de medios de intercambio electrónico de datos (EDI) o comunicados previamente a Hacienda y validados por esta.
2. ¿Cómo tiene que ser la factura electrónica?
La factura electrónica solo se podrá emitir, enviar y recibir electrónicamente en un formato estructurado que facilite su automatización. Tendrá que incluir un código QR y un hash para garantizar su trazabilidad e integridad.
3. ¿Quién está obligado a emitir facturas electrónicas?
Bajo el marco de la Ley Crea y Crece, todas las empresas y profesionales localizados en territorio español tienen la obligación de utilizar la factura electrónica. Por tanto, si tienes tu negocio en España, tendrás que realizar los cambios
necesarios para aplicar este nuevo procedimiento de facturación.
4. ¿Cuándo tengo que adaptarme a la Ley Crea y Crece?
La normativa se aprobó en septiembre de 2022, pero todavía no se ha publicado el reglamento de desarrollo, por lo que no se puede concretar una fecha.
Cuando se apruebe, las empresas que facturen más de 8M€ tendrán un año para implementar sus requisitos. En cambio, si tienes un pequeño negocio o trabajas como autónomo, tendrás un poco más de tiempo: dos años.
5. ¿Qué necesito para cumplir con la Ley Crea y Crece?
Una vez en vigor y pasado el tiempo reglamentario para su ejecución, tendrás la obligación de:
• Emitir y procesar facturas en formato electrónico estandarizado
• Informar sobre los estados de la factura
Para ello, necesitarás contar con un software certificado que te permita emitir dichas facturas, así como con una plataforma online de servicios de facturación interconectadas. Como todo eso implica adaptar tus procesos de trabajo interno, es importante que comiences a formarte en la nueva operativa lo antes posible.
6. ¿Qué es el Reglamento de la Ley Antifraude?
Con el objetivo de luchar contra el fraude fiscal e incentivar el cumplimiento voluntario de las obligaciones fiscales, esta legislación regula fundamentalmente los procesos de gestión internos y los programas informáticos utilizados para facturar y llevar la contabilidad.
Específicamente, impide el uso de softwares de facturación que permitan la manipulación u ocultación de datos contables y establece la obligatoriedad de utilizar soluciones que impidan la manipulación de las facturas, permitan su
trazabilidad y puedan enviar sus registros a la AEAT.
7. ¿Cuándo entra en vigor el Reglamento de la Ley Antifraude?
La normativa se aprobó en 2021, de manera que ya entró en vigor, aunque no fue hasta diciembre de 2023 que se publicó el reglamento con los requisitos. A partir de ese momento, los productores y comercializadores de software de facturación tienen nueve meses para lanzar sus productos mercado.
Si eres un empresario o profesional, tendrás que adaptar tus sistemas informáticos a las características y requisitos que establece esta ley antes del 1 de julio de 2025.
8. ¿Quién está obligado a la Ley Antifraude?
Todas las empresas y autónomos deben contar con un software certificado de facturación que impida la manipulación de las facturas y tickets. Sin embargo, esta norma recoge algunas excepciones: no se aplicará a los obligados al Suministro Inmediato de Información (SII), ni en algunos casos del régimen de agricultura, ganadería y pesca, así como a ciertas operaciones excluidas de la obligación de facturar.
9. ¿Qué necesito para cumplir con la Ley Antifraude?
Una vez en vigor, debes contar con un software certificado por la Agencia Tributaria que incluya un código QR en las facturas, garantice su trazabilidad y pueda comunicarlas a la AEAT (VeriFactu). Dado que este nuevo proceso de facturación implicará cambios importantes en tu operativa diaria y a nivel contable, es importante que comiences a prepararte con antelación.
10. ¿Qué es VeriFactu?
El sistema VeriFactu es una iniciativa de la Administración Tributaria en el marco de la Ley Antifraude para aumentar la eficiencia, el control y la transparencia en la gestión tributaria, facilitando a las empresas y profesionales el cumplimiento de sus obligaciones fiscales de manera automatizada.
Básicamente, permite el envío digital, seguro y en tiempo real de los registros de facturación que generan los sistemas informáticos directamente a la Agencia Estatal de Administración Tributaria. De esta forma garantiza la calidad
de la facturación y automatiza la comunicación de los datos contables para agilizar el funcionamiento de los negocios y aligerar su carga administrativa.
11. ¿Qué requisitos introduce VeriFactu?
VeriFactu prevé el uso de estándares de facturación electrónica y protocolos de comunicación para garantizar un envío eficiente y seguro de los registros de las facturas a la AEAT. Estos deben cumplir las condiciones de integridad, conservación, accesibilidad, legibilidad, trazabilidad e inalterabilidad.
Por cada factura emitida se generará un registro y estas se encadenarán para facilitar su comprobación y certificar que sus datos no han sido alterados después de la presentación.
12. ¿A quién afecta VeriFactu?
Verifactu afecta a todos los empresarios y profesionales en España que estén obligados a expedir facturas, una oportunidad para automatizar su gestión y eliminar el papeleo físico.
No obstante, existen algunas excepciones. En los territorios forales coexistirá con los sistemas propios (TicketBai) y tampoco atañe a las empresas acogidas al Suministro Inmediato de Información (SII).
13. ¿Cuánto tiempo tienes para adaptarte a VeriFactu?
La entrada en vigor de Verifactu depende directamente de la Ley Antifraude y el reglamento que delimita sus características técnicas, aprobado en diciembre de 2023. Los desarrolladores de software tienen un plazo de 9 meses para
adaptar sus productos y las empresas y autónomos tendrán que implementarlos antes del 1 de julio de 2025.


Creo que la confusión viene porque en este hilo se están hablando de varios temas. Ley Antifraude, Veri*Factu y también he leído algo de Factura electrónica B2B

Si no estoy equivocado, Ley Antifraude ya está en vigor, Veri*Factu entrará el 1-7-2025 ( si no se retrasa ) y Facturación electrónica B2B vendrá después
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 265
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: España: Normativa sancionadora sistemas informáticos

Postby paquitohm » Fri Jul 26, 2024 2:13 pm

Hola,

¿ Podríais por favor comentar un poco como lleváis a cabo las premisas de la ley relativas a la garantia de conservación, integridad, accesibilidad, trazabilidad, inalterabilidad y legibilidad de los registros de facturación. ?

Me dispongo a llevarlo a cabo y aún no sé cómo meterle mano.
Si podéis comentar algo del registro de eventos, pero eso considero que bastaria con eventos de entrada y salida de la aplicacion y eventos de lo que sucede con cada factura.

Gracias
paquitohm
 
Posts: 266
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Postby VictorCasajuana » Fri Jul 26, 2024 3:15 pm

paquitohm wrote:Hola,

¿ Podríais por favor comentar un poco como lleváis a cabo las premisas de la ley relativas a la garantia de conservación, integridad, accesibilidad, trazabilidad, inalterabilidad y legibilidad de los registros de facturación. ?

Me dispongo a llevarlo a cabo y aún no sé cómo meterle mano.
Si podéis comentar algo del registro de eventos, pero eso considero que bastaria con eventos de entrada y salida de la aplicacion y eventos de lo que sucede con cada factura.

Gracias


Bajo mi opinión sobre lo que he leído, si cumples con Veri*Factu, no tienes la obligación de cumplir con la conservación, integridad, accesibilidad, trazabilidad, inalterabilidad y legibilidad de los registros de facturación, tampoco te obligan a llevar el registro de eventos
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 265
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: España: Normativa sancionadora sistemas informáticos

Postby paquitohm » Fri Jul 26, 2024 3:45 pm

Víctor,

Hasta donde sé, los SIF, Sistemas Informáticos de Facturación, tienen la obligación de funcionar como Sí Verifactu y como No Verifactu, independientemente que el cliente sólo quiera Sí Verifactu


Salu2
paquitohm
 
Posts: 266
Joined: Fri Jan 14, 2022 8:37 am

PreviousNext

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 30 guests