Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #2621  
Antiguo 19-01-2022
Ivan_Teleco Ivan_Teleco is offline
Registrado
 
Registrado: jul 2021
Posts: 7
Poder: 0
Ivan_Teleco Va por buen camino
Ayuda Con Enviar Xml

Hola buenas, antes de nada gracias por todo el codigo que la gente comparte.
Estoy usando un php para realizar el envio, y cuando introducco los certificados PEM siempre me responde con nada, si no los pongo al menos me dice que no introduje los certificado, pero almenos responde, alguien sabe donde puede estar el problema??

Los certificados PEM los he sacado con OPENSSL
openssl pkcs12 -in C:\Users\IndaG\Desktop\TBAI_PRUEBAS\PFX.pfx -out C:\Users\IndaG\Desktop\TBAI_PRUEBAS\ca.pem -cacerts -nokeys
openssl pkcs12 -in C:\Users\IndaG\Desktop\TBAI_PRUEBAS\PFX.pfx -out C:\Users\IndaG\Desktop\TBAI_PRUEBAS\client.pem -clcerts -nokeys
openssl pkcs12 -in C:\Users\IndaG\Desktop\TBAI_PRUEBAS\PFX.pfx -out C:\Users\IndaG\Desktop\TBAI_PRUEBAS\key.pem -nocerts

Código PHP:
 <?php

       $xmlStr 
file_get_contents('.\firmado.xml');
               
        
$ch curl_init('URL');
        
curl_setopt($chCURLOPT_POST1);
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
curl_setopt($chCURLOPT_SSLCERT,'/client.pem');
        
curl_setopt($chCURLOPT_SSLKEY,'/key.pem');
        
curl_setopt($chCURLOPT_CAINFO,'/ca.pem');
        
curl_setopt($chCURLOPT_SSLKEYPASSWD"INDAVE");
        
curl_setopt($chCURLOPT_SSL_VERIFYPEER1);
        
curl_setopt($chCURLOPT_POSTFIELDS$xmlStr);
        
curl_setopt($chCURLOPT_HTTPHEADER, array('Content-Type: application/xml; charset=utf-8')); 


        
$resp curl_exec($ch); 
        
$size_response curl_getinfo($chCURLINFO_HEADER_SIZE);
        echo
$size_response;
         
$header_response substr($resp0$size_response);
         
$body_response substr($resp$size_response);
        echo 
$body_response;
       
//echo $resp;

       
curl_close($ch);

Última edición por Neftali [Germán.Estévez] fecha: 19-01-2022 a las 13:25:37. Razón: Añadir TAGs al código
Responder Con Cita
  #2622  
Antiguo 19-01-2022
JM_1 JM_1 is offline
Miembro
 
Registrado: ago 2021
Posts: 14
Poder: 0
JM_1 Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
Tengo dudas sobre cómo proceder cuando se produzca un error en los envíos o en la firma (ya sea por fallo del servidor, no tener internet en ese momento o incluso fallos en el certificado en el momento de firmar).
Sé que se ha hablado varias veces en el foro pero no consigo encontrar una respuesta clara.

Me queda claro que, antes de hacer nada, lo ideal es comprobar manualmente que se cumplen todos los requisitos para que la factura pueda firmarse y enviarse:
- campos obligatorios (por ejemplo, "código postal" y "dirección" para Gipuzkoa/Araba y otros más)
- que el certificado esté seleccionado y sea válido
- resto de campos obligatorios, etc.

Una vez eso esté comprobado, procederíamos a generar Y firmar la factura.
Este paso es necesario para poder obtener el identificativo TicketBAI y el QR, que debemos incluir en la factura o tícket impreso que se le entrega al cliente. Por lo tanto, lo importante es poder llegar al menos a este paso: generar y firmar la factura.

Ahora es cuando tengo la duda... ¿cómo gestionáis vosotros un error en el envío?

La factura ya está generada, con su código tbai, su QR, el XML firmado, etc.
Si el envío falla, siempre podremos reenviarla más tarde, pero para ello necesitaremos el XML firmado original.
Es decir, no podemos volver a generar y firmar el XML porque será distinto (la firma no coincidirá).

Por lo tanto, mi pregunta es... ¿qué dato(s) guardáis en la base de datos del software para poder enviar las facturas más adelante sin tener que volver a firmarlas? ¿Guardáis TODO el XML firmado en un campo Blob? ¿Guardáis todos los archivos en alguna carpeta? ¿marcáis las facturas como "generada", "firmada", "enviada" para saber en qué paso se quedó cada una?

Para Gipuzkoa y Araba los envíos los hago sobre la marcha (en el momento de hacer la venta).
¿Lo hacéis en segundo plano o mostráis alguna ventana de "progreso de envío" avisando de los posibles errores al usuario?

¿O ninguna de estas opciones es necesaria y realmente es más sencillo y me estoy liando?

