Está en la página 1de 19

GUÍA TÉCNICA CONEXIÓN

WEB SERVICE | VB .NET

https://www.ingface.net/ingface
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

Contenido

1. OBJETIVO .............................................................................................................................................................. 3
2. DOCUMENTOS DE REFERENCIA ............................................................................................................................ 3
3. ESTRUCTURA DEL MANUAL .................................................................................................................................. 3
4. DESARROLLO......................................................................................................................................................... 4
4.1. Requerimientos ............................................................................................................................................ 4
4.2. Validar Acceso a Web Service....................................................................................................................... 4
4.3. Realizando la Referencia Web Desde Visual Studio 2010 versión ............................................................... 5
5. CODIGO................................................................................................................................................................. 7
5.1. Creación de Objetos ................................................................................................................................. 7
5.2. Asignación de Parámetros | Cabecera del Documento ........................................................................... 7
5.3. Asignación de Parámetros | Detalle del Documento ............................................................................... 9
5.4. Re dimensión Vector Detalle y Agregar Detalle a la Cabecera (DTE) ..................................................... 10
5.5. Registro del DTE...................................................................................................................................... 10
6. DESCRIPCIÓN CAMPOS ESTRUCTURA DTE (CABECERA) ..................................................................................... 11
7. DESCRIPCIÓN CAMPOS ESTRUCTURA DETA (DETALLE)...................................................................................... 15
8. NOTAS IMPORTANTES ........................................................................................................................................ 17
9. REGLAS BASICAS PARA ENVIO DE VALORES ....................................................................................................... 18

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 2 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

1. OBJETIVO

Proporcionar los lineamientos acerca de la estructura, descripción y formato de los campos obligatorios y
necesarios para la implementación de la factura electrónica utilizando las ventajas del Web Service como forma
de comunicación

2. DOCUMENTOS DE REFERENCIA

 M-GF-01-D-03 Catálogo de tipos de documentos tributarios


 M-GF-01-D-25 Catalogo Unidades Medida
 M-GF-01-D-02 Guía del Portal Web INFILE
 M-GF-01-D-05 Guía para cálculo del IVA
 M-GF-01-D-04 Guía de algoritmo de verificación NIT (JAVA)
 M-GF-01-D-01 Guía de Implementación Factura Electrónica

3. ESTRUCTURA DEL MANUAL

Nombre del campo según el Web Service.

Título del Campo

codigoEstablecimiento Código de establecimiento al cual está autorizada la serie que se envía en el


CÓDIGO ESTABLECIMIENTO campo serie. El código de establecimiento lo puede averiguar en el RTU. *
Tipo de Dato Consultar con su departamento contable para más detalles.

Tipo de dato, cuando son de tipo String Definición o concepto de cada


muestra la palabra Max., que hace uno de los campos obligatorios
referencia la cantidad máxima de datos para la emisión o resguardo de
aceptados. Cuando son de tipo numérico los DTE.
figura de la siguiente forma (12,5). La
primera posición hace referencia a los
enteros y la segunda a los decimales.

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 3 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

4. DESARROLLO

4.1. REQUERIMIENTOS

- Tener libre acceso a la siguiente URL:

https://www.ingface.net/listener/ingface?wsdl

Figura 1

NOTAS:

 Cada una de las maquinas desde donde se realice el consumo, tiene que tener libre acceso a la URL de
nuestro Servicio Web

 En este manual se proporciona el código fuente completo para el consumo del Web Service.

4.2. VALIDAR ACCESO A WEB SERVICE

Para saber si tienes acceso libre a nuestro servicio, en cualquier


navegador copia la URL descrita en la sección de
Requerimientos. Mostrará lo siguiente:

Figura 2

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 4 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

NOTA:

Si no muestra el XML descrito, es posible que exista un Firewall o Proxy que bloquee el acceso. Debe asesorarse
con su administrador de redes.

4.3. REALIZANDO LA REFERENCIA WEB DESDE VISUAL STUDIO 2010 VERSIÓN


 Crear un nuevo proyecto de tipo Windows Forms Application con el nombre de
