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)

Homine 23-06-2017 09:37:17

Cita:

Empezado por xamminf (Mensaje 518620)
CMB, figo21,

Gracias por responder.
Asi pues, por estar seguro.... ¿ las facturas de compra se envian por fecha de contabilizacion ? ¿ Verdad ?

A partir del 8º día todos los días serán el último día. Para las facturas emitidas el pistoletazo de salida es la fecha de emisión y para las recibidas la fecha de registro contable.

No es conveniente apurar los plazos de presentación pues, en el caso de ser rechazado el envío o aceptado parcialmente, los registros no procesados no constan como enviados y no dispones de margen para la rectificación y el reenvío, y más coincidiendo el inicio de puesta en marcha del sistema con el periodo vacacional donde muchas pequeñas y medias empresas acogidas al REDEME disponen de recursos de personal administrativo muy reducidos. A este respecto, la contabilización de las facturas recibidas puede realizarse al final de este periodo y enviarlas juntas, pero para las emitidas, si la empresa no detiene su producción y emite facturas diariamente, el envío será diario a partir del 8 día hábil.

En mi caso, la solución que he aportado es el desarrollo de un servicio donde el cliente puede configurar el plazo de envío: diario, cada 2 días, 3 días o el máximo legal (no contemplo la posibilidad de los 8 días) y la frecuencia de envío: de 60 a 1440 minutos (realizando consultas con esta frecuencia en busca de registros pendientes). Por otro lado, he desarrollado una consola donde el usuario puede configurar el anterior servicio, el nivel de registro de log de eventos y errores, correo electrónico para el envío de reportes... y la posibilidad de realizar consultas sobre los libros enviados a la AEAT, todo ello muy visual e intuitivo.

Lo bueno de un servido es que te aseguras su funcionamiento cada vez que el usuario inicia sesión en el equipo y, más interesante, si se trata de un servidor que está en el cuarto oscuro; funciona de modo desatendido, estableciendo una comunicación directa máquina a máquina y sin intervención del usuario y éste únicamente recibe información vía mail de las incidencias producidas.

CMB 23-06-2017 09:48:01

Cita:

Empezado por xamminf (Mensaje 518620)
CMB, figo21,
Gracias por responder.
Asi pues, por estar seguro.... ¿ las facturas de compra se envian por fecha de contabilizacion ? ¿ Verdad ?

Yo entiendo que las facturas recibidas tienen dos fechas. La de emisión de la factura que ya viene de origen, y la fecha de recepción, que es también la fecha en que se contabiliza. Cada fecha va en un tag distinto en el XML del SII. Ahora bien, existen unos límites en la diferencia entre una fecha y la otra. Desde luego no pueden ser 2 o 3 meses. Pero ahora no recuerdo cuáles son. Eso ya es cosa del usuario y no del programador. Si se distraen y dejan pasar varias semanas, es responsabilidad de ellos.

Saludos,

newtron 23-06-2017 09:55:33

Cita:

Empezado por CMB (Mensaje 518625)
Yo entiendo que las facturas recibidas tienen dos fechas. La de emisión de la factura que ya viene de origen, y la fecha de recepción, que es también la fecha en que se contabiliza. Cada fecha va en un tag distinto en el XML del SII. Ahora bien, existen unos límites en la diferencia entre una fecha y la otra. Desde luego no pueden ser 2 o 3 meses. Pero ahora no recuerdo cuáles son. Eso ya es cosa del usuario y no del programador. Si se distraen y dejan pasar varias semanas, es responsabilidad de ellos.

Saludos,

Si no me equivoco hay un plazo de 4 años para contabilizar facturas recibidas así que no hay problema en ese aspecto. Evidentemente la fecha de contabilización debe de ser la del día en que contabiliza y poner en la fecha de emisión la fecha de la factura.

Homine 23-06-2017 09:57:18

Cita:

Empezado por CMB (Mensaje 518625)
Yo entiendo que las facturas recibidas tienen dos fechas. La de emisión de la factura que ya viene de origen, y la fecha de recepción, que es también la fecha en que se contabiliza. Cada fecha va en un tag distinto en el XML del SII. Ahora bien, existen unos límites en la diferencia entre una fecha y la otra. Desde luego no pueden ser 2 o 3 meses. Pero ahora no recuerdo cuáles son. Eso ya es cosa del usuario y no del programador. Si se distraen y dejan pasar varias semanas, es responsabilidad de ellos.

Saludos,

Perdona que matice, pero, la fecha de recepción no tiene porqué coincidir con la de contabilización.

Según la documentación de la AEAT:


B) Facturas Recibidas

En un plazo de cuatro días naturales desde la fecha en que se produzca el
registro contable de la factura y, en todo caso, antes del día 16 del mes siguiente
al periodo de liquidación en que se hayan incluido las operaciones correspondientes
(período en que se deduce el IVA soportado).

Se entiende que el registro contable de la factura se produce en la fecha de
entrada en el sistema contable con independencia de la fecha reflejada en el
asiento contable.


Ejemplo 5: un empresario que recibe una factura el 9 de agosto de 2017 procede a
su registro contable con fecha de entrada en el sistema el 13 de octubre. El plazo
para remitir el registro de esta factura a través del SII finaliza:

a) El 16* de octubre si deduce la factura en el modelo 303 de septiembre (opera la
fecha límite).

b) el 25 de octubre si deduce la factura en el modelo 303 de octubre.

figo21 23-06-2017 10:04:34

Cita:

Empezado por xamminf (Mensaje 518620)
CMB, figo21,

Gracias por responder.
Asi pues, por estar seguro.... ¿ las facturas de compra se envian por fecha de contabilizacion ? ¿ Verdad ?

B) Facturas Recibidas
En un plazo de cuatro días naturales desde la fecha en que se produzca el registro contable de la factura y, en todo caso, antes del día 16 del mes siguiente al periodo de liquidación en que se hayan incluido las operaciones correspondientes (período en que se deduce el IVA soportado).
Se entiende que el registro contable de la factura se produce en la fecha de entrada en el sistema contable con independencia de la fecha reflejada en el asiento contable.

En el punto 1.12. ¿Cuándo hay que enviar los registros de facturación a la AEAT? del FAQ hay varios ejemplos.

Un saludo.

Homine 23-06-2017 10:14:23

Cita:

Empezado por newtron (Mensaje 518626)
Si no me equivoco hay un plazo de 4 años para contabilizar facturas recibidas así que no hay problema en ese aspecto. Evidentemente la fecha de contabilización debe de ser la del día en que contabiliza y poner en la fecha de emisión la fecha de la factura.

El inconveniente de enviarlas cada 4 años es que vas a tardar el mismo tiempo en poder deducírtelas.

Aparentemente el SII parece un sustituto del 340, pero nos comentan desde Inspección que se aplicará el régimen sancionador del IVA en el caso de deducción de una factura en un periodo en la que la correspondiente factura no ha sido comunicada por el SII dentro del mismo.

RafaSerMed 23-06-2017 10:36:18

Cita:

Empezado por Homine (Mensaje 518621)
Son libros de registro distintos. El libro de Registro de determinadas operaciones intracomunitarias:

En este libro se registran exclusivamente dos tipos de operaciones, las operaciones a
las que hace referencia el artículo 66 del RIVA, es decir, sólo las siguientes:

1. El envío o recepción de bienes para la realización de los informes periciales o
trabajos mencionados en el artículo 70, apartado uno, número 7º, de la Ley del
Impuesto (Ley 37/1992).

2. Las transferencias de bienes y las adquisiciones intracomunitarias de bienes
comprendidas en los artículos 9, apartado 3º, y 16, apartado 2º, de la Ley del
Impuesto (Ley 37/1992).

Se consignará la clave “D” si el declarado es el destinatario de los bienes objeto de la
operación, y “R” si el declarado es el remitente de los bienes objeto de la operación.

En cuanto a las adquisiciones intracomunitarias de bienes habituales, así como
las entregas intracomunitarias de bienes habituales, se deben registrar en el
Libro registro de Facturas recibidas y Expedidas respectivamente.

Esa pregunta la formule yo hace unos dias, ya que tampoco nos quedaba claro. Como bien dice Homine, son unas determinadas operaciones y "creemos" que SOLO van en el libro de Otras operaciones Intracomunitarias y no se debe tambien de enviar en cualquiera de los otros libros.

jodaws 23-06-2017 10:45:41

Buenos días, nosotros tambien hemos subido facturas a producción con nuestro NIF y no estamos en el SII...

Sabéis si hay portal para hacer consultas y modificaciones en Producción??? Claro ahora si voy al portal de pruebas, evidentemente no me aparece las que he subido en producción

dimony 23-06-2017 10:52:01

Certificados en 64Bits
 
Hola buenos días, ya se que este tema esta muy trillado, pero me ha saltado ahora y estoy algo desesperado.
Resulta que el envío de facturas me funcionaba a las mil maravillas, enviaba mas de 13 o 14 con mi librería capicom.dll.
El día de ayer me llama un cliente que tiene un s.o. de 64 bits y empieza a petar el envío con mas de 14 facturas.
Con las mismas me puse a buscar en este maravilloso foro y vi varias posibilidades de las cuales no me ha funcionado ninguna.

1ª.- Descargue la instalación de capicom a 64 bits y la registre. --> Error no envía mas de 14.
2ª.- Supuse que tendría que compilar mi app para Windows 64 bits, por lo que lo incluí windows 64 bit en Target Plattaforms

Código Delphi [-]
procedure TData.HTTPRIO1HTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp;
  Data: Pointer);
var
     Store : IStore;
     Certs : ICertificates;
     Cert : ICertificate2;
     CertContext : ICertContext;
     PCertContext : PCCERT_CONTEXT;
     V : OleVariant;
 const
     INTERNET_OPTION_CLIENT_CERT_CONTEXT = 84;
begin
  V:= trim(main.lista_certificados.Items.Text);
  Store := CoStore.Create;
  Store.Open(CAPICOM_CURRENT_USER_STORE, 'MY',CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED );
  Certs:=Store.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME,V,False ); { Buscar certificado por nombre }
  if Certs.Count > 0 then
    begin
    Cert:=IInterface(Certs.Item[1]) as ICertificate2;
    CertContext:=Cert as ICertContext;
    CertContext.Get_CertContext(integer(PCertContext));
    if InternetSetOption(Data,INTERNET_OPTION_CLIENT_CERT_CONTEXT,PCertContext,Sizeof(CERT_CONTEXT)) = False then
      begin
      ShowMessage( 'Internet SSL certificate. Something went wrong' );
      end;
    end;
