VERIFACTU, criterios, dudas 10/11/2024

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

Re: VERIFACTU, criterios, dudas 10/11/2024

Post by paquitohm »

Sin duda.

La intención es fiscalizadora, para eso son el "fisco"
El problema es que esta fiscalización nunca antes había condicionado tanto la forma en que el fiscalizado tenía que actuar al momento de emitir la factura. Sí, era necesario calcular el iva, y el recargo de equivalencia y poner el CIF y ... pero eso se podia hacer de manera que no influyera en la organización de la empresa. Verifactu cambia eso y por mucho que nos cuenten que esto mejorará el dinamismo entre fiscalizado y fiscalizadora no es así sino más bien se "carga" el dinamismo empresarial que ahora deberá pasar por un brete para obtener la medalla de idóneo". Dicho de otra forma, la informática en este caso ha servido para que el usuario tenga más trabajo en vez de menos.

En la antigüedad, en tiempo de romanos, llegaba el publicano, el recaudador de impuestos, casa por casa, con una patrulla a cobrarlos. Ahora es tremendamente facil controlar la recaudación desde la central. Sólo se escapa el gorrilla, que por muchas denuncias que le pongan por invasión de la calzada, al ser insolvente, se va de rositas. La insolvencia es en realidad la auténtica salud.

Salu2
FiveWiDi
Posts: 1467
Joined: Mon Oct 10, 2005 2:38 pm

Re: VERIFACTU, criterios, dudas 09/01/2025

Post by FiveWiDi »

Hola a todos,

Saben Ustedes si se han modificado las fechas de implantación de Veri*Factu? Y si es así dónde se ha publicado?

Mis últimas noticias es que es el 25/07/2025.

Muchas gracias,

Un Saludo
Carlos G.

FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

FiveWiDi
Posts: 1467
Joined: Mon Oct 10, 2005 2:38 pm

VERIFACTU, criterios, dudas 07/02/2025

Post by FiveWiDi »

Hola a todos,

Necesito opiniones al respecto de cuando se debe anular un registro Verifactu. En que situaciones está justificado. Que criterios se deben seguir. Que entienden Ustedes que Hacienda acepta como 'normal/aceptable' el anular un registro Verifactu. Y si se anula el registro, se puede reutilizar el número de factura?

¿Me echan una mano?

Muchas gracias,

Un Saludo
Carlos G.

FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

arnauM
Posts: 3
Joined: Tue Oct 14, 2025 8:09 am

Re: VERIFACTU, criterios, dudas 10/11/2024

Post by arnauM »

Hola,
Por lo que yo tengo entendido los registros no se anulan, un registro una vez enviado a la AET ahi queda(aunque no me queda claro con los registros que reciben un NOK de la AET), lo que se pueden anular son las facturas mediante un registro de anulación que haga referencia a la factura que quieres anular.
La AET no recibe las facturas en si, recibe los registros que le mandas sobre lo que vas haciendo, entonces en un registro das el alta de una factura, si ves que esa factura se ha generado por error, envias un registro de anulacion haciendo referencia a la factura que diste de alta.
arnauM
Posts: 3
Joined: Tue Oct 14, 2025 8:09 am

Re: VERIFACTU, criterios, dudas 10/11/2024

Post by arnauM »

Aprovecho para preguntar.
¿Sabeis con certeza en el encadenamiento los datos del ultimo registro, es literalmente el ultimo registro o es el ultimo registro aceptado con OK por la AET?
Mirando lo documentacion oficial no veo que especifique nada si este ultimo registro fue OK o NOK, pero hay quien dice que los NOK no los tiene en cuenta la AET y por tanto no deberian usaruse en el encadenamiento...
FiveWiDi
Posts: 1467
Joined: Mon Oct 10, 2005 2:38 pm

Re: VERIFACTU, criterios, dudas 10/11/2024

Post by FiveWiDi »

arnauM wrote: Tue Oct 14, 2025 5:33 pm Aprovecho para preguntar.
¿Sabeis con certeza en el encadenamiento los datos del ultimo registro, es literalmente el ultimo registro o es el ultimo registro aceptado con OK por la AET?
Mirando lo documentacion oficial no veo que especifique nada si este ultimo registro fue OK o NOK, pero hay quien dice que los NOK no los tiene en cuenta la AET y por tanto no deberian usaruse en el encadenamiento...
Yo encadeno con el último registro enviado y guardo todos los registros, aceptados, aceptados con error o rechazados.
De hecho si en un paquete de varios registros enviados en un mismo XML, uno de ellos es rechazado, habrá sido encadenado con su predecesor y su sucesor.