TestFacturaElectronica.

 Agregar al formulario dos TextBox y un botón con el nombre por default, si desea puede cambiar el
texto del botón a: Generar DTE.

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 5 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

 Click en el menú Project y luego elegir la opción Add Service Reference.

 En el apartado Address Ingresar la URL de nuestro servicio web:


https://www.ingface.net/listener/ingface?wsdl digitar: ingface como namespace y luego click en OK.

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 6 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

Una vez completados estos pasos podrá iniciar a elaborar el código de consumo.

5. CODIGO

5.1. CREACIÓN DE OBJETOS

A partir de la referencia web, se deben crear los cinco objetos necesarios para envió y firma de los documentos:

Dim dte As New infile.dte


Dim deta As New infile.detalleDte
Dim registro As New infile.requestDte
Dim resultado As New infile.responseDte
Dim ws As New infile.ingfaceClient

5.2. ASIGNACIÓN DE PARÁMETROS | CABECERA DEL DOCUMENTO

 Datos de Establecimientos Series y Dispositivos

dte.codigoEstablecimiento = "1"
dte.idDispositivo = "001"
dte.serieAutorizada = "NADIR"
dte.numeroResolucion = "123456789"
dte.fechaResolucion = Convert.ToDateTime("15/02/2013")
dte.fechaResolucionSpecified = True
dte.tipoDocumento = "FACE"
dte.serieDocumento = "63"
dte.nitGFACE = "12521337"

 Datos de la Factura y el Comprador

dte.numeroDocumento = "abc123"
dte.fechaDocumento = Convert.ToDateTime(Now.Date)
dte.fechaDocumentoSpecified = True
dte.fechaAnulacion = Convert.ToDateTime(Now.Date)
dte.fechaAnulacionSpecified = True
dte.estadoDocumento = "ACTIVO"
dte.codigoMoneda = "GTQ"
dte.tipoCambio = Convert.ToDouble(1.0)
dte.tipoCambioSpecified = True
dte.nitComprador = "C/F"
dte.nombreComercialComprador = "Consumidor Final"
dte.direccionComercialComprador = "Ciudad de Guatemala"

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 7 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

dte.telefonoComprador = "22082208"
dte.correoComprador = "N/A"
dte.regimen2989 = False;
dte.municipioComprador = "GUATEMALA"
dte.departamentoComprador = "GUATEMALA"

 Valores o Montos

dte.importeBruto = Convert.ToDouble(400.0)
dte.importeBrutoSpecified = True
dte.detalleImpuestosIva = Convert.ToDouble(48.0)
dte.detalleImpuestosIvaSpecified = True
dte.importeNetoGravado = Convert.ToDouble(448.0)
dte.importeNetoGravadoSpecified = True
dte.importeDescuento = Convert.ToDouble(0.0)
dte.importeDescuentoSpecified = True
dte.importeTotalExento = Convert.ToDouble(0.0)
dte.importeTotalExentoSpecified = True
dte.importeOtrosImpuestos = Convert.ToDouble(0.0)
dte.importeOtrosImpuestosSpecified = True
dte.montoTotalOperacion = Convert.ToDouble(448.0)
dte.descripcionOtroImpuesto = "N/A"

 Datos del Vendedor

dte.nitVendedor = "12521337"
dte.nombreComercialRazonSocialVendedor = "DEMO, S.A."
dte.nombreCompletoVendedor = "DEMO, S.A."
dte.direccionComercialVendedor = "CIUDAD DE GUATEMALA"
dte.municipioVendedor = "GUATEMALA"
dte.departamentoVendedor = "GUATEMALA"
dte.observaciones = "N/A"
dte.regimenISR = "RET_DEFINITIVA"

 Campos personalizados

dte.personalizado_01 = "N/A"
dte.personalizado_02 = "N/A"
dte.personalizado_03 = "N/A"
dte.personalizado_04 = "N/A"

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 8 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

