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
  #1  
Antiguo 11-11-2022
APO APO is offline
Miembro
 
Registrado: feb 2008
Posts: 121
Poder: 17
APO Va por buen camino
Cita:
Empezado por sexxxwax Ver Mensaje
Buenas a tod@s, estoy migrando un programa de D6 a D10 con todo lo que supone d incompatibilidades (componentes bde, informes qr, ...) y ahora encima esto del ticketbai; estoy leyendo el foro d ticketbai (voy x la página 60) y me imagino las horas y roturas d cabeza que llevais, la cantidad d errores que habeis solucionado entre todos, así que os felicito.

Yo necesitaría algo d ayuda, así que pondré varias cosas x si alguno tiene tiempo o ganas d ayudarme, d todas formas gracias x anticipado.

Estoy montando el xml insertando datos d las tablas del tpv y al hacer el bucle para recorrer las líneas d la venta actual añadiendolas como iddetalleventa sólo me carga la última línea. Os pego el código x si me podeis ayudar.

Código Delphi [-]
DATOSFACTURA.FechaOperacion:=TPVH.FIELDBYNAME('FECHA').ASSTRING; 
DATOSFACTURA.DescripcionFactura:='TPV1-'+FIELDBYNAME('N_VENTA').ASSTRING; 
TPV.FIRST; 
while NOT TPV.EOF do BEGIN 
    with DATOSFACTURA.DetallesFactura.IDDetalleFactura do begin 
        DescripcionDetalle:=FIELDBYNAME('ARTICULO').ASSTRING; 
        Cantidad:=FIELDBYNAME('CTDAD').ASSTRING; 
        ImporteUnitario:=FLOATTOSTR(ROUNDTO(FIELDBYNAME('PVP_E U').VALUE,-2)); 
        Descuento:=FIELDBYNAME('DTO').ASSTRING; 
        ImporteTotal:=FLOATTOSTR(ROUNDTO(FIELDBYNAME('IMPORTE_ EU').VALUE,-2)); 
    end; 
    TPV.NEXT; 
END; 
DATOSFACTURA.IMPORTETOTALFACTURA:=FLOATTOSTR(ROUNDTO(TPVH.FIELDBYNAME('TOTAL_EU').VALUE,-2));

Yo lo hago de la siguiente manera:

Código Delphi [-]
var
   FicheroXML: IXMLTicketBai;

...

            with FicheroXML.Factura.DatosFactura do
            begin
               FechaOperacion:=FormatDateTime('dd-mm-yyyy',qExec.FieldByName('FECHA').AsDateTime);
               DescripcionFactura:='VENTAS AL POR MENOR EESS';
               //Detalle factura
               qExec.First;
               i:=0;
               while not qExec.Eof do
               begin
                  DetallesFactura.Add;
                  DetallesFactura.IDDetalleFactura[i].DescripcionDetalle:=trim(qExec.FieldByName('DESCRIPCION_PRODUCTO').AsString);
                  DetallesFactura.IDDetalleFactura[i].Cantidad:=TransFloat(qExec.FieldByName('UNIDADES').AsFloat,2);
                  DetallesFactura.IDDetalleFactura[i].ImporteUnitario:=TransFloat(qExec.FieldByName('PRECIO_VENTA').AsFloat,8); //Importe unitario SIN  IVA
                  if Redondeo(qExec.FieldByName('PRECIO_VENTA').AsFloat,2)<>Redondeo(qExec.FieldByName('PRECIO').AsFloat,  2) then
                  begin
                     //Importe en euros del descuento de la línea de factura (el importe de descuento ha de ir siempre en positivo).
                     DetallesFactura.IDDetalleFactura[i].Descuento:=TransFloat((qExec.FieldByName('PRECIO_VENTA').AsFloat-qExec.FieldByName('PRECIO').AsFloat) *
                                                                                Redondeo(qExec.FieldByName('UNIDADES').AsFloat,2),2);
                  end
                  else
                  begin
                     DetallesFactura.IDDetalleFactura[i].Descuento:='0.00';
                  end;
                  DetallesFactura.IDDetalleFactura[i].ImporteTotal:=TransFloat(qExec.FieldByName('IMPORTE_IVA').AsFloat,2); //Importe total CON IVA
                  qExec.Next;
                  i:=i+1;
               end;
               ImporteTotalFactura:=TransFloat(qExec.FieldByName('TOTAL').AsFloat,2); //Importe total de la factura simplificada
               //Claves
               Claves.Add;
               Claves.IDClave[0].ClaveRegimenIvaOpTrascendencia:='01'; //Operación de régimen general
            end;
Responder Con Cita
  #2  
Antiguo 14-11-2022
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
Buenas...

