![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
Como registrar una Factura Sustitutiva por rechazo previo de NIF o ID en un solo paso
Entiendo que lo hay que hacer es una sustitutiva a pesar que no exista registro de dicha factura en la AEAT y yo planteo dos casos:
Para una factura rechazada por ID incorrecto de 100€ de Base + 21€ de Iva. 1) Que la queramos sustituir con los mismos importes pero el ID correcto. BaseImponibleOimporteNoSujeto := 100; CuotaRepercutida := 21; BaseRectificada:=100; CuotaRectificada:=21; 2) Que la queramos rectificar completamente es decir corregir el rechazo pero esa factura dejarla a 0 (abono de antes) , el motivo que ya se haya realizado otra correctamente, etc. y hacerlo en un solo paso. BaseImponibleOimporteNoSujeto := 0; CuotaRepercutida := 0; BaseRectificada:=100; CuotaRectificada:=21; Que opinais estais de acuerdo? |
|
#2
|
||||
|
||||
|
Tu planteamiento es correcto para ambos casos. Cuando una factura es rechazada por NIF o ID incorrecto, debes registrar una factura sustitutiva aunque no haya constancia previa en la AEAT.
Caso 1 - Sustitución con importes idénticos: BaseImponibleOimporteNoSujeto = 100 CuotaRepercutida = 21 BaseRectificada = 100 CuotaRectificada = 21 Este planteamiento es correcto. Estás indicando que la nueva factura tiene los mismos importes (100 + 21) y que sustituye a una factura anterior con esos mismos valores. Caso 2 - Anulación completa en un paso: BaseImponibleOimporteNoSujeto = 0 CuotaRepercutida = 0 BaseRectificada = 100 CuotaRectificada = 21 También es correcto. En BaseRectificada/CuotaRectificada indicas los valores de la factura original rechazada (100/21), y en BaseImponible/CuotaRepercutida pones 0 para dejarla completamente anulada. Puntos técnicos importantes: 1. TipoFactura: Debe ser F2 (Factura Simplificada Sustitutiva) o R2/R3/R4 según corresponda al tipo sustitutivo. 2. FacturaSustituida: Debes incluir el bloque con NumSerieFacturaAnterior, FechaExpedicionFacturaAnterior y TipoFacturaAnterior con los datos de la factura rechazada. 3. DescripcionOperacion: Recomendable incluir referencia al motivo ("Sustitución por NIF incorrecto" o similar). 4. Huella SHA256: La huella de la factura sustitutiva debe calcularse considerando también la huella de la factura anterior rechazada en el encadenamiento. 5. ImporteRectificacion: Si usas el bloque Desglose/DetalleDesglose, los campos BaseRectificada y CuotaRectificada van dentro de ImporteRectificacion/BaseRectificada e ImporteRectificacion/CuotaRectificada. Ambos enfoques cumplen con la especificación técnica de VeriFactu para facturas sustitutivas tras rechazo.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
|
#3
|
|||
|
|||
|
Cita:
"4. Huella SHA256: La huella de la factura sustitutiva debe calcularse considerando la última factura enviada (como cualquier otro RF que se envíe)." |
|
#4
|
||||
|
||||
|
Tienes razón, Carlos. Tu aclaración es correcta y coincide con la normativa actual de la AEAT y VeriFactu.
El encadenamiento de huellas SHA256 siempre se hace con la última factura enviada correctamente (es decir, la última que recibió un "RegistroDuplicado" o "RegistroAceptado"), independientemente de si posteriormente hubo facturas rechazadas. Las facturas rechazadas no forman parte de la cadena de huellas, por lo que la factura sustitutiva se encadena con la última factura aceptada, no con la rechazada. Para más información sobre este tema, puedes consultar estos enlaces oficiales de la AEAT que apuntan a la documentación sobre normativa y encadenamiento SHA256 en VeriFactu: - FAQ de VeriFactu de la AEAT: https://sede.agenciatributaria.gob.e...cturacion.html - Guía técnica de VeriFactu (Descripción de Servicio Web): https://sede.agenciatributaria.gob.e...pcion_SWeb.pdf Gracias por la corrección.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ Última edición por jhonny fecha: 27-10-2025 a las 23:34:47. |
|
#5
|
||||
|
||||
|
Aclaracion
Cita:
Ojo, eso no es correcto,la descripción no dice nada de enviado correctamente, sino del ultimo registro creado, tu envías uno, da error,y aunque no haya subido, el registro queda guardado inmutable mente en tu base de datos, y el siguiente lo encadenas con el anterior aunque fuese el que dio error, si has de corregir el que dio error crearas otro registro, que se encadenara con el inmediatamente anterior , aunque no este en posesión de la aeat, puesto que si recibes una inspección no ha de haber huecos en los registros de facturacion, en tu base de datos, ya sabéis que las facturas una vez emitidas no se pueden modificar..
__________________
Uno se alegra de ser útil. (Isaac Asimov) |
|
#6
|
|||
|
|||
|
Cita:
|
|
#7
|
||||
|
||||
|
Cita:
No me refería tu respuesta, un saludo.
__________________
Uno se alegra de ser útil. (Isaac Asimov) |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Cómo solventar el error de una factura rechazada y subsanación por rechazo | trumbolt | Errores (relacionados con al AEAT) | 76 | 23-10-2025 12:25:52 |
| Paso de factura simplificada a factura convencional | Decanato | General/Noticias | 15 | 26-08-2025 20:25:19 |
| Registrar solo la hora con DBTimepicker | victor Julio | Conexión con bases de datos | 4 | 23-11-2016 19:37:51 |
| Depurar paso a paso solo por mi código | pape19 | Varios | 7 | 30-09-2011 20:41:54 |
| ¿Cómo conectar una base de datos MySQL paso a paso por ip? | Master23 | Conexión con bases de datos | 5 | 04-07-2010 22:01:54 |
|