end;

Código Delphi [-]
[dcc64 Error] Datos.pas(188): E2197 Constant object cannot be passed as var parameter

Este error es por que PCertContext se debería declarar como constante, pero exactamente no se que valor se le debería dar.

Y ahí me he quedado.
Me podría alguien echar un cable, o darme unas nociones por si a lidiado con este Montoro ... digo Toro.
Gracias.

Homine 23-06-2017 11:03:07

Cita:

Empezado por jodaws (Mensaje 518631)
Buenos días, nosotros tambien hemos subido facturas a producción con nuestro NIF y no estamos en el SII...

Sabéis si hay portal para hacer consultas y modificaciones en Producción??? Claro ahora si voy al portal de pruebas, evidentemente no me aparece las que he subido en producción

Cambia la URL ...www7.aeat.es... por ...www1.aeat.es...

jodaws 23-06-2017 11:11:32

Cita:

Empezado por Homine (Mensaje 518633)
Cambia la URL ...www7.aeat.es... por ...www1.aeat.es...

Gracias!!!!!!!

anabelda 23-06-2017 11:57:37

Envío masivo
 
Cita:

Empezado por dimony (Mensaje 518632)
Hola buenos días, ya se que este tema esta muy trillado, pero me ha saltado ahora y estoy algo desesperado.
Resulta que el envío de facturas me funcionaba a las mil maravillas, enviaba mas de 13 o 14 con mi librería capicom.dll.
El día de ayer me llama un cliente que tiene un s.o. de 64 bits y empieza a petar el envío con mas de 14 facturas.
Con las mismas me puse a buscar en este maravilloso foro y vi varias posibilidades de las cuales no me ha funcionado ninguna.

1ª.- Descargue la instalación de capicom a 64 bits y la registre. --> Error no envía mas de 14.
2ª.- Supuse que tendría que compilar mi app para Windows 64 bits, por lo que lo incluí windows 64 bit en Target Plattaforms

Código Delphi [-]
procedure TData.HTTPRIO1HTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp;
  Data: Pointer);
var
     Store : IStore;
     Certs : ICertificates;
     Cert : ICertificate2;
     CertContext : ICertContext;
     PCertContext : PCCERT_CONTEXT;
     V : OleVariant;
 const
     INTERNET_OPTION_CLIENT_CERT_CONTEXT = 84;
begin
  V:= trim(main.lista_certificados.Items.Text);
  Store := CoStore.Create;
  Store.Open(CAPICOM_CURRENT_USER_STORE, 'MY',CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED );
  Certs:=Store.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME,V,False ); { Buscar certificado por nombre }
  if Certs.Count > 0 then
    begin
    Cert:=IInterface(Certs.Item[1]) as ICertificate2;
    CertContext:=Cert as ICertContext;
    CertContext.Get_CertContext(integer(PCertContext));
    if InternetSetOption(Data,INTERNET_OPTION_CLIENT_CERT_CONTEXT,PCertContext,Sizeof(CERT_CONTEXT)) = False then
      begin
      ShowMessage( 'Internet SSL certificate. Something went wrong' );
      end;
    end;
end;

Código Delphi [-]
[dcc64 Error] Datos.pas(188): E2197 Constant object cannot be passed as var parameter

Este error es por que PCertContext se debería declarar como constante, pero exactamente no se que valor se le debería dar.

Y ahí me he quedado.
Me podría alguien echar un cable, o darme unas nociones por si a lidiado con este Montoro ... digo Toro.
Gracias.

Hola,
yo también estoy peleando con este tema, el tope que consigo enviar son 25 facturas. También estoy utilizando CAPICOM.

dimony 23-06-2017 12:02:31

Cita:

Empezado por anabelda (Mensaje 518635)
Hola,
yo también estoy peleando con este tema, el tope que consigo enviar son 25 facturas. También estoy utilizando CAPICOM.

Yo voy a optar por enviar lotes de 13 facturas en 13.
Bueno 13 no que da mal fario, :D:D:D

manelb 23-06-2017 12:59:09

Cita:

Empezado por dimony (Mensaje 518632)
Hola buenos días, ya se que este tema esta muy trillado, pero me ha saltado ahora y estoy algo desesperado.
Resulta que el envío de facturas me funcionaba a las mil maravillas, enviaba mas de 13 o 14 con mi librería capicom.dll.
El día de ayer me llama un cliente que tiene un s.o. de 64 bits y empieza a petar el envío con mas de 14 facturas.
Con las mismas me puse a buscar en este maravilloso foro y vi varias posibilidades de las cuales no me ha funcionado ninguna.

Hay un comprimido de un compañero en el hilo donde explica detalladamente como instalar y registrar CAPICOM.

http://www.clubdelphi.com/foros/misc...hments&t=91252

Yo lo estoy utilizando en 32 y 64 bits y no tengo ningún problema.