Tengo un problema con un cliente que decidió enviar a Hacienda facturas reales al entorno de pruebas (por ejemplo, de la 1 a la 10), luego siguió enviando facturas al entorno real/producción (de la 11 a la 20) y ahora quiere enviar, al entorno real, esas primeras 10 facturas que solo se enviaron al de pruebas.

Obviamente da error de encadenamiento, pero el cliente dice que Hacienda le dice que sí debería poder enviarlas.

Yo le he dicho que, si ya envió al entorno real, las facturas 11 a la 20, si quiere enviar ahora de la 1 a la 10 me temo que no queda otra que anular o hacer rectificativas de todas, lo cual es un coñazo.

¿Hay alguna otra opción?
Responder Con Cita
  #3  
Antiguo 14-11-2022
Irreo Irreo is offline
Miembro
 
Registrado: mar 2022
Posts: 70
Poder: 3
Irreo Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
Buenas...

Tengo un problema con un cliente que decidió enviar a Hacienda facturas reales al entorno de pruebas (por ejemplo, de la 1 a la 10), luego siguió enviando facturas al entorno real/producción (de la 11 a la 20) y ahora quiere enviar, al entorno real, esas primeras 10 facturas que solo se enviaron al de pruebas.

Obviamente da error de encadenamiento, pero el cliente dice que Hacienda le dice que sí debería poder enviarlas.

Yo le he dicho que, si ya envió al entorno real, las facturas 11 a la 20, si quiere enviar ahora de la 1 a la 10 me temo que no queda otra que anular o hacer rectificativas de todas, lo cual es un coñazo.

¿Hay alguna otra opción?
¿Pero la factura "1" la está encadenando con la "20"?

Yo he hecho cosas raras con números y fechas de emisión, y por el momento no he obtenido errores de encadenamiento (de hecho justo unos mensajes atrás pregunto sobre ese tema). Yo por ahora estoy haciendo lo que dicen ellos: "encadenar con la última factura emitida por el dispositivo", independientemente de qué fechas o números tenga.

(Eso sí, en mi caso todavía tengo que confirmar en la Sede que el lío de fechas y números que he montado está "correcto", independientemente de que la respuesta suya haya sido "OK")
Responder Con Cita
  #4  
Antiguo 14-11-2022
Ramon88 Ramon88 is offline
Miembro
 
Registrado: ago 2021
Posts: 125
Poder: 3
Ramon88 Va por buen camino
Tengo un cliente en gipuzkoa en producción que esta teniendo problemas para subir las facturas.
Os funciona?
Responder Con Cita
  #5  
Antiguo 14-11-2022
Irreo Irreo is offline
Miembro
 
Registrado: mar 2022
Posts: 70
Poder: 3
Irreo Va por buen camino
Cita:
Empezado por Ramon88 Ver Mensaje
Tengo un cliente en gipuzkoa en producción que esta teniendo problemas para subir las facturas.
Os funciona?
Durante esta mañana no he tenido problemas, de hecho estamos enviando facturas ahora bien.
Responder Con Cita
  #6  
Antiguo 14-11-2022
Ramon88 Ramon88 is offline
Miembro
 
Registrado: ago 2021
Posts: 125
Poder: 3
Ramon88 Va por buen camino
gracias, voy a ver que sucede pues.
Responder Con Cita
  #7  
Antiguo 14-11-2022
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 886
Poder: 3
ermendalenda Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
Buenas...

Tengo un problema con un cliente que decidió enviar a Hacienda facturas reales al entorno de pruebas (por ejemplo, de la 1 a la 10), luego siguió enviando facturas al entorno real/producción (de la 11 a la 20) y ahora quiere enviar, al entorno real, esas primeras 10 facturas que solo se enviaron al de pruebas.

Obviamente da error de encadenamiento, pero el cliente dice que Hacienda le dice que sí debería poder enviarlas.

Yo le he dicho que, si ya envió al entorno real, las facturas 11 a la 20, si quiere enviar ahora de la 1 a la 10 me temo que no queda otra que anular o hacer rectificativas de todas, lo cual es un coñazo.

¿Hay alguna otra opción?
Creo que tu cliente lleva razón, aunque no estén encadenadas se las va a comer con el aviso de encadenamiento. Pero hay otra opción de wnvio, creo que por correo.
Responder Con Cita
  #8  
Antiguo 14-11-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.289
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
No puede Anular las facturas, porque la anulación es para temas muy concretos según la ley de facturación.
No puede hacer una rectificativa, porque para hacienda las facturas originales no existen y el cliente tiene una factura correcta.

Yo creo que puede enviarlas. La 1 y la 21 darán error de encadenamiento pero serán aceptadas (Aceptadas con errores).
Si hacienda pide más datos (por los saltos en los Números/Fechas no correlativos y los encadenamientos) pues tendrá que justificarlo explicando lo que ha pasado (no creo que lo pidan).