Gracias y perdón por el tostón.
Una vez creado el TBAI y firmado, tenlo guardado firmado y bloquéalo que no se pueda hacer nada sobre él ni volver a generar. Se reenvía hasta que tengas el "Recibido". Si por lo que sea vuelves a generar otro tan solo un segundo después, pero hacienda ya registró el primero aunque el server no te diera respuesta, tienes el problema. El TBAI es diferente ya por la firma.

Un saludo
Responder Con Cita
  #2623  
Antiguo 19-01-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por espinete Ver Mensaje
Por lo tanto, mi pregunta es...

1) ¿qué dato(s) guardáis en la base de datos del software para poder enviar las facturas más adelante sin tener que volver a firmarlas?
2) ¿Guardáis TODO el XML firmado en un campo Blob?
3) ¿Guardáis todos los archivos en alguna carpeta?
4) ¿marcáis las facturas como "generada", "firmada", "enviada" para saber en qué paso se quedó cada una?
5) ¿Lo hacéis en segundo plano o mostráis alguna ventana de "progreso de envío" avisando de los posibles errores al usuario?
1) Guardamos TODO el XML firmado (lo que se envía). Es la única manera, como dices. No se puede generar 2 veces, porque no coincidiría la firma.
2) Si.
3) Sólo para temas de LOG, en nuestro caso es opcional. Lo que realmente sirve a efectos de posibles inspecciones es lo guardado en Base de Datos.
4) En BD tenemos toda la información de cada "intento" de enviar que hacemos.
5) Nosotros lo hacemos al guardar la factura. Si no hay errores no mostramos nada en pantalla.
__________________
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.
Responder Con Cita
  #2624  
Antiguo 19-01-2022
JM_1 JM_1 is offline
Miembro
 
Registrado: ago 2021
Posts: 14
Poder: 0
JM_1 Va por buen camino
Cita:
Empezado por landaga Ver Mensaje
Esto fué lo que me contestaron sobre la Retención Soportada:

Kaixo,

Aunque la retención admite también cantidades en negativo, para casos de rectificaciones, la forma habitual es en positivo.

El importe hay que ponerlo en positivo, de forma que del total factura se descuenta la retención para obtener el importe neto.


Agur bat,


Por lo que yo lo hago así:

-<Factura>
-<CabeceraFactura>
<NumFactura>0056</NumFactura>
<FechaExpedicionFactura>26-12-2021</FechaExpedicionFactura>
<HoraExpedicionFactura>18:46:22</HoraExpedicionFactura>
<FacturaSimplificada>N</FacturaSimplificada>
<FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada>
</CabeceraFactura>
-<DatosFactura>
<FechaOperacion>26-12-2021</FechaOperacion>
<DescripcionFactura>ALQUILER FINCA - ALOKAIRUA</DescripcionFactura>
<ImporteTotalFactura>11132.00</ImporteTotalFactura>
<RetencionSoportada>1748.00</RetencionSoportada>
-<Claves>
-<IDClave>
<ClaveRegimenIvaOpTrascendencia>11</ClaveRegimenIvaOpTrascendencia>
</IDClave>
</Claves>
</DatosFactura>
-<TipoDesglose>
-<DesgloseFactura>
-<Sujeta>
-<NoExenta>
-<DetalleNoExenta>
<TipoNoExenta>S1</TipoNoExenta>
-<DesgloseIVA>
-<DetalleIVA>
<BaseImponible>9200.00</BaseImponible>
<TipoImpositivo>21.00</TipoImpositivo>
<CuotaImpuesto>1932.00</CuotaImpuesto>
</DetalleIVA>
</DesgloseIVA>
</DetalleNoExenta>
</NoExenta>
</Sujeta>
</DesgloseFactura>
</TipoDesglose>
</Factura>
-<HuellaTBAI>
-<EncadenamientoFacturaAnterior>
<NumFacturaAnterior>0055</NumFacturaAnterior>


a ver si te aclara algo.....
Hola landaga.

Si consultas la factura mediante el enlace de verificación, te da que el importe final de la factura es "11132.00" y no "9384.00" (11132−1748), verdad? No se tiene en cuenta para nada la retención en el total final de la factura según lo registrado
Responder Con Cita
  #2625  
Antiguo 19-01-2022
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
Recargo de Equivalencia

No sé qué he tocado que ahora las facturas con Recargo de Equivalencia me devuelven avisos de que el total de la factura no coincide con la suma del detalle, o con la suma del desglose de impuestos. Juraría que en su momento se enviaban sin avisos

