Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Solución pública Facturación Electrónica/Ley Crea y Crece (ES) > Preguntas técnicas, códigos, esquemas, envíos,...
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-07-2026
Noe277 Noe277 is offline
Miembro
 
Registrado: jul 2017
Posts: 183
Poder: 10
Noe277 Va por buen camino
Factura electrónica, formato UBL,...

Actualización sobre la Solución Pública de Facturación Electrónica (SPFE) - 10-09-2026
Se comunica que el día 10 de septiembre de 2026 a las 10:00 h. se celebrará el seminario web "Actualización sobre la Solución Pública de Facturación Electrónica (SPFE)".




Si está interesado en asistir, por favor acceda a la página web que se indica a continuación. Tras rellenar unos mínimos datos de registro, recibirá un mensaje en la dirección de correo que haya comunicado en dicho formulario de registro, informando de los datos necesarios para acceder al seminario web de la reunión. Es importante una correcta identificación de la entidad participante a efectos de registrar adecuadamente las preguntas que se formulen.https://agenciatributaria.zoom.us/we...QYa_Xh-_EKY8Jg

Se ruega que los asistentes formulen las posibles preguntas para cada una de las intervenciones mediante la opción "Preguntas y respuestas" que ofrece Zoom.

El orden del día previsto para el seminario (1:15 h) es el siguiente:

Actualización del contenido del proyecto de orden ministerial y anexos.
Información técnica sobre los servicios de la SPFE y ejemplos.
La información ofrecida en dicha reunión se difundirá posteriormente en la siguiente página web:

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

Si tiene dudas o preguntas acerca de la organización del seminario, puede enviar un mensaje a la siguiente dirección: [email protected]
Responder Con Cita
  #2  
Antiguo Hace 3 Semanas
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 483
Poder: 10
seccion_31 Va por buen camino
buenos dias !

Perdonar que os pregunte las dudas:

He leido el foro facturaE que arranca en 2014? y no tengo claro que toda esa informacion se aplique ahora,

Podeis darme una mano de como empezar con facturaE ? porque tampoco logro encontrar los enlaces con la AEAT con los webservices y detalles tecnicos para enviar las facturas electronicas?

Como veis ando muy perdido y acabo de aterrizar despues de las vacaciones.

Saludos !
Responder Con Cita
  #3  
Antiguo Hace 3 Semanas
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 876
Poder: 3
bmfranky Va por buen camino
Cita:
Empezado por seccion_31 Ver Mensaje
buenos dias !

Perdonar que os pregunte las dudas:

He leido el foro facturaE que arranca en 2014? y no tengo claro que toda esa informacion se aplique ahora,

Podeis darme una mano de como empezar con facturaE ? porque tampoco logro encontrar los enlaces con la AEAT con los webservices y detalles tecnicos para enviar las facturas electronicas?

Como veis ando muy perdido y acabo de aterrizar despues de las vacaciones.

Saludos !
Hola, las ultimas versiones las tienes aquí, aunque tengo que preguntarte para que quieres liarte con ella, porque para b2b , sera un nuevo formato y para el FACE, deberías de ver el formato y documentación aquí, por lo que acabo de ver hay publicadas bastantes novedades a día 22/09/2026.
Un saludo.
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #4  
Antiguo Hace 3 Semanas
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 483
Poder: 10
seccion_31 Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
Hola, las ultimas versiones las tienes aquí, aunque tengo que preguntarte para que quieres liarte con ella, porque para b2b , sera un nuevo formato y para el FACE, deberías de ver el formato y documentación aquí, por lo que acabo de ver hay publicadas bastantes novedades a día 22/09/2026.
Un saludo.
perdon:

me refiero al b2b, de la nueva ley crea y crece.

¿estan los datos tecnicos publicados para remitir las facturas a la plataforma del estado?

No los veo por ningun lado.

Por otro lado el formato UBL 2.1 ya lo tengo resuelto.

Saludos !
Responder Con Cita
  #5  
Antiguo Hace 3 Semanas
CarlosMz CarlosMz is offline
Miembro
 
Registrado: jul 2020
Posts: 143
Poder: 7
CarlosMz Va por buen camino
Cita:
Empezado por seccion_31 Ver Mensaje
perdon:

me refiero al b2b, de la nueva ley crea y crece.

¿estan los datos tecnicos publicados para remitir las facturas a la plataforma del estado?

No los veo por ningun lado.

Por otro lado el formato UBL 2.1 ya lo tengo resuelto.

