Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Ley antifraude 2021 (VERIFACTU) - Programas informáticos (https://www.clubdelphi.com/foros/showthread.php?t=95235)

antoine0 14-12-2023 14:41:40

Cita:

Empezado por nuevo1234 (Mensaje 553572)
Cuando se guardan deben ir firmados. Entiendo q la firma ya garantiza q no se modifica después. Vendrá el día y la hora en la firma o algo asi

Una firma solo garantiza que el firmante (él que tiene la clave privada del certificado de firma) tenía a mano los datos firmados.
Si después de la (primera) firma, los datos se modifican fuera del poder del firmante, entonces la firma resultará inválida; pero técnicamente los datos modificados se pueden supuestamente firmar de nuevo (nota: es delito hacerlo; también es delito proponer de hacerlo) si lo hace el firmante...

El día o la hora no vienen en la firma; solo se puede añadir una marca (o sello) de tiempo a lo que se está firmando.

Si usas Veri*factu, la firma la realiza efectivamente Hacienda y sus sistema dan la hora y por tanto Hacienda tiene la garantía que los datos no se modifican en el momento de la generación.
Si es otra clase de SIF, el programador puede añadir una marca de tiempo a la hora de firmar; así sí se garantiza que no se modifican después (a no ser que se manipulen las marcas de tiempo; otro probable delito). Pero la marca de tiempo no es una obligación en lo que sabemos ahora de las especificaciones, entre otras cosas porque no hay un sistema de marca de tiempo disponible que resulte de agradecimiento tanto de Hacienda como de todos los grandes productores de software.

antoine0 14-12-2023 15:33:36

Cita:

Empezado por sglorka (Mensaje 553576)
[aplicar VERI*FACTU] Pero esa decisión es del cliente, no nuestra.

¿Uh? ¿Dónde está escrito que un proveedor de sistema de facturación debe proponer ejercitar, o no, la opción propuesta en el artículo 15, acudir al Veri*factu?

Cierto que el cliente puede elegir. Pero una posibilidad de elección es decidir entre dos proveedores.

sglorka 14-12-2023 16:22:27

Cita:

Empezado por antoine0 (Mensaje 553587)
¿Uh? ¿Dónde está escrito que un proveedor de sistema de facturación debe proponer ejercitar, o no, la opción propuesta en el artículo 15, acudir al Veri*factu?

Cierto que el cliente puede elegir. Pero una posibilidad de elección es decidir entre dos proveedores.

No entiendo lo que dices

antoine0 14-12-2023 16:24:11

Cita:

Empezado por sglorka (Mensaje 553583)
¿Nos están pidiendo algún método técnico fiable parecido para los clientes que informan sólo por requerimiento (no Verifactu) de que los registros que vamos a enviarle son los originales generados en el preciso momento de expedir la factura?

Técnicamente, el Reglamento está redactado al revés: dice que los sistemas de Hacienda cumplen al menos las mismas normas (artículos 16.1 y 16.4). Dicho de otra forma, que no se puede pedir a los productores más de lo que ofrece Hacienda (y ya es algo). Entonces no exactamente parecido; de hecho no hay comparación entre los métodos técnicos.

Luego, los artículos 8.2 a y b obligan a usar un «proceso técnico fiable» y a que «Todos los datos registrados deberán encontrarse correctamente fechados, indicando el momento en que se efectúa el registro.» Si por «registros originales» tu entiendes «registros con los datos originalmente grabados», entonces sí, están pidiendo esto (con la excepción de la palabra «parecido»); tanto a Hacienda para la aplicación quien soporta Veri*factu como a cualquier otro proveedor de SIF que usan el método del registro local encadenado y firmado.

antoine0 14-12-2023 17:50:07

A ver si me explico mejor... (la énfasis es mía)
Cita:

Empezado por sglorka (Mensaje 553576)
Estoy de acuerdo en que lo más sencillo es aplicar VERI*FACTU ya que según reza en el reglamento, se le supondría que se cumple con éste sólo por remitir de forma instantánea y continua los registros. Pero esa decisión es del cliente, no nuestra. Si el cliente decide remitir sus registros sólo por requerimiento, debemos cumplir con los apartados, para eso nos exigen una declaración responsable.

A lo cual he contestado:
Cita:

Empezado por antoine0 (Mensaje 553587)
¿Dónde está escrito que un proveedor de sistema de facturación debe proponer ejercitar, o no, la opción propuesta en el artículo 15, acudir al Veri*factu?

Cierto que el cliente puede elegir. Pero una posibilidad de elección es decidir entre dos proveedores.

Quiero decir que, al mi entender, un proveedor de SIF puede proponer, y certificar, un sistema que SOLO propone la opción de usar el sistema Veri*factu, sin la posibilidad de desactivar la remisión automática del artículo 15. Sin implementar ni firma, ni archivo de los registro (pero sí de los eventos del 8.3)

La opción la tiene el cliente; pero no dentro del ámbito del programa, sino dentro del ámbito de sus obligaciones de tributación, que es más amplia.
Por ejemplo, en el artículo 15 está escrito «podrán remitir [...] todos los registros de facturación generados por los sistemas informáticos» (mi énfasis); no «generados por [strike]el sistema informático[/strike]».

sglorka 14-12-2023 18:02:19

Cita:

Empezado por antoine0 (Mensaje 553591)
A ver si me explico mejor... (la énfasis es mía)


A lo cual he contestado:


Quiero decir que, al mi entender, un proveedor de SIF puede proponer, y certificar, un sistema que SOLO propone la opción de usar el sistema Veri*factu, sin la posibilidad de desactivar la remisión automática del artículo 15. Sin implementar ni firma, ni archivo de los registro (pero sí de los eventos del 8.3)

La opción la tiene el cliente; pero no dentro del ámbito del programa, sino dentro del ámbito de sus obligaciones de tributación, que es más amplia.
Por ejemplo, en el artículo 15 está escrito «podrán remitir [...] todos los registros de facturación generados por los sistemas informáticos» (mi énfasis); no «generados por [strike]el sistema informático[/strike]».

Ok aclarado. En mi mente estaba que los desarrolladores de SIF deberían tener ambas opciones para ampliar el público objetivo. Pero estoy de acuerdo en que si tu solución desarrolla sólo una de ellas entonces el cliente no puede elegir.

nuevo1234 14-12-2023 18:35:47

Cita:

Empezado por sglorka (Mensaje 553592)
Ok aclarado. En mi mente estaba que los desarrolladores de SIF deberían tener ambas opciones para ampliar el público objetivo. Pero estoy de acuerdo en que si tu solución desarrolla sólo una de ellas entonces el cliente no puede elegir.

Entonces como proveedores podemos hacer un sistema verifactu, no verifactu o con las dos opciones. Creo que se puede explicar al cliente q un sistema no verifactu complica el tema y puede finalizar con requerimientos. Podían haber definido solo verifactu como sistema único y no enredar mas

RUBEN_SP 14-12-2023 18:56:04

Cumplir Articulo 8.3 SIF Veri*Factu
 
Yo creo que un SIF Veri*Factu tampoco tiene que cumplir con el Articulo 8.3 ya que al principio del BOE dice textual: "Con ser importantes, los anteriores propósitos encuentran su sentido en un objetivo aún más amplio que desde las organizaciones internacionales (OCDE y Unión Europea) han dado en llamar «cumplimiento tributario por diseño»." y luego refiriéndose al cumplimiento por diseño dice:
"Asimismo, el texto reglamentario prevé la posibilidad de que, voluntariamente, los
obligados tributarios remitan inmediatamente a la Administración tributaria, de forma
automática y segura por medios electrónicos, todos los registros de facturación
generados en sus sistemas informáticos, en cuyo caso se entenderá que esos sistemas
informáticos ya cumplen por diseño los requisitos técnicos anteriormente mencionados."
y luego en el CAPITULO III cuando habla de Sistemas de emisión de facturas verificables dice:
"A los efectos de este Reglamento, se presumirá que los «Sistemas de emisión de facturas verificables» cumplen por diseño los requisitos establecidos en el artículo 8 de este Reglamento, y por lo tanto tampoco les será de aplicación lo dispuesto en el apartado 2 del artículo 14 de este Reglamento."

sglorka 14-12-2023 19:25:13

Cita:

Empezado por RUBEN_SP (Mensaje 553594)
Yo creo que un SIF Veri*Factu tampoco tiene que cumplir con el Articulo 8.3 ya que al principio del BOE dice textual: "Con ser importantes, los anteriores propósitos encuentran su sentido en un objetivo aún más amplio que desde las organizaciones internacionales (OCDE y Unión Europea) han dado en llamar «cumplimiento tributario por diseño»." y luego refiriéndose al cumplimiento por diseño dice:
"Asimismo, el texto reglamentario prevé la posibilidad de que, voluntariamente, los
obligados tributarios remitan inmediatamente a la Administración tributaria, de forma
automática y segura por medios electrónicos, todos los registros de facturación
generados en sus sistemas informáticos, en cuyo caso se entenderá que esos sistemas
informáticos ya cumplen por diseño los requisitos técnicos anteriormente mencionados."
y luego en el CAPITULO III cuando habla de Sistemas de emisión de facturas verificables dice:
"A los efectos de este Reglamento, se presumirá que los «Sistemas de emisión de facturas verificables» cumplen por diseño los requisitos establecidos en el artículo 8 de este Reglamento, y por lo tanto tampoco les será de aplicación lo dispuesto en el apartado 2 del artículo 14 de este Reglamento."

Cuidado no te fíes. A mí también me pareció entender eso pero fíjate en el punto 1 del Artículo 16
[/i]Aquellos sistemas informáticos indicados en la letra a) del artículo 7 de este
Reglamento que, cumpliendo con todas las obligaciones que impone este Reglamento y
de acuerdo a las especificaciones técnicas que se establezcan
[i]

O sea, por un lado dicen que si es VeriFactu no tienes que cumplir pero por otro dice que para ser VeriFactu debes cumplir con todo.

antoine0 14-12-2023 20:18:04

Cita:

Empezado por nuevo1234 (Mensaje 553593)
Entonces como proveedores podemos hacer un sistema verifactu, no verifactu o con las dos opciones. Creo que se puede explicar al cliente q un sistema no verifactu complica el tema y puede finalizar con requerimientos.

Creo que hacer un sistema sin Veri*factu solo tiene sentido si tienes un encargo de hacerlo. Si no conoces los clientes de antemano, me parece imprescindible.:o

En lugar de «finalizar con requerimientos», que me parece demasiado negativo, yo pondría que la empresa que no quiere Veri*factu se está colgando a si misma una diana enorme a la atención de los inspectores de Hacienda.:rolleyes:
Claramente está hecho para ser disuasivo, un poco como el sistema del «criterio de caja» para el IVA: algunas empresas lo necesitan de verdad y no pueden vivir sin él, pero la intención de Hacienda es que se quede marginal.

Cita:

Podían haber definido solo verifactu como sistema único y no enredar mas
No. Hay muchas empresas que no entran en el ámbito del SII pero son «grandes», es decir suficientemente grandes como para tener informáticos capazos de gestionar un sistema en interno que sabe gestionar esto (o contratar a un desarrollador experimentado que sabrá hacerlo ;)). Y pueden tener serías razones para no enviar en tiempo real o casi real cada una de sus facturas por Internet al sistema Veri*factu; como por ejemplo si están fuera de cobertura más tiempo que pueden asumir sus clientes, o que no quieren arriesgar que las facturas viajan por HTTPS, o que el número de tiques están en los millones...

antoine0 14-12-2023 20:55:55

Cita:

Empezado por RUBEN_SP (Mensaje 553594)
Yo creo que un SIF Veri*Factu tampoco tiene que cumplir con el Articulo 8.3 ya que al principio del BOE dice textual [...]
y luego en el CAPITULO III cuando habla de Sistemas de emisión de facturas verificables dice:
"A los efectos de este Reglamento, se presumirá que los «Sistemas de emisión de facturas verificables» cumplen por diseño los requisitos establecidos en el artículo 8 de este Reglamento, y por lo tanto tampoco les será de aplicación lo dispuesto en el apartado 2 del artículo 14 de este Reglamento"

Todo lo que dice antes de DISPONGO no tiene efecto directo para nosotros meros mortales (está para los juristas y los jueces, y también es lectura interesantes para entender).:cool:

Luego sobre lo dicho en el artículo 16.2, no sé exactamente cómo leer «se presumirá que [...] cumplen por diseño los requisitos establecidos en el artículo 8».
Si te eximen del sistema de comunicación de los registros (14.2) sin quitarte la consultación en interactivo de los registros y de los eventos (14.1), significa que debes tener en tu programa tales archivos, de registros y de eventos, ¿no? Y el 8.3 solo dice que debe estar un registro de eventos... (y que su contenido y diseño estarán en el futuro O.M.)
Ahora bien, si resulta que el registro de eventos solo registra las operaciones de grabar, firmar, iniciar serie y poco más, es cierto que son las operaciones que se pueden deducir de los registros de Veri*fatu y por tanto efectivamente ya no es realmente necesario un registro de eventos en el programa en casa del cliente (con la condición para cumplir el 14.1 de implementar una interfaz viva de consulta del Veri*factu).

Como ya se ha dicho varias veces, en realidad debemos esperar a leer la O.M. para entender realmente como comérselo.

antoine0 14-12-2023 21:02:41

Cita:

Empezado por sglorka (Mensaje 553595)
fíjate en el punto 1 del Artículo 16
[/i]Aquellos sistemas informáticos indicados en la letra a) del artículo 7 de este Reglamento que, cumpliendo con todas las obligaciones que impone este Reglamento y de acuerdo a las especificaciones técnicas que se establezcan[i]

En un sistema que va con Veri*factu, en realidad el SIF está compuesto por la reunión de tu programa y del programa Veri*factu de Hacienda con su propia base de datos, su sistema de firma y sello de tiempo con los CSV etc. Lo que dice el 16.2 es que la parte requerida por el artículo 8 está en efecto cumplida por el programa Veri*factu.

nincillo 15-12-2023 13:16:22

Cita:

Empezado por iMia (Mensaje 553574)
Buenas a todos de nuevo,
los que hemos tenido "la suerte" de implementar el TBAI, volvemos a las andadas...

Estoy empezando a mirar la info que acaba de salir, para ver que podré aprovechar del TBAI y no puedo parsear los xsd del documento principal.

el wsdl sin problemas,

El primer xsd sí,
https://prewww2.aeat.es/static_files...nformacion.xsd


pero el resto no...

https://prewww2.aeat.es/static_files...ministroLR.xsd

ni

https://prewww2.aeat.es/static_files...Suministro.xsd


¿Os ha funcionado a los demás?


¿A qué te refieres de si os está funcionando?

Yo estoy intentando utilizarlos desde Delphi 2007 y me salta un mensaje de errro de Empty Documento cuando hago la llamada para dar de alta una factura.

Gracias.

nincillo 15-12-2023 13:54:40

Cita:

Empezado por nincillo (Mensaje 553606)
¿A qué te refieres de si os está funcionando?

Yo estoy intentando utilizarlos desde Delphi 2007 y me salta un mensaje de errro de Empty Documento cuando hago la llamada para dar de alta una factura.

Gracias.

Como ya han pasado más de 25 minutos ya no puedo editar el mensaje original, así que sigo en este otro post.

Estoy intentando importar los wsdl desde dos versiones diferentes de Delphi:
+ Delphi 2007, al intentar importarlos me dice: Error [Empty document].
+ Delphi 11, importar me los permite importar, pero luego, al compilar me da error en dos líneas en las que me dice que los literales de tipo string no pueden medir más de 255 caracteres y de ahí no paso.


¿Alguien los ha importado recientemente?. ¿Ha podido sin problema?

Gracias y un saludo.

Edito: He retocado las líneas que se suponen que miden demasiado (no se que implicaciones traerá luego), pero el caso es que al darle a enviar una petición, me dice "URL Pendiente de definir", con lo cual de momento tampoco podemos probar nada por este "lado".

manelb 15-12-2023 18:06:56

Cita:

Empezado por nincillo (Mensaje 553608)
+ Delphi 11, importar me los permite importar, pero luego, al compilar me da error en dos líneas en las que me dice que los literales de tipo string no pueden medir más de 255 caracteres y de ahí no paso.

En unes pruebas que hice hace un tiempo, recuerdo que me daba ese error de compilación.

Lo que hice en ese momento para continuar con las pruebas fue descomponer la línea en varias cadenas y funcionó. Pude compilar y continuar con mis pruebas.

Código Delphi [-]
'cadena de mas de …….  255 caracteres';
se convirtió en
Código Delphi [-]
'cadena de mas de …'+'….  255 caracteres';

Si nadie ofrece una solución más elegante, a mí me funcionó.

Saludos

nincillo 15-12-2023 20:15:35

Cita:

Empezado por manelb (Mensaje 553612)
En unes pruebas que hice hace un tiempo, recuerdo que me daba ese error de compilación.

Lo que hice en ese momento para continuar con las pruebas fue descomponer la línea en varias cadenas y funcionó. Pude compilar y continuar con mis pruebas.

Código Delphi [-]
'cadena de mas de …….  255 caracteres';
se convirtió en
Código Delphi [-]
'cadena de mas de …'+'….  255 caracteres';

Si nadie ofrece una solución más elegante, a mí me funcionó.

Saludos

Lo probaré... Gracias.
Pero de momento, pocas pruebas de envío se pueden hacer porque no tienen definida la url. ¿Verdad?.

nincillo 16-12-2023 10:30:40

Cita:

Empezado por nincillo (Mensaje 553613)
Lo probaré... Gracias.
Pero de momento, pocas pruebas de envío se pueden hacer porque no tienen definida la url. ¿Verdad?.


Me funcionó el "truco" que me sugeriste. Muchas gracias de nuevo.
Ahora he atascado en otro punto.
A ver si alguien me puede ayudar.
Estoy empezando a rellenar los diferentes apartados de la factura antes de enviarla y he atascado al llegar al punto "Desglose", que se supone que es un Array of Detail.

Este es el código que llevo desarrollado hasta ahora.

Código:

procedure TForm2.BtnEnvioFacturaClick(Sender: TObject);
var
  regFactura : FacturasEmitidasType;
  result : Array_Of_RespuestaExpedidaType;
  arrayFacturas : Array_Of_FacturasEmitidasType;
  arrayDetalles : array of DetalleType;
  detalle : DetalleType;
begin

  regFactura := FacturasEmitidasType.Create;
  regFactura.DatosControl := DatosControlType.Create;

  regFactura.RegistroFacturacion := RegistroFacturacionType.Create;

    regFactura.RegistroFacturacion.PeriodoLiquidacion := PeriodoLiquidacion.Create;
      regFactura.RegistroFacturacion.PeriodoLiquidacion.Ejercicio := '23';
      regFactura.RegistroFacturacion.PeriodoLiquidacion.Periodo := TipoPeriodoType(1); // Empieza a contar desde 0

    regFactura.RegistroFacturacion.IDFactura := IDFacturaExpedidaType.Create;
      regFactura.RegistroFacturacion.IDFactura.NumSerieFacturaEmisor := '23/123456';
      regFactura.RegistroFacturacion.IDFactura.FechaExpedicionFacturaEmisor := '31/12/23';
      regFactura.RegistroFacturacion.IDFactura.IDEmisorFactura := IDEmisorFactura2.Create;
        regFactura.RegistroFacturacion.IDFactura.IDEmisorFactura.NIF := '3333333';

    regFactura.RegistroFacturacion.DescripcionOperacion := 'vneta de mercaderías';

      regFactura.RegistroFacturacion.Desglose := DesgloseType.Create();

        detalle:= DetalleType.Create;
          detalle.CuotaRepercutida := '100';
          detalle.TipoImpositivo := '21';

        SetLength(arrayDetalles, 1);
        arrayDetalles[0] := detalle;

        regFactura.RegistroFacturacion.Desglose[0] := detalle;

  try
    SetLength(arrayFacturas, 1);
    arrayFacturas[0] := regFactura;
    result := GetsfSOAP(true, '', HTTPRIO1).AltaFactuSistemaFacturacion(arrayFacturas);
  finally
    regFactura.Destroy;
  end;


end;


javipes 18-12-2023 09:44:20

y si pruebas con
Código:

setlength(regfactura.RegistroFacturacion.desglose,1);

antes de hacer
Código:

regFactura.RegistroFacturacion.Desglose[0] := DesgloseType.Create();

nincillo 18-12-2023 09:49:31

Cita:

Empezado por nincillo (Mensaje 553617)
Me funcionó el "truco" que me sugeriste. Muchas gracias de nuevo.
Ahora he atascado en otro punto.
A ver si alguien me puede ayudar.
Estoy empezando a rellenar los diferentes apartados de la factura antes de enviarla y he atascado al llegar al punto "Desglose", que se supone que es un Array of Detail.

Este es el código que llevo desarrollado hasta ahora.

Código:

procedure TForm2.BtnEnvioFacturaClick(Sender: TObject);
var
  regFactura : FacturasEmitidasType;
  result : Array_Of_RespuestaExpedidaType;
  arrayFacturas : Array_Of_FacturasEmitidasType;
  arrayDetalles : array of DetalleType;
  detalle : DetalleType;
begin

  regFactura := FacturasEmitidasType.Create;
  regFactura.DatosControl := DatosControlType.Create;

  regFactura.RegistroFacturacion := RegistroFacturacionType.Create;

    regFactura.RegistroFacturacion.PeriodoLiquidacion := PeriodoLiquidacion.Create;
      regFactura.RegistroFacturacion.PeriodoLiquidacion.Ejercicio := '23';
      regFactura.RegistroFacturacion.PeriodoLiquidacion.Periodo := TipoPeriodoType(1); // Empieza a contar desde 0

    regFactura.RegistroFacturacion.IDFactura := IDFacturaExpedidaType.Create;
      regFactura.RegistroFacturacion.IDFactura.NumSerieFacturaEmisor := '23/123456';
      regFactura.RegistroFacturacion.IDFactura.FechaExpedicionFacturaEmisor := '31/12/23';
      regFactura.RegistroFacturacion.IDFactura.IDEmisorFactura := IDEmisorFactura2.Create;
        regFactura.RegistroFacturacion.IDFactura.IDEmisorFactura.NIF := '3333333';

    regFactura.RegistroFacturacion.DescripcionOperacion := 'vneta de mercaderías';

      regFactura.RegistroFacturacion.Desglose := DesgloseType.Create();

        detalle:= DetalleType.Create;
          detalle.CuotaRepercutida := '100';
          detalle.TipoImpositivo := '21';

        SetLength(arrayDetalles, 1);
        arrayDetalles[0] := detalle;

        regFactura.RegistroFacturacion.Desglose[0] := detalle;

  try
    SetLength(arrayFacturas, 1);
    arrayFacturas[0] := regFactura;
    result := GetsfSOAP(true, '', HTTPRIO1).AltaFactuSistemaFacturacion(arrayFacturas);
  finally
    regFactura.Destroy;
  end;


end;


Me respondo a mi mismo por si le puede servir a alguién:

Código:

          // <- Rellenos los datos de las diferentes bases DetalleType
            detalle1:= DetalleType.Create;
              detalle1.ClaveRegimen := IdOperacionesTrascendenciaTributariaType._01;                               
              detalle1.CalificacionOperacion := CalificacionOperacionType.S1;                                     
              detalle1.OperacionExenta := OperacionExentaType.E0;                                                     
              detalle1.TipoImpositivo := '21';
              detalle1.BaseImponibleOimporteNoSujeto := '123';
              detalle1.BaseImponibleACoste := '111';                                                                 
              detalle1.CuotaRepercutida := '100';
              detalle1.TipoRecargoEquivalencia := '0';
              detalle1.CuotaRecargoEquivalencia := '0';


            detalle2:= DetalleType.Create;
              detalle2.CuotaRepercutida := '200';
              detalle2.TipoImpositivo := '10';

            // Los añado todos en un array
            SetLength(arrayDetalles, 2);
              arrayDetalles[0] := detalle1;
              arrayDetalles[1] := detalle2;

            // Cargo el array con todas las posibles bases en el apartado Desglose
            regFactura.RegistroFacturacion.Desglose := arrayDetalles; // := deta .Create;



Por favor, ¿alguien que tenga Delphi 2007 podría intentar cargar a día de hoy los WSDL haber si puede o si le da error de "Document Empty"?.

Yo recuerdo haberlos importado hace unos meses sin problema, pero algo han modificado desde entonces que ahora no soy capaz.

Gracias.

nincillo 18-12-2023 10:09:04

Cita:

Empezado por javipes (Mensaje 553625)
y si pruebas con
Código:

setlength(regfactura.RegistroFacturacion.desglose,1);

antes de hacer
Código:

regFactura.RegistroFacturacion.Desglose[0] := DesgloseType.Create();

No había visto este mensaje antes de enviar el como lo solucioné.

De todas formas voy a probarlo.

Muchas gracias.

nincillo 18-12-2023 10:55:14

Cita:

Empezado por nincillo (Mensaje 553626)
Me respondo a mi mismo por si le puede servir a alguién:

Código:

          // <- Rellenos los datos de las diferentes bases DetalleType
            detalle1:= DetalleType.Create;
              detalle1.ClaveRegimen := IdOperacionesTrascendenciaTributariaType._01;                               
              detalle1.CalificacionOperacion := CalificacionOperacionType.S1;                                     
              detalle1.OperacionExenta := OperacionExentaType.E0;                                                     
              detalle1.TipoImpositivo := '21';
              detalle1.BaseImponibleOimporteNoSujeto := '123';
              detalle1.BaseImponibleACoste := '111';                                                                 
              detalle1.CuotaRepercutida := '100';
              detalle1.TipoRecargoEquivalencia := '0';
              detalle1.CuotaRecargoEquivalencia := '0';


            detalle2:= DetalleType.Create;
              detalle2.CuotaRepercutida := '200';
              detalle2.TipoImpositivo := '10';

            // Los añado todos en un array
            SetLength(arrayDetalles, 2);
              arrayDetalles[0] := detalle1;
              arrayDetalles[1] := detalle2;

            // Cargo el array con todas las posibles bases en el apartado Desglose
            regFactura.RegistroFacturacion.Desglose := arrayDetalles; // := deta .Create;



Por favor, ¿alguien que tenga Delphi 2007 podría intentar cargar a día de hoy los WSDL haber si puede o si le da error de "Document Empty"?.

Yo recuerdo haberlos importado hace unos meses sin problema, pero algo han modificado desde entonces que ahora no soy capaz.

Gracias.

Ahora he conseguido ver algo más tras descargarme el wsdl previamente a un fichero local.

Ahora no me da error, pero no me lo importa "completo". Al ver el código fuente generado, veo lo siguiente a ver si puede servir de ayuda:
Código:

  // ************************************************************************ //
  // Namespace : https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SistemaFacturacion.wsdl
  // transport : http://schemas.xmlsoap.org/soap/http
  // style    : document
  // binding  : sfBinding
  // service  : siiService
  // port      : SistemaFacturacion
  // URL      : URL Pendiente de definir
  // ************************************************************************ //
  sfSOAP = interface(IInvokable)
  ['{B0562959-AF9B-3247-F911-0C4058390FB8}']

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

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


nincillo 18-12-2023 18:56:37

Cita:

Empezado por nincillo (Mensaje 553628)
Ahora he conseguido ver algo más tras descargarme el wsdl previamente a un fichero local.

Ahora no me da error, pero no me lo importa "completo". Al ver el código fuente generado, veo lo siguiente a ver si puede servir de ayuda:
Código:

  // ************************************************************************ //
  // Namespace : https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SistemaFacturacion.wsdl
  // transport : http://schemas.xmlsoap.org/soap/http
  // style    : document
  // binding  : sfBinding
  // service  : siiService
  // port      : SistemaFacturacion
  // URL      : URL Pendiente de definir
  // ************************************************************************ //
  sfSOAP = interface(IInvokable)
  ['{B0562959-AF9B-3247-F911-0C4058390FB8}']

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

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



Hola, parece que el problema es debido a que las urls utilizadas son https y el Delphi 2007 no debe de aceptarlas.
Al final lo que he tenido que hacermes es una copia local tanto del wsdl como de los wsd y "retocarlas" para que trabajen localmente. Así parece que por fin he conseguido que me las reconozca también en el Delphi 2007.

Maska10 21-12-2023 08:43:56

Articulo 16, punto 3: Los «Sistemas de emisión de facturas verificables» no tendrán la obligación de realizar la firma electrónica de los registros de facturación a la que se refiere el artículo 12 de este Reglamento, siendo suficiente con que calculen la huella o «hash» de dichos registros.

Ahora digo yo ... que yo sepa (o al menos con Ticket Bai lo hacíamos así), la huella o hash la hacemos con el resultado de la firma electrónica de la factura anterior, ¿que huella quieren que hagamos sin firmar?

antoine0 21-12-2023 11:18:29

Cita:

Empezado por Maska10 (Mensaje 553655)
¿que huella quieren que hagamos sin firmar?

Cómo se calculan las huellas y esta clase de detalles no están en el RDL que se ha publicado la semana pasada; se publicarán en un Orden Ministerial que está por venir (en breve según se dice).
Mientras tanto, ¡pasad unas buenas fiestas! ;)

keys 21-12-2023 14:45:15

Estos de hacienda han pensado en que no nos aburramos en Navidad. Ya lo han publicado.

https://www.agenciatributaria.es/AEA...ERI_FACTU.html

ermendalenda 21-12-2023 17:29:04

Cita:

Empezado por keys (Mensaje 553661)
Estos de hacienda han pensado en que no nos aburramos en Navidad. Ya lo han publicado.

https://www.agenciatributaria.es/AEA...ERI_FACTU.html

Acabo de verlo también
Habéis visto si ya han puesto servicios de envío para pruebas y/o QR?

ermendalenda 21-12-2023 22:48:51

Cambios
 
Veo cambios en los nombres de varios nodos
Y han agregado algunos nodos..
No parece que haya cambios que compliquen mucho a los que lo tengan ya diseñado. Por ejemplo a mi

Respetan el calculo del hash como sha256(menos mal).

nincillo 22-12-2023 10:13:42

Cita:

Empezado por ermendalenda (Mensaje 553664)
Veo cambios en los nombres de varios nodos
Y han agregado algunos nodos..
No parece que haya cambios que compliquen mucho a los que lo tengan ya diseñado. Por ejemplo a mi

Respetan el calculo del hash como sha256(menos mal).

Acabo de hacer la importación de los nuevos wsdl y al compilar, la primera (entre otras) en la frente.

¿Se han cargado del todo los periodos de liquidación?. Supongo que será una errata...

Código:

          regFactura.RegistroFacturacion.PeriodoLiquidacion := PeriodoLiquidacion.Create;
            regFactura.RegistroFacturacion.PeriodoLiquidacion.Ejercicio := '23';
            regFactura.RegistroFacturacion.PeriodoLiquidacion.Periodo := TipoPeriodoType(1); // Empieza a contar desde 0


edari 22-12-2023 10:56:11

Al final con el registro de transacciones sigue vigente? Se relajó la norma?

newtron 22-12-2023 12:09:26

Cita:

Empezado por edari (Mensaje 553666)
Al final con el registro de transacciones sigue vigente? Se relajó la norma?


Me temo que no.

ermendalenda 22-12-2023 13:52:29

Cita:

Empezado por nincillo (Mensaje 553665)
Acabo de hacer la importación de los nuevos wsdl y al compilar, la primera (entre otras) en la frente.

¿Se han cargado del todo los periodos de liquidación?. Supongo que será una errata...

Código:

          regFactura.RegistroFacturacion.PeriodoLiquidacion := PeriodoLiquidacion.Create;
            regFactura.RegistroFacturacion.PeriodoLiquidacion.Ejercicio := '23';
            regFactura.RegistroFacturacion.PeriodoLiquidacion.Periodo := TipoPeriodoType(1); // Empieza a contar desde 0



Si, efectivamente lo había visto. Supongo que lo pueden extraer de las fechas que mandamos.

ermendalenda 22-12-2023 13:58:16

Cita:

Empezado por nincillo (Mensaje 553665)
Acabo de hacer la importación de los nuevos wsdl y al compilar, la primera (entre otras) en la frente.

¿Se han cargado del todo los periodos de liquidación?. Supongo que será una errata...

Código:

          regFactura.RegistroFacturacion.PeriodoLiquidacion := PeriodoLiquidacion.Create;
            regFactura.RegistroFacturacion.PeriodoLiquidacion.Ejercicio := '23';
            regFactura.RegistroFacturacion.PeriodoLiquidacion.Periodo := TipoPeriodoType(1); // Empieza a contar desde 0


Por cierto.puedes indicarme coml te has descargado wl nuevo wsdl, por favor?

nincillo 22-12-2023 15:15:27

Cita:

Empezado por ermendalenda (Mensaje 553676)
Por cierto.puedes indicarme coml te has descargado wl nuevo wsdl, por favor?

Del link que puso un poco más arriba @keys.

El primero de los link que aparecen en esa pagins, es un pdf que tiene los wsdl, wsd, etc.

sglorka 22-12-2023 15:59:19

Registro de eventos
 
Veo que nadie hacer referencia a los registros de eventos que vienen definidos en la hoja de Excel https://www.agenciatributaria.es/sta...23-12-20).xlsx

¿ Qué os parece ?

ramherfer 23-12-2023 10:03:10

Incluir en el Indice de la página (por favor)
 
Cita:

Empezado por keys (Mensaje 553661)
Estos de hacienda han pensado en que no nos aburramos en Navidad. Ya lo han publicado.

https://www.agenciatributaria.es/AEA...ERI_FACTU.html

Si y el enlace no esta puesto en el indice del hilo en la primera página, y seguia consultando el antiguo y me preguntaba que narices había cambiado. Es más haciendo pruebas con los antiguos dándome de narices contra un muro ;).

nincillo 24-12-2023 09:23:51

Creo que hay diferencias entres los wsdl y el xml de ejemplo
 
La comparación la estoy haciendo entre los nuevos wsdl recién importaros y los xml de ejemplo que vienen indicados en el siguiente documento: https://www.agenciatributaria.es/sta...ioWeb_v1.0.pdf

En los wsdl importados no encuentro el apartado correspondiente a:
Código:

<sum:AltaFactuSistemaFacturacion>
  <sum1:Cabecera>
    <sum1:IDVersion>1.0</sum1:IDVersion>
    <sum1:ObligadoEmision>
        <sum1:NombreRazon>XXXXX</sum1:NombreRazon>
        <sum1:NIF>XXXXX</sum1:NIF>
    </sum1:ObligadoEmision>
    <sum1:TipoRegistroAEAT>T0</sum1:TipoRegistroAEAT>
  </sum1:Cabecera>
</sum:AltaFactuSistemaFacturacion>

Ni el apartado correspondiente a:
Código:

<sum:RegistroAltaFacturas>
            <sum:RegistroFacturacion>
              <sum1:Contraparte>
                  <sum1:NombreRazon>XXXXX</sum1:NombreRazon>
                  <sum1:NIF>XXXXX</sum1:NIF>
              </sum1:Contraparte>
            </sum:RegistroAltaFacturas>
 </sum:AltaFactuSistemaFacturacion>

Me parece que hay bastantes más "diferencias" entre ambos, pero éstas son las primeras con las que me he encontrado junto con la que comenté en un post anterior que se han cargado el apartado del período de liquidación.

¿Alguien mas lo ha notado o estoy yo haciendo algo mal?

sglorka 24-12-2023 10:31:00

Código:

<sum:RegistroAltaFacturas>
            <sum:RegistroFacturacion>
              <sum1:Contraparte>
                  <sum1:NombreRazon>XXXXX</sum1:NombreRazon>
                  <sum1:NIF>XXXXX</sum1:NIF>
              </sum1:Contraparte>
            </sum:RegistroAltaFacturas>
 </sum:AltaFactuSistemaFacturacion>

Me parece que hay bastantes más "diferencias" entre ambos, pero éstas son las primeras con las que me he encontrado junto con la que comenté en un post anterior que se han cargado el apartado del período de liquidación.

¿Alguien mas lo ha notado o estoy yo haciendo algo mal?[/quote]

Este apartado ha sido sustituido por
<Destinatarios xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDDestinatario>
<NombreRazon>aaaaaaaaa</NombreRazon>
<NIF>436**49E</NIF>
</IDDestinatario>
</Destinatarios>

sglorka 24-12-2023 10:32:38

Cita:

Empezado por nincillo (Mensaje 553685)
La comparación la estoy haciendo entre los nuevos wsdl recién importaros y los xml de ejemplo que vienen indicados en el siguiente documento: https://www.agenciatributaria.es/sta...ioWeb_v1.0.pdf

En los wsdl importados no encuentro el apartado correspondiente a:
Código:

<sum:AltaFactuSistemaFacturacion>
  <sum1:Cabecera>
    <sum1:IDVersion>1.0</sum1:IDVersion>
    <sum1:ObligadoEmision>
        <sum1:NombreRazon>XXXXX</sum1:NombreRazon>
        <sum1:NIF>XXXXX</sum1:NIF>
    </sum1:ObligadoEmision>
    <sum1:TipoRegistroAEAT>T0</sum1:TipoRegistroAEAT>
  </sum1:Cabecera>
</sum:AltaFactuSistemaFacturacion>

Ni el apartado correspondiente a:


Me parece que hay bastantes más "diferencias" entre ambos, pero éstas son las primeras con las que me he encontrado junto con la que comenté en un post anterior que se han cargado el apartado del período de liquidación.

¿Alguien mas lo ha notado o estoy yo haciendo algo mal?

Y este está correctamente localizado
Código:

<AltaFactuSistemaFacturacion>
<Cabecera xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDVersion>1.0</IDVersion>
<ObligadoEmision>
<NombreRazon>xxxxxxxx</NombreRazon>
<NIF>B358***51</NIF>
</ObligadoEmision>
<TipoRegistroAEAT>T0</TipoRegistroAEAT>
</Cabecera>


nincillo 25-12-2023 13:24:33

Cita:

Empezado por sglorka (Mensaje 553687)
Y este está correctamente localizado
Código:

<AltaFactuSistemaFacturacion>
<Cabecera xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDVersion>1.0</IDVersion>
<ObligadoEmision>
<NombreRazon>xxxxxxxx</NombreRazon>
<NIF>B358***51</NIF>
</ObligadoEmision>
<TipoRegistroAEAT>T0</TipoRegistroAEAT>
</Cabecera>


Hola de nuevo.
Tras hacer la importación del wsdl, relleno todos los apartados a los que tengo acceso, pero comparando con los ejemplos de los xml publicados, veo que hay una "parte" a la que no tengo acceso, o al menos no se como hacerlo.

Yo el xml resultando lo obtengo en el evento HTTPRIO1BeforeExecute.

Y lo que obtengo con datos de prueba es:

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>
- <AltaFactuSistemaFacturacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
- <RegistroAltaFacturas>
+ <RegistroFacturacion>
- <IDFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
- <IDEmisorFactura>
  <NIF>3333333</NIF>
  </IDEmisorFactura>
  <NumSerieFacturaEmisor>23/123456</NumSerieFacturaEmisor>
  <FechaExpedicionFacturaEmisor>31/12/23</FechaExpedicionFacturaEmisor>
  </IDFactura>
  <NombreRazonEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" />
  <TipoRegistroSIF xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">S0</TipoRegistroSIF>
  <TipoFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">F1</TipoFactura>
  <TipoRectificativa xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">S</TipoRectificativa>
- <FacturasRectificadas xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
- <IDFacturaRectificada>
  <NumSerieFacturaEmisor>3333/222</NumSerieFacturaEmisor>
  <FechaExpedicionFacturaEmisor>15/12/232</FechaExpedicionFacturaEmisor>
  </IDFacturaRectificada>
  </FacturasRectificadas>
- <ImporteRectificacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
  <BaseRectificada>11</BaseRectificada>
  <CuotaRectificada>10</CuotaRectificada>
  <CuotaRecargoRectificado>0</CuotaRecargoRectificado>
  </ImporteRectificacion>
  <FechaOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">01/01/2023</FechaOperacion>
  <DescripcionOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">vneta de mercaderías</DescripcionOperacion>
  <FacturaSimplificadaArticulos7.2_7.3 xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">N</FacturaSimplificadaArticulos7.2_7.3>
  <FacturaSinIdentifDestinatarioArticulo6.1.d xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">N</FacturaSinIdentifDestinatarioArticulo6.1.d>
  <Macrodato xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">N</Macrodato>
  <EmitidaPorTercerosODestinatario xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">D</EmitidaPorTercerosODestinatario>
- <Tercero xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
  <NombreRazon>Nombre de la contraparte</NombreRazon>
  <NIF>eerererer</NIF>
- <IDOtro>
  <CodigoPais>SA</CodigoPais>
  <IDType>02</IDType>
  <ID>dddd</ID>
  </IDOtro>
  </Tercero>
+ <Desglose xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
- <DetalleDesglose>
  <ClaveRegimen>01</ClaveRegimen>
  <CalificacionOperacion>S1</CalificacionOperacion>
  <OperacionExenta>E0</OperacionExenta>
  <TipoImpositivo>21</TipoImpositivo>
  <BaseImponibleOimporteNoSujeto>123</BaseImponibleOimporteNoSujeto>
  <BaseImponibleACoste>111</BaseImponibleACoste>
  <CuotaRepercutida>100</CuotaRepercutida>
  <TipoRecargoEquivalencia>0</TipoRecargoEquivalencia>
  <CuotaRecargoEquivalencia>0</CuotaRecargoEquivalencia>
  </DetalleDesglose>
- <DetalleDesglose>
  <ClaveRegimen>01</ClaveRegimen>
  <TipoImpositivo>10</TipoImpositivo>
  <BaseImponibleOimporteNoSujeto />
  <CuotaRepercutida>200</CuotaRepercutida>
  </DetalleDesglose>
  </Desglose>
  <ImporteTotal xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">123,45</ImporteTotal>
+ <EncadenamientoRegistroAnterior xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
- <IDEmisorFacturaRegistroAnterior>
  <NIF>nif emisor anterior</NIF>
  </IDEmisorFacturaRegistroAnterior>
  <NumSerieFacturaRegistroAnterior>3344</NumSerieFacturaRegistroAnterior>
  <FechaExpedicionFacturaRegistroAnterior>30/12/2023</FechaExpedicionFacturaRegistroAnterior>
  <HuellaRegistroAnterior>ddd3333gggvbbbb</HuellaRegistroAnterior>
  </EncadenamientoRegistroAnterior>
+ <SistemaInformatico xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
  <NombreRazon>Programitas del campo S.l.</NombreRazon>
  <NIF>ddddd</NIF>
- <IDOtro>
  <IDType>02</IDType>
  <ID />
  </IDOtro>
  <NombreSistemaInformatico />
  <IdSistemaInformatico>3333</IdSistemaInformatico>
  <Version>0.1</Version>
  <NumeroInstalacion>1</NumeroInstalacion>
  <TipoUsoPosibleSoloVerifactu>N</TipoUsoPosibleSoloVerifactu>
  <TipoUsoPosibleOtros>S</TipoUsoPosibleOtros>
  <TipoUsoPosibleMultiOT>S</TipoUsoPosibleMultiOT>
  </SistemaInformatico>
  <FechaGenRegistro xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" />
  <HoraGenRegistro xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" />
  <HusoHorarioGenRegistro xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">01</HusoHorarioGenRegistro>
  <NumRegistroAcuerdoFacturacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">OJO</NumRegistroAcuerdoFacturacion>
  </RegistroFacturacion>
- <DatosControl>
  <Huella xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">HUella</Huella>
  <TipoHash xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">01</TipoHash>
  <Incidencia xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">N</Incidencia>
  </DatosControl>
  </RegistroAltaFacturas>
  </AltaFactuSistemaFacturacion>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>

Pero en el ejemplo de xml que tienen publicado veo que antes del nodo <RegistroAltaFacturas> hay metido un nodo Cabecera que en mi captura anterior no aparece.

Código:

<sum:AltaFactuSistemaFacturacion>
<sum1:Cabecera>
<sum1:IDVersion>1.0</sum1:IDVersion>         
<sum1:ObligadoEmision>
              <sum1:NombreRazon>XXXXX</sum1:NombreRazon>
              <sum1:NIF>XXXXX</sum1:NIF>
            </sum1:ObligadoEmision>
            <sum1:TipoRegistroAEAT>T0</sum1:TipoRegistroAEAT>
        </sum1:Cabecera>
        <sum:RegistroAltaFacturas>
....

Y ahí es donde me estoy pegando cabezazos con ello y no consiguo avanzar.
E importado los wsd y entonces en ellos si llego a esa "cabecera", pero lo que luego no consigo es como añadirle las facturas y menos hacer la llamada SOAP, ya que me exige que el parámetro sea del tipo ArrayOf_FacturasEmiitidasType.

A ver si alguien me puede pegar un empujón.

Muchas gracias y Felices Fiestas!!!

sglorka 25-12-2023 21:26:14

Cita:

Empezado por nincillo (Mensaje 553696)
Hola de nuevo.
Tras hacer la importación del wsdl, relleno todos los apartados a los que tengo acceso, pero comparando con los ejemplos de los xml publicados, veo que hay una "parte" a la que no tengo acceso, o al menos no se como hacerlo.

Yo el xml resultando lo obtengo en el evento HTTPRIO1BeforeExecute.

Y lo que obtengo con datos de prueba es:

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>
- <AltaFactuSistemaFacturacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
- <RegistroAltaFacturas>
+ <RegistroFacturacion>
- <IDFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
- <IDEmisorFactura>
  <NIF>3333333</NIF>
  </IDEmisorFactura>
  <NumSerieFacturaEmisor>23/123456</NumSerieFacturaEmisor>
  <FechaExpedicionFacturaEmisor>31/12/23</FechaExpedicionFacturaEmisor>
  </IDFactura>
  <NombreRazonEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" />
  <TipoRegistroSIF xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">S0</TipoRegistroSIF>
  <TipoFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">F1</TipoFactura>
  <TipoRectificativa xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">S</TipoRectificativa>
- <FacturasRectificadas xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
- <IDFacturaRectificada>
  <NumSerieFacturaEmisor>3333/222</NumSerieFacturaEmisor>
  <FechaExpedicionFacturaEmisor>15/12/232</FechaExpedicionFacturaEmisor>
  </IDFacturaRectificada>
  </FacturasRectificadas>
- <ImporteRectificacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
  <BaseRectificada>11</BaseRectificada>
  <CuotaRectificada>10</CuotaRectificada>
  <CuotaRecargoRectificado>0</CuotaRecargoRectificado>
  </ImporteRectificacion>
  <FechaOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">01/01/2023</FechaOperacion>
  <DescripcionOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">vneta de mercaderías</DescripcionOperacion>
  <FacturaSimplificadaArticulos7.2_7.3 xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">N</FacturaSimplificadaArticulos7.2_7.3>
  <FacturaSinIdentifDestinatarioArticulo6.1.d xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">N</FacturaSinIdentifDestinatarioArticulo6.1.d>
  <Macrodato xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">N</Macrodato>
  <EmitidaPorTercerosODestinatario xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">D</EmitidaPorTercerosODestinatario>
- <Tercero xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
  <NombreRazon>Nombre de la contraparte</NombreRazon>
  <NIF>eerererer</NIF>
- <IDOtro>
  <CodigoPais>SA</CodigoPais>
  <IDType>02</IDType>
  <ID>dddd</ID>
  </IDOtro>
  </Tercero>
+ <Desglose xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
- <DetalleDesglose>
  <ClaveRegimen>01</ClaveRegimen>
  <CalificacionOperacion>S1</CalificacionOperacion>
  <OperacionExenta>E0</OperacionExenta>
  <TipoImpositivo>21</TipoImpositivo>
  <BaseImponibleOimporteNoSujeto>123</BaseImponibleOimporteNoSujeto>
  <BaseImponibleACoste>111</BaseImponibleACoste>
  <CuotaRepercutida>100</CuotaRepercutida>
  <TipoRecargoEquivalencia>0</TipoRecargoEquivalencia>
  <CuotaRecargoEquivalencia>0</CuotaRecargoEquivalencia>
  </DetalleDesglose>
- <DetalleDesglose>
  <ClaveRegimen>01</ClaveRegimen>
  <TipoImpositivo>10</TipoImpositivo>
  <BaseImponibleOimporteNoSujeto />
  <CuotaRepercutida>200</CuotaRepercutida>
  </DetalleDesglose>
  </Desglose>
  <ImporteTotal xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">123,45</ImporteTotal>
+ <EncadenamientoRegistroAnterior xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
- <IDEmisorFacturaRegistroAnterior>
  <NIF>nif emisor anterior</NIF>
  </IDEmisorFacturaRegistroAnterior>
  <NumSerieFacturaRegistroAnterior>3344</NumSerieFacturaRegistroAnterior>
  <FechaExpedicionFacturaRegistroAnterior>30/12/2023</FechaExpedicionFacturaRegistroAnterior>
  <HuellaRegistroAnterior>ddd3333gggvbbbb</HuellaRegistroAnterior>
  </EncadenamientoRegistroAnterior>
+ <SistemaInformatico xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
  <NombreRazon>Programitas del campo S.l.</NombreRazon>
  <NIF>ddddd</NIF>
- <IDOtro>
  <IDType>02</IDType>
  <ID />
  </IDOtro>
  <NombreSistemaInformatico />
  <IdSistemaInformatico>3333</IdSistemaInformatico>
  <Version>0.1</Version>
  <NumeroInstalacion>1</NumeroInstalacion>
  <TipoUsoPosibleSoloVerifactu>N</TipoUsoPosibleSoloVerifactu>
  <TipoUsoPosibleOtros>S</TipoUsoPosibleOtros>
  <TipoUsoPosibleMultiOT>S</TipoUsoPosibleMultiOT>
  </SistemaInformatico>
  <FechaGenRegistro xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" />
  <HoraGenRegistro xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" />
  <HusoHorarioGenRegistro xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">01</HusoHorarioGenRegistro>
  <NumRegistroAcuerdoFacturacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">OJO</NumRegistroAcuerdoFacturacion>
  </RegistroFacturacion>
- <DatosControl>
  <Huella xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">HUella</Huella>
  <TipoHash xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">01</TipoHash>
  <Incidencia xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">N</Incidencia>
  </DatosControl>
  </RegistroAltaFacturas>
  </AltaFactuSistemaFacturacion>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>

Pero en el ejemplo de xml que tienen publicado veo que antes del nodo <RegistroAltaFacturas> hay metido un nodo Cabecera que en mi captura anterior no aparece.

Código:

<sum:AltaFactuSistemaFacturacion>
<sum1:Cabecera>
<sum1:IDVersion>1.0</sum1:IDVersion>         
<sum1:ObligadoEmision>
              <sum1:NombreRazon>XXXXX</sum1:NombreRazon>
              <sum1:NIF>XXXXX</sum1:NIF>
            </sum1:ObligadoEmision>
            <sum1:TipoRegistroAEAT>T0</sum1:TipoRegistroAEAT>
        </sum1:Cabecera>
        <sum:RegistroAltaFacturas>
....

Y ahí es donde me estoy pegando cabezazos con ello y no consiguo avanzar.
E importado los wsd y entonces en ellos si llego a esa "cabecera", pero lo que luego no consigo es como añadirle las facturas y menos hacer la llamada SOAP, ya que me exige que el parámetro sea del tipo ArrayOf_FacturasEmiitidasType.

A ver si alguien me puede pegar un empujón.

Muchas gracias y Felices Fiestas!!!

Siento no poder ayudarte. Yo importo el Wsdl con visual studio y trabajo en Net. Pero el resultado de tu importación me parece extraño. No puede desaparecer un nodo así como así


La franja horaria es GMT +2. Ahora son las 02:12:14.

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