Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   TICKET BAI (TicketBAI); Nuevo sistema de la Agencia Tributaria del Pais Vasco (https://www.clubdelphi.com/foros/showthread.php?t=94264)

keys 20-11-2024 10:39:57

Cita:

Empezado por rci (Mensaje 559929)
Gracias keys,
nos afecta en algo a los que enviamos facturas a batuz? no se de que va el tema :confused:

Si envías solo facturas emitidas (TICKETBAI) a batuz no creo que te afecte. Esto afecta a los que generamos todo el modelo 240, emitidas, recibidas, etc..... Que además de enviar todo lo que se enviaba ademas hay que enviar toda la contabilidad del ejercicio a hacienda.

rci 20-11-2024 10:47:35

Cita:

Empezado por keys (Mensaje 559931)
Si envías solo facturas emitidas (TICKETBAI) a batuz no creo que te afecte. Esto afecta a los que generamos todo el modelo 240, emitidas, recibidas, etc..... Que ademas de enviar todo lo que se enviaba además hay que enviar toda la contabilidad del ejercicio a hacienda.

Nosotros enviamos solo facturas de compras (recibidas) y facturas de ventas (emitidas).
Supongo que el resto de información lo debe rellenar el asesor de cada obligado tributario.
Gracias de todas formas

Sanduzelai 25-11-2024 09:14:44

TBAI Gipuzkoa
 
Buenos días,
¿os funciona ticketbai Gipuzkoa hoy?

keys 25-11-2024 09:26:44

El entorno de pruebas si. El de producción de momento no nos ha llamada ningún cliente.

Sanduzelai 25-11-2024 09:51:38

Muchas gracias @Keys.
Se nos ha caducado el certificado el fin de semana y no estamos pudiendo contactar con tbai guipuzcoa para enviar las facturas.
Nos extraña el asunto ya que, pensábamos que teníamos un mes de margen con el certificado caducado para seguir enviando.

En las de Álava por ejemplo nos pasa lo mismo, pero sí que nos responde recibida (00): "AVISO: Certificado remitente caducado, debe renovar para próximos envíos"
(que es lo que esperábamos en Guipuzcoa también. Por eso nos extrañaba)

edari 11-12-2024 10:48:01

Buenos días,


Os suena este error al subir una factura en concreto?


Es como si fuera obligatoria ese etiquetga pero estoy perdido


Gracias



<ResultadosValidacion>
<Codigo>002</Codigo>
<Descripcion>El fichero de alta TicketBAI no cumple el esquema XSD - cvc-pattern-valid: Value ' ' is not facet-valid with respect to pattern '(\s*[^\s]\s*)+' for type 'TextMax250ObligatorioType'.</Descripcion>



MaeseKvothe 11-12-2024 10:52:57

Cita:

Empezado por edari (Mensaje 560648)
Buenos días,


Os suena este error al subir una factura en concreto?


Es como si fuera obligatoria ese etiquetga pero estoy perdido


Gracias



<ResultadosValidacion>
<Codigo>002</Codigo>
<Descripcion>El fichero de alta TicketBAI no cumple el esquema XSD - cvc-pattern-valid: Value ' ' is not facet-valid with respect to pattern '(\s*[^\s]\s*)+' for type 'TextMax250ObligatorioType'.</Descripcion>




Sí, estás dejando sin datos un campo obligatorio. Sin ver el XML del envío no se puede saber cual será. Posiblemente sea alguno del encadenamiento o el campo de descripción de la operación que han puesto obligatorio.

Sanduzelai 11-12-2024 10:55:46

Cita:

Empezado por edari (Mensaje 560648)
Buenos días,


Os suena este error al subir una factura en concreto?


Es como si fuera obligatoria ese etiquetga pero estoy perdido


Gracias



<ResultadosValidacion>
<Codigo>002</Codigo>
<Descripcion>El fichero de alta TicketBAI no cumple el esquema XSD - cvc-pattern-valid: Value ' ' is not facet-valid with respect to pattern '(\s*[^\s]\s*)+' for type 'TextMax250ObligatorioType'.</Descripcion>



Lo que te dice es que en alguno de los campos estas poniendo un espacio y no lo acepta por la expresión regular:(\s*[^\s]\s*)
Puede haber espacios al inicio (opcional).
Debe haber al menos un carácter no vacío (obligatorio).
Puede haber espacios al final (opcional).

Maska10 11-12-2024 10:57:16

Cita:

Empezado por edari (Mensaje 560648)
Buenos días,


Os suena este error al subir una factura en concreto?


Es como si fuera obligatoria ese etiquetga pero estoy perdido


Gracias



<ResultadosValidacion>
<Codigo>002</Codigo>
<Descripcion>El fichero de alta TicketBAI no cumple el esquema XSD - cvc-pattern-valid: Value ' ' is not facet-valid with respect to pattern '(\s*[^\s]\s*)+' for type 'TextMax250ObligatorioType'.</Descripcion>



DescripcionFactura o DescripcionDetalle, no puedes ponerle solo un espacio en blanco, hay que darle contenido.

edari 11-12-2024 11:56:48

Cita:

Empezado por Sanduzelai (Mensaje 560651)
Lo que te dice es que en alguno de los campos estas poniendo un espacio y no lo acepta por la expresión regular:(\s*[^\s]\s*)
Puede haber espacios al inicio (opcional).
Debe haber al menos un carácter no vacío (obligatorio).
Puede haber espacios al final (opcional).

Cita:

Empezado por MaeseKvothe (Mensaje 560650)
Sí, estás dejando sin datos un campo obligatorio. Sin ver el XML del envío no se puede saber cual será. Posiblemente sea alguno del encadenamiento o el campo de descripción de la operación que han puesto obligatorio.

Efectivamente era la descripción del detalle, que me habían metido una línea sin artículo y sin nombre- Ya lo he controlado para que en caso de que no graben un texto forzarle yo uno...

Gracias a los dos ^\||/

sEngine 12-12-2024 13:11:21

Una duda que me ha venido estos dias. En Bizkaia hay que enviar tanto las ventas como las compras, eso lo tengo.
Las compras se envian igual que las ventas, en su capitulo / subcapitulo correspondiente, y a parte de eso, se tienen que firmar? No se porque recuerdo haber leído alguna vez que los gastos no se firman, o me estoy liando con otra cosa, porque ahora busco en los documentos y no encuentro nada

Neftali [Germán.Estévez] 12-12-2024 13:50:56

Las compras no se firman.
Uno de ejemplo sería este:

Código PHP:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<lrpjframp:LROEPJ240FacturasRecibidasAltaModifPeticion xmlns:lrpjframp="https://www.batuz.eus/fitxategiak/batuz/LROE/esquemas/LROE_PJ_240_2_FacturasRecibidas_AltaModifPeticion_V1_0_1.xsd">
    <Cabecera>
        <Modelo>240</Modelo>
        <Capitulo>2</Capitulo>
        <Operacion>A00</Operacion>
        <Version>1.0</Version>
        <Ejercicio>2024</Ejercicio>
        <ObligadoTributario>
            <NIF>A11111111H</NIF>
            <ApellidosNombreRazonSocial>XXXXXXXXXXXXXXXXXXXX</ApellidosNombreRazonSocial>
        </ObligadoTributario>
    </Cabecera>
    <FacturasRecibidas>
        <FacturaRecibida>
            <EmisorFacturaRecibida>
                <NIF>B20948212</NIF>
                <ApellidosNombreRazonSocial>AÑOGES SL</ApellidosNombreRazonSocial>
            </EmisorFacturaRecibida>
            <CabeceraFactura>
                <SerieFactura>sf1347</SerieFactura>
                <NumFactura>nf1347</NumFactura>
                <FechaExpedicionFactura>12-12-2024</FechaExpedicionFactura>
                <FechaRecepcion>12-12-2024</FechaRecepcion>
                <TipoFactura>F1</TipoFactura>
            </CabeceraFactura>
            <DatosFactura>
                <DescripcionOperacion>Saco alimentos</DescripcionOperacion>
                <Claves>
                    <IDClave>
                        <ClaveRegimenIvaOpTrascendencia>01</ClaveRegimenIvaOpTrascendencia>
                    </IDClave>
                </Claves>
                <ImporteTotalFactura>518.58</ImporteTotalFactura>
            </DatosFactura>
            <IVA>
                <DetalleIVA>
                    <CompraBienesCorrientesGastosBienesInversion>C</CompraBienesCorrientesGastosBienesInversion>
                    <InversionSujetoPasivo>N</InversionSujetoPasivo>
                    <BaseImponible>428.58</BaseImponible>
                    <TipoImpositivo>21.00</TipoImpositivo>
                    <CuotaIVASoportada>90.00</CuotaIVASoportada>
                    <CuotaIVADeducible>90.00</CuotaIVADeducible>
                </DetalleIVA>
            </IVA>
            <OtraInformacionTrascendenciaTributaria>
                <FechaRegistroContable>12-12-2024</FechaRegistroContable>
            </OtraInformacionTrascendenciaTributaria>
        </FacturaRecibida>
    </FacturasRecibidas>
</lrpjframp:LROEPJ240FacturasRecibidasAltaModifPeticion>

Y la respuesta obtenida una tal cual esta:

Código PHP:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:LROEPJ240FacturasRecibidasAltaModifRespuesta xmlns:ns2="https://www.batuz.eus/fitxategiak/batuz/LROE/esquemas/LROE_PJ_240_2_FacturasRecibidas_AltaModifRespuesta_V1_0_1.xsd">
  <Cabecera>
    <Modelo>240</Modelo>
    <Capitulo>2</Capitulo>
    <Operacion>A00</Operacion>
    <Version>1.0</Version>
    <Ejercicio>2024</Ejercicio>
    <ObligadoTributario>
      <NIF>A99800286</NIF>
      <ApellidosNombreRazonSocial>XXXXXXXXXXXXXXXXXXXXXXXXX</ApellidosNombreRazonSocial>
    </ObligadoTributario>
  </Cabecera>
  <DatosPresentacion>
    <FechaPresentacion>12-12-2024 13:48:22</FechaPresentacion>
    <NIFPresentador>A11111111H</NIFPresentador>
  </DatosPresentacion>
  <Registros>
    <Registro>
      <IDRecibida>
        <SerieFactura>sf1347</SerieFactura>
        <NumFactura>nf1347</NumFactura>
        <FechaExpedicionFactura>12-12-2024</FechaExpedicionFactura>
        <EmisorFacturaRecibida>
          <NIF>B20948212</NIF>
        </EmisorFacturaRecibida>
      </IDRecibida>
      <SituacionRegistro>
        <EstadoRegistro>Correcto</EstadoRegistro>
      </SituacionRegistro>
    </Registro>
  </Registros>
</ns2:LROEPJ240FacturasRecibidasAltaModifRespuesta>


sEngine 12-12-2024 15:37:50

Vale, eso entonces lo tengo bien. El problema que tengo es si luego envío una venta, no hay firma que coger de la compra.
Lo mejor seria entonces encadenar ventas con ventas, y compras con compras no?

Neftali [Germán.Estévez] 12-12-2024 15:58:02

Cita:

Empezado por sEngine (Mensaje 560702)
Lo mejor seria entonces encadenar ventas con ventas, y compras con compras no?


Fíjate que las compras son simples. No llevan encadenamiento.

sEngine 12-12-2024 18:47:52

Cierto, acabo de verlo.
Gracias, ya lo he solucionado

edari 13-12-2024 12:04:16

Hola de nuevo,

Vuelvo por aquí con algo más serio con una factura subida a Ticket Bai.
No sé porqué una factura se ha generado el xml con la base imponible mal calculada. Obviamente me da error de descuadre entre el total y el sumatorio del detalle. La respuesta de hacienda otras veces para errores parecidos ha sido corregirla mediante una rectificativa.

Parto de la base que en contabilidad de la factura está con sus bases imponibles correctas.
Como puedo generar una rectificativa que solucione el error si cuando la genere me la va calcularla correctamente? Y sobretodo como poder hacer que luego "cuadre" la contabilidad con una factura, la inicial que tengo bien?

Menudo desastre :mad:

rci 27-12-2024 18:22:37

Hola, en Gipuzkoa han publicado las actualizaciones de los listados de validaciones y errores de los ficheros de Alta, Zuzendu subsanar alta y Zuzendu modificar alta.

https://www.gipuzkoa.eus/es/web/ogas...okumentazioa-2

Saludos

thinkows 08-01-2025 10:06:08

Entrono De Pruebas Gipuzcoa
 
Buenos días, el entorno de pruebas de Guipúzcoa lleva al menos desde ayer caído.

Ayer envié aviso y me comentan que desde sistemas están tratando de volver a la normalidad.

Saludos y Feliz Año :)

