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)

newtron 18-04-2023 19:52:16

Ok, creo que ya he dado con el problema. Según quiero entender de la documentación, ahora en el caso de las importaciones hay que poner como proveedor el titular del registro e informar SIEMPRE del DUA. Por eso me daba error de que el Id no era correcto, porque estaba poniendo el del proveedor.


Ahora, ¿alguien me puede confirmar que ya SIEMPRE hay que informar del DUA?


Gracias y un saludo.

keys 19-04-2023 08:38:15

Cita:

Empezado por newtron (Mensaje 551196)
Ok, creo que ya he dado con el problema. Según quiero entender de la documentación, ahora en el caso de las importaciones hay que poner como proveedor el titular del registro e informar SIEMPRE del DUA. Por eso me daba error de que el Id no era correcto, porque estaba poniendo el del proveedor.


Ahora, ¿alguien me puede confirmar que ya SIEMPRE hay que informar del DUA?


Gracias y un saludo.

El DUA no hay que informalo siempre, ya que puede que la operación no tenga DUA. Acabo de hacer una prueba como te había dicho F6 y 13 y ha funcionado correctamente. De hecho tu puedes recibir la factura del importador y luego el DUA recibirlo al mes siguiente. Si quieres declarar la factura del importador que es tu caso hay que declararlo como te he dicho.

Cita:

Habiendo registrado un DUA no es necesario registrar la factura del proveedor
extranjero salvo que se hubiera recibido con antelación. En el caso de remitir los datos
de dicha factura se consignará como clave de tipo de factura "F6" y “clave de régimen
especial” en el Libro Registro de facturas recibidas la clave 13 “Factura
correspondiente a una importación (informada sin asociar a un DUA)”; no deberá
cumplimentarse el campo "Cuota soportada" dentro del bloque "Desglose" y se
indicará “0” en el campo "Cuota deducible
Hay que poner como proveedor al titular del registro en la operación que se declara el DUA

newtron 19-04-2023 10:01:24

Gracias Keys y disculpa mi torpeza mental pero no me queda claro un par de cuestiones.



Después de todo esto entiendo que en vez de declarar el proveedor hay que poner el titular del registro y entiendo que el titular del registro es la misma empresa, ¿no? ¿Eso es así también si no se declara el DUA?

Y se me olvidaba... en el caso de no declarar DUA hay que declarar el proveedor o igualmente el titular del registro?

Gracias y un saludo.

keys 19-04-2023 10:21:16

Cita:

Empezado por newtron (Mensaje 551203)
Gracias Keys y disculpa mi torpeza mental pero no me queda claro un par de cuestiones.



Después de todo esto entiendo que en vez de declarar el proveedor hay que poner el titular del registro y entiendo que el titular del registro es la misma empresa, ¿no? ¿Eso es así también si no se declara el DUA?


Gracias y un saludo.

Si estas declarando la factura del Proveedor, es decir sin DUA (F6 - 13). Tienes que poner los datos del proveedor, es decir los datos del chino y en el número de factura su número de factura.

Si estas declarando el DUA (F5 - 01)tienes que poner como Proveedor al propio Titular del libro registro y en el número de factura el Número de DUA y hacienda valida que ese número sea correcto y se corresponda a un DUA. :cool:

newtron 19-04-2023 11:52:24

1 Archivos Adjunto(s)
Catchis.... pues con esto volvemos a la casilla de salida. Declarando la factura del proveedor (F6 -13) como me comentas me sigue dando el error "Valor del campo Id incorrecto". Adjunto un pdf de lo que envío a ver si pudieras decirme donde está el problema.


Gracias y un saludo.

keys 19-04-2023 12:35:12

Yo creo que el error que te esta dando no es del número de factura. Sino de la identificación del proveedor.

Si pones unas importación tiene que ser IDTYPE = 04, Gran Bretaña ya no es parte de la UE por lo que no puede ser 02.

Por otro lado una importación nunca puede tener tipo de iva, siempre son exentas. Lo que lleva el IVA sería el DUA.

Cita:

<DesgloseIVA>
<DetalleIVA>
<TipoImpositivo>0.00</TipoImpositivo>
<BaseImponible>1500.00</BaseImponible>
<CuotaSoportada>0.00</CuotaSoportada>
</DetalleIVA>
</DesgloseIVA>

manelb 19-04-2023 19:14:27

Cita:

Empezado por newtron (Mensaje 551185)
Buenas a tod@s.


Estoy teniendo problemas a la hora de enviar una factura de importación, imagino que desde las últimas revisiones del SII mis clientes no han contabilizado ninguna pero el tema es que me está dando errores y es que parece que han cambiado las validaciones.


Si en el tipo de factura pongo F5 (como creo que se estaban subiendo hasta ahora) me da el error de que el número de factura no corresponde con un DUA y si pongo en tipo de factura F1 y en "ClaveRegimenEspecialOTrascendencia" pongo el tipo 13 (Factura correspondiente a una importación (informada sin asociar a un DUA) me da el error 1104 Valor del campo ID incorrecto.

Esta factura que estoy subiendo no está asociada a ningún DUA. ¿Alguien podría darme luz sobre este tema?

Gracias y un saludo.

Ya sé que mi aportación te va a solucionar poco, técnicamente hablando, pero la solución que yo he dado a las Importaciones es “no dar solución”.
Hablando con diferentes asesorías de mis clientes, cada uno me daba una versión diferente de cómo se debían contemplar estas operaciones, y finalmente optamos por que, cuando haya importaciones, sea el mismo cliente o su gestoría quien registren el movimiento directamente en el portal de la AEAT.

De momento nos ha ido bien.
Incluso algún cliente nuevo que tenemos nos ha comentado que con su antiguo software también lo hacían así.

newtron 19-04-2023 19:59:19

Cita:

Empezado por keys (Mensaje 551206)
Yo creo que el error que te esta dando no es del número de factura. Sino de la identificación del proveedor.

Si pones unas importación tiene que ser IDTYPE = 04, Gran Bretaña ya no es parte de la UE por lo que no puede ser 02.

Por otro lado una importación nunca puede tener tipo de iva, siempre son exentas. Lo que lleva el IVA sería el DUA.


Pues efectivamente era el IDTYPE, no había caido en que si no son de la UE hay que informar con el tipo 04. Por otro lado me he "inventado" el IVA porque tenía entendido que había que calcularlo pero he revisado la documentación y no he encontrado nada al respecto, igual es porque es así en las intracomunitarias y me estoy confundiendo. Gracias por tu ayuda como siempre.


Cita:

Empezado por manelb (Mensaje 551211)
Ya sé que mi aportación te va a solucionar poco, técnicamente hablando, pero la solución que yo he dado a las Importaciones es “no dar solución”.
Hablando con diferentes asesorías de mis clientes, cada uno me daba una versión diferente de cómo se debían contemplar estas operaciones, y finalmente optamos por que, cuando haya importaciones, sea el mismo cliente o su gestoría quien registren el movimiento directamente en el portal de la AEAT.

De momento nos ha ido bien.
Incluso algún cliente nuevo que tenemos nos ha comentado que con su antiguo software también lo hacían así.


Compañero, cualquier opinión que me des me viene bien lo que pasa es que en este caso he pensado que podía resolver el tema sin derivar al cliente directamente a la plataforma de la AEAT, de todas formas si hay algo más "raro" que retocar si pensaré en hacerlo. Gracias.


Saludos.

newtron 26-04-2023 17:46:37

Factura recibida con parte de la base exenta
 
Hola a tod@s.


¿Alguien me podría indicar cómo se pasa al sii una factura recibida que tiene una parte con iva y otra parte exenta de iva? porque no sé si es correcto poner esa base al 0%.



Gracias y un saludo.

antoine0 28-04-2023 14:52:50

Cita:

Empezado por newtron (Mensaje 551320)
¿Alguien me podría indicar cómo se pasa al sii una factura recibida que tiene una parte con iva y otra parte exenta de iva? porque no sé si es correcto poner esa base al 0%.

Primero recordar que hay que diferenciar entre exento de IVA (ejemplo: productos sanitarios o pera educación; serán marcado «Artículo 20 ley 37/92»), no sujeto a IVA (ejemplo: operación fuera del territorio o indemnizaciones de seguro) y las cosas que no entran en la base (como por ejemplo suplidos o pagos por anticipados).
También puede darse el caso de los importes sujetos pero con IVA a 0%, que es otro caso aún.
Todo eso es para precisar vocabulario, ya que en la práctica... ¡nada de todo esto parece interesar a Hacienda! (por ejemplo, no salen en el modelo 303.)

Una cosa que hago en tales casos es no documentar el ImporteTotal de la factura, ya que las reglas de validación del S.I.I. no se acuerdan con los desgloses entre estos varios casos. Este campo no es obligatorio en facturas recibidas, y resulta mucho más sencillo olvidarse de él.

Después, en las facturas que tengo con líneas sujetas y demás líneas exentas, lo normal dentro del grupo DesgloseIVA tener dos (o más) etiquetas DetalleIVA, una con todos los campos rellenados (TipoImpositivo, BaseImponible y CuotaSoportada) y otra solo con el campo BaseImponible.
Obviamente, el campo CuotaDeducible se tiene que calcular bien.
No creo que haya ninguna diferencia entre el caso exento y el caso no sujeto, al final los dos salen con el mismo formato (por otra parte, los suplidos y cosas parecidas NO salen dentro del desglose).


En el caso de los sujeto con tipo 0 (tema estrella de este año 2023), yo documento las etiquetas TipoImpositivo y CuotaSoportada con el valor 0 pero creo que Hacienda no hace caso y que si no se documentan, el resultado será el mismo (e imposible de distinguir del caso exento o no sujeto).

Código:

<SuministroLR:IDFactura>
  <IDEmisorFactura>
    <NIF>XXXXXXXXX</NIF>
  </IDEmisorFactura>
  <NumSerieFacturaEmisor>####</NumSerieFacturaEmisor>
  <FechaExpedicionFacturaEmisor>07-03-2023</FechaExpedicionFacturaEmisor>
</SuministroLR:IDFactura>
<SuministroLR:FacturaRecibida>
  <TipoFactura>F1</TipoFactura>
  <ClaveRegimenEspecialOTrascendencia>01</ClaveRegimenEspecialOTrascendencia>
  <DescripcionOperacion> bla bla bla </DescripcionOperacion>
  <DesgloseFactura>
    <DesgloseIVA>
      <DetalleIVA>
        <TipoImpositivo>21</TipoImpositivo>
        <BaseImponible>42.95</BaseImponible>
        <CuotaSoportada>9.02</CuotaSoportada>
      </DetalleIVA>
      <DetalleIVA>
        <BaseImponible>4.18</BaseImponible>
      </DetalleIVA>
    </DesgloseIVA>
  </DesgloseFactura>
  <Contraparte>
    <NombreRazon>FULANO DE TAL</NombreRazon>
    <NIF>XXXXXXXXX</NIF>
  </Contraparte>
  <FechaRegContable>25-04-2023</FechaRegContable>
  <CuotaDeducible>9.02</CuotaDeducible>
</SuministroLR:FacturaRecibida>


newtron 28-04-2023 16:34:00

Gracias compañero por tu respuesta.


Como bien comentas no es lo mismo un artículo exento que con IVA=0. por eso mi duda es si hay que distinguir de alguna manera en el SII si el importe de la base imponible no lleva iva porque está exento pero me da que no hay manera de distinguirlo, solo poner la base imponible y a volar.



Saludos.

newtron 16-06-2023 13:00:20

Hola a tod@s.


¿Alguien sabe cómo se suben al sii las facturas asimiladas de exportación de servicios? La verdad es que yo no tengo claro ni el concepto, se supone que son facturas de venta que emites a un español que está en el extranjero y que no llevan iva.



Gracias y un saludo.

antoine0 19-06-2023 11:25:57

Cita:

Empezado por newtron (Mensaje 551754)
¿Alguien sabe cómo se suben al sii las facturas asimiladas de exportación de servicios? La verdad es que yo no tengo claro ni el concepto, se supone que son facturas de venta que emites a un español que está en el extranjero y que no llevan iva.

Si el cliente es empresario, tal operación es no sujeta a IVA en España por razón de territorio (artículo 4 ley 37/92). Se envía al SII con tipo F1, clave 01, y el importe desglosado como PrestacionServicios, NoSujeta e ImporteTAIReglasLocalizacion.
Salvo en los casos de Canarias, Ceuta y Melilla, no creo que puedes identificar al cliente con su NIF español, necesitarás identificarle con su número fiscal en su país de residencia. Dicho de otra forma el hecho que siga español es completamente irrelevante.
Si vive en un país de la UE, necesariamente debes identificarle con su NIF-IVA, debe estar dado de alta como operador intracomunitario, y el comprador deberá aplicar en su país las reglas del inversión del sujeto pasivo (y esta obligación debe figurar en la factura).
Si vive fuera de la UE no sé las reglas con exactitud, pero imagino que habrá reglas similares una vez está probado que la operación está no sujeta a IVA.
Si la única información que tienes del cliente es su DNI español, yo lo pondría con IDType 04, pasaporte, para evitar posible confusión.

newtron 19-06-2023 11:45:39

Cita:

Empezado por antoine0 (Mensaje 551771)
Si el cliente es empresario, tal operación es no sujeta a IVA en España por razón de territorio (artículo 4 ley 37/92). Se envía al SII con tipo F1, clave 01, y el importe desglosado como PrestacionServicios, NoSujeta e ImporteTAIReglasLocalizacion.
Salvo en los casos de Canarias, Ceuta y Melilla, no creo que puedes identificar al cliente con su NIF español, necesitarás identificarle con su número fiscal en su país de residencia. Dicho de otra forma el hecho que siga español es completamente irrelevante.
Si vive en un país de la UE, necesariamente debes identificarle con su NIF-IVA, debe estar dado de alta como operador intracomunitario, y el comprador deberá aplicar en su país las reglas del inversión del sujeto pasivo (y esta obligación debe figurar en la factura).
Si vive fuera de la UE no sé las reglas con exactitud, pero imagino que habrá reglas similares una vez está probado que la operación está no sujeta a IVA.
Si la única información que tienes del cliente es su DNI español, yo lo pondría con IDType 04, pasaporte, para evitar posible confusión.


Gracias compañero.


Saludos.

antoine0 19-06-2023 16:17:28

Cita:

Empezado por antoine0 (Mensaje 551771)
Si la única información que tienes del cliente es su DNI español, yo lo pondría con IDType 04, pasaporte, para evitar posible confusión.

:eek: Me equivoque aquí. Tiene que ir con IDType 03 pasaporte. Espero no he confundido a nadie.

dimony 22-06-2023 13:48:51

Suministro Cobros Emitidas
 
Hasta ahora no había tenido que desarrollar la parte de cobros / pagos de facturas suministradas previamente. Tengo un cliente el cual a su vez un proveedor que le emite facturas acogidas al criterio de caja y me ha reclamado esta opción. Parar ello me he dispuesto a hacer tal como hice con el resto de wsdl, importar a través "Component - Import WSDL".


En el asistente le dejo los parámetros por defecto y selecciono el WDSL(el último) que tengo almacenado en el ordenador.


Cual es mi sorpresa que no lo importa correctamente, no se que parámetros tengo que seleccionar o seguramente lo que realmente pasa es que no tengo ni puta idea.

Código:

unit SuministroCobrosEmitidas;
interface
uses Soap.InvokeRegistry, Soap.SOAPHTTPClient, System.Types, Soap.XSBuiltIns;
type

  // ************************************************************************ //
  // The following types, referred to in the WSDL document are not being represented
  // in this file. They are either aliases[@] of other types represented or were referred
  // to but never[!] declared in the document. The types from the latter category
  // typically map to predefined/known XML or Embarcadero types; however, they could also
  // indicate incorrect WSDL documents that failed to declare or import a schema type.
  // ************************************************************************ //
  // !:ConsultaCobros  - "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd"[Lit][]
  // !:RespuestaConsultaCobros - "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaConsultaLR.xsd"[Lit][]
  // !:SuministroLRCobrosEmitidas - "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd"[Lit][]
  // !:RespuestaLRCobrosEmitidas - "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd"[Lit][]


  // ************************************************************************ //
  // Namespace : https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroCobrosEmitidas.wsdl
  // transport : http://schemas.xmlsoap.org/soap/http
  // style    : document
  // use      : literal
  // binding  : siiBinding
  // service  : siiService
  // port      : SuministroCobrosEmitidas
  // URL      : https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/fe/SiiFactCOBV1SOAP
  // ************************************************************************ //
  siiSOAP = interface(IInvokable)
  ['{9EF60891-5E4C-9812-57C2-1284CE15ECC8}']

    // Cannot unwrap:
    //    - Input part does not refer to an element
    //    - Output part does not refer to an element
    function  SuministroLRCobrosEmitidas(const SuministroLRCobrosEmitidas: SuministroLRCobrosEmitidas): RespuestaLRCobrosEmitidas; stdcall;

    // Cannot unwrap:
    //    - Input part does not refer to an element
    //    - Output part does not refer to an element
    function  ConsultaLRCobrosEmitidas(const ConsultaCobrosEmitidas: ConsultaCobros): RespuestaConsultaCobros; stdcall;
  end;

function GetsiiSOAP(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): siiSOAP;


implementation
  uses System.SysUtils;

function GetsiiSOAP(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): siiSOAP;
const
  defWSDL = 'O:\contadoc\herramientas_externas\d4sii\Win32\Debug\SuministroCobrosEmitidas.wsdl';
  defURL  = 'https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/fe/SiiFactCOBV1SOAP';
  defSvc  = 'siiService';
  defPrt  = 'SuministroCobrosEmitidas';
var
  RIO: THTTPRIO;
begin
  Result := nil;
  if (Addr = '') then
  begin
    if UseWSDL then
      Addr := defWSDL
    else
      Addr := defURL;
  end;
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as siiSOAP);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end else
      RIO.URL := Addr;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;
initialization
  { siiSOAP }
  InvRegistry.RegisterInterface(TypeInfo(siiSOAP), 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroCobrosEmitidas.wsdl', 'UTF-8');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(siiSOAP), '');
  InvRegistry.RegisterInvokeOptions(TypeInfo(siiSOAP), ioDocument);
  InvRegistry.RegisterInvokeOptions(TypeInfo(siiSOAP), ioLiteral);

end.

Código:

[dcc32 Error] SuministroCobrosEmitidas.pas(48): E2003 Undeclared identifier: 'SuministroLRCobrosEmitidas'
[dcc32 Error] SuministroCobrosEmitidas.pas(48): E2003 Undeclared identifier: 'RespuestaLRCobrosEmitidas'
[dcc32 Error] SuministroCobrosEmitidas.pas(53): E2003 Undeclared identifier: 'ConsultaCobros'
[dcc32 Error] SuministroCobrosEmitidas.pas(53): E2003 Undeclared identifier: 'RespuestaConsultaCobros'
[dcc32 Fatal Error] D4SII.dpr(18): F2063 Could not compile used unit 'SuministroCobrosEmitidas.pas'
Failed

¿Alguien me podría aclarar el tema por favor o echarme un cable please?

keys 22-06-2023 14:14:00

Yo creo que no te has descargado todos los xsd necesarios.

No solo vale con el wsdl, tienes que descargarte todos los xsd y que estén en la misma carpeta.

Si no puedes dime y te pongo toda la unit.

dimony 22-06-2023 15:00:46

Cita:

Empezado por keys (Mensaje 551839)
Yo creo que no te has descargado todos los xsd necesarios.

No solo vale con el wsdl, tienes que descargarte todos los xsd y que estén en la misma carpeta.

Si no puedes dime y te pongo toda la unit.


Lo he intentado, ha hecho mas cosas pero sigue indicando



Undeclare indentifier 'SuministroLRCobrosEmitidas.


Si me haces el favor pasame el unit please.

Neftali [Germán.Estévez] 22-06-2023 15:12:47

1 Archivos Adjunto(s)
Cita:

Empezado por dimony (Mensaje 551838)
¿Alguien me podría aclarar el tema por favor o echarme un cable please?


¿Qué versión estás utilizando?

Yo he importado desde la 11.3 este WSDL:
https://www2.agenciatributaria.gob.e...sEmitidas.wsdl


Y sin tener nada más descargado me genera un archivo más completo.
Te lo adjunto por si te sirve (la importación es con los parámetros por defecto).

dimony 23-06-2023 06:59:55

Gracias Neftali, me ha ido de lujo, compila correctamente.


Me podrías pasar pagos también, por favor.


Utilizo XE6 y nada de nada lo importo con todos los WSDL, XSD, XML que da la AEAT y nada de nada. Me estoy volviendo loco.

Si me hacéis el favor de pasarme el .pas

Neftali [Germán.Estévez] 23-06-2023 08:21:01

Cita:

Empezado por dimony (Mensaje 551855)
Me podrías pasar pagos también, por favor.
Utilizo XE6 y nada de nada lo importo con todos los WSDL, XSD, XML que da la AEAT y nada de nada. Me estoy volviendo loco.


Si me pasas la URL del WSDL, como la de arriba te lo importo sin problemas.

dimony 23-06-2023 09:57:49

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 551858)
Si me pasas la URL del WSDL, como la de arriba te lo importo sin problemas.


Aquí va:

Código:

https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroPagosRecibidas.wsdl

Muchas gracias.

Neftali [Germán.Estévez] 23-06-2023 10:13:20

1 Archivos Adjunto(s)
Ahí va de vuelta...

dimony 23-06-2023 10:15:16

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 551863)
Ahí va de vuelta...


Muchas gracias chato, que dios te lo pague :D:D:D. Me has salvado la vida.

dimony 26-06-2023 11:20:57

Haciendo pruebas de suministro no tengo "eggs" a suministrarlo.


Este es mi código:


Código:

function suministra_cobros: string;
var
  v_SuministroLRCobrosEmitidas: SuministroCobrosEmitidas.SuministroLRCobrosEmitidas;
  v_RegistroLRCobrosEmitidas: SuministroCobrosEmitidas.Array_Of_LRCobrosEmitidasType;
  v_RegistroCobros: SuministroCobrosEmitidas.CobrosType;
  v_RespuestaLRCobrosEmitidas: SuministroCobrosEmitidas.RespuestaLRCobrosEmitidas;
 
 
  v_registros_cobros: smallint;
  v_dummy: smallint;
  V_NIF : SuministroCobrosEmitidas.IDEmisorFactura7;

begin

  (* -------------- BEGIN CABECERA -------------- *)
  v_SuministroLRCobrosEmitidas := SuministroCobrosEmitidas.SuministroLRCobrosEmitidas.Create;
  v_SuministroLRCobrosEmitidas.Cabecera := SuministroCobrosEmitidas.CabeceraSiiCobrosPagos.Create;
  v_SuministroLRCobrosEmitidas.Cabecera.IDVersionSii := SuministroCobrosEmitidas.VersionSiiType(0);
  v_SuministroLRCobrosEmitidas.Cabecera.Titular := SuministroCobrosEmitidas.PersonaFisicaJuridicaESType.Create;
  v_SuministroLRCobrosEmitidas.Cabecera.Titular.NombreRazon := Main.g_name;
  v_SuministroLRCobrosEmitidas.Cabecera.Titular.NIFRepresentante := Main.g_nif_representative;
  v_SuministroLRCobrosEmitidas.Cabecera.Titular.NIF := Main.g_nif;
  (* -------------- END CABECERA -------------- *)

  v_RegistroLRCobrosEmitidas[0] := SuministroCobrosEmitidas.LRCobrosEmitidasType.Create;
  v_RegistroLRCobrosEmitidas[0].IDFactura := SuministroCobrosEmitidas.IDFacturaExpedidaBCType.Create;
  v_RegistroLRCobrosEmitidas[0].IDFactura.IdEmisorFactura := SuministroCobrosEmitidas.IDEmisorFactura7.Create;
  v_RegistroLRCobrosEmitidas[0].IDFactura.IDEmisorFactura.nif := 'B00000000';
  v_RegistroLRCobrosEmitidas[0].IDFactura.NumSerieFacturaEmisor := '3302';
  v_RegistroLRCobrosEmitidas[0].IDFactura.FechaExpedicionFacturaEmisor := formatdatetime('dd-mm-yyyy',data.LibrosRegistros.FieldByName('fec_fra').AsDateTime);

  SetLength(v_RegistroCobros,1);
  v_RegistroCobros[0].Fecha := formatdatetime('dd-mm-yyyy',data.LibrosRegistros.FieldByName('fec_fra').AsDateTime);
  v_RegistroCobros[0].Importe := '12.1'
  v_RegistroCobros[0].Medio := SuministroCobrosEmitidas.MedioPagoType(00);
  v_RegistroCobros[0].Cuenta_O_Medio := 'Al contado';

  v_RegistroLRCobrosEmitidas[v_registros_cobros - 1].Cobros := v_RegistroCobros;

  v_RespuestaLRCobrosEmitidas := SuministroCobrosEmitidas.GetsiiSOAP(true, '', Main.g_co_wsdl_localitation, Main.g_co_wsdl_port, Main.g_co_wsdl_service, data.HTTPRIO6).SuministroLRCobrosEmitidas(v_SuministroLRCobrosEmitidas);

end;


Este es el XML que crea:


Código:

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SOAP-ENV:Body>
    <SuministroLRCobrosEmitidas xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd">
      <Cabecera xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
        <IDVersionSii>1.1</IDVersionSii>
        <Titular>
          <NombreRazon>Empresa</NombreRazon>
          <NIFRepresentante/>
          <NIF>B0000000</NIF>
        </Titular>
      </Cabecera>
      <RegistroLRCobros>
        <IDFactura>
          <IDEmisorFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
            <NIF>B00000000</NIF>
          </IDEmisorFactura>
          <NumSerieFacturaEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">3302</NumSerieFacturaEmisor>
          <FechaExpedicionFacturaEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">19-06-2023</FechaExpedicionFacturaEmisor>
        </IDFactura>
        <Cobros>
          <Cobro>
            <Fecha xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">23-06-2023</Fecha>
            <Importe xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">12.1</Importe>
            <Medio xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">01</Medio>
            <Cuenta_O_Medio xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">Al contado</Cuenta_O_Medio>
          </Cobro>
        </Cobros>
      </RegistroLRCobros>
    </SuministroLRCobrosEmitidas>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


y me devuelve el siguiente código de error:


Código:

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

Creo que no tengo bien definidas las variables o algo por el estilo o algo por ahí se me escapa, me podríais poner un ejemplo de suministro de cobros / pagos, please.

dimony 26-06-2023 16:36:02

He descubierto que si en la etiqueta <cobro> se le pone


"https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd"

Funciona. en el cliente web service de la la AEAT.


Pero no logro hacer que se ponga al generarlo yo, ¿Algún alma caritativa, por favor?

keys 27-06-2023 08:54:48

Cita:

Empezado por dimony (Mensaje 551891)
He descubierto que si en la etiqueta <cobro> se le pone


"https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd"

Funciona. en el cliente web service de la la AEAT.


Pero no logro hacer que se ponga al generarlo yo, ¿Algún alma caritativa, por favor?

No se si es un problema de delphi o del fichero xsd de hacienda. Para solucionarlo tienes que capturar el evento OnBeforeExecute el objeto THTTPPRIO y hacer le cambio. Te pongo un ejemplo

Código Delphi [-]
     NficheroTemp :=  'c:\temp\LCFTemporal.Xml';

     //Cargas todo el Tstream que te pasa el evento en un fichero
     if FileExists(NficheroTemp) then
        DeleteFile(NficheroTemp);

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

    //Reemplazas lo que necesitas
     Fichero := TStringList.Create;
     Fichero.LoadFromFile(NficheroTemp);
     for i := 0 to Fichero.Count - 1 do
     
       Fichero.Strings[i] := //Reemplazas lo que quieras;
     
     
     Sleep(1000);
     Fichero.SaveToFile(NficheroTemp);
     


    //lo vuelves a cargar en el TStream
     SOAPRequest.Size:=0;
     ss := TFileStream.Create(NficheroTemp, fmOpenRead);
     SOAPRequest.Position := 0;
     SOAPRequest.CopyFrom( ss, ss.Size);
     ss.Free;

     SOAPRequest.Position := 0;

Lo mismo pasa con los pagos.

dimony 27-06-2023 16:57:06

Ha funcionado muuu bien keys, siguiendo la idea he hecho lo siguiente, por si le sirve a alguien:
Código Delphi [-]
procedure TData.HTTPRIO6BeforeExecute(const MethodName: string;
  SOAPRequest: TStream);
var
  Document: IXMLDocument;
  registro:integer;
  ss:TFileStream;
  Cadena: TStringList;
begin
SOAPRequest.Position := 0;
Document := TXMLDocument.Create(nil);
Document.Options := [];
Document.LoadFromStream(SOAPRequest);
Document.XML.Text := xmlDoc.FormatXMLData(Document.XML.Text);
main.richedit1.Lines.Add(StringReplace(Document.XML.Text,'','',[rfReplaceAll, rfIgnoreCase]));
Cadena := TStringList.Create;
Cadena.Add(Main.RichEdit1.Lines.Text);
Cadena.SaveToFile('c:\tmp\1.xml');
ss := TFileStream.Create('c:\tmp\1.xml',fmOpenRead);
SOAPRequest.Position := 0;
SOAPRequest.CopyFrom(ss,ss.Size);
ss.Free;
SOAPRequest.Position := 0;
end;
Que es lo que ha sugerido KEYS pero a mi modo.
Grache Mille ;)

newtron 28-06-2023 09:50:41

Buenos días a tod@s.

Ayer intenté subir una factura al entorno de preproducción y me dio un error "Unauthorized (401)". Pensando que sería algún problema del servidor me he esperado a hoy pero sigo teniendo el mismo problema.

¿Alguien me puede decir si funciona el servidor de pruebas?

Gracias y un saludo.

Neftali [Germán.Estévez] 28-06-2023 11:13:24

Cita:

Empezado por newtron (Mensaje 551910)
Ayer intenté subir una factura al entorno de preproducción y me dio un error "Unauthorized (401)". Pensando que sería algún problema del servidor me he esperado a hoy pero sigo teniendo el mismo problema.

¿Alguien me puede decir si funciona el servidor de pruebas?

Yo acabo de subir 2 a preproduccion sin problemas.
Una de compras y otra de ventas.

newtron 28-06-2023 11:26:55

Gracias Germán. Pues no sé qué ocurre, a ver si han cambiado el endpoint desde la última vez que probé o algo así y no me he enterado.


¿Puedes decirme si el el puerto/url de facturas recibidas son estos?


'SuministroFactRecibidasPruebas';
'https://prewww1.aeat.es/wlpl/SSII-FACT/ws/fr/SiiFactFRV1SOAP';



Saludos.

newtron 28-06-2023 13:58:18

Ok. Parece que es un problema del certificado que estoy usando. He probado con otro y me funciona.


Gracias y un saludo.

Neftali [Germán.Estévez] 28-06-2023 13:59:00

Cita:

Empezado por newtron (Mensaje 551913)
Gracias Germán. Pues no sé qué ocurre, a ver si han cambiado el endpoint desde la última vez que probé o algo así y no me he enterado.
¿Puedes decirme si el el puerto/url de facturas recibidas son estos?
'SuministroFactRecibidasPruebas';
'https://prewww1.aeat.es/wlpl/SSII-FACT/ws/fr/SiiFactFRV1SOAP';


Lo siento. En eso no te puedo ayudar, a ver si alguien más te puede echar un cable.
Usamos una pieza "externa" para el envío y no tengo acceso a esa información.

newtron 28-06-2023 18:43:38

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 551915)
Lo siento. En eso no te puedo ayudar, a ver si alguien más te puede echar un cable.
Usamos una pieza "externa" para el envío y no tengo acceso a esa información.


Nada, como te comento creo que es problema de mi certificado. Estoy probando con el de mi santa esposa y si que funciona, y si meten a alguien en la cárcel que sea a ella. :D:D


Gracias y un saludo.

Neftali [Germán.Estévez] 29-06-2023 08:16:19

Cita:

Empezado por newtron (Mensaje 551922)
Estoy probando con el de mi santa esposa y si que funciona, y si meten a alguien en la cárcel que sea a ella. :D:D

Como se entere, a dormir al sofá que vas.
:D:D:D

IcuScc 07-08-2023 10:20:19

Cita:

Empezado por juabero (Mensaje 515325)
Buenos dias compañeros:

Esto desarrollando el SII en VB.Net con la versión 6 de Hacienda, generó perfectamente el xml con el WDSL, pero a la hora de enviar por siiSOAPClient, me devuelve el error de "El tipo de contenido text/html del mensaje de respuesta no coincide con el tipo de contenido del enlace (text/xml; charset=utf-8). Si usa un codificador personalizado, asegúrese de que el método IsContentTypeSupported se implemente correctamente", he repasado el config, todas la configuraciones que vosotros habeis puesto y no hay forma.

Alguien podría echarme una mano




hola... recuerdas como lo solventaste?
Gracias.

xamminf 17-08-2023 19:15:58

Numeracion de Tickets
 
Hola,

Ya sé que los tickets no existen, que son facturas simplificadas, pero tengo un cliente que vende entradas de espectaculos
Los numera con numeros sin serie y sin nada mas.
En cambio en el programa la numeracion de las fras. es del tipo SERIE-NUMERO/AÑO

Ahora necesito mandar Resumen de Facturas al SII. Quiero utilizar la clave F4 y poner el primer y ultimo ticket.

¿ Qué hago con el tema de los numeros de ticket teniendo en cuenta que en el programa cada fra. SII lleva su numero de factura como clave y ese es el que se mandara al SII como primer ticket ?


Salu2

antoine0 18-08-2023 09:43:24

Cita:

Empezado por xamminf (Mensaje 552365)
[...] tengo un cliente que vende entradas de espectaculos
Los numera con numeros sin serie y sin nada mas.

Algo no entiendo.
¿Los números se repiten? ¿Es decir, hay tantos tickets 0001 como hay espectáculos?
Si es así, tu cliente tiene un problema, y es que faltaría número de serie, efectivamente.
Pero si los tickets van con números que no se repiten (por ejemplo ticket 0123456789, otro ticket 0123456790 &c.) no veo ningún problema (aparte de las menciones que falten, CIF, fecha, precio, «IVA incluido», obviamente), si los números están emitidos en orden.


Cita:

Ahora necesito mandar Resumen de Facturas al SII. Quiero utilizar la clave F4 y poner el primer y ultimo ticket.

¿ Qué hago con el tema de los numeros de ticket teniendo en cuenta que en el programa cada fra. SII lleva su numero de factura como clave y ese es el que se mandara al SII como primer ticket ?
El hecho que la numeración de las facturas simplificadas no tienen nada que ver con los números de las facturas normales no tiene ninguna importancia: la coherencia en esta materia no es un requisito del reglamento de facturación; lo que importa es que los números sigan correlativos dentro de cada serie.

Primero, tienes que separar los tickets por fecha.
Luego, por bloque de tickets sucesivos (sin número faltante). Digamos 10 tickets del 012345 hasta el 012354. El registro será
Código:

<sii:IDFactura>
  <IDEmisorFactura><NIF>E00000000</NIF></IDEmisorFactura>
  <NumSerieFacturaEmisor>012345</NumSerieFacturaEmisor>
  <NumSerieFacturaEmisorResumenFin>012354</NumSerieFacturaEmisorResumenFin>
  <FechaExpedicionFacturaEmisor>04-08-2023</FechaExpedicionFacturaEmisor>
</sii:IDFactura>
<sii:FacturaExpedida>
  <TipoFactura>F4</TipoFactura>

Caso especial: si solo te queda un ticket en un bloque, hay que ponerle tipo F2 y no rellenar el campo NumSerieFacturaEmisorResumenFin.

keys 22-11-2023 08:51:55

Hola a todos.

A alguien más le esta pasando desde el viernes mas o menos, que al enviar facturas emitidas al SII de la aeat le aparece el siguiente error.

Cita:

Unable to load WSDL File/Location: https://www2.agenciatributaria.gob.e...tEmitidas.wsdl. Error [Empty document]
Ya se que si le pongo UseWSDL := false funciona, pero alguien sabe que ha pasado. Es como si ese enlace ya no estuviera disponible, pero si pinchas sobre el si funciona.

Lo mismo ocurre con todos los demás envíos, ventas, pagos, etc...
Gracias.

Nasca 22-11-2023 09:06:01

Pues lo cierto es que no he notado nada así al enviar y te puedo asegurar que me habría enterado inmediatamente.


La franja horaria es GMT +2. Ahora son las 17:21:30.

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