dte.personalizado_05 = "N/A"
dte.personalizado_06 = "N/A"
dte.personalizado_07 = "N/A"
dte.personalizado_08 = "N/A"
dte.personalizado_09 = "N/A"
dte.personalizado_10 = "N/A"
dte.personalizado_11 = "N/A"
dte.personalizado_12 = "N/A"
dte.personalizado_13 = "N/A"
dte.personalizado_14 = "N/A"
dte.personalizado_15 = "N/A"
dte.personalizado_16 = "N/A"
dte.personalizado_17 = "N/A"
dte.personalizado_18 = "N/A"
dte.personalizado_19 = "N/A"
dte.personalizado_20 = "N/A"

5.3. ASIGNACIÓN DE PARÁMETROS | DETALLE DEL DOCUMENTO

 Campos obligatorios

deta.cantidad = 2.0
deta.cantidadSpecified = True
deta.codigoProducto = "178-ST"
deta.descripcionProducto = "Producto 1”
deta.precioUnitario = Convert.ToDouble(224.0)
deta.precioUnitarioSpecified = True
deta.montoBruto = Convert.ToDouble(400.0)
deta.montoBrutoSpecified = true
deta.detalleImpuestosIva = Convert.ToDouble(48.0)
deta.detalleImpuestosIvaSpecified = True
deta.importeNetoGravado = Convert.ToDouble(448.0)
deta.importeNetoGravadoSpecified = True
deta.montoDescuento = Convert.ToDouble(0.0)
deta.montoDescuentoSpecified = True
deta.importeExento = Convert.ToDouble(0.0)
deta.importeExentoSpecified = True
deta.importeOtrosImpuestos = Convert.ToDouble(0.0)
deta.importeOtrosImpuestosSpecified = True
deta.importeTotalOperacion = Convert.ToDouble(448.0)
deta.importeTotalOperacionSpecified = True
deta.unidadMedida = "UND"
deta.tipoProducto = "B"

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 9 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

 Campos personalizados

deta.personalizado_01 = "N/A"
deta.personalizado_02 = "N/A"
deta.personalizado_03 = "N/A"
deta.personalizado_04 = "N/A"
deta.personalizado_05 = "N/A"
deta.personalizado_06 = "N/A"

5.4. RE DIMENSIÓN VECTOR DETALLE Y AGREGAR DETALLE A LA CABECERA (DTE)

ReDim dte.detalleDte(0)
dte.detalleDte(0) = deta

5.5. REGISTRO DEL DTE

registro.dte = dte
registro.usuario = "DEMO"
registro.clave = "B2FDC80789AFAF22C372965901B16DF533A4FCB19FD9F2FD5CBDA554032983B0"
System.Net.ServicePointManager.Expect100Continue = False
resultado = ws.registrarDte(registro)

 Comprobar resultado

If (resultado.valido) Then

TextBox1.Text = resultado.numeroDte
TextBox2.Text = resultado.cae

Else

MsgBox(resultado.descripcion)

End If

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 10 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

6. DESCRIPCIÓN CAMPOS ESTRUCTURA DTE (CABECERA)

codigoEstablecimiento Código asignado al establecimiento comercial registrado en SAT


CÓDIGO ESTABLECIMIENTO El código de establecimiento lo puede verificar en el RTU.
Tipo: String | Max. 4 * Consultar con su departamento contable para más detalles.

idDispositivo Código asignado al dispositivo (Caja Registradora, impresora o computadora)


desde la cual se genera o emite el documento. Para documentos en copia o
DISPOSITIVO resguardo electrónico enviar un dispositivo código 0 y para documentos
Tipo: String | Max. 3 electrónicos, enviar un dispositivo entre en rango del 001 al 999.

serieAutorizada Nombre de la serie autorizada para la emisión de documentos. Tal y como


SERIE figura en la hoja de autorización de SAT
Tipo: String | Max. 50 * Consultar con su departamento de contabilidad para más detalles.