Toñico 12-01-2025 18:40:16

LROE Bizcaia - Indy HTTP
 
Hola a todos.

Antes que nada pido disculpas si cometo algún error ya que es mi primer mensaje en este foro.

Necesito vuestra ayuda porque estoy bloqueado.

Estoy intentando enviar a Bizcaia un fichero LROE 240 y para ello estoy utilizando Delphi 10.3 Rio y los componentes Indy HTTP y TIdSSLIOHandlerSocketOpenSSL.

El fichero que estoy enviando es un gzip que contiene el xml según la documentación.

El código que estoy usando es el siguiente:

Código:

Código Delphi [-]
        AHttp                       := TIdHTTP.Create(nil);
        IdSSLIOHandlerSocketOpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
        try
                try
                        IdSSLIOHandlerSocketOpenSSL.SSLOptions.SSLVersions := [sslvTLSv1_2];
                        IdSSLIOHandlerSocketOpenSSL.SSLOptions.CertFile    := FBaiConfiguration.restServer.certificateFile;
                        IdSSLIOHandlerSocketOpenSSL.SSLOptions.KeyFile    := FBaiConfiguration.restServer.certificateFile;
                        IdSSLIOHandlerSocketOpenSSL.OnGetPassword          := GetPasswordEvent;

                        AHttp.IOHandler              := IdSSLIOHandlerSocketOpenSSL;
                        AHttp.ConnectTimeout        := 5000;
                        AHttp.Request.CustomHeaders.Clear;
                        AHttp.Request.CustomHeaders.AddValue('Accept-Encoding',            'gzip');
                        AHttp.Request.CustomHeaders.AddValue('Content-Encoding',            'gzip');
                        AHttp.Request.CustomHeaders.AddValue('Content-Type',                'octet-stream');
                        AHttp.Request.CustomHeaders.AddValue('Content-Length',              IntToStr(RecoverFileSize(TPath.Combine(FWorkFilePath, Format('LROE_240_1_1_%s.gz',[documentData.document_sid])))));
                        AHttp.Request.CustomHeaders.AddValue('eus-bizkaia-n3-version',      '1.0');
                        AHttp.Request.CustomHeaders.AddValue('eus-bizkaia-n3-content-type', 'application/xml');
                        AHttp.Request.CustomHeaders.AddValue('eus-bizkaia-n3-data',        ComposeJSONBizcaiaData); // El Json está construido según la documentación

                        Try
                                requestBody  := TFileStream.Create(TPath.Combine(FWorkFilePath, Format('LROE_240_1_1_%s.gz',[documentData.document_sid])), fmOpenRead);
                                try
                                        try
                                                responseBody := AHttp.Post(FBaiConfiguration.restServer.urlInsertDocument, requestBody);

                                                if AHttp.ResponseCode = 200 then
                                                Begin
              // Si fuera bien, leería la respuesta
                                                        Result := True;
                                                End;
                                        except
                                                on e: EIdHTTPProtocolException do
                                                begin
                                                        Result := False;
                                                        errorMessage := 'Error: Uploading document failed. ' + IntToStr(AHttp.ResponseCode) + ' - ' + AHttp.response.ResponseText;
                                                end;
                                        end;
                                finally
                                        requestBody.Free;
                                end;
                        Except
                                on e: EIdHTTPProtocolException do
                                begin
                                        Result := False;
                                        errorMessage := 'Error: Uploading document failed. ' + IntToStr(AHttp.ResponseCode) + ' - ' + AHttp.response.ResponseText;
                                end;
                        End;

                except
                        on E: Exception do
                        begin
                                Result := False;
                                errorMessage := 'Error: Uploading document TicketBAI failed.';
                        end;
                end;
        finally
                FreeAndNil(AHttp);
                FreeAndNil(IdSSLIOHandlerSocketOpenSSL);
        end;


