Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-11-2022
sexxxwax sexxxwax is offline
Registrado
 
Registrado: nov 2022
Posts: 6
Poder: 0
sexxxwax Va por buen camino
bloqueado con el xml

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));

Última edición por Neftali [Germán.Estévez] fecha: 09-11-2022 a las 13:22:58. Razón: Formatear código correctamente
Responder Con Cita
  #2  
Antiguo 09-11-2022
Irreo Irreo is offline
Miembro
 
Registrado: mar 2022
Posts: 70
Poder: 5
Irreo Va por buen camino
Cita:
Empezado por sexxxwax Ver Mensaje
sólo me carga la última línea. Os pego el código x si me podeis ayudar.
De DELPHI no tengo ni idea, pero mirando ese bucle, no veo ningún código que me sugiera que estás agregando líneas de factura.
Veo por un lado asignaciones a Cantidad, Descuento, etc...
Y por otro lado veo que a cada vuelta entras en "IDDetalleFactura" con un With.
Si en Delphi con ese "with" inicial ya estás creando una nueva línea, entonces no me hagas caso, pero si ese lenguaje es parecido a otros que he usado, diría que estás asignando los valores todo el rato a la misma fila.
Responder Con Cita
  #3  
Antiguo 09-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: 19.441
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 sexxxwax Ver Mensaje
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.
Es posible que para añadir cada línea debas hacer antes un Add:

Código Delphi [-]
var
   Detalle: IXMLIDDetalleFacturaType;
begin
   ...
   Detalle := ...DatosFactura.DetallesFactura.Add;
   // rellenar los valores
   Detalle.DescripcionDetalle := ...;
   Detalle.Cantidad := ...;
   Detalle.ImporteUnitario := ...;
   Detalle.Descuento := ...;
   Detalle.ImporteTotal := ...;
__________________
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
  #4  
Antiguo 09-11-2022
sexxxwax sexxxwax is offline
Registrado
 
Registrado: nov 2022
Posts: 6
Poder: 0
sexxxwax Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Es posible que para añadir cada línea debas hacer antes un Add:
Código Delphi [-]
var
   Detalle: IXMLIDDetalleFacturaType;
begin
   ...
   Detalle := ...DatosFactura.DetallesFactura.Add;
   // rellenar los valores
   Detalle.DescripcionDetalle := ...;
   Detalle.Cantidad := ...;
   Detalle.ImporteUnitario := ...;
   Detalle.Descuento := ...;
   Detalle.ImporteTotal := ...;
Gracias pero el add no lo reconoce, esto tira sin error:

Código Delphi [-]
  while NOT TPV.EOF do
  BEGIN
    DATOSFACTURA.DetallesFactura.addchild('IDDetalleFactura');
    DATOSFACTURA.DetallesFactura.IDDetalleFactura.addchild('DescripcionDetalle');
    DATOSFACTURA.DetallesFactura.IDDetalleFactura.DescripcionDetalle := FIELDBYNAME('ARTICULO').ASSTRING;
    DATOSFACTURA.DetallesFactura.IDDetalleFactura.addchild('Cantidad');
    DATOSFACTURA.DetallesFactura.IDDetalleFactura.Cantidad := FIELDBYNAME('CTDAD').ASSTRING;
    DATOSFACTURA.DetallesFactura.IDDetalleFactura.addchild('ImporteUnitario');
    DATOSFACTURA.DetallesFactura.IDDetalleFactura.ImporteUnitario := FLOATTOSTR(ROUNDTO(FIELDBYNAME('PVP_E U').VALUE, -2));
    DATOSFACTURA.DetallesFactura.IDDetalleFactura.addchild('Descuento');
    DATOSFACTURA.DetallesFactura.IDDetalleFactura.Descuento := FIELDBYNAME('DTO').ASSTRING;
    DATOSFACTURA.DetallesFactura.IDDetalleFactura.addchild('ImporteTotal');
    DATOSFACTURA.DetallesFactura.IDDetalleFactura.ImporteTotal := FLOATTOSTR(ROUNDTO(FIELDBYNAME('IMPORTE_ EU').VALUE, -2));
    TPV.NEXT;
  END;

pero obtengo esta salida:

Cita:
DetallesFactura
IDDetalleFactura
DescripcionDetalle = CORREO ALAVA
Cantidad = 4
ImporteUnitario = 2,3
Descuento = 0
ImporteTotal = 9,2
DescripcionDetalle
Cantidad
ImporteUnitario
Descuento
ImporteTotal
IDDetalleFactura
ImporteTotalFactura = 11,7

intento poner el formato d código delphi y en previsualizar se ve bien pero luego sale todo sin formato, sorry. Puede ser x este aviso??? 'Aún no tienes permitido poner enlaces ni imágenes'

Última edición por Neftali [Germán.Estévez] fecha: 09-11-2022 a las 15:14:41.
Responder Con Cita
  #5  
Antiguo 09-11-2022
sexxxwax sexxxwax is offline
Registrado
 
Registrado: nov 2022
Posts: 6
Poder: 0
sexxxwax Va por buen camino
Much@s a lo mejor os estareis partiendo la caja flipando conmigo, que no soy capaz d mandar un post en condiciones, no es mi intención dar curro al admin editando mis post, pero intento hacerlo bien.