Por lo que he encontrado en el foro, incluso en posts que yo mismo respondí hace meses, hay que tener en cuenta varias cosas:
1) El EMISOR, el RECEPTOR o AMBOS (o ninguno) pueden estar acogidos al RE
2) Solo "personas físicas" pueden estar acogidas al RE. En este caso, OperacionEnRecargoDeEquivalenciaORegimenSimplificado debe ser "S"
3) ClaveRegimenIvaOpTrascendencia será 51 solo si el emisor es "persona física" + "acogida al RE"
4) Si la factura tiene Recargo Equivalencia porque el RECEPTOR está acogido al mismo, en el detalle de las líneas de la factura, el ImporteTotal debe incluir el Recargo
5) En el Desglose del IVA...
- Si el EMISOR está acogido al Recargo, no se hace nada raro: los importes, bases y cuotas de IVA no tienen en cuenta el RE
- Si es el RECEPTOR quien está acogido al RE, añadimos TipoRecargoEquivalencia y CuotaRecargoEquivalencia al desglose

Esto es lo que he entendido y así lo tengo hecho, pero siempre me devuelve avisos de que no coinciden los totales y me estoy volviendo loco quitando y poniendo cosas en cada prueba.

Pongo dos ejemplos distintos que me han devuelto los avisos de "total no coincide...":

Código:
	<Factura>
		<CabeceraFactura>
			<NumFactura>262</NumFactura>
			<FechaExpedicionFactura>27-10-2021</FechaExpedicionFactura>
			<HoraExpedicionFactura>10:38:20</HoraExpedicionFactura>
			<FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada>
		</CabeceraFactura>
		<DatosFactura>
			<FechaOperacion>27-10-2021</FechaOperacion>
			<DescripcionFactura>Factura 262</DescripcionFactura>
			<DetallesFactura>
				<IDDetalleFactura>
					<DescripcionDetalle>DISCO SSD SAMSUNG</DescripcionDetalle>
					<Cantidad>1</Cantidad>
					<ImporteUnitario>100.00</ImporteUnitario>
					<Descuento>0.00</Descuento>
					<ImporteTotal>126.20</ImporteTotal>
				</IDDetalleFactura>
			</DetallesFactura>
			<ImporteTotalFactura>126.20</ImporteTotalFactura>
			<RetencionSoportada>0</RetencionSoportada>
			<Claves>
				<IDClave>
					<ClaveRegimenIvaOpTrascendencia>51</ClaveRegimenIvaOpTrascendencia>
				</IDClave>
			</Claves>
		</DatosFactura>
		<TipoDesglose>
			<DesgloseFactura>
				<Sujeta>
					<NoExenta>
						<DetalleNoExenta>
							<TipoNoExenta>S1</TipoNoExenta>
							<DesgloseIVA>
								<DetalleIVA>
									<BaseImponible>100.00</BaseImponible>
									<TipoImpositivo>21.00</TipoImpositivo>
									<CuotaImpuesto>21.00</CuotaImpuesto>
									<OperacionEnRecargoDeEquivalenciaORegimenSimplificado>S</OperacionEnRecargoDeEquivalenciaORegimenSimplificado>
								</DetalleIVA>
							</DesgloseIVA>
						</DetalleNoExenta>
					</NoExenta>
				</Sujeta>
			</DesgloseFactura>
		</TipoDesglose>
	</Factura>
Código:
<Factura>
		<CabeceraFactura>
			<NumFactura>264</NumFactura>
			<FechaExpedicionFactura>27-10-2021</FechaExpedicionFactura>
			<HoraExpedicionFactura>13:21:05</HoraExpedicionFactura>
			<FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada>
		</CabeceraFactura>
		<DatosFactura>
			<FechaOperacion>27-10-2021</FechaOperacion>
			<DescripcionFactura>Factura 264</DescripcionFactura>
			<DetallesFactura>
				<IDDetalleFactura>
					<DescripcionDetalle>DISCO SSD SAMSUNG</DescripcionDetalle>
					<Cantidad>1</Cantidad>
					<ImporteUnitario>100.00</ImporteUnitario>
					<Descuento>0.00</Descuento>
					<ImporteTotal>121.00</ImporteTotal>
				</IDDetalleFactura>
			</DetallesFactura>
			<ImporteTotalFactura>126.20</ImporteTotalFactura>
			<RetencionSoportada>0</RetencionSoportada>
			<Claves>
				<IDClave>
					<ClaveRegimenIvaOpTrascendencia>01</ClaveRegimenIvaOpTrascendencia>
				</IDClave>
			</Claves>
		</DatosFactura>
		<TipoDesglose>
			<DesgloseFactura>
				<Sujeta>
					<NoExenta>
						<DetalleNoExenta>
							<TipoNoExenta>S1</TipoNoExenta>
							<DesgloseIVA>
								<DetalleIVA>
									<BaseImponible>100.00</BaseImponible>
									<TipoImpositivo>21.00</TipoImpositivo>
									<CuotaImpuesto>21.00</CuotaImpuesto>
									<TipoRecargoEquivalencia>5.20</TipoRecargoEquivalencia>
									<CuotaRecargoEquivalencia>5.20</CuotaRecargoEquivalencia>
								</DetalleIVA>
							</DesgloseIVA>
						</DetalleNoExenta>
					</NoExenta>
				</Sujeta>
			</DesgloseFactura>
		</TipoDesglose>
	</Factura>
