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)

misteradrian 24-01-2022 12:40:32

Hola buenas a todos,
Tenía una duda acerca de qué valor de la firma del xml debería de poner en el envío de facturas. Si el de la factura anulada o la de la anteriormente enviada.
Os dejo las respuestas que me han dejado de las diputaciones.
Espero que os sirva a quienes se os haya planteado el mismo dilema.
Un saludo.
  • Primero envías la factura F1
  • Luego anulas la factura F1
  • Posteriormente envías la factura F2
  • Esta factura tiene que estar encadenada con la última factura enviada, aunque esté anulada.
  • Es decir, no hay que encadenar con la petición de la anulación, si no que la tienes que encadenar con la F1. En el encadenamiento debes poner los 100 caracteres de la firma de la factura F1 y NO los 100 caracteres de la anulación de la F1.

keys 24-01-2022 13:45:33

Cita:

Empezado por misteradrian (Mensaje 545027)
Hola buenas a todos,
Tenía una duda acerca de qué valor de la firma del xml debería de poner en el envío de facturas. Si el de la factura anulada o la de la anteriormente enviada.
Os dejo las respuestas que me han dejado de las diputaciones.
Espero que os sirva a quienes se os haya planteado el mismo dilema.
Un saludo.
  • Primero envías la factura F1
  • Luego anulas la factura F1
  • Posteriormente envías la factura F2
  • Esta factura tiene que estar encadenada con la última factura enviada, aunque esté anulada.
  • Es decir, no hay que encadenar con la petición de la anulación, si no que la tienes que encadenar con la F1. En el encadenamiento debes poner los 100 caracteres de la firma de la factura F1 y NO los 100 caracteres de la anulación de la F1.

Las anulaciones no cuentan para el encadenamiento de las facturas. Tu factura F2 tiene que apuntar a la F1 siempre.

Neftali [Germán.Estévez] 24-01-2022 14:01:19

Cita:

Empezado por HerensugeBeltz (Mensaje 545026)
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

Gracias por la info.

elguille 24-01-2022 18:14:36

El interesado no está identificado
 
Hola, siguiendo vuestros ejemplos, estoy intentando enviar un 240 a Vizcaya y recibo

response status code: 200
RESP.BODY:

RESP.HEADER:
Date: Mon, 24 Jan 2022 16:51:58 GMT
Server: JBoss-EAP/7
eus-bizkaia-n3-identificativo: 5506744
X-Powered-By: Undertow/1
eus-bizkaia-n3-mensaje-respuesta: El interesado no está identificado.
eus-bizkaia-n3-codigo-respuesta: N3_0000002
eus-bizkaia-n3-numero-registro:
eus-bizkaia-n3-tipo-respuesta: Incorrecto
Content-Type: text/html; charset=UTF-8
Content-Length: 0

Y no hay manera de avanzar, entiendo que es algun problema de firma pero lo he intentado con dos firmas diferentes de la FNMT (de representante) y que segun he leido no tienen ningun problema para entrar en los expedientes de https://www.ebizkaia.eus/es/mis-expedientes

El codigo delphi , lo he hecho con las chilkat, pero recibo el mismo error con NetHTTPClient

Código Delphi [-]
procedure TForm1.enviovizcaya(Sender: TObject);
var
  glob: HCkGlobal;
  success: Boolean;
  xmlToSign: HCkXml;
  gen: HCkXmlDSigGen;
  object1: HCkXml;
  Cert: HCkCert;
  sbXml: HCkStringBuilder;
  verifier: HCkXmlDSig;
  numSigs: integer;
  verifyIdx: integer;
  verified: Boolean;
  Http: HCkHttp;
  json: HCkJsonObject;
  url: PWideChar;
  bGzip: Boolean;
  resp: HCkHttpResponse;
  status, ik1: integer;
  nombre_archivo: string;
  mid, mser, mnum, mim, mcrc: string;
  RequestBody: TFileStream;
  AResponse: IHTTPResponse;
  sb1: HCkStringBuilder;
  sb2: HCkStringBuilder;
  Xml: HCkXml;
  tspen: TStringlist;
  mcon: integer;
  Comprimido: TFileStream;
  s: TStringlist;
  m: tmemorystream;
begin
begin
  Memo1.clear;
  glob := CkGlobal_Create();
  success := CkGlobal_UnlockBundle(glob, 'xxxxxxxxxxxxxxxxxx');
  if (success <> True) then
  begin
    Memo1.Lines.Add(CkGlobal__lastErrorText(glob));
    Exit;
  end;
  status := CkGlobal_getUnlockStatus(glob);
  if (status = 2) then
  begin
    Memo1.Lines.Add('Unlocked using purchased unlock code.');
  end
  else
  begin
    Memo1.Lines.Add('Unlocked in trial mode.');
  end;

  Memo1.Lines.Add('');
  success := True;

  Xml := CkXml_Create();

  if mmodelo = '140' then
  begin
    CkXml_putTag(Xml, 'lrpficfcsgap:LROEPF140IngresosConFacturaConSGAltaPeticion');
    CkXml_AddAttribute(Xml, 'xmlns:lrpficfcsgap',
      'https://www.batuz.eus/fitxategiak/batuz/LROE/esquemas/LROE_PF_140_1_1_Ingresos_ConfacturaConSG_AltaPeticion_V1_0_2.xsd');
  end
  else
  begin
    CkXml_putTag(Xml, 'lrpficfcsgap:LROEPJ240FacturasEmitidasConSGAltaPeticion');
    CkXml_AddAttribute(Xml, 'xmlns:lrpficfcsgap',
      'https://www.batuz.eus/fitxategiak/batuz/LROE/esquemas/LROE_PJ_240_1_1_FacturasEmitidas_ConSG_AltaPeticion_V1_0_2.xsd');
  end;
  CkXml_UpdateChildContent(Xml, 'Cabecera|Modelo', pchar(mmodelo));
  CkXml_UpdateChildContent(Xml, 'Cabecera|Capitulo', '1');
  CkXml_UpdateChildContent(Xml, 'Cabecera|Subcapitulo', '1.1');
  CkXml_UpdateChildContent(Xml, 'Cabecera|Operacion', 'A00');
  CkXml_UpdateChildContent(Xml, 'Cabecera|Version', '1.0');
  CkXml_UpdateChildContent(Xml, 'Cabecera|Ejercicio', pchar(mperi));
  CkXml_UpdateChildContent(Xml, 'Cabecera|ObligadoTributario|NIF', pchar(TRIM(ts[1])));
  CkXml_UpdateChildContent(Xml, 'Cabecera|ObligadoTributario|ApellidosNombreRazonSocial', pchar(TRIM(ts[2])));
  if mmodelo = '140' then
  begin
    CkXml_UpdateChildContent(Xml, 'Ingresos|Ingreso|TicketBai', CkStringBuilder__getEncoded(sb1, 'base64', 'utf-8'));
    CkXml_UpdateChildContent(Xml, 'Ingresos|Ingreso|Renta|DetalleRenta|Epigrafe', '197330');
    CkXml_UpdateChildContent(Xml, 'Ingresos|Ingreso[1]|TicketBai', CkStringBuilder__getEncoded(sb2, 'base64', 'utf-8'));
    CkXml_UpdateChildContent(Xml, 'Ingresos|Ingreso[1]|Renta|DetalleRenta|Epigrafe', '197330');
    CkXml_UpdateChildContent(Xml, 'Ingresos|Ingreso[1]|Renta|DetalleRenta|IngresoAComputarIRPFDiferenteBaseImpoIVA', 'S');
    CkXml_UpdateChildContent(Xml, 'Ingresos|Ingreso[1]|Renta|DetalleRenta|ImporteIngresoIRPF', '400.00');
  end
  else
  begin
    // CkXml_UpdateChildContent(Xml, 'FacturasEmitidas|FacturaEmitida|TicketBai', CkStringBuilder__getEncoded(sb1, 'base64', 'utf-8'));
    // CkXml_UpdateChildContent(Xml, 'FacturasEmitidas|FacturaEmitida|Renta|DetalleRenta|Epigrafe', '197330');
    sb1 := CkStringBuilder_Create();
    tspen := TStringlist.Create;
    tspen.loadfromfile(ExtractFilepath(paramstr(0)) + 'pendiente.TXT');
    for mcon := 1 TO tspen.Count DO
    BEGIN
      success := CkStringBuilder_LoadFile(sb1, pchar(tspen[mcon - 1]), 'utf-8');
      CkXml_UpdateChildContent(Xml, pchar('FacturasEmitidas|FacturaEmitida[' + IntToStr(mcon) + ']|TicketBai'),
        CkStringBuilder__getEncoded(sb1, 'base64', 'utf-8'));
      // CkXml_UpdateChildContent(Xml, 'FacturasEmitidas|FacturaEmitida['+inttostr(mcon)+']|Renta|DetalleRenta|Epigrafe', '197330');
      // CkXml_UpdateChildContent(Xml, 'FacturasEmitidas|FacturaEmitida['+inttostr(mcon)+']|Renta|DetalleRenta|IngresoAComputarIRPFDiferenteBaseImpoIVA', 'S');
      // CkXml_UpdateChildContent(Xml, 'FacturasEmitidas|FacturaEmitida['+inttostr(mcon)+']|Renta|DetalleRenta|ImporteIngresoIRPF', '400.00');
    END;
  end;

  // Memo1.Lines.Add(CkXml__getXml(xml));

  success := CkXml_SaveXml(Xml, pchar(ExtractFilepath(paramstr(0)) + 'ticketBAI_invoice.xml'));

  CkStringBuilder_Dispose(sb1);
  CkStringBuilder_Dispose(sb2);
  CkXml_Dispose(Xml);

  Http := CkHttp_Create();

  success := CkHttp_SetSslClientCertPfx(Http, pchar(ExtractFilepath(paramstr(0)) + tsconf[0]), pchar(tsconf[1]));
  if (success = FALSE) then
  begin
    Memo1.Lines.Add(CkHttp__lastErrorText(Http));
    Memo1.Lines.SaveToFile(ExtractFilepath(paramstr(0)) + 'LOG.TXT');
    Exit;
  end;

  sbXml := CkStringBuilder_Create();
  success := CkStringBuilder_LoadFile(sbXml, pchar(ExtractFilepath(paramstr(0)) + 'ticketBAI_invoice.xml'), 'utf-8');

  if (success = FALSE) then
  begin
    Memo1.Lines.Add('Failed to load XML that is to be the HTTP request body');
    Memo1.Lines.SaveToFile(ExtractFilepath(paramstr(0)) + 'LOG.TXT');
    Exit;
  end;

  json := CkJsonObject_Create();

  // Add required headers...
  CkJsonObject_UpdateString(json, 'con', 'LROE');
  CkJsonObject_UpdateString(json, 'apa', '1.1');
  CkJsonObject_UpdateString(json, 'inte.nif', pchar(TRIM(ts[1])));
  CkJsonObject_UpdateString(json, 'inte.nrs', pchar(TRIM(ts[2])));
  CkJsonObject_UpdateString(json, 'drs.mode', pchar(mmodelo));
  CkJsonObject_UpdateString(json, 'drs.ejer', pchar(mperi));

  CkHttp_SetRequestHeader(Http, 'eus-bizkaia-n3-version', '1.0');
  CkHttp_SetRequestHeader(Http, 'eus-bizkaia-n3-content-type', 'application/xml');
  CkHttp_SetRequestHeader(Http, 'eus-bizkaia-n3-data', CkJsonObject__emit(json));
  // url := 'https://pruesarrerak.bizkaia.eus/N3B4000M/aurkezpena';
  bGzip := True;
  resp := CkHttp_PTextSb(Http, 'POST', pchar(mURLAlta), sbXml, 'utf-8', 'application/octet-stream', FALSE, bGzip);
  if (CkHttp_getLastMethodSuccess(Http) = FALSE) then
  begin
    Memo1.Lines.Add(CkHttp__lastErrorText(Http));
    Memo1.Lines.SaveToFile(ExtractFilepath(paramstr(0)) + 'LOG.TXT');
    Exit;
  end;
  CkHttp_ClearHeaders(Http);

  Memo1.Lines.Add('response status code: ' + IntToStr(CkHttpResponse_getStatusCode(resp)));

  // Examine the response (it is already decompressed)
  Memo1.Lines.Add('RESP.BODY:' + CHR(13) + CHR(10) + CkHttpResponse__bodyStr(resp));
  Memo1.Lines.Add('RESP.HEADER:' + CHR(13) + CHR(10) + CkHttpResponse__header(resp));

  Memo1.Lines.SaveToFile(ExtractFilepath(paramstr(0)) + 'LOG.TXT');
//lo siguente funciona pero obtenemos el mismo error
{  comprimir(ExtractFilepath(paramstr(0)) + 'ticketBAI_invoice.xml', 'archivo.gz');
  // RequestBody := TFileStream.Create('archivo.gz', fmOpenRead);
  NetHTTPClient1.SecureProtocols := [THTTPSecureProtocol.TLS12];
  NetHTTPClient1.CustomHeaders['Accept-Encoding'] := 'gzip';
  NetHTTPClient1.CustomHeaders['Content-Encoding'] := 'gzip';
  NetHTTPClient1.CustomHeaders['Content-Type'] := 'application/octet-stream';
  NetHTTPClient1.CustomHeaders['eus-bizkaia-n3-version'] := '1.0';
  NetHTTPClient1.CustomHeaders['eus-bizkaia-n3-content-type'] := 'application/xml';
  s := TStringlist.Create;
  m := tmemorystream.Create;
  // Formamos los parametros json de entrada
  NetHTTPClient1.CustomHeaders['eus-bizkaia-n3-data'] := CkJsonObject__emit(json);
  // AResponse := NetHTTPClient1.post( mURLAlta, RequestBody);
  AResponse := NetHTTPClient1.post(mURLAlta, 'archivo.gz', m);
  m.Position := 0;
  s.LoadFromStream(m);
  Memo1.Lines.AddStrings(s);
  Comprimido := TFileStream.Create('respuesta.gz', fmCreate);
  Comprimido.CopyFrom(AResponse.ContentStream, AResponse.ContentStream.Size);
  Comprimido.Destroy;
  descomprimir('respuesta.gz', 'respuesta2.gz');
  descomprimir('respuesta2.gz', 'respuesta.xml');}
  CkHttpResponse_Dispose(resp);
  CkHttp_Dispose(Http);
  CkStringBuilder_Dispose(sbXml);
  CkJsonObject_Dispose(json);

end;

sEngine 24-01-2022 18:54:01

Estas en modo pruebas o real? Si es el modo pruebas, estas usando el certificado que nos proporcionan y te has registrado?

skatologiko 24-01-2022 21:39:33

Yo estoy probando transmitir a Vizcaya con el siguiente comando curl y me da el mismo error, tanto en el entorno real como en el de pruebas, tanto con mi certificado en .pfx (que sí que funciona en Álava y Guipúzcoa) ,como con los que colgaron de prueba en la web de Batuz (que están en p12)

Este es el comando:
curl -H "Accept-Encoding: gzip" -H "Content-Encoding: gzip" -H "Content-Type: application/octet-stream" -H "eus-bizkaia-n3-version: 1.0" -H "eus-bizkaia-n3-content-type: application/xml" -H "eus-bizkaia-n3-data: {\"con\": \"LROE\",\"apa\": \"1.1\",\"inte\": {\"nif\": \"MINIF\",\"nrs\": \"MIEMPRESA\"},\"drs\": {\"mode\": \"240\",\"ejer\": \"2021\"}}" --data-binary @z:\MP220001resumen.xml.gz --cert Z:\ticketbai\certificados\EntitateOrdezkaria_RepresentanteDeEntidad.p12 --key IZDesa2021 -v https://pruesarrerak.bizkaia.eus/N3B4000M/aurkezpena --output z:\RESP_240.gz -D cabecera.txt

Y este el error:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0*
Trying 80.245.2.232...
* TCP_NODELAY set
* Connected to pruesarrerak.bizkaia.eus (80.245.2.232) port 443 (#0)
* could not load PEM client certificate, OpenSSL error error:0906D06C:PEM routin
es:PEM_read_bio:no start line, (no key found, wrong pass phrase, or wrong file f
ormat?)
* Curl_http_done: called premature == 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
* Closing connection 0
curl: (58) could not load PEM client certificate, OpenSSL error error:0906D06C:P
EM routines:PEM_read_bio:no start line, (no key found, wrong pass phrase, or wro
ng file format?)


¿Qué estoy haciendo mal?

elguille 25-01-2022 07:26:15

Cita:

Empezado por sEngine (Mensaje 545034)
Estas en modo pruebas o real? Si es el modo pruebas, estas usando el certificado que nos proporcionan y te has registrado?

En modo pruebas, empleando el certificado de empresa nuestro real que si funciona en Guipuzcoa y Alava y uno de un cliente final, en los dos obtengo el error

eus-bizkaia-n3-mensaje-respuesta: El interesado no está identificado.
eus-bizkaia-n3-codigo-respuesta: N3_0000002

Mi empresa esta registrada como software garante pero no nos han proporcionado ningun certificado de pruebas ¿donde se solicita o puedo verificar que pueda emplear el certificado? ¿en el servicio de pruebas no se pueden emplear certificados reales?

Gracias.

scsjcm 25-01-2022 09:41:16

Necesito alguien que le interese integrar TicketBai en un ERP
 
Hola a todos :) estoy en proceso de iniciar el tema del ticketbai a mi ERP, y me gustaria contactar con alguien que lo tenga avanzado y que podamos llegar a un acuerdo económico para que me pueda "acelerar" la integración del ticketbai en mi ERP.

Muchas gracias
Saludos a todos :)

batuzail 25-01-2022 10:40:59

Hola,
Revisa la doumentación del entorno de pruebas, tendrás que usar un certificado de prueba de izenpe y darte de alta, te daran un juego de datos.


Cita:

Empezado por elguille (Mensaje 545039)
En modo pruebas, empleando el certificado de empresa nuestro real que si funciona en Guipuzcoa y Alava y uno de un cliente final, en los dos obtengo el error

eus-bizkaia-n3-mensaje-respuesta: El interesado no está identificado.
eus-bizkaia-n3-codigo-respuesta: N3_0000002

Mi empresa esta registrada como software garante pero no nos han proporcionado ningun certificado de pruebas ¿donde se solicita o puedo verificar que pueda emplear el certificado? ¿en el servicio de pruebas no se pueden emplear certificados reales?

Gracias.


sEngine 25-01-2022 11:12:15

Email recibido ahora mismo de alava

Por motivos técnicos, mañana Miércoles 26 de Enero desde las 07:30 de la mañana el entorno de pruebas de TicketBai Álava no estará disponible. En el momento en que vuelva a estar disponible le informaremos por este mismo medio.

tejano 25-01-2022 12:04:04

Cita:

Empezado por skatologiko (Mensaje 545036)
Yo estoy probando transmitir a Vizcaya con el siguiente comando curl y me da el mismo error, tanto en el entorno real como en el de pruebas, tanto con mi certificado en .pfx (que sí que funciona en Álava y Guipúzcoa) ,como con los que colgaron de prueba en la web de Batuz (que están en p12)

Este es el comando:
curl -H "Accept-Encoding: gzip" -H "Content-Encoding: gzip" -H "Content-Type: application/octet-stream" -H "eus-bizkaia-n3-version: 1.0" -H "eus-bizkaia-n3-content-type: application/xml" -H "eus-bizkaia-n3-data: {\"con\": \"LROE\",\"apa\": \"1.1\",\"inte\": {\"nif\": \"MINIF\",\"nrs\": \"MIEMPRESA\"},\"drs\": {\"mode\": \"240\",\"ejer\": \"2021\"}}" --data-binary @z:\MP220001resumen.xml.gz --cert Z:\ticketbai\certificados\EntitateOrdezkaria_RepresentanteDeEntidad.p12 --key IZDesa2021 -v https://pruesarrerak.bizkaia.eus/N3B4000M/aurkezpena --output z:\RESP_240.gz -D cabecera.txt

Y este el error:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0*
Trying 80.245.2.232...
* TCP_NODELAY set
* Connected to pruesarrerak.bizkaia.eus (80.245.2.232) port 443 (#0)
* could not load PEM client certificate, OpenSSL error error:0906D06C:PEM routin
es:PEM_read_bio:no start line, (no key found, wrong pass phrase, or wrong file f
ormat?)
* Curl_http_done: called premature == 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
* Closing connection 0
curl: (58) could not load PEM client certificate, OpenSSL error error:0906D06C:P
EM routines:PEM_read_bio:no start line, (no key found, wrong pass phrase, or wro
ng file format?)


¿Qué estoy haciendo mal?

Yo lo genero de esta forma y va bien
c:\curl\bin\curl --insecure --cert-type P12 --cert c:\temp\CERTIFICADO.p12:Passwd_certificado -H "Accept-Encoding:gzip" -H "Content-Encoding:gzip" -H "Content-Type:application/octet-stream" -H "eus-bizkaia-n3-version:1.0" -H "eus-bizkaia-n3-content-type:application/xml" -H "eus-bizkaia-n3-data:{\"con\":\"LROE\",\"apa\":\"1.1\",\"inte\":{\"nif\":\"CIF_EMPRESA\",\"nrs\":\"NOMBRE_EMPRESA\"} ,\"drs\":{\"mode\":\"240\",\"ejer\":\"2022\"}}" -v "https://sarrerak.bizkaia.eus/N3B4000M/aurkezpena" --data-binary "@RUTA_FICHERO_GZ.GZ" --output c:\temp\respuesta.gz -D c:\tmp\cabecera.txt

elguille 25-01-2022 12:27:37

Cita:

Empezado por batuzail (Mensaje 545041)
Hola,
Revisa la doumentación del entorno de pruebas, tendrás que usar un certificado de prueba de izenpe y darte de alta, te daran un juego de datos.

He usado el certificado de representante "EntitateOrdezkaria_RepresentanteDeEntidad.p12" y el certificado de empresa "EnpresaZigilua_SelloDeEmpresa.p12" contenidos en https://www.batuz.eus/fitxategiak/ba...ados_V1_0_0.7z y en ambos obtenido el mismo error en entorno pruebas:mad:, desesperado y leyendo que en 2021 el LROE no tiene trascendencia tributaria https://www.batuz.eus/es/novedades, se me ha ocurrido enviar una factura de 2021 a produccion con el certificado del cliente final, sin cambiar el codigo solo la url del servicio, y MILAGRO no he tenido ningun problema (factura enviada correctamente):eek:, pero claro necesito poder hacer pruebas para comprobar que todo funciona correctamente.

Asimismo en la documentacion del entorno de pruebas https://www.batuz.eus/fitxategiak/ba...ea4c600c4b0bca pone

3.3 Uso de certificados
Los certificados a utilizar en el entorno de pruebas serán los de Producción.
Se admitirán los siguientes certificados:
▪ Certificado de persona física.
▪ Certificado de representante de entidad.
▪ Sello de empresa/entidad.
▪ Sello de autónomo.
▪ Certificado de dispositivo.

por lo que entiendo que no deberia de tener ningun problema en emplear el entorno de pruebas si el certificado en produccion va correctamente. ¿se le ocurre a alguien en donde me equivoco? o como intentar mas pruebas...

Muchas gracias
Saludos a todos

keys 25-01-2022 12:32:57

Cita:

Empezado por elguille (Mensaje 545046)
He usado el certificado de representante "EntitateOrdezkaria_RepresentanteDeEntidad.p12" y el certificado de empresa "EnpresaZigilua_SelloDeEmpresa.p12" contenidos en https://www.batuz.eus/fitxategiak/ba...ados_V1_0_0.7z y en ambos obtenido el mismo error en entorno pruebas:mad:, desesperado y leyendo que en 2021 el LROE no tiene trascendencia tributaria https://www.batuz.eus/es/novedades, se me ha ocurrido enviar una factura de 2021 a produccion con el certificado del cliente final, sin cambiar el codigo solo la url del servicio, y MILAGRO no he tenido ningun problema (factura enviada correctamente):eek:, pero claro necesito poder hacer pruebas para comprobar que todo funciona correctamente.

Asimismo en la documentacion del entorno de pruebas https://www.batuz.eus/fitxategiak/ba...ea4c600c4b0bca pone

3.3 Uso de certificados
Los certificados a utilizar en el entorno de pruebas serán los de Producción.
Se admitirán los siguientes certificados:
▪ Certificado de persona física.
▪ Certificado de representante de entidad.
▪ Sello de empresa/entidad.
▪ Sello de autónomo.
▪ Certificado de dispositivo.

por lo que entiendo que no deberia de tener ningun problema en emplear el entorno de pruebas si el certificado en produccion va correctamente. ¿se le ocurre a alguien en donde me equivoco? o como intentar mas pruebas...

Muchas gracias
Saludos a todos

A la empresa de pruebas tienes que ponerle el cif y el nombre que ellos te dicen al darte de alta en el entorno de pruebas

Neftali [Germán.Estévez] 25-01-2022 12:49:39

Aviso para mañana:

Cita:

Nos dirigimos a usted como participante del período de pruebas del sistema TicketBai en Álava para informarle de lo siguiente:

Por motivos técnicos, mañana Miércoles 26 de Enero desde las 07:30 de la mañana el entorno de pruebas de TicketBai Álava no estará disponible. En el momento en que vuelva a estar disponible le informaremos por este mismo medio.

elguille 25-01-2022 13:12:18

Cita:

Empezado por keys (Mensaje 545047)
A la empresa de pruebas tienes que ponerle el cif y el nombre que ellos te dicen al darte de alta en el entorno de pruebas

Gracias keys y a todos, ya lo he solicitado, habia obviado este paso pensando que con los certificados finales no importaba. Menudo patinazo:(.

ermendalenda 25-01-2022 17:32:12

Hola Sistel o algún forero con experiencia en rawsberry.
Estoy montando algunos servidores de firmas en rawsberry, pero ya lo aprovecho para quitar otros servidores Linux con samba y otras aplicaciones.
El caso es que cada 1 que monto se me van unas cuantas horas.
Por favor me podéis decir si conocéis algún método para clonar las tarjetas de estos dispositivos?

misteradrian 25-01-2022 18:17:23

Cita:

Empezado por espinete (Mensaje 545012)
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 :confused:

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?

¡Hola!

Yo la verdad que estoy un poco igual que tú.
Para terminar este paso en el sistema estoy leyendo más documentación que otra cosa y me estoy enterando de más bien poco.
¿No tienen documentos relacionados con esto de las rectificativas en las haciendas forales?

Un saludo,
Adrián

Sistel 25-01-2022 20:29:33

Cita:

Empezado por ermendalenda (Mensaje 545052)
Hola Sistel o algún forero con experiencia en rawsberry.
Estoy montando algunos servidores de firmas en rawsberry, pero ya lo aprovecho para quitar otros servidores Linux con samba y otras aplicaciones.
El caso es que cada 1 que monto se me van unas cuantas horas.
Por favor me podéis decir si conocéis algún método para clonar las tarjetas de estos dispositivos?

Hola ermendalenda,

Puedes guardar una imagen de una tarjeta microSD (de las utilizadas en las Raspberry Pi) con el comando "dd" de Linux.
Sacas la tarjeta de la Raspberry (tras apagarla), la metes en un PC con Linux y usas el comando "dd"
(https://man7.org/linux/man-pages/man1/dd.1.html)
Ejemplo:
Código:

dd if=/dev/sdx of=imagen.img bs=4M
(Si utilizas el parámetro "bs", vas más rápido, ya que lees y escribes bloques del tamaño que especifiques).

Para hacer copias múltiples, es muy cómoda, rápida y segura la aplicación balenaEtcher (https://www.balena.io/etcher)
No necesitas ni instalarla. La dejas en el escritorio, por ejemplo, y la ejecutas desde él.
Te permite grabar tarjetas microSD de forma rápida y segura.

Saludos

unomasmas 25-01-2022 20:30:08

Seguro que ya está aclarado pero es que voy leyendo los mensajes de varios días que llevo sin revisar el foro... Por si no fuese así, por si no se hubiese resuelto este asunto...
Cita:

Empezado por espinete (Mensaje 544968)
Hola de nuevo...

Me he encontrado por primera vez con un problema al enviar una factura que tenía artículos con varios IVAs y uno de ellos con IVA = 0.
Si tengo varios IVAs distintos no hay problema, pero si hay una línea con IVA = 0 (es decir, uno con IVA 21% y otro con IVA 0%), la factura se envía pero con avisos:

Codigo 1219: El campo TipoImpositivo debe estar informado con valor distinto de 0 si el campo TipoNoExenta tiene un valor S1 y ClaveRegimenIVAOpTrascendencia o ClaveRegimenIVAOpTrascendencia adicional con valor distinto a 03 05 09

Supongo que se debe a que en DesgloseIVA estoy añadiendo también el IVA 0 y no debería. ¿Es correcto?
O si se añade, me falta algo por indicar que no encuentro.

Lo que está claro es que no es que la factura esté exenta o no sujeta (no es a nivel de factura, sino de línea), así que supongo que con no añadir ese IVA 0 al DesgloseIVA sería suficiente...

En una factura pueden ir conceptos exentos, no exentos, no sujetos y con inversión del sujeto pasivo. Si el tipo de IVA es cero, ese concepto debe figurar como exento, no sujeto o con el valor S2 para la etiqueta TipoNoExenta.
Cita:

Empezado por espinete (Mensaje 544968)
Luego obtengo este otro que no tiene nada que ver pero me cabrea bastante, la verdad:

Codigo 5031: Se debe informar el campo CodigoPostal cuando FacturaSimplificada sea N o no esté informada o cuando el campo FacturaEmitidaSustituciónSimplificada sea S, o cuando el Código de FacturaRectificativa no sea R5

¿En serio vamos a estar con esas tonterías?

Ojo, la factura se envía y puede comprobarse con el QR, pero a saber si dentro de X meses deja de funcionar.

Esto es lo que es. Con facturas "normales" hay que indicar el código postal :-)

ermendalenda 25-01-2022 20:43:20

Cita:

Empezado por Sistel (Mensaje 545055)
Hola ermendalenda,

Puedes guardar una imagen de una tarjeta microSD (de las utilizadas en las Raspberry Pi) con el comando "dd" de Linux.
Sacas la tarjeta de la Raspberry (tras apagarla), la metes en un PC con Linux y usas el comando "dd"
(https://man7.org/linux/man-pages/man1/dd.1.html)
Ejemplo:
Código:

dd if=/dev/sdx of=imagen.img bs=4M
(Si utilizas el parámetro "bs", vas más rápido, ya que lees y escribes bloques del tamaño que especifiques).

Para hacer copias múltiples, es muy cómoda, rápida y segura la aplicación balenaEtcher (https://www.balena.io/etcher)
No necesitas ni instalarla. La dejas en el escritorio, por ejemplo, y la ejecutas desde él.
Te permite grabar tarjetas microSD de forma rápida y segura.

Saludos

Gracias sistel
Voy a intentarlo.

skatologiko 25-01-2022 21:39:02

Cita:

Empezado por tejano (Mensaje 545044)
Yo lo genero de esta forma y va bien
c:\curl\bin\curl --insecure --cert-type P12 --cert c:\temp\CERTIFICADO.p12:Passwd_certificado -H "Accept-Encoding:gzip" -H "Content-Encoding:gzip" -H "Content-Type:application/octet-stream" -H "eus-bizkaia-n3-version:1.0" -H "eus-bizkaia-n3-content-type:application/xml" -H "eus-bizkaia-n3-data:{\"con\":\"LROE\",\"apa\":\"1.1\",\"inte\":{\"nif\":\"CIF_EMPRESA\",\"nrs\":\"NOMBRE_EMPRESA\"} ,\"drs\":{\"mode\":\"240\",\"ejer\":\"2022\"}}" -v "https://sarrerak.bizkaia.eus/N3B4000M/aurkezpena" --data-binary "@RUTA_FICHERO_GZ.GZ" --output c:\temp\respuesta.gz -D c:\tmp\cabecera.txt

Gracias, al menos ya contesta el servidor

unomasmas 25-01-2022 22:45:05

Cita:

Empezado por HerensugeBeltz (Mensaje 545026)
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

¡Gracias por la info!

¡El servicio Zuzendu que anunciaron antes del verano!

Pero no veo dirección del servicio para pruebas :-(. ¿Lo publicarán en la web? https://www.gipuzkoa.eus/es/web/ogasuna/ticketbai/documentacion-y-normativa

unomasmas 26-01-2022 08:22:57

Cita:

Empezado por espinete (Mensaje 545012)
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 :confused:

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?

Cita:

Empezado por tejano (Mensaje 545025)
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

Gracias! Un ejemplo muy claro del uso de la opción 1.B.

Sin embargo, Espinete ha hecho preguntas muy interesantes que no veo que se hayan respondido... ;-(
¿La opción 1.A no sería lo mismo que la 2, salvo por tener que indicar BaseRectificada, CuotaRectificada, etc.?
Me imagino que tiene que haber alguna diferencia pero yo tampoco la veo ¿No sabe nadie la respuesta?

HerensugeBeltz 26-01-2022 08:46:03

Cita:

Empezado por unomasmas (Mensaje 545059)
¡Gracias por la info!

¡El servicio Zuzendu que anunciaron antes del verano!

Pero no veo dirección del servicio para pruebas :-(. ¿Lo publicarán en la web? https://www.gipuzkoa.eus/es/web/ogasuna/ticketbai/documentacion-y-normativa

De nada.

Las URL las indican en el Boletín adjunto:
https://tbai-z.egoitza.gipuzkoa.eus/...k/zuzendu-alta
https://tbai-z.egoitza.gipuzkoa.eus/...k/zuzendu-baja

La segunda es para bajas de modificaciones o anulaciones enviadas previamente a Zuzendu.

unomasmas 26-01-2022 10:29:23

Cita:

Empezado por HerensugeBeltz (Mensaje 545063)
De nada.

Las URL las indican en el Boletín adjunto:
https://tbai-z.egoitza.gipuzkoa.eus/...k/zuzendu-alta
https://tbai-z.egoitza.gipuzkoa.eus/...k/zuzendu-baja

La segunda es para bajas de modificaciones o anulaciones enviadas previamente a Zuzendu.

Gracias. Sí, vi estas direcciones en el boletín que enlazaste, pero ¿No son las direcciones del servicio en producción? Me imagino que para pruebas pondrán otras...

HerensugeBeltz 26-01-2022 13:32:40

Cita:

Empezado por unomasmas (Mensaje 545065)
Gracias. Sí, vi estas direcciones en el boletín que enlazaste, pero ¿No son las direcciones del servicio en producción? Me imagino que para pruebas pondrán otras...

Perdona, no me di cuenta del detalle. Sí, supongo que darán más detalles más adelante.

keys 27-01-2022 09:00:23

Hola a todos.

¿Os funciona hoy el envío al entorno de pruebas de Bizkaia?. Me sale el error N3_0000011 No encontrado en el censo de voluntarios de B4. Ayer funcionaba

thinkows 27-01-2022 10:23:16

Su problema... como casi siempre
 
Hoy les he enviado un email :

Buenos días, estoy realizando las primeras pruebas en el nuevo entorno y recibo un 200 OK de transacción pero en el mensaje de respuesta recibo :


Date: Thu, 27 Jan 2022 07:24:52 GMT
Server: JBoss-EAP/7
eus-bizkaia-n3-identificativo: 5539524
X-Powered-By: Undertow/1
eus-bizkaia-n3-mensaje-respuesta: N3_0000011 No encontrado en el censo de voluntarios de B4
eus-bizkaia-n3-codigo-respuesta: N3_0000011
eus-bizkaia-n3-numero-registro:
eus-bizkaia-n3-tipo-respuesta: Incorrecto
Content-Type: text/html; charset=UTF-8
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive


Entiendo que solo es un aviso, de que el interesado (A99802704 pruebas) no está inscrito en el periodo voluntario, si consulto el QR de la operación aparece correctamente registrado.


Respuesta :

Kaixo,

Se ha realizado un ajuste en el entorno de pruebas y ya no debería de daros ese error.

Agur bat.


Batuz talde teknikoa
Equipo técnico Batuz
www.batuz.eus

Sistel 27-01-2022 10:34:33

Cita:

Empezado por thinkows (Mensaje 545078)
Respuesta :
Kaixo,
Se ha realizado un ajuste en el entorno de pruebas y ya no debería de daros ese error.
Agur bat.

Batuz talde teknikoa
Equipo técnico Batuz
www.batuz.eus

Hola,

Se ve que van a salto de mata e improvisando en cada momento.
Y sin hacer pruebas antes de cada cambio.

Comprendo que los informáticos serán pocos y mal pagados.
Pero los responsables ..... :mad:

Saludos

keys 27-01-2022 10:41:22

PArece que ya lo han solucionado gracias. :mad:

Esperemos que en el de producción o sean tan torpes.

HerensugeBeltz 27-01-2022 15:46:25

Información adicional relativa a Zuzendu
 
email de Gipuzkoa con información adicional sobre Zuzendu.


Con el ánimo de seguir colaborando con ustedes en el desarrollo del proyecto TicketBAI, les enviamos un documento que recoge las principales características de los SERVICIOS ZUZENDU, según la Orden Foral 16/2022 de 18 de enero, por la que se regulan los requisitos de los servicios, el procedimiento y las especificaciones técnicas y funcionales, para la subsanación de los ficheros TicketBAI.

En el siguiente enlace podrán encontrar la Orden Foral y sus anexos, así como la documentación técnica correspondiente a los nuevos servicios:

https://www.gipuzkoa.eus/es/web/ogas...on-y-normativa

Adjuntan un PDF (servicios zuzendu.pdf) pero no puedo subirlo porque es demasiado grande.

rci 27-01-2022 16:05:52

entrada en vigor zuzendu
 
Cita:

Empezado por HerensugeBeltz (Mensaje 545085)
email de Gipuzkoa con información adicional sobre Zuzendu.


Con el ánimo de seguir colaborando con ustedes en el desarrollo del proyecto TicketBAI, les enviamos un documento que recoge las principales características de los SERVICIOS ZUZENDU, según la Orden Foral 16/2022 de 18 de enero, por la que se regulan los requisitos de los servicios, el procedimiento y las especificaciones técnicas y funcionales, para la subsanación de los ficheros TicketBAI.

En el siguiente enlace podrán encontrar la Orden Foral y sus anexos, así como la documentación técnica correspondiente a los nuevos servicios:

https://www.gipuzkoa.eus/es/web/ogas...on-y-normativa

Adjuntan un PDF (servicios zuzendu.pdf) pero no puedo subirlo porque es demasiado grande.


Me ha parecido ver que la orden foral dice que Zuzendu entra en vigor el 1 de enero de 2022?????:eek::confused:

adolphsys 27-01-2022 16:24:41

Cita:

Empezado por espinete (Mensaje 545012)
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 :confused:

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?

Hola espinete, si te sirve de ayuda, nosotros usamos la opción 2 "rectificativa por diferencias" en todos los casos.

- Si hay que anular el 100% de una factura de 1200 € => rectificativa por diferencias -1200 € indicando la factura que se rectifica, y que el usuario haga una nueva ordinaria.
- Si hay que rectificar parcialmente una factura emitida => rectificativa por diferencias por el importe correspondiente en positivo o negativo.
- No usamos el servicio "anulación de facturas" porque no puede reenviarse el mismo número de factura a Hacienda.

Sería muy fácil darle a elegir al usuario la opción "sustitución" o "diferencias", pero si ya nos vuelven locos con dudas, si ponemos aún más opciones, más dudas, más llamadas... Además con el SII ya lo estamos haciendo de esta forma y hasta el momento no ha habido incidencias.

thinkows 28-01-2022 09:49:22

Pruebas en Bizkaia
 
Buenos días, os funcionan correctamente las pruebas en Bizkaia ? ayer enviaba sin problemas y hoy :

response status code: 200 OK
response body:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:LROEPJ240FacturasEmitidasConSGAltaRespuesta xmlns:ns2="https://www.batuz.eus/fitxategiak/batuz/LROE/esquemas/LROE_PJ_240_1_1_FacturasEmitidas_ConSG_AltaRespuesta_V1_0_1.xsd">
<Cabecera>
<Modelo>240</Modelo>
<Capitulo>1</Capitulo>
<Subcapitulo>1.1</Subcapitulo>
<Operacion>A00</Operacion>
<Version>1.0</Version>
<Ejercicio>2022</Ejercicio>
<ObligadoTributario>
<NIF>A99802704</NIF>
<ApellidosNombreRazonSocial>4YUFFiRkH5hP4QDzEtm4npiQMxeHe5</ApellidosNombreRazonSocial>
</ObligadoTributario>
</Cabecera>
<Registros>
<Registro>
<Identificador>
<IDFactura>
<SerieFactura>F1</SerieFactura>
<NumFactura>202100923</NumFactura>
<FechaExpedicionFactura>28-01-2022</FechaExpedicionFactura>
</IDFactura>
</Identificador>
<SituacionRegistro>
<EstadoRegistro>Incorrecto</EstadoRegistro>
<CodigoErrorRegistro>B4_2000070</CodigoErrorRegistro>
<DescripcionErrorRegistroES>La firma no cumple los requisitos de la política de firma TicketBAI.(Atributo política de firma incorrecto. - (10641))</DescripcionErrorRegistroES>
<DescripcionErrorRegistroEU>Sinadurak ez ditu betetzen TicketBAI sinaduraren politikaren baldintzak.(Atributo política de firma incorrecto. - (10641))</DescripcionErrorRegistroEU>
</SituacionRegistro>
</Registro>
</Registros>
</ns2:LROEPJ240FacturasEmitidasConSGAltaRespuesta>

Con su certificado y no he modificado nada desde ayer ....:mad::mad::mad:

sEngine 28-01-2022 10:36:20

Acabo de probarlo yo tambien y me da el mismo error



Cita:

Empezado por thinkows (Mensaje 545094)
Buenos días, os funcionan correctamente las pruebas en Bizkaia ? ayer enviaba sin problemas y hoy :

response status code: 200 OK
response body:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:LROEPJ240FacturasEmitidasConSGAltaRespuesta xmlns:ns2="https://www.batuz.eus/fitxategiak/batuz/LROE/esquemas/LROE_PJ_240_1_1_FacturasEmitidas_ConSG_AltaRespuesta_V1_0_1.xsd">
<Cabecera>
<Modelo>240</Modelo>
<Capitulo>1</Capitulo>
<Subcapitulo>1.1</Subcapitulo>
<Operacion>A00</Operacion>
<Version>1.0</Version>
<Ejercicio>2022</Ejercicio>
<ObligadoTributario>
<NIF>A99802704</NIF>
<ApellidosNombreRazonSocial>4YUFFiRkH5hP4QDzEtm4npiQMxeHe5</ApellidosNombreRazonSocial>
</ObligadoTributario>
</Cabecera>
<Registros>
<Registro>
<Identificador>
<IDFactura>
<SerieFactura>F1</SerieFactura>
<NumFactura>202100923</NumFactura>
<FechaExpedicionFactura>28-01-2022</FechaExpedicionFactura>
</IDFactura>
</Identificador>
<SituacionRegistro>
<EstadoRegistro>Incorrecto</EstadoRegistro>
<CodigoErrorRegistro>B4_2000070</CodigoErrorRegistro>
<DescripcionErrorRegistroES>La firma no cumple los requisitos de la política de firma TicketBAI.(Atributo política de firma incorrecto. - (10641))</DescripcionErrorRegistroES>
<DescripcionErrorRegistroEU>Sinadurak ez ditu betetzen TicketBAI sinaduraren politikaren baldintzak.(Atributo política de firma incorrecto. - (10641))</DescripcionErrorRegistroEU>
</SituacionRegistro>
</Registro>
</Registros>
</ns2:LROEPJ240FacturasEmitidasConSGAltaRespuesta>

Con su certificado y no he modificado nada desde ayer ....:mad::mad::mad:


thinkows 28-01-2022 10:40:41

Todo esto es muy cansino
 
Cita:

Empezado por sEngine (Mensaje 545095)
Acabo de probarlo yo también y me da el mismo error

Lo dicho, todo esto es muy cansino .... :(:(

Muchas gracias, por probarlo.

programadorphp7 28-01-2022 10:51:17

Cita:

Empezado por thinkows (Mensaje 545096)
Lo dicho, todo esto es muy cansino .... :(:(

Muchas gracias, por probarlo.

Hola,
A mi me ha dado también el mismo problema, no se si será fallo de ellos o han añadido alguna validación nueva que no estaban realizando y ahora nos mandan este fallo...

misteradrian 28-01-2022 10:56:16

Hola muy buenas a todos.

Estoy ya probando en producción en los entornos de producción de Gipuzkoa y de Alava.

Y tirando facturas en Alava no me da ningún problema, pero en Gipuzkoa me sale el error.

007 Certificado remitente no válido para emisor factura

Les he escrito un correo pero nada.
¿Sabéis por qué puede ser?

Un saludo y gracias de antemano.
Adrián

Neftali [Germán.Estévez] 28-01-2022 12:09:41

Cita:

Empezado por HerensugeBeltz (Mensaje 545085)
...Con el ánimo de seguir colaborando con ustedes en el desarrollo del proyecto TicketBAI


Es gracioso que a enviar la documentación del proyecto le llamen "colaborar con ustedes" :p:p
Ya podían poner... "... para seguir usándoles de conejillos de índias aquí tienen la nueva documentación..."

sEngine 28-01-2022 12:20:02

Cita:

Empezado por thinkows (Mensaje 545096)
Lo dicho, todo esto es muy cansino .... :(:(

Muchas gracias, por probarlo.


Lo que si que he comprobado que se esta dando de alta. El QR funciona.


La franja horaria es GMT +2. Ahora son las 14:22:27.

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