No recuerdo quien lo envió (disculpa compañero........)pero le estaré eternamente agradecido.

parrux 23-06-2017 13:16:05

notitificar factura española
 
Buenos días y gracias de antemano,
tengo una duda (porque algo estoy haciendo mal seguro) me dan error todos los CIF de las empresas, a ver si podéis echarme un cable:

Código:

//Contraparte
            FacturasEmitidas.PersonaFisicaJuridicaType contraparte = new FacturasEmitidas.PersonaFisicaJuridicaType();
            contraparte.NombreRazon = Factura.Contrap_RazonSocial;                                                                                  //Razón Social
            if (Factura.Contrap_NIFRepresentante != "")
                contraparte.NIFRepresentante = Factura.Contrap_NIFRepresentante;                                                                    //NIF Representante
         
            FacturasEmitidas.IDOtroType IdOtroContrap = new FacturasEmitidas.IDOtroType();                                                          //IdOtro
            if (Factura.Contrap_IdPais != null)
            {
                IdOtroContrap.CodigoPais = p.FacturasEmiConvertirPaises(Factura.Contrap_IdPais);                                                    //País
                IdOtroContrap.CodigoPaisSpecified = true;
            }
            IdOtroContrap.IDType = dp.FacturasEmiConvertirDocPaises(Factura.Contrap_IdType);                                                        //Doc País
            IdOtroContrap.ID = Factura.Contrap_Id;                                                                                                  //Id

            contraparte.Item = IdOtroContrap;
           
            f.FacturaExpedida.Contraparte = new FacturasEmitidas.PersonaFisicaJuridicaType();
            f.FacturaExpedida.Contraparte = contraparte;

            f.FacturaExpedida.TipoDesglose = new FacturasEmitidas.FacturaExpedidaTypeTipoDesglose();

No consigo o no se como especificar el NIF de una empresa española sin tener que recurrir al objeto IdOtro

anabelda 23-06-2017 13:18:16

Cita:

Empezado por manelb (Mensaje 518637)
Hay un comprimido de un compañero en el hilo donde explica detalladamente como instalar y registrar CAPICOM.


Yo lo estoy utilizando en 32 y 64 bits y no tengo ningún problema.

No recuerdo quien lo envió (disculpa compañero........)pero le estaré eternamente agradecido.

Si, seguí esos pasos. Pero creo que el problema lo tengo a la hora de obtener el certificado, utilizo SecureBlackBox. Mi duda es en la siguiente línea
Certs := Store.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME,V,False );

¿que es el parametro V? ¿como lo obtengo con SecureBlackbox, si es posible?

dimony 23-06-2017 13:32:09

Cita:

Empezado por parrux (Mensaje 518639)
Buenos días y gracias de antemano,
tengo una duda (porque algo estoy haciendo mal seguro) me dan error todos los CIF de las empresas, a ver si podéis echarme un cable:

Código:

//Contraparte
            FacturasEmitidas.PersonaFisicaJuridicaType contraparte = new FacturasEmitidas.PersonaFisicaJuridicaType();
            contraparte.NombreRazon = Factura.Contrap_RazonSocial;                                                                                  //Razón Social
            if (Factura.Contrap_NIFRepresentante != "")
                contraparte.NIFRepresentante = Factura.Contrap_NIFRepresentante;                                                                    //NIF Representante
         
            FacturasEmitidas.IDOtroType IdOtroContrap = new FacturasEmitidas.IDOtroType();                                                          //IdOtro
            if (Factura.Contrap_IdPais != null)
            {
                IdOtroContrap.CodigoPais = p.FacturasEmiConvertirPaises(Factura.Contrap_IdPais);                                                    //País
                IdOtroContrap.CodigoPaisSpecified = true;
            }
            IdOtroContrap.IDType = dp.FacturasEmiConvertirDocPaises(Factura.Contrap_IdType);                                                        //Doc País
            IdOtroContrap.ID = Factura.Contrap_Id;                                                                                                  //Id

            contraparte.Item = IdOtroContrap;
           
            f.FacturaExpedida.Contraparte = new FacturasEmitidas.PersonaFisicaJuridicaType();
            f.FacturaExpedida.Contraparte = contraparte;

            f.FacturaExpedida.TipoDesglose = new FacturasEmitidas.FacturaExpedidaTypeTipoDesglose();

No consigo o no se como especificar el NIF de una empresa española sin tener que recurrir al objeto IdOtro

Id_Otro se debe de utilizar solo en caso de que no sea un CIF español, o sea que es excluyente

JRCALOR 23-06-2017 13:32:59

Error al enviar el fichero xml
 
Hola a todos

Hace un mes escaso, un cliente me a pedido que le programe el envio de facturas por SII ya que está obligado por volumen de facturacióm !!!. Como podeis imaginar llevo 3 semanas revisando este foro.

Gracias a comentarios como los de keys, newtron, CMB y muchos otros he conseguido crear los ficheros xml a traves de las clases extraidas de los wdsl.

He comprobado los ficheros generados enviandolos manualmente a través del portal y me responde correctamente señalando los aciertos o errores.

El problema lo tengo al enviar "directamente", estoy usando CAPICOM.dll y la versión DX10 de delphi y el certificado entiendo que es válido ya que es el mismo que utilizo al hacer el envio manual.