Saludos !
El formato UBL requiere de firma avanzada Xades como FacturaE ¿?
Responder Con Cita
  #6  
Antiguo Hace 2 Semanas
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 483
Poder: 10
seccion_31 Va por buen camino
Cita:
Empezado por CarlosMz Ver Mensaje
El formato UBL requiere de firma avanzada Xades como FacturaE ¿?
En cualquier caso autofirma command line lo firma sin problema

El tema es que no se donde está la información técnica 🤔

Saludos!
Responder Con Cita
  #7  
Antiguo Hace 2 Semanas
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 876
Poder: 3
bmfranky Va por buen camino
Cita:
Empezado por seccion_31 Ver Mensaje
En cualquier caso autofirma command line lo firma sin problema

El tema es que no se donde está la información técnica 🤔

Saludos!
Hola, aun no han colgado nada en firme, la mala noticia a medias para ti , es que el formato UBL es el nuevo 2.5 que difiere algo del 2.1 que preparaste, aunque teniéndolo ya avanzado cuando saquen los anexos no te sera muy difícil modificarlo.
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #8  
Antiguo Hace 2 Semanas
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 483
Poder: 10
seccion_31 Va por buen camino
gracias !

Creo que no habrá mucha diferencia entre 2.5 y 2.1, actualmente paso la factura completa, incluyendo vencimientos, de cualquier manera veré que cambios hay para tener el tema del UBL listo.

Saludos !
Responder Con Cita
  #9  
Antiguo Hace 2 Semanas
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 338
Poder: 6
edari Va por buen camino
Cita:
Empezado por seccion_31 Ver Mensaje
perdon:

me refiero al b2b, de la nueva ley crea y crece.

¿estan los datos tecnicos publicados para remitir las facturas a la plataforma del estado?

No los veo por ningun lado.

Por otro lado el formato UBL 2.1 ya lo tengo resuelto.

Saludos !

Para ver la documentación de UBL 2.1. este sería el link?


https://docs.oasis-open.org/ubl/UBL-2.1.html


Gracias
Responder Con Cita
  #10  
Antiguo Hace 2 Semanas
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 483
Poder: 10
seccion_31 Va por buen camino
Ese enlace es muy amplio yo creo.

Te cuento lo que yo hago.

Utilizo un sistema de records que luego analizo mediante rtti para generar el XML. Ya fue un poco expuesto en el componente que he desarrollado para verifactu (para facturae), pero la version actual soporta el UBL perfecto:

Ejemplo del record de facturaUBL:

Código:
  TFacturaUBL = record
    ext_UBLExtensions            : TUBLExtensions;
    cbc_UBLVersionID             : TFacturaUBLString;
    cbc_CustomizationID          : TFacturaUBLString;
    cbc_ProfileID                : TFacturaUBLString;
    cbc_ID                       : TFacturaUBLString;
    cbc_UUID                     : TFacturaUBLString;
    cbc_IssueDate                : TFacturaUBLString;
    cbc_IssueTime                : TFacturaUBLString;
    cbc_InvoiceTypeCode          : TFacturaUBLString;
    cbc_Note                     : TFacturaUBLString;
    cbc_DocumentCurrencyCode     : TFacturaUBLString;

    cac_AccountingSupplierParty  : TPartyAccounting;    // emisor (nosotros)
    cac_AccountingCustomerParty  : TPartyAccounting;    // receptor (cliente)

    cac_PaymentMeans             : TPaymentMeans;                             // forma de pago
    cac_PaymentTerms             : array [0..MAXVTOS]   of TPaymentTerms;

    cac_AllowanceCharge          : array [0..MAXTOTALS] of TAllowanceCharge;  // importe
    cac_TaxTotal                 : array [0..MAXTOTALS] of TTaxTotal;         // impuestos
    cac_LegalMonetaryTotal       : TLegalMonetaryTotal;
    cac_InvoiceLine              : array of TInvoiceLine;

    _rttiForceNoTocar :array of Byte;      // para que el rtti genere estructura
  end;
Relleno los records normalmente:

Código:
      facturaUBL.cbc_UBLVersionID:='2.1';
      facturaUBL.cbc_ID                     :=alltrim(dbFacturas.fieldbyname('nsernumero').text);
      facturaUBL.cbc_IssueDate              :=DatefacturaE( dbFacturas.fieldbyname('fecha').asdatetime );
      facturaUBL.cbc_InvoiceTypeCode        :='380';
      facturaUBL.cbc_DocumentCurrencyCode   :='EUR';

      // datos del emisor
      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PartyIdentification.cbc_ID_SchemeID   :=dbEmpresa.FieldByName('cif').Text;
      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PartyName.cbc_Name                    :=dbEmpresa.FieldByName('firmaco').Text;
      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PartyLegalEntity.cbc_RegistrationName :=dbEmpresa.FieldByName('firmaco').Text;
      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PostalAddress.cbc_StreetName          :=dbEmpresa.FieldByName('direccion').Text;
      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PostalAddress.cbc_CityName            :=dbEmpresa.FieldByName('poblacion').Text;
      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PostalAddress.cbc_PostalZone          :=dbEmpresa.FieldByName('codpostal').text;

      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PostalAddress.cac_Country.cbc_IdentificationCode    :='ES';
      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PartyTaxScheme.cbc_CompanyID                        :=dbEmpresa.FieldByName('cif').Text;
Ajusto algunas opciones:

Código:
    // opciones globales del recordToXML
    XMLEmptyValues :=false;     // sin valores vacios
    XMLEmptyNodes  :=true;      // sin nodos vacios
    XMLRemoveSpaces:=true;      // sin espacios extras (por izda. o dcha.)
    XMLAutoUTF8    :=true;      // convierte todos los string a UTF-8 automaticamente
    XMLPrefijos_CAC_CBC_EXT:=true;  // necesitamos convertir cac_ID  a  cac:ID
y luego llamo aqui:

Código:
recordToXML('uTipoFacturaUBL.TFacturaUBL',@FacturaUBL,archivo,@UBL_CallBack,'','Invoice');
Y se genera el XML UBL

Probablemente cuando tenga toda la informacion, acabe publicado en el componente de verifactu.



Fijate en los nodos de mi record para darle un vistazo a la documentacion. que pienso pueden ser los esenciales para generar una factura.

Última edición por seccion_31 fecha: Hace 2 Semanas a las 09:36:42.
Responder Con Cita
  #11  
Antiguo Hace 2 Semanas
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 338
Poder: 6
edari Va por buen camino
Cita:
Empezado por seccion_31 Ver Mensaje
Ese enlace es muy amplio yo creo.

Te cuento lo que yo hago.

Utilizo un sistema de records que luego analizo mediante rtti para generar el XML. Ya fue un poco expuesto en el componente que he desarrollado para verifactu (para facturae), pero la version actual soporta el UBL perfecto:

Ejemplo del record de facturaUBL:

Código:
  TFacturaUBL = record
    ext_UBLExtensions            : TUBLExtensions;
    cbc_UBLVersionID             : TFacturaUBLString;
    cbc_CustomizationID          : TFacturaUBLString;
    cbc_ProfileID                : TFacturaUBLString;
    cbc_ID                       : TFacturaUBLString;
    cbc_UUID                     : TFacturaUBLString;
    cbc_IssueDate                : TFacturaUBLString;
    cbc_IssueTime                : TFacturaUBLString;
    cbc_InvoiceTypeCode          : TFacturaUBLString;
    cbc_Note                     : TFacturaUBLString;
    cbc_DocumentCurrencyCode     : TFacturaUBLString;

    cac_AccountingSupplierParty  : TPartyAccounting;    // emisor (nosotros)
    cac_AccountingCustomerParty  : TPartyAccounting;    // receptor (cliente)

    cac_PaymentMeans             : TPaymentMeans;                             // forma de pago
    cac_PaymentTerms             : array [0..MAXVTOS]   of TPaymentTerms;

    cac_AllowanceCharge          : array [0..MAXTOTALS] of TAllowanceCharge;  // importe
    cac_TaxTotal                 : array [0..MAXTOTALS] of TTaxTotal;         // impuestos
    cac_LegalMonetaryTotal       : TLegalMonetaryTotal;
    cac_InvoiceLine              : array of TInvoiceLine;

    _rttiForceNoTocar :array of Byte;      // para que el rtti genere estructura
  end;
Relleno los records normalmente:

Código:
      facturaUBL.cbc_UBLVersionID:='2.1';
      facturaUBL.cbc_ID                     :=alltrim(dbFacturas.fieldbyname('nsernumero').text);
      facturaUBL.cbc_IssueDate              :=DatefacturaE( dbFacturas.fieldbyname('fecha').asdatetime );
      facturaUBL.cbc_InvoiceTypeCode        :='380';
      facturaUBL.cbc_DocumentCurrencyCode   :='EUR';

      // datos del emisor
      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PartyIdentification.cbc_ID_SchemeID   :=dbEmpresa.FieldByName('cif').Text;
      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PartyName.cbc_Name                    :=dbEmpresa.FieldByName('firmaco').Text;
      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PartyLegalEntity.cbc_RegistrationName :=dbEmpresa.FieldByName('firmaco').Text;
      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PostalAddress.cbc_StreetName          :=dbEmpresa.FieldByName('direccion').Text;
      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PostalAddress.cbc_CityName            :=dbEmpresa.FieldByName('poblacion').Text;
      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PostalAddress.cbc_PostalZone          :=dbEmpresa.FieldByName('codpostal').text;

      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PostalAddress.cac_Country.cbc_IdentificationCode    :='ES';
      facturaUBL.cac_AccountingSupplierParty.cac_party.cac_PartyTaxScheme.cbc_CompanyID                        :=dbEmpresa.FieldByName('cif').Text;
Ajusto algunas opciones:

Código:
    // opciones globales del recordToXML
    XMLEmptyValues :=false;     // sin valores vacios
    XMLEmptyNodes  :=true;      // sin nodos vacios
    XMLRemoveSpaces:=true;      // sin espacios extras (por izda. o dcha.)
    XMLAutoUTF8    :=true;      // convierte todos los string a UTF-8 automaticamente
    XMLPrefijos_CAC_CBC_EXT:=true;  // necesitamos convertir cac_ID  a  cac:ID
y luego llamo aqui:

Código:
recordToXML('uTipoFacturaUBL.TFacturaUBL',@FacturaUBL,archivo,@UBL_CallBack,'','Invoice');
Y se genera el XML UBL

Probablemente cuando tenga toda la informacion, acabe publicado en el componente de verifactu.



Fijate en los nodos de mi record para darle un vistazo a la documentacion. que pienso pueden ser los esenciales para generar una factura.

Gracias, le hecho un vistazo
Responder Con Cita
  #12  
Antiguo Hace 1 Semana
David M David M is offline
Miembro
 
Registrado: mar 2021
Posts: 33
Poder: 0
David M Va por buen camino
BOE publicado SPFE

Hoy han publicado el BOE con documentación técnica de la SPFE:

https://www.boe.es/boe/dias/2026/10/...2026-20587.pdf
Responder Con Cita
  #13  
Antiguo Hace 1 Semana
Faneka Faneka is offline
Miembro
 
Registrado: nov 2024
Ubicación: Alicante
Posts: 518
Poder: 2
Faneka Va por buen camino
Gracias, le damos un vistazo.
Responder Con Cita
  #14  
Antiguo Hace 1 Semana
emailesc emailesc is online now
Miembro
 
Registrado: jul 2023
Posts: 301
Poder: 4
emailesc Va por buen camino
Venga, ahora a correr todos con los desarrollos, no sea que lo vayan a retrasar a ultima hora y NO os pillen con todo el trabajo hecho
Responder Con Cita
  #15  
Antiguo Hace 1 Día
Noe277 Noe277 is offline
Miembro
 
Registrado: jul 2017
Posts: 183
Poder: 10
Noe277 Va por buen camino
Buenas,

Han publicado en la web de desarrolladores de la AEAT la documentación tecnica

https://www.agenciatributaria.es/AEA...ca__SPFE_.html
Responder Con Cita
  #16  
Antiguo Hace 3 Horas
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 483
Poder: 10
seccion_31 Va por buen camino
Cita:
Empezado por Noe277 Ver Mensaje
Buenas,

Han publicado en la web de desarrolladores de la AEAT la documentación tecnica

https://www.agenciatributaria.es/AEA...ca__SPFE_.html
gracias!

¿ puede alguien x favor, publicar un ejemplo muy básico de como enviar un UBL ?

(no generar el UBL, solo enviar)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Validar firma de factura electrónica (formato Facturae) maro Varios 79 22-09-2015 09:45:17
xml+xsl a pdf(Factura Electronica) jgutti Varios 4 21-02-2012 16:08:23
Factura Electrónica aig Varios 13 10-12-2010 17:12:44
factura electronica cmm07 Varios 4 02-04-2009 17:46:03
factura electronica spia Varios 2 22-02-2009 21:30:06


La franja horaria es GMT +2. Ahora son las 17:32:54.


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