numeroResolucion Numero de resolución asignado por SAT para la serie autorizada que se
NUMERO RESOLUCION SAT envía en el campo Serie, según la hoja de autorización de SAT. * El número
debe enviarse sin guiones Ej. 2012568120
Tipo: String | Max. 100 * Consultar con su departamento de contabilidad para más detalles.

fechaResolucion Fecha de autorización de la serie que se envía en el campo Serie. Se envía


en el formato día mes año usando la diagonal como separador Ej.
FECHA DE RESOLUCION
01/12/2015
Tipo: Date *Consultar con su departamento de contabilidad para más detalles.

tipoDocumento Solo acepta las siglas siguientes: CFACE = Copia de factura


Electrónica, CNCE = Copia de Nota de Crédito Electrónica, CNDE =
TIPO DE DOCUMENTO
Copia de Nota de Débito Electrónica, FACE = Factura Electrónica, NCE =
Tipo: String | Max 4 Nota de Crédito Electrónica, NDE = Copia de Nota de Debido Electrónica.

serieDocumento Código SAT o prefijo del documento de acuerdo al catálogo de Tipos de


CODIGO SAT o PREFIJO documento según SAT.
Tipo: String | Max. 3 * Consultar Catalogo de Tipos de Documentos Según SAT.

numeroDocumento Para copia de factura (Resguardo electrónico) enviar el número de


correlativo de acuerdo a la factura física en papel.
NUMERO DE DOCUMENTO / ID Para factura electrónica pura enviar obligatoriamente un
Tipo: String | Max 25 Identificador único por documento
**Leer Notas importantes al final de este Manual

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 11 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

fechaDocumento
Fecha del documento en el formato día mes año, usando la diagonal como
FECHA DEL DOCUMENTO
separador Ej. 01/12/2015
Tipo: Date

fechaAnulacion Fecha de anulación en el formato día mes año usando la diagonal como
separador Ej. 01/12/2015 En este campo siempre enviar la misma fecha que
FECHA DE ANULACION en el campo Fecha del documento. No se tomara en cuenta para las facturas
Tipo: Date con estatus ACTIVO.

estadoDocumento
ESTADO DOCUMENTO Únicamente acepta dos estados: ACTIVO o ANULADO
Tipo: String | Max. 7

codigoMoneda El código ISO para las monedas, las dos primeras letras representan al País y
CODIGO MONEDA la tercera corresponde a la divisa
Tipo: String | Max. 3 QUETZALES = GTQ DOLARES = USD

tipoCambio Valor de la tasa de cambio del día. Máximo 5 decimales para la precisión.
TIPO DE CAMBIO Cuando el documento es en moneda local, (Quetzal GTQ), obligatoriamente
Tipo Numérico (12,5) se debe enviar 1.00

nitComprador Únicamente se acepta un NIT valido en Guatemala, si es consumidor final


NIT COMPRADOR estrictamente debe enviar C/F.
Los números de NIT del extranjero se envían en campos personalizados. El
Tipo: String | Max. 20 número de NIT se envía sin guiones.

nombreComercialComprador
Nombre del cliente. Si en el campo NIT envían C/F, en este campo debe
NOMBRE COMPRADOR
enviar Consumidor Final.
Tipo: String | Max. 100

direccionComercialComprador
DIRECCION COMPRADOR Si no cuenta con el dato, enviar N/A
Tipo: String | Max. 50

telefonoComprador
TELEFONO COMPRADOR Si no cuenta con el dato, enviar N/A
Tipo: String | Max. 50

correoComprador
CORREO COMPRADOR Si no cuenta con el dato, enviar N/A
Tipo: String | Max. 100

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 12 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

regimen2989 Solo acepta dos valores:


REGIMEN 2989 1 = Cuando el comprador es exento de IVA
Tipo: Boolean 0 = Cuando el comprador es afecto a IVA.

municipioComprador
MUNICIPIO COMPRADOR Si no cuenta con el dato, enviar N/A
Tipo: String | Max. 100

