Factura electrónica en España ¿ En qué quedó al final ?

240 views
Skip to first unread message

arti...@gmail.com

unread,
Jul 7, 2022, 7:41:26 AM7/7/22
to Comunidad de Visual Foxpro en Español
Hola, hace algún tiempo estuve viendo bastantes mensajes sobre la factura electrónica en España, soy nuevo en este tema de la factura electrónica. ¿ Alguien sabría decirme qué pasos seguir para poder incluirla en las aplicaciones mías ?.

Me gustaría no tener que depender de software de terceros. Saludos y gracias

HernanCano

unread,
Jul 8, 2022, 3:47:03 PM7/8/22
to Comunidad de Visual Foxpro en Español
-----------------------------
1. Ajustar tu programa de facturación-ventas-ERP para que contenga campos adicionales que deban ser incorporados para fac electrónica, de acuerdo a los requerimientos de la autoridad tributaria de tu país.
1. Ajustar tu programa de facturación-ventas-ERP para que contenga campos adicionales que deban ser incorporados para fac electrónica, de acuerdo a los requerimientos de la autoridad tributaria de tu país.

2. Generar el XML de acuerdo a como indique la autoridad tributaria de tu país.

3. Enviar vía servicio web el XML a la autoridad tributaria.

4. En el mismo momento de enviar, se recibe la respuesta, que puede venir en formato XML normalmente.

5. En tu software marcar los datos de facturación que sean relevantes como por ejm el código (estilo UUID) que la autoridad tributaria le da a la fac luego de la validación (en Colombia es así, debes verificar en tu país si aplica).

6. Entender que si la autoridad tributaria indica que el XML tiene errores, entonces se puede (o debe) corregir y luego volver a enviar (luego de corregido).

7. En Colombia a una fac se le puede ajustar el valor mediante notas crédito (disminuir o anular) o mediante notas débito (aumentar). Tengo entendido que en otros países existe el método de enviar una factura "rectificativa", es decir un XML con los valores tal cual deben haber salido realmente; ésto no es posible en Colombia.
-----------------------------

Francisco

unread,
Jul 11, 2022, 3:37:10 AM7/11/22
to Comunidad de Visual Foxpro en Español
Te comento. 
Yo para generar el xml utilizo el XmlParser  de Victor Espina pero vamos puedes utilizar el que más te guste.

Te pongo ejemplo del comienzo del parseo de xml de españa (lo de lHay_Extensión) es para ciertas extensiones al formato que se añaden para determinados casos ejemplo ISP (inversion del sujeto pasivo)

oParser = CREATEOBJECT("XmlParser")
WITH oParser
    .indentString = ""
    .New()
 
    *-- Nodo "fe:Facturae"
    .XML.addNode("fe:Facturae")
    WITH .XML._Facturae
        .addProp("xmlns:ds","http://www.w3.org/2000/09/xmldsig#")
        .addProp("xmlns:fe","http://www.facturae.gob.es/formato/Versiones/Facturaev3_2_2.xml")
        IF lHay_Extensión && EXTENSION FaceB2BExtension
            .addProp("xmlns:fb2b","http://www.facturae.es/Facturae/Extensions/FaceB2BExtensionv1_1")
        ENDIF
    ENDWITH
    * 1 **<FileHeader> -------------------------
    .XML._Facturae.addNode("FileHeader")
........................................................................... etc...........................................

En cuanto generas el XML,  yo lo firmo utilizando autofirma (programa externo y gratuito). (https://firmaelectronica.gob.es/Home/Descargas.html)
Como ves hay variables que utilizo pero vamos creo que se entiende.

        cArchivo_Final=ALLTRIM(STRTRAN(THISFORM.NOMBRe_archivo,JUSTEXT(THISFORM.NOMBRe_archivo),"XSIG"))
        TEXT TO cCOMANDO NOSHOW PRETEXT 1+2+4+8
            "<<ADDBS(thisform.ruta_autofirma)>>autofirmaCommandLine.exe" "sign" "-i" "<<THISFORM.NOMBRe_archivo>>"
            "-o" "<<cArchivo_Final>>"
            "-format" "facturae"
            "-store" "windows" "-alias" "<<ALLTRIM(thisform.nombre_certificado)>>"
        ENDTEXT
        TRY
            oShell = createobject("WScript.Shell")
            oShell.Run(cComando,0,.t.)
        CATCH TO oException
            =TaskDialog("Atención","INCIDENCIA","Error en la creación del fichero firmado: "+cArchivo_Final,"!","{D}[V]Aceptar")    
           IF oException.ErrorNo = 1
              STRTOFILE("Error occurred at: " + TRANSFORM(DATETIME());
                 + CHR(13),ALLTRIM(ruta_usuario(2))+"\Errors.log",.T.)
           ENDIF
        ENDTRY

Saludos y espero ayudarte.

Una vez generado el fichero firmado, en la plataforma de facturae se puede enviar directamente o bien utilizando cualquier otra pasarela. Eso ya lo puede hacer el cliente directamente o bien contratar un servicios de envios o portal webservice para ello. Pero vamos yo de momento lo hago manual dado que aún no son muchas.

Saludos.

Miguel A.

unread,
Jul 11, 2022, 12:34:13 PM7/11/22
to Comunidad de Visual Foxpro en Español
Hola,
Creo que por estos lares seguimos diferenciando entre factura electrónica para la Administración (facturae) y a particulares o empresas. Para estos últimos es válido cualquier fichero firmado electrónicamente; es más, si no les envías un PDF o algo similar, probablemente la mayoría te pida una factura que puedan imprimir y leer, de forma que sus asesores o contables puedan identificar fácilmente todos los conceptos e importes.
De hecho, desde hace más de 10 años yo sigo el sistema de enviar un PDF firmado electrónicamente y solo a la Administración una facturae; si no tienes muchos clientes de este tipo, te será más rentable hacerlas puntualmente a través del formulario oficial, que programar el marronazo de generar un XML.
Saludos,
Miguel A.

El jueves, 7 de julio de 2022 a las 13:41:26 UTC+2, arti...@yahoo.es escribió:

Francisco

unread,
Jul 12, 2022, 2:59:22 AM7/12/22
to Comunidad de Visual Foxpro en Español
Ya son muchas las empresas que emplean la plataforma facturae para enviar y recibir facturas en formato electrónico. Ya no solo las administraciones públicas sino las B2B. Ahora empiezan a ser las grandes, pero si tu tienes un cliente pequeño que quiera facturar a una de esas empresas, le "pedirán" remitir las facturas en sus portales a traves de face. Mi consejo para afrontar bien el futuro es implementar ambas soluciones tanto para entidades públicas como para privadas. Hay ciertos campos que hay que especificar para unas y otros para las privadas pero vamos la documentación está razonablemente bien explicada.

Saludos.

Reply all
Reply to author
Forward
0 new messages