Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Índice
Objetivos ................................................................................................................................................................................................ I
Introducción............................................................................................................................................................................................ I
Información Técnica .............................................................................................................................................................................. 1
Ambientes de trabajo ............................................................................................................................................................................ 1
Ambiente de desarrollo – PRUEBAS ................................................................................................................................... 1
Ambiente PRODUCTIVO ................................................................................................................................................... 1
Esquema NATIVO XML ........................................................................................................................................................................ 2
NODOS ............................................................................................................................................................................ 2
FactDocGT ................................................................................................................................................................... 2
Version ......................................................................................................................................................................... 2
Procesamiento .............................................................................................................................................................. 3
Asignación solicitada...................................................................................................................................................... 3
Encabezado .................................................................................................................................................................. 4
Vendedor ...................................................................................................................................................................... 5
Modelo Linea:............................................................................................................................................................ 5
Modelo Copia ............................................................................................................................................................ 5
Comprador .................................................................................................................................................................... 6
Detalle del documento.................................................................................................................................................... 7
Descuentos. ............................................................................................................................................................ 7
Impuestos ............................................................................................................................................................... 8
Totales ....................................................................................................................................................................... 10
Ejemplo de XML NATIVO COMPLETO ....................................................................................................................... 11
WEB SERVICE ................................................................................................................................................................................... 13
Esquema ........................................................................................................................................................................ 13
Parámetros ..................................................................................................................................................................... 13
- Requestor ........................................................................................................................................................... 13
- Country............................................................................................................................................................... 13
- Entity .................................................................................................................................................................. 13
- User ................................................................................................................................................................... 13
- Username ........................................................................................................................................................... 13
METODOS ..................................................................................................................................................................... 14
CONVERT_NATIVE_XML ............................................................................................................................................ 14
Documento técnico para el Registro de Documentos Tributarios Electrónicos
GET_DOCUMENT....................................................................................................................................................... 19
LOOKUP_ISSUED_INTERNAL_ID ............................................................................................................................... 19
CANCEL_XML ............................................................................................................................................................ 21
Catálogo de TIPOS ACTIVOS ......................................................................................................................................... 23
Modelo Copia (BATCH) ............................................................................................................................................. 23
Modelo Linea (ELECTRONICO PURO)........................................................................................................................ 23
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Objetivos
- Este documento tiene como objetivo principal la elaboración de un manual técnico que permita al Emisor de Facturas
Electrónicas (EFACE), específicamente el área de desarrollo de sistemas, entender los pasos y métodos para el registro
de un documento tributario electrónico.
- Conocer el proceso y la metodología utilizada para la validación de información del documento tributario.
- Conocer el esquema de generación de un archivo nativo XML para su firmado electrónico.
- Conocer las herramientas que el GFACE le proporciona para generar el registro exitoso de un documento tributario
electrónico.
Introducción
El sistema de facturación electrónica e-FACTURA está basado en la publicación de un servicio web que permite el registro de
documentos tributarios por parte del EFACE. Este servicio web cuenta con una serie de métodos que permiten realizar diferentes
operaciones avaladas por la Superintencia de Administración Tributaria SAT y que son de utilidad para el EFACE en la
administracion de sus operaciones contables.
Adicional a ello el GFACE provee al EFACE un portal web, el cual le permite realizar operaciones que le permiten llevar un control
de los registros realizados en el GFACE. Estas operaciones son de gran utilidad para el EFACE ya que le permite la descarga de
sus documentos tributarios electrónicos en tres formatos (PDF y HTML para su impresión y XML como documento tributario
electrónico ante SAT), así como la generación de reportes que le permiten realizar cuadres contables. Estos reportes pueden ser
descargados en un formato Excel para su manipulación.
- Un ambiente de desarrollo (PRUEBAS) que permite al EFACE adaptar su sistema a los requerimientos de SAT, pudiendo
así realizar todas las pruebas necesarias hasta generar un documento tributario electrónico DTE libre de errores.
- Un ambiente final PRODUCTIVO, el cual registra todos aquellos documentos tributarios electrónicos a los cuales tendrá
acceso SAT.
Ambos ambientes funcionan exactamente de la misma forma, en su proceso de validación de información y firmado electrónico,
con la diferencia de que el ambiente de PRUEBAS es menos robusto que el ambiente PRODUCTIVO, y está sujeto a cambios sin
previo aviso.
Es importante también conocer que, los documentos firmados en ambiente de PRUEBAS en ningún momento y bajo
ninguna circunstancia son trasladados al ambiente PRODUCTIVO por razones legales, y que todas las operaciones
realizadas en ambiente PRUEBAS no son operaciones validas ante SAT.
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Información Técnica
El sistema de facturación electrónica e-FACTURA está basado en una plataforma web y cuenta con una arquitectura cliente
servidor. Este sistema es un sistema transaccional y basa el registro de los documentos tributarios a través de la publicación de
un servicio web el cual puede ser alcanzado por el EFACE sencillamente con una conexión a internet.
El documento tributario debe ser enviado en un esquema definido por SAT en formato XML para su proceso. Más adelante se
explica dicho esquema en todo su detalle.
Las herramientas con las que se cuenta para el registro de los documentos tributarios son:
1. Portal web, que provee una herramienta de registro de documentos tributarios (Facturador)
2. Un servicio web que permite a través del sistema propio del EFACE generar un registro transaccional de un documento
tributario. Este servicio web cuenta con varios métodos, los cuales cada uno tiene su función específica.
3. Dos ambientes de los cuales puede hacer uso el EFACE en todo momento.
Debido a que este es un manual técnico, el enfoque del mismo estará únicamente en el servicio web.
Ambientes de trabajo
Existen dos ambientes de los cuales puede hacer uso el EFACE y por ser una plataforma web el ambiente PRODUCTIVO está
disponible las 24 horas del día los 7 días de la semana, sin embargo, puede darse la posibilidad de que el ambiente de desarrollo
(Pruebas) por ser este de desarrollo se encuentre en algunas ocasiones fuera de servicio por razones de mantenimiento, también
está sujeto a cambios sin previo aviso, no así con el ambiente PRODUCTIVO.
Ambiente PRODUCTIVO
- Portal web: http://gface.efactura.com.gt
- Servicio Web (web service):
o URL: https://gface.efactura.com.gt/mx.com.fact.wsfront/FactWSFront.asmx
o WSDL: https://gface.efactura.com.gt/mx.com.fact.wsfront/FactWSFront.asmx?wsdl
Como se ha indicado anteriormente ambos ambientes funcionan de la misma forma en todos sus procesos, esto para que el
EFACE no tenga que hacer ningún cambio en sus ambientes de trabajo, basta con simplemente omitir la palabra TEST del URL y
el direccionamiento se hace al ambiente PRODUCTIVO.
1
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Desarrollo de XML NATIVO
Para la solicitud de firmado electrónico de un documento tributario a través de web service debe hacerse enviando dicho
documento en un formato XML NATIVO, el cual cuenta con un esquema previamente definido. Dicho esquema debe cumplir con
todos los requerimientos señalados para que su registro sea procesado y exitoso.
Debido a que SAT permite el registro de los documentos tributarios en dos modalidades (copia y línea) existen algunos nodos en el
XML que pueden ser o no optativos dependiendo de la modalidad del mismo. En este documento se resaltara los datos
obligatorios y optativos del XML.
NODOS
FactDocGT
- Descripción: URL publicado para la validación del esquema NATIVO
- Valor esperado:
xmlns="http://www.fact.com.mx/schema/gt"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=”http://www.fact.com.mx/schema/gt
http://www.mysuitemex.com/fact/schema/fx_2012_gt.xsd”
- Obligatoriedad: SI
Version
Debido a que la estructura del XML ha ido evolucionando, se han tenido distintas versiones del XML, actualmente la versión más
reciente es 3. Su esquema es el siguiente:
<Version>3</Version>
2
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Desarrollo de XML NATIVO
Procesamiento
Permite la distribución del documento tributario electrónico a través del correo electrónico, es un nodo OPTATIVO. Sus valores
son:
Esquema:
<Procesamiento>
<Dictionary name="email">
<Entry k="from" v="ORIGEN"/>
<Entry k="to" v="listado destino separado cada correo por punto y coma"/>
<Entry k="reply to" v="con respuesta a"/>
<Entry k="formats" v="xml pdf html"/>
</Dictionary>
</Procesamiento>
Asignación solicitada
Este nodo es utilizado para la asignación de los datos fiscales del documento tributario. Aplica de la siguiente forma:
Esquema:
<AsignacionSolicitada>
<Serie>FACE</Serie>
<NumeroDocumento>1</NumeroDocumento>
<FechaEmision>2013-01-01T00:00:00</FechaEmision>
<NumeroAutorizacion>653365-6563-65632</NumeroAutorizacion>
<FechaResolucion>2010-01-01</FechaResolucion>
<RangoInicialAutorizado>1</RangoInicialAutorizado>
<RangoFinalAutorizado>10000000</RangoFinalAutorizado>
</AsignacionSolicitada>
3
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Desarrollo de XML NATIVO
Encabezado
Este nodo indica el tipo de documento que se registra así como el tipo de moneda y el régimen del EFACE.
Es de carácter obligatorio. Sus nodos son:
Cuando un documento es modelo copia este puede ser registrado como anulado.
Este nodo es optativo.
NOMBRE DESCRIPCION TIPO DE DATO VALOR ESPERADO
RedefinirEstadoDeCopia Indica el estado del documento String ANULADO
FechaCancelacion Indica la fecha en que fue anulado el Fecha Fecha de anulación del documento, formato: AAAA-MM-DD
documento
Si el documento se registra como ANULADO deberán ir obligatoriamente los dos nodos descritos anteriormente.
Esquema:
<Encabezado>
<TipoActivo>FACE63</TipoActivo> <!-- VER CATALOGO DE TIPOS -->
<!-- ESTADO DEL DOCUMENTO: nodo de Informacion opcional
<RedefinirEstadoDeCopia>ANULADO</RedefinirEstadoDeCopia>
<FechaCancelacion>2012-01-01</FechaCancelacion>
-->
<CodigoDeMoneda>GTQ</CodigoDeMoneda>
<TipoDeCambio>1.0000</TipoDeCambio>
<InformacionDeRegimenIsr>RET_DEFINITIVA</InformacionDeRegimenIsr>
</Encabezado>
4
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Desarrollo de XML NATIVO
Vendedor
Contiene la información del emisor del documento tributario. Este nodo varía dependiendo del modelo del registro del documento
tributario. Es de carácter obligatorio.
Modelo Linea:
NOMBRE DESCRIPCION TIPO DE DATO VALOR ESPERADO
NIT Número de Identificación Tributaria del emisor Alfanumérico
Idioma Idioma del país emisor String es
CodigoDeEstablecimiento Código del establecimiento desde el cual se está emitiendo el documento Entero Entero
tributario. Este valor viene amarrado con la resolución autorizada por SAT, y
puede ser encontrada en el RTU
DispositivoElectronico Es un número entero de 3 dígitos que se asigna a cada resolución autorizada por Entero entero
SAT.
Esquema:
<Vendedor>
<Nit>123456123456</Nit>
<Idioma>es</Idioma>
<CodigoDeEstablecimiento>1</CodigoDeEstablecimiento>
<DispositivoElectronico>001</DispositivoElectronico>
</Vendedor>
Si el GFACE es quien está administrando el correlativo del documento tributario, en base al “Tipo Activo”, “código de establecimiento” y
“Dispositivo Electrónico” es que nuestro sistema identifica la serie y el correlativo correspondiente al documento.
Modelo Copia
NOMBRE DESCRIPCION TIPO DE DATO VALOR ESPERADO
NIT Numero de Identificación Tributaria del emisor Alfanumérico
NombreComercial Nombre comercial (razón social) del EFACE Alfanumérico
Direccion1 Dirección comercial del EFACE Alfanumérico Longitud máxima de
80 caracteres
*Direccion2 Complemento de la dirección comercial Alfanumérico Longitud máxima 80
caracteres
Municipio Municipio registrado en RTU Alfanumérico
Departamento Departamento del EFACE Alfanumérico
Idioma Idioma del país emisor String es
CodigoDeEstablecimiento Código del establecimiento desde el cual se está emitiendo el documento Entero Entero
tributario. Este valor viene amarrado con la resolución autorizada por SAT, y
puede ser encontrada en el RTU
NombreDeEstablecimiento Nombre del establecimiento (punto de venta) desde donde se emite el alfanumérico
documento tributario
DispositivoElectronico Es un número entero de 3 dígitos que se asigna a cada resolución autorizada por Entero entero
SAT.
Esquema:
<Vendedor>
<Nit>123456123456</Nit>
<NombreComercial>PRUEBAS GFACE</NombreComercial>
<DireccionComercial>
<Direccion1>14 Calle 0-10 Zona 10</Direccion1>
<Municipio>Guatemala</Municipio>
<Departamento>Guatemala</Departamento>
</DireccionComercial>
<Idioma>es</Idioma>
<CodigoDeEstablecimiento>1</CodigoDeEstablecimiento>
<NombreDeEstablecimiento>COINSA</NombreDeEstablecimiento>
<DispositivoElectronico>001</DispositivoElectronico>
</Vendedor>
5
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Desarrollo de XML NATIVO
Comprador
Contiene la información del receptor del documento tributario.
Es un nodo obligatorio.
Este nodo al igual que el vendedor varía dependiendo del modelo de documento que se está emitiendo.
Modelo línea:
- Si es una venta local y el NIT no es CF
Esquema:
<Comprador>
<Nit>EXPORT</Nit>
<NombreComercial>Consumidor Final</NombreComercial>
<DireccionComercial>
<Direccion1>Ciudad</Direccion1>
<Direccion2>.</Direccion2>
<Municipio>Guatemala</Municipio>
<Departamento>Guatemala</Departamento>
<CodigoDePais>GT</CodigoDePais>
</DireccionComercial>
<Idioma>es</Idioma>
</Comprador>
6
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Desarrollo de XML NATIVO
Descuentos.
El nodo de descuentos es totalmente opcional, aplica únicamente si el producto facturado tiene un descuento. Este nodo puede
contener varios sub-nodos dependiendo de cuantos descuentos se aplican a la línea de detalle.
Es un nodo OPTATIVO
<DescuentosYRecargos>
<SumaDeDescuentos>0</SumaDeDescuentos>
<DescuentoORecargo>
<Operacion>DESCUENTO</Operacion>
<Servicio>ALLOWANCE_GLOBAL</Servicio>
<Base>XX</Base>
<Tasa>0</Tasa>
<Monto>0</Monto>
</DescuentoORecargo>
<DescuentoORecargo>
<Operacion>DESCUENTO</Operacion>
<Servicio>ALLOWANCE_GLOBAL</Servicio>
<Base>XY</Base>
<Tasa>0</Tasa>
<Monto>0</Monto>
</DescuentoORecargo>
</DescuentosYRecargos>
7
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Desarrollo de XML NATIVO
Impuestos
El nodo de impuestos registra los impuestos aplicados al producto facturado.
Es un nodo de carácter obligatorio, ya que debe contener por lo menos el impuesto al valor agregado IVA, siendo incluso este
con valor CERO.
Esquema:
<Impuestos>
<TotalDeImpuestos>1.2</TotalDeImpuestos>
<IngresosNetosGravados>10</IngresosNetosGravados>
<TotalDeIVA>1.2</TotalDeIVA>
<Impuesto>
<Tipo>IVA</Tipo>
<Base>10</Base>
<Tasa>12</Tasa>
<Monto>1.2</Monto>
</Impuesto>
<Impuesto>
<Tipo>IDP</Tipo>
<Base>0</Base>
<Tasa>?</Tasa>
<Monto>XX</Monto>
</Impuesto>
<Impuesto>
<Tipo>ITP</Tipo>
<Base>ITP</Base>
<Tasa>0.005</Tasa>
<Monto>XX</Monto>
</Impuesto>
</Impuestos>
Los nodos resaltados en color rojo aplican únicamente si el documento tributario aplica dicho impuesto.
Por cada impuesto aplicado a la línea de detalle se deberá repetir el sub-nodo “Impuesto”.
8
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Desarrollo de XML NATIVO
Esquema DEL NODO DETALLES
<Detalles>
<Detalle>
<Descripcion>Calendario Carros Exoticos</Descripcion>
<CodigoEAN>00000000000000</CodigoEAN>
<UnidadDeMedida>UNI</UnidadDeMedida>
<Cantidad>1</Cantidad>
<ValorSinDR>
<Precio>10</Precio>
<Monto>10</Monto
</ValorSinDR>
<DescuentosYRecargos>
<SumaDeDescuentos>0</SumaDeDescuentos>
<DescuentoORecargo>
<Operacion>DESCUENTO</Operacion>
<Servicio>ALLOWANCE_GLOBAL</Servicio>
<Base>10</Base>
<Tasa>0</Tasa>
<Monto>0</Monto>
</DescuentoORecargo>
</DescuentosYRecargos>
<ValorConDR>
<Precio>10</Precio>
<Monto>10</Monto>
</ValorConDR>
<Impuestos>
<TotalDeImpuestos>1.2</TotalDeImpuestos>
<IngresosNetosGravados>10</IngresosNetosGravados>
<TotalDeIVA>1.2</TotalDeIVA>
<Impuesto>
<Tipo>IVA</Tipo>
<Base>10</Base>
<Tasa>12</Tasa>
<Monto>1.2</Monto>
</Impuesto>
</Impuestos>
<Categoria>Bien</Categoria>
<TextosDePosicion> <Texto>TEXTO OPTATIVO 1000 CARACTERES </Texto></TextosDePosicion>
</Detalle>
<Detalle>
<Descripcion>Calendario Carros Exoticos</Descripcion>
<CodigoEAN>00000000000000</CodigoEAN>
<UnidadDeMedida>UNI</UnidadDeMedida>
<Cantidad>1</Cantidad>
<ValorSinDR>
<Precio>10</Precio>
<Monto>10</Monto
</ValorSinDR>
<DescuentosYRecargos>
<SumaDeDescuentos>0</SumaDeDescuentos>
<DescuentoORecargo>
<Operacion>DESCUENTO</Operacion>
<Servicio>ALLOWANCE_GLOBAL</Servicio>
<Base>10</Base>
<Tasa>0</Tasa>
<Monto>0</Monto>
</DescuentoORecargo>
</DescuentosYRecargos>
<ValorConDR>
<Precio>10</Precio>
<Monto>10</Monto>
</ValorConDR>
<Impuestos>
<TotalDeImpuestos>1.2</TotalDeImpuestos>
<IngresosNetosGravados>10</IngresosNetosGravados>
<TotalDeIVA>1.2</TotalDeIVA>
<Impuesto>
---
</Impuesto>
</Impuestos>
<Categoria>Bien</Categoria>
</Detalle>
…
</Detalles>
9
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Desarrollo de XML NATIVO
Totales
Indicador del monto total del documento tributario. Es de carácter obligatorio.
NOTAS
Debido a que la descripción de los productos a facturador puede exceder los 80 caracteres permitidos en las líneas de detalle
existe para ello nodos conocidos como Textos de Posición, el cual permiten extender dicha descripción a un máximo de 20 mil
caracteres adicionales, distribuidos estos en 20 líneas de mil caracteres cada una. Estos nodos van posicionados dentro de cada
detalle de la siguiente manera.
<Detalle>
<Descripcion/>
…
<Categoria/>
<TextosDePosicion>
<Texto>1/Texto>
<Texto>hasta</Texto>
<Texto>un máximo de 20 posiciones</Texto>
<Texto>Cada texto de mil caracteres</Texto>
</TextosDePosicion>
</Detalle>
Estos textos son opcionales y son utilizados para la extensión de la descripción del producto. De igual forma existen 20 textos
adicionales para el documento tributario que pueden ser utilizados para información del documento como tal, estos textos cumplen
las mismas reglas de los textos de posición y van ubicados al final del documento de la siguiente forma:
<Totales>
…
<Totales/>
<TextosDePie>
<Texto>1/Texto>
<Texto>hasta</Texto>
<Texto>un máximo de 20 posiciones</Texto>
<Texto>Cada texto de mil caracteres</Texto>
</TextosDePie>
Estos textos son colocados al pie de la página del documento tributario en su representación gráfica.
10
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Desarrollo de XML NATIVO
<FactDocGT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.fact.com.mx/schema/gt http://www.mysuitemex.com/fact/schema/fx_2013_gt_3.xsd"
xmlns="http://www.fact.com.mx/schema/gt">
<Version>3</Version>
<Procesamiento>
<Dictionary name="email">
<Entry k="from" v="servicios@efactura.com.gt"/>
<Entry k="to" v="cliente@pruebas.com.gt"/>
<Entry k="cc" v="copias1@pruebas.com.gt;copias2@pruebas.com.gt"/>
<Entry k="bcc" v="oculto@pruebas.com.gt"/>
<Entry k="formats" v="xml pdf"/>
</Dictionary>
</Procesamiento>
<Encabezado>
<TipoActivo>FACE63</TipoActivo>
<CodigoDeMoneda>GTQ</CodigoDeMoneda>
<TipoDeCambio>1.0000</TipoDeCambio>
<InformacionDeRegimenIsr>PAGO_TRIMESTRAL</InformacionDeRegimenIsr>
</Encabezado>
<Vendedor>
<Nit>123456123456</Nit>
<Idioma>es</Idioma>
<CodigoDeEstablecimiento>1</CodigoDeEstablecimiento>
<DispositivoElectronico>001</DispositivoElectronico>
</Vendedor>
<Comprador>
<Nit>EXPORT</Nit>
<NombreComercial>Consumidor Final</NombreComercial>
<DireccionComercial>
<Direccion1>Ciudad</Direccion1>
<Municipio>Guatemala</Municipio>
<Departamento>Guatemala</Departamento>
<CodigoDePais>GT</CodigoDePais>
</DireccionComercial>
<Idioma>es</Idioma>
</Comprador>
<Detalles>
<Detalle>
<Descripcion>Calendario Carros Exoticos</Descripcion>
<CodigoEAN>00000000000000</CodigoEAN>
<UnidadDeMedida>UNI</UnidadDeMedida>
<Cantidad>1</Cantidad>
<ValorSinDR>
<Precio>0.8929</Precio>
<Monto>0.8929</Monto>
</ValorSinDR>
<DescuentosYRecargos>
<SumaDeDescuentos>0</SumaDeDescuentos>
<DescuentoORecargo>
<Operacion>DESCUENTO</Operacion>
<Servicio>ALLOWANCE_GLOBAL</Servicio>
<Base>0.8929</Base>
<Tasa>0</Tasa>
<Monto>0</Monto>
</DescuentoORecargo>
</DescuentosYRecargos>
<ValorConDR>
<Precio>0.8929</Precio>
<Monto>0.8929</Monto>
</ValorConDR>
<Impuestos>
<TotalDeImpuestos>0.8929</TotalDeImpuestos>
<IngresosNetosGravados>0</IngresosNetosGravados>
<TotalDeIVA>0.8929</TotalDeIVA>
11
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Desarrollo de XML NATIVO
<Impuesto>
<Tipo>IVA</Tipo>
<Base>0.8929</Base>
<Tasa>0</Tasa>
<Monto>0</Monto>
</Impuesto>
</Impuestos>
<Categoria>Bien</Categoria>
</Detalle>
</Detalles>
<Totales>
<SubTotalSinDR>0.8929</SubTotalSinDR>
<DescuentosYRecargos>
<SumaDeDescuentos>0</SumaDeDescuentos>
<DescuentoORecargo>
<Operacion>DESCUENTO</Operacion>
<Servicio>ALLOWANCE_GLOBAL</Servicio>
<Base>0.8929</Base>
<Tasa>0</Tasa>
<Monto>0</Monto>
</DescuentoORecargo>
</DescuentosYRecargos>
<SubTotalConDR>0.8929</SubTotalConDR>
<Impuestos>
<TotalDeImpuestos>0</TotalDeImpuestos>
<IngresosNetosGravados>4.4643</IngresosNetosGravados>
<TotalDeIVA>0</TotalDeIVA>
<Impuesto>
<Tipo>IVA</Tipo>
<Base>0.8929</Base>
<Tasa>0</Tasa>
<Monto>0</Monto>
</Impuesto>
</Impuestos>
<Total>1.00</Total>
<TotalLetras>UN QUETZALES CON 00/100</TotalLetras>
</Totales>
<TextosDePie>
<Texto>Este esta una prueba</Texto>
</TextosDePie>
</FactDocGT>
12
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Invocación de Web Service
WEB SERVICE
El web service es una herramienta que provee varios métodos, que permitirán al desarrollador del sistema del EFACE adaptar su
sistema de tal forma que permita al usuario final registrar un documento tributario electrónico de una forma fácil y rápida. Este
cuenta con un esquema definido y con una serie de parámetros que se deben cumplir para que la solicitud de cualquiera de las
transacciones devuelva los resultados esperados.
Esquema
El web service para su invocación cuenta con un esquema definido, el cual debe ser respetado para un resultado exitoso. El
esquema es el siguiente:
Parámetros
- Requestor
Es un dato tipo GUID que es proporcionado al EFACE al inicio de sus operaciones. Este es un dato cifrado que permite la
autenticación de la empresa para el proceso de su transacción.
- Country
Corresponde al país emisor del documento tributario, en el caso de Guatemala su valor es siempre GT.
- Entity
Corresponde al Número de Identificación Tributaria NIT del emisor del documento tributario.
- User
Igualmente corresponde a un tipo de dato GUID y está relacionado con la seguridad de la transacción así como procesos
de autenticación y autorización
- Username
Corresponde al usuario que está realizando la transacción. Este usuario debe ser un usuario registrado por el EFACE en
el sistema del GFACE.
Los parámetros Transaction, Data1, Data2 y Data3 dependen de la combinación de varios factores, los cuales irán siendo
explicados según el tipo de transacción a procesar y el método del web service que se está invocando.
13
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Invocación de Web Service
METODOS
Como se ha indicado, el web service cuenta con varios métodos, los cuales cada uno tiene una función específica y su
metodología de invocación difiere en cuando a los parámetros mencionados en el párrafo anterior.
Cada vez que se invoca un método, cualquiera que este sea el web service retorna una respuesta, esta respuesta está en
esquema XML, el cual contiene la información necesaria para poder interpretarla.
- CONVERT_NATIVE_XML
- GET_DOCUMENT
- LOOKUP_ISSUED_INTERNAL_ID
- CANCEL_XML
CONVERT_NATIVE_XML
Método que permite la conversión de un documento tributario a través del envío de un XML NATIVO en un comprobante fiscal
digital según especificaciones SAT. Este método debe ser invocado bajo la sintaxis del web service anteriormente explicada
y sus parámetros deben ir de la forma:
- Nodo DATA1: se adjunta el XML NATIVO formado para el documento tributario a firmar electrónicamente como una
cadena de caracteres.
- Nodo DATA2: se envía la solicitud de retorno del comprobante electrónico bajo cualquier combinación separada
únicamente por espacios en blanco entre ellas.
Ejemplo: PDF HTML XML
- Nodo DATA3: en este método su valor debe ser vacío.
Respuesta obtenida. La invocación de este método puede devolver dos posibles respuestas:
1. True. Indica que el proceso de la transacción validó toda la información y esta fue procesada correctamente generando
así un documento tributario electrónico, devolviendo el comprobante fiscal en formato XML y si fue solicitado cualquiera de
los otros dos formatos (PDF o HTML). El comprobante se retorna codificado en BASE64 en cualquiera de sus tres
formatos.
2. False. Indica que durante el proceso de validación de información de la transacción se detectó un error, retornando así la
descripción del error para que el documento pueda ser corregido y enviado nuevamente. El documento no es registrado.
14
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Invocación de Web Service
EFACE GFACE
INICIO
GENERA
XML NATIVO
RECIBE
CONSUME WEB SOLICITUD DE
SERVICE GFACE FIRMADO
ELECTRONICO
VALIDA
CREDENCIALES
EFACE
NO SI
NO
CORRIGE SI
ERROR
VALIDA NIT
EFACE
NO
SI
VALIDA
INFORMACION DE
RESOLUCION
NO
SI
MODELO EN MODELO
LINEA COPIA
VALIDA DATOS
COMPRADO Y
MONTOS
NO
RECIBE DOCUMENTO SI
GENERA
TRIBUTARIO
DOCUMENTO
ELECTRONICO
ELECTRONICO
15
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Invocación de Web Service
Ejemplo de solicitud de firmado basado en la sintaxis del web service.
Si el proceso de validación de información de la solicitud de firmado es exitosa, esta se recibirá de la siguiente forma:
<?xml version="1.0" encoding="utf-8"?>
<TransactionTag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Request>
<Requestor>15379e78-a244-4ba9-bc93-220c05078657</Requestor>
<RequestorName>GYT CONTINENTAL</RequestorName>
<RequestorActive>true</RequestorActive>
<Transaction>LOOKUP_ISSUED_INTERNAL_ID</Transaction>
<Country>GT</Country>
<Entity>123456123456</Entity>
<User>07a3da7e-d139-4f34-af63-c01f7d4d56fb</User>
<UserName>GT.123456123456.GFACE</UserName>
<Id>2b8b7400-b7d6-4e48-b22d-1cc5cd024ca5</Id>
<TimeStamp>2011-03-07T10:25:21.9221453-06:00</TimeStamp>
</Request>
<Response>
<Result>true</Result>
<TimeStamp>2011-03-07T10:25:22.2911453-06:00</TimeStamp>
<LastResult />
<Code>1</Code>
<Description />
<Hint />
<Data />
<Processor>MSDEV01</Processor>
</Response>
<ResponseData>
<ResponseData1>PERvY3NGb3VuZEJ5IGludGVybmFsSWQ9IjIiIGNvdW50PSIyIj4KPGRvYyBwb3M9IjEiPgo8Y3
RyeT5NWDwvY3RyeT4KPHRheElkPkFBQTAxMDEwMUFBQTwvdGF4SWQ+CjxicmFuY2g+RklTQ0FMRE9NPC
9icmFuY2g+CjxiYXRjaD5QUlVFQkE8L2JhdGNoPgo8c2VyaWFsPjIzPC9zZXJpYWw+Cjxpc3N1ZWQ+MjAxMC0x
Mi0yNFQwOTo0MTowMjwvaXNzdWVkPgo8Y2FuY2VsbGVkLz4KPGtpbmQ+TVhOPC9jdXJyZW5jeT4KPHRvdG
FsPjI1MTEuMDM3NTAwPC90b3RhbD4KPC9kb2M+CjwvRG9jc0ZvdW5kQnk+Cg==
</ResponseData1>
<ResponseData2/>
<ResponseData3 />
</ResponseData>
</TransactionTag>
En este caso el proceso de la información validada fue exitosa y podrán verificar que se obtuvo un resultado igual a true,
obteniendo además el DOCUMENTO TRIBUTARIO ELECTRONICO firmado electrónicamente, codificado en BASE64.
16
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Invocación de Web Service
Caso 2: Validación con error FALSE.
En el caso de que el proceso de validación de información encuentra un error el formato de respuesta es el siguiente:
17
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Invocación de Web Service
En cualquier invocación de métodos que no sea el de firmado electrónico el flujo de esta se puede validar bajo el siguiente
diagrama.
EFACE GFACE
INICIO
GENERA
SOLICITUD
VALIDA
CREDENCIALES
EFACE
NO SI
GENERA
RECIBE PROCESA
MENSAJE
RESPUESTA SOLICITUD
ERROR
ENVIA
RESPUESTA
18
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Invocación de Web Service
GET_DOCUMENT
Solicita un Documento Tributario Electrónico (DTE) registrado en e-Factura, el cual es devuelto si este es encontrado. De no existir
dicho documento se devuelve un mensaje de error. Los parámetros de búsqueda vienen dados de la siguiente manera:
** Si Data3 no contiene nada, no se devuelve nada pero siempre se obtendrá una respuesta con la información del DTE.
Respuesta obtenida:
Únicamente se devuelve lo solicitado, y viene codificado en BASE64, si se desea almacenar o imprimir dicho contenido deberá
convertirse de BASE64 a un arreglo de bytes y luego grabarse como archivo.
LOOKUP_ISSUED_INTERNAL_ID
Permite realizar la búsqueda de un documento tributario almacenado en la base de datos de e-FACTURA a través del identificador
único dado por el sistema emisor del mismo. Este identificador interno es empleado por muchos sistemas administrativos con el fin
de llevar un control de sus identificadores en el sistema de e-FACTURA y así poder verificar el registro de los mismos.
El escenario más común es cuando se realizado una operación de firmado (CONVERT_NATIVE_XML) y por alguna razón no se
recibe respuesta. En esos casos es recomendable antes de realizar el envío nuevamente, verificar a través de este identificador si
el documento ha sido registrado o no, dado que si el control del correlativo lo lleva e-FACTURA, los montos contables de su
emisión puede estarse duplicando, por esta razón es que es recomendable en caso de duda utilizar este método para una previa
verificación.
Parámetros de solicitud:
- Data1: numero interno
- Data2: Establecimiento (optativo)
- Data3: vacío
Respuesta obtenida:
- ResponseData1: cantidad de documentos encontrados basados en el numero interno enviado
- ResponseData2: XML codificado en BASE64 con el detalle de los documentos encontrados.
Este método puede en su proceso encontrar más de una coincidencia con el parámetro enviado, por lo que su respuesta puede
retornar varios valores. Debido a que puede contener más de una coincidencia, este no devuelve el documento tributario, en su
lugar devuelve el identificador único dato por el sistema de GFACE para cada documento y de esta forma buscar el documento
específicamente a través del método GET_DOCUMENT.
19
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Invocación de Web Service
<RequestorName>GYT CONTINENTAL</RequestorName>
<RequestorActive>true</RequestorActive>
<Transaction>LOOKUP_ISSUED_INTERNAL_ID</Transaction>
<Country>GT</Country>
<Entity>123456123456</Entity>
<User>07a3da7e-d139-4f34-af63-c01f7d4d56fb</User>
<UserName>GT.123456123456.GFACE</UserName>
<Id>2b8b7400-b7d6-4e48-b22d-1cc5cd024ca5</Id>
<TimeStamp>2011-03-07T10:25:21.9221453-06:00</TimeStamp>
</Request>
<Response>
<Result>true</Result>
<TimeStamp>2011-03-07T10:25:22.2911453-06:00</TimeStamp>
<LastResult />
<Code>1</Code>
<Description />
<Hint />
<Data />
<Processor>MSDEV01</Processor>
</Response>
<ResponseData>
<ResponseData1>2</ResponseData1>
<ResponseData2>PERvY3NGb3VuZEJ5IGludGVybmFsSWQ9IjIiIGNvdW50PSIyIj4KPGRvYyBwb3M9IjEiPgo8Y3
RyeT5NWDwvY3RyeT4KPHRheElkPkFBQTAxMDEwMUFBQTwvdGF4SWQ+CjxicmFuY2g+RklTQ0FMRE9NPC
9icmFuY2g+CjxiYXRjaD5QUlVFQkE8L2JhdGNoPgo8c2VyaWFsPjIzPC9zZXJpYWw+Cjxpc3N1ZWQ+MjAxMC0x
Mi0yNFQwOTo0MTowMjwvaXNzdWVkPgo8Y2FuY2VsbGVkLz4KPGtpbmQ+MTwva2luZD4KPGN1cnJlbmN5Pk
1YTjwvY3VycmVuY3k+Cjx0b3RhbD4xLjA0MDAwMDwvdG90YWw+CjwvZG9jPgo8ZG9jIHBvcz0iMiI+CjxjdHJ5P
k1YPC9jdHJ5Pgo8dGF4SWQ+QUFBMDEwMTAxQUFBPC90YXhJZD4KPGJyYW5jaD5GSVNDQUxET008L2JyY
W5jaD4KPGJhdGNoPlBSVUVCQTwvYmF0Y2g+CjxzZXJpYWw+MjI8L3NlcmlhbD4KPGlzc3VlZD4yMDEwLTEyL
TIzVDEyOjIwOjE5PC9pc3N1ZWQ+CjxjYW5jZWxsZWQ+MjAxMC0xMi0yOVQwMDowMDowMDwvY2FuY2VsbGV
kPgo8a2luZD4xPC9raW5kPgo8Y3VycmVuY3k+TVhOPC9jdXJyZW5jeT4KPHRvdGFsPjI1MTEuMDM3NTAwPC9
0b3RhbD4KPC9kb2M+CjwvRG9jc0ZvdW5kQnk+Cg==<
/ResponseData2>
<ResponseData3 />
</ResponseData>
</TransactionTag>
Y ResponseData2 contiene el listado de los documentos que coinciden con el parámetro de búsqueda, esto codificado en base 64.
<doc pos="2">
<ctry>MX</ctry>
<taxId>AAA010101AAA</taxId>
<uuid>2b8b7400-b7d6-4e48-b22d-1cc5cd024ED3</uuid> /iDENTIFICADOR UNICO DEL DOCUMENTO
<branch>FISCALDOM</branch>
<batch>PRUEBA</batch>
<serial>22</serial>
<issued>2010-12-23T12:20:19</issued>
20
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Invocación de Web Service
<cancelled>2010-12-29T00:00:00</cancelled>
<kind>1</kind>
<currency>MXN</currency>
<total>2511.037500</total>
</doc>
</DocsFoundBy>
CANCEL_XML
Parámetros de solicitud:
- Data1: Identificador Único del documento y el motivo de anulación, ambos datos separados por el carácter PIPE (|).
- Data2: se envía la solicitud de retorno del comprobante, en cualquier combinación separada por espacio en blanco
únicamente, ejemplo PDF HTML PDF.
- Data3: Numero de autorización (resolución) del documento tributario a ANULAR
Ejemplo:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RequestTransaction xmlns="http://www.fact.com.mx/schema/ws">
<Requestor>12511111-3411-1111-1111-111111321511</Requestor>
<Transaction>CANCEL_XML</Transaction>
<Country>GT</Country>
<Entity>123456123456</Entity>
<User>12511111-3411-1111-1111-111111321511</User>
<UserName>GT.123456123456.GFACE</UserName>
<Data1>FACE-63-E-63-001-140000000024 | Causa de la anulación </Data1>
<Data2>XML</Data2>
<Data3>2014-729-948-771-63</Data3>
</RequestTransaction>
</soap:Body>
</soap:Envelope>
Respuesta obtenida:
21
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Invocación de Web Service
</Request>
<Response>
<Identifier>
<Country>GT</Country>
<Entity>123456123456</Entity>
<FiscalName>ESPAÑA,,,CYNTHIA,EMILENY</FiscalName>
<AYear>2013</AYear>
<ANumber>2014-729-948-771-1</ANumber>
<Batch>CFACE-1-C-1</Batch>
<Serial>001</Serial>
<DocumentGUID>d1218d76-203c-485c-827a-c559528aafc1</DocumentGUID>
<IssuedTimeStamp>2014-09-18T16:48:31</IssuedTimeStamp>
<InternalID/>
<ReceiverCountry>GT</ReceiverCountry>
<ReceiverEntity>27242560</ReceiverEntity>
<ReceiverTaxID/>
<ReceiverName>ESPAÑA,,,CYNTHIA,EMILENY</ReceiverName>
<ClaveAgente/>
<NumeroDePoliza/>
<Currency>GTQ</Currency>
<TotalAmount>14280.49996</TotalAmount>
<Type1>INVOICE</Type1>
<Type2>CFACE-1</Type2>
<SuggestedFileName>123456123456_CFACE_CFACE1_0000002020</SuggestedFileName>
<SuggestedFileName2/>
</Identifier>
<Result>true</Result>
<TimeStamp>2014-09-24T16:16:17.3897306-06:00</TimeStamp>
<LastResult/>
<Code>1</Code>
<Description/>
<Hint/>
<Data>409241616181242</Data>
<Processor>SERVIDOR PRUEBAS</Processor>
</Response>
<ResponseData>
<ResponseData1>DOCUMENTO XML ANULADO EN BASE64</ResponseData1>
<ResponseData2/>
<ResponseData3/>
</ResponseData>
</RequestTransactionResult>
</RequestTransactionResponse>
</soap:Body>
</soap:Envelope>
SI el resultado de la respuesta = “true”, el documento fue ANULADO, si el response es “false” la ANULACION no se procesó.
22
Documento técnico para el Registro de Documentos Tributarios Electrónicos
Catálogo de Tipos Activos (Sufijos SAT)
DESCRIPCIÓN SUFIJO
Copia de Facturas CFACE-1
Copia de Notas De Débito CNDE-4
Copia de Notas De Crédito CNCE-5
Copia de Factura Especial CFACE-6
Copia de Facturas Cambiarias CFACE-8
Copia de Factura Por Máquina Registradora Mecanizada CFACE-30
Copia de Factura Por Máquina Registradora Computarizada CFACE-32
Copia de Factura Por Sistema Computarizado Integrado De Contabilidad CFACE-37
Copia de Factura Cambiaria Por Sistema Computarizado Integrado De Contabilidad CFACE-38
Copia de Nota De Débito Por Sistema Computarizado Integrado De Contabilidad CNDE-39
Copia de Nota De Crédito Por Sistema Computarizado Integrado De Contabilidad CNCE-40
Copia de Factura Por Sistema Computarizado Como Máquina Registradora CFACE-53
Copia de Nota De Débito Por Sistema Computarizado Como Máquina Registradora CNDE-55
Copia de Nota De Crédito Por Sistema Computarizado Como Máquina Registradora CNCE-56
Copia de Factura Cambiaria Por Sistema Computarizado Como Máquina Registradora CFACE-57
Copia de Recibos Para Uso De ONG ‘s CRED-59
Copia de Factura Pre-impresa Para Espectáculos Públicos CFACE-60
Copia de Notas De Abono CNCE-61
Copia de Factura Comercial Usuario Zona Franca CFACE-62
DESCRIPCIÓN SUFIJO
Factura Electrónica FACE-63
Nota De Crédito Electrónica NCE-64
Nota De Débito Electrónica NDE-65
Factura Cambiaria Electrónica FACE-66
Factura Comercial Usuario Zona Franca Electrónica FACE-67
Factura Comercial Usuario Zona Franca Sistema Computarizado CFACE-68
Factura Comercial Usuario Zona Franca Sistema Computarizado Como Maquina Registradora CFACE-69
Recibos Para Uso De Partidos Políticos CRED-70
Nota De Abono Electrónica NCE-71
Factura Comercial de Exportación Electrónica FACE-72
Recibo Electrónico de Donaciones RED-73
Factura Especial Electrónica FACE-74
23