departamentoComprador
DEPARTAMENTO COMPRADOR Si no cuenta con el dato, enviar N/A
Tipo: String | Max. 100

importeBruto
Importe base del documento, este valor se envía sin el valor del IVA.
IMPORTE BRUTO
*Importe Bruto = (Importe Neto / 1.12) Máximo 5 decimales.
Tipo Numérico (12,5)

detalleImpuestosIva Valor total de IVA del documento, Este se debe calcular a partir del importe
TOTAL IVA neto gravado.
IVA = (Importe Bruto * 0.12). Máximo 5 Decimales.
Tipo Numérico (12,5) * No se debe calcular a partir del valor total del documento.

importeNetoGravado Valor NETO del documento. Este valor únicamente incluye IVA.
IMPORTE NETO GRAVADO Importe Neto Gravado = (Monto total – Otros Impuestos).
Tipo Numérico (12,5) * No incluye otros impuestos.

importeDescuento Valor total de descuentos aplicados en el documento.


TOTAL DESCUENTO Enviar 0.00 en caso de no haber descuento.
Tipo Numérico (12,5) Pueden usar hasta un máximo de 5 decimales.

importeTotalExento Valor total exento facturado del documento.


TOTAL EXENTO Enviar 0.00 en caso de no existir ningún valor exento de IVA.
Tipo Numérico (12,5) Pueden usar hasta un máximo de 5 decimales.

importeOtrosImpuestos Valor total de otros impuestos del documento, adicional al valor del IVA,
MONTO OTROS IMPUESTOS excepto el ISR. En caso de no estar afecto a ningún otro impuesto deben
enviar 0.00. Un ejemplo de otro impuesto es: Timbre de Prensa, IDP,
Tipo Numérico (12,5) INGUAT, entre otros.

montoTotalOperacion Valor total a pagar del documento.


MONTO TOTAL Este valor incluye IVA e incluye Otros Impuestos cuando aplique.

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 13 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

Tipo Numérico (12,5) Asimismo se debe enviar con el Descuento ya aplicado.

descripcionOtroImpuesto
Descripción de los impuestos enviados en campo otros impuestos. Ejemplo:
DESC. OTROS IMPUESTOS
Impuesto de Bomberos, Timbre de Prensa, INGUAT, entre otros.
Tipo: String | Max. 100

observaciones Alguna observación adicional que se desee agregar al documento. Para las
OBSERVACIONES notas de crédito / debido, este campo se puede utilizar para enviar el
Tipo: String | Max. 2000 concepto por el cual se están emitiendo.

nitVendedor
NIT VENDEDOR Numero de NIT del EFACE. Se envía sin guiones.
Tipo: String | Max. 20

NombreComercialRazonSocialVen
dedor
Nombre comercial del EFACE.
NOMBRE COMERCIAL VENDEDOR
Tipo: String | Max. 500

nombreCompletoVendedor
RAZON SOCIAL VENDEDOR Nombre completo o Razón social del EFACE.
Tipo: String | Max. 500

direccionComercialVendedor
DIRECCION VENDEDOR Domicilio o Dirección Fiscal del EFACE
Tipo: String | Max. 500

municipioVendedor
MUNICIPIO VENDEDOR Siempre debe especificar este dato.
Tipo: String | Max. 100

departamentoVendedor
DEPARTAMENTO VENDEDOR Siempre debe especificar este dato.
Tipo: String | Max. 100

regimenISR Solo Acepta dos valores RET_DEFINITIVA o NO_RET_DEFINITIVA


RETENCION ISR dependiendo si se hace o no retención.
Tipo: String | Max. 20 Consultar con su departamento de contabilidad para más detalles.

nitGface
El número de NIT de INFILE S.A. 12521337 ( Sin guiones )
NIT GFACE

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 14 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

Tipo: String | Max. 20

NOTA:

En la estructura de la cabecera (dte) existen 20 campos personalizados en los cuales puede enviar cualquier
dato adicional que necesite guardar y reflejar en la representación gráfica del documento. Es decir cualquier dato
que no esté dentro de la estructura obligatoria. Por ejemplo: Código de vendedor, hora de facturación,
bodega, Forma de Pago, Subtotales, CIF, CIP, FOB, ISR, FLETE, entre otros.

El código es el siguiente:

dte.personalizado_XX = "N/A"

* En donde XX representa al dígito del 01 al 20 de cada campo personalizado.

7. DESCRIPCIÓN CAMPOS ESTRUCTURA DETA (DETALLE)

cantidad
CANTIDAD Cantidad de productos o servicios facturados. Puede utilizar decimales.
Tipo Numérico (10,5)

codigoProducto
Código con el que se identifica los productos o servicios facturados. Si no
CODIGO DEL PRODUCTO
utiliza código, enviar N/A.
Tipo: String | Max. 500

descripcionProducto
DESCRIPCION PRODUCTO Descripción del Bien o Servicio facturado.
Tipo: String | Max. 3000

precioUnitario
Precio de cada producto o servicio. Este valor siempre incluye IVA.
PRECIO UNITARIO
*No se debe aplicar descuento.
Tipo Numérico (12,5)

montoBruto
Importe base por línea de detalle, este valor se envía sin el valor del IVA.
IMPORTE BRUTO
Importe Bruto = (Importe Neto / 1.12) Máximo 5 decimales.
Tipo Numérico (12,5)

detalleImpuestosIva Valor total de IVA por línea de detalle, Este se debe calcular a partir del
VALOR DE IVA importe neto gravado. IVA = (Importe Bruto *0.12). Máximo 5 Decimales.
Tipo Numérico (12,5) * No se debe calcular a partir del valor total de la línea del detalle.

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 15 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

importeNetoGravado Valor NETO por línea de detalle. Este valor únicamente incluye IVA.
IMPORTE NETO Importe Neto Gravado = (Monto total – Otros Impuestos).
Tipo Numérico (12,5) * No incluye otros impuestos.

montoDescuento
Valor de descuento por línea de detalle.
IMPORTE DE DESCUENTO
Enviar 0.00 en caso de no existir ningún descuento.
Tipo Numérico (12,5)

importeExento Valor total exento por línea de detalle.


IMPORTE EXENTO Enviar 0.00 en caso de no existir ningún valor exento de IVA.
Tipo Numérico (12,5) Pueden usar hasta un máximo de 5 decimales.

otrosImpuestos Valor total de otros impuestos adicionales al valor del IVA, excepto el ISR.
OTROS IMPUESTOS En caso de no estar afecto a ningún otro impuesto deben enviar 0.00. Un
Tipo Numérico (12,5) ejemplo de otro impuesto es: el Timbre de Prensa, IDP, INGUAT, entre otros.

importeTotalOperacion
Valor Total del bien o servicio por línea de detalle. Este valor incluye IVA e
MONTO TOTAL
incluye Otros Impuestos si fuera el caso.
Tipo Numérico (12,5)

unidadMedida
Se deben utilizar códigos de 3 caracteres.
UNIDAD DE MEDIDA
Consultar el catálogo de unidades de medida permitidas.
Tipo: String | Max. 3

tipoProducto
Solo acepta las letras B o S
TIPO DE SERVICIO
B = Bien S = Servicio
Tipo: Char | Max. 1

NOTA:

En la estructura detalle (deta) existen 6 campos personalizados en los cuales puede enviar cualquier dato
adicional que necesite guardar y reflejar en la representación gráfica del documento. Es decir cualquier dato que
no esté dentro de la estructura obligatoria. Por ejemplo: valores sin el descuento aplicado (subtotales),
código de pieza, tamaño, peso, entre otros.

El código es el siguiente:

deta.personalizado_XX = "N/A"

* En donde XX representa al dígito del 01 al 06 de cada campo personalizado.

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 16 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

8. NOTAS IMPORTANTES

1. Si trabaja con documentos electrónicos puros, el identificador único debe ser como la huella digital del
documento, no se debe repetir en ningún documento, serie, o establecimiento. Cada documento a
certificar se debe enviar con su respectivo identificador el cual no deberá cambiar por cada intento de
firma.

2. La estructura de las notas de crédito y débito es la misma.

3. Todos los documentos deben tener al menos una línea de detalle.

4. Para los documentos ANULADOS, también debe enviar al menos un detalle. En todos los campos
alfanuméricos deben enviar N/A y en todos los de tipo numero enviar 0.00. A excepción del campo
Unidad de Medida en el que deben respetar los valores aceptados, y B o S para el campo TIPO.

5. Los datos se reflejan tal cual son enviados, el GFACE no realiza cambios o cálculo de importes o datos al
momento de su registro.

6. No se realiza comprobación en cuanto a que la suma de los detalles cuadre contra el total de la factura.
Es responsabilidad total del EFACE enviar los valores correctamente calculados y validados.

7. Cuando se emiten documentos en dólares, en el campo del tipo de moneda se debe especificar el código
ISO para la moneda dólar como: USD sin embargo todos los valores deben ir en su equivalente a
quetzales, de acuerdo al tipo de cambio especificado.
SAT requiere que se almacene la información en la moneda que es declarada por el EFACE.

8. Todos los campos son obligatorios, no es posible dejar alguno en blanco. Si no cuenta con el dato y el
campo es de tipo alfanumérico puede enviar N/A, si es de tipo numérico debe enviar 0.00.

9. Cuando los documentos apliquen algún descuento, todos los valores enviados en la estructura de la
cabecera y detalle (Monto bruto, IVA, neto, exento, total) se envían restando el valor del descuento, por
ningún motivo se deben enviar sin, esto es porque SAT únicamente requiere que se le envíen los montos
y el respectivo IVA, de lo que se recibió de parte del cliente final.

10. El valor de descuento es obligatorio tanto a nivel de cabecera y detalle (Cuando aplique) y únicamente es
de referencia.

11. No existe ningún campo SUBTOTAL (Total antes de) en la estructura obligatoria requerida por SAT. Si por
razones administrativas desea visualizar las facturas con un Subtotal, descuento y total, es entonces
donde deberá usar los campos personalizados para enviar únicamente el valor SUBTOTAL. El valor de
descuento y el total si los deberá enviar en los campos específicos de la estructura normal.

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 17 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

9. REGLAS BASICAS PARA ENVIO DE VALORES

- Monto Total: = Total de la factura. (Incluye IVA y Otros - Monto Total: = Total de la factura.
Impuestos).
- Monto Neto: = 0.00
- Monto Neto: = Total de la factura (Monto Total – Otros
Impuestos) - Monto Bruto: = Total de la factura.

- Monto Bruto: = Base (Importe Neto / 1.12). - Monto Exento: = Total de la factura.
- Monto Exento: = 0.00.
- Tipo de Cambio = Max 5 Decimales.
- Tipo de Cambio: = Para Quetzales enviar 1.00. Para .dólares,
enviar el respectivo tipo de cambio. - IVA: = 0.00

- IVA: = Valor del Impuesto (Importe Bruto * 0.12)

DOCUMENTOS AFECTOS A IVA. DOCUMENTOS EXENTOS DE IVA.


- Quetzales | Dólares - Exportación -

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 18 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución
M-GF-01-D-07
GUÍA TÉCNICA DE CONEXIÓN WEB SERVICE VB .NET
V 03 | 01-07-2018

Cualquier error a la hora de realizar el consumo y/o certificación de documentos, tomar una captura de pantalla y
enviarla por correo a: soporte@infile.com.gt o sac@infile.com.gt

La información contenida en este documento es proporcionada con el único objetivo de brindar una guía práctica para el proceso de implementación de 19 | 19
Factura Electrónica de INFILE, S. A. Su uso es exclusivo del destinatario, quedando prohibida su divulgación, reproducción o distribución

También podría gustarte