Cita:
Empezado por espinete Ver Mensaje
Obviamente da error de encadenamiento, pero el cliente dice que Hacienda le dice que sí debería poder enviarlas.

Yo le he dicho que, si ya envió al entorno real, las facturas 11 a la 20, si quiere enviar ahora de la 1 a la 10 me temo que no queda otra que anular o hacer rectificativas de todas, lo cual es un coñazo.

¿Hay alguna otra opción?
__________________
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
  #9  
Antiguo 14-11-2022
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
Gracias a tod@s.

Entiendo que sí que podrá enviar las facturas de la 1 a la 10 sin problema (enviadas pero con avisos, pero enviadas). Luego si hay que explicar o justificar algo, que lo justifique.

De hecho yo he hecho pruebas de envío no correlativos y el envío se realiza, pero con el aviso de "posible error de encadenamiento".

En su momento debí haber preparado la aplicación para que separara lo que consta como enviado a pruebas y lo que consta como enviado al entorno real, pero no caí en eso y ahora voy a tener que pensar cómo conseguirlo para evitar errores similares en el futuro.
Responder Con Cita
  #10  
Antiguo 14-11-2022
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 178
Poder: 3
edari Va por buen camino
Ejemplo factura negocio de extranjeros

Estoy con los negocios de chinos, pakistanís...y no consigo subirla a la Hacienda de Alava (y me quedan 15 días para solucionarlo)


Cita:
<?xml version="1.0" encoding="UTF-8"?>
<T:TicketBai xmlns:T="urn:ticketbai:emision">
<Cabecera>
<IDVersionTBAI>1.2</IDVersionTBAI>
</Cabecera>
<Sujetos>
<Emisor>
<NIF>B01....</NIF>
<ApellidosNombreRazonSocial>EMPRESA SL</ApellidosNombreRazonSocial>
</Emisor>
<Destinatarios>
<IDDestinatario>
<IDOtro>
<CodigoPais>CN</CodigoPais>
<IDType>04</IDType>
<ID>CNX1448709</ID>
</IDOtro>

<ApellidosNombreRazonSocial>JIAN XIN CHENG</ApellidosNombreRazonSocial>
<CodigoPostal>01005</CodigoPostal>
<Direccion>ANGULEMA 5</Direccion>
</IDDestinatario>
</Destinatarios>
<VariosDestinatarios>N</VariosDestinatarios>
<EmitidaPorTercerosODestinatario>N</EmitidaPorTercerosODestinatario>
</Sujetos>
<Factura>
<CabeceraFactura>
<SerieFactura>22</SerieFactura>
<NumFactura>5003249</NumFactura>
<FechaExpedicionFactura>14-11-2022</FechaExpedicionFactura>
<HoraExpedicionFactura>00:13:17</HoraExpedicionFactura>
<FacturaSimplificada>N</FacturaSimplificada>
<FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada>
</CabeceraFactura>
<DatosFactura>
<DescripcionFactura>factura a cliente</DescripcionFactura>
<DetallesFactura>
<IDDetalleFactura>
<DescripcionDetalle>NARANJA NORMAL </DescripcionDetalle>
<Cantidad>10.00</Cantidad>
<ImporteUnitario>14.51</ImporteUnitario>
<Descuento>0</Descuento>
<ImporteTotal>175.57</ImporteTotal>
</IDDetalleFactura>
</DetallesFactura>
<ImporteTotalFactura>175.57</ImporteTotalFactura>
<Claves>
<IDClave>
<ClaveRegimenIvaOpTrascendencia>02</ClaveRegimenIvaOpTrascendencia>
</IDClave>
</Claves>
</DatosFactura>
<TipoDesglose>
<DesgloseTipoOperacion>
<PrestacionServicios>
<Sujeta>
<Exenta>
<DetalleExenta>
<CausaExencion>E2</CausaExencion>
<BaseImponible>145.10</BaseImponible>
</DetalleExenta>
</Exenta>
</Sujeta>
</PrestacionServicios>
</DesgloseTipoOperacion>
</TipoDesglose>
</Factura>
<HuellaTBAI>
<EncadenamientoFacturaAnterior>
<SerieFacturaAnterior>22</SerieFacturaAnterior>
<NumFacturaAnterior>5003248</NumFacturaAnterior>
<FechaExpedicionFacturaAnterior>14-11-2022</FechaExpedicionFacturaAnterior>
<SignatureValueFirmaFacturaAnterior>Bj+T/nevVdBvx0BDNOXJJfmGpLobbqpXSUMQWxcpVjTQCqxUlm7/WUC1W49/E2NU5HTjD1YPNLkQfXM5d1+1RyMECsiNVfKzfCFm</SignatureValueFirmaFacturaAnterior>
</EncadenamientoFacturaAnterior>
<Software>
<LicenciaTBAI>......</LicenciaTBAI>
<EntidadDesarrolladora>
<NIF>B1.....</NIF>
</EntidadDesarrolladora>
<Nombre>EMPRESA</Nombre>
<Version>2022</Version>
</Software>
</HuellaTBAI>
</T:TicketBai>
No tengo claro lo que hay que poner en la base imponible porque ponga lo que ponga me da error (por la que hago mal claro)