Desarrollé una aplicación en los años 90, D1, D2... d unas 89.000 líneas de código, además dl schema d la bbdd que entre sp y triggers andará x las 2.500. Pero todo esto me supera, en todos los grupos hay un amigo patoso, tener paciencia conmigo.

Si alguien necesita código de lectura d cod d barras, facturación, etc..... estoy encantado d aportar mi granito d arena.

Un saludo a tod@s y gracias x la comprensión

Última edición por Neftali [Germán.Estévez] fecha: 09-11-2022 a las 15:12:38.
Responder Con Cita
  #6  
Antiguo 09-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: 19.441
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 sexxxwax Ver Mensaje
intento poner el formato d código delphi y en previsualizar se ve bien pero luego sale todo sin formato, sorry. Puede ser x este aviso??? 'Aún no tienes permitido poner enlaces ni imágenes'
Es posible que sea problema del previsualizador o del navegador (o de ambas cosas).
Prueba a no usar la previsualizació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
  #7  
Antiguo 09-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: 19.441
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 sexxxwax Ver Mensaje
Gracias pero el add no lo reconoce, esto tira sin error:
Sí que funciona el Add.
Te pongo algo de código para trabajar en las facturas de TBAI, simplemente para que veas.

Un código como este (revisa sobre todo la parte del Add para las líneas):

Código Delphi [-]
uses
  ticketBaiV12, XMLDoc, XMLIntf;

procedure TForm3.Button1Click(Sender: TObject);
var
  TicketBAI: IXMLTicketBai;
  detalleFactura: IXMLIDDetalleFacturaType;
begin
  TicketBAI := NewTicketBai;

  TicketBAI.Cabecera.IDVersionTBAI := '1.2';
  //  ...
  detalleFactura := TicketBAI.Factura.DatosFactura.DetallesFactura.Add;
  detalleFactura.DescripcionDetalle := 'primera linea';
  detalleFactura.Cantidad := '1';
  detalleFactura.ImporteUnitario:= '100';
  detalleFactura.DescripcionDetalle := '10';
  detalleFactura.ImporteTotal := '90';
  detalleFactura := TicketBAI.Factura.DatosFactura.DetallesFactura.Add;
  detalleFactura.DescripcionDetalle := 'segunda linea';
  detalleFactura.Cantidad := '2';
  detalleFactura.ImporteUnitario:= '200';
  detalleFactura.DescripcionDetalle := '10';
  detalleFactura.ImporteTotal := '180';
  //...
  Memo1.Text := TicketBAI.XML;

  Memo1.Text := xmlDoc.FormatXMLData(TicketBAI.OwnerDocument.XML.Text);

end;

Genera una salida como esta (con 2 detalles de líneas):

Código:
<?xml version="1.0"?>
<T:TicketBai xmlns:T="urn:ticketbai:emision">
  <Cabecera>
    <IDVersionTBAI>1.2</IDVersionTBAI>
  </Cabecera>
  <Sujetos/>
  <Factura>
    <DatosFactura>
      <DetallesFactura>
        <IDDetalleFactura>
          <DescripcionDetalle>10</DescripcionDetalle>
          <Cantidad>1</Cantidad>
          <ImporteUnitario>100</ImporteUnitario>
          <ImporteTotal>90</ImporteTotal>
        </IDDetalleFactura>
        <IDDetalleFactura>
          <DescripcionDetalle>10</DescripcionDetalle>
          <Cantidad>2</Cantidad>
          <ImporteUnitario>200</ImporteUnitario>
          <ImporteTotal>180</ImporteTotal>
        </IDDetalleFactura>
      </DetallesFactura>
    </DatosFactura>
  </Factura>
  <HuellaTBAI/>
</T:TicketBai>
__________________
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
  #8  
Antiguo 11-11-2022
APO APO is offline
Miembro
 
Registrado: feb 2008
Posts: 129
Poder: 19
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
  #9  
Antiguo 14-11-2022
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 667
Poder: 18
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
  #10  
Antiguo 14-11-2022
Irreo Irreo is offline
Miembro
 
Registrado: mar 2022
Posts: 70
Poder: 5
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
  #11  
Antiguo 14-11-2022
Ramon88 Ramon88 is offline
Miembro
 
Registrado: ago 2021
Posts: 157
Poder: 5
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
  #12  
Antiguo 14-11-2022
Irreo Irreo is offline
Miembro
 
Registrado: mar 2022
Posts: 70
Poder: 5
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
  #13  
Antiguo 14-11-2022
Ramon88 Ramon88 is offline
Miembro
 
Registrado: ago 2021
Posts: 157
Poder: 5
Ramon88 Va por buen camino
gracias, voy a ver que sucede pues.
Responder Con Cita
  #14  
Antiguo 14-11-2022
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.764
Poder: 7
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
  #15  
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: 19.441
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
  #16  
Antiguo 14-11-2022
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 667
Poder: 18
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
  #17  
Antiguo 14-11-2022
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 334
Poder: 6
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
  #18  
Antiguo 14-11-2022
pablog2k pablog2k is offline
Miembro
 
Registrado: may 2017
Posts: 241
Poder: 10
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
  #19  
Antiguo 14-11-2022
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 334
Poder: 6
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
  #20  
Antiguo 14-11-2022
pablog2k pablog2k is offline
Miembro
 
Registrado: may 2017
Posts: 241
Poder: 10
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
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 3716 19-01-2026 20:01:34
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 20:35:13.


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