Un Saludo
Carlos G.

FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: VERIFACTU, criterios, dudas 10/11/2024

Post by Antonio Linares »

Estimado Carlos,

Podriais compartir el código para ayudar a otros usuarios ?

Lo que pueda ser compartido y sirva para todos

muchas gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com
arnauM
Posts: 3
Joined: Tue Oct 14, 2025 8:09 am

Re: VERIFACTU, criterios, dudas 10/11/2024

Post by arnauM »

FiveWiDi wrote: Tue Oct 14, 2025 8:58 pm
arnauM wrote: Tue Oct 14, 2025 5:33 pm Aprovecho para preguntar.
¿Sabeis con certeza en el encadenamiento los datos del ultimo registro, es literalmente el ultimo registro o es el ultimo registro aceptado con OK por la AET?
Mirando lo documentacion oficial no veo que especifique nada si este ultimo registro fue OK o NOK, pero hay quien dice que los NOK no los tiene en cuenta la AET y por tanto no deberian usaruse en el encadenamiento...
Yo encadeno con el último registro enviado y guardo todos los registros, aceptados, aceptados con error o rechazados.
De hecho si en un paquete de varios registros enviados en un mismo XML, uno de ellos es rechazado, habrá sido encadenado con su predecesor y su sucesor.
Gracias Carlos por la respuesta.
No había caido en el caso de enviar paquetes de registros.
Sin embargo seguire buscando en la documentación oficial para justificarlo ante un cliente.
Saludos.
FiveWiDi
Posts: 1467
Joined: Mon Oct 10, 2005 2:38 pm

Re: VERIFACTU, criterios, dudas 10/11/2024

Post by FiveWiDi »

Buenos días aquí en España,

De todas maneras si no está prohibido en la documentación, no pueden decirme que no encadene como lo estoy haciendo si otro lado no indican como se debe encadenar; que de hecho (lo digo de memoria) si que dicen que los que se envían deben estar encadenados.

Un Saludo
Carlos G.

FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

FiveWiDi
Posts: 1467
Joined: Mon Oct 10, 2005 2:38 pm

Re: VERIFACTU, criterios, dudas 10/11/2024

Post by FiveWiDi »

Antonio Linares wrote: Wed Oct 15, 2025 6:50 am Estimado Carlos,
Podriais compartir el código para ayudar a otros usuarios ?
Lo que pueda ser compartido y sirva para todos
muchas gracias
Por supuesto, pero el caso que nos trae ahora es tan simple como ir a buscar el último registro que se ha enviado y tomar sus datos para el encadenamiento del siguiente.

Yo creo que el secreto está en tener bien controlado el estado de cada registro (yo lo hago con un campo VF_ESTAT numérico):
0-Nada
10-Iniciado (datos grabados para su envío)
15-XML creado
20-Acabado Ok
30-Acabado con error aceptado
40-Acabado con error a subsanar
50-Incorrecto (rechazado)

De esta manera yo sé que debo encadenar con el último registro que tenga un VF_ESTAT > 10

Depués miro en mi pc la función que utilizo.

Un Saludo
Carlos G.

FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

FiveWiDi
Posts: 1467
Joined: Mon Oct 10, 2005 2:38 pm

Re: VERIFACTU, criterios, dudas 10/11/2024

Post by FiveWiDi »

Para buscar el último registro (respecto del cual estoy) lo hago así:

Code: Select all | Expand

FUNCTION nGotoVFRegiAnterior( AMPAARRA, oTdbfVFRegi, oTdbfVFRegiDummy )

// oTdbfVFRegiDummy se li aplica ordre natural.

// Funció que s'usa quan es crea el XML, doncs cal cercar el registre anterior i poder
// capturar la seva empremta ('Huella').
// També s'usa en la navegació entre registres a la pantalla de gestió de VeFa32.

// Només cerca registres anteriors que el seu estat sigui >= nVF_ESTAT_Iniciat().


// A tenir en compte.
// En el cas de la generacio del XML, com que els registres es gestionen per ordre natural a
// oTDbfVfRegi, tots els registres anteriors al que s'està tractant ja hauran estat tractats
// i per tant tindran VF_ESTAT > nVF_ESTAT_Iniciat()


Local nRecnoAnterior := 0
Local cFilterDummy   := ""
Local nOrdreVFRegiDummy := oTdbfVFRegiDummy:SetIndex( 0 )

// 06/10/2025 Per tal poder trovar realment el registre anterior al que hem rebut, hem de saber per quin entorn estem cercant.
Local nEntornoDummy  := oTdbfVFRegi:Entorno_

If nEntornoDummy = 0
    nEntornoDummy := nGetProvesReal( AMPAARRA )
EndIf

cFilterDummy := oTDbfVFRegiDummy:SetFilter()

    //Traza( 1, "oTdbfVFRegi:Recno()/oTdbfVFRegiDummy:Recno()=", oTdbfVFRegi:Recno(), "/", oTdbfVFRegiDummy:Recno() )

        // Cerco el registre anterior al que es gestiona, doncs calen dades de l'encadenament entre factures per a fer el XML.
		// -------------------------------------------------------------------------------------------------------------------
		oTdbfVFRegiDummy:Goto( oTdbfVFRegi:Recno() )
		oTdbfVFRegiDummy:Skip( -1 )
		While ( oTdbfVFRegiDummy:Deleted() .Or. ;
		        ( @oTdbfVFRegiDummy:VF_Estat < nVF_ESTAT_Iniciat() ) .Or. ;
				Empty( @oTdbfVFRegiDummy:CodiVFRe ) .Or. ;
				;
				( ( @oTdbfVFRegiDummy:Entorno_ <> nEntornoDummy ) .And. ( @oTdbfVFRegiDummy:Entorno_ <> 0 ) ) ;
				;
			  ) .And. ;
			  .Not. oTdbfVFRegiDummy:CheckEofBof():Bof

		    oTdbfVFRegiDummy:Skip( -1 )

			//Traza( 1, "oTdbfVFRegi:Recno()/oTdbfVFRegiDummy:Recno()=", oTdbfVFRegi:Recno(), "/", oTdbfVFRegiDummy:Recno() )
		End

		//Traza( 1, "oTdbfVFRegi:Recno()/oTdbfVFRegiDummy:Recno()=", oTdbfVFRegi:Recno(), "/", oTdbfVFRegiDummy:Recno() )

		// Aquest While és útil per si s'arriba al inici del DBF sense haver trovat cap VF_Estat >= nVF_ESTAT_Iniciat()
		While ( oTdbfVFRegiDummy:Deleted() .Or. ;
		        ( @oTdbfVFRegiDummy:VF_Estat < nVF_ESTAT_Iniciat() ) .Or. ;
				Empty( @oTdbfVFRegiDummy:CodiVFRe ) .Or. ;
				;
				( ( @oTdbfVFRegiDummy:Entorno_ <> nEntornoDummy ) .And. ( @oTdbfVFRegiDummy:Entorno_ <> 0 ) ) ;
				;
			  ) .And. ;
		      .Not. oTdbfVFRegiDummy:CheckEofBof( ):Eof

			oTdbfVFRegiDummy:Skip( 1 )
			//Traza( 1, "oTdbfVFRegi:Recno()/oTdbfVFRegiDummy:Recno()=", oTdbfVFRegi:Recno(), "/", oTdbfVFRegiDummy:Recno() )
		End

		//nRecnoAnterior := oTdbfVFRegiDummy:Recno()

		//Traza( 1, "oTdbfVFRegi:Recno()/oTdbfVFRegiDummy:Recno()=", oTdbfVFRegi:Recno(), "/", oTdbfVFRegiDummy:Recno() )

		// Posso ( oTdbfVFRegiDummy:Recno() > oTdbfVFRegiDummy:LastRec() ) i oTdbfVFRegiDummy:CheckEofBof( ):Eof per què vaig trovar un
		// comportament estrany i no detectava Eof
		If ( oTdbfVFRegiDummy:Recno() = oTdbfVFRegi:Recno() ) .or. ( oTdbfVFRegiDummy:Recno() > oTdbfVFRegiDummy:LastRec() ) .Or. oTdbfVFRegiDummy:CheckEofBof( ):Eof
		    oTdbfVFRegiDummy:Blank()
			nRecnoAnterior := 0

		  Else

		    oTdbfVFRegiDummy:Load()
			//nGotoFaAlVFCodFac( AMPAarra, oTDbfFacAlbDummy, oTdbfVFRegiDummy:VFCodFac, .T., .T., 1, Nil, Nil )
			nRecnoAnterior := oTdbfVFRegiDummy:Recno()

		EndIf
		// Fi localització del registre anterior.
		// --------------------------------------

Un Saludo
Carlos G.

FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Post Reply