¿Podría alguien poner un XML de ejemplo de una factura con recargo de equivalencia, o al menos decirme si las condiciones que puse antes son correctas o me falta/sobra algo? Estoy empezando a hartarme de tanto recargo, retención y tipos de regímenes, etc. que hay. Con lo fácil que es hacer facturas y punto.
Responder Con Cita
  #2626  
Antiguo 19-01-2022
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
Ignoren mi anterior post. Ya encontré la causa del problema. Fallo mío
Responder Con Cita
  #2627  
Antiguo 19-01-2022
skatologiko skatologiko is offline
Miembro
 
Registrado: jul 2021
Posts: 27
Poder: 0
skatologiko Va por buen camino
Cita:
Empezado por jreverendo Ver Mensaje
Buenos Dias:

A ver si alguien me puede orientar, estoy haciendo el documento de la memoria descriptiva, he seguido el guion que me mandaron pero la verdad no me ocupa nada, una hojita, a ver si alguien que lo tenga hecho me puede decir si es así o hay que hacerles un libro. Si alguien tiene algún documento ya hecho de ejemplo y lo puede publicar me seria de gran ayuda.



Un Saludo y gracias.
1. Tipo de software: Aplicación de escritorio
2. Proceso de encadenamiento de los ficheros de alta de operación con software
garante: El sistema emite facturas de diferentes series y el encadenamiento
identifica la última factura expedida , independientemente de la serie
3. Proceso de firma de los ficheros de alta y de anulación de operación con
software garante, indicando en particular, los tipos de certificados electrónicos
que pueden ser utilizados por el software garante para el proceso de firma: Se
utiliza la librería Chilkat, que hace uso del certificado digital en earchivo .pfx
4. Tipos de facturas o justificantes que genera el software garante: Facturas
completas y ticket de caja (facturas simplificadas). Facturas en soporte papel , pdf, y
en en formato FacturaE (xml)
5. Ubicación del código identificativo y del código QR de acuerdo con lo
dispuesto en el artículo 6 de la Orden Foral 1482/2020: En parte inferior de la
factura (son en formato Vertical A4)
6. Identificación de la opción del software que permita la verificación presencial
en una única pantalla de la información a que se refiere el artículo 9 de la
Orden Foral 1482/2020 (funcionalidad de verificación presencial de los
softwares garantes): Desde el menú Utilidad → Acerca de..
7. Sistema de almacenamiento de los ficheros de alta y de anulación de
operación con software garante: En el propio directorio donde está instalada la
aplicación, el el subdirectorio SII, se guarda un archivo por cada factura exportada
en formato xml, su equivalente pero ya firmado, y el archivo jpg del código QR
Responder Con Cita
  #2628  
Antiguo 19-01-2022
skatologiko skatologiko is offline
Miembro
 
Registrado: jul 2021
Posts: 27
Poder: 0
skatologiko Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
<sarcasmo>Me gustaría aprovechar la oportunidad que me da este foro para expresar mi agradecimiento a Bizkaia y su sistema de gestión del TicketBAI. La intuitividad del servicio, los requisitos, el uso de certificados específicos, el entorno de pruebas que no es de pruebas pero es real pero en pruebas, las respuestas del servidor, comprimidas en zip (dos veces), el envío de la información completamente diferente a Gipuzkoa y Araba, etc. Gracias, de verdad por estos meses tan maravillosos.</sarcasmo>
Me uno a tu agradecimiento, y aprovecho para preguntar: ¿alguien tiene el ejemplo de lo que se le tiene que enviar a Vizcaya? Una vez que tengo el archivo .xml de una factura firmado (ya me funciona en Álava y Guipúzcoa), si he entendido bien, hay que comprimirlo con Gzip en Base64. Pero luego ese archivo tiene que formar parte del cuerpo de un mensaje ¿? ¿Y entonces hay que enviar un xml con el modelo 240 en el que va el resumen de lo que se ha comprimido en el gzip? Mi no entender.

¿Alguien puede poner un ejemplo? (ya si fuera en Visual Basic ni te cuento)
Responder Con Cita
  #2629  
Antiguo 20-01-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por skatologiko Ver Mensaje
Me uno a tu agradecimiento, y aprovecho para preguntar: ¿alguien tiene el ejemplo de lo que se le tiene que enviar a Vizcaya? Una vez que tengo el archivo .xml de una factura firmado (ya me funciona en Álava y Guipúzcoa), si he entendido bien, hay que comprimirlo con Gzip en Base64. Pero luego ese archivo tiene que formar parte del cuerpo de un mensaje ¿? ¿Y entonces hay que enviar un xml con el modelo 240 en el que va el resumen de lo que se ha comprimido en el gzip? Mi no entender.

