Factura Electronica Costa Rica

787 views
Skip to first unread message

Manbejasoto

unread,
Mar 29, 2017, 11:59:53 AM3/29/17
to Comunidad de Visual Foxpro en Español
Saludos compañeros, alguien del grupo de Costa Rica que este implementando la Factura Electronica.

Geovanni Solís Perez

unread,
Mar 30, 2017, 12:07:18 AM3/30/17
to Comunidad de Visual Foxpro en Español
Saludos, actualmente estamos iniciando con el proceso, recopilando información pues Hacienda ha brindado datos muy globales, nos estamos preparando para el cambio y con la ayuda de este foro, estar lo mejor preparados para cuando Hacienda solicite a alguno de nuestros clientes la obligatoriedad. Pero mientras esto pasa estamos haciendo pruebas con la basta información de este foro.

Saludos y estamos a la orden, pues entre todos debemos sacar esta tarea.

Geovanni Solis

Optiplus Gestion Integrada

unread,
Nov 12, 2017, 1:21:59 PM11/12/17
to Comunidad de Visual Foxpro en Español
Buos dias ahi, tardes aqui.

Nosotros nos encontamos en la misma situacion, en el momento tengamos algo, lo publicaremos.

De momento vemos la estructura del xml pero parece muy liosa, si alguien pudiera conseguir un xml de ejemplo, adelantariamos mucho.

Este martes tenemos una reunion para ver si nos aclaran algo.

Les mantendre informados.

saludos 
Y una dicha contactar con ustedes desde España

Hernan Serrano

unread,
Nov 12, 2017, 4:17:50 PM11/12/17
to publice...@googlegroups.com
Yo estoy en eso.

Rene Jara

unread,
Nov 14, 2017, 9:13:13 AM11/14/17
to publicesvfoxpro
Hola
buen dia


  



Cordialmente
Rene Jara Muñoz
         CEO
Cel +57 3107567220 (57) 1 3003722


La información contenida en esta transmisión es sólo para el uso personal y confidencial de la persona o entidad a la que va dirigida. Si el lector de este mensaje no es el destinatario o un agente responsable de entregar al destinatario, se le notifica que cualquier revisión, difusión, distribución o copia de este mensaje está estrictamente prohibida. Si usted ha recibido este mensaje por error, por favor notifique al remitente inmediatamente. Gracias.


Rodolfo Ortiz González

unread,
Nov 14, 2017, 9:30:33 AM11/14/17
to publice...@googlegroups.com
Amigo buen día.

Un fuerte abrazo desde México, acá ya tenemos implementada la facturación electrónica, ando muy liado con los cambios que han establecido en el país nuestros gobernantes que están bastante fuertes pero si en algo los puedo ayudar en el desarrollo por lo menos de sus xml viene, le vamos dando entre todos.

Si tienen ya la documentación técnica que les piden mándenla y la vamos desmenuzando.

Un saludo!

Rene Jara

unread,
Nov 14, 2017, 9:49:38 AM11/14/17
to publicesvfoxpro
Hola a todos
necesito implementar facturación electrónica en costa rica, ya estamos funcionando aquí en Colombia
pero hay una empresa que tiene sucursal en costa rica, y necesito alguien aliado por ahi


un abrazo


  



Cordialmente
Rene Jara Muñoz
         CEO
Cel +57 3107567220 (57) 1 3003722


La información contenida en esta transmisión es sólo para el uso personal y confidencial de la persona o entidad a la que va dirigida. Si el lector de este mensaje no es el destinatario o un agente responsable de entregar al destinatario, se le notifica que cualquier revisión, difusión, distribución o copia de este mensaje está estrictamente prohibida. Si usted ha recibido este mensaje por error, por favor notifique al remitente inmediatamente. Gracias.



Jose Carlos Aguilar

unread,
Nov 14, 2017, 10:39:22 AM11/14/17
to Comunidad de Visual Foxpro en Español

Jose Miguel

unread,
Nov 14, 2017, 12:57:13 PM11/14/17
to publice...@googlegroups.com

Muchas gracias

 

 

José Miguel Arévalo Cardona

       Optico Optometrista

        Analista Informatico

          +34 963 471 380

          +506 4001 5413

 

opvin0

 

http://www.amdtelecom.net/resources/images/signature/tree.pngPlease consider the environment before printing this email

This e-mail message and all attachments transmitted with it are confidential and are intended solely for the addressee(s). If the reader of this message is not the intended recipient, you are hereby notified that any reading, dissemination, distribution, copying, or other use of this message or its attachment(s) is strictly prohibited.

image003.jpg

Hernan Serrano

unread,
Jan 15, 2018, 8:30:51 AM1/15/18
to publice...@googlegroups.com
Imágenes integradas 1
Estimados compañeros.

Ya logre loguearme en el Servicio web de tributacion con codigo puro de VFP.

Nada mas necesito depurar un poco el codigo. Y lo estare compartiendo.


Necesito que algunos de ustedes vayan creando las estructuras de los XLM que se necesitan que eso no es tan dificil en VFOX y obviamente que se comprometan a compartir el codigo.

Necesito que me apoyen para poder llevar a cabo este proyecto. Del cual todos nos vamos a beneficiar.

ATTE
Hernan Serrano M.
--
Tico Support S. A.
Tel. (506)8772-6170

Jma

unread,
Jan 15, 2018, 4:07:02 PM1/15/18
to publice...@googlegroups.com
Ok, que bueno, yo tengo el proyecto a medias, pero puedo compartir mi idea.

Lo documentaré, y lo paso

Jose Miguel Arevalo 
Optico optometrísta
Analista informático 

El 15 ene 2018, a las 14:30, Hernan Serrano <hernan.serr...@gmail.com> escribió:

<image.png>
Estimados compañeros.

Ya logre loguearme en el Servicio web de tributacion con codigo puro de VFP.

Nada mas necesito depurar un poco el codigo. Y lo estare compartiendo.


Necesito que algunos de ustedes vayan creando las estructuras de los XLM que se necesitan que eso no es tan dificil en VFOX y obviamente que se comprometan a compartir el codigo.

Necesito que me apoyen para poder llevar a cabo este proyecto. Del cual todos nos vamos a beneficiar.

ATTE
Hernan Serrano M.
El 14 de noviembre de 2017, 11:57, Jose Miguel <opti...@gmail.com> escribió:

Muchas gracias

 

 

José Miguel Arévalo Cardona

       Optico Optometrista

        Analista Informatico

          +34 963 471 380

          +506 4001 5413

 

<image003.jpg>

 

http://www.amdtelecom.net/resources/images/signature/tree.pngPlease consider the environment before printing this email

This e-mail message and all attachments transmitted with it are confidential and are intended solely for the addressee(s). If the reader of this message is not the intended recipient, you are hereby notified that any reading, dissemination, distribution, copying, or other use of this message or its attachment(s) is strictly prohibited.

 

 

De: publicesvfoxpro@googlegroups.com [mailto:publicesvfoxpro@googlegroups.comEn nombre de Jose Carlos Aguilar
Enviado el: martes, 14 de noviembre de 2017 16:39
Para: Comunidad de Visual Foxpro en Español <publicesvfoxpro@googlegroups.com>
Asunto: [vfp] Re: Factura Electronica Costa Rica

 

https://flecharoja.com/blog/2017-11/integracion-factura-digital/

Esto a lo mejor te puede ayudar.

 

Saludos

 


El domingo, 12 de noviembre de 2017, 13:21:59 (UTC-5), Optiplus Gestion Integrada escribió:

Buos dias ahi, tardes aqui.

 

Nosotros nos encontamos en la misma situacion, en el momento tengamos algo, lo publicaremos.

 

De momento vemos la estructura del xml pero parece muy liosa, si alguien pudiera conseguir un xml de ejemplo, adelantariamos mucho.

 

Este martes tenemos una reunion para ver si nos aclaran algo.

 

Les mantendre informados.

 

saludos 

Y una dicha contactar con ustedes desde España



El miércoles, 29 de marzo de 2017, 17:59:53 (UTC+2), Manbejasoto escribió:

Saludos compañeros, alguien del grupo de Costa Rica que este implementando la Factura Electronica.




-- 
Tico Support S. A.
Tel. (506)8772-6170

Jose Miguel Arevalo 
Optico optometrísta
Analista informático 

El 15 ene 2018, a las 14:30, Hernan Serrano <hernan.serr...@gmail.com> escribió:

<image.png>
Estimados compañeros.

Ya logre loguearme en el Servicio web de tributacion con codigo puro de VFP.

Nada mas necesito depurar un poco el codigo. Y lo estare compartiendo.


Necesito que algunos de ustedes vayan creando las estructuras de los XLM que se necesitan que eso no es tan dificil en VFOX y obviamente que se comprometan a compartir el codigo.

Necesito que me apoyen para poder llevar a cabo este proyecto. Del cual todos nos vamos a beneficiar.

ATTE
Hernan Serrano M.
El 14 de noviembre de 2017, 11:57, Jose Miguel <opti...@gmail.com> escribió:

Muchas gracias

 

 

José Miguel Arévalo Cardona

       Optico Optometrista

        Analista Informatico

          +34 963 471 380

          +506 4001 5413

 

<image003.jpg>

 

http://www.amdtelecom.net/resources/images/signature/tree.pngPlease consider the environment before printing this email

This e-mail message and all attachments transmitted with it are confidential and are intended solely for the addressee(s). If the reader of this message is not the intended recipient, you are hereby notified that any reading, dissemination, distribution, copying, or other use of this message or its attachment(s) is strictly prohibited.

 

 

De: publicesvfoxpro@googlegroups.com [mailto:publicesvfoxpro@googlegroups.com] En nombre de Jose Carlos Aguilar
Enviado el: martes, 14 de noviembre de 2017 16:39
Para: Comunidad de Visual Foxpro en Español <publicesvfoxpro@googlegroups.com>
Asunto: [vfp] Re: Factura Electronica Costa Rica

 

https://flecharoja.com/blog/2017-11/integracion-factura-digital/

Esto a lo mejor te puede ayudar.

 

Saludos

 


El domingo, 12 de noviembre de 2017, 13:21:59 (UTC-5), Optiplus Gestion Integrada escribió:

Buos dias ahi, tardes aqui.

 

Nosotros nos encontamos en la misma situacion, en el momento tengamos algo, lo publicaremos.

 

De momento vemos la estructura del xml pero parece muy liosa, si alguien pudiera conseguir un xml de ejemplo, adelantariamos mucho.

 

Este martes tenemos una reunion para ver si nos aclaran algo.

 

Les mantendre informados.

 

saludos 

Y una dicha contactar con ustedes desde España



El miércoles, 29 de marzo de 2017, 17:59:53 (UTC+2), Manbejasoto escribió:

Saludos compañeros, alguien del grupo de Costa Rica que este implementando la Factura Electronica.

Jma

unread,
Jan 15, 2018, 4:10:35 PM1/15/18
to publice...@googlegroups.com
Bueno, te lo mando o te lo cuelgo en un ftp para que lo bajes.

La idea es sencilla, partiendo de más tablas
Genero una variable de texto con un array y luego sustituyo el Arnau por los valores de mi tabla de facturas.

Estamos en contacto.

Estás en Costa Rica?, donde?

Saludos


Jose Miguel Arevalo 
Optico optometrísta
Analista informático 

El 15 ene 2018, a las 14:30, Hernan Serrano <hernan.serr...@gmail.com> escribió:

<image.png>
Estimados compañeros.

Ya logre loguearme en el Servicio web de tributacion con codigo puro de VFP.

Nada mas necesito depurar un poco el codigo. Y lo estare compartiendo.


Necesito que algunos de ustedes vayan creando las estructuras de los XLM que se necesitan que eso no es tan dificil en VFOX y obviamente que se comprometan a compartir el codigo.

Necesito que me apoyen para poder llevar a cabo este proyecto. Del cual todos nos vamos a beneficiar.

ATTE
Hernan Serrano M.
El 14 de noviembre de 2017, 11:57, Jose Miguel <opti...@gmail.com> escribió:

Muchas gracias

 

 

José Miguel Arévalo Cardona

       Optico Optometrista

        Analista Informatico

          +34 963 471 380

          +506 4001 5413

 

<image003.jpg>

 

http://www.amdtelecom.net/resources/images/signature/tree.pngPlease consider the environment before printing this email

This e-mail message and all attachments transmitted with it are confidential and are intended solely for the addressee(s). If the reader of this message is not the intended recipient, you are hereby notified that any reading, dissemination, distribution, copying, or other use of this message or its attachment(s) is strictly prohibited.

 

 

De: publicesvfoxpro@googlegroups.com [mailto:publicesvfoxpro@googlegroups.com] En nombre de Jose Carlos Aguilar
Enviado el: martes, 14 de noviembre de 2017 16:39
Para: Comunidad de Visual Foxpro en Español <publicesvfoxpro@googlegroups.com>
Asunto: [vfp] Re: Factura Electronica Costa Rica

 

https://flecharoja.com/blog/2017-11/integracion-factura-digital/

Esto a lo mejor te puede ayudar.

 

Saludos

 


El domingo, 12 de noviembre de 2017, 13:21:59 (UTC-5), Optiplus Gestion Integrada escribió:

Buos dias ahi, tardes aqui.

 

Nosotros nos encontamos en la misma situacion, en el momento tengamos algo, lo publicaremos.

 

De momento vemos la estructura del xml pero parece muy liosa, si alguien pudiera conseguir un xml de ejemplo, adelantariamos mucho.

 

Este martes tenemos una reunion para ver si nos aclaran algo.

 

Les mantendre informados.

 

saludos 

Y una dicha contactar con ustedes desde España



El miércoles, 29 de marzo de 2017, 17:59:53 (UTC+2), Manbejasoto escribió:

Saludos compañeros, alguien del grupo de Costa Rica que este implementando la Factura Electronica.

Hernan Serrano

unread,
Jan 15, 2018, 5:02:30 PM1/15/18
to publice...@googlegroups.com
Costa Rica, pero aplca para cualquier servicio. Y veo que mucha gente en otros paises tuvo que recurrir a C sharp.

Jma

unread,
Jan 16, 2018, 1:43:59 AM1/16/18
to publice...@googlegroups.com
Me imagino que tendrás en Fox 🦊 un programa de facturación, no?


Jose Miguel Arevalo 
Optico optometrísta
Analista informático 

Hernan Serrano

unread,
Jan 16, 2018, 8:35:35 AM1/16/18
to publice...@googlegroups.com
Correcto, de hecho estoy trabajando en este proyecto, para resolver a los clientes que ya tienen los sistemas.

Tengo restaurantes, tiendas y otros.

Hernan Serrano

unread,
Jan 16, 2018, 8:36:28 AM1/16/18
to publice...@googlegroups.com
Gracias amigo.
te la envio apenas tenga tiempo.

Hernan Serrano

unread,
Jan 16, 2018, 8:42:53 AM1/16/18
to publice...@googlegroups.com
Estimados amigos, Continuo con el progreso en este proyectos.

Despues de lidiar con el tema de la Autenticación y Autorizacion. 

Estoy en el Armado de los XML.

Esta parte es critica. Pues consta de:
1. Creación del documento. (Según especificaciones de Hacienda)
2. Su encriptación para ser enviado.
3. Firmado del documento para que sea aceptado.

Logrado lo anterior el proyecto estara avanzado casi completamente. Y es alli, en donde me permitire compartirlo.

Ha sido un trabajo arduo, por que solo he tenido las noches para llevarlo a cabo. Pues si no trabajo, no como. Pero esto no es queja.

Todo lo que cuesta al final, tiene su recompensa. Y para mi es la satisfacción de haber ayudado y devolver un poco lo que me han ayudado a mi.

ATTE

HErnan Serrano M.

Message has been deleted

Hernan Serrano

unread,
Jan 16, 2018, 11:51:08 AM1/16/18
to publice...@googlegroups.com
Te comento, que yo estoy trabajando contra el Web Service Directo de Hacienda.

Por si no me explique bien.

Necesito una ayudita en lo siguiente:
Gracias cualquier ayuda es buena.

Basicamente hay que resolver :
1. Formato del XML, para que cumpla con los requisitos de hacienda.
2. Cifrado del XML.
3. Firma del XML.

Esto es lo que se debe resolver por el momento. Para iniciar las pruebas de envio.

ATTE

Hernan Serrano M.

El 16 de enero de 2018, 8:58, Norberto Ruiz Mora <norberto....@gmail.com> escribió:
Buenas No se porque hay otros desarrolladores de VFP que lo que hacen es transmitir  la factura a un tercero y se puede hacer  directo a tributación 

MI grupo de trabajo estamos elaborando una clase que recibe parámetros con los datos de la factura y hace todo y devuelve resultados y listo, para que sea mas fácil

1-llamado de clase, parámetros datos de la Factura
2-Clase, Hace los xml, genera la conexión y devuelve los resultados 
3-Verificación de Factura en tributacion
3-Rutina para plan de contingencia en caso de tener Internet 
4-Reenvió de Facturas 
 

Ahí les comento

Norberto Ruiz Mora

Interak

unread,
Jan 16, 2018, 10:55:52 PM1/16/18
to Comunidad de Visual Foxpro en Español
Buen día.

Este sería un ejemplo de un xml, aclaro eso si, Es de LA VERSION 3.1 Y NO LA 4.2 QUE ESTÁ ACTUALMENTE, pero sirve de guía, solo sería compararlo y ver las modificaciones  de la última versión.
Comprobante_Electronico100005654333 (2).xml

Jma

unread,
Jan 17, 2018, 2:10:18 AM1/17/18
to publice...@googlegroups.com
El xml cuenta con el, pero hay que cifrarlo?

Mándame la dirección del web service.

Y la firma digital, creo que hoy lo tendré, aunque estará seguramente en .net pero te mandaré el proyecto así como un  exe que te generará un fichero .txt para que lo leas en 🦊 


Jose Miguel Arevalo 
Optico optometrísta
Analista informático 

Hernan Serrano

unread,
Jan 17, 2018, 10:50:48 AM1/17/18
to publice...@googlegroups.com
Gracias compañero.
El inconveniente, es que para hacer pruebas en el servicio web de hacienda se ocupa un usuario que este registrado.

ATTE

HErnan Serrano M.

Hernan Serrano

unread,
Jan 17, 2018, 10:54:48 AM1/17/18
to publice...@googlegroups.com

- El URL donde están enviando el Payload.

"https://idp.comprobanteselectronicos.go.cr/auth/realms/rut-stag/protocol/openid-connect/token"


Esta es la direccion. Solo que hay que estar inscrito en hacienda.



roberto

unread,
Jan 17, 2018, 1:35:23 PM1/17/18
to Comunidad de Visual Foxpro en Español
Yo tengo varios documentos de Hacienda que me envió una amiga. He tratado de subirlos por este medio pero me da error. Creo porque no los he leído que viene lo de XML.

Si alguien sabe donde puedo enviarlos para compartirlos me avisan.

Roberto,.


El miércoles, 29 de marzo de 2017, 9:59:53 (UTC-6), Manbejasoto escribió:

GeoSys Diseño de Software

unread,
Jan 17, 2018, 2:28:15 PM1/17/18
to Comunidad de Visual Foxpro en Español
Roberto, puede subirlos a Dropbox y pasar el enlace compartido.

Anthony Contreras Peralta

Libre de virus. www.avast.com

GeoSys Diseño de Software

unread,
Jan 17, 2018, 5:46:25 PM1/17/18
to Comunidad de Visual Foxpro en Español
Este es el material de Roberto, se puede descargar desde el siguiente enlace:

Jma

unread,
Jan 18, 2018, 3:40:52 AM1/18/18
to publice...@googlegroups.com
No hay problema, nuestro distribuidor en Costa Rica nos ha pasado sus claves para registrarnos en modo de prueba.


Jose Miguel Arevalo 
Optico optometrísta
Analista informático 

Jma

unread,
Jan 18, 2018, 3:41:13 AM1/18/18
to publice...@googlegroups.com
Gracias


Jose Miguel Arevalo 
Optico optometrísta
Analista informático 

Hernan Serrano

unread,
Jan 18, 2018, 8:44:08 AM1/18/18
to publice...@googlegroups.com
Ante todo muchas gracias por tu ayuda. Te comento que ya supere la creacion del XML.
Anoche mismo, ahora lo que estoy haciendo es llenando con datos de prueba.
Para su posterior encriptacion y envio a site de pruebas de hacienda.


ATTE
Hernan Serrano M.

Hernan Serrano

unread,
Jan 20, 2018, 11:17:26 AM1/20/18
to publice...@googlegroups.com
Señores. Comparto la creacion del XML.
Falta la Firma. Como les indico. Se debe crear una clase en C-SHARP. Para lograr la firma en el XML. Por obvias razones de tiempo es mas rapido. Que programarla en FOX,

*SET DEFAULT TO "g:\facturaelectronica\ticosoft\"
SET SAFETY OFF
ArchivoXml = "facturacr.xml"
cComentario = "Corresponde a la clave del comprobante. Es un campo de 50 posiciones y se tiene que utilizar para la consulta del codigo QR. Ver nota 1 y 4.1"
TEXT TO XmlHacienda TEXTMERGE NOSHOW ADDITIVE
<?xml version="1.0" encoding="UTF-8"?>
         xmlns:xs="http://www.w3.org/2001/XMLSchema
         xmlns:ds="http://www.w3.org/2000/09/xmldsig#
         elementFormDefault="qualified" attributeFormDefault="unqualified" version="4.2" vc:minVersion="1.1">          
<xs:element name="FacturaElectronica">
<xs:annotation>
<xs:documentation>Elemento Raiz de la Facturacion Electronica</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Clave" type="ClaveType">
<xs:annotation>
<xs:documentation><<cComentario>></xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NumeroConsecutivo" type="NumeroConsecutivoType">
<xs:annotation>
<xs:documentation>Numeracion consecutiva del comprobante</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FechaEmision" type="xs:dateTime"/>
<xs:element name="Emisor" type="EmisorType">
<xs:annotation>
<xs:documentation>Emisor del documento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Receptor" type="ReceptorType" minOccurs="0">
<xs:annotation>
<xs:documentation>Receptor del documento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CondicionVenta">
<xs:annotation>
<xs:documentation>Condiciones de la venta: 01 Contado, 02 Credito, 03 Consignacion, 04 Apartado, 05 Arrendamiento con opcion de compra, 06 Arrendamiento en funcion financiera, 99 Otros</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="01">
<xs:annotation>
<xs:documentation>Contado</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="02">
<xs:annotation>
<xs:documentation>Credito</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="03">
<xs:annotation>
<xs:documentation>Consignacion</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="04">
<xs:annotation>
<xs:documentation>Apartado</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="05">
<xs:annotation>
<xs:documentation>Arrendamiento con opcion de compra</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="06">
<xs:annotation>
<xs:documentation>Arrendamiento en funcion financiera</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="99">
<xs:annotation>
<xs:documentation>Otros</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PlazoCredito" minOccurs="0">
<xs:annotation>
<xs:documentation>Plazo del credito, es obligatorio cuando la venta del producto o prestacion del servicio sea a credito</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MedioPago" maxOccurs="4">
<xs:annotation>
<xs:documentation>Corresponde al medio de pago empleado: 01 Efectivo, 02 Tarjeta, 03 Cheque, 04 Transferencia - deposito bancario, 05 - Recaudado por terceros, 99 Otros</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="01">
<xs:annotation>
<xs:documentation>Efectivo</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="02">
<xs:annotation>
<xs:documentation> Tarjeta</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="03">
<xs:annotation>
<xs:documentation>Cheque</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="04">
<xs:annotation>
<xs:documentation>Transferencia - deposito bancario</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="05">
<xs:annotation>
<xs:documentation>Recaudado por terceros</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="99">
<xs:annotation>
<xs:documentation>Otros</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
ENDTEXT 
*SELECT CURDETALLE
*SCAN
***************************************************************************************
**************************LINEAS DE DETALLE DE LA FACTURA*******************************
****************************************************************************************
*DETALLE DEL ARTICULO
TEXT TO XmlHacienda TEXTMERGE NOSHOW ADDITIVE
<xs:element name="DetalleServicio">
<xs:annotation>
<xs:documentation>Detalle de la mercancia o servicio prestado.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="LineaDetalle" maxOccurs="1000">
<xs:annotation>
<xs:documentation>Cada linea del detalle de la mercancia o servicio prestado.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="NumeroLinea" type="xs:positiveInteger">
<xs:annotation>
<xs:documentation>Numero de linea del detalle</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Codigo" type="CodigoType" minOccurs="0" maxOccurs="5"/>
<xs:element name="Cantidad">
<xs:annotation>
<xs:documentation>Cantidad</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="16"/>
<xs:fractionDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="UnidadMedida" type="UnidadMedidaType">
<xs:annotation>
<xs:documentation>Unidad de medida </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="UnidadMedidaComercial" minOccurs="0">
<xs:annotation>
<xs:documentation>Unidad de medida comercial</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Detalle">
<xs:annotation>
<xs:documentation>Detalle de la mercancia transferida o servicio prestado</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="160"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PrecioUnitario" type="DecimalDineroType">
<xs:annotation>
<xs:documentation>Precio Unitario</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MontoTotal" type="DecimalDineroType">
<xs:annotation>
<xs:documentation>Se obtiene de multiplicar el campo cantidad por el campo precio unitario</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MontoDescuento" type="DecimalDineroType" minOccurs="0">
<xs:annotation>
<xs:documentation>Monto de descuento concedido, el cual es obligatorio si existe descuento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NaturalezaDescuento" minOccurs="0">
<xs:annotation>
<xs:documentation>Naturaleza del descuento, que es obligatorio si existe descuento</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="80"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SubTotal" type="DecimalDineroType">
<xs:annotation>
<xs:documentation>Se obtiene de la resta del campo monto total menos monto de descuento concedido</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Impuesto" type="ImpuestoType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Cuando el producto o servicio este gravado con algun impuesto se debe indicar cada uno de ellos.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MontoTotalLinea" type="DecimalDineroType">
<xs:annotation>
<xs:documentation>Se obtiene de la suma de los campos subtotal mas monto de los impuestos</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
ENDTEXT 
*ENDSCAN
******************************************************************************************
************************FIN LINEAS DE DETALLE DE LA FACTURA*******************************
******************************************************************************************
TEXT TO XmlHacienda TEXTMERGE NOSHOW ADDITIVE
<xs:element name="ResumenFactura">
<xs:complexType>
<xs:sequence>
<xs:element name="CodigoMoneda" minOccurs="0">
<xs:annotation>
<xs:documentation>Codigo de la moneda de acuerdo al ISO 4217</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="AED"/>
<xs:enumeration value="AFN"/>
<xs:enumeration value="ALL"/>
<xs:enumeration value="AMD"/>
<xs:enumeration value="ANG"/>
<xs:enumeration value="AOA"/>
<xs:enumeration value="ARS"/>
<xs:enumeration value="AUD"/>
<xs:enumeration value="AWG"/>
<xs:enumeration value="AZN"/>
<xs:enumeration value="BAM"/>
<xs:enumeration value="BBD"/>
<xs:enumeration value="BDT"/>
<xs:enumeration value="BGN"/>
<xs:enumeration value="BHD"/>
<xs:enumeration value="BIF"/>
<xs:enumeration value="BMD"/>
<xs:enumeration value="BND"/>
<xs:enumeration value="BOB"/>
<xs:enumeration value="BOV"/>
<xs:enumeration value="BRL"/>
<xs:enumeration value="BSD"/>
<xs:enumeration value="BTN"/>
<xs:enumeration value="BWP"/>
<xs:enumeration value="BYR"/>
<xs:enumeration value="BZD"/>
<xs:enumeration value="CAD"/>
<xs:enumeration value="CDF"/>
<xs:enumeration value="CHE"/>
<xs:enumeration value="CHF"/>
<xs:enumeration value="CHW"/>
<xs:enumeration value="CLF"/>
<xs:enumeration value="CLP"/>
<xs:enumeration value="CNY"/>
<xs:enumeration value="COP"/>
<xs:enumeration value="COU"/>
<xs:enumeration value="CRC"/>
<xs:enumeration value="CUC"/>
<xs:enumeration value="CUP"/>
<xs:enumeration value="CVE"/>
<xs:enumeration value="CZK"/>
<xs:enumeration value="DJF"/>
<xs:enumeration value="DKK"/>
<xs:enumeration value="DOP"/>
<xs:enumeration value="DZD"/>
<xs:enumeration value="EGP"/>
<xs:enumeration value="ERN"/>
<xs:enumeration value="ETB"/>
<xs:enumeration value="EUR"/>
<xs:enumeration value="FJD"/>
<xs:enumeration value="FKP"/>
<xs:enumeration value="GBP"/>
<xs:enumeration value="GEL"/>
<xs:enumeration value="GHS"/>
<xs:enumeration value="GIP"/>
<xs:enumeration value="GMD"/>
<xs:enumeration value="GNF"/>
<xs:enumeration value="GTQ"/>
<xs:enumeration value="GYD"/>
<xs:enumeration value="HKD"/>
<xs:enumeration value="HNL"/>
<xs:enumeration value="HRK"/>
<xs:enumeration value="HTG"/>
<xs:enumeration value="HUF"/>
<xs:enumeration value="IDR"/>
<xs:enumeration value="ILS"/>
<xs:enumeration value="INR"/>
<xs:enumeration value="IQD"/>
<xs:enumeration value="IRR"/>
<xs:enumeration value="ISK"/>
<xs:enumeration value="JMD"/>
<xs:enumeration value="JOD"/>
<xs:enumeration value="JPY"/>
<xs:enumeration value="KES"/>
<xs:enumeration value="KGS"/>
<xs:enumeration value="KHR"/>
<xs:enumeration value="KMF"/>
<xs:enumeration value="KPW"/>
<xs:enumeration value="KRW"/>
<xs:enumeration value="KWD"/>
<xs:enumeration value="KYD"/>
<xs:enumeration value="KZT"/>
<xs:enumeration value="LAK"/>
<xs:enumeration value="LBP"/>
<xs:enumeration value="LKR"/>
<xs:enumeration value="LRD"/>
<xs:enumeration value="LSL"/>
<xs:enumeration value="LYD"/>
<xs:enumeration value="MAD"/>
<xs:enumeration value="MDL"/>
<xs:enumeration value="MGA"/>
<xs:enumeration value="MKD"/>
<xs:enumeration value="MMK"/>
<xs:enumeration value="MNT"/>
<xs:enumeration value="MOP"/>
<xs:enumeration value="MRO"/>
<xs:enumeration value="MUR"/>
<xs:enumeration value="MVR"/>
<xs:enumeration value="MWK"/>
<xs:enumeration value="MXN"/>
<xs:enumeration value="MXV"/>
<xs:enumeration value="MYR"/>
<xs:enumeration value="MZN"/>
<xs:enumeration value="NAD"/>
<xs:enumeration value="NGN"/>
<xs:enumeration value="NIO"/>
<xs:enumeration value="NOK"/>
<xs:enumeration value="NPR"/>
<xs:enumeration value="NZD"/>
<xs:enumeration value="OMR"/>
<xs:enumeration value="PAB"/>
<xs:enumeration value="PEN"/>
<xs:enumeration value="PGK"/>
<xs:enumeration value="PHP"/>
<xs:enumeration value="PKR"/>
<xs:enumeration value="PLN"/>
<xs:enumeration value="PYG"/>
<xs:enumeration value="QAR"/>
<xs:enumeration value="RON"/>
<xs:enumeration value="RSD"/>
<xs:enumeration value="RUB"/>
<xs:enumeration value="RWF"/>
<xs:enumeration value="SAR"/>
<xs:enumeration value="SBD"/>
<xs:enumeration value="SCR"/>
<xs:enumeration value="SDG"/>
<xs:enumeration value="SEK"/>
<xs:enumeration value="SGD"/>
<xs:enumeration value="SHP"/>
<xs:enumeration value="SLL"/>
<xs:enumeration value="SOS"/>
<xs:enumeration value="SRD"/>
<xs:enumeration value="SSP"/>
<xs:enumeration value="STD"/>
<xs:enumeration value="SVC"/>
<xs:enumeration value="SYP"/>
<xs:enumeration value="SZL"/>
<xs:enumeration value="THB"/>
<xs:enumeration value="TJS"/>
<xs:enumeration value="TMT"/>
<xs:enumeration value="TND"/>
<xs:enumeration value="TOP"/>
<xs:enumeration value="TRY"/>
<xs:enumeration value="TTD"/>
<xs:enumeration value="TWD"/>
<xs:enumeration value="TZS"/>
<xs:enumeration value="UAH"/>
<xs:enumeration value="UGX"/>
<xs:enumeration value="USD"/>
<xs:enumeration value="USN"/>
<xs:enumeration value="UYI"/>
<xs:enumeration value="UYU"/>
<xs:enumeration value="UZS"/>
<xs:enumeration value="VEF"/>
<xs:enumeration value="VND"/>
<xs:enumeration value="VUV"/>
<xs:enumeration value="WST"/>
<xs:enumeration value="XAF"/>
<xs:enumeration value="XAG"/>
<xs:enumeration value="XAU"/>
<xs:enumeration value="XBA"/>
<xs:enumeration value="XBB"/>
<xs:enumeration value="XBC"/>
<xs:enumeration value="XBD"/>
<xs:enumeration value="XCD"/>
<xs:enumeration value="XDR"/>
<xs:enumeration value="XOF"/>
<xs:enumeration value="XPD"/>
<xs:enumeration value="XPF"/>
<xs:enumeration value="XPT"/>
<xs:enumeration value="XSU"/>
<xs:enumeration value="XTS"/>
<xs:enumeration value="XUA"/>
<xs:enumeration value="XXX"/>
<xs:enumeration value="YER"/>
<xs:enumeration value="ZAR"/>
<xs:enumeration value="ZMW"/>
<xs:enumeration value="ZWL"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TipoCambio" type="DecimalDineroType" minOccurs="0">
<xs:annotation>
<xs:documentation>Tipo de cambio</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalServGravados" type="DecimalDineroType" minOccurs="0">
<xs:annotation>
<xs:documentation>Total de los servicios gravados con IV</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalServExentos" type="DecimalDineroType" minOccurs="0">
<xs:annotation>
<xs:documentation>Total de los servicios exentos de IV</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalMercanciasGravadas" type="DecimalDineroType" minOccurs="0">
<xs:annotation>
<xs:documentation>Total mercancias gravadas con IV</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalMercanciasExentas" type="DecimalDineroType" minOccurs="0">
<xs:annotation>
<xs:documentation>Total mercancias exentas de IV</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalGravado" type="DecimalDineroType" minOccurs="0">
<xs:annotation>
<xs:documentation>Total gravado. se obtiene de la suma del total servicios gravados con IV + total mercancias gravadas con IV</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalExento" type="DecimalDineroType" minOccurs="0">
<xs:annotation>
<xs:documentation>Total Exento, se obtiene de la suma de los campos total servicios exentos IV mas total mercancias exentas IV</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalVenta" type="DecimalDineroType">
<xs:annotation>
<xs:documentation>Se obtiene de la suma de los campos total gravado mas total exento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalDescuentos" type="DecimalDineroType" minOccurs="0">
<xs:annotation>
<xs:documentation>Se obtiene de la suma de todos los campo de monto de descuento concedido</xs:documentation>
</xs:annotation>
</xs:element>
\\MONTO TOTAL NETO
<xs:element name="TotalVentaNeta" type="DecimalDineroType">
<xs:annotation>
<xs:documentation>Se obtiene de la resta de los campos total venta menos total descuento</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalImpuesto" type="DecimalDineroType" minOccurs="0">
<xs:annotation>
<xs:documentation>Se obtiene de la suma de todos campos monto del impuesto</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalComprobante" type="DecimalDineroType">
<xs:annotation>
<xs:documentation>Se obtiene de la suma de los campos total venta neta mas monto total de los impuestos</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="InformacionReferencia" minOccurs="0" maxOccurs="10">
<xs:complexType>
<xs:sequence>
<xs:element name="TipoDoc">
<xs:annotation>
<xs:documentation>Tipo de documento de referencia. 01 Factura electronica, 02 Nota de debito electronica, 03 nota de credito electronica, 04 Tiquete electronico, 05 Nota de despacho, 06 Contrato, 07 Procedimiento, 08 Comprobante emitido en contigencia, 99 Otros</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="01">
<xs:annotation>
<xs:documentation>Factura electronica</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="02">
<xs:annotation>
<xs:documentation>Nota de debido electronica</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="03">
<xs:annotation>
<xs:documentation>nota de credito electronica</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="04">
<xs:annotation>
<xs:documentation>Tiquete electronico</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="05">
<xs:annotation>
<xs:documentation>Nota de despacho</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="06">
<xs:annotation>
<xs:documentation>Contrato</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="07">
<xs:annotation>
<xs:documentation>Procedimiento</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="08">
<xs:annotation>
<xs:documentation>Comprobante emitido en contigencia</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="99">
<xs:annotation>
<xs:documentation>Otros</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Numero">
<xs:annotation>
<xs:documentation>Numero de documento de referencia</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
\\FECHA DE EMISION DEL DOCUMENTO
<xs:element name="FechaEmision" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Fecha y hora de emision del documento de referencia</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Codigo">
<xs:annotation>
<xs:documentation>Codigo de referencia. 01 Anula documento de referencia, 02 Corrige texto de documento de referencia, 03 Corrige monto, 04 Referencia a otro documento, 05 Sustituye comprobante provisional por contigencia, 99 Otros</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="01">
<xs:annotation>
<xs:documentation>Anula documento de referencia</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="02">
<xs:annotation>
<xs:documentation>Corrige texto de ocumento de referencia</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="03">
<xs:annotation>
<xs:documentation>Corrige monto</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="04">
<xs:annotation>
<xs:documentation>Referencia a otro documento</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="05">
<xs:annotation>
<xs:documentation>Sustituye comprobante provisional por contigencia</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="99">
<xs:annotation>
<xs:documentation>Otros</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Razon">
<xs:annotation>
<xs:documentation>Razon de referencia</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="180"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Normativa">
<xs:annotation>
<xs:documentation>Normativa vigente</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="NumeroResolucion">
<xs:annotation>
<xs:documentation>Se debe indicar el numero de resolucion DGT XXXX</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="13"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FechaResolucion">
<xs:annotation>
<xs:documentation>La fecha y hora de resolucion. DD-MM-YYYY HH:MM:SS</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
\\OTROS
<xs:element name="Otros" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="OtroTexto" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Elemento opcional que se puede utilizar la almacenar texto.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="codigo" type="xs:string">
<xs:annotation>
<xs:documentation>Codigo opcional para facilitar la identificacion del elemento.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="OtroContenido" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Elemento opcional que se puede utilizar para almacenar contenido estructurado.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:any namespace="##other" processContents="lax"/>
</xs:sequence>
<xs:attribute name="codigo" type="xs:string">
<xs:annotation>
<xs:documentation>Codigo opcional para facilitar la identificacion del elemento.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ds:Signature" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="EmisorType">
<xs:sequence>
<xs:element name="Nombre" nillable="false">
<xs:annotation>
<xs:documentation>Nombre o razon social</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="80"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
\\NUMERO DE IDENTIFICACION
<xs:element name="Identificacion" type="IdentificacionType"/>
\\NOMBRE COMERCIAL
<xs:element name="NombreComercial" minOccurs="0">
<xs:annotation>
<xs:documentation>En caso de que se cuente con nombre comercial debe indicarse</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="80"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
\\UBICACION
<xs:element name="Ubicacion" type="UbicacionType"/>
\\TELEFONO
<xs:element name="Telefono" type="TelefonoType" nillable="true" minOccurs="0"/>
\\FAX
<xs:element name="Fax" type="TelefonoType" nillable="true" minOccurs="0"/>
<xs:element name="CorreoElectronico">
<xs:annotation>
<xs:documentation>Debe cumplir con la siguiente estructura:\s*\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ReceptorType">
<xs:sequence>
<xs:element name="Nombre" nillable="false">
<xs:annotation>
<xs:documentation>Nombre o razon social</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="80"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Identificacion" type="IdentificacionType" minOccurs="0"/>
<xs:element name="IdentificacionExtranjero" minOccurs="0">
<xs:annotation>
<xs:documentation>Este campo sera de condicion obligatoria, cuando el cliente lo requiera</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NombreComercial" minOccurs="0">
<xs:annotation>
<xs:documentation>En caso de que se cuente con nombre comercial debe indicarse</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="80"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Ubicacion" type="UbicacionType" minOccurs="0"/>
<xs:element name="Telefono" type="TelefonoType" minOccurs="0"/>
<xs:element name="Fax" type="TelefonoType" minOccurs="0"/>
<xs:element name="CorreoElectronico" minOccurs="0">
<xs:annotation>
<xs:documentation>Este campo sera de condicion obligatoria, cuando el cliente lo requiera. Debe cumplir con la siguiente estructura: \s*\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="IdentificacionType">
<xs:sequence>
<xs:element name="Tipo" nillable="false">
<xs:annotation>
<xs:documentation>Tipo de identificacion: 01 Cedula Fisica, 02 Cedula Juridica, 03 DIMEX, 04 NITE</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="01">
<xs:annotation>
<xs:documentation>Cedula Fisica</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="02">
<xs:annotation>
<xs:documentation> Cedula Juridica</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="03">
<xs:annotation>
<xs:documentation>DIMEX</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="04">
<xs:annotation>
<xs:documentation>NITE</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Numero" nillable="false">
<xs:annotation>
<xs:documentation>Numero de identificacion, el contribuyente debe estar inscrito ante la Administracion Tributaria</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\d{9,12}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="UbicacionType">
<xs:sequence>
<xs:element name="Provincia">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="1"/>
<xs:pattern value="\d"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Canton">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="2"/>
<xs:maxLength value="2"/>
<xs:pattern value="\d\d"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Distrito">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="2"/>
<xs:maxLength value="2"/>
<xs:pattern value="\d\d"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Barrio" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="2"/>
<xs:maxLength value="2"/>
<xs:pattern value="\d\d"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="OtrasSenas">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="160"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TelefonoType">
<xs:sequence>
<xs:element name="CodigoPais">
<xs:annotation>
<xs:documentation>Codigo del pais</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NumTelefono">
<xs:annotation>
<xs:documentation>Numero de telefono</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ExoneracionType">
<xs:sequence>
<xs:element name="TipoDocumento">
<xs:annotation>
<xs:documentation>Tipo de documento de exoneracion o autorizacion. 01 Compras Autorizadas, 02 Ventas exentas a diplomaticos, 03 Orden de compra (instituciones publicas y otros organismos), 04 Exenciones Direccion General de Hacienda, 05 Zonas Francas, 99 Otros</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="01">
<xs:annotation>
<xs:documentation>Compras Autorizadas</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="02">
<xs:annotation>
<xs:documentation>Ventas exentas a diplomaticos</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="03">
<xs:annotation>
<xs:documentation>Orden de compra (instituciones publicas y otros organismos)</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="04">
<xs:annotation>
<xs:documentation>Exenciones Direccion General de Hacienda</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="05">
<xs:annotation>
<xs:documentation>Zonas Francas</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="99">
<xs:annotation>
<xs:documentation>Otros</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NumeroDocumento">
<xs:annotation>
<xs:documentation>Numero de documento de exoneracion o autorizacion</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="17"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NombreInstitucion">
<xs:annotation>
<xs:documentation>Nombre de la institucion o dependencia que emitio la exoneracion</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FechaEmision" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Fecha y hora de la emision del documento de exoneracion o autorizacion.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MontoImpuesto" type="DecimalDineroType">
<xs:annotation>
<xs:documentation>Monto del impuesto exonerado o autorizado sin impuestos</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PorcentajeCompra">
<xs:annotation>
<xs:documentation>Porcentaje de la compra autorizada o exonerada</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ImpuestoType">
<xs:sequence>
<xs:element name="Codigo">
<xs:annotation>
<xs:documentation>Codigo del impuesto: 01 Impuesto General sobre las ventas, 02 Impuesto Selectivo de Consumo, 03 Impuesto unico a los combustivos, 04 Impuesto especifico de bebidas alcoholicas, 05 Impuesto especifico sobre las bebidas envasadas sin contenido alcoholico y jabones de tocador, 06 Impuesto a los productos de tabaco, 07 Servicios, 99 Otros, 08 Impuesto General a las Ventas Diplomaticos, 09 Impuesto General sobre Ventas compras autorizadas, 10 Impuesto General sobre las ventas instituciones publicas y otros organismos, 11 Impuesto Selectivo de consumo compras autorizadas, 12 Impuesto Especifico al cemento, 98 Otros</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="01">
<xs:annotation>
<xs:documentation>Impuesto General sobre las ventas</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="02">
<xs:annotation>
<xs:documentation> Impuesto Selectivo de Consumo</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="03">
<xs:annotation>
<xs:documentation>Impuesto ünico a los combustivos</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="04">
<xs:annotation>
<xs:documentation>Impuesto especifico de bebidas alcoholicas</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="05">
<xs:annotation>
<xs:documentation>impuesto especifico sobre las bebidas envasadas sin contenido alcoholico y jabones de tocador</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="06">
<xs:annotation>
<xs:documentation>impuesto a los productos de tabaco</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="07">
<xs:annotation>
<xs:documentation>servicios</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="08">
<xs:annotation>
<xs:documentation>Impuesto General a las Ventas Diplomaticos</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="09">
<xs:annotation>
<xs:documentation>Impuesto General sobre Ventas compras autorizadas</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="10">
<xs:annotation>
<xs:documentation>Impuesto General sobre las ventas instituciones publicas y otros organismos</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="11">
<xs:annotation>
<xs:documentation>Impuesto Selectivo de consumo compras autorizadas</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="12">
<xs:annotation>
<xs:documentation>Impuesto Especifico al Cemento</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="98">
<xs:annotation>
<xs:documentation>Otros</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="99">
<xs:annotation>
<xs:documentation>Otros</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Tarifa">
<xs:annotation>
<xs:documentation>Tarifa del impuesto</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="4"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Monto" type="DecimalDineroType">
<xs:annotation>
<xs:documentation>Se obtiene de la multiplicacion del campo subtotal por la tarifa del impuesto</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Exoneracion" type="ExoneracionType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CodigoType">
<xs:sequence>
<xs:element name="Tipo">
<xs:annotation>
<xs:documentation>Tipo de codigo de producto o servicio: 01: Codigo del producto del vendedor, 02 Codigo del producto del comprador, 03 Codigo del producto asignado por la industria, 04 Codigo de uso interno, 99 Otros</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="01">
<xs:annotation>
<xs:documentation>Codigo del producto del vendedor</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="02">
<xs:annotation>
<xs:documentation>Codigo del producto del comprador</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="03">
<xs:annotation>
<xs:documentation>codigo del producto asignado por la industria</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="04">
<xs:annotation>
<xs:documentation>codigo de uso interno</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="99">
<xs:annotation>
<xs:documentation>Otros</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Codigo">
<xs:annotation>
<xs:documentation>Codigo del producto o servicio</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="DecimalDineroType">
<xs:annotation>
<xs:documentation>Tipo de dato decimal para representar los valores de dinero.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="18"/>
<xs:fractionDigits value="5"/>
<xs:maxInclusive value="9999999999999.99999"/>
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ClaveType">
<xs:annotation>
<xs:documentation>Tipo de dato String que solo permite el uso de numeros con un largo de 50.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="\d{50,50}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NumeroConsecutivoType">
<xs:annotation>
<xs:documentation>Tipo de dato String que solo permite el uso de numeros con un largo de 20</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="\d{20,20}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="UnidadMedidaType">
<xs:annotation>
<xs:documentation>Unidades de Medida basadas en el estandar RTC 443:2010</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Sp">
<xs:annotation>
<xs:documentation>Servicios Profesionales</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="m">
<xs:annotation>
<xs:documentation>Metro</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="kg">
<xs:annotation>
<xs:documentation>Kilogramo</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="s">
<xs:annotation>
<xs:documentation>Segundo</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="A">
<xs:annotation>
<xs:documentation>Ampere</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="K">
<xs:annotation>
<xs:documentation>Kelvin</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="mol">
<xs:annotation>
<xs:documentation>Mol</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="cd">
<xs:annotation>
<xs:documentation>Candela</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="m²">
<xs:annotation>
<xs:documentation>metro cuadrado</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="m³">
<xs:annotation>
<xs:documentation>metro cubico</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="m/s">
<xs:annotation>
<xs:documentation>metro por segundo</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="m/s²">
<xs:annotation>
<xs:documentation>metro por segundo cuadrado</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="1/m">
<xs:annotation>
<xs:documentation>1 por metro</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="kg/m³">
<xs:annotation>
<xs:documentation>kilogramo por metro cubico</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="A/m²">
<xs:annotation>
<xs:documentation>ampere por metro cuadrado</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="A/m">
<xs:annotation>
<xs:documentation>ampere por metro</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="mol/m³">
<xs:annotation>
<xs:documentation>mol por metro cubico</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="cd/m²">
<xs:annotation>
<xs:documentation>candela por metro cuadrado</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="1">
<xs:annotation>
<xs:documentation>uno (indice de refraccion)</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="rad">
<xs:annotation>
<xs:documentation>radian</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="sr">
<xs:annotation>
<xs:documentation>estereorradian</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Hz">
<xs:annotation>
<xs:documentation>hertz</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="N">
<xs:annotation>
<xs:documentation>newton</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Pa">
<xs:annotation>
<xs:documentation>pascal</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="J">
<xs:annotation>
<xs:documentation>Joule</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="W">
<xs:annotation>
<xs:documentation>Watt</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="C">
<xs:annotation>
<xs:documentation>coulomb</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="V">
<xs:annotation>
<xs:documentation>volt</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="F">
<xs:annotation>
<xs:documentation>farad</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Ω">
<xs:annotation>
<xs:documentation>ohm</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="S">
<xs:annotation>
<xs:documentation>siemens</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Wb">
<xs:annotation>
<xs:documentation>weber</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="T">
<xs:annotation>
<xs:documentation>tesla</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="H">
<xs:annotation>
<xs:documentation>henry</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="°C">
<xs:annotation>
<xs:documentation>grado Celsius</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="lm">
<xs:annotation>
<xs:documentation>lumen</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="lx">
<xs:annotation>
<xs:documentation>lux</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Bq">
<xs:annotation>
<xs:documentation>Becquerel</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Gy">
<xs:annotation>
<xs:documentation>gray</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Sv">
<xs:annotation>
<xs:documentation>sievert</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="kat">
<xs:annotation>
<xs:documentation>katal</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Pa·s">
<xs:annotation>
<xs:documentation>pascal segundo</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="N·m">
<xs:annotation>
<xs:documentation>newton metro</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="N/m">
<xs:annotation>
<xs:documentation>newton por metro</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="rad/s">
<xs:annotation>
<xs:documentation>radian por segundo</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="rad/s²">
<xs:annotation>
<xs:documentation>radian por segundo cuadrado</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="W/m²">
<xs:annotation>
<xs:documentation>watt por metro cuadrado</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="J/K">
<xs:annotation>
<xs:documentation>joule por kelvin</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="J/(kg·K)">
<xs:annotation>
<xs:documentation>joule por kilogramo kelvin</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="J/kg">
<xs:annotation>
<xs:documentation>joule por kilogramo</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="W/(m·K)">
<xs:annotation>
<xs:documentation>watt por metro kevin</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="J/m³">
<xs:annotation>
<xs:documentation>joule por metro cubico</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="V/m">
<xs:annotation>
<xs:documentation>volt por metro</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="C/m³">
<xs:annotation>
<xs:documentation>coulomb por metro cubico</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="C/m²">
<xs:annotation>
<xs:documentation>coulomb por metro cuadrado</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="F/m">
<xs:annotation>
<xs:documentation>farad por metro</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="H/m">
<xs:annotation>
<xs:documentation>henry por metro</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="J/mol">
<xs:annotation>
<xs:documentation>joule por mol</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="J/(mol·K)">
<xs:annotation>
<xs:documentation>joule por mol kelvin</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="C/kg">
<xs:annotation>
<xs:documentation>coulomb por kilogramo</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Gy/s">
<xs:annotation>
<xs:documentation>gray por segundo</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="W/sr">
<xs:annotation>
<xs:documentation>watt por estereorradian</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="W/(m²·sr)">
<xs:annotation>
<xs:documentation>watt por metro cuadrado estereorradian</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="kat/m³">
<xs:annotation>
<xs:documentation>katal por metro cubico</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="min">
<xs:annotation>
<xs:documentation>minuto</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="h">
<xs:annotation>
<xs:documentation>hora</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="d">
<xs:annotation>
<xs:documentation>dia</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="º">
<xs:annotation>
<xs:documentation>grado</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="´">
<xs:annotation>
<xs:documentation>minuto</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="´´">
<xs:annotation>
<xs:documentation>segundo</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="L">
<xs:annotation>
<xs:documentation>litro</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="t">
<xs:annotation>
<xs:documentation>tonelada</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Np">
<xs:annotation>
<xs:documentation>neper</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="B">
<xs:annotation>
<xs:documentation>bel</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="eV">
<xs:annotation>
<xs:documentation>electronvolt</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="u">
<xs:annotation>
<xs:documentation>unidad de masa atomica unificada</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ua">
<xs:annotation>
<xs:documentation>unidad astronomica</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Unid">
<xs:annotation>
<xs:documentation>unidad</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Gal">
<xs:annotation>
<xs:documentation>galon</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="g">
<xs:annotation>
<xs:documentation>gramo</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Km">
<xs:annotation>
<xs:documentation>kilometro</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ln">
<xs:annotation>
<xs:documentation>pulgada</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="cm">
<xs:annotation>
<xs:documentation>centimetro</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="mL">
<xs:annotation>
<xs:documentation>mililitro</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="mm">
<xs:annotation>
<xs:documentation>milimetro</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Oz">
<xs:annotation>
<xs:documentation>onzas</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Otros">
<xs:annotation>
<xs:documentation/>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:schema>
ENDTEXT 

STRTOFILE(XmlHacienda,ArchivoXml)
*El texto del XML.
*debe convertirse a un byte array
*y codificarse en Base64.
*El mapa de caracteres a utilizar en el XML. y en la codificacion Base64 es UTF8.

cRuta = SYS(5)+ADDBS(SYS(2003))
Firmar = CREATEOBJECT("firmado")
cFirmado = "FirmadoDGTD.xml"
Firmar.FirmarXAdesEpes(cFirmado,"certificado.p12")

*Convertir a UTF-8
lcFile = cFirmado
lcANSI = strconv(FileToStr( m.lcFile ),9)
lcUTF8 = SYS(5)+ADDBS(SYS(2003))+Forceext(m.lcFile, 'utf')
*Convierte a UTF8 con firma BOM
STRTOFILE(m.lcANSI,m.lcUTF8,4)
*ArchivoXml = lcUTF8
lnH = FOPEN(m.lcUTF8, 10)
IF lnH > 0
  lcBOM = FREAD(m.lnH, 3)
  IF m.lcBOM == 0hEFBBBF
= FCLOSE(m.lnH)
*Convertir a un byte array
lvBinary = CREATEBINARY(FILETOSTR(m.lcUTF8))
_cliptext = lvBinary
lcBINARY = SYS(5)+ADDBS(SYS(2003))+Forceext(m.lcFile, 'Bin')
pnfich = FCREATE(m.lcBINARY)
    FPUTS(pnfich, m.lvBinary)
FCLOSE(pnfich)
*Covertir a Base64
vc_Base64 = STRCONV(FILETOSTR(m.lcBINARY),13)
  ELSE
   = FCLOSE(m.lnH)
    WAIT WINDOW "No UTF-8 BOM"
  ENDIF
ELSE
  *-- Error
ENDIF
*!* clear
*!* ?vc_Base64
**Archivo Listo para ser enviado a Tributacion.
lcBAS64 = Forceext(m.lcBINARY, 'b64')
STRTOFILE(vc_Base64,m.lcBAS64)

Oscar Melendez

unread,
Jan 20, 2018, 11:59:47 AM1/20/18
to publice...@googlegroups.com
firma de documentos

firmadocr.rar

Jose Carlos Aguilar

unread,
Jan 20, 2018, 12:18:08 PM1/20/18
to Comunidad de Visual Foxpro en Español
No sería mucho molestia poner los créditos por librería.

Saludos
firma de documentos

<xs:enumeration value="TOP"/></d

Oscar Melendez

unread,
Jan 20, 2018, 12:21:39 PM1/20/18
to publice...@googlegroups.com
si de hecho y disculpa los creditos son tuyo de hecho

Hernan Serrano

unread,
Jan 28, 2018, 10:51:27 PM1/28/18
to publice...@googlegroups.com
Compañeros, ya logre el envio a Tributacion.
Excepto que no me devuelve error. (Creo que es aceptacion.)
Apenas depure el codigo lo comparto.

ATTE
Hernan

Hernan Serrano

unread,
Jan 29, 2018, 8:27:06 AM1/29/18
to publice...@googlegroups.com
El JSON, devuelto trae el mensaje. En este caso rechazado. Pero ahora hay que revisar para ver por que no lo esta aceptando. Tarea para hoy.

Hernan Serrano

unread,
Feb 3, 2018, 8:56:42 AM2/3/18
to publice...@googlegroups.com
Imágenes integradas 1

Listo amigos logrado el objetivo

El 29 de enero de 2018, 7:26, Hernan Serrano <hernan.serr...@gmail.com> escribió:
El JSON, devuelto trae el mensaje. En este caso rechazado. Pero ahora hay que revisar para ver por que no lo esta aceptando. Tarea para hoy.



--
Tico Support S. A.
Tel. (506)8819-4369

roberto

unread,
Feb 3, 2018, 5:30:30 PM2/3/18
to Comunidad de Visual Foxpro en Español
Excelente Hernán, muy bueno.
Roberto

Diego Varela

unread,
Feb 15, 2018, 7:48:48 PM2/15/18
to Comunidad de Visual Foxpro en Español
Amigo, yo estoy pegado con el tema de que Hacienda me retorna ind-estado = rechazado y en el xml MensajeHacienda me muestro el siguiente mensaje:

id mensaje hacienda: 3
Este comprobante fue procesado en el ambiente de pruebas, por lo cual no tiene validez para fines tributarios.

La firma del comprobante electrónico no es válida

Lo interesante, es que incuso usando el metodo de la libreria firmadorcr.dll aún asi me sigue retornando el mismo error.

El sábado, 3 de febrero de 2018, 7:56:42 (UTC-6), Hernan Serrano escribió:
Imágenes integradas 1

Listo amigos logrado el objetivo
El 29 de enero de 2018, 7:26, Hernan Serrano <hernan.serr...@gmail.com> escribió:
El JSON, devuelto trae el mensaje. En este caso rechazado. Pero ahora hay que revisar para ver por que no lo esta aceptando. Tarea para hoy.
firma de documentos

<span style="white-space:pre-wrap

Hernan Serrano

unread,
Feb 15, 2018, 8:27:05 PM2/15/18
to publice...@googlegroups.com
Enviame el xml, el archivo para hacer unas pruebas de envio.

Diego Varela

unread,
Feb 16, 2018, 9:24:53 AM2/16/18
to publice...@googlegroups.com
Muchas gracias por la ayuda brindada.
factura.xml

facelec...@gmail.com

unread,
Apr 5, 2018, 11:01:09 AM4/5/18
to Comunidad de Visual Foxpro en Español
Saludos amigos, tengo disponible para la venta el codigo fuente para Facturación Electrónica Costa Rica en Visual FoxPro 9, 100% código FoxPro sin librerias ni dlls externas, solo se requiere el uso del openssl para calculo de firma. Incluyo Ejecutable Demostrativo .exe 100% operativo que muestra la operacion del módulo, conecta con hacienda, solicita token, calcula la firma, envia el documento y recibe la respuesta.
Adjunto captures de pantalla.
Imagenes.zip

GeoSys Diseño de Software

unread,
Apr 5, 2018, 11:14:01 AM4/5/18
to Comunidad de Visual Foxpro en Español
Número de teléfono y nombre donde se pueda contactarte. Gracias.

Anthony Contreras P.

Costa Rica.

Hernan Serrano

unread,
Apr 5, 2018, 6:30:44 PM4/5/18
to publice...@googlegroups.com
Yo tambien tengo las librerias disponibles por si te interesa. Valen $400 y Se brinda Asesoria hasta que tu sistema este en produccion.

alonso mevaz

unread,
Apr 6, 2018, 12:18:37 PM4/6/18
to Comunidad de Visual Foxpro en Español

Raiam Quesada

unread,
Apr 12, 2018, 12:53:22 PM4/12/18
to publice...@googlegroups.com

Hola grupo

tengo una consulta que no logro resolver con documentacion, espero me puedan ayudar

Cual es la accion que deberia pasar si, hacienda rechaza un documento? ya sea por ubicacion, totales, firma, etc etc, una de tantas cosas que puede suceder... que hay que hacer con respecto a dicho documento?

me han comentado que una nota de credito para anularlo, sin embargo no se cual deberia ser la estructura para "anular" ese documento, o me surgio la interrogante de que deberia suceder si la nota de credito la rechaza hacienda de nuevo? entramos en un bucle de rechazos y me pierdo en ese sentido

alguno ha experimentado esto o sabe como deberia funcionar?

les agradezco muchisimo

saludos

Hernan Serrano

unread,
Apr 13, 2018, 5:43:24 PM4/13/18
to publice...@googlegroups.com
Ese es el proceso correcto.
Factura, Nota de Credito.

Ahora recuerda que si tienes tus sistemas bien elaborados no deberias tener problemas con los documentos, salvo error de usuario. Por eso el proceso de creación de la Nota de Credito es un proceso super sensible que se debe de revisar muy bien.

Raiam Quesada

unread,
Apr 16, 2018, 11:29:49 AM4/16/18
to publice...@googlegroups.com
SI bro, pero digamos, el usuario podria tener un error ya sea en el numero o cosas como estas! en ese caso como deberia ir la nota de credito de anulacion? no tenes o alguien no tiene ejemplo de xmls para poder ver y comparar

saludos
--

Raiam Quesada U.

Senior Web Developer

EX2 OutCoding Solutions SRL

www.outcoding.com

Skype: ex2.raquesada

cid:image004.png@01CE9352.6CE82E80 cid:image005.png@01CE9352.6CE82E80 http://www.socialmedianode.com/wp-content/uploads/2013/08/linkedin-logo.png

logo-Outcoding_firma.png

Hernan Serrano

unread,
Apr 16, 2018, 12:17:38 PM4/16/18
to publice...@googlegroups.com
Te adjunto una nota de credito que me enviaron. Ya esta probada


El 16 de abril de 2018, 9:29, Raiam Quesada <raqu...@outcoding.com> escribió:
SI bro, pero digamos, el usuario podria tener un error ya sea en el numero o cosas como estas! en ese caso como deberia ir la nota de credito de anulacion? no tenes o alguien no tiene ejemplo de xmls para poder ver y comparar

saludos
NotaCredtioEjm.xml

Diego Varela

unread,
Apr 19, 2018, 9:05:51 AM4/19/18
to publice...@googlegroups.com
Amigos una consulta..

Resulta que ahora me está generando este mensaje al consultar la recepción de un comprobante:

El comprobante electrónico tiene los siguientes errores: 

[
codigo, mensaje, fila, columna
-1, "La versión del comprobante enviado no es soportado, favor verifique.", 0, 0

Me puede alguien ayudar con este error para tratar de llegarle...

Hernan Serrano

unread,
Apr 19, 2018, 9:49:42 AM4/19/18
to publice...@googlegroups.com
Usted en cual version de factura electronica esta trabajando. Fijese en los uris que tiene en el comprobante. Puedes postear el comprobante que estas enviando. 

El 19 de abril de 2018, 7:05, Diego Varela <dvare...@gmail.com> escribió:
Amigos una consulta..

Resulta que ahora me está generando este mensaje al consultar la recepción de un comprobante:

El comprobante electrónico tiene los siguientes errores: 

[
codigo, mensaje, fila, columna
-1, "La versión del comprobante enviado no es soportado, favor verifique.", 0, 0

Me puede alguien ayudar con este error para tratar de llegarle...

Diego Varela

unread,
Apr 19, 2018, 9:59:59 AM4/19/18
to publice...@googlegroups.com
En teoria uso la v 4.2 en un momento le paso el xml

El jue., 19 de abr. de 2018 7:49 a.m., Hernan Serrano <hernan.serr...@gmail.com> escribió:
Usted en cual version de factura electronica esta trabajando. Fijese en los uris que tiene en el comprobante. Puedes postear el comprobante que estas enviando. 
El 19 de abril de 2018, 7:05, Diego Varela <dvare...@gmail.com> escribió:
Amigos una consulta..

Resulta que ahora me está generando este mensaje al consultar la recepción de un comprobante:

El comprobante electrónico tiene los siguientes errores: 

[
codigo, mensaje, fila, columna
-1, "La versión del comprobante enviado no es soportado, favor verifique.", 0, 0

Me puede alguien ayudar con este error para tratar de llegarle...

Diego Varela

unread,
Apr 19, 2018, 10:46:16 AM4/19/18
to publice...@googlegroups.com
Aqui estan los xml

el original y el firmado

El 19 de abril de 2018, 7:59, Diego Varela <dvare...@gmail.com> escribió:
En teoria uso la v 4.2 en un momento le paso el xml
El jue., 19 de abr. de 2018 7:49 a.m., Hernan Serrano <hernan.serrano.morales@gmail.com> escribió:
Usted en cual version de factura electronica esta trabajando. Fijese en los uris que tiene en el comprobante. Puedes postear el comprobante que estas enviando. 
El 19 de abril de 2018, 7:05, Diego Varela <dvare...@gmail.com> escribió:
Amigos una consulta..

Resulta que ahora me está generando este mensaje al consultar la recepción de un comprobante:

El comprobante electrónico tiene los siguientes errores: 

[
codigo, mensaje, fila, columna
-1, "La versión del comprobante enviado no es soportado, favor verifique.", 0, 0

Me puede alguien ayudar con este error para tratar de llegarle...
con_firma.xml
sin_firma.xml

Jma

unread,
Apr 19, 2018, 10:55:11 AM4/19/18
to publice...@googlegroups.com
Y este fichero atv te lo admite sin la identificacion de provincia, cantón,.....etc?


Jose Miguel Arevalo 
Optico optometrísta
Analista informático 
<con_firma.xml>
<sin_firma.xml>

Diego Varela

unread,
Apr 19, 2018, 10:57:36 AM4/19/18
to publice...@googlegroups.com
Hola, vieras que aparte de que tenia el nombre del esquema malo (4.1 cuando era 4.2), efectivamente me rechaza debido a los datos de ubicaciòn faltantes.

Muchas gracias por la ayuda...

Raiam Quesada

unread,
Apr 19, 2018, 11:24:29 AM4/19/18
to publice...@googlegroups.com
bros, otra consulta

como es que funciona la parte de recepcion del cliente? desconocia esa parte y me comentan que hay que implementar algo para cuando el cliente hace un acuse de recibido

Diego Varela

unread,
Apr 19, 2018, 11:29:11 AM4/19/18
to publice...@googlegroups.com
Muy buena pregunta yo tambien tengo esa duda...

GeoSys Diseño de Software

unread,
Apr 19, 2018, 11:52:22 AM4/19/18
to Comunidad de Visual Foxpro en Español
Diego, veo que en UnidadMedida tienes un carácter extraño que no cumple lo estipulado, la tienes así:

<UnidadMedida>´</UnidadMedida>

Siendo la correcta así creo.
<UnidadMedida>Sp</UnidadMedida>

Saludos
Anthony Contreras Peralta
Costa Rica.

Diego Varela

unread,
Apr 19, 2018, 12:03:22 PM4/19/18
to publice...@googlegroups.com
Muchad gracias no lo habia notado....

Hernan Serrano

unread,
Apr 20, 2018, 10:02:01 AM4/20/18
to publice...@googlegroups.com
Sobre el tema acuse o recibo de Facturas. 

Cuando un emisor emite un comprobante y el receptor esta también inscrito en Hacienda. Para poder validar esa factura y poderla ingresar en las cuentas de gastos. Debe cualquier sistema tener un proceso de aceptación y rechazo de la Factura.
Consiste en leer el xml que le envia el emisor. Y generar una Json, que va a haciend, basicamente indicando que la factura ha sido aceptada o aceptada parcialmente.

Diego Varela

unread,
Apr 20, 2018, 10:37:01 AM4/20/18
to publice...@googlegroups.com
Existen APIS del lado de hacienda para este proceso de aceptación? de ser así usted sabe donde podemos ver documentación al respecto?!!

Raiam Quesada

unread,
Apr 20, 2018, 10:44:20 AM4/20/18
to publice...@googlegroups.com
Pero ya eso es un paso que debe hacer el receptor cierto? 

No el emisor como tal... Gracias x la ayuda amigo


Diego Varela

unread,
Apr 20, 2018, 12:00:49 PM4/20/18
to publice...@googlegroups.com
Compas, aqui encontré un link de flecha roja donde habla bastante detallado acerca del envío de mensajes por parte de los receptores.


El 20 de abril de 2018, 8:44, Raiam Quesada <raqu...@outcoding.com> escribió:
Pero ya eso es un paso que debe hacer el receptor cierto? 

No el emisor como tal... Gracias x la ayuda amigo


El vie., 20 abr. 2018 8:36 a.m., Diego Varela <dvare...@gmail.com> escribió:
Existen APIS del lado de hacienda para este proceso de aceptación? de ser así usted sabe donde podemos ver documentación al respecto?!!

Raiam Quesada

unread,
Apr 20, 2018, 1:37:35 PM4/20/18
to publice...@googlegroups.com
mae buenisimo ese documento, responde muy bien a las preguntas!! 

yo ya casi estoy en todas con eso, la unica duda que tengo ahorita, no se si ya lo has abordado! es como tiene que ir la nota de credito para un documento que hacienda rechazo, por ejemplo porque le falto el email!! segun leo eso va rechazado y  hay que hacer una nota de credito!!

ojala alguien pueda proveernos ejemplos..

saludos a todos

Raiam Quesada

unread,
Apr 20, 2018, 7:07:57 PM4/20/18
to publice...@googlegroups.com
mae buenisimo ese documento, responde muy bien a las preguntas!! 

yo ya casi estoy en todas con eso, la unica duda que tengo ahorita, no se si ya lo has abordado! es como tiene que ir la nota de credito para un documento que hacienda rechazo, por ejemplo porque le falto el email, como deberia ir la nota de credito para eso? alguno que sepa?

saludos
Reply all
Reply to author
Forward
0 new messages