Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1141  
Antiguo 15-01-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 142
Poder: 3
antoine0 Va por buen camino
Cita:
Empezado por afxe Ver Mensaje
No sé... creo que la frase "Para un determinado obligado tributario, el sistema informático producirá una única cadena de registros de facturación" no deja lugar a dudas, el obligado tributario no es cada TPV o PDA de un negocio, seguramente se refiere a un CIF/NIF.
Esta leyendo como si fuese escrito "Para un determinado obligado tributario, el único sistema informático..." Pero esto no está escrito en ningún lugar. Y la respuesta a sglorka contempla claramente la posibilidad de tener más de un SIF para una determinada empresa (NIF).
Cita:
Creo que si te dan la posibilidad de empezar tantas cadenas de facturación desde cero como uno quiera no tendría mucho sentido encadenar la factura, incluso se podría llegar a la paradoja de tener tantas series de facturación como facturas, y ya no sería necesario encadenar.
Aquí vendrá el inspector diciéndote que hay abuso, y será multa por mala fe. Hay lógica de tener varios SIF por tener varios TPV, ya que son varios ordenadores. No veo tanta lógica en poner varios SIF para un mismo NIF corriendo en un mismo servidor, aunque sería para dos departamentos distintos con dos jefes muy celosos.

Cita:
Otra discusión que tenemos es si el envío debe ser inmediato a la emisión de la factura o puedo hacerlo en momentos más propicios... Según el desarrollo técnico del sistema Verifactu dice que tras cada comunicación recibiremos instrucciones de cuando o cuantos registros tendremos que comunicar la siguiente vez, pero no sé si nosotros podemos decidir también la cantidad de registros y establecer ciclos periódicos de comunicación.
El sistema (n,t) te ponen límite por debajo en número de registros (n) y en el tiempo de demora (t). Entiendo que no hay límite por encima para el tiempo de demora (para n hay un límite de 10.000 registros). El único lugar dónde veo una restricción está en el artículo 16.1 del RDL (la énfasis es mía):
Cita:
[...] para remitir efectivamente por medios electrónicos a la Agencia Estatal de Administración Tributaria de forma continuada, segura, correcta, íntegra, automática, consecutiva, instantánea y fehaciente todos los registros de facturación generados [...]
Es cierto que si el sistema de AEAT ha caído o la conexión a internet de la zona está fuera de servicio por motivos externos, no veo muy bien por qué te multen por no cumplir esta instantaneidad, aunque siga definida como "en menos de 60 minutos".
Pero para ponerlo de otra forma, no sé si es posible tener un sistema dónde la presentación al sistema Veri*factura siga suspendida al uso de certificados de usuario, dado que son certificados cuyo acceso no es (o no debería ser) posible si aquel usuario no esté presente: se podrían dar casos dónde no hay ningún usuario habilitado disponible y por tanto no sería posible remitir la información al sitio Veri*Factu, por ejemplo hasta la mañana siguiente. Evidentemente si hay posibilidad o amenaza de sanción en tal caso, habrán empresas dónde la obligación de presencia del usuario se diluirá (tipo instalación de certificados en varios cuentas de usuarios, o comunicación de contraseñas) y al final será una menor seguridad del sistema...
Responder Con Cita
  #1142  
Antiguo 15-01-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por afxe Ver Mensaje
...
(1) Pienso que los terminales generarán prefecturas (por poner un nombre) y se irán encolando en un sistema que procederá a la “facturación” con todo lo que implique (generación del xml, encadenado, huella, envio, QR…).
(2) Si el sistema es ágil el cliente saldrá por la puerta con su factura verificable…
(3) Si se produce una sobrecarga o una avería o desconexión de la central, se le podrá poner un QR para que en breve pueda descargarse en el móvil su factura verifactu, o reclamarla posteriormente.
Creo que estás equivocado en el proceso. Me baso en lo que sabemos de ticketBAI y lo que sabemos hasta ahora.
(1) Tu sistema debe generar una factura REAL que el cliente debe llevarse cuando salga de la tienda, supermercado, peluquería,...
Los 2 procesos que hay que separar son:
* La generación de la factura, con encadenamiento y QR (en el ticket). TODO esto debe y puede hacerse sin conexión a Internet.
* El envío, que puede hacerse en ese momento o más tarde, dependiendo del sistema, de las comunicaciones, de internet o de lo que sea. Para eso sí puedes montar una cola.
NOTA: En el caso de ticketBAI la AEAT especifica expresamente que el sistema DEBE poder facturar sin conexión.