¿Alguien puede poner un ejemplo? (ya si fuera en Visual Basic ni te cuento)
En la web puedes descargar ejemplos de todo, por si necesitas más.
1) Consigues el fichero XML del TicketBAI firmado (como haces para Alava/Guipuzcoa)
2) El fichero XML de TicketBAI con codificas en base64
3) Generas un XML del libro 140/240 y dentro creas 1 o varios nodos <FacturaEmitida><TicketBai> y dentro de cada uno de ellos pones los ficheros del punto (2)
4) Exe XML resultante del 140/240 lo comprimes con GZIP
5) Para el envío hay parámetros de cabecera y en el cuerpo de la petición pones el gzip

Te pongo un ejemplo de los que ga Vizcaya.

Aquí tienes el enlace a la documentación:
https://www.batuz.eus/fitxategiak/Ba...uemas%20XSD.7z

Y a los ejemplos:
https://www.batuz.eus/fitxategiak/Ba...os/Ejemplos.7z

Ahí tienes más de las diferentes peticiones y respuestas.
__________________
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.
Responder Con Cita
  #2630  
Antiguo 20-01-2022
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 174
Poder: 12
elcharlie Va por buen camino
Buenos dias,
Os esta funcionando los servidores de Bizkaia?, es que a nosotros los de prueba, desde hoy, directamente no nos funciona y el de producción, nos retorna factura duplicada.
Un saludo.
Responder Con Cita
  #2631  
Antiguo 20-01-2022
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.029
Poder: 22
keys Va por buen camino
Cita:
Empezado por elcharlie Ver Mensaje
Buenos dias,
Os esta funcionando los servidores de Bizkaia?, es que a nosotros los de prueba, desde hoy, directamente no nos funciona y el de producción, nos retorna factura duplicada.
Un saludo.
A nosotros nos funcionan correctamente.
Responder Con Cita
  #2632  
Antiguo 20-01-2022
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 174
Poder: 12
elcharlie Va por buen camino
Cita:
Empezado por keys Ver Mensaje
A nosotros nos funcionan correctamente.
Gracias por responder. Ahora también nos funciona a nosotros, pero hasta hace un rato no.
No sé que les esta pasando...
Responder Con Cita
  #2633  
Antiguo 20-01-2022
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
No consigo enviar correctamente una factura que tenga mezclados una línea con IVA 21% y otra con IVA 0% (si es que eso es posible, que no lo sé).

Cuando la factura está exenta, o no sujeta, no hay problema. Pero en este caso concreto que la factura NO está exenta y SÍ está sujeta, PERO uno de los IVAs es 0, siempre me devuelve que la suma de las bases no coincide.
La factura se envía, pero con avisos.

Ni siquiera sé si es posible que este caso se de en la vida real, pero por si acaso quería contemplarlo.

No sé si me he explicado bien. Me refiero a esto:

Línea 1: 1 x Artículo 1 (200) + 4% = 208
Línea 2: 1 x Artículo 1 (200) + 10% = 220
Línea 2: 1 x Artículo 1 (200) + 21% = 242
Línea 3: 1 x Artículo 2 (200) + 0% = 200

Total Factura: 870
Total IVA: 70

El problema es que no sé cómo desglosar el IVA dentro de DesgloseFactura.

Código:
<TipoDesglose>
			<DesgloseFactura>
				<Sujeta>
					<NoExenta>
						<DetalleNoExenta>
							<TipoNoExenta>S1</TipoNoExenta>
							<DesgloseIVA>
								<DetalleIVA>
									<BaseImponible>200.00</BaseImponible>
									<TipoImpositivo>4</TipoImpositivo>
									<CuotaImpuesto>8.00</CuotaImpuesto>
								</DetalleIVA>
								<DetalleIVA>
									<BaseImponible>200.00</BaseImponible>
									<TipoImpositivo>10</TipoImpositivo>
									<CuotaImpuesto>20.00</CuotaImpuesto>
								</DetalleIVA>
								<DetalleIVA>
									<BaseImponible>200.00</BaseImponible>
									<TipoImpositivo>21</TipoImpositivo>
									<CuotaImpuesto>42.00</CuotaImpuesto>
								</DetalleIVA>
							</DesgloseIVA>
						</DetalleNoExenta>
					</NoExenta>
				</Sujeta>
			</DesgloseFactura>
		</TipoDesglose>
¿Alguien puede por favor generar un XML de prueba con un caso como este para ver cómo iría el desglose del IVA? ¿O simplemente este caso no puede darse y punto?

He probado a hacer una factura usando la aplicación web de Batuz "Haz tu factura", y sí permite replicar el caso, pero claro, no permite ver el XML generado (lo cual nos hubiera ayudado mucho a todos, la verdad)
Responder Con Cita
  #2634  
Antiguo 20-01-2022
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.029
Poder: 22
keys Va por buen camino
Te falta poner los datos de la linea exenta. Un ejemplo

Código PHP:
<TipoDesglose>
 <
DesgloseFactura>
  <
Sujeta>
   <
Exenta>
    <
DetalleExenta>
       <
CausaExencion>E1</CausaExencion>
       <
BaseImponible>200.00</BaseImponible>
    </