Me devuelve siempre error 400 - Bad request

Las cabeceras que le paso creo que están bien. Las vuelco a un fichero para ver que envío y muestra lo siguiente:

Accept-Encoding: gzip
Content-Encoding: gzip
Content-Type: octet-stream
Content-Length: 8532
eus-bizkaia-n3-version: 1.0
eus-bizkaia-n3-content-type: application/xml
eus-bizkaia-n3-data: {"con":"LROE","apa":"1.1","inte":{"nif":"A99800005","nrs":"SOFTWARE GARANTE TICKETBAI PRUEBA"},"drs":{"mode":"240","ejer":"2025"}}

Alguien me puede explicar donde está el problema o algún trozo de código que me pueda ayudar.

Muchas gracias a todos.

Neftali [Germán.Estévez] 13-01-2025 08:47:07

Cita:

Empezado por Toñico (Mensaje 561133)
Estoy intentando enviar a Bizcaia un fichero LROE 240 y para ello estoy utilizando Delphi 10.3 Rio y los componentes Indy HTTP y TIdSSLIOHandlerSocketOpenSSL.


Hola y bienvenido a los foros.
Antes de continuar con tu respuesta, te comentaría que hicieras la prueba con los componentes REST que vienen con Delphi "se serie". Digamos que son más modernos, más sencillos de usar y son los recomendados por Embarcadero (dría que en la versión que tienes ya están disponibles).

De todas formas, tienes bastantes códigos disponibles indexados en el mensaje #2 de este hilo.


Aquí tienes códigos usando los componentes REST:
https://www.clubdelphi.com/foros/sho...&postcount=406

Y aquí algunos con las Indy:
https://www.clubdelphi.com/foros/sho...&postcount=946
https://www.clubdelphi.com/foros/sho...postcount=2300
https://www.clubdelphi.com/foros/sho...postcount=1811


La franja horaria es GMT +2. Ahora son las 01:48:18.

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