Veri*Factu Capítulo 2... |
Responder
|
Página <1234> |
| Autor | |
ninja
Nuevo
Unido: 13/Abril/2012 Localización: España Estado: Sin conexión Puntos: 45 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 11/Diciembre/2024 a las 10:23 |
|
Muchas gracias por el código. Estoy probandolo y me da error de automatización en :
Set oSHA256 = CreateObject("System.Security.Cryptography.SHA256Managed")
|
|
![]() |
|
pascual14
Colaborador
Unido: 30/Junio/2014 Localización: Soria Estado: Sin conexión Puntos: 570 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 16/Diciembre/2024 a las 19:05 |
|
Gracias Mihura por la info. Es decir que el 1 de enero de 2026 para sociedades y el 1 de julio de 2026 para el resto? ya me imaginaba que en el 2025 no pueden poner esto en marcha. Y cómo lo tenemos en access para conectarnos con el servicio, recibir el código de verificación e imprimirlo en un qr?
Tengo un cliente que me está machacando con que tengo que certificar el software con hacienda y he leido que va a ser obligatorio para los desarrolladores ¿qué hay que hacer aqui? Gracias
|
|
![]() |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14428 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 16/Diciembre/2024 a las 19:22 |
|
Ni se te ocurra certificarlo, hacienda te va a brear a inspecciones y multas (dicho por un técnico de la misma AEAT).
Cuando esté desarrollado le pones poder subir datos a Verifactu y que sea él el responsable. Yo estoy a ver si desarrollo una aplicación (un complemento para Access / Excel ...) para poder subir facturas y obtener los QR, pero todavía no me he puesto, será cuando alguien me contrate :-P. Un saludo. |
|
![]() |
|
MBIN1965
Nuevo
Unido: 04/Enero/2025 Localización: Salamanca Estado: Sin conexión Puntos: 7 |
Opciones de entrada
Gracias(1)
Cita Respuesta
Enviado: 04/Enero/2025 a las 13:44 |
|
Pongo aquí mis pequeñas aportaciones al tema.
En primer lugar, para la generación de los códigos QR utilizo un programa gratuito que se llama SimpleCodeGenerator que funciona perfectamente y se le puede llamar desde línea de comandos. El código QR lo puede dejar en el portapapeles, así luego lo podemos pegar en el campo gráfico de nuestra tabla de facturas o en otra tabla que los guarde con la asociación de la factura a la que corresponde. Así que desde mi programa hecho en Omnis, genero un archivo .bat, al que luego llamo para que me genere el QR. El archivo bat contiene una única línea: con('SimpleCodeGenerator.exe /Clipboard "',EMP_VF_URLCOTEJO,'nif=',EMP_CIF,'&','numserie=',CAF_NUMERO,'&','fecha=',jst(dtd(CAF_FECHA),'-2NP0'),'-',jst(dtm(CAF_FECHA),'-2NP0'),'-',jst(dtcy(CAF_FECHA),'-4NP0'),'&','importe=',jst(CAF_TOTALFAC,'N2'),'"',' 3') Con esa instrucción, se genera el QR para una factura con los siguientes datos: EMP_VF_URLCOTEJO: que es un campo que almacena la url donde se podrá comprobar el QR EMP_CIF: CIF de la empresa que emite la factura CAF_NUMERO: número de la factura CAF_FECHA: fecha la factura CAF_TOTALFAC: total de la factura. Para el cálculo de la huella lo hago con otro archivo bat: set archivo=%~dp0texto_huella.txt echo El archivo a procesar es: %archivo% powershell -Command "$hash = (Get-FileHash '%archivo%' -Algorithm SHA256).Hash; $hash | Set-Clipboard" Los datos que se han de tener en cuenta para generar la huella se guardan previamente en el archivo texto_huella.txt. El resultado de la huella queda también en el portapapeles, con lo cual se pega después en el campo que habilitemos para ello.
|
|
![]() |
|
Al_loro
Nuevo
Unido: 16/Mayo/2024 Localización: La Roda Estado: Sin conexión Puntos: 44 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 04/Febrero/2025 a las 12:42 |
|
Muchas gracias MBIN1965. supongo que el SimpleCodeGenerator.exe es el de nirsoft.net. He usado algunas utilidades de ellos y funcionan bastante bien en general. Gracias por la aportación y perdona la tardanza en contestar, pero es que no me da la vida para más.
|
|
|
Gracias a todos los usuarios de este foro
|
|
![]() |
|
Guiri
Nuevo
Unido: 06/Noviembre/2024 Localización: Mallorca Estado: Sin conexión Puntos: 42 |
Opciones de entrada
Gracias(2)
Cita Respuesta
Enviado: 20/Febrero/2025 a las 22:48 |
|
Te lo estoy diciendo sin mirar mucho pero se necesita tener alguna de estas referencias activas: Visual Basic for Applications Microsoft Access 16.0 Object library ole Automation Microsoft Office 16.0 Access database engine Object Library Microsoft Office 16.0 Object Library Microsoft XML, V6.0 Microsoft Scripting Runtime me parece que xml v6. pero también tengo declarados en el modulo donde tengo las funciones esto llevo unos meses con muy poco tiempo para dedicar. espero te sirva. ' ----------------------------------------------------------------------------------------------------------- ' OJO la Funcion CalcularHuella utilizará la biblioteca ' ----------------------------------------------------------------------------------------------------------- Private Declare Function CryptAcquireContext Lib "advapi32.dll" Alias "CryptAcquireContextA" _ (phProv As Long, ByVal pszContainer As String, ByVal pszProvider As String, _ ByVal dwProvType As Long, ByVal dwFlags As Long) As Long Private Declare Function CryptCreateHash Lib "advapi32.dll" _ (ByVal hProv As Long, ByVal Algid As Long, ByVal hKey As Long, _ ByVal dwFlags As Long, phHash As Long) As Long Private Declare Function CryptHashData Lib "advapi32.dll" _ (ByVal hHash As Long, pbData As Any, ByVal dwDataLen As Long, ByVal dwFlags As Long) As Long Private Declare Function CryptGetHashParam Lib "advapi32.dll" _ (ByVal hHash As Long, ByVal dwParam As Long, pbData As Any, pdwDataLen As Long, _ ByVal dwFlags As Long) As Long Private Declare Function CryptDestroyHash Lib "advapi32.dll" (ByVal hHash As Long) As Long Private Declare Function CryptReleaseContext Lib "advapi32.dll" (ByVal hProv As Long, ByVal dwFlags As Long) As Long Const PROV_RSA_FULL = 1 Const CRYPT_VERIFYCONTEXT = &HF0000000 Const CALG_SHA_256 = &H800C Const HP_HASHVAL = &H2 No he podido contestar antes
|
|
![]() |
|
Guiri
Nuevo
Unido: 06/Noviembre/2024 Localización: Mallorca Estado: Sin conexión Puntos: 42 |
Opciones de entrada
Gracias(1)
Cita Respuesta
Enviado: 20/Febrero/2025 a las 22:52 |
|
La contestación era para Ninja
|
|
![]() |
|
PGyO
Nuevo
Unido: 22/Febrero/2025 Localización: Bizkaia Estado: Sin conexión Puntos: 18 |
Opciones de entrada
Gracias(1)
Cita Respuesta
Enviado: 22/Febrero/2025 a las 11:08 |
|
Por si ayuda, despues de googlear mucho a mi me funciona lo siguiente (a modo de ejemplo):
1) he instalado .net 3,5 para que no falle Set oSHA256 = CreateObject("System.Security.Cryptography.SHA256Managed") y he reiniciado el PC. 2)No he añadido ninguna referencia al proyecto, mas alla de las estandar. 3) he modificado el modulo verifactu de la forma que pongo a continuación, mezclando dos proyectos que funcionaban, y que a mi me fallaban. 4) he probado con el ejemplo que da la AEAT .... y funciona mi modulo verifactu: 'Hay que tener en cuenta, (TipoFactura) lo siguiente: 'Tipos de Factura Comunes 'F1 - Factura ordinaria 'Factura estándar para operaciones habituales. 'F2 - Factura simplificada 'Utilizada en operaciones donde no es obligatorio detallar toda la información del cliente. 'F3 - Factura rectificativa 'Emitida para corregir errores o modificaciones en una factura anterior. 'F4 - Factura recapitulativa 'Agrupa varias operaciones en un solo documento. 'Tipos de Factura Especiales 'R1 - Factura rectificativa ordinaria 'Corrige errores de facturas ordinarias. 'R2 - Factura rectificativa simplificada 'Corrige facturas simplificadas. 'R3 - Factura rectificativa recapitulativa 'Corrige facturas recapitulativas. 'Cómo elegir el tipo de factura: 'Factura ordinaria (F1): La más común, utilizada para ventas regulares. 'Factura rectificativa (F3): Cuando necesitas corregir un error o ajustar un importe. 'Factura simplificada (F2): Para operaciones menores o cuando la normativa lo permite. 'CuotaTotal es el importe total de IVA separador decimal el punto. 'ImporteTotal es el importe total de la factura IVA incluido. 'La funcion que genera el xml contempla si va a ser Alta, Modificación o Evento (TipoRegistro) Option Compare Database Option Explicit ' Tipo de datos personalizado para almacenar la información del registro Type RegistroAlta IDEmisorFactura As String NumSerieFactura As String FechaExpedicionFactura As String TipoFactura As String CuotaTotal As String ImporteTotal As String Huella As String FechaHoraHusoGenRegistro As String End Type Sub Test() Dim sIn As String, sOut As String Dim sH As String, sSecret As String Dim aIn As RegistroAlta 'insert the text to hash within the sIn quotes 'and for selected procedures a string for the secret key sIn = "" sIn = "IDEmisorFactura=89890001K&NumSerieFactura=12345678/G33&FechaExpedicionFactura=01-01-2024&TipoFactura=F1&CuotaTotal=12.35&ImporteTotal=123.45&Huella=&FechaHoraHusoGenRegistro=2024-01-01T19:20:30+01:00”" aIn.IDEmisorFactura = "89890001K" aIn.NumSerieFactura = "12345678/G33" aIn.FechaExpedicionFactura = "01-01-2024" aIn.TipoFactura = "F1" aIn.CuotaTotal = "12.35" aIn.ImporteTotal = "123.45" aIn.Huella = "" aIn.FechaHoraHusoGenRegistro = "2024-01-01T19:20:30+01:00" sH = CalcularHuella(aIn, "alta") Debug.Print sH & vbNewLine & Len(sH) & " characters in length" MsgBox sH & vbNewLine & Len(sH) & " characters in length" End Sub Function CalcularHuella(Registro As RegistroAlta, TipoRegistro As String) As String Dim DataToHash As String Dim oT As Object, oSHA256 As Object Dim HashBytes(), TextToHash() As Byte Dim HashString As String Dim i As Integer Select Case LCase(TipoRegistro) Case "alta" DataToHash = "IDEmisorFactura=" & Registro.IDEmisorFactura & _ "&NumSerieFactura=" & Registro.NumSerieFactura & _ "&FechaExpedicionFactura=" & Registro.FechaExpedicionFactura & _ "&TipoFactura=" & Registro.TipoFactura & _ "&CuotaTotal=" & Registro.CuotaTotal & _ "&ImporteTotal=" & Registro.ImporteTotal & _ "&Huella=" & Registro.Huella & _ "&FechaHoraHusoGenRegistro=" & Registro.FechaHoraHusoGenRegistro Case "modificacion" DataToHash = "IDEmisorFactura=" & Registro.IDEmisorFactura & _ "&NumSerieFactura=" & Registro.NumSerieFactura & _ "&FechaExpedicionFactura=" & Registro.FechaExpedicionFactura & _ "&Huella=" & Registro.Huella & _ "&FechaHoraHusoGenRegistro=" & Registro.FechaHoraHusoGenRegistro Case "evento" DataToHash = "NIF=" & Registro.IDEmisorFactura & _ "&IdSistemaInformatico=SYS001&TipoEvento=" & Registro.TipoFactura & _ "&HuellaEvento=" & Registro.Huella & _ "&FechaHoraHusoGenEvento=" & Registro.FechaHoraHusoGenRegistro Case Else MsgBox "Tipo de registro no reconocido para cálculo de huella." Exit Function End Select HashString = SHA_256(DataToHash) ' Calcular hash SHA-256 'Set oSHA256 = CreateObject("System.Security.Cryptography.SHA256Managed") 'HashBytes = oSHA256.ComputeHash_2(StrConv(DataToHash, vbFromUnicode)) ' Convertir a hexadecimal 'For i = LBound(HashBytes) To UBound(HashBytes) ' HashString = HashString & LCase(Right("00" & Hex(HashBytes(i)), 2)) 'Next i CalcularHuella = UCase(HashString) End Function Function SHA_256(sIn As String, Optional bB64 As Boolean = 0) As String 'Set a reference to mscorlib 4.0 64-bit ¿? ->NO 'Check that Net Framework 3.5 (includes .Net 2 and .Net 3 is installed in windows 'and not just Net Advanced Services 'Test with empty string input: '64 Hex: e3b0c44298f...etc '44 Base-64: 47DEQpj8HBSa+/...etc Dim oT As Object, oSHA256 As Object Dim TextToHash() As Byte, bytes() As Byte Set oT = CreateObject("System.Text.UTF8Encoding") Set oSHA256 = CreateObject("System.Security.Cryptography.SHA256Managed") TextToHash = oT.GetBytes_4(sIn) bytes = oSHA256.ComputeHash_2((TextToHash)) If bB64 = True Then SHA_256 = ConvToBase64String(bytes) Else SHA_256 = ConvToHexString(bytes) End If Set oT = Nothing Set oSHA256 = Nothing End Function Private Function ConvToBase64String(vIn As Variant) As Variant 'Check that Net Framework 3.5 (includes .Net 2 and .Net 3 is installed in windows 'and not just Net Advanced Services Dim oD As Object Set oD = CreateObject("MSXML2.DOMDocument") With oD .LoadXML "<root />" .DocumentElement.DataType = "bin.base64" .DocumentElement.nodeTypedValue = vIn End With ConvToBase64String = Replace(oD.DocumentElement.Text, vbLf, "") Set oD = Nothing End Function Private Function ConvToHexString(vIn As Variant) As Variant 'Check that Net Framework 3.5 (includes .Net 2 and .Net 3 is installed in windows 'and not just Net Advanced Services Dim oD As Object Set oD = CreateObject("MSXML2.DOMDocument") With oD .LoadXML "<root />" .DocumentElement.DataType = "bin.Hex" .DocumentElement.nodeTypedValue = vIn End With ConvToHexString = Replace(oD.DocumentElement.Text, vbLf, "") Set oD = Nothing End Function Function GenerarXML(Registro As RegistroAlta, TipoRegistro As String) As String Dim XMLString As String Select Case LCase(TipoRegistro) Case "alta" ' XML para Registro de Alta XMLString = "<RegistroAlta>" & vbCrLf & _ " <IDFactura>" & vbCrLf & _ " <IDEmisorFactura>" & Registro.IDEmisorFactura & "</IDEmisorFactura>" & vbCrLf & _ " <NumSerieFactura>" & Registro.NumSerieFactura & "</NumSerieFactura>" & vbCrLf & _ " <FechaExpedicionFactura>" & Registro.FechaExpedicionFactura & "</FechaExpedicionFactura>" & vbCrLf & _ " </IDFactura>" & vbCrLf & _ " <TipoFactura>" & Registro.TipoFactura & "</TipoFactura>" & vbCrLf & _ " <CuotaTotal>" & Registro.CuotaTotal & "</CuotaTotal>" & vbCrLf & _ " <ImporteTotal>" & Registro.ImporteTotal & "</ImporteTotal>" & vbCrLf & _ " <Encadenamiento>" & vbCrLf & _ " <RegistroAnterior>" & vbCrLf & _ " <Huella>" & Registro.Huella & "</Huella>" & vbCrLf & _ " </RegistroAnterior>" & vbCrLf & _ " </Encadenamiento>" & vbCrLf & _ " <FechaHoraHusoGenRegistro>" & Registro.FechaHoraHusoGenRegistro & "</FechaHoraHusoGenRegistro>" & vbCrLf & _ "</RegistroAlta>" Case "modificacion" ' XML para Registro de Modificación XMLString = "<RegistroModificacion>" & vbCrLf & _ " <IDFactura>" & vbCrLf & _ " <IDEmisorFactura>" & Registro.IDEmisorFactura & "</IDEmisorFactura>" & vbCrLf & _ " <NumSerieFactura>" & Registro.NumSerieFactura & "</NumSerieFactura>" & vbCrLf & _ " <FechaExpedicionFactura>" & Registro.FechaExpedicionFactura & "</FechaExpedicionFactura>" & vbCrLf & _ " </IDFactura>" & vbCrLf & _ " <Encadenamiento>" & vbCrLf & _ " <RegistroAnterior>" & vbCrLf & _ " <Huella>" & Registro.Huella & "</Huella>" & vbCrLf & _ " </RegistroAnterior>" & vbCrLf & _ " </Encadenamiento>" & vbCrLf & _ " <FechaHoraHusoGenRegistro>" & Registro.FechaHoraHusoGenRegistro & "</FechaHoraHusoGenRegistro>" & vbCrLf & _ "</RegistroModificacion>" Case "evento" ' XML para Registro de Evento XMLString = "<RegistroEvento>" & vbCrLf & _ " <SistemaInformatico>" & vbCrLf & _ " <NIF>" & Registro.IDEmisorFactura & "</NIF>" & vbCrLf & _ " <NumSerie>" & Registro.NumSerieFactura & "</NumSerie>" & vbCrLf & _ " <Version>1.0</Version>" & vbCrLf & _ " </SistemaInformatico>" & vbCrLf & _ " <TipoEvento>" & Registro.TipoFactura & "</TipoEvento>" & vbCrLf & _ " <Encadenamiento>" & vbCrLf & _ " <HuellaEvento>" & Registro.Huella & "</HuellaEvento>" & vbCrLf & _ " </Encadenamiento>" & vbCrLf & _ " <FechaHoraHusoGenEvento>" & Registro.FechaHoraHusoGenRegistro & "</FechaHoraHusoGenEvento>" & vbCrLf & _ "</RegistroEvento>" Case Else XMLString = "Error: Tipo de Registro no reconocido." End Select GenerarXML = XMLString End Function Sub FirmarXMLConAutoFirma() Dim ShellCommand As String Dim AutoFirmaPath As String Dim InputXML As String Dim OutputXML As String ' Ruta al ejecutable de AutoFirma AutoFirmaPath = "C:\Program Files\AutoFirma\AutoFirma.jar" ' Archivos de entrada y salida InputXML = "C:\Ruta\RegistroAlta.xml" OutputXML = "C:\Ruta\RegistroAltaFirmado.xml" ' Comando para firmar el XML ShellCommand = "java -jar """ & AutoFirmaPath & """ sign -i """ & InputXML & """ -o """ & OutputXML & """ -format XAdES" ' Ejecutar el comando Shell ShellCommand, vbNormalFocus MsgBox "Firma completada. Archivo firmado en: " & OutputXML End Sub |
|
|
Compartir conocimiento nos hace crecer a todos
|
|
![]() |
|
PGyO
Nuevo
Unido: 22/Febrero/2025 Localización: Bizkaia Estado: Sin conexión Puntos: 18 |
Opciones de entrada
Gracias(1)
Cita Respuesta
Enviado: 22/Febrero/2025 a las 11:25 |
|
Respecto al código QR he seguido el proyecto de Github:
VbQRCodegen-master con cuidado porque hay una modificación del modulo .bas que hace que funcione (tiene una funcion de conversion adicional QRCodegenConvertToData) y es facil descargar la desactualizada sin querer. simplemente con poner en el informe un objeto picture y cambiar su propiedad PictureData tenemos el código QR en la factura: ImgQR.PictureData = QRCodegenConvertToData(QRCodegenBarcode(TextoQR, , , , QRCodegenEcc_MEDIUM)) |
|
|
Compartir conocimiento nos hace crecer a todos
|
|
![]() |
|
Al_loro
Nuevo
Unido: 16/Mayo/2024 Localización: La Roda Estado: Sin conexión Puntos: 44 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 17/Marzo/2025 a las 11:12 |
|
Buenos días a todos, en especia a Miura al que va este comentario. Si no me equivoco, en cada factura que emitas y pases por verifactu, hay que identificar a la empresa programadora, programa, versión del programa, etc. Se indica en las claves que van en el xml que subes a hacienda, así que no nos libramos de las inspecciones y posibles sanciones. Estas son las claves obligatorias en CADA factura emitida y subida con nuestros sistemas informáticos, con lo que estamos pillados. No puedes poner los datos del cliente porque no es una empresa de programación, a no ser que ellos accedan a ello y decir que son ellos los únicos responsables de esa instalación. Otro marrón.... <SistemaInformatico> <NombreRazon> </NombreRazon> <NIF></NIF> <NombreSistemaInformatico></NombreSistemaInformatico> <IdSistemaInformatico></IdSistemaInformatico> <Version></Version>" <NumeroInstalacion></NumeroInstalacion> <TipoUsoPosibleSoloVerifactu></TipoUsoPosibleSoloVerifactu> <TipoUsoPosibleMultiOT>N</TipoUsoPosibleMultiOT> <IndicadorMultiplesOT>N</IndicadorMultiplesOT> </SistemaInformatico> Gracias a todos por las colaboraciones. Ya veremos quien queda vivo tras esta "criba". |
|
|
Gracias a todos los usuarios de este foro
|
|
![]() |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14428 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 17/Marzo/2025 a las 11:19 |
|
Una cosa es que emitas las facturas y otra que las 'subas' (puede que ni siquiera tenga un programa de facturación).
Pero como dijo un ciego, ya veremos. |
|
![]() |
|
Al_loro
Nuevo
Unido: 16/Mayo/2024 Localización: La Roda Estado: Sin conexión Puntos: 44 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 17/Marzo/2025 a las 12:23 |
|
Bueno, a estas alturas he asistido a tantos seminarios como para escribir la biblia del veri*factu. Si haces facturas, estás obligado a verifactu. Incluso si las haces en Word o en Excel. Hay una respuesta vinculante al respecto de la inspección de AEAT. Sólo estarán exentos los que están en el SII, que ya lo hacen cada 3 días (realmente lo hacen a diario, porque hoy haces lo de hace 3 días, mañana lo de hace 2... ) y los de módulos, así como algunas actividades como alquileres y poco más. Es decir, el 90 % de la gente lo tenemos que hacer. Hacer facturas obliga a verifactu. Te puedes librar si haces la facturas "a mano", vamos a boli como se hacían antiguamente, con un taco de facturas de imprenta, pero tampoco tengo claro como se declará eso en hacienda. Vamos que si emites facturas, aunque no tengas programa de facturación, a no ser que las hagas a boli, estás obligado a verifactu. Y nosotros, como desarrolladores, obligados a decir que somos los desarrolladores.... Jodidos estamos....
|
|
|
Gracias a todos los usuarios de este foro
|
|
![]() |
|
pascual14
Colaborador
Unido: 30/Junio/2014 Localización: Soria Estado: Sin conexión Puntos: 570 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 18/Marzo/2025 a las 09:27 |
|
Acabo de leer esta noticia, aunque ya lo comentó Mihura y Al_loro. Nos están complicando la vida. esa certificación propia ¿es complicada? es mejor no hacerla por lo que me dicen, pero si no la haces...Esto va a hacer que muchos dejemos de hacer programas de facturación a medida.
https://www.autonomosyemprendedor.es/articulo/hacienda/hacienda-tiene-listos-certificados-nuevos-programas-facturacion-autonomos-sanciones-tenerlos/20250313160028041492.html Ed. Cambio el link al artículo enlazado
Editado por Mihura - 18/Marzo/2025 a las 09:44 |
|
![]() |
|
Al_loro
Nuevo
Unido: 16/Mayo/2024 Localización: La Roda Estado: Sin conexión Puntos: 44 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 18/Marzo/2025 a las 14:32 |
|
La certificación es obligatoria y es muy sencilla. Simplemente haces una declaración responsable en la que firmas de tu programa hace lo que hace y lo hace bien. El formato estará en la web de hacienda, supuestamente antes de Julio de 2025, pero tendremos tiempo hasta 2026 para firmarla. Viene una nueva "criba" para las empresas que hacen pequeños programa de facturación a medida. O tienes volumen, o te sales. Wolters Kluwer ha sacado ya una aplicación por 9.99 al mes y en la nube para hacer el verifactu y "BARRER" el mercado. La está lanzando a través de sus partners y de las asesorías que tienen su aplicación, o sea, más de media España. Tal vez se acabe un negocio y empiece otro, pero desde luego esto marca un antes y un después. En fin.....
|
|
|
Gracias a todos los usuarios de este foro
|
|
![]() |
|
pascual14
Colaborador
Unido: 30/Junio/2014 Localización: Soria Estado: Sin conexión Puntos: 570 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 18/Marzo/2025 a las 17:10 |
|
Pero, si yo certifico mi software con lo que pide hacienda (no dejar modificar facturas y todo eso que nos piden) y un día mi cliente modifica una factura de alguna manera, por ejemplo accediendo a la base de datos ¿la multa me viene a mi? mi software no tiene nada para defraudar pero los clientes a veces hacen cosas que ni sabemos. El problema que seguro tenemos muchos es que nuestro software a medida está adaptado al cliente para su uso y necesidades y es complicado decirles que te tienes que ir a aplicación vertical tipo A3, factusol o similar porque seguro que no le dan las cosas que él necesita. Gracias.
|
|
![]() |
|
Responder
|
Página <1234> |
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |