España: Normativa sancionadora sistemas informáticos

Re: España: Normativa sancionadora sistemas informáticos

Postby paquitohm » Mon Sep 30, 2024 3:46 pm

Víctor,
Desde
https://www.agenciatributaria.es/AEAT.d ... s_web.html

Se puede obtener el esquema xsd https://prewww2.aeat.es/static_files/co ... macion.xsd
que me parece a mi que lleva todo lo necesario.

Usando visual studio code, en teoría se podria hacer según dice Microsoft en https://learn.microsoft.com/en-us/visua ... ew=vs-2022
Alguno teneis visual code instalado y quereis intentarlo ?
Instalé el otro dia xmlspy para esto y no he podido y me da cosa instalar otra FAT aplicacion para esto.

En todo caso parece que tambien se podria hacer con el utilitario xsd.exe de visual code. Si alguien lo tiene por el hd agradeceria que la compartiera en hmpaquito en hotmail punto com

***
PD 1. Se trataría de obtener un .xml completo con todas las casuisticas. Los ejemplos que pueden venir en el .pdf de referencia de la Agencia podrían no describir ejemplos que comprendieran toda la sintaxis posible.
PD 2. Precisamente esto deberia ser tambien un trabajo de la IA. Le suministramos el .xsd y le pedimos el un ejemplo completo de un .xml. La gratuita ya la he probado y dice que mensaje muy largo
PD 3. Estaría bien cogerse uno de esos lenguajes que si genera el sistema de metodos y objetos y pasarlo a Harbour. Por ejemplo, se generan todas las clases en Delphi y luego se le dice a la IA que las traduzca a Harbour. Qué gran adelanto y qué base más buena sería para empezar con buen pie este tema. Quizás se pueda hacer con el VSC en C#

Cheers
paquitohm
 
Posts: 266
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Postby VictorCasajuana » Tue Oct 01, 2024 6:51 am

paquitohm wrote:Víctor,
Desde
https://www.agenciatributaria.es/AEAT.d ... s_web.html

Se puede obtener el esquema xsd https://prewww2.aeat.es/static_files/co ... macion.xsd
que me parece a mi que lleva todo lo necesario.

Usando visual studio code, en teoría se podria hacer según dice Microsoft en https://learn.microsoft.com/en-us/visua ... ew=vs-2022
Alguno teneis visual code instalado y quereis intentarlo ?
Instalé el otro dia xmlspy para esto y no he podido y me da cosa instalar otra FAT aplicacion para esto.

En todo caso parece que tambien se podria hacer con el utilitario xsd.exe de visual code. Si alguien lo tiene por el hd agradeceria que la compartiera en hmpaquito en hotmail punto com

***
PD 1. Se trataría de obtener un .xml completo con todas las casuisticas. Los ejemplos que pueden venir en el .pdf de referencia de la Agencia podrían no describir ejemplos que comprendieran toda la sintaxis posible.
PD 2. Precisamente esto deberia ser tambien un trabajo de la IA. Le suministramos el .xsd y le pedimos el un ejemplo completo de un .xml. La gratuita ya la he probado y dice que mensaje muy largo
PD 3. Estaría bien cogerse uno de esos lenguajes que si genera el sistema de metodos y objetos y pasarlo a Harbour. Por ejemplo, se generan todas las clases en Delphi y luego se le dice a la IA que las traduzca a Harbour. Qué gran adelanto y qué base más buena sería para empezar con buen pie este tema. Quizás se pueda hacer con el VSC en C#

Cheers


No trabajo con Visual studio, no puedo hacer las pruebas que indicas.
refernente al xsd https://prewww2.aeat.es/static_files/co ... macion.xsd no lo veo claro, ya que el ejemplo de alta de factura que suministra la agencia tributaria empieza así:

Code: Select all  Expand view

<sum:RegFactuSistemaFacturacion>
         <sum1:Cabecera>
            <sum1:ObligadoEmision>
               <sum1:NombreRazon>XXXXX</sum1:NombreRazon>
               <sum1:NIF>AAAA</sum1:NIF>
            </sum1:ObligadoEmision>
         </sum1:Cabecera>
         <sum:RegistroFactura>
 


y el xsd no hace referencia a la etiqueta RegFactuSistemaFacturacion
tampoco sé el motivo de incluir sum y sum1, ya que en el xsd no viene especificado tampoco

Yo tengo una clase que a partir de un xsd crea la estructura de clases para generar el xml, pero con este xsd no lo puedo hacer ya que no lo entiendo al 100%

alguna idea?

salud!
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 265
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: España: Normativa sancionadora sistemas informáticos

Postby Garbi » Tue Oct 01, 2024 3:02 pm

Tengo muchas dudas, en principio parece sencillo usar veri*factu, hacer la factura subirla en formato .xml e imprimirla con el QR.

Pero soy el único que no se por donde empezar.
Tengo el fichero de Facturacion-Verifactu xls que describe como tiene que hacerse el xml. Pero no veo o no localizo ningún ejemplo xml para poder empezar.
El código QR más o menos lo tengo claro lo que lleva, pero según he visto debe de ir en la parte superior del documento según he visto en un pdf del diseño, vamos estoy seguro que me van a decir que modificar la cabecera de la factura nada,que si acaso al final de la factura.

Hay alguien que al menos a mi (y seguro que servirá para otros usuarios) me pueda guiar, porque ya esto mareado y con algo de ansiedad por que si habrá 9 meses para implantar pero me temo que no voy a ser capaz de hacerlo.
Y además con las sanciones que hay por no estar al día no es para ir jugándotelo.

Y no creo que Victor, Paquito solamente estén en ello.

Gracias a todos por vuestra ayuda.
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Garbi
 
Posts: 340
Joined: Wed Nov 02, 2005 3:28 pm

Re: España: Normativa sancionadora sistemas informáticos

Postby VictorCasajuana » Tue Oct 01, 2024 3:19 pm

Garbi wrote:Tengo muchas dudas, en principio parece sencillo usar veri*factu, hacer la factura subirla en formato .xml e imprimirla con el QR.

Pero soy el único que no se por donde empezar.
Tengo el fichero de Facturacion-Verifactu xls que describe como tiene que hacerse el xml. Pero no veo o no localizo ningún ejemplo xml para poder empezar.
El código QR más o menos lo tengo claro lo que lleva, pero según he visto debe de ir en la parte superior del documento según he visto en un pdf del diseño, vamos estoy seguro que me van a decir que modificar la cabecera de la factura nada,que si acaso al final de la factura.

Hay alguien que al menos a mi (y seguro que servirá para otros usuarios) me pueda guiar, porque ya esto mareado y con algo de ansiedad por que si habrá 9 meses para implantar pero me temo que no voy a ser capaz de hacerlo.
Y además con las sanciones que hay por no estar al día no es para ir jugándotelo.

Y no creo que Victor, Paquito solamente estén en ello.

Gracias a todos por vuestra ayuda.


Hola.
Puedes copiar el contenido del fichero Facturacion-verifactu.xls para verlo?
En el siguiente pdf tienes ejemplos de facturas en xml
https://www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Veri-Factu_Descripcion_SWeb.pdf
Por ejemplo:
Code: Select all  Expand view

<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"
    xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
    <soapenv:Header />
    <soapenv:Body>
        <sum:RegFactuSistemaFacturacion>
            <sum1:Cabecera>
                <sum1:ObligadoEmision>
                    <sum1:NombreRazon>XXXXX</sum1:NombreRazon>
                    <sum1:NIF>AAAA</sum1:NIF>
                </sum1:ObligadoEmision>
            </sum1:Cabecera>
            <sum:RegistroFactura>
                <sum:RegistroAlta>
                    <sum1:IDVersion>1.0</sum1:IDVersion>
                    <sum1:IDFactura>
                        <sum1:IDEmisorFactura>AAAA</sum1:IDEmisorFactura>
                        <sum1:NumSerieFactura>12345</sum1:NumSerieFactura>
                        <sum1:FechaExpedicionFactura>13-09-2024</sum1:FechaExpedicionFactura>
                    </sum1:IDFactura>
                    <sum1:NombreRazonEmisor>XXXXX</sum1:NombreRazonEmisor>
                    <sum1:TipoFactura>F1</sum1:TipoFactura>
                    <sum1:DescripcionOperacion>Descripc</sum1:DescripcionOperacion>
                    <sum1:Destinatarios>
                        <sum1:IDDestinatario>
                            <sum1:NombreRazon>YYYY</sum1:NombreRazon>
                            <sum1:NIF>BBBB</sum1:NIF>
                        </sum1:IDDestinatario>
                    </sum1:Destinatarios>
                    <sum1:Desglose>
                        <sum1:DetalleDesglose>
                            <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
                            <sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
                            <sum1:TipoImpositivo>4</sum1:TipoImpositivo>
                            <sum1:BaseImponibleOimporteNoSujeto>10</sum1:BaseImponibleOimporteNoSujeto>
                            <sum1:CuotaRepercutida>0.4</sum1:CuotaRepercutida>
                        </sum1:DetalleDesglose>
                        <sum1:DetalleDesglose>
                            <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
                            <sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
                            <sum1:TipoImpositivo>21</sum1:TipoImpositivo>
                            <sum1:BaseImponibleOimporteNoSujeto>100</sum1:BaseImponibleOimporteNoSujeto>
                            <sum1:CuotaRepercutida>21</sum1:CuotaRepercutida>
                        </sum1:DetalleDesglose>
                    </sum1:Desglose>
                    <sum1:CuotaTotal>21.4</sum1:CuotaTotal>
                    <sum1:ImporteTotal>131.4</sum1:ImporteTotal>
                    <sum1:Encadenamiento>
                        <sum1:RegistroAnterior>
                            <sum1:IDEmisorFactura>AAAA</sum1:IDEmisorFactura>
                            <sum1:NumSerieFactura>44</sum1:NumSerieFactura>
                            <sum1:FechaExpedicionFactura>13-09-2024</sum1:FechaExpedicionFactura>
                            <sum1:Huella>HuellaRegistroAnterior</sum1:Huella>
                        </sum1:RegistroAnterior>
                    </sum1:Encadenamiento>
                    <sum1:SistemaInformatico>
                        <sum1:NombreRazon>SSSS</sum1:NombreRazon>
                        <sum1:NIF>NNNN</sum1:NIF>
                        <sum1:NombreSistemaInformatico>NombreSistemaInformatico</sum1:NombreSistemaInformatico>
                        <sum1:IdSistemaInformatico>77</sum1:IdSistemaInformatico>
                        <sum1:Version>1.0.03</sum1:Version>
                        <sum1:NumeroInstalacion>383</sum1:NumeroInstalacion>
                        <sum1:TipoUsoPosibleSoloVerifactu>N</sum1:TipoUsoPosibleSoloVerifactu>
                        <sum1:TipoUsoPosibleMultiOT>S</sum1:TipoUsoPosibleMultiOT>
                        <sum1:IndicadorMultiplesOT>S</sum1:IndicadorMultiplesOT>
                    </sum1:SistemaInformatico>
                    <sum1:FechaHoraHusoGenRegistro>2024-09-13T19:20:30+01:00</sum1:FechaHoraHusoGenRegistro>
                    <sum1:TipoHuella>01</sum1:TipoHuella>
                    <sum1:Huella>Huella</sum1:Huella>
                </sum:RegistroAlta>
            </sum:RegistroFactura>
        </sum:RegFactuSistemaFacturacion>
    </soapenv:Body>
</soapenv:Envelope>
 


aunque no sé donde está definido que se tenga que incluir el sum: y sum1:

yo sigo pegándome con el SistemaFacturación.wsdl a ver si puedo sacar algo en claro.

La vía más rápida es montar la clase según las especificaciones de SuministroInformación.xsd y listos, pero si se puede hacer algo automático, puede ahorrar muchas horas de trabajo
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 265
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs


Re: España: Normativa sancionadora sistemas informáticos

Postby paquitohm » Tue Oct 01, 2024 4:32 pm

Víctor,
yo sigo pegándome con el SistemaFacturación.wsdl a ver si puedo sacar algo en claro.

La vía más rápida es montar la clase según las especificaciones de SuministroInformación.xsd y listos, pero si se puede hacer algo automático, puede ahorrar muchas horas de trabajo


Un monton de horas le he echado yo al xmlspy sin poder sacar un xml completo de ejemplo. Le he hecho de todo. Quizas mis cortos conocimientos sobre el lenguaje de modelado xml me han pasado factura. He decidido que cuando empiece con eso lo haré con un ejemplo que haya por ahi como hice en su dia con el sii y con el ticketbai.

A mi lo que me preocupa es cual va a ser el sistema que tenemos que usar. VF introduce una variable t desconocida hasta ahora: Flujo de datos. Eso obliga a acumular xmls en un mismo envio y por supuesto obliga tambien a esperar una respuesta multiple.
El tratamiento de las anulaciones tambien da para alguna charla

Garbi,
Hay alguien que al menos a mi (y seguro que servirá para otros usuarios) me pueda guiar, porque ya esto mareado y con algo de ansiedad por que si habrá 9 meses para implantar pero me temo que no voy a ser capaz de hacerlo.
Y además con las sanciones que hay por no estar al día no es para ir jugándotelo.

Y no creo que Victor, Paquito solamente estén en ello.


La gente, as usual, agazapada esperando que ofrecen otros. A mi me hubiera gustado que se hubiera abierto un debate, aun a tiempo estamos, de como vamos a abordar todo esto desde la optica xBase-fwh.

Salu2
paquitohm
 
Posts: 266
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Postby Garbi » Wed Oct 02, 2024 3:38 pm

Vamos por partes.
1.- Crear fichero xml
Tenemos nuestros datos en .dbf

Con el ejemplo que hay de un ejemplo de xml podría usar las funciones
fcreate() para crear el xml
ir añadiendo lineas con outfile()
y una vez terminado todo con fclose() cerrar el fichero.

¿Con eso obtendría un fichero valido xml?

Es por empezar por algo, y saber si estoy perdiendo el tiempo o voy por buen camino.

¿Qué pensáis?
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Garbi
 
Posts: 340
Joined: Wed Nov 02, 2005 3:28 pm

Re: España: Normativa sancionadora sistemas informáticos

Postby VictorCasajuana » Wed Oct 02, 2024 4:55 pm

paquitohm wrote:Un monton de horas le he echado yo al xmlspy sin poder sacar un xml completo de ejemplo. Le he hecho de todo. Quizas mis cortos conocimientos sobre el lenguaje de modelado xml me han pasado factura. He decidido que cuando empiece con eso lo haré con un ejemplo que haya por ahi como hice en su dia con el sii y con el ticketbai.

despues de estar trasteando con el SistemaFacturacion.wsdl me he dado cuenta que el propio fichero no es correcto, ahí estaba una de mis confusiones. El wsdl es el esquema del WebService, todos sus endpoints y esquemas de ficheros de envío y recepción, "pero" el que nos suministra hacienda está en https://prewww2.aeat.es y en él se incluyen las referencias a los esquemas a utilizar para la creación de los xml, con la peculiaridad que los esquemas apuntan a la url https://www2.agenciatributaria.gob.es/, por lo tanto si intentas procesar el wsdl pues te va a dar un 404 not found como una casa. Hay que cambiar las url por https://prewww2.aeat.es/ para que te funcione, hasta la utilidad SoapUI da error. Conclusión, está a medio cocinar.
No obstante continuo indagando en wsdl con sus xsd adjuntos ya que ahí está todo lo necesario, tanto los esquemas de envío de facturas como los esquemas xml de respuesta.
paquitohm wrote:A mi lo que me preocupa es cual va a ser el sistema que tenemos que usar. VF introduce una variable t desconocida hasta ahora: Flujo de datos. Eso obliga a acumular xmls en un mismo envio y por supuesto obliga tambien a esperar una respuesta multiple.
El tratamiento de las anulaciones tambien da para alguna charla

Yo creo que ahí simplemente hay que procesar el dato t que devuelve la petición, si te pone 10 minutos (por ejemplo) pues hasta 10 minutos no puedes enviar la siguiente factura. Que puede pasar? que tengas más de una factura por enviar. Solución? pues preparar el proceso de generación de xml para poder incluir n facturas, y cada vez que se genera un envío, mirar en el dbf de facturas las que no se han enviado y meterlas todas. Habrá que guardar el dato t que se recibe en algun fichero por si se sale y entra del programa tener constancia del último envío y del tiempo a esperar para el próximo.
Otra opción sería meter un timer que se ejecute cada minuto y haga la comprobación o incluso tener un thread exclusivo para eso, pero ahí ya entra la arquitectura que tenga montada cada uno en su aplicación

Garbi wrote:Vamos por partes.
1.- Crear fichero xml
Tenemos nuestros datos en .dbf

Con el ejemplo que hay de un ejemplo de xml podría usar las funciones
fcreate() para crear el xml
ir añadiendo lineas con outfile()
y una vez terminado todo con fclose() cerrar el fichero.

¿Con eso obtendría un fichero valido xml?

Es por empezar por algo, y saber si estoy perdiendo el tiempo o voy por buen camino.

¿Qué pensáis?

Ahí no te puedo ayudar mucho, yo los xml los trabajo mediante la librería chilkat https://www.chilkatsoft.com/refdoc/xChilkatXmlRef.html tanto los que creo yo como los que recibo. Antes lo hacía a pelo como dices pero es más complejo y a la que te dejas un > o < ya la has liado. Otra opción es utilizar la TXml que también la gasté hace tiempo.
Realmente lo que menos me preocupa es la creación en sí del xml, se puede hacer de varias formas, lo importante es saber exactamente el contenido ( que ya se puede saber por la documentación de hacienda ) y hacer una estructura de clases ( una por dato ) como comenta paquito más arriba que ya te lo haga todo, incluso verificar si los datos son correctos.

Bueno, vamos a vanzando, poco pero hacia adelante.

Salud!
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 265
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: España: Normativa sancionadora sistemas informáticos

Postby Garbi » Thu Oct 03, 2024 9:59 am

Estoy haciendo todo lo posible pero creo que mi nivel no da para realizar esta actualización sin mucha ayuda.

Víctor y Paquito están muy por encima de mi nivel.
Además no comprendo porque no hay más compañeros que no les afecte esta actualización y no tengan dudas.

He echado un vistazo a chilkat, o xmlspy pero no tengo los conocimientos para poder realizar el xml que se debería enviar a Veri*Factu.

Y lo peor es que esto va a entrar en marcha si o si y la gente esta tan tranquila con softwares antiguos y no le dan ninguna publicidad en los medios para que se vayan preparando.

Yo voy a seguir intentándolo pero lo veo muy complicado para mi nivel.

Un saludo a todos.
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Garbi
 
Posts: 340
Joined: Wed Nov 02, 2005 3:28 pm

Re: España: Normativa sancionadora sistemas informáticos

Postby paquitohm » Thu Oct 03, 2024 10:40 am

Garbi,

Esto no tiene nada pero sólo hay que trabajarlo. Peor lo tienen los del no VF :D Grosso modo esto sería el tema:

0 - Darse de alta como desarrollador y ponerle un nombre y version al programa
1 - Tener un certificado digital para poder enviar
    2 - Generar el .xml con las ultimas facturas generadas. En SII y en TicketBAI genero el xml tomando como base un .xml y haciendo sustituciones de string. Si el nodo es complejo, entonces lo trato "aparte". Por ejemplo %NODO_DESGLOSE_IVA%. No digo que sea lo ideal, pero me funciona. Tampoco tiene mucha menos complejidad la estructura por clases que es la forma mas sofisticada.
    3 - Hacer llamada curl (yo uso curl.exe desde los tiempos del sii) de envio y recoger respuesta y evaluar lo respondido por la agencia
    4 - Esperar el tiempo t para volver a hacer otro envio.

Este (o parecido) es el esquema básico. Podemos ir completando cada punto.
Esas son las Altas de facturas. Las anulaciones, si las hay, se podrian tratar en un bloque todas juntas.

Salu2
paquitohm
 
Posts: 266
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Postby VictorCasajuana » Thu Oct 03, 2024 11:06 am

paquitohm wrote:Garbi,

Esto no tiene nada pero sólo hay que trabajarlo. Peor lo tienen los del no VF :D Grosso modo esto sería el tema:

0 - Darse de alta como desarrollador y ponerle un nombre y version al programa
1 - Tener un certificado digital para poder enviar
    2 - Generar el .xml con las ultimas facturas generadas. En SII y en TicketBAI genero el xml tomando como base un .xml y haciendo sustituciones de string. Si el nodo es complejo, entonces lo trato "aparte". Por ejemplo %NODO_DESGLOSE_IVA%. No digo que sea lo ideal, pero me funciona. Tampoco tiene mucha menos complejidad la estructura por clases que es la forma mas sofisticada.
    3 - Hacer llamada curl (yo uso curl.exe desde los tiempos del sii) de envio y recoger respuesta y evaluar lo respondido por la agencia
    4 - Esperar el tiempo t para volver a hacer otro envio.

Este (o parecido) es el esquema básico. Podemos ir completando cada punto.
Esas son las Altas de facturas. Las anulaciones, si las hay, se podrian tratar en un bloque todas juntas.

Salu2


En el punto 2, para el ticketbai hay etiquetas que aparecen o no según el tipo de factura, creo que en verifactu será igual, ahí utilizas un .xml base para cada tipo de factura?
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 265
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: España: Normativa sancionadora sistemas informáticos

Postby VictorCasajuana » Thu Oct 03, 2024 11:18 am

Garbi wrote:Estoy haciendo todo lo posible pero creo que mi nivel no da para realizar esta actualización sin mucha ayuda.

Víctor y Paquito están muy por encima de mi nivel.
Además no comprendo porque no hay más compañeros que no les afecte esta actualización y no tengan dudas.

He echado un vistazo a chilkat, o xmlspy pero no tengo los conocimientos para poder realizar el xml que se debería enviar a Veri*Factu.

Y lo peor es que esto va a entrar en marcha si o si y la gente esta tan tranquila con softwares antiguos y no le dan ninguna publicidad en los medios para que se vayan preparando.

Yo voy a seguir intentándolo pero lo veo muy complicado para mi nivel.

Un saludo a todos.


Lo más complicado es crear el xml, luego las comunicaciones las puedes hacer con el curl.exe como hace paquito o utilizando las funciones curl que te suministra harbour. En ambos casos tienes mucha información. Para las funciones curl en este foro y para curl.exe en internet o la propia IA te lo va a montar todo

Pero no intentes atacar todo de golpe, un consejo, pilla un xml de ejemplo que te suministra hacienda, y monta un mini programilla que lo envíe, esto son 4 líneas, y cuando verás que funciona te vas a tranquilizar, luego ya vas desarrollando y sobre todo, preguntando.

Salud!
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 265
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: España: Normativa sancionadora sistemas informáticos

Postby paquitohm » Thu Oct 03, 2024 11:23 am

VictorCasajuana wrote:En el punto 2, para el ticketbai hay etiquetas que aparecen o no según el tipo de factura, creo que en verifactu será igual, ahí utilizas un .xml base para cada tipo de factura?


Víctor,

Utilizo el mismo .xml para todo. Pongo abajo un ejemplo.
La idea es que hay tres tipos de sustituciones: Etiquetas, valores simples y valores complejos (bloques). Las etiquetas apenas las utilizo, al menos en TBAI. No sé si en SII. Los valores complejos o bloques son nodos que se generan en otro punto porque suelen llevar repeticiones, por ejemplo el desglose de iva. Cuando un nodo, no se sustituye por nada, es decir, no tiene valor, o un bloque tampoco ha sido "expandido" entonces se quita el tag de inicio y final con una rutina de limpieza final.
El //** es mi forma comoda de poner comentarios en el .xml "prototipo", al final tambien son suprimidos.


Code: Select all  Expand view
//-------------------------------------------------------------------------//
// Esquema base inicial es IDVersion TBAI 1.2
METHOD EsquemaXmlAlta()
Local c

/*
Tres tipos de sustituciones:
  %ETI_XXXXX%
  %VALOR_XXX%
  %BLOQUE_XX%

*/

TEXT INTO c
<?xml version="1.0" encoding="UTF-8"?>
//**<T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ticketbai:emision ticketBaiV1-2.xsd ">
<T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ticketbai:emision ticketBaiV12.xsd ">
//**<T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd">
//**<T:TicketBai xmlns:T="urn:ticketbai:emision">
<Cabecera>
   <IDVersionTBAI>%VALOR_IDVERSIONTBAI%</IDVersionTBAI>
</Cabecera>
<Sujetos>
   <Emisor>
      <NIF>%VALOR_EMISOR_NIF%</NIF>
      <ApellidosNombreRazonSocial>%VALOR_EMISOR_APELLIDOSNOMBRERAZONSOCIAL%</ApellidosNombreRazonSocial>
   </Emisor>
   <Destinatarios>
      <IDDestinatario>
         <NIF>%VALOR_DESTINATARIO_NIF%</NIF>
         //** Al menos para Intracomunitarias
         <IDOtro>
            <CodigoPais>%VALOR_DESTINATARIO_CODIGOPAIS%</CodigoPais>
            <IDType>%VALOR_DESTINATARIO_IDTYPE%</IDType>
            <ID>%VALOR_DESTINATARIO_ID%</ID>
         </IDOtro>
         <ApellidosNombreRazonSocial>%VALOR_DESTINATARIO_APELLIDOSNOMBRERAZONSOCIAL%</ApellidosNombreRazonSocial>
         <CodigoPostal>%VALOR_DESTINATARIO_CODIGOPOSTAL%</CodigoPostal>
         <Direccion>%VALOR_DESTINATARIO_DIRECCION%</Direccion>
      </IDDestinatario>
   </Destinatarios>
   <VariosDestinatarios>N</VariosDestinatarios>
   <EmitidaPorTercerosODestinatario>%VALOR_EMITIDA_POR_TERCEROS_O_DESTINATARIO%</EmitidaPorTercerosODestinatario>
</Sujetos>
<Factura>
   <CabeceraFactura>
      <SerieFactura>%VALOR_SERIEFACTURA%</SerieFactura>
      <NumFactura>%VALOR_NUMFACTURA%</NumFactura>
      <FechaExpedicionFactura>%VALOR_FECHAEXPEDICIONFACTURA%</FechaExpedicionFactura>
      <HoraExpedicionFactura>%VALOR_HORAEXPEDICIONFACTURA%</HoraExpedicionFactura>
      <FacturaSimplificada>%VALOR_FACTURASIMPLIFICADA%</FacturaSimplificada>
      <FacturaEmitidaSustitucionSimplificada>%VALOR_FACTURAEMITIDASUSTITUCIONSIMPLIFICADA%</FacturaEmitidaSustitucionSimplificada>

//** RECTIFICATIVAS
      <FacturaRectificativa>
         <Codigo>%VALOR_FR1_CODIGO%</Codigo>
         <Tipo>%VALOR_FR1_TIPO%</Tipo>
//**     //-INICIO---  -  -  -  -  -  -  -  -  -  -  -  -  -  -//
//**     // Estos campos solo se utilizaran cuando es una Factura Rectificativa por Sustitucion
         <ImporteRectificacionSustitutiva>
            <BaseRectificada>%VALOR_FR1_BASERECTIFICADA%</BaseRectificada>
            <CuotaRectificada>%VALOR_FR1_CUOTARECTIFICADA%</CuotaRectificada>
         </ImporteRectificacionSustitutiva>
//**     //-FIN------  -  -  -  -  -  -  -  -  -  -  -  -  -  -//
      </FacturaRectificativa>

      <FacturasRectificadasSustituidas>
         <IDFacturaRectificadaSustituida>
            <NumFactura>%VALOR_FR2_NUMFACTURA%</NumFactura>
            <FechaExpedicionFactura>%VALOR_FR2_FECHAEXPEDICIONFACTURA%</FechaExpedicionFactura>
          </IDFacturaRectificadaSustituida>
      </FacturasRectificadasSustituidas>

   </CabeceraFactura>
   <DatosFactura>
      <FechaOperacion>%VALOR_FECHAOPERACION%</FechaOperacion>
      <DescripcionFactura>%VALOR_DESCRIPCIONFACTURA%</DescripcionFactura>
      <DetallesFactura>
%BLOQUE_DETALLESFACTURA%
      </DetallesFactura>
      <ImporteTotalFactura>%VALOR_IMPORTETOTALFACTURA%</ImporteTotalFactura>
      <Claves>
         <IDClave>
            <ClaveRegimenIvaOpTrascendencia>%VALOR_CLAVEREGIMENIVAOPTRASCENDENCIA%</ClaveRegimenIvaOpTrascendencia>
         </IDClave>
      </Claves>
   </DatosFactura>
   <TipoDesglose>

      //** Espa ol
      <DesgloseFactura>
%BLOQUE_DESGLOSE_GENERAL_1%
      </DesgloseFactura>

      //** Extranjero
      <DesgloseTipoOperacion>

         //** Entrega de Bienes
         <Entrega>
%BLOQUE_DESGLOSE_GENERAL_2%
         </Entrega>

         //** Prestacion de Servicios
         //** Este no esta implementado. Habria que montar un poco de revolucion separando
         //** lineas de Entrega de Bienes de lineas de Prestacion de Servicios. Ademas al
         //** tener las mismas etiquetas valor los 3 BLOQUE_DESGLOSE_GENERAL, habria que
         //** hacer algo para que se distiguieran quien es quien
         <PrestacionServicios>
%BLOQUE_DESGLOSE_GENERAL_3%
         </PrestacionServicios>

      </DesgloseTipoOperacion>

   </TipoDesglose>
</Factura>
<HuellaTBAI>
   <EncadenamientoFacturaAnterior>
      <SerieFacturaAnterior>%VALOR_SERIEFACTURAANTERIOR%</SerieFacturaAnterior>
      <NumFacturaAnterior>%VALOR_NUMFACTURAANTERIOR%</NumFacturaAnterior>
      <FechaExpedicionFacturaAnterior>%VALOR_FECHAEXPEDICIONFACTURAANTERIOR%</FechaExpedicionFacturaAnterior>
      <SignatureValueFirmaFacturaAnterior>%VALOR_SIGNATUREVALUEFIRMAFACTURAANTERIOR%</SignatureValueFirmaFacturaAnterior>
   </EncadenamientoFacturaAnterior>
   <Software>
      <LicenciaTBAI>%VALOR_SOFTWARE_LICENCIATBAI%</LicenciaTBAI>
      <EntidadDesarrolladora>
         <NIF>%VALOR_SOFTWARE_NIF%</NIF>
      </EntidadDesarrolladora>
      <Nombre>%VALOR_SOFTWARE_NOMBRE%</Nombre>
      <Version>%VALOR_SOFTWARE_VERSION%</Version>
   </Software>
//** OPCIONAL   <NumSerieDispositivo>%VALOR_NUMSERIEDISPOSITIVO%</NumSerieDispositivo>
</HuellaTBAI>
</T:TicketBai>
ENDTEXT

RETURN c
*
paquitohm
 
Posts: 266
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Postby Garbi » Fri Oct 04, 2024 11:33 am

Por donde voy :
Generación de la huella conseguido.
Fichero xml he cogido un ejemplo de los pdf's y he creado el fichero.

He estado revisando curl.exe que viene en windows para hacer el envio del fichero xml, pero no se como hacerlo.
Por favor,
¿podríais indicarme como enviar este ejemplo y como saber el resultado del envio?

Supongo que para las pruebas de envio no hace falta incluir la huella o si hace falta

Muchas gracias.
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Garbi
 
Posts: 340
Joined: Wed Nov 02, 2005 3:28 pm

Re: España: Normativa sancionadora sistemas informáticos

Postby paquitohm » Fri Oct 04, 2024 3:55 pm

Aquí puse un ejemplo de uso de curl.exe viewtopic.php?f=6&t=36940&p=220421&hilit=curl+exe&sid=8766ad1a8307d05ba30a74cff4aca273#p220423, pero el siguiente a este es un ejemplo que parece más completo
paquitohm
 
Posts: 266
Joined: Fri Jan 14, 2022 8:37 am

PreviousNext

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: groiss and 39 guests