![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
Tipo facturas exentas
Buenas tardes, alguien tiene algún ejemplo o me puede orientar para el registro de una factura exenta y sus tipos, se que existen desde la E1 a E6 pero no sé como aplicarlas en el XML
Gracias |
|
#2
|
||||
|
||||
|
Te paso un ejemplo de una factura con varias líneas EXENTAS
Código:
<?xml version="1.0" encoding="utf-8"?> <sum:RegFactuSistemaFacturacion xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd"> <sum:RegistroFactura> <sum1:RegistroAlta> <sum1:IDVersion>1.0</sum1:IDVersion> <sum1:IDFactura> <sum1:IDEmisorFactura>99999910G</sum1:IDEmisorFactura> <sum1:NumSerieFactura>SERIE-3</sum1:NumSerieFactura> <sum1:FechaExpedicionFactura>21-07-2025</sum1:FechaExpedicionFactura> </sum1:IDFactura> <sum1:NombreRazonEmisor>EMPRESA PRUEBAS</sum1:NombreRazonEmisor> <sum1:TipoFactura>F1</sum1:TipoFactura> <sum1:DescripcionOperacion>articulo exento E6</sum1:DescripcionOperacion> <sum1:Destinatarios> <sum1:IDDestinatario> <sum1:NombreRazon>el corte ingles</sum1:NombreRazon> <sum1:NIF>A28017895</sum1:NIF> </sum1:IDDestinatario> </sum1:Destinatarios> <sum1:Desglose> <sum1:DetalleDesglose> <sum1:Impuesto>01</sum1:Impuesto> <sum1:ClaveRegimen>01</sum1:ClaveRegimen> <sum1:OperacionExenta>E1</sum1:OperacionExenta> <sum1:BaseImponibleOimporteNoSujeto>400.00</sum1:BaseImponibleOimporteNoSujeto> </sum1:DetalleDesglose> <sum1:DetalleDesglose> <sum1:Impuesto>01</sum1:Impuesto> <sum1:ClaveRegimen>02</sum1:ClaveRegimen> <sum1:OperacionExenta>E3</sum1:OperacionExenta> <sum1:BaseImponibleOimporteNoSujeto>200.00</sum1:BaseImponibleOimporteNoSujeto> </sum1:DetalleDesglose> <sum1:DetalleDesglose> <sum1:Impuesto>01</sum1:Impuesto> <sum1:ClaveRegimen>01</sum1:ClaveRegimen> <sum1:OperacionExenta>E4</sum1:OperacionExenta> <sum1:BaseImponibleOimporteNoSujeto>300.00</sum1:BaseImponibleOimporteNoSujeto> </sum1:DetalleDesglose> <sum1:DetalleDesglose> <sum1:Impuesto>01</sum1:Impuesto> <sum1:ClaveRegimen>01</sum1:ClaveRegimen> <sum1:OperacionExenta>E6</sum1:OperacionExenta> <sum1:BaseImponibleOimporteNoSujeto>100.00</sum1:BaseImponibleOimporteNoSujeto> </sum1:DetalleDesglose> </sum1:Desglose> <sum1:CuotaTotal>0.00</sum1:CuotaTotal> <sum1:ImporteTotal>1000.00</sum1:ImporteTotal> <sum1:Encadenamiento> <sum1:RegistroAnterior> <sum1:IDEmisorFactura>99999910G</sum1:IDEmisorFactura> <sum1:NumSerieFactura>SERIE-2</sum1:NumSerieFactura> <sum1:FechaExpedicionFactura>18-07-2025</sum1:FechaExpedicionFactura> <sum1:Huella>6D64A280EB0690419449C68E2E6F4577813B70E1CD3B5A5EE3DCF730118D1AB8</sum1:Huella> </sum1:RegistroAnterior> </sum1:Encadenamiento> <sum1:SistemaInformatico> <sum1:NombreRazon>Mi empresa S.L.</sum1:NombreRazon> <sum1:NIF>11111111X</sum1:NIF> <sum1:NombreSistemaInformatico>MiERP</sum1:NombreSistemaInformatico> <sum1:IdSistemaInformatico>04</sum1:IdSistemaInformatico> <sum1:Version>1.0</sum1:Version> <sum1:NumeroInstalacion>55555555555555</sum1:NumeroInstalacion> <sum1:TipoUsoPosibleSoloVerifactu>N</sum1:TipoUsoPosibleSoloVerifactu> <sum1:TipoUsoPosibleMultiOT>S</sum1:TipoUsoPosibleMultiOT> <sum1:IndicadorMultiplesOT>S</sum1:IndicadorMultiplesOT> </sum1:SistemaInformatico> <sum1:FechaHoraHusoGenRegistro>2025-07-21T08:24:04Z</sum1:FechaHoraHusoGenRegistro> <sum1:NumRegistroAcuerdoFacturacion/> <sum1:IdAcuerdoSistemaInformatico/> <sum1:TipoHuella>01</sum1:TipoHuella> <sum1:Huella>16021AB2329D491F1507DEEF23805AC7ADA9D0B6D9214E3074E2896C87535BC0</sum1:Huella> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-30f2e625-4b94-4a85-8eee-59ce46143107"> .... </ds:Signature> </sum1:RegistroAlta> </sum:RegistroFactura> </sum:RegFactuSistemaFacturacion> También tiene una lúnea exenta no deducible (400€) y una línea de SUPLIDOS (500€)
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#3
|
|||
|
|||
|
Re
Muchas gracias Germán por tu respuesta, he visto las muestras y sus detalles. Te estoy muy agradecido. Pero no me queda muy claro como puedo saber que tipo asignar en futuras ocasiones (Como saber a cual asignar E1, o E2, etc).
Gracias |
|
#4
|
||||
|
||||
|
En nuestro caso (que digan los demás si implementan lógicas más elaboradas), el E3, E4 y E6 los asigna el usuario manualmente, cuando el tipo es EXENTO.
El E1, se asigna automáticamente cuando el tipo es EXENTO_SD (sin derecho a deducción). El E2 ahora mismo no recuerdo, tendría que mirarlo....
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#5
|
|||
|
|||
|
Cita:
![]() De momento usamos E5 para intracomunitarias y E2 para exportaciones y el resto E6 ![]() Es un punto pendiente de mejorar en nuestro SIF... |
|
#6
|
|||
|
|||
|
Gracias por vuestra aportación.
|
|
#7
|
|||
|
|||
|
Cita:
Gracias |
|
#8
|
|||
|
|||
|
Cita:
Código:
<IDFactura> <IDEmisorFactura>22334455R</IDEmisorFactura> <NumSerieFactura>399-G01</NumSerieFactura> <FechaExpedicionFactura>07-08-2025</FechaExpedicionFactura> </IDFactura> <NombreRazonEmisor>AAAAAAAAAAA</NombreRazonEmisor> <Subsanacion>N</Subsanacion> <RechazoPrevio>N</RechazoPrevio> <TipoFactura>E5</TipoFactura> <DescripcionOperacion>VENTAS</DescripcionOperacion> <FacturaSimplificadaArt7273>N</FacturaSimplificadaArt7273> <FacturaSinIdentifDestinatarioArt61d>N</FacturaSinIdentifDestinatarioArt61d> <Macrodato>N</Macrodato> <Destinatarios> <IDDestinatario> <NombreRazon>BBBBBBBBBBBBBBBBBBBBBBBB</NombreRazon> <NIF>123456789</NIF> <IDOtro> <CodigoPais>PT</CodigoPais> <IDType>02</IDType> </IDOtro> </IDDestinatario> </Destinatarios> <Cupon>N</Cupon> <Desglose> <DetalleDesglose> <ClaveRegimen>01</ClaveRegimen> <CalificacionOperacion>N2</CalificacionOperacion> <BaseImponibleOimporteNoSujeto>50.00</BaseImponibleOimporteNoSujeto> </DetalleDesglose> </Desglose> <CuotaTotal>0.00</CuotaTotal> <ImporteTotal>50.00</ImporteTotal> <Encadenamiento> <RegistroAnterior> <IDEmisorFactura>29781758R</IDEmisorFactura> <NumSerieFactura>398-G01</NumSerieFactura> <FechaExpedicionFactura>29-07-2025</FechaExpedicionFactura> <Huella>A0865A4CF1DC7FA3AF234E8A2B87862C827E467D58361019FD85657CE52D14DB</Huella> </RegistroAnterior> </Encadenamiento> <SistemaInformatico> <NombreRazon>AAAAAAAAAAAAAAAAAAA</NombreRazon> <NIF>22334455R</NIF> <NombreSistemaInformatico>GestionVF</NombreSistemaInformatico> <IdSistemaInformatico>88</IdSistemaInformatico> <Version>25.03.15</Version> <NumeroInstalacion>15</NumeroInstalacion> <TipoUsoPosibleSoloVerifactu>S</TipoUsoPosibleSoloVerifactu> <TipoUsoPosibleMultiOT>S</TipoUsoPosibleMultiOT> <IndicadorMultiplesOT>S</IndicadorMultiplesOT> </SistemaInformatico> <FechaHoraHusoGenRegistro>2025-08-07T10:45:32+02:00</FechaHoraHusoGenRegistro> <TipoHuella>01</TipoHuella> <Huella>33CCAF1B0E8AA71013542DDFF0DF5FBDD15B8C6DD23024892F5502BDB96EF589</Huella> </RegistroAlta> </RegistroFactura> Código:
<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Body><env:Fault> <faultcode>env:Client</faultcode><faultstring>Codigo[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: IDDestinatario</faultstring> <detail><callstack>El XML no cumple el esquema. Falta informar campo obligatorio.: IDDestinatario WSExcepcion [faultcode=null, detailMap=null, version=0, faultstring=null, faultactor=null, faultSubCode=null, reasonText=null, detail=null, nameSpaceUriDetail=null] at es.aeat.tike.cont.xml.util.UtilesXMLTIKE.existeEtiquetaFin(UtilesXMLTIKE.java:483) at es.aeat.tike.cont.ws.xml.comun.ParserXmlDestinatarios.parsearListaDestinatarios(ParserXmlDestinatarios.java:103) at es.aeat.tike.cont.ws.xml.fe.estructura.ParserXmlRegistroFacturacion.parsearRegistro(ParserXmlRegistroFacturacion.java:444) at es.aeat.tike.cont.ws.xml.fe.estructura.ParserXmlRegFactuAltaBaja.parseaAlta(ParserXmlRegFactuAltaBaja.java:188) at es.aeat.tike.cont.ws.xml.fe.estructura.ParserXmlRegFactuAltaBaja.tratarRegistroAlta(ParserXmlRegFactuAltaBaja.java:875) at es.aeat.tike.cont.ws.xml.fe.estructura.ParserXmlRegFactuAltaBaja.parserComunRegFactu(ParserXmlRegFactuAltaBaja.java:94) at es.aeat.tike.cont.ws.fe.ProcesasfAltaBajaWS.altaBajaFacturaSistemaFacturacion(ProcesasfAltaBajaWS.java:58) at es.aeat.tike.cont.ws.fe.VistaSF.procesaOperacion(VistaSF.java:56) at es.aeat.tike.cont.ws.VistaMaestro.procesaCabecera(VistaMaestro.java:241) at es.aeat.tike.cont.ws.VistaMaestro.inicializaParseaValidaProcesaCabecera(VistaMaestro.java:86) at es.aeat.tike.cont.ws.fe.VerifactuSOAP.doPost(VerifactuSOAP.java:49) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:520) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1266) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:754) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:451) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:197) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:100) at io.openliberty.http.monitor.ServletFilter.doFilter(ServletFilter.java:76) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:203) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:93) at es.aeat.tike.cont.ws.filter.VFFilter.doFilter(VFFilter.java:53) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:203) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:93) at es.aeat.adws.jdit.imp.ws.WSFilterSrvImpl.doFilter(WSFilterSrvImpl.java:253) at es.aeat.adws.jdit.api.ws.WSFilter.doFilter(WSFilter.java:24) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:203) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:93) at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl._runUnified(JDitFilterSrvImpl.java:300) at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.filtroIni(JDitFilterSrvImpl.java:151) at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.doFilter(JDitFilterSrvImpl.java:103) at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.doFilter(JDitFilterSrvImpl.java:78) at es.aeat.adht.jdit.api.filter.JDitFilter.doFilter(JDitFilter.java:21) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:203) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:93) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:1069) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1260) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1078) at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:77) at com.ibm.ws.webcontainer40.servlet.CacheServletWrapper40.handleRequest(CacheServletWrapper40.java:87) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:978) at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(DynamicVirtualHost.java:293) at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:1284) at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.wrapHandlerAndExecute(HttpDispatcherLink.java:500) at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.ready(HttpDispatcherLink.java:459) at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:569) at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleNewRequest(HttpInboundLink.java:503) at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.processRequest(HttpInboundLink.java:363) at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.ready(HttpInboundLink.java:330) at com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:169) at com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:77) at com.ibm.ws.tcpchannel.internal.WorkQueueManager.requestComplete(WorkQueueManager.java:516) at com.ibm.ws.tcpchannel.internal.WorkQueueManager.attemptIO(WorkQueueManager.java:586) at com.ibm.ws.tcpchannel.internal.WorkQueueManager.workerRun(WorkQueueManager.java:970) at com.ibm.ws.tcpchannel.internal.WorkQueueManager$Worker.run(WorkQueueManager.java:1059) at com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java:298) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) </callstack></detail></env:Fault></env:Body></env:Envelope> El caso es que no tengo narices de ver por qué no me entra. Si fueses tan amable de ponerme un ejemplo te lo agradecería mil. ![]() Última edición por Neftali [Germán.Estévez] fecha: 07-08-2025 a las 12:43:14. |
|
#9
|
|||
|
|||
|
Cuando añades el bloque IDOTRO no se debe añadir la etiqueta NIF, sino que se indica la etiqueta ID (con el NIF o el ID que sea) en el bloque IDOTRO
Código:
<sum1:IDOtro>
<sum1:CodigoPais>?</sum1:CodigoPais>
<sum1:IDType>?</sum1:IDType>
<sum1:ID>?</sum1:ID>
</sum1:IDOtro>
|
|
#10
|
|||
|
|||
|
Cita:
![]() Última edición por Decanato fecha: 07-08-2025 a las 12:35:43. |
|
#11
|
||||
|
||||
|
En el error te está dando pistas:
Código:
<faultstring>Codigo[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: IDDestinatario</faultstring>
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#12
|
|||
|
|||
|
Cita:
<IDDestinatario> <NombreRazon>MELAINVENTO S.A.</NombreRazon> <IDOtro> <CodigoPais>PT</CodigoPais> <IDType>02</IDType> <ID>112233445</ID> </IDOtro> </IDDestinatario> Tanto la empresa como su VAT son correctos, y me la rechaza con este error: <tikR:CodigoErrorRegistro>1103</tikR:CodigoErrorRegistro><tikR escripcionErrorRegistro>El valor del campo ID es incorrecto.</tikR escripcionErrorRegistro>No sé a qué se puede deber ![]() |
|
#13
|
|||
|
|||
|
Si si, gracias, ya me lo indicaron arriba. Ahora, como verás, no sé que pasa con el valor del campo ID, que es el que me faltaba.
|
|
#14
|
|||
|
|||
|
Puede que no este dado de alta en el Vat y has ndicado 02, con 04 te funcilnará seguro por que se lo come todo, pero si es expirtacion y esta dado de alta en el Vat no está correcto ese dato. Prueba poniendo también PT en el id
|
|
#15
|
|||
|
|||
|
Cita:
Tengo una rutina para comprobar los VAT's y si consulto el que se muestra, "112233445" de Portugal (PT), me devuelve "INVALIDO" Para que no queden dudas, tengo otro VAT de Portugal que me devuelve la información correcta. Última edición por novatico fecha: 07-08-2025 a las 15:57:57. |
|
#16
|
|||
|
|||
|
Muchas gracias ermendalenda, poniendo el código del país delante del VAT me ha ido perfecto, y con el 02. Y una cosa más, ya que lo comentas, y a título de curiosidad: si utilizase el 04 que dices que se lo traga todo, qué efecto puede tener??? Porque estoy tentado de utilizarlo y quitarme de historias, siempre que no me genere ningún marrón.
|
|
#17
|
|||
|
|||
|
Cita:
Por cierto, yo pasé también por Visual FoxPro durante unos buenos años... qué tiempos!! ![]() |
|
#18
|
|||
|
|||
|
Cita:
|
|
#19
|
|||
|
|||
|
Cita:
|
|
#20
|
|||
|
|||
|
Cita:
Buenos días. Me surgen varias duras : - Disculpadme, pero no veo la línea de suplidos en el xml y me interesa saber cómo quedaría el xml con suplidos. - ¿ Alguien tiene un ejemplo de xml con retencíon ? Muchas gracias de antemano. |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Facturas rectificativas a para anular facturas aceptadas parcialmente | victor03 | Registros de Facturacion y Eventos (XML) | 6 | 31-05-2025 10:28:27 |
| que tipo de datos utilizar para guardar cualquier tipo de archivo | jeremiselxi | MS SQL Server | 2 | 08-12-2014 19:30:00 |
| No se puede convertir variable de tipo null a tipo integer. | JairoC | Varios | 5 | 30-11-2011 15:43:11 |
| Tabla de Facturas vs Detalles de Facturas | magnu9 | Conexión con bases de datos | 9 | 27-07-2007 17:27:37 |
| Campos calculados, facturas y detalles de facturas. | Letty | Conexión con bases de datos | 7 | 07-11-2003 11:19:44 |
|