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)
........................................................................... etc...........................................
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.