El error que me da al enviar es este:

An error occurred in the secure channel support - URL:https://www7.aeat.es/wlpl/SSII-FACT/...iiFactFEV1SOAP - SOAPAction:''

Seguro que me dejo algo de configurar, pero no veo que es. Me da el mismo error si en el evento HTTPRIO1BeforeExecute cargo un fichero de los de ejemplo (perviamene modificado el nif, etc) por lo que no creo que el problema sea del xml creado.

He consultado a la AEAT pero su respuesta es que dado el volumen de consultas que tienen no pueden responder dudas de configuración.

Gracias por vuestra ayuda

parrux 23-06-2017 13:36:22

Cita:

Empezado por dimony (Mensaje 518641)
Id_Otro se debe de utilizar solo en caso de que no sea un CIF español, o sea que es excluyente

Gracias por tu respuesta!
Y si es Español directamente paso el CIF, me explico, las unicas propiedades que me da FacturaExpedida.Contraparte son:

.NombreRazon
.NIFRepresentante
.Item

si no meto un objeto IdOtro y meto directamente un String "V12346578" por defecto pone la eqtiqueta NIF?? o como va???

Muchas gracias de nuevo!

anabelda 23-06-2017 14:16:54

Resuelto
 
Cita:

Empezado por anabelda (Mensaje 518640)
Si, seguí esos pasos. Pero creo que el problema lo tengo a la hora de obtener el certificado, utilizo SecureBlackBox. Mi duda es en la siguiente línea
Certs := Store.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME,V,False );

¿que es el parametro V? ¿como lo obtengo con SecureBlackbox, si es posible?

Por fin, lo he conseguido. Como suponía el problema lo tenia al asociar el certificado, en un principio asignaba el número de serie, pero no era correcto. Con la siguiente línea ya me funciona:

v:=certif.SubjectName.CommonName;

MARTIN01112 23-06-2017 18:04:31

Buen día : Una duda como realizaste la prueba en la web de la AEAT a mano, ya que en ENDPOIINt wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP
no reconoce el archivo de baja de factura emitida .

Gracias

nincillo 23-06-2017 18:55:29

Cita:

Empezado por Homine (Mensaje 518573)
Hola, estoy en el mismo caso

He enviado consulta técnica a la AEAT, en cuanto reciba respuesta la publico.

Yo he creado una manualmente en el portal de la AEAT pero, al intentar exportar el archivo asociado precisamente ese tipo de operación, devuelve un error de scripts.

En fin... a esperar.

¿Te respondieron algo ya sobre la anotación de la factura recibida intracomunitaria?

Un saludo.

dimony 23-06-2017 19:27:54

Cita:

Empezado por parrux (Mensaje 518643)
Gracias por tu respuesta!
Y si es Español directamente paso el CIF, me explico, las unicas propiedades que me da FacturaExpedida.Contraparte son:

.NombreRazon
.NIFRepresentante
.Item

si no meto un objeto IdOtro y meto directamente un String "V12346578" por defecto pone la eqtiqueta NIF?? o como va???

Muchas gracias de nuevo!

Aquí va parte de mi código, espero que te ayude.
Código Delphi [-]
if data.LibrosRegistros.FieldByName('clave_tipo_factura').AsString <> 'F2' then
      begin
      v_RegistroLRFacturasEmitidas[v_registros_facturas - 1].FacturaExpedida.Contraparte := SuministroFactEmitidas.PersonaFisicaJuridicaType.Create;
      v_RegistroLRFacturasEmitidas[v_registros_facturas - 1].FacturaExpedida.Contraparte.NombreRazon := data.LibrosRegistros.FieldByName('des_cuenta').AsString;
      v_RegistroLRFacturasEmitidas[v_registros_facturas - 1].FacturaExpedida.Contraparte.NIFRepresentante := '';

      if data.LibrosRegistros.FieldByName('codigo_pais_contraparte').AsString = 'ES' then
        v_RegistroLRFacturasEmitidas[v_registros_facturas - 1].FacturaExpedida.Contraparte.NIF := data.LibrosRegistros.FieldByName('cif').AsString
      else
        begin
        for v_dummy := 0 to Length(main.v_paises) do
          begin
          if main.v_paises[v_dummy] = data.LibrosRegistros.FieldByName('codigo_pais_contraparte').AsString then
            break;
          end;

        v_RegistroLRFacturasEmitidas[v_registros_facturas - 1].FacturaExpedida.Contraparte.IDotro := SuministroFactEmitidas.IDOtroType.Create;
        v_RegistroLRFacturasEmitidas[v_registros_facturas - 1].FacturaExpedida.Contraparte.IDotro.CodigoPais := SuministroFactEmitidas.CountryType2(v_dummy);

        if data.LibrosRegistros.FieldByName('clave_identificacion_fiscal').AsString = '02' then
          v_RegistroLRFacturasEmitidas[v_registros_facturas - 1].FacturaExpedida.Contraparte.IDotro.IDType := SuministroFactEmitidas.PersonaFisicaJuridicaIDTypeType(0)
        else if data.LibrosRegistros.FieldByName('clave_identificacion_fiscal').AsString = '03' then
          v_RegistroLRFacturasEmitidas[v_registros_facturas - 1].FacturaExpedida.Contraparte.IDotro.IDType := SuministroFactEmitidas.PersonaFisicaJuridicaIDTypeType(1)
        else if data.LibrosRegistros.FieldByName('clave_identificacion_fiscal').AsString = '04' then
          v_RegistroLRFacturasEmitidas[v_registros_facturas - 1].FacturaExpedida.Contraparte.IDotro.IDType := SuministroFactEmitidas.PersonaFisicaJuridicaIDTypeType(2)
        else if data.LibrosRegistros.FieldByName('clave_identificacion_fiscal').AsString = '05' then
          v_RegistroLRFacturasEmitidas[v_registros_facturas - 1].FacturaExpedida.Contraparte.IDotro.IDType := SuministroFactEmitidas.PersonaFisicaJuridicaIDTypeType(3)
        else if data.LibrosRegistros.FieldByName('clave_identificacion_fiscal').AsString = '06' then
          v_RegistroLRFacturasEmitidas[v_registros_facturas - 1].FacturaExpedida.Contraparte.IDotro.IDType := SuministroFactEmitidas.PersonaFisicaJuridicaIDTypeType(4);

        v_RegistroLRFacturasEmitidas[v_registros_facturas - 1].FacturaExpedida.Contraparte.IDotro.id := data.LibrosRegistros.FieldByName('numero_identificacion_pais').AsString;
        end;
      end;

