FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Generación RegistroFacturacion ALTA y XML para guardar y leer después
Pues lo dicho , aquí va mi primer ptototipo de unit para verifactu , con el código para generar un RegistroFacturacion de una factura y extraer el XML , por si le sirve a alguien para algo.
Evidentemente los campos y als tablas son los míos y no va a funcionar directamente, pero el esqueleto del registrofafcturacion de Alta está.
Luego el código en bruto para recogerlo:
Última edición por Neftali [Germán.Estévez] fecha: 06-03-2024 a las 08:20:35. Razón: Correccion ancho columna |
#2
|
|||
|
|||
Estaría bien poder ver ese xml final generado que enviarías con ese procedimiento
|
#3
|
|||
|
|||
Aquí va , no entraba en el otro post.
Saludos Código:
<?xml version="1.0"?> <RegistroFacturacion xmlns:NS1="no puedo poner enlaces w3.org/2001/XMLSchema" xmlns:NS2="no puedo poner enlaces .agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" xmlns:NS3="no puedo poner enlaces w3.org/2003/05/soap-encoding" xmlns:NS4="no puedo poner enlaces .org/2001/XMLSchema-instance"> <RegistroFacturacionType id="1"> <IDFactura id="2"> <IDEmisorFactura id="3"> <NIF type="NS1:string">BXXXXXXXX</NIF> </IDEmisorFactura> <NumSerieFacturaEmisor type="NS1:string">2022-F1-PC-0000000055</NumSerieFacturaEmisor> <FechaExpedicionFacturaEmisor type="NS1:string">10-05-2022</FechaExpedicionFacturaEmisor> </IDFactura> <NombreRazonEmisor type="NS1:string">EMPRESA TEST, S.L.</NombreRazonEmisor> <TipoRegistroSIF type="NS2:TipoRegistroSIFType">S0</TipoRegistroSIF> <TipoFactura type="NS2:ClaveTipoFacturaType">F1</TipoFactura> <FacturasSustituidas type="NS3:Array" NS3:itemType="NS2:IDFacturaARType" NS3:arraySize="0"/> <ImporteRectificacion NS3:id="4"> <BaseRectificada type="NS1:string">0</BaseRectificada> <CuotaRectificada type="NS1:string">0</CuotaRectificada> <CuotaRecargoRectificado type="NS1:string">0</CuotaRecargoRectificado> </ImporteRectificacion> <FechaOperacion type="NS1:string">10-05-2022</FechaOperacion> <DescripcionOperacion type="NS1:string">Venta</DescripcionOperacion> <FacturaSimplificadaArticulos7.2_7.3 type="NS2:SimplificadaCualificadaType">N</FacturaSimplificadaArticulos7.2_7.3> <FacturaSinIdentifDestinatarioArticulo6.1.d type="NS2:CompletaSinDestinatarioType">N</FacturaSinIdentifDestinatarioArticulo6.1.d> <Macrodato type="NS2:MacrodatoType">N</Macrodato> <Destinatarios type="NS3:Array" NS3:itemType="NS2:PersonaFisicaJuridicaType" NS3:arraySize="1"> <item NS3:id="5" type="NS2:PersonaFisicaJuridicaType"> <NombreRazon type="NS1:string">Cliente demo </NombreRazon> <NIF type="NS1:string">XXXXXXXXJ</NIF> <IDOtro NS3:id="6" type="NS2:IDOtroType"> <IDType type="NS2:PersonaFisicaJuridicaIDTypeType">02</IDType> <ID type="NS1:string">XXXXXXXXJ</ID> </IDOtro> </item> </Destinatarios> <Cupon type="NS2:CuponType">N</Cupon> <Desglose type="NS3:Array" NS3:itemType="NS2etalleType" NS3:arraySize="1"> <item NS3:id="7" type="NS2etalleType"> <ClaveRegimen type="NS2:IdOperacionesTrascendenciaTributariaType">01</ClaveRegimen> <CalificacionOperacion type="NS2:CalificacionOperacionType">S1</CalificacionOperacion> <TipoImpositivo type="NS1:string">4,00</TipoImpositivo> <BaseImponibleOimporteNoSujeto type="NS1:string">1347,18</BaseImponibleOimporteNoSujeto> <BaseImponibleACoste type="NS1:string">0.00</BaseImponibleACoste> <CuotaRepercutida type="NS1:string">53,89</CuotaRepercutida> <TipoRecargoEquivalencia type="NS1:string">0,00</TipoRecargoEquivalencia> <CuotaRecargoEquivalencia type="NS1:string">0,00</CuotaRecargoEquivalencia> </item> </Desglose> <ImporteTotal type="NS1:string">1401,07</ImporteTotal> <EncadenamientoRegistroAnterior NS3:id="8"> <IDEmisorFacturaRegistroAnterior NS4:nil="true"/> <NumSerieFacturaRegistroAnterior NS4:type="NS1:string"/> <FechaExpedicionFacturaRegistroAnterior NS4:type="NS1:string"/> <HuellaRegistroAnterior NS4:type="NS1:string"/> </EncadenamientoRegistroAnterior> <SistemaInformatico NS3:id="9"> <NombreRazon NS4:type="NS1:string"/> <NIF NS4:type="NS1:string"/> <IDOtro NS3:id="10"> <IDType NS4:type="NS2:PersonaFisicaJuridicaIDTypeType">02</IDType> <ID NS4:type="NS1:string"/> </IDOtro> <NombreSistemaInformatico NS4:type="NS1:string"/> <IdSistemaInformatico NS4:type="NS1:string"/> <Version NS4:type="NS1:string"/> <NumeroInstalacion NS4:type="NS1:string"/> <TipoUsoPosibleSoloVerifactu NS4:type="NS2:SiNoType">S</TipoUsoPosibleSoloVerifactu> <TipoUsoPosibleOtros NS4:type="NS2:SiNoType">N</TipoUsoPosibleOtros> <TipoUsoPosibleMultiOT NS4:type="NS2:SiNoType">N</TipoUsoPosibleMultiOT> <NumeroOTAlta NS4:type="NS1:string">1</NumeroOTAlta> </SistemaInformatico> <FechaGenRegistro NS4:type="NS1:string"/> <HoraGenRegistro NS4:type="NS1:string"/> <HusoHorarioGenRegistro NS4:type="NS2:HusoHorarioGenRegistroType">02</HusoHorarioGenRegistro> <NumRegistroAcuerdoFacturacion NS4:type="NS1:string"/> <IdAcuerdoSistemaInformatico NS4:type="NS1:string"/> </RegistroFacturacionType> </RegistroFacturacion> Última edición por Neftali [Germán.Estévez] fecha: 06-03-2024 a las 08:27:49. Razón: Añadir TAGs al mensaje ([CODE]) |
#4
|
||||
|
||||
Cita:
__________________
Se humilde para admitir tus errores, inteligente para aprender de ellos y maduro para corregirlos. |
#5
|
|||
|
|||
No hay nada relevante en Ur_user , simplemente es el form inicial de la aplicación que usé como comodín para crear el TXMLDocument.Create , ya que TXMLDocument da errores si lo creas con nil TXMLDocument.Create(nil) = Errores , Otra solución es usar Application , así funciona y no necesitas un Form ni crear un THackForm.
Añades Vcl.Forms en el uses y los creas XML := TXMLDocument.Create(Application);
En cuanto a las bases de datos , la llamada a la función GenerarRegistroFacturacion_AltaVerifactu(Conexion : TAdoConnection ; TablaMaestra : Integer ; IdDocumento : String) : String; TablaMaestra en mi caso el el Numero de Tabla de facturas , yo tengo varias FacturasSimplificadas, Facturas ordinarias, facturas de canje, facturas recapitulativas y IdDocumento es el identificador de la factura que quiero generar. DTDesgloseIvas , es la tabla donde guardo el detalle de los Ivas de las facturas. DTRectificadas es una tabla donde guardo el detalle de las Facturas que Rectifica cada factura si es rectificativa o sustitutiva No hay más en este caso. Saludos |
#6
|
||||
|
||||
Cita:
Añado el link al segundo mensaje del hilo.
__________________
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. |
#7
|
||||
|
||||
Cita:
__________________
Be water my friend. Última edición por Neftali [Germán.Estévez] fecha: 06-03-2024 a las 10:17:21. Razón: Editar la sintaxis.... |
#8
|
|||
|
|||
Una reflexión
He leído en varios posts , que hay gente, que me ha parecido entender, que tiene la idea de no guardar los Registros de Facturación o los Envíos en base a que la normativa parece que no obliga a guardar esos datos si los envías.
La reflexión es la siguiente: Seguro que es buena idea relacionarte con la AEAT sin guardar registro de todo lo que envías y las respuestas que recibes? Yo personalmente voy a guardar TODO , independientemente de si el usuario quiere enviar o no , me parece mala idea no tener registros de todo , teniendo en cuenta que la AEAT puede pedir explicaciones i/o responsabilidades al desarrollador del software, si hubiera que entrar en discusiones con la AEAT o con el Usuario de si se ha enviado o no , de si se ha enviado mal, etc.... Creo que es mejor Registrarlo todo en el software para poder tener defensa y razones en caso de discrepancias , además de poder controlar , sobre todo al principio , de que todo se registra correctamente y no hay bugs. Dicho queda. Saludos |
#9
|
|||
|
|||
Cita:
Si se quiere el XML más "limpio" , solo hay que jugar con las opciones de TOPToSoapDomConvert , por ejemplo:
|
#10
|
|||
|
|||
Gran aporte, Delphier!
Yo el año pasado empecé a hacer algo, pero lo dejé porque veía que la cosa no avanzaba. De hecho la web de la AEAT sobre VeriFactu estuvo casi un año en la versión 0.1. Sin duda cuando lo retome en breve, tu post será de gran ayuda. Gracias a la experiencia que hemos cogido todos con TicketBAI, no creo que nos encontremos con problemas serios, salvo las dudas de siempre, que seguimos teniendo con TicketBAI 2 años después: fechas de la factura, rectificativas, anular/borrar/cancelar/modificar facturas, etc. Pero a nivel técnico, todo debería estar ya en el foro. Cita:
|
#11
|
|||
|
|||
Gracias Delphier!!
|
#12
|
|||
|
|||
Esto tiene pinta que va a sufrir otro retraso.
|
#13
|
|||
|
|||
Yo lo daba por sentado.
Si TicketBAI se retrasó varias veces, y solo son 3 provincias, imagínate con toda España. Hace unos días hablé con una asesoría contable y fiscal y me dijeron que les parece todo esto una locura, que ve imposible que entre en vigor el año que viene y que iban a agruparse y enviar un escrito a la AEAT para pedir que lo retrasaran. A lo mejor nos sorprende y al final sí sale adelante, pero lo dudo. |
#14
|
|||
|
|||
Cita:
|
|
|
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 |
|