(2) El cliente DEBE irse con un ticket REAL y ese es el ticket definitivo (nada de una prefactura, borrador,...).

(3) Si es como TicketBAI como parece, el ticket del cliente DEBE llevar el QR. Con ese QR el cliente puede comprobar su factura y además asegura que esa factura ya no se modifica, ya que lleva las medidas de seguridad correspondiente (encadenamiento de la factura anterior).
Si la factura no se ha podido subir en ese momento (porque la tienda se ha quedado sin internet, por ejemplo) el ticket lleva el QR igualmente con la información de la factura (que ya debe estar generada en tu sistema -y no modificable-). Entiendo que si tú esa factura la subes al día siguiente (porque se te roto el router) el cliente podrá consultarla


Cita:
Empezado por ermendalenda Ver Mensaje
Bueno, según lo que cada uno interprete por cada sistema informático.
Si tienes 4 tpvs en un supermercado y cada uno tiene sus series independiente, posiblemente te acepten cada tpv como un sistema independiente, quizás tengas que reformular la pregunta para que sean más claros.
Yo lo veo por ahí también.
Pienso también en empresas con delegaciones, donde lo habitual son series distintas, aunque la facturación se hace por 1 sólo ente.
Sería limitar cómo debes tú facturar (más restrictivo que la ley de facturación).

Cita:
Empezado por afxe Ver Mensaje
(1) No sé... creo que la frase "Para un determinado obligado tributario, el sistema informático producirá una única cadena de registros de facturación" no deja lugar a dudas, el obligado tributario no es cada TPV o PDA de un negocio, seguramente se refiere a un CIF/NIF.

(2) Creo que si te dan la posibilidad de empezar tantas cadenas de facturación desde cero como uno quiera no tendría mucho sentido encadenar la factura, incluso se podría llegar a la paradoja de tener tantas series de facturación como facturas, y ya no sería necesario encadenar.
(1) El "Corte Inglés" tiene un único CIF, pero no creo que puedas obligar a todos los establecimientos/TPV/Delegaciones a enviar con la misma serie.
(2) Basándome también en TicketBAI, hay unas normas para crear una nueva serie. Esto que describes no se puede hacer. Y en todo caso la creación hay que justificarla (por ejemplo al empezar un nuevo ejercicio).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #1143  
Antiguo 15-01-2024
pablog2k pablog2k is offline
Miembro
 
Registrado: may 2017
Posts: 85
Poder: 7
pablog2k Va por buen camino
muy de acuerdo con Nefta en todo lo comentado, sería lo más lógico que se hiciera todo intentando parecerse a lo que ya está hecho con ticketbai
Responder Con Cita
  #1144  
Antiguo 15-01-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 865
Poder: 3
ermendalenda Va por buen camino
hola

No es práctico que vayan encadenados por cif, tu mismo tienes la preocupación de las colas.
Lo de que mandes antes de 1 hora no lo has interpretado bien. Dice que si tienes problemas con la comunicacion tiene que haber un intento cada hora mínimo, ya mandas cuando se pueda.
Ninguna empresa va a tener un servicio de atención tan inmediato ante una incidencia, las 24h del dia los 365 dias del año.
Cada sistema SIF será un identificador, y en cada identificador tendras una serie para los tiquets y/o facturas, para rectificaivas. Ejemplo que yo uso
Comercio numero 44
Serie tiquets (1)


tpv 1
Serie: 44.1.1
Nº Factura : xxx

tpv 2
Serie: 44.2.1
Nº Factura : xxx

tpv 3
Serie: 44.3.1
Nº Factura : xxx

Cada tpv con su numerador y su blockchain de la huella.

No te compliques de verdad.

Última edición por ermendalenda fecha: 15-01-2024 a las 12:55:58.
Responder Con Cita
  #1145  
Antiguo 15-01-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 142
Poder: 3
antoine0 Va por buen camino
Cita:
Empezado por pablog2k Ver Mensaje
muy de acuerdo con Nefta en todo lo comentado, sería lo más lógico que se hiciera todo intentando parecerse a lo que ya está hecho con ticketbai
También de acuerdo. Por algo han dado como identificado "tike" a la aplicación Veri*factu (//prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SistemaFacturacion.wsdl)
Responder Con Cita
  #1146  
Antiguo 15-01-2024
_Io _Io is offline
Miembro
 
Registrado: ene 2024
Posts: 18
Poder: 0
_Io Va por buen camino
Hola.

Lo Primero, agradecer a todos lo que estáis involucrados en este Foro, porque está ayudando y aclarando conceptos a nuevos como yo.
Lo Dicho Muchas Gracias.

En contestación a la duda del compañero ramherfer en el post #1104.
Me pasó lo mismo, el problema lo tienes porque estás utilizando un fichero descargado en tu PC. En vez de hacer eso, pones el link al fichero en internet y te generará la unit, con todas las clases como las que puso Neftali.

Sigo en el hilo.

Salu2.
Responder Con Cita
  #1147  
Antiguo 15-01-2024
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 273
Poder: 20
afxe Va por buen camino
Ermendalenda, Antoine0 y Neftali... gracias por vuestra intervención, viniendo de vosotros cambiaré el planteamiento (tengo gran estima vuestra experiencia).

Tengo tres tipos de terminales de SIF: TPV de tiendas y supermercados con series independientes, ERP de escritorio tirando de una misma serie, o varias según el tipo de cliente o el tipo de venta, y Android libres, también tirando de una serie cada terminal. No quiero poner la cantidad de terminales que mantenemos, pero en un pequeño porcentaje (muy pequeño), se produce una pérdida de datos (en lo que llevamos de mes ha pasado 2 veces), desde criptolockers, pérdida o rotura del dispositivo (hablo de los androids), averías del disco duro por humedad, frío o calor en los TPV, etc... y casi siempre pasa en los dispositivos autónomos sin conexión a internet o que envían la información bajo petición del usuario, y la solución ha sido volver a meter los datos a mano... y no siempre se ha conseguido meter la realidad de lo que ha pasado... Aparte de los "truquitos" que me hacen algunos, como tener varios TPV y uno dejarlo en una especie de "Sandbox", que al terminar el día lo reinician a como estaba al inicio sin llegar a transmitir los datos de venta a la central.

No sé cómo evitar un uso fraudulento del sistema o accidentes que puedan achacarlo a negligencia de la empresa desarrolladora, por eso era lo de controlar en nuestros servidores los procesos de facturación (una especie de facturación en la nube para programas de escritorio o distribuidos). Si empieza a suceder fallos de encadenamiento por pérdidas de datos, un cambio de serie erróneo, un TPV mal configurado (que nos ha pasado también) temo que nos colapse el departamento de atención técnica con acciones de gran consumo de tiempo.

Imagino que cada uno iremos reflejando cómo atacamos esos problemas y habrá ideas geniales que podamos replicar, sobre todo por parte de los que habéis sufrido la puesta en marcha del Ticketbai.
__________________
Amar al mundo apasionadamente.
Responder Con Cita
  #1148  
Antiguo 15-01-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 865
Poder: 3
ermendalenda Va por buen camino
Cita:
Empezado por afxe Ver Mensaje
Ermendalenda, Antoine0 y Neftali... gracias por vuestra intervención, viniendo de vosotros cambiaré el planteamiento (tengo gran estima vuestra experiencia).

Tengo tres tipos de terminales de SIF: TPV de tiendas y supermercados con series independientes, ERP de escritorio tirando de una misma serie, o varias según el tipo de cliente o el tipo de venta, y Android libres, también tirando de una serie cada terminal. No quiero poner la cantidad de terminales que mantenemos, pero en un pequeño porcentaje (muy pequeño), se produce una pérdida de datos (en lo que llevamos de mes ha pasado 2 veces), desde criptolockers, pérdida o rotura del dispositivo (hablo de los androids), averías del disco duro por humedad, frío o calor en los TPV, etc... y casi siempre pasa en los dispositivos autónomos sin conexión a internet o que envían la información bajo petición del usuario, y la solución ha sido volver a meter los datos a mano... y no siempre se ha conseguido meter la realidad de lo que ha pasado... Aparte de los "truquitos" que me hacen algunos, como tener varios TPV y uno dejarlo en una especie de "Sandbox", que al terminar el día lo reinician a como estaba al inicio sin llegar a transmitir los datos de venta a la central.

No sé cómo evitar un uso fraudulento del sistema o accidentes que puedan achacarlo a negligencia de la empresa desarrolladora, por eso era lo de controlar en nuestros servidores los procesos de facturación (una especie de facturación en la nube para programas de escritorio o distribuidos). Si empieza a suceder fallos de encadenamiento por pérdidas de datos, un cambio de serie erróneo, un TPV mal configurado (que nos ha pasado también) temo que nos colapse el departamento de atención técnica con acciones de gran consumo de tiempo.

Imagino que cada uno iremos reflejando cómo atacamos esos problemas y habrá ideas geniales que podamos replicar, sobre todo por parte de los que habéis sufrido la puesta en marcha del Ticketbai.
Buff, pues quien mejor conoce la problemática y los puntos críticos de tu software para cerrar al.máximo las puertas.
Si te sirve de algo, lo que yo hago es voy poniendo en cola los xmls y los voy enviando a un servidor en la nube que es el que se va a encargar de enviarlos a hacienda, siempre respetando los parámetros que diga hacienda por dispositivo...
En la nube debes poner un primer control de encadenamiento y una alerta al cliente que tiene el tpv si se produce rotura de encadenamiento.
Los problemas técnicos por averias seguro estaran recogidos en las doctrinas/reglamento(cuando estén disponibles) y te dirán como actuar si algún registro se corrompe o se rompe el.disco.
Por supuesto tienes que i for ar claramente a tus clientes donde se meten si no cumplen con la parte que les toca.
Te recomiendo que le de mil vueltas a crear todo tipo de alertas informativas, por correo para ti y por pantalla/correo al cliente, de todas las incidencias, el control de errores es lo más trabajoso de esta normativa.

Última edición por ermendalenda fecha: 15-01-2024 a las 18:53:16.
Responder Con Cita
  #1149  
Antiguo 16-01-2024
_Io _Io is offline
Miembro
 
Registrado: ene 2024
Posts: 18
Poder: 0
_Io Va por buen camino
Buenos días.

Perdonarme, soy bastante nuevo en esto de programación utilizando xsd,wsdl...
Estoy un poco o un mucho perdido.
He llegado hasta aquí, para generar el xml de una factura, pero no sé de dónde sale o cómo hacer la función NewFacturaAlta
Código Delphi [-]
procedure TForm3.Button2Click(Sender: TObject);
var
  fAlta:IXMLSistemaFacturacionAltaFact;
begin

  fAlta := NewFacturaAlta;
  fAlta.Cabecera.IDVersion := '1.0';
  fAlta.Cabecera.ObligadoEmision.NombreRazon := 'EMPRESA PRUEBAS';
  fAlta.Cabecera.ObligadoEmision.NIF := '11111111H';
  fAlta.Cabecera.TipoRegistroAEAT := 'S0';

  ...

  var sXML:string;
  fAlta.OwnerDocument.SaveToXML(sXML);
  Memo1.Lines.Text := sXML;

end;

Muchas Gracias.
Responder Con Cita
  #1150  
Antiguo 16-01-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por _Io Ver Mensaje
Perdonarme, soy bastante nuevo en esto de programación utilizando xsd,wsdl...
Estoy un poco o un mucho perdido.
He llegado hasta aquí, para generar el xml de una factura, pero no sé de dónde sale o cómo hacer la función NewFacturaAlta

Aquí hemos puesto algo de código.
Una vez importado el WSDL. A ver si te sirve...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #1151  
Antiguo 16-01-2024
_Io _Io is offline
Miembro
 
Registrado: ene 2024
Posts: 18
Poder: 0
_Io Va por buen camino
Hola Neftali, buenos días.
Muchas gracias por tu rápida respuesta.

Cita:
Aquí hemos puesto algo de código.
Una vez importado el WSDL. A ver si te sirve...
Ya he visto este código y en mi poco conocimiento en el tema, creo que es para enviar la factura a hacienda, he conseguido generarlo, gracias a vosotros, claro.

Cita:
procedure TForm3.Button2Click(Sender: TObject);
var
fAlta:IXMLSistemaFacturacionAltaFact;
begin

fAlta := NewFacturaAlta;
fAlta.Cabecera.IDVersion := '1.0';
fAlta.Cabecera.ObligadoEmision.NombreRazon := 'EMPRESA PRUEBAS';
fAlta.Cabecera.ObligadoEmision.NIF := '11111111H';
fAlta.Cabecera.TipoRegistroAEAT := 'S0';

...

var sXML:string;
fAlta.OwnerDocument.SaveToXML(sXML);
Memo1.Lines.Text := sXML;

end;
Entiendo que este código que pusistes es para generar el xml de la factura y es lo que intentaba hacer, pero no sé exactamente de dónde sale NewFacturaAlta, es por eso el post.

Salu2.
Responder Con Cita
  #1152  
Antiguo 16-01-2024
nincillo nincillo is offline
Miembro
 
Registrado: may 2017
Posts: 151
Poder: 7
nincillo Va por buen camino
Cita:
Empezado por _Io Ver Mensaje
Hola Neftali, buenos días.
Muchas gracias por tu rápida respuesta.



Ya he visto este código y en mi poco conocimiento en el tema, creo que es para enviar la factura a hacienda, he conseguido generarlo, gracias a vosotros, claro.



Entiendo que este código que pusistes es para generar el xml de la factura y es lo que intentaba hacer, pero no sé exactamente de dónde sale NewFacturaAlta, es por eso el post.

Salu2.
Si no me confundo, el trozo de código que estás poniendo no se corresponde a como trabajar con el wsdl, sino a como trabajar si lo que hiciste fue importar el wsd.

Si estoy en lo cierto, el "problema" que yo tuve en su momento, no es el de dónde sale el NewFacturaAlta, sino que luego no super como crear/añadir el nodo correspondiente a los datos de la factura propiamente dichos, ya que no encontré como hacer el "NewRegistroFactura" por así decirlo para poder añadirle el resto de datos que no son de la cabecera.
Responder Con Cita
  #1153  
Antiguo 16-01-2024
_Io _Io is offline
Miembro
 
Registrado: ene 2024
Posts: 18
Poder: 0
_Io Va por buen camino
Ok.

Entonces, ¿cómo estáis generando el XML de la Factura?
Con código independiente al wsdl ?

con el XML Data Binding , he pasado un xsd y me ha generado diferentes nodos

Cita:
type

{ Forward Decls }

IXMLSistemaFacturacionAltaFact = interface;
IXMLCabecera = interface;
IXMLPersonaFisicaJuridicaESType = interface;
IXMLSistemaFacturacionBajaFact = interface;
IXMLDatosPresentacionType = interface;
IXMLDatosPresentacion2Type = interface;
IXMLRegistroSf = interface;
IXMLRegistroSf_PeriodoImputacion = interface;
IXMLIDFacturaExpedidaBCType = interface;
IXMLIDFacturaExpedidaBCType_IDEmisorFactura = interface;
IXMLIDFacturaExpedidaBajaType = interface;
IXMLIDFacturaExpedidaBajaType_IDEmisorFacturaAnulada = interface;
IXMLRegistroFacturacionType = interface;
IXMLIDFacturaExpedidaType = interface;
IXMLIDFacturaExpedidaType_IDEmisorFactura = interface;
IXMLRegistroFacturacionType_FacturasRectificadas = interface;
IXMLIDFacturaARType = interface;
IXMLRegistroFacturacionType_FacturasSustituidas = interface;
IXMLDesgloseRectificacionType = interface;
IXMLPersonaFisicaJuridicaType = interface;
IXMLIDOtroType = interface;
IXMLRegistroFacturacionType_Destinatarios = interface;
IXMLDesgloseType = interface;
IXMLDetalleType = interface;
IXMLEncadenamientoFacturaAnteriorType = interface;
IXMLEncadenamientoFacturaAnteriorType_IDEmisorFacturaRegistroAnterior = interface;
IXMLSistemaInformaticoType = interface;
IXMLRegistroFacturacionBajaType = interface;
IXMLObligadoGeneracionType = interface;
IXMLDatosControlType = interface;
IXMLIDFacturaConsulta2Type = interface;
IXMLPersonaFisicaJuridicaUnicaESType = interface;
IXMLRangoFechaPresentacionType = interface;
IXMLRegistroDuplicadoType = interface;
IXMLContraparteConsultaType = interface;
IXMLConsultaInformacion = interface;
IXMLCabeceraConsultaSf = interface;
IXMLObligadoEmisionConsultaType = interface;
IXMLControFlujoEnviosType = interface;

{ IXMLSistemaFacturacionAltaFact }

IXMLSistemaFacturacionAltaFact = interface(IXMLNode)
['{71D1ADBE-E067-4563-982B-E703A1790DA9}']
{ Property Accessors }
function Get_Cabecera: IXMLCabecera;
{ Methods & Properties }
property Cabecera: IXMLCabecera read Get_Cabecera;
end;

{ IXMLCabecera }

IXMLCabecera = interface(IXMLNode)
['{B83FF7BE-8748-4880-9D0D-09A3B2E296FB}']
{ Property Accessors }
function Get_IDVersion: UnicodeString;
function Get_ObligadoEmision: IXMLPersonaFisicaJuridicaESType;
function Get_TipoRegistroAEAT: UnicodeString;
function Get_FechaFinVeriFactu: UnicodeString;
procedure Set_IDVersion(const Value: UnicodeString);
procedure Set_TipoRegistroAEAT(const Value: UnicodeString);
procedure Set_FechaFinVeriFactu(const Value: UnicodeString);
{ Methods & Properties }
property IDVersion: UnicodeString read Get_IDVersion write Set_IDVersion;
property ObligadoEmision: IXMLPersonaFisicaJuridicaESType read Get_ObligadoEmision;
property TipoRegistroAEAT: UnicodeString read Get_TipoRegistroAEAT write Set_TipoRegistroAEAT;
property FechaFinVeriFactu: UnicodeString read Get_FechaFinVeriFactu write Set_FechaFinVeriFactu;
end;
Yo entiendo que con esta clase, se podría generar el XML de la factura.
Vamos a estudiar a ver hasta dónde llego.

Saludos.
Responder Con Cita
  #1154  
Antiguo 16-01-2024
_Io _Io is offline
Miembro
 
Registrado: ene 2024
Posts: 18
Poder: 0
_Io Va por buen camino
Hola, buenas tardes.

Me estoy liando y tengo la cabeza a punto de reventar

¿Qué diferencia hay entre el XML de la factura (la que se guarda y calcula el HASH) y el XML de alta (el que se envía a la AEAT ?

Siento ser tan Pesado

Muchas Gracias.
Responder Con Cita
  #1155  
Antiguo 16-01-2024
nincillo nincillo is offline
Miembro
 
Registrado: may 2017
Posts: 151
Poder: 7
nincillo Va por buen camino
Cita:
Empezado por _Io Ver Mensaje
Hola, buenas tardes.

Me estoy liando y tengo la cabeza a punto de reventar

¿Qué diferencia hay entre el XML de la factura (la que se guarda y calcula el HASH) y el XML de alta (el que se envía a la AEAT ?

Siento ser tan Pesado

Muchas Gracias.
Hasta donde yo voy entendiendo, el xml de la factura lo vas generando cada vez que facturas, calculando su hash, etc.
Luego, cuando cada x tiempo vas haciendo los envíos, lo que hace es cargar y ficheros xml de facturas y los envías de una sola vez a hacienda. El x y el y puede variar según las necesidades que te marque hacienda en cada momento.

Aprovechando. ¿Conseguiste avanzar algo con lo que comentabas en tu post anterior de generar el xml partiendo de los xsd?.

Un saludo y espero que los que ya lo tienen más avanzando nos confirmen o corrijan.
Responder Con Cita
  #1156  
Antiguo 17-01-2024
_Io _Io is offline
Miembro
 
Registrado: ene 2024
Posts: 18
Poder: 0
_Io Va por buen camino
Buenas dias.

Todavía no puedo poner enlaces, tengo el usuario limitado.

nincillo
Hasta donde yo voy entendiendo, el xml de la factura lo vas generando cada vez que facturas, calculando su hash, etc.
Luego, cuando cada x tiempo vas haciendo los envíos, lo que hace es cargar y ficheros xml de facturas y los envías de una sola vez a hacienda. El x y el y puede variar según las necesidades que te marque hacienda en cada momento.


Esto más o menos lo tengo claro.
Es la estructura de cada archivo xml. El compañero Maska10, te contestó sobre la posible diferencia en el postpost #961, página 49, que elarchivo de la factura iba sin el nodo cabecera y el archivo que se manda si la lleva, pero no he visto ningún ejemplo.

nincillo
¿Conseguiste avanzar algo con lo que comentabas en tu post anterior de generar el xml partiendo de los xsd?.


Tengo problemas y no avanzo.

Saludos.

Saludos.
Responder Con Cita
  #1157  
Antiguo 17-01-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 177
Poder: 3
edari Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Hola a tod@s.


Dándole vueltas a este tema se me ocurren mil problemas que vamos a tener a la hora de enviar los datos y uno de ellos es que el NIF y nombre del cliente sean válidos. Imagino que si se intenta subir una factura con un nif erróneo el servidor chillará y la devolverá como no válida y a partir de ahí no sé cómo actuar, sobre todo si el cliente ya no está y no hay forma de comprobar y corregir ese dato.


Se puede hacer una consulta mediante webservice para confirmar que el nif+nombre es correcto pero estoy pensando en que se necesita hacer la llamada con un certificado válido y me temo que los clientes no van a instalar certificados en todos los posibles terminales de la red y que usen el programa. ¿Qué se os ocurre al respecto? porque ando un poco perdido con este asunto.


Gracias y un saludo.


Yo también le estoy dando vueltas a esto, me parece muy importante hacer ese Webservice de verificación porque, como sea como TicketBai, cada vez que subes una factura y es rechazada por algún tema de NIF...puede provocar errores de encadenamiento

Con el tema del Werbservice de Hacienda para validarlos, alguien sabe como se debería lanzarlo con curl?

Gracias

Última edición por edari fecha: 17-01-2024 a las 10:27:36.
Responder Con Cita
  #1158  
Antiguo 17-01-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 177
Poder: 3
edari Va por buen camino
Ahora voy con una duda mía sobre los xml y el tema de la la firma


Creo que hay dos "estilos" de hacer el xml


Este
Código PHP:
<?xml version="1.0" ?>
<AltaFactuSistemaFacturacion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <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>EMPRESA SL</NombreRazon>
      <NIF>NIF</NIF>
    </ObligadoEmision>
    <TipoRegistroAEAT>T0</TipoRegistroAEAT>
  </Cabecera>
  <RegistroAltaFacturas xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
    <RegistroFacturacion>
      <IDFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
        <IDEmisorFactura>
          <NIF>NIF</NIF>
        </IDEmisorFactura>
        <NumSerieFacturaEmisor>3</NumSerieFacturaEmisor>
        <FechaExpedicionFacturaEmisor>16-01-2024</FechaExpedicionFacturaEmisor>
      </IDFactura>
      <NombreRazonEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">EMPRESA SL</NombreRazonEmisor>
      <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>
      <DescripcionOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">VENTAS</DescripcionOperacion>
      <Destinatarios xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
        <IDDestinatario>
          ...
</div>

y este


Código PHP:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<
soapenv:Header/>
<
soapenv:Body>
<
sum:AltaFactuSistemaFacturacion>
<
sum1:Cabecera>
<
sum1:IDVersion>1.0</sum1:IDVersion>
<
sum1:ObligadoEmision>
<
sum1:NombreRazon>EMPRESA SL</sum1:NombreRazon>
<
sum1:NIF>nif</sum1:NIF>
</
sum1:ObligadoEmision>
<
sum1:TipoRegistrroEAT>T0</sum1:TipoRegistrroEAT>
</
sum1:Cabecera>
<
sum:RegisgtroAltaFacturas>
<
sum:RegistroFacturacion>
<
sum1:IDFactura>
<
sum1:IDEmisorFactura>
<
sum1:NIF>nif</sum1:NIF>
</
sum1:IDEmisorFactura>
<
sum1:NumSerieFacturaEmisor>002235405</sum1:NumSerieFacturaEmisor>
<
sum1:FechaExpedicionFacturaEmisor>01-01-2024</sum1:FechaExpedicionFacturaEmisor>
</
sum1:IDFactura>
<
sum1:NombreRazonEmisor>EMPRESA SL</sum1:NombreRazonEmisor>
<
sum1:TipoRegistroSIF>S0</sum1:TipoRegistroSIF>
<
sum1:TipoFactura>F1</sum1:TipoFactura>
<
sum1:DescripcionOperacion>Factura cliente</sum1:DescripcionOperacion>
<
sum1:Destinatarios
</div>

Entendiendo que la verificación de la huella que va a hacer Hacienda da igual que monte el fichero de una forma u otra porque al final siempre se va calcular sobre el contenido de los dos etiquetas "RegistroFacturacion"



Voy bien
Responder Con Cita
  #1159  
Antiguo 17-01-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Posts: 93
Poder: 8
sglorka Va por buen camino
Cita:
Empezado por edari Ver Mensaje
Yo también le estoy dando vueltas a esto, me parece muy importante hacer ese Webservice de verificación porque, como sea como TicketBai, cada vez que subes una factura y es rechazada por algún tema de NIF...puede provocar errores de encadenamiento
No sólo el Nif o el nombre del cliente pueden causarte este problema. También puedes tener problemas que causen el rechazo por otros motivos, tipos impositivos inexistentes (5,5% p.e.), clave del tipo de factura erróneo (F16), tipo de registro de alta erróneo (T8). Y todo esto ocurre cuando ya has generado 10 registros de facturación perfectamente encadenamos y cuando los vas a enviar (por que el control de flujo te ha marcado que hasta que no tengas 10 registros no los envíes ) resulta que se produce el rechazo de los registros 1,3 y 7 y los demás te han entrado correctamente, o no te han entrado aunque fueran correctos pero la aeat te rechaza todo el paquete. ¿ Qué hacemos ?
Yo trasladé una consulta parecida al correo de Verifactu y su respuesta fue :

Buenos días:

Tras consultarlo con los responsables, para esta casuística no podemos ofrecerle más información por el momento.
Actualmente, se está estudiando internamente cómo realizar el encadenamiento de facturas cuando existe algún rechazo por parte de la AEAT. En la futura Orden Ministerial se darán más detalles al respecto, y se incluirá en las FAQ de la sede electrónica de la AEAT.

Atentamente,
AEAT.
Responder Con Cita
  #1160  
Antiguo 17-01-2024
_Io _Io is offline
Miembro
 
Registrado: ene 2024
Posts: 18
Poder: 0
_Io Va por buen camino
Hola edari

Estos códigos que has puesto, son los del envío a la AEAT, o es el formato con el que se registra cada factura?.

Muchas Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Hijo de Informáticos gluglu Humor 3 13-03-2007 11:05:35
Adictos informaticos ... Trigger Humor 2 11-10-2004 12:18:32
Nosotros los Informáticos Trigger Humor 1 10-10-2004 14:58:09
Patrón de los Informáticos. obiwuan Varios 20 10-09-2003 14:44:54
Chistes Informaticos jhonny Humor 2 11-08-2003 21:59:09


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


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
Copyright 1996-2007 Club Delphi