nincillo 23-06-2017 19:40:30

Cita:

Empezado por nincillo (Mensaje 518653)
¿Te respondieron algo ya sobre la anotación de la factura recibida intracomunitaria?

Un saludo.

Como ya no puedo editar mi mensaje anterior, lo pregunto en otro nuevo.

Mi principal duda es sobre donde hay que detallar el IDOtro en lugar del NIF:

1) En IDFactura / IDEmisorFactura
2) En FacturaRecibida / Contraparte
3) En ambos sitios

Gracias

figo21 23-06-2017 19:54:55

Cita:

Empezado por nincillo (Mensaje 518656)
Como ya no puedo editar mi mensaje anterior, lo pregunto en otro nuevo.

Mi principal duda es sobre donde hay que detallar el IDOtro en lugar del NIF:

1) En IDFactura / IDEmisorFactura
2) En FacturaRecibida / Contraparte
3) En ambos sitios

Gracias

En ambos.

Un saludo.

nincillo 23-06-2017 20:17:41

Cita:

Empezado por figo21 (Mensaje 518658)
En ambos.

Un saludo.

Y hay que registrar las facturas recibidas intracomunitarias tanto en el libro de emitidas como en el de recibidas. ¿Verdad?

Muchas gracias.

figo21 23-06-2017 21:07:33

Cita:

Empezado por nincillo (Mensaje 518661)
Y hay que registrar las facturas recibidas intracomunitarias tanto en el libro de emitidas como en el de recibidas. ¿Verdad?

Muchas gracias.

4.4. ¿Cómo se registran las Adquisiciones Intracomunitarias de Bienes y Servicios?
Se anotará la factura recibida del proveedor comunitario en el Libro registro de Facturas Recibidas procediendo a su identificación mediante la clave 2 en el campo de tipos de Identificación en el país de residencia “IDType” y su Número de Operador Intracomunitario en el campo "ID". El campo “Código País” no será obligatorio.
En el campo “Clave Régimen especial o Trascendencia” se consignará el valor 09. Por otra parte, se deberá calcular y consignar la cuota soportada correspondiente a la citada factura así como cumplimentar el campo “Cuota Deducible”.
En estos casos no se debe informar con el campo “Inversión Sujeto Pasivo” que sólo se utiliza cuando el declarante sea sujeto pasivo del Impuesto de acuerdo con lo dispuesto en los artículos 84.Uno.2º y 4º de la Ley del IVA siempre que tengan su origen en operaciones distintas a las adquisiciones intracomunitarias de bienes y servicios.
No se registrará dato alguno en el Libro Registro de Facturas Expedidas.

Un saludo.

CMB 23-06-2017 22:17:44

Cita:

Empezado por Homine (Mensaje 518627)
Perdona que matice, pero, la fecha de recepción no tiene porqué coincidir con la de contabilización.

Quizás me equivoque, pero me parece que cuando el SII sea de aplicación general, habrá millones de pequeñas empresas y autónomos que no están obligados a llevar la contabilidad oficial, como, por ejemplo, cafeterías, estancos, bazares, ferreterías, relojerías, etc., y en esos casos pienso que la fecha de recepción deberá tomarse como fecha de contabilización. Sino es así, la que les va a caer será de cuidado. No me imagino a un bazar chino o a un estanquero contratando a un contable.

Saludos,

manelb 24-06-2017 11:22:07

No funciona produccion
 
Esta mañana no me funciona el portal de producción.
Tanto si entro a través de la web como si intento hacer un envío me responde:

Codigo[103].nif no identificado: (nif y nombre de mi certificado)

Es el certificando con el cual vengo haciendo envíos desde el primer día hasta ayer.

Supongo que estamos todos igual, no?

Por cierto... Felicidades a todos los Juanes y Juanas

CMB 24-06-2017 11:48:28

Cita:

Empezado por manelb (Mensaje 518669)
Esta mañana no me funciona el portal de producción.
Tanto si entro a través de la web como si intento hacer un envío me responde:

Codigo[103].nif no identificado: (nif y nombre de mi certificado)

Es el certificando con el cual vengo haciendo envíos desde el primer día hasta ayer.

Supongo que estamos todos igual, no?

Por cierto... Felicidades a todos los Juanes y Juanas

En este preciso momento, las 11:46h, a mí me funciona todo: altas, cambios, bajas y consultas, de emitidas y recibidas.

manelb 24-06-2017 12:45:06

Cita:

Empezado por CMB (Mensaje 518670)
En este preciso momento, las 11:46h, a mí me funciona todo: altas, cambios, bajas y consultas, de emitidas y recibidas.


Gracias CMB...

He estado un par de horas sin poder utilizar el portal devolviéndome el error antes mencionado:
Codigo[103].nif no identificado: (nif y nombre de mi certificado)

Ahora ya vuelve a funcionar sin más.

JRCALOR 24-06-2017 19:07:12

Cita:

Empezado por MARTIN01112 (Mensaje 518651)
Buen día : Una duda como realizaste la prueba en la web de la AEAT a mano, ya que en ENDPOIINt wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP
no reconoce el archivo de baja de factura emitida .

Gracias

hola MARTIN01112

No se si la pregunta es sobre mi consulta, pero de momento solo estoy enviando altas de facturas emitidas y recibidas.

Siguiendo un ejemplo del foro en el OnBeforeExecute del componente HTTPRIO uso este código para generar un fichero temporal que luego envio manualmente en el "Portal de pruebas externas > Presentación > Cliente de web service para el entorno de pruebas"

Código Delphi [-]
procedure TFSII_Emeses.HTTPRIO1BeforeExecute(const MethodName: string;
  SOAPRequest: TStream);
var ss:TFileStream;
    nficheroTemp : string;
begin
     NficheroTemp := '.\LCFTemporal.Xml';
     if FileExists(NficheroTemp) then
         DeleteFile(NficheroTemp);

     ss := TFileStream.Create(NficheroTemp, fmCreate);
     SOAPRequest.Position := 0;
     ss.CopyFrom(SOAPRequest, SOAPRequest.size);
     ss.Free;
     SOAPRequest.Position := 0;
end;

Saludos

nincillo 25-06-2017 09:28:18

Cita:

Empezado por figo21 (Mensaje 518663)
4.4. ¿Cómo se registran las Adquisiciones Intracomunitarias de Bienes y Servicios?
Se anotará la factura recibida del proveedor comunitario en el Libro registro de Facturas Recibidas procediendo a su identificación mediante la clave 2 en el campo de tipos de Identificación en el país de residencia “IDType” y su Número de Operador Intracomunitario en el campo "ID". El campo “Código País” no será obligatorio.
En el campo “Clave Régimen especial o Trascendencia” se consignará el valor 09. Por otra parte, se deberá calcular y consignar la cuota soportada correspondiente a la citada factura así como cumplimentar el campo “Cuota Deducible”.
En estos casos no se debe informar con el campo “Inversión Sujeto Pasivo” que sólo se utiliza cuando el declarante sea sujeto pasivo del Impuesto de acuerdo con lo dispuesto en los artículos 84.Uno.2º y 4º de la Ley del IVA siempre que tengan su origen en operaciones distintas a las adquisiciones intracomunitarias de bienes y servicios.
No se registrará dato alguno en el Libro Registro de Facturas Expedidas.

Un saludo.

Muchas gracias!!!. Ya casi tengo todas las combinaciones en marcha.

Una duda que me surge ahora mismo. En el caso de las facturas simplificadas, etc que van a un CLIENTE DE CONTADO (Genérico). ¿Qué CIF hay que poner en él para que no lo de como erróneo?

Un saludo y buen Domingo para los que lo puedan disfrutar...

newtron 25-06-2017 10:03:56

Cita:

Empezado por nincillo (Mensaje 518689)
Muchas gracias!!!. Ya casi tengo todas las combinaciones en marcha.

Una duda que me surge ahora mismo. En el caso de las facturas simplificadas, etc que van a un CLIENTE DE CONTADO (Genérico). ¿Qué CIF hay que poner en él para que no lo de como erróneo?

Un saludo y buen Domingo para los que lo puedan disfrutar...

Las facturas simplificadas no van identificadas con ningún CIF, lo único que tienes que poner es su tipo correctamente (F2).

Saludos

nincillo 25-06-2017 10:18:31

Cita:

Empezado por newtron (Mensaje 518690)
Las facturas simplificadas no van identificadas con ningún CIF, lo único que tienes que poner es su tipo correctamente (F2).

Saludos


En mi caso, los arqueos de caja que engloban varias facturas simplificadas de clientes "genéricos", los mando como F4, pongo la serie y número inicial y la serie y número final, pero sino pongo el Nif me devuelve:

Código:

      <faultcode>env:Client</faultcode>
      <faultstring>Codigo[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: NIF</faultstring>

Y las facturas simplificadas del tipo F2 las estaba dejando para las facturas simplificadas "personalizadas", en las que el cliente se identifica y tiene datos fiscales introducidos en el sistema.

¿Lo estoy interpretando mal?

Y también está el caso de las empresas que solo trabajan con facturas (no simplificadas) a las que les viene alguien a comprar, pero no quiere dar datos fiscales. En ese caso, esas facturas que van al "cliente de contado", con que nif tendrían que ir. Porque creo recordar que si lo dejas en blanco también da error.

figo21 25-06-2017 11:40:00

Buenos días, os comento unas cuantas cosas por si no lo habéis tenido en cuenta o sirve de ayuda a alguien.
Hay que llevar cuidado con lo que la AEAT entiende por IDFactura.
Si tenemos una factura recibida enviada mediante SII y se le cambia la fecha del proveedor, debemos enviar una baja con los datos anteriores y un alta con los nuevos.
Si no lo hacemos tendremos la factura duplicada en la AEAT (y por tanto también la cuota deducible).
Esto pasaría con cualquier campo que forme parte de IDFactura y tanto en emitidas como en recibidas.


Por otro lado me he encontrado con gente que me pregunta qué hacer cuando un nº de factura de proveedor contiene espacios y también he visto casos donde puede haber varios espacios (ni idea de cuantos).
¿Alguien sabe qué hacer en estos casos?, ¿la factura se registra sin espacios?.

A raíz de estas preguntas nos encontramos con la importancia de las consultas a la AEAT para ver el contraste.
Cuando el contraste de una factura es 3, No contrastada, dice la FAQ que: El emisor o el receptor no han registrado la factura (no hay coincidencia en el NIF del emisor, número de factura del
emisor y fecha de expedición).
Así tendríamos claro que no hemos registrado la factura de la misma forma que el emisor y podríamos hacer las comprobaciones necesarias.

Por supuesto el NumSerieFacturaEmisor de nuestras facturas emitidas enviadas mediante SII deben coincidir con el número que sale impreso en la factura, si en el impreso pone xxxx/17, tendremos que enviarlo con el /17 porque el proveedor lo registrará así.


Un saludo.

Homine 26-06-2017 09:07:03

Cita:

Empezado por CMB (Mensaje 518664)
Quizás me equivoque, pero me parece que cuando el SII sea de aplicación general, habrá millones de pequeñas empresas y autónomos que no están obligados a llevar la contabilidad oficial, como, por ejemplo, cafeterías, estancos, bazares, ferreterías, relojerías, etc., y en esos casos pienso que la fecha de recepción deberá tomarse como fecha de contabilización. Sino es así, la que les va a caer será de cuidado. No me imagino a un bazar chino o a un estanquero contratando a un contable.

Saludos,

Únicamente están obligados a comunicar por el SII los inscritos en el REDEME, grandes empresas (facturación superior a 6.000.000 €) y grupos de IVA.

Nada tiene que ver la obligación o no de una llevanza de libros contables.

Homine 26-06-2017 09:11:07

Cita:

Empezado por nincillo (Mensaje 518653)
¿Te respondieron algo ya sobre la anotación de la factura recibida intracomunitaria?

Un saludo.

No tengo noticia todavía.

PASPAS 26-06-2017 09:21:53

Cita:

Empezado por Homine (Mensaje 518709)
Únicamente están obligados a comunicar por el SII los inscritos en el REDEME, grandes empresas (facturación superior a 6.000.000 €) y grupos de IVA.

Nada tiene que ver la obligación o no de una llevanza de libros contables.


No contabilidad electrónica aún no pero tarde o temprano nos tocará hacerla.... tenemos un cliente en México y ya toca implantarlo allí, tarde o temprano tocará ponerlo en marcha para la AEAT. Al final será todo comunicación electrónica.
Saludos

nincillo 26-06-2017 10:55:49

Cita:

Empezado por nincillo (Mensaje 518691)
En mi caso, los arqueos de caja que engloban varias facturas simplificadas de clientes "genéricos", los mando como F4, pongo la serie y número inicial y la serie y número final, pero sino pongo el Nif me devuelve:

Código:

      <faultcode>env:Client</faultcode>
      <faultstring>Codigo[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: NIF</faultstring>

Y las facturas simplificadas del tipo F2 las estaba dejando para las facturas simplificadas "personalizadas", en las que el cliente se identifica y tiene datos fiscales introducidos en el sistema.

¿Lo estoy interpretando mal?

Y también está el caso de las empresas que solo trabajan con facturas (no simplificadas) a las que les viene alguien a comprar, pero no quiere dar datos fiscales. En ese caso, esas facturas que van al "cliente de contado", con que nif tendrían que ir. Porque creo recordar que si lo dejas en blanco también da error.

Me contesto a mi mismo, al menos en parte por si le pudiera servir a alguien más: En las facturas resumen, si son a clientes "genéricos" hay que saltarse la CONTRAPARTE por completo.

Sobre lo de como poder enviar facturas "normales", NO "simplificadas" asignadas a clientes "genéricos" aún no he conseguido solucionarlo. Les he mandado una consulta, pero sigo esperando respuesta.


La franja horaria es GMT +2. Ahora son las 13:19:58.

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