DetalleExenta>
   </
Exenta>
  <
NoExenta>
   <
DetalleNoExenta>
      <
TipoNoExenta>S1</TipoNoExenta>
       <
DesgloseIVA>
         <
DetalleIVA>
          <
BaseImponible>200.00</BaseImponible>
          <
TipoImpositivo>21.00</TipoImpositivo>
          <
CuotaImpuesto>42.00</CuotaImpuesto>
          <
OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado>
         </
DetalleIVA>
        <
DetalleIVA>
          <
BaseImponible>200.00</BaseImponible>
          <
TipoImpositivo>10.00</TipoImpositivo>
          <
CuotaImpuesto>20.00</CuotaImpuesto>
          <
OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado>
        </
DetalleIVA>
        <
DetalleIVA>
           <
BaseImponible>200.00</BaseImponible>
           <
TipoImpositivo>4.00</TipoImpositivo>
           <
CuotaImpuesto>8.00</CuotaImpuesto>
           <
OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado>
       </
DetalleIVA>
    </
DesgloseIVA>
  </
DetalleNoExenta>
 </
NoExenta>
</
Sujeta>
</
DesgloseFactura>
</
TipoDesglose
Responder Con Cita
  #2635  
Antiguo 20-01-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
O si fuera no-sujeta también.


Código PHP:
<TipoDesglose>
    <
DesgloseFactura>
        <
Sujeta>
            <
NoExenta>
                <
DetalleNoExenta>
                    <
TipoNoExenta>S1</TipoNoExenta>
                    <
DesgloseIVA>
                        <
DetalleIVA>
                            <
BaseImponible>200.00</BaseImponible>
                            <
TipoImpositivo>4.00</TipoImpositivo>
                            <
CuotaImpuesto>8.00</CuotaImpuesto>
                            <
TipoRecargoEquivalencia>0.00</TipoRecargoEquivalencia>
                            <
CuotaRecargoEquivalencia>0.00</CuotaRecargoEquivalencia>
                            <
OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado>
                        </
DetalleIVA>
                        <
DetalleIVA>
                            <
BaseImponible>200.00</BaseImponible>
                            <
TipoImpositivo>10.00</TipoImpositivo>
                            <
CuotaImpuesto>20.00</CuotaImpuesto>
                            <
TipoRecargoEquivalencia>0.00</TipoRecargoEquivalencia>
                            <
CuotaRecargoEquivalencia>0.00</CuotaRecargoEquivalencia>
                            <
OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado>
                        </
DetalleIVA>
                        <
DetalleIVA>
                            <
BaseImponible>200.00</BaseImponible>
                            <
TipoImpositivo>21.00</TipoImpositivo>
                            <
CuotaImpuesto>42.00</CuotaImpuesto>
                            <
TipoRecargoEquivalencia>0.00</TipoRecargoEquivalencia>
                            <
CuotaRecargoEquivalencia>0.00</CuotaRecargoEquivalencia>
                            <
OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado>
                        </
DetalleIVA>
                    </
DesgloseIVA>
                </
DetalleNoExenta>
            </
NoExenta>
        </
Sujeta>
        <
NoSujeta>
            <
DetalleNoSujeta>
                <
Causa>OT</Causa>
                <
Importe>200.00</Importe>
            </
DetalleNoSujeta>
        </
NoSujeta>
    </
DesgloseFactura>
</
TipoDesglose
__________________
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.
Responder Con Cita
  #2636  
Antiguo 20-01-2022
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
Gracias, keys y Neftali.

Me queda claro entonces que la información de "motivo exenta" o "motivo no sujeta" es por línea y no por documento, así que voy a tener que cambiar el algoritmo y encima añadir más campos a la base de datos. Todo bien.
Responder Con Cita
  #2637  
Antiguo 21-01-2022
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
Duda con las rectificativas

Hola.

Sigo liado con las facturas rectificativas, y leer lo que dice la Agencia Tributaria en su web no es que me aclare todas las dudas, la verdad:
://sede.agenciatributaria.gob.es/Sede/impuestos-tasas/iva/iva-libros-registro-iva-traves-aeat/preguntas-frecuentes/2-registro-cuestiones-comunes.html?faqId=f28c6c3d02bc9510VgnVCM100000dc381e0aRCRD

Según entiendo, y a modo de resumen, pueden ser de dos tipos, “por sustitución” y “por diferencias”, a elegir por el usuario:

1. Factura rectificativa “por sustitución”: Hay dos formas de hacerlo:
1.A: Creando una sola factura en la que se indiquen los importes correctos (base imponible, cuota y en su caso recargo) y los importes rectificados, respecto de la factura original.
- Emitimos una nueva factura, en otra Serie, con el importe/datos correctos
- Codigo de Rectificativa: "Rx", Tipo "S"
- Se deben rellenar los campos BaseRectificada, CuotaRectificada y CuotaRecargoRectificada
- Se debe indicar a qué factura rectifica: FacturasRectificadasSustituidas.NumFactura, FacturasRectificadasSustituidas.SerieFactura, etc.
1.B: Creando dos facturas
- Emitimos primero una factura ordinaria en negativo (Tipo "F1"), para "anular" la incorrecta. En ningún momento se indica que esta factura sea Rectificativa (Tipo "Rx", ni "S" ni "I" ni nada)
- Emitimos otra factura, esta sí se debe indicar como Rx y tipo "S"
- En esta segunda factura, los campos BaseRectificada, CuotaRectificada y CuotaRecargoRectificada van a 0 (o no se indican)
- En esta segunda factura se debe indicar también a qué factura rectifica: FacturasRectificadasSustituidas.NumFactura, FacturasRectificadasSustituidas.SerieFactura, etc.

2. Factura rectificativa "por diferencias": A simple vista, parece más fácil de entender y realizar.
Según la AEAT, se deberá informar directamente del importe de la rectificación en una sola factura rectificativa y no se debe informar de los campos “base rectificada”, “cuota rectificada”, etc.
Consiste simplemente en emitir una nueva factura con "la diferencia" que haya con respecto a la original.
- Código "Rx", Tipo "I"
- NO se requiere indicar nada en BaseRectificada, CuotaRectificada y CuotaRecargoRectificada
- Se debe indicar a qué factura rectifica: FacturasRectificadasSustituidas.NumFactura, FacturasRectificadasSustituidas.SerieFactura, etc.

Dicho esto, me surgen varias preguntas...

¿Por qué alguien haría una "por susticución" del tipo B, que requiere hacer dos facturas, en lugar de cualquier otro tipo que requiere hacer solo una? ¿Hay algún caso concreto que te obligue a usar esa opción?
¿La opción 1.A no sería lo mismo que la 2, salvo por tener que indicar BaseRectificada, CuotaRectificada, etc.?
En la opción 1.B... esa primera factura en negativo, de la que tanto hemos hablado en el foro (si es del todo "legal" o no)... ¿en qué quedamos? Nos dicen que lo correcto es hacer siempre rectificativas pero en este ejemplo dicen que podemos hacer una en negativo primero y luego una rectificativa?
Esa factura en negativo, que lo que hace es "anular" la original (para que la suma entre ambas sea cero), no la catalogan como "rectificativa", así que debe ir en la misma serie de facturación que la original. De hecho no es de Código "Rx".

Creo que mi cabeza en realidad se está poniendo en la mente del usuario final en vez de en la mía como desarrollador. Debería simplemente seguir las normas, preparar la aplicación para que las cumpla, y dejarme de hacerme preguntas fiscales

Pues eso... ¿alguien puede confirmarme si esto es correcto? ¿cómo hacéis vosotros las rectificativas, permitís al usuario final elegir entre las tres opciones u obligáis a hacerlo de una forma específica y punto?
Responder Con Cita
  #2638  
Antiguo 22-01-2022
musinho musinho is offline
Miembro
 
Registrado: dic 2021
Posts: 18
Poder: 0
musinho Va por buen camino
Cita:
Empezado por elcharlie Ver Mensaje
Buenos dias,
Os esta funcionando los servidores de Bizkaia?, es que a nosotros los de prueba, desde hoy, directamente no nos funciona y el de producción, nos retorna factura duplicada.
Un saludo.
Aupa!

Alguien más está teniendo problemas estos últimos días con los servidores de prueba de Bizkaia? Ayer me funcionaban a medio gas, es decir, al hacer consultas por ejemplo a veces respondía y otras no... Es como si fuese inestable. Y hoy directamente todas las peticiones fallan.

Estoy usando cURL en php y llevaba dos meses sin ningún problema. Los últimos mensajes del log están siendo referentes a que la conexión agotó el tiempo de espera después de X milisegundos.

Eskerrik asko!
Responder Con Cita
  #2639  
Antiguo 24-01-2022
tejano tejano is offline
Miembro
 
Registrado: dic 2020
Posts: 128
Poder: 4
tejano Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
Hola.

Sigo liado con las facturas rectificativas, y leer lo que dice la Agencia Tributaria en su web no es que me aclare todas las dudas, la verdad:
://sede.agenciatributaria.gob.es/Sede/impuestos-tasas/iva/iva-libros-registro-iva-traves-aeat/preguntas-frecuentes/2-registro-cuestiones-comunes.html?faqId=f28c6c3d02bc9510VgnVCM100000dc381e0aRCRD

Según entiendo, y a modo de resumen, pueden ser de dos tipos, “por sustitución” y “por diferencias”, a elegir por el usuario:

1. Factura rectificativa “por sustitución”: Hay dos formas de hacerlo:
1.A: Creando una sola factura en la que se indiquen los importes correctos (base imponible, cuota y en su caso recargo) y los importes rectificados, respecto de la factura original.
- Emitimos una nueva factura, en otra Serie, con el importe/datos correctos
- Codigo de Rectificativa: "Rx", Tipo "S"
- Se deben rellenar los campos BaseRectificada, CuotaRectificada y CuotaRecargoRectificada
- Se debe indicar a qué factura rectifica: FacturasRectificadasSustituidas.NumFactura, FacturasRectificadasSustituidas.SerieFactura, etc.
1.B: Creando dos facturas
- Emitimos primero una factura ordinaria en negativo (Tipo "F1"), para "anular" la incorrecta. En ningún momento se indica que esta factura sea Rectificativa (Tipo "Rx", ni "S" ni "I" ni nada)
- Emitimos otra factura, esta sí se debe indicar como Rx y tipo "S"
- En esta segunda factura, los campos BaseRectificada, CuotaRectificada y CuotaRecargoRectificada van a 0 (o no se indican)
- En esta segunda factura se debe indicar también a qué factura rectifica: FacturasRectificadasSustituidas.NumFactura, FacturasRectificadasSustituidas.SerieFactura, etc.

2. Factura rectificativa "por diferencias": A simple vista, parece más fácil de entender y realizar.
Según la AEAT, se deberá informar directamente del importe de la rectificación en una sola factura rectificativa y no se debe informar de los campos “base rectificada”, “cuota rectificada”, etc.
Consiste simplemente en emitir una nueva factura con "la diferencia" que haya con respecto a la original.
- Código "Rx", Tipo "I"
- NO se requiere indicar nada en BaseRectificada, CuotaRectificada y CuotaRecargoRectificada
- Se debe indicar a qué factura rectifica: FacturasRectificadasSustituidas.NumFactura, FacturasRectificadasSustituidas.SerieFactura, etc.

Dicho esto, me surgen varias preguntas...

¿Por qué alguien haría una "por susticución" del tipo B, que requiere hacer dos facturas, en lugar de cualquier otro tipo que requiere hacer solo una? ¿Hay algún caso concreto que te obligue a usar esa opción?
¿La opción 1.A no sería lo mismo que la 2, salvo por tener que indicar BaseRectificada, CuotaRectificada, etc.?
En la opción 1.B... esa primera factura en negativo, de la que tanto hemos hablado en el foro (si es del todo "legal" o no)... ¿en qué quedamos? Nos dicen que lo correcto es hacer siempre rectificativas pero en este ejemplo dicen que podemos hacer una en negativo primero y luego una rectificativa?
Esa factura en negativo, que lo que hace es "anular" la original (para que la suma entre ambas sea cero), no la catalogan como "rectificativa", así que debe ir en la misma serie de facturación que la original. De hecho no es de Código "Rx".

Creo que mi cabeza en realidad se está poniendo en la mente del usuario final en vez de en la mía como desarrollador. Debería simplemente seguir las normas, preparar la aplicación para que las cumpla, y dejarme de hacerme preguntas fiscales

Pues eso... ¿alguien puede confirmarme si esto es correcto? ¿cómo hacéis vosotros las rectificativas, permitís al usuario final elegir entre las tres opciones u obligáis a hacerlo de una forma específica y punto?
Buenos días Espinete,
Nosotros siempre utilizamos la opción 1-B, en el caso que que tengamos que rectificar un importe.

El por qué, nuestro cliente emite un pedido por 1500 Eur, pero nosotros hemos facturado 1520 Eur inicialmente. El cliente quiere coger la factura inicial y romperla y que no le enviemos la factura en negativo, es decir, para ellos no existe la factura inicial, ni la factura en negativo. Solo quiere que le enviemos la factura final que cuadre con el importe de su pedido.

No sé si he metido mucha parrafada y te lo he dejado claro de uno de los casos por lo que puede pasar esto.

Saludos
Responder Con Cita
  #2640  
Antiguo 24-01-2022
Avatar de HerensugeBeltz
HerensugeBeltz HerensugeBeltz is offline
Miembro
 
Registrado: may 2021
Ubicación: Hondarribia
Posts: 88
Poder: 3
HerensugeBeltz Va por buen camino
Nuevo BOG con información relativa a Zuzenduz

La presente orden foral regula los requisitos del servicio de recepción, el procedimiento y las especificaciones técnicas y funcionales de los ficheros que pretenden corregir los ficheros TicketBAI que han sido rechazados.

https://egoitza.gipuzkoa.eus/gao-bog...4/c2200304.pdf
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice newtron Internet 3549 Hace 1 Día 08:22:30
Como utilizar la ayuda del nuevo Sistema Operativo gluglu Humor 3 24-09-2007 09:39:05
Aplicacion Agencia De Viajes ArdiIIa Varios 9 20-01-2007 16:49:53
El Vasco Aguirre Al González La Taberna 5 26-05-2006 09:22:28
Microsoft ha lanzado su nuevo sistema operativo DarkByte Humor 0 25-01-2004 09:21:14


La franja horaria es GMT +2. Ahora son las 12:57:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi