Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice (https://www.clubdelphi.com/foros/showthread.php?t=91252)

vboloradito 30-05-2017 11:59:46

Cita:

Empezado por keys (Mensaje 517338)
Por lo menos deberían comprobar que la cuota deducible no sea mayor que la suma de las cuotas. Pero hay una serie de campos que no se validan y me imagino que en un futuro lo irán haciendo, como puede ser el total de la factura.


4.7. ¿Es obligatorio suministrar la información de la cuota deducible?
Sí. En el caso de que aplique prorrata deberá consignar la cuota deducible en función del porcentaje de deducción provisional.

¿esto no aplica solo a las empresas acogidas a prorrata?

keys 30-05-2017 12:02:22

Cita:

Empezado por vboloradito (Mensaje 517351)
4.7. ¿Es obligatorio suministrar la información de la cuota deducible?
Sí. En el caso de que aplique prorrata deberá consignar la cuota deducible en función del porcentaje de deducción provisional.

¿esto no aplica solo a las empresas acogidas a prorrata?

Segun como lo interpretes. Detras del Si hay un punto. Es decir yo entiendo que hay que ponerla siempre, y en el caso de las empresas con prorrata hay que poner la cuota deducible en funcion del porcentaje provisional.

CMB 30-05-2017 12:24:49

Cita:

Empezado por keys (Mensaje 517352)
Segun como lo interpretes. Detras del Si hay un punto. Es decir yo entiendo que hay que ponerla siempre, y en el caso de las empresas con prorrata hay que poner la cuota deducible en funcion del porcentaje provisional.

Ahora mismo he enviado una factura recibida normal y corriente, pero SIN incluir la cuota deducible, y me contestan

Codigo[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: CuotaDeducible

joefrommalaka 30-05-2017 17:45:07

Problema al enviar más de 20 facturas a la vez
 
Buenas tardes,

Estoy con un problema que no consigo encontrar la solución, a ver si alguien pudiese echarme una mano.
Cuando envío más de 20 facturas emitidas (me pasa lo mismo con las recibidas) recibo el siguiente error:

Se requiere un certificado para completar la autenticación de cliente - URL:https://www7.aeat.es/wlpl/SSII-FACT/...iiFactFEV1SOAP - SOAPAction:""

Si esas mismas facturas las envío en dos veces, me las envía sin problema.


Para realizar el envío, genero el xml con delphi 7 y realizo el envío mediante una dll que he creado con Delphi XE7.


El código mediante el cual hago el envío es el siguiente:


Código:

type
  TComunicacionSW = class(TObject)
    private
      FArchivoEnvio: String;
      FArchivoRespuesta: String;
      FHTTPRIO: THTTPRIO;
      procedure HTTPRIOBeforeExecute(const MethodName: string; SOAPRequest: TStream);
      procedure HTTPRIOAfterExecute(const MethodName: string; SOAPResponse: TStream);
    public
      Constructor Create;
      Destructor Destroy;
  end;


procedure TComunicacionSW.HTTPRIOBeforeExecute(const MethodName: string; SOAPRequest: TStream);
var
  v_fileStream: TFileStream;
begin
  SOAPRequest.Size := 0;
  v_fileStream := TFileStream.Create(FArchivoEnvio, fmOpenRead);
  SOAPRequest.Position := 0;
  SOAPRequest.CopyFrom(v_fileStream, v_fileStream.Size);
  v_fileStream.Free;
  SOAPRequest.Position := 0;
end;

procedure TComunicacionSW.HTTPRIOAfterExecute(const MethodName: string; SOAPResponse: TStream);
var
  v_fileStream: TFileStream;
begin
  if FileExists(FArchivoRespuesta) then
    DeleteFile(FArchivoRespuesta);
  v_fileStream := TFileStream.Create(FArchivoRespuesta, fmCreate);
  SOAPResponse.Position := 0;
  v_fileStream.CopyFrom(SOAPResponse, SOAPResponse.size);
  v_fileStream.Free;
  SOAPResponse.Position := 0;
end;

function ObtenerNumeroSerieCertificado(p_nombreCertificado: String): string;
var
  hStore: HCERTSTORE;
  PrevContext, CurContext: PCERT_CONTEXT;
  cbSize: DWORD;
  v_nombre: String;
begin
  Result := '';
  hStore := CertOpenSystemStore(0, PChar('MY'));
  if hStore <> nil then
  begin
    PrevContext := nil;
    CurContext := CertEnumCertificatesInStore(hStore, PrevContext);
    while CurContext <> nil do begin
      v_nombre := '';
      cbSize := CertGetNameString(CurContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, nil, nil, 0);
      if cbSize > 0 then
      begin
        SetLength(v_nombre, cbSize-1);
        CertGetNameString(CurContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, nil, PChar(v_nombre), cbSize);
        if SameText(p_nombreCertificado, v_nombre) then
        begin
          result := GetCertSerialNumber(@CurContext^.pCertInfo^.SerialNumber);
          break;
        end;
      end;
      PrevContext := CurContext;
      CurContext  := CertEnumCertificatesInStore(hStore, PrevContext);
    end;
  end;
end;

function EnviarFacturasEmitidas(p_nombreCertificado, p_archivoEnvio, p_archivoRespuesta: ShortString): PChar;stdcall;export;
var
  v_suministroLRFacturasEmitidas: SuministroFactEmitidas.SuministroLRFacturasEmitidas;
  v_respuestaLRFacturasEmitidas: SuministroFactEmitidas.RespuestaLRFacturasEmitidas;
  v_siiSOAP: SuministroFactEmitidas.siiSOAP;
  v_serialNum: String;
  v_error: string;
  v_comunicacionSW: TComunicacionSW;
begin
  v_error := '';

  v_serialNum := ObtenerNumeroSerieCertificado(p_nombreCertificado);
 
  v_comunicacionSW := TComunicacionSW.Create;
  v_suministroLRFacturasEmitidas := SuministroFactEmitidas.SuministroLRFacturasEmitidas.Create;
  v_respuestaLRFacturasEmitidas := SuministroFactEmitidas.RespuestaLRFacturasEmitidas.Create;
  try
    try
      v_comunicacionSW.FArchivoEnvio := p_archivoEnvio;
      v_comunicacionSW.FArchivoRespuesta := p_archivoRespuesta;
      v_comunicacionSW.FHTTPRIO.HTTPWebNode.ClientCertificate.SerialNum := v_serialNum;

      //Se realiza la llamada sin datos y en el evento HTTPRIOBeforeExecute se establece el xml con los datos generados anteriormente
      v_siiSOAP := SuministroFactEmitidas.GetsiiSOAP(true,'',v_comunicacionSW.FHTTPRIO);
      v_respuestaLRFacturasEmitidas := v_siiSOAP.SuministroLRFacturasEmitidas(v_suministroLRFacturasEmitidas);
    except
      on e:Exception do
        v_error := 'Error DLL: Error en la comunicación con el servicio web.' + e.Message;
    end;
  finally
    v_suministroLRFacturasEmitidas.Free;
    v_respuestaLRFacturasEmitidas.Free;
  end;

  result := StringToPChar(v_error);
end;



El archivo SuministroFactEmitidas lo he generado automáticamente con WSDL Importer de delphi y le he modificado lo siguiente (defURL realmente no lo utilizo):

const
defWSDL = 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroFactEmitidas.wsdl';
defURL = 'https://www7.aeat.es/wlpl/SSII-FACT/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
defSvc = 'siiService';
defPrt = 'SuministroFactEmitidasPruebas';


¿Se le ocurre a alguien que es lo que estoy haciendo mal?

Un saludo

joefrommalaka 30-05-2017 17:51:14

Por cierto si envío el archivo xml mediante la web https://www7.aeat.es/static_files/co...teWSAEAT2.html se envía correctamente.

mrobles 30-05-2017 17:57:21

Cita:

Empezado por joefrommalaka (Mensaje 517366)
Buenas tardes,

Estoy con un problema que no consigo encontrar la solución, a ver si alguien pudiese echarme una mano.
Cuando envío más de 20 facturas emitidas (me pasa lo mismo con las recibidas) recibo el siguiente error:

Se requiere un certificado para completar la autenticación de cliente - URL:https://www7.aeat.es/wlpl/SSII-FACT/...iiFactFEV1SOAP - SOAPAction:""

Si esas mismas facturas las envío en dos veces, me las envía sin problema.


Para realizar el envío, genero el xml con delphi 7 y realizo el envío mediante una dll que he creado con Delphi XE7.


El código mediante el cual hago el envío es el siguiente:


Código:

type
  TComunicacionSW = class(TObject)
    private
      FArchivoEnvio: String;
      FArchivoRespuesta: String;
      FHTTPRIO: THTTPRIO;
      procedure HTTPRIOBeforeExecute(const MethodName: string; SOAPRequest: TStream);
      procedure HTTPRIOAfterExecute(const MethodName: string; SOAPResponse: TStream);
    public
      Constructor Create;
      Destructor Destroy;
  end;


procedure TComunicacionSW.HTTPRIOBeforeExecute(const MethodName: string; SOAPRequest: TStream);
var
  v_fileStream: TFileStream;
begin
  SOAPRequest.Size := 0;
  v_fileStream := TFileStream.Create(FArchivoEnvio, fmOpenRead);
  SOAPRequest.Position := 0;
  SOAPRequest.CopyFrom(v_fileStream, v_fileStream.Size);
  v_fileStream.Free;
  SOAPRequest.Position := 0;
end;

procedure TComunicacionSW.HTTPRIOAfterExecute(const MethodName: string; SOAPResponse: TStream);
var
  v_fileStream: TFileStream;
begin
  if FileExists(FArchivoRespuesta) then
    DeleteFile(FArchivoRespuesta);
  v_fileStream := TFileStream.Create(FArchivoRespuesta, fmCreate);
  SOAPResponse.Position := 0;
  v_fileStream.CopyFrom(SOAPResponse, SOAPResponse.size);
  v_fileStream.Free;
  SOAPResponse.Position := 0;
end;

function ObtenerNumeroSerieCertificado(p_nombreCertificado: String): string;
var
  hStore: HCERTSTORE;
  PrevContext, CurContext: PCERT_CONTEXT;
  cbSize: DWORD;
  v_nombre: String;
begin
  Result := '';
  hStore := CertOpenSystemStore(0, PChar('MY'));
  if hStore <> nil then
  begin
    PrevContext := nil;
    CurContext := CertEnumCertificatesInStore(hStore, PrevContext);
    while CurContext <> nil do begin
      v_nombre := '';
      cbSize := CertGetNameString(CurContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, nil, nil, 0);
      if cbSize > 0 then
      begin
        SetLength(v_nombre, cbSize-1);
        CertGetNameString(CurContext, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, nil, PChar(v_nombre), cbSize);
        if SameText(p_nombreCertificado, v_nombre) then
        begin
          result := GetCertSerialNumber(@CurContext^.pCertInfo^.SerialNumber);
          break;
        end;
      end;
      PrevContext := CurContext;
      CurContext  := CertEnumCertificatesInStore(hStore, PrevContext);
    end;
  end;
end;

function EnviarFacturasEmitidas(p_nombreCertificado, p_archivoEnvio, p_archivoRespuesta: ShortString): PChar;stdcall;export;
var
  v_suministroLRFacturasEmitidas: SuministroFactEmitidas.SuministroLRFacturasEmitidas;
  v_respuestaLRFacturasEmitidas: SuministroFactEmitidas.RespuestaLRFacturasEmitidas;
  v_siiSOAP: SuministroFactEmitidas.siiSOAP;
  v_serialNum: String;
  v_error: string;
  v_comunicacionSW: TComunicacionSW;
begin
  v_error := '';

  v_serialNum := ObtenerNumeroSerieCertificado(p_nombreCertificado);
 
  v_comunicacionSW := TComunicacionSW.Create;
  v_suministroLRFacturasEmitidas := SuministroFactEmitidas.SuministroLRFacturasEmitidas.Create;
  v_respuestaLRFacturasEmitidas := SuministroFactEmitidas.RespuestaLRFacturasEmitidas.Create;
  try
    try
      v_comunicacionSW.FArchivoEnvio := p_archivoEnvio;
      v_comunicacionSW.FArchivoRespuesta := p_archivoRespuesta;
      v_comunicacionSW.FHTTPRIO.HTTPWebNode.ClientCertificate.SerialNum := v_serialNum;

      //Se realiza la llamada sin datos y en el evento HTTPRIOBeforeExecute se establece el xml con los datos generados anteriormente
      v_siiSOAP := SuministroFactEmitidas.GetsiiSOAP(true,'',v_comunicacionSW.FHTTPRIO);
      v_respuestaLRFacturasEmitidas := v_siiSOAP.SuministroLRFacturasEmitidas(v_suministroLRFacturasEmitidas);
    except
      on e:Exception do
        v_error := 'Error DLL: Error en la comunicación con el servicio web.' + e.Message;
    end;
  finally
    v_suministroLRFacturasEmitidas.Free;
    v_respuestaLRFacturasEmitidas.Free;
  end;

  result := StringToPChar(v_error);
end;



El archivo SuministroFactEmitidas lo he generado automáticamente con WSDL Importer de delphi y le he modificado lo siguiente (defURL realmente no lo utilizo):

const
defWSDL = 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroFactEmitidas.wsdl';
defURL = 'https://www7.aeat.es/wlpl/SSII-FACT/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
defSvc = 'siiService';
defPrt = 'SuministroFactEmitidasPruebas';


¿Se le ocurre a alguien que es lo que estoy haciendo mal?

Un saludo

Ahora mismo andan un poco pasando de la comprobación de certificados, pero creo que a partir de 10 si que falla si no es un certificado valido (o mal insertado).
Yo ando en PHP y logro mandar bloques de 100 sin problema alguno

AlSan 30-05-2017 18:02:01

El NIF de la contraparte no está censado
 
Cita:

Empezado por austral_es (Mensaje 516961)
Buenas, que NIF utilizaste porque no consigo poner ningún NIF que me de esa respuesta de la AEAT.
Se cuales son los pasos a seguir una vez la AEAT te envía la respuesta "El NIF de la contraparte no está censado" lo que no doy hecho es tener ningún NIF con el que me responda con dicho error.
Gracias!

Cita:

Empezado por Txemari (Mensaje 516951)
Hola,

acabo de montarme un ficherito con el "07" de "NO censado" y al enviarlo a la AEAT me lo ha devuelto como "Aceptado con errores" y descripción error "El NIF de la contraparte no está censado".
Ahora, ¿ qué tendría que hacer ? ¿ Enviarlo todos los días con el TipoComunicación "A1" de modificación hasta que censen el NIF ?

Saludos


Hola, saludos a todos, es mi primera intervención, enhorabuena y gracias porque he encontrado (y sigo haciéndolo) mucha ayuda en este foro.

Yo repito la misma pregunta de Txemari porque, a diferencia de austral_es, no tengo nada claro el procedimiento a seguir en este caso.

He enviado un alta de factura con un NIF real de contraparte y en primera instancia me devuelve el error 1117:
Error en el bloque de la Contraparte. El NIF no está identificado. NIF:42******R. NOMBRE_RAZON:detal, Fulanito

Después la reenvío como modificación ("A1" en vez de "A0") usando los campos:
<sii:Contraparte>
<sii:NombreRazon>detal, Fulanito</sii:NombreRazon>
<sii:IDOtro>
<sii:CodigoPais>ES</sii:CodigoPais>
<sii:IDType>07</sii:IDType>
<sii:ID>42******R</sii:ID>
</sii:IDOtro>
</sii:Contraparte>
y entonces recibo el error 2011:
El NIF de la contraparte no está censado

A partir de este punto, ¿qué hacemos?

(P.D. - Obviamente para postear he ocultado el NIF real y su nombre real)


PASPAS 30-05-2017 18:04:26

Direcciones WDSL producción
 
Pregunta a la AEAT:
Tengo 2 cuestiones técnicas:
1.- Nos pueden suministrar las direcciones de los endpoint en producción para
que sean incorporadas en nuestro software antes de la puesta en marcha para que
no sea todo a última hora. Tienen pensado publicarlo pronto aunque no se pueda
utilizar hasta el 1 de Julio.
2.-Cuando exista un cambio de versión. Entre versión anterior y la que se
publique existirá un tiempo para poder utilizar la anterior hasta que cada
desarrollador de software adecue su programa para la nueva versión. Me refiero
si entre versión y versión existirá un plazo por ejemplo de 30 días para
cambiarlo o será de hoy para mañana.

-------------------
Respuesta de la AEAT:

1. Todavía no están disponibles.
2. Hay un periodo de adaptación entre versiones.

-------------------

Saludos a todos.

mrobles 30-05-2017 18:05:10

Cita:

Empezado por AlSan (Mensaje 517372)
Hola, saludos a todos, es mi primera intervención, enhorabuena y gracias porque he encontrado (y sigo haciéndolo) mucha ayuda en este foro.

Yo repito la misma pregunta de Txemari porque, a diferencia de austral_es, no tengo nada claro el procedimiento a seguir en este caso.

He enviado un alta de factura con un NIF real de contraparte y en primera instancia me devuelve el error 1117:
Error en el bloque de la Contraparte. El NIF no está identificado. NIF:42******R. NOMBRE_RAZON:detal, Fulanito

Después la reenvío como modificación ("A1" en vez de "A0") usando los campos:
<sii:Contraparte>
<sii:NombreRazon>detal, Fulanito</sii:NombreRazon>
<sii:IDOtro>
<sii:CodigoPais>ES</sii:CodigoPais>
<sii:IDType>07</sii:IDType>
<sii:ID>42******R</sii:ID>
</sii:IDOtro>
</sii:Contraparte>
y entonces recibo el error 2011:
El NIF de la contraparte no está censado

A partir de este punto, ¿qué hacemos?

(P.D. - Obviamente para postear he ocultado el NIF real y su nombre real)

No vale "Apellido, Nombre" tiene que ser "Nombre Apellido"

newtron 30-05-2017 18:06:00

Cita:

Empezado por AlSan (Mensaje 517372)
y entonces recibo el error 2011:
El NIF de la contraparte no está censado

A partir de este punto, ¿qué hacemos?

(P.D. - Obviamente para postear he ocultado el NIF real y su nombre real)

Pues lo primero tendrías que comprobar que el nif y el nombre son correctos y, en su caso, corregirlo. Si no tienes esa posibilidad puedes enviar el NIF como NIF no censado. Ya se ha hablado por aquí de ese tema.

Saludos

joefrommalaka 30-05-2017 18:06:16

Cita:

Empezado por mrobles (Mensaje 517369)
Ahora mismo andan un poco pasando de la comprobación de certificados, pero creo que a partir de 10 si que falla si no es un certificado valido (o mal insertado).
Yo ando en PHP y logro mandar bloques de 100 sin problema alguno

Muchas gracias por tú rápida respuesta. Para realizar el envío estoy utilizando un certificado válido, es el que ha estado utilizando mi cliente hasta ahora para todas sus operaciones con AEAT. Y la cosa es que enviando el archivo manualmente (desde la url https://www7.aeat.es/static_files/co...teWSAEAT2.html) si que se envía, pero utilizando el servicio wsdl no lo consigo.

PASPAS 30-05-2017 18:09:27

Aumento días plazo
 
Pregunta AEAT
En el supuesto caso: suele pasar en ocasiones una empresa envía en el último día de plazo la factura emitida o recibida.
Resulta en entonces que se me da el caso de:
1.- No existe conexión a internet en la empresa actualmente, debido causas tales como. Corte de suministro, corte por mantenimiento, etc… Qué debe hacer la empresa en estos casos.
2.- No está disponible la página de la AEAT. Mostrando el error de "Error 403", "Error de conexión SSL", "No se puede mostrar la página" o "Conexión segura fallida”
3.- El error se debe a que la página de un faultcode de tipo env:SERVER. Causado por el servidor de la AEAT. Por ejemplo: Código[102].Conexión a Oracle no disponible.
4.- Error debido a que esta en tramite la renovación del certificado y no deja la posibilidad de cambiar el actual ya que aún no se posee.
5.- Existe una Factura enviada pero con errores y no los pueden corregir por desconocimiento. Esta 100% obligado la empresa a corregir dichos errores.
Nos pueden indicar si estos casos van a generar una multa posterior. ¿Cómo se va a actuar en cada caso?
Necesitamos aclararlo ya que los clientes nos hacen muchas preguntas.
Necesito saber también en caso de multa cual sería su cuantía.
--------------------------------
Respuesta AEAT
Buenos días.

El artículo 7.3 de la Orden HFP/417/2017, de 12 de mayo señala lo siguiente en relación con los supuestos en que por imposibilidades técnicas no se haya remitido la información en los plazos previstos reglamentariamente:
3. En aquellos supuestos en que por razones de carácter técnico no fuera posible efectuar el suministro por Internet en el plazo establecido reglamentariamente para cada registro de facturación, o cuando este suministro no pudiera completarse porque no fuera posible realizar la consulta de los registros de facturación previamente suministrados, dicho suministro podrá efectuarse durante los cuatro días naturales siguientes al de finalización de dicho plazo.
Por su parte, el régimen de infracciones y sanciones previsto se encuentra regulado en el artículo 200 de la Ley 58/2003, de 17 de diciembre, General Tributaria.

En cualquier caso, de conformidad con lo establecido en el artículo 87 de la Ley 58/2003, de 17 de diciembre, General Tributaria (Boletín Oficial del Estado del día 18), esta contestación tiene el carácter de mera información de los criterios administrativos existentes para la aplicación de la normativa tributaria. Si desea plantear una consulta tributaria escrita respecto al régimen, clasificación o calificación tributaria que le corresponda, debe dirigirse, según lo establecido en los artículos 88 y 89 de la Ley General Tributaria, a la DGT como órgano competente para la elaboración de contestaciones vinculantes.
----------------


Saludos a todos

javipes 30-05-2017 18:14:44

buff! tengo un lío tremendo... si he conseguido generar el suministro de facturas emitidas, siguiendo lo que he visto en el hilo,
¿como puedo ver el contenido del xml ANTES de llamar a GetsiiSOAP(true,'',HTTPRIO1).SuministroLRFacturasEmitidas(ASumLRFacturasEmitidas); ?

seguro que es muy sencillo

AlSan 30-05-2017 18:23:03

Cita:

Empezado por mrobles (Mensaje 517374)
No vale "Apellido, Nombre" tiene que ser "Nombre Apellido"

Gracias, pero no me cuadra lo que dices, tengo ya subidas unas cuantas facturas en las que el nombre siempre consta como "Apellidos, Nombre" y todas han sido aceptadas como correctas por la AEAT...

Cita:

Empezado por newtron (Mensaje 517375)
Pues lo primero tendrías que comprobar que el nif y el nombre son correctos y, en su caso, corregirlo. Si no tienes esa posibilidad puedes enviar el NIF como NIF no censado. Ya se ha hablado por aquí de ese tema.

Saludos

Gracias newtron, pero ya lo envío como no censado en mi segundo intento, ver las líneas que he copiado del XML. Es decir estoy haciendo lo que la AEAT dice que se ha de hacer para NIFs no censados. Pero a partir de aquí ya no sé qué más podemos hacer.

Una cuestión, tal vez es importante: AEAT diferencia entre "NIF no identificado" (error 1117) y "NIF no censado" (error 2011). Ignoro en qué consiste esta diferencia en la práctica.

¿Alguien más tiene esta misma duda?

newtron 30-05-2017 18:32:06

Cita:

Empezado por AlSan (Mensaje 517380)
Gracias, pero no me cuadra lo que dices, tengo ya subidas unas cuantas facturas en las que el nombre siempre consta como "Apellidos, Nombre" y todas han sido aceptadas como correctas por la AEAT...



Gracias newtron, pero ya lo envío como no censado en mi segundo intento, ver las líneas que he copiado del XML. Es decir estoy haciendo lo que la AEAT dice que se ha de hacer para NIFs no censados. Pero a partir de aquí ya no sé qué más podemos hacer.

Una cuestión, tal vez es importante: AEAT diferencia entre "NIF no identificado" (error 1117) y "NIF no censado" (error 2011). Ignoro en qué consiste esta diferencia en la práctica.

¿Alguien más tiene esta misma duda?

Efectivamente no me había dado cuenta de que lo estás enviando como "nif no censado". En teoría se tendría que "tragar" la factura con errores.

newtron 30-05-2017 18:35:00

Cita:

Empezado por javipes (Mensaje 517378)
buff! tengo un lío tremendo... si he conseguido generar el suministro de facturas emitidas, siguiendo lo que he visto en el hilo,
¿como puedo ver el contenido del xml ANTES de llamar a GetsiiSOAP(true,'',HTTPRIO1).SuministroLRFacturasEmitidas(ASumLRFacturasEmitidas); ?

seguro que es muy sencillo

Aunque esto está engordando demasiado y se hace complicado, revisa el hilo (de principio en adelante) y verás que esa pregunta ya está contestada aunque ahora mismo no recuerdo exactamente cómo era.

Saludos

paquimd 30-05-2017 18:37:37

Cita:

Empezado por RUBEN_SP (Mensaje 517107)
Muchas gracias a tí también. Me he reincorporado, por que al final hemos decidido implentarlo en lugar de subcontratarlo. Si no te importa ¿Cómo me puede descargar ese código?. No me sale adjunto

Muchas gracias de antemano y Saludos

Hola Rubén, por aquí ando yo también.

brincola 30-05-2017 18:53:13

Cita:

Empezado por AlSan (Mensaje 517380)
Gracias, pero no me cuadra lo que dices, tengo ya subidas unas cuantas facturas en las que el nombre siempre consta como "Apellidos, Nombre" y todas han sido aceptadas como correctas por la AEAT...



Gracias newtron, pero ya lo envío como no censado en mi segundo intento, ver las líneas que he copiado del XML. Es decir estoy haciendo lo que la AEAT dice que se ha de hacer para NIFs no censados. Pero a partir de aquí ya no sé qué más podemos hacer.

Una cuestión, tal vez es importante: AEAT diferencia entre "NIF no identificado" (error 1117) y "NIF no censado" (error 2011). Ignoro en qué consiste esta diferencia en la práctica.

¿Alguien más tiene esta misma duda?

Posiblement señale una diferencia entre estas dos situaciones:
1.- NIF que, aunque correcto formalmente, no se corresponda con el nombre del titular adjuntado (no identificado).
2.- NIF que, aunque formalmente correcto, no corresponda a ningún sujeto registrado por la administracion (NIF no censado).

mrobles 30-05-2017 18:57:22

Cita:

Empezado por AlSan (Mensaje 517380)
Gracias, pero no me cuadra lo que dices, tengo ya subidas unas cuantas facturas en las que el nombre siempre consta como "Apellidos, Nombre" y todas han sido aceptadas como correctas por la AEAT...

Yo pase una validacion de 40 que salian en unas 100 facturas y haciendo el cambio me rebajo de 40 fallos a 6

nuevo1234 30-05-2017 19:19:16

Cita:

Empezado por brincola (Mensaje 517384)
Posiblement señale una diferencia entre estas dos situaciones:
1.- NIF que, aunque correcto formalmente, no se corresponda con el nombre del titular adjuntado (no identificado).
2.- NIF que, aunque formalmente correcto, no corresponda a ningún sujeto registrado por la administracion (NIF no censado).

EFECTIVAMENTE:

1.- NIF que, aunque correcto formalmente, no se corresponda con el nombre del titular adjuntado (no identificado). RECHAZA LA FACTURA (OJO PUEDE RECHAZARLA POR ESTAR MAL EL NOMBRE Y BIEN EL NIF). Por eso importante poner: primer apellido segundo apellido y nombre sin signos de puntuación
2.- NIF que, aunque formalmente correcto, no corresponda a ningún sujeto registrado por la administracion (NIF no censado). LA ACEPTA CON ERRORES(IMPORTANTE DIFERENCIA:SE ACEPTA LA FACTURA PERO SE MARCA QUE SE HA ENVIADO POR NO CENSADO)


Por tanto:
Es muy importante informar el nombre en el siguiente orden: primer apellido segundo apellido y nombre sin signos de puntuación.
Porque puede no identificar los NIF por esta razón y rechazar el envio de esa factura


En cuanto al NO CENSADO.
Para los casos en que se haya rechazado una factura emitida, en un segundo reintento, porque la información de identificación del destinatario (NIF y nombre) no figure censada en la AEAT, la forma de proceder para enviar dicha factura se realizará a través del bloque IdOtro con los
siguientes contenidos:

Código país: ES
Clave ID: 07. No censado
Número Id: NIF no censado del receptor de la factura
Apellidos y nombre: Nombre del no censado receptor de la factura.

En este caso, la factura figurará como aceptada con errores. A través de esta vía, también se intentará su validación contra el censo, de manera que podría lograse su identificación, aunque la factura figurará como aceptada con errores. En cualquier caso un error de formato en el NIF supondrá un RECHAZO de la factura.


La franja horaria es GMT +2. Ahora son las 23:15:00.

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