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
  #21  
Antiguo Hace 1 Semana
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 488
Poder: 10
seccion_31 Va por buen camino
Cita:
Empezado por jlmoli_67 Ver Mensaje
Buenas,

Creo que lei en algun sitio que primero publicaban los requisitos tecnicos, como asi ha sido ya, y a final de mes abrian el entorno de pruebas.

Ya vas tu acelerao.... xd

un saludo
un respeto por favor XD

Esperaremos entonces.

A los que estan buscando una herramienta para componer el XML les pediria que esperen a que publique mi trabajo, para que vean como se puede hacer mucho mas sencillo a traves de records.

Lo que mas me jode, es que de nuevo la AEAT ha vuelto a colocar sus listas de codigos para identificar sus asuntos. ¿porque no les sirve con la codificacion del UBL y ya?

Igual le pido a neftali que abra un foro para esta nueva demo y lo publico.

Saludos !
Responder Con Cita
  #22  
Antiguo Hace 1 Semana
RUBEN_SP RUBEN_SP is offline
Miembro
 
Registrado: mar 2008
Posts: 74
Poder: 19
RUBEN_SP Va por buen camino
Cita:
Empezado por seccion_31 Ver Mensaje
un respeto por favor XD

Esperaremos entonces.

A los que estan buscando una herramienta para componer el XML les pediria que esperen a que publique mi trabajo, para que vean como se puede hacer mucho mas sencillo a traves de records.

Lo que mas me jode, es que de nuevo la AEAT ha vuelto a colocar sus listas de codigos para identificar sus asuntos. ¿porque no les sirve con la codificacion del UBL y ya?

Igual le pido a neftali que abra un foro para esta nueva demo y lo publico.

Saludos !
Hola, he probado la demo que has puesto, muchas gracias por compartir, pero al pulsar el botón "Generar XML" justo en la linea: facturaElectronicaUBL_xml(archivoTemporal, archivoXML, nil); da el error: "Invalid pointer operation"
Responder Con Cita
  #23  
Antiguo Hace 1 Semana
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 488
Poder: 10
seccion_31 Va por buen camino
hola

no reconozco lo que esta subido, se han eliminado las dcus, dll, ejecutable... asi que ¿habras tenido que recompilar todo?

Tal cual lo he subido, mi original, ejecuto la demo (D7) (y la DLL compilada con D12 comunity edition) y funciona perfecto generando el XML. Sin problemas.


Abre si quieres esta consulta bajo este hilo y seguimos si te parece.

https://clubdelphi.com/foros/showthread.php?t=98091

Te voy a pasar en privado la distribución original de wetransfer que creo no esta caducada todavia.

Saludos !
Responder Con Cita
  #24  
Antiguo Hace 5 Días
Jesusggc Jesusggc is offline
Miembro
 
Registrado: may 2024
Posts: 50
Poder: 3
Jesusggc Va por buen camino
Endpoints PRE

Buenas

Alguien sabe si los Endpoints PRE estan operativos? . Estoy intentando validar un factura en InvoiceValidation y me devuelve HTTP 404 Not Found.

Gracias.
Responder Con Cita
  #25  
Antiguo Hace 4 Días
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 488
Poder: 10
seccion_31 Va por buen camino
Cita:
Empezado por Jesusggc Ver Mensaje
Buenas

Alguien sabe si los Endpoints PRE estan operativos? . Estoy intentando validar un factura en InvoiceValidation y me devuelve HTTP 404 Not Found.

Gracias.
estamos igual.

saludos !
Responder Con Cita
  #26  
Antiguo Hace 3 Días
Miquel 2001 Miquel 2001 is offline
Registrado
 
Registrado: oct 2026
Posts: 5
Poder: 0
Miquel 2001 Va por buen camino
factura con 2 ivas 21% y 10% y 2 R.E 5,2% y 1.4%

factura con 2 ivas 21% y 10% y 2 R.E 5,2% y 1.4%
hola saludos a todos soy nuevo en este foro
alguien de vosotros me podria decir si esta factura seria correcta
he separado los diferentes grupos de nodos para que se vea mejor
el nodo <cac:TaxScheme>
<cbc:ID>N</cbc:ID> lista L4 no se si es correcto R.E "N" segun la IA tiene que ser VAT
</cac:TaxScheme>
gracias
Responder Con Cita
  #27  
Antiguo Hace 3 Días
Jesusggc Jesusggc is offline
Miembro
 
Registrado: may 2024
Posts: 50
Poder: 3
Jesusggc Va por buen camino
Cita:
Empezado por seccion_31 Ver Mensaje
estamos igual.

saludos !
Hasta primeros de Noviembre no los habilitan

Cita:
Buenas tardes:

Efectivamente, los endpoints de los servicios web de la SPFE en el entorno de Preproducción se encuentran actualmente deshabilitados por trabajos de despliegue.

Está prevista la apertura y disponibilidad de los servicios web del entorno de Preproducción para pruebas de integración de terceros la primera semana de Noviembre.

Atentamente,
Atención al Usuario
Departamento de Informática Tributaria
• Soporte técnico por correo electrónico: [email protected]
Responder Con Cita
  #28  
Antiguo Hace 3 Días
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 881
Poder: 3
bmfranky Va camino a la fama
Thumbs up

Cita:
Empezado por Jesusggc Ver Mensaje
Hasta primeros de Noviembre no los habilitan
Hola, gracias por a info.
__________________
Uno se alegra de ser útil. (Isaac Asimov)
Responder Con Cita
  #29  
Antiguo Hace 3 Días
Jesusggc Jesusggc is offline
Miembro
 
Registrado: may 2024
Posts: 50
Poder: 3
Jesusggc Va por buen camino
Cita:
Empezado por Miquel 2001 Ver Mensaje
factura con 2 ivas 21% y 10% y 2 R.E 5,2% y 1.4%
hola saludos a todos soy nuevo en este foro
alguien de vosotros me podria decir si esta factura seria correcta
he separado los diferentes grupos de nodos para que se vea mejor
el nodo <cac:TaxScheme>
<cbc:ID>N</cbc:ID> lista L4 no se si es correcto R.E "N" segun la IA tiene que ser VAT
</cac:TaxScheme>
gracias
Buenas

Creo que estaría bien, excepto que te falta indicar tb el recargo por linea

Cita:

El 'ClassifiedTaxCategory' es array por lo que deberias añadir tb aqui el recargo. Entiendo.

' BG-30
_classifiedTaxCategorye(0) = New TaxCategoryType() With {
.ID = New IDType() With {.Value = "S"},
.Percent = New PercentType1() With {.Value = Convert.ToDecimal(drLineaFacturaVta("lav_porc_imp").ToString())},
.TaxScheme = New TaxSchemeType() With
{
.ID = New IDType() With {.Value = "VAT"}
}
}
_invoiceLine(_indexLine).Item.ClassifiedTaxCategory = _classifiedTaxCategorye
Responder Con Cita
  #30  
Antiguo Hace 3 Días
Miquel 2001 Miquel 2001 is offline
Registrado
 
Registrado: oct 2026
Posts: 5
Poder: 0
Miquel 2001 Va por buen camino
Muchas gracias
Responder Con Cita
  #31  
Antiguo Hace 2 Días
Miquel 2001 Miquel 2001 is offline
Registrado
 
Registrado: oct 2026
Posts: 5
Poder: 0
Miquel 2001 Va por buen camino
hola, entonces los grupos de nodos quedarian de esta manera:
Código:
<cac:TaxSubtotal>
            <cbc:TaxableAmount currencyID="EUR">200.00</cbc:TaxableAmount>
            <cbc:TaxAmount currencyID="EUR">10.40</cbc:TaxAmount>
            <cac:TaxCategory>
                <cbc:ID>S</cbc:ID>                                                                  
                <cbc:Percent>5.20</cbc:Percent>
                <cac:TaxScheme>
              <cbc:ID>N</cbc:ID>                                    "N" estaria bien ?                               
            </cac:TaxScheme>
            </cac:TaxCategory>
</cac:TaxSubtotal>
y en la linea de factura
Código:
<cac:InvoiceLine>

<cac:ClassifiedTaxCategory>
	<cbc:ID>S</cbc:ID>
	<cbc:Percent>21.0</cbc:Percent>
<cac:TaxScheme>
	<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>

<cac:ClassifiedTaxCategory>
	<cbc:ID>S</cbc:ID>
	<cbc:Percent>5.20</cbc:Percent>
<cac:TaxScheme>
	<cbc:ID>N</cbc:ID>                             "N" estaria bien ? 
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>

(El Moderador) Por favor, añadid TAGs al mensaje cuando utilicéis código (Delphi, XML, NET,...)

Última edición por Neftali [Germán.Estévez] fecha: Hace 2 Días a las 17:37:37. Razón: Añadir TAG's al código
Responder Con Cita
  #32  
Antiguo Hace 2 Días
jlmoli_67 jlmoli_67 is offline
Miembro
 
Registrado: feb 2024
Posts: 139
Poder: 3
jlmoli_67 Va por buen camino
Buenas,

Yo lo tengo asi:

Código:
<cac:TaxTotal>
    <cbc:TaxAmount currencyID="EUR">-13.10</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="EUR">-50.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="EUR">-10.50</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>21.0</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="EUR">-50.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="EUR">-2.60</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>N</cbc:ID>
        <cbc:Percent>5.2</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>

Código:
<cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="EA">-1</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">-50.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Description>Rectificación de Producto 1</cbc:Description>
      <cbc:Name>Producto 1</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>21.0</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>N</cbc:ID>
        <cbc:Percent>5.2</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
      <cac:AdditionalItemProperty>
        <cbc:Name>urn:aeat:names:specification:schema:lin:REGI</cbc:Name>
        <cbc:Value>01</cbc:Value>
        <cbc:ValueQualifier>IVA</cbc:ValueQualifier>
      </cac:AdditionalItemProperty>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="EUR">50.00</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>
lo de los negativos es porque estoy con una rectificativa haciendo pruebas. En principio el validador contra el xsd publicado me da bien.

Última edición por Neftali [Germán.Estévez] fecha: Hace 2 Días a las 17:38:07. Razón: Añadir TAGs al mensaje
Responder Con Cita
  #33  
Antiguo Hace 2 Días
jlmoli_67 jlmoli_67 is offline
Miembro
 
Registrado: feb 2024
Posts: 139
Poder: 3
jlmoli_67 Va por buen camino
rectificativa

Esta prueba de rectificativa por diferencia me la acaba de validar como buena el xsd:


Código:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<in:Invoice xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:in="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:ns4="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2">
  <cbc:CustomizationID>urn:cen.eu:en16931:2026#conformant#urn:aeat.es:spfe:1.0.0:extended</cbc:CustomizationID>
  <cbc:ProfileID>urn:aeat:names:specification:schema:profile:B2B</cbc:ProfileID>
  <cbc:ID>REC202600001</cbc:ID>
  <cbc:IssueDate>2026-10-05</cbc:IssueDate>
  <cbc:DueDate>2026-11-04</cbc:DueDate>
  <cbc:InvoiceTypeCode>384</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode listID="ISO 4217 Alpha">EUR</cbc:DocumentCurrencyCode>
  <cac:BillingReference>
    <cac:InvoiceDocumentReference>
      <cbc:ID>FC0000111</cbc:ID>
      <cbc:IssueDate>2026-10-04</cbc:IssueDate>
    </cac:InvoiceDocumentReference>
  </cac:BillingReference>
  <cac:AdditionalDocumentReference>
    <cbc:ID>RECT:TIPO</cbc:ID>
    <cbc:DocumentTypeCode>R1</cbc:DocumentTypeCode>
  </cac:AdditionalDocumentReference>
  <cac:AdditionalDocumentReference>
    <cbc:ID>RECT:MODALIDAD</cbc:ID>
    <cbc:DocumentTypeCode>I</cbc:DocumentTypeCode>
  </cac:AdditionalDocumentReference>
  <cac:AdditionalDocumentReference>
    <cbc:ID>urn:aeat:names:specification:schema:QR</cbc:ID>
    <cbc:UUID>https://www2.agenciatributaria.gob.aeat/wlpl/TIKE-CONT/ValidarQR?fecha=2026-10-05&amp;numserie=REC202600001&amp;nif=B29762910&amp;idioma=es&amp;importe=-63.10</cbc:UUID>
    <cbc:DocumentTypeCode>QR</cbc:DocumentTypeCode>
    <cbc:DocumentDescription>VERIFACTU</cbc:DocumentDescription>
  </cac:AdditionalDocumentReference>
  <cac:AccountingSupplierParty>
    <cac:Party>
      <cac:PostalAddress>
        <cbc:StreetName>CARDO CUCO, 3</cbc:StreetName>
        <cbc:CityName>EL PALO</cbc:CityName>
        <cbc:PostalZone>29018</cbc:PostalZone>
        <cbc:CountrySubentity>MALAGA</cbc:CountrySubentity>
        <cac:Country>
          <cbc:IdentificationCode>ES</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID schemeID="FC">B29762903</cbc:CompanyID>
        <cac:TaxScheme>
          <cbc:ID>LOC</cbc:ID>
        </cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>PEPE S.L.</cbc:RegistrationName>
        <cbc:CompanyID schemeID="FC">B29762910</cbc:CompanyID>
      </cac:PartyLegalEntity>
    </cac:Party>
  </cac:AccountingSupplierParty>
  <cac:AccountingCustomerParty>
    <cac:Party>
      <cac:PostalAddress>
        <cbc:StreetName>BORREGOS, 33</cbc:StreetName>
        <cbc:CityName>CHIPIONA</cbc:CityName>
        <cbc:PostalZone>21018</cbc:PostalZone>
        <cbc:CountrySubentity>CADIZ</cbc:CountrySubentity>
        <cac:Country>
          <cbc:IdentificationCode>ES</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID schemeID="FC">B39762911</cbc:CompanyID>
        <cac:TaxScheme>
          <cbc:ID>LOC</cbc:ID>
        </cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>CAGON S.L.</cbc:RegistrationName>
        <cbc:CompanyID schemeID="FC">B39762911</cbc:CompanyID>
      </cac:PartyLegalEntity>
      <cac:Contact />
    </cac:Party>
  </cac:AccountingCustomerParty>
  <cac:PaymentMeans>
    <cbc:ID>Vencimiento_1</cbc:ID>
    <cbc:PaymentMeansCode listID="UN/ECE 4461">10</cbc:PaymentMeansCode>
  </cac:PaymentMeans>
  <cac:PaymentTerms>
    <cbc:ID>Vencimiento_1</cbc:ID>
    <cbc:Note>Pago en Efectivo</cbc:Note>
    <cbc:Amount currencyID="EUR">-63.10</cbc:Amount>
    <cbc:PaymentDueDate>2026-12-04</cbc:PaymentDueDate>
  </cac:PaymentTerms>
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="EUR">-13.10</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="EUR">-50.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="EUR">-10.50</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>21.0</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="EUR">-50.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="EUR">-2.60</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>N</cbc:ID>
        <cbc:Percent>5.2</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="EUR">-50.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="EUR">-50.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="EUR">-63.10</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="EUR">-63.10</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Description>Producto 1</cbc:Description>
      <cbc:Name>Producto 1</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>21.0</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>N</cbc:ID>
        <cbc:Percent>5.2</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
      <cac:AdditionalItemProperty>
        <cbc:Name>urn:aeat:names:specification:schema:lin:REGI</cbc:Name>
        <cbc:Value>01</cbc:Value>
        <cbc:ValueQualifier>IVA</cbc:ValueQualifier>
      </cac:AdditionalItemProperty>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>
  <cac:InvoiceLine>
    <cbc:ID>2</cbc:ID>
    <cbc:InvoicedQuantity unitCode="EA">-1</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">-150.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Description>Rectificación de Producto 1</cbc:Description>
      <cbc:Name>Producto 1</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>21.0</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>N</cbc:ID>
        <cbc:Percent>5.2</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
      <cac:AdditionalItemProperty>
        <cbc:Name>urn:aeat:names:specification:schema:lin:REGI</cbc:Name>
        <cbc:Value>01</cbc:Value>
        <cbc:ValueQualifier>IVA</cbc:ValueQualifier>
      </cac:AdditionalItemProperty>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="EUR">150.00</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>
</in:Invoice>
Responder Con Cita
  #34  
Antiguo Hace 2 Días
mjruiz mjruiz is offline
Miembro
 
Registrado: ene 2024
Posts: 21
Poder: 0
mjruiz Va por buen camino
Alguien ha encontrado en algún lugar cuando hay que enviar?
El SII son 4 días max
Verifactu, "inmediato"

Pero para estás no encuentro ninguna referencia en la documentación
Responder Con Cita
  #35  
Antiguo Hace 2 Días
Miquel 2001 Miquel 2001 is offline
Registrado
 
Registrado: oct 2026
Posts: 5
Poder: 0
Miquel 2001 Va por buen camino
Gracias por la información
yo no soy programador estoy intentando descifrar un poco toda la documentacion publicada
en desarrolladores y pasarsela al programador de mi empresa.
tuve mucha ayuda por vuestra parte con el tema de verifactu.
si hago alguna pregunta por ignorancia
perdonad.

mi pregunta es :
como haceis para validar contra el xsd publicado.
supongo que solo es validacion sináctica
Responder Con Cita
  #36  
Antiguo Hace 2 Días
jlmoli_67 jlmoli_67 is offline
Miembro
 
Registrado: feb 2024
Posts: 139
Poder: 3
jlmoli_67 Va por buen camino
Yo en .net hago esto:


Código:
Private ListaErrores As List(Of String)

  Public Function ValidarXmlContraXsd(ByVal rutaXml As String, ByVal rutaXsd As String) As Boolean
        ListaErrores = New List(Of String)()

     
        Dim settings As New XmlReaderSettings()
        settings.ValidationType = ValidationType.Schema
        settings.ValidationFlags = settings.ValidationFlags Or XmlSchemaValidationFlags.ReportValidationWarnings

       
        Try
            settings.Schemas.Add(Nothing, rutaXsd)
        Catch ex As Exception
            Throw New Exception("Error al cargar el archivo XSD: " & ex.Message)
        End Try

       
        AddHandler settings.ValidationEventHandler, AddressOf CapturarErrorValidacion

       
        Try
            Using reader As XmlReader = XmlReader.Create(rutaXml, settings)
                ' Recorrer todo el XML para forzar la validación completa
                While reader.Read()
                End While
            End Using
        Catch ex As Exception
            ListaErrores.Add("Error de lectura/sintaxis XML: " & ex.Message)
        End Try

      
        If ListaErrores.Count = 0 Then
           ' Console.WriteLine("El archivo XML es VÁLIDO según el XSD.")
            Return True
        Else
           ' Console.WriteLine("Se encontraron " & ListaErrores.Count & " errores de validación:")
            For Each err As String In ListaErrores
                Console.WriteLine("- " & err)
            Next
            Return False
        End If
    End Function
La llamo asi:

Código:
  Dim esValidoXsd As Boolean = ValidarXmlContraXsd("altaFacturas1.xml", Application.StartupPath & "\os-UBL-2.5\xsd\maindoc\UBL-Invoice-2.5.xsd")
       
         If Not esValidoXsd Then
            ' Une todos los errores de la lista en un solo texto separado por saltos de línea para mostrarlos en el MsgBox
            Dim detalleErrores As String = String.Join(Environment.NewLine, ListaErrores)
            MsgBox("El XML no es válido. Errores encontrados:" & Environment.NewLine & detalleErrores, MsgBoxStyle.Critical, "Error de Validación XSD")

           
            Exit Sub
        Else
            MsgBox("El archivo XML es VÁLIDO según el XSD.", MsgBoxStyle.Information)
        End If
el xsd lo baje del fichero comrprimido UBL-2.5.zip que esta en https://docs.oasis-open.org/ubl/os-UBL-2.5/ para una vez descomprimido poder llamar a la ruta local \os-UBL-2.5\xsd\maindoc\UBL-Invoice-2.5.xsd

(El Moderador) Por favor, añadid TAGs al mensaje cuando utilicéis código (Delphi, XML, NET,...)

Última edición por Neftali [Germán.Estévez] fecha: Hace 2 Días a las 17:38:41. Razón: Añadir TAG's al código
Responder Con Cita
  #37  
Antiguo Hace 2 Días
Jesusggc Jesusggc is offline
Miembro
 
Registrado: may 2024
Posts: 50
Poder: 3
Jesusggc Va por buen camino
Cita:
Empezado por jlmoli_67 Ver Mensaje
Yo en .net hago esto:


Private ListaErrores As List(Of String)

Public Function ValidarXmlContraXsd(ByVal rutaXml As String, ByVal rutaXsd As String) As Boolean
ListaErrores = New List(Of String)()


Dim settings As New XmlReaderSettings()
settings.ValidationType = ValidationType.Schema
settings.ValidationFlags = settings.ValidationFlags Or XmlSchemaValidationFlags.ReportValidationWarnings


Try
settings.Schemas.Add(Nothing, rutaXsd)
Catch ex As Exception
Throw New Exception("Error al cargar el archivo XSD: " & ex.Message)
End Try


AddHandler settings.ValidationEventHandler, AddressOf CapturarErrorValidacion


Try
Using reader As XmlReader = XmlReader.Create(rutaXml, settings)
' Recorrer todo el XML para forzar la validación completa
While reader.Read()
End While
End Using
Catch ex As Exception
ListaErrores.Add("Error de lectura/sintaxis XML: " & ex.Message)
End Try


If ListaErrores.Count = 0 Then
' Console.WriteLine("El archivo XML es VÁLIDO según el XSD.")
Return True
Else
' Console.WriteLine("Se encontraron " & ListaErrores.Count & " errores de validación:")
For Each err As String In ListaErrores
Console.WriteLine("- " & err)
Next
Return False
End If
End Function



La llamo asi:

Dim esValidoXsd As Boolean = ValidarXmlContraXsd("altaFacturas1.xml", Application.StartupPath & "\os-UBL-2.5\xsd\maindoc\UBL-Invoice-2.5.xsd")

If Not esValidoXsd Then
' Une todos los errores de la lista en un solo texto separado por saltos de línea para mostrarlos en el MsgBox
Dim detalleErrores As String = String.Join(Environment.NewLine, ListaErrores)
MsgBox("El XML no es válido. Errores encontrados:" & Environment.NewLine & detalleErrores, MsgBoxStyle.Critical, "Error de Validación XSD")


Exit Sub
Else
MsgBox("El archivo XML es VÁLIDO según el XSD.", MsgBoxStyle.Information)
End If



el xsd lo baje del fichero comrprimido UBL-2.5.zip que esta en https://docs.oasis-open.org/ubl/os-UBL-2.5/ para una vez descomprimido poder llamar a la ruta local \os-UBL-2.5\xsd\maindoc\UBL-Invoice-2.5.xsd
Gracias. Buena info.
Responder Con Cita
  #38  
Antiguo Hace 2 Días
Miquel 2001 Miquel 2001 is offline
Registrado
 
Registrado: oct 2026
Posts: 5
Poder: 0
Miquel 2001 Va por buen camino
hola gracias por tus respuestas, el grupo de nodos de <AdditonialDocumentReference>
esta bien?
no te faltan los que te separo con un intro.
en el caso de una rectificativa todas las cantidades van en negativo tambien el nº de unidades
<cbc:InvoiceQuantity> lo que no va en negativo es el precio <cbc:PriceAmount> ya que el precio
de un articulo nunca puede ser negativo creo que es asi
gracias por vuestras respuestas

Código:
<cac:AdditionalDocumentReference>                               
      <cbc:ID>RECT:TIPO</cbc:ID>                                                   
      <cbc:DocumentTypeCode>R1</cbc:DocumentTypeCode>                                       
</cac:AdditionalDocumentReference>      
<cac:AdditionalDocumentReference>
      <cbc:ID>RECT:MODALIDAD</cbc:ID>                                                                                         
      <cbc:DocumentTypeCode>I</cbc:DocumentTypeCode>
</cac:AdditionalDocumentReference>      

<cac:AdditionalDocumentReference>                                 
      <cbc:ID>RECT:IMPORTES</cbc:ID>                                                                     
      <cbc:DocumentDescription>500.00</cbc:DocumentDescription>                    
      <cbc:DocumentTypeCode>Base</cbc:DocumentTypeCode>                             
</cac:AdditionalDocumentReference>

Última edición por Neftali [Germán.Estévez] fecha: Hace 2 Días a las 17:39:04. Razón: Añadir TAG's al código
Responder Con Cita
  #39  
Antiguo Hace 2 Días
Faneka Faneka is offline
Miembro
 
Registrado: nov 2024
Ubicación: Alicante
Posts: 521
Poder: 2
Faneka Va por buen camino
Cita:
Empezado por mjruiz Ver Mensaje
Alguien ha encontrado en algún lugar cuando hay que enviar?
El SII son 4 días max
Verifactu, "inmediato"

Pero para estás no encuentro ninguna referencia en la documentación
Yo por lo que estoy viendo si vas mediante un proveedor externo tiene que ser simultáneo pero si es nuestro ERP el que lo envía por lo visto no esta claro y no hay nada en ningún sitio escrito de momento.

Yo estoy haciendo pruebas con la IA que ya me tiene montado el proceso más o menos y le he preguntado y me contesta:

Plazo de envío: qué está confirmado

La norma exige expresamente el envío simultáneo para la copia fiel de las facturas emitidas e intercambiadas fuera de SPFE.

Para nuestro circuito previsto —enviar el original a través de SPFE— los artículos revisados no establecen expresamente ese mismo mandato ni un plazo general de cuatro días como el del SII. No tenemos confirmación suficiente para garantizar un envío diferido concreto. Antes de fijar el funcionamiento definitivo, debemos aclarar con la AEAT cómo se aplican los plazos generales de facturación a este circuito. Orden HAC/1028/2026, artículos 3 a 5.
Responder Con Cita
  #40  
Antiguo Hace 2 Días
Jesusggc Jesusggc is offline
Miembro
 
Registrado: may 2024
Posts: 50
Poder: 3
Jesusggc Va por buen camino
Cita:
Empezado por Faneka Ver Mensaje
Yo por lo que estoy viendo si vas mediante un proveedor externo tiene que ser simultáneo pero si es nuestro ERP el que lo envía por lo visto no esta claro y no hay nada en ningún sitio escrito de momento.

Yo estoy haciendo pruebas con la IA que ya me tiene montado el proceso más o menos y le he preguntado y me contesta:

Plazo de envío: qué está confirmado

La norma exige expresamente el envío simultáneo para la copia fiel de las facturas emitidas e intercambiadas fuera de SPFE.

Para nuestro circuito previsto —enviar el original a través de SPFE— los artículos revisados no establecen expresamente ese mismo mandato ni un plazo general de cuatro días como el del SII. No tenemos confirmación suficiente para garantizar un envío diferido concreto. Antes de fijar el funcionamiento definitivo, debemos aclarar con la AEAT cómo se aplican los plazos generales de facturación a este circuito. Orden HAC/1028/2026, artículos 3 a 5.
Buenas

El concepto "copia fiel" que es ? La copia que envia las plataformas privadas a la publica (SPFE)?

Gracias
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 10:45:17
xml+xsl a pdf(Factura Electronica) jgutti Varios 4 21-02-2012 17:08:23
Factura Electrónica aig Varios 13 10-12-2010 18:12:44
factura electronica cmm07 Varios 4 02-04-2009 18:46:03
factura electronica spia Varios 2 22-02-2009 22:30:06


La franja horaria es GMT +2. Ahora son las 23:36:32.


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