Me devuelve el error


Cita:
<?xml version="1.0" encoding="UTF-8" standalone="true"?>

-<ns2:TicketBaiResponse xmlns:ns2="urn:ticketbai:emision">


-<Salida>

<IdentificadorTBAI>TBAI-B01465046-141122-n3wPqocLa+YFS-227</IdentificadorTBAI>

<FechaRecepcion>14-11-2022 13:17:43</FechaRecepcion>

<Estado>00</Estado>

<Descripcion>Recibido - ALTA PREP</Descripcion>

<Azalpena>Jasota - ALTA PREP</Azalpena>


-<ResultadosValidacion>

<Codigo>2025</Codigo>

<Descripcion>El Importe total debe ser igual a la suma de las bases imponibles más las cuotas del impuesto, más las cuotas recargo equivalencia del bloque Sujeta NoExenta, más la suma de las bases imponibles del bloque Sujeta Exenta y la suma de los impor...</Descripcion>

<Azalpena>Zenbatekoa guztira [ImporteTotal] osagai hauen batura izan behar da: zerga oinarrien batura, zergaren kuotak, Lotua/Salbuetsi gabea [Sujeta No Exenta] blokeko baliokidetasun errekarguaren kuotak, Lotua/Salbuetsia [Sujeta Exenta] blokeko zerga oi...</Azalpena>

</ResultadosValidacion>

<CSV>TBAI7dde628e-9749-4bcc-8862-1824a9c97bbe</CSV>

</Salida>

</ns2:TicketBaiResponse>
He probado poniendo en el campo Base imponible de la etiqueta exenta el total de la factura, mandarla a cero, de mil maneras en todas me da errores y no sé que estoy haciendo mal. Tampoco tengo claro que tenga que ir por "exenta".


Antes la Hacienda Alavesa tenía un buzón con un mail donde les podías mandar ejemplos ahora lo han sustituido por un fomulario web a la que es imposible adjuntar archivos por temas de seguridad...los odio.


Alguien me puede ayudar


Gracias de antemano
Responder Con Cita
  #11  
Antiguo 14-11-2022
pablog2k pablog2k is offline
Miembro
 
Registrado: may 2017
Posts: 86
Poder: 8
pablog2k Va por buen camino
algo está mal ahí, en el nodo de detalle, si multiplicas la cantidad (10) por el importe unitario, da 145.1
si es exenta, no lleva iva
entonces , como es que da 175.57 el importe total, si no lleva descuento?

Yo también me estuve peleando con eso, el como quieren que presentes el importe unitario, es un jaleo, y espérate que no tengas descuentos, que ya es una fiesta
Responder Con Cita
  #12  
Antiguo 14-11-2022
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 178
Poder: 3
edari Va por buen camino
Parto de la base que no tengo claro si lo tengo que poner como "exenta" o "no exenta"...he empezado poniendo exenta porque así lo tenía programado en su día con el SII...
Responder Con Cita
  #13  
Antiguo 14-11-2022
pablog2k pablog2k is offline
Miembro
 
Registrado: may 2017
Posts: 86
Poder: 8
pablog2k Va por buen camino
a lo que me refiero es que siempre te tiene que coincidir la cantidad * importe unitario con el importe total (todo hablado del nodo IDDetalleFactura). Si eso no te coincide, siempre te van a decir que está mal, independientemente que sea exenta, no exenta, sujeta o no sujeta

sacado de las faqs:

12.10 ¿Qué se debe informar en el campo “Importe total” del bloque “Detalles factura”? El campo “Importe total” del bloque "Detalles factura" será el resultado de multiplicar los importes informados en los campos “cantidad” por los informados en los campos “importe unitario”, restándole en su caso los descuentos aplicados e incluyendo el IVA y el recargo de equivalencia. Este campo incluye el IVA que en su caso se repercuta en la operación y el recargo de equivalencia.
Responder Con Cita
  #14  
Antiguo 14-11-2022
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 178
Poder: 3
edari Va por buen camino
La misma factura subida a un bar nacional sube perfecta
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 3557 Hace 1 Semana 17:42:47
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 19:29:46.


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