Bueno, llevo un año pensando que hacer con esto si continuar o no.... de hecho hace 3 años empece en otro trabajo para dejar la informatica excepto la programacion... y vivir mas tranquilo. Siempre me quedara programar juegos o cosas divertidas como hobby si decido no continuar :-D
Ahora bien, tambien he pensado en la otra opcion, que hacer si decido continuar que es lo que nos ocupa...
Independientemente de lo que inventen o repiensen con las normas, lo primero que hay que preguntarse es si trabajas con DBF o base de datos... la inalterabilidad de los datos es una de las principales premisas y un DBF excepto si tocas cierto byte de la cabecera o encriptar algunos campos, es muy accesible.
He pensado tambien en generar un log encriptado, seria secuencial pero no deja de ser un texto editable pero se puede ofuscar o hacerle algun truco para que no sea tan evidente que cambio como para eliminar una linea y romper la proteccion. Si alteran el DBF, el hash saldra erroneo con una simple comprobacion.
Ahora es cuando aquellos que pregonaban que habia que dejar las dbf y usar bases de datos, habria que darles la razon, porque lo van a poner mas dificil y las tablas libres ya dificilmente podran hacer frente a ciertos requerimientos...
Si tienes un sistema con DBF sera imposible llegar a tiempo de migrar, pero siempre puedes crear una base de datos si necesitas algo mas complejo, por ejemplo en firebird que se almacena en un unico fichero es una buena opcion y usando una libreria como foxydb, seguir trabajando con tablas libres pero tener un duplicado de las facturas dentro de la BD de firebird, como un mirror o espejo. Al estar protegido con contraseña, poder guardar hash de documentos o incluso CRC del fichero, tiene muchas posibilidades.
Despues de eso, ya hablaremos de evitar que puedas modificar desde la aplicacion o si lo permite en algun supuesto, guardar las versiones del documento, hash, qr y demas....