Ir al contenido
Logotipo de mrdc.tech
mrdc.tech
Guatemalan based, for all the world

Manual de usuario · Facturación electrónica

Facturación Electrónica en Línea (FEL) de Guatemala en Odoo 17

Configuración del certificador, emisión de todos los tipos de DTE, validación de NIT y DPI, anulaciones ante la SAT, contingencia y facturación electrónica en el punto de venta.

Versión Odoo: 17.0 Módulos: multicert_felgt · pos_multicert_felgt Complementario: nit_dpi_multicert_verification Certificadores: INFILE · Guatefacturas · G4S · Megaprint · Digifact Autor: Rodrigo Contreras — mrdc.tech

1.Cómo usar este manual

Qué cubre, para quién está escrito y de dónde salieron las pantallas que ilustran cada paso.

Este manual explica cómo emitir facturación electrónica en línea (FEL) de Guatemala desde Odoo 17: cómo se configura el certificador, cómo se emite cada tipo de documento tributario electrónico, qué hacer cuando la SAT rechaza un documento, cómo se anula y cómo funciona todo esto dentro del punto de venta.

Cubre dos módulos principales y uno complementario:

multicert_felgt

El motor de la FEL. Arma el XML del DTE, lo envía al certificador, guarda el número de autorización y controla anulaciones, contingencia, reintentos y el resguardo de los DTE que no alcanzaron a guardarse.

pos_multicert_felgt

Lleva la FEL al punto de venta: certifica al cobrar, imprime el ticket con el número de autorización y el código QR, y permite anular y devolver desde la caja.

nit_dpi_multicert_verification (complementario)

Consulta el NIT o el DPI contra el servicio del certificador y trae el nombre real del contribuyente antes de facturarle.

Está pensado para tres perfiles:

  • El cajero o facturador — capítulos 14 a 18 y 22 a 26: emitir, anular y devolver.
  • El contador — capítulos 19 a 21 y 27: anulaciones, errores de la SAT, contingencia y monitoreo de los documentos certificados.
  • Quien implementa — capítulos 4 a 13: la lista completa de configuración, campo por campo, con las reglas que la SAT valida en cada uno.

1.1 Convenciones

ElementoSignificado
Contabilidad › Configuración › Diarios Ruta de menú. Cada › es un clic más adentro.
fel_gt_uuid Nombre técnico de un campo. Sirve para buscarlo en filtros, importaciones o soporte.
Certificada Estado que se ve en pantalla, tal como lo muestra Odoo.
DTE Documento Tributario Electrónico: la factura, nota o recibo ya certificado por la SAT.
«- FEL GT» En Odoo 17 muchas etiquetas de la compañía y del diario terminan en «- FEL GT» (por ejemplo Código Establecimiento - FEL GT). En el texto se omite ese sufijo.
Sobre las capturas

Todas las pantallas son reales, tomadas de un Odoo 17 con una base de datos de demostración de la empresa ficticia Distribuidora El Quetzal, S.A.

Los documentos que aparecen certificados provienen de un ambiente de pruebas simulado. La firma electrónica de pruebas del emisor de demostración venció antes de elaborar el manual y el ambiente de pruebas del certificador rechazaba todo, así que la autorización final de esos documentos la devolvió un servicio local que imita la respuesta del certificador. Por eso su serie es **PRUEBAS** y ninguno existe ante la SAT. En producción la serie es un identificador alfanumérico real asignado por la SAT. Los rechazos de la SAT que se muestran (capítulo 20) sí son respuestas reales del certificador.

2.Qué es la FEL y cómo funciona

El circuito completo, desde que usted presiona «Confirmar» hasta que el cliente puede verificar su factura en el portal de la SAT.

La Facturación Electrónica en Línea es el régimen con el que la SAT sustituyó las facturas preimpresas. Bajo la FEL, un documento no existe legalmente hasta que un certificador autorizado lo firma y lo registra ante la SAT, y eso ocurre en el momento mismo de emitirlo, no al final del mes.

2.1 Los actores

ActorPapel
El emisor Su empresa. Genera el documento y lo envía a certificar. Necesita estar afiliada al régimen FEL y tener asignados uno o varios códigos de establecimiento.
El certificador Empresa autorizada por la SAT (INFILE, Guatefacturas, G4S, Megaprint, Digifact) que firma electrónicamente el XML y lo registra. Le entrega a usted el número de autorización.
La SAT Valida el contenido del documento y lo guarda. Publica un verificador donde cualquiera puede comprobar que un DTE existe.
El receptor Su cliente. Debe estar identificado con NIT, CUI (DPI), pasaporte o ID extranjero, o como Consumidor Final (CF) cuando no se identifica.

2.2 El circuito de una factura

1. Confirma la factura en Odoo
→
2. Odoo arma el XML del DTE
→
3. El certificador lo firma
→
4. La SAT lo valida y registra
→
5. Odoo guarda autorización, serie y número

Los cinco pasos ocurren en un solo clic y tardan típicamente entre uno y tres segundos. Si algo falla en el paso 3 o 4 —un dato mal capturado, el certificador caído, la conexión perdida— Odoo no deja a medias el documento: lo detiene, lo difiere para reintentarlo o lo pasa a contingencia, según cómo esté configurado. Los capítulos 20 y 21 explican esos tres caminos.

2.3 Los datos que devuelve la SAT

Cuando la certificación tiene éxito, el documento queda marcado con cuatro datos que ya no cambian y que son los que el cliente y la SAT reconocen:

DatoCampo en OdooQué es
Número de autorizaciónfel_gt_uuid Identificador único universal (UUID) del DTE. Es «el número» de la factura electrónica.
Seriefel_gt_serie Serie asignada por la SAT al establecimiento emisor.
Número del DTEfel_gt_dte_number Correlativo dentro de la serie.
Fecha de autorizaciónfel_gt_dte_date Momento exacto en que el certificador registró el documento.

En Odoo 17 los tres primeros quedan a la vista en el encabezado de la factura, junto al Estado FEL, sin necesidad de abrir ninguna pestaña.

Serie y número no son el número interno de Odoo

Odoo numera sus facturas con su propia secuencia (FACT/2026/00001). La serie y el número del DTE los asigna la SAT y son independientes. Si prefiere que el nombre del asiento contable sea el número del DTE, active Nombre del Documento Establecido por FEL (capítulo 7): el documento pasará a llamarse DTE-.

2.4 Verificación pública

Todo DTE se puede verificar sin contraseña. Odoo deja los dos accesos a un clic en la barra de botones de la factura certificada:

  • VER DOCUMENTO ELECTRÓNICO — descarga el PDF que genera el certificador (INFILE, Megaprint, Digifact o G4S) con el diseño oficial del proveedor y lo adjunta a la factura.
  • PDF SAT — abre el verificador público de la SAT con el número de autorización, el NIT emisor, el NIT receptor y el monto precargados.
Botones VER DOCUMENTO ELECTRÓNICO y PDF SAT en una factura certificada
Figura 1. Factura ya certificada. En la segunda fila de botones aparecen VER DOCUMENTO ELECTRÓNICO, PDF SAT, Cancelar FEL y Cuenta Ajena; la primera fila suma Nota de débito. El encabezado muestra el estado FEL, la serie y el número, y el chatter de la derecha deja registro de lo que devolvió el certificador.

3.Los tres módulos y su alcance

Qué instala cada uno, de qué depende y qué aparece en pantalla después de instalarlo.

3.1 multicert_felgt — el motor de la FEL

Es el módulo principal. Trabaja sobre las facturas de cliente, las facturas de proveedor (para la factura especial), las notas de crédito y débito y los recibos.

Qué agregaDónde se ve
Bloques de configuración FEL y del certificadorContabilidad › Configuración › Ajustes
Pestañas Configuración Certificador FEL Guatemala y Diseño de Factura FEL Guatemala Ajustes › Usuarios y compañías › Compañías
Pestaña Configuración FEL GuatemalaEn cada diario de venta o compra
Estado FEL en el encabezado, pestaña FEL y botones de certificaciónEn cada factura
Aplicación FE-SATTablero de documentos electrónicos, bitácora de envíos, DTE sin registrar y diarios FEL
Catálogo de 67 frases FELContabilidad › Configuración › Contabilidad › Frases Fel
Bitácora de envíos al certificadorFE-SAT › Solicitudes de API, y también Ajustes › Usuarios y compañías › FEL Logger
18 diseños de factura impresaPestaña de diseño de la compañía
Pestaña FEL del usuarioAjustes › Usuarios: tipo de factura por defecto
Dos tareas programadasContingencia y certificación diferida

En Odoo 17 depende de account, sale, base_setup y web; se usa junto con el plan contable guatemalteco (l10n_gt). Necesita las librerías de Python img2pdf y fpdf en el servidor.

3.2 pos_multicert_felgt — la FEL en el punto de venta

Certifica cada venta del punto de venta en el momento del cobro, imprime el ticket con los datos del DTE y el código QR de verificación, y agrega a la caja las operaciones que antes obligaban a ir al backend: anular la factura, emitir la nota de crédito de una devolución y trabajar en contingencia cuando el servidor no responde.

Depende de point_of_sale, account_tax_python y del propio multicert_felgt.

3.3 nit_dpi_multicert_verification — validación del receptor (complementario)

Añade la consulta en línea del NIT y del DPI (CUI) contra el servicio del certificador. Al capturar un contacto, el sistema trae el nombre tal como está inscrito en la SAT, de modo que el DTE no se rechace por un nombre que no coincide. Guarda además una bitácora de consultas para no pagar dos veces por el mismo NIT. Depende de account, contacts, base_vat y multicert_felgt.

Menú principal de la base de demostración
Figura 2. Menú principal de la base de demostración. La aplicación FE-SAT que instala multicert_felgt es la puerta de entrada al monitoreo de documentos electrónicos.
Orden de instalación

Instale siempre multicert_felgt primero. Los otros dos dependen de él y de sus grupos de seguridad. Si instala el módulo de punto de venta antes de configurar el certificador, el punto de venta arrancará, pero cada cobro terminará en error de certificación o en contingencia.

4.Puesta en marcha: lista de verificación

El orden en que conviene configurar, con el capítulo donde se explica cada paso.

Una implementación de FEL que sale bien a la primera sigue este orden. Cada línea es un requisito de la siguiente.

  1. Contrate al certificador y pida las credenciales del ambiente de pruebas y las de producción. Pida también el código de establecimiento de cada sucursal (lo asigna la SAT, no el certificador).
  2. Dé permisos de facturación electrónica a los usuarios que configuran, facturan y anulan. Sin el grupo de encargado no se ven las credenciales. → capítulo 29
  3. Complete los datos de la empresa: NIT, nombre inscrito, dirección, correo y los datos propios de la FEL. → capítulo 5
  4. Cargue las credenciales del certificador en Ajustes y active la emisión. → capítulo 6
  5. Revise las opciones generales: moneda del DTE, redondeo, descripción de línea. → capítulo 7
  6. Cree un diario por cada tipo de documento que vaya a emitir y actívele la generación de FEL y su rango de contingencia. → capítulo 8
  7. Asigne las frases que correspondan a su régimen tributario en cada diario. → capítulo 9
  8. Verifique impuestos y posiciones fiscales: cada impuesto debe tener su tipo de impuesto FEL. → capítulo 10
  9. Configure la validación de NIT/DPI si la contrató. → capítulo 13
  10. Emita una factura de prueba contra el ambiente de pruebas y verifíquela en el portal del certificador antes de cambiar a producción. → capítulo 14
No pruebe en producción

Un DTE certificado en producción existe ante la SAT aunque haya sido una prueba, y solo se puede quitar anulándolo dentro del plazo. Haga todas las pruebas con las credenciales del ambiente de pruebas del certificador y cámbielas a producción únicamente cuando el circuito completo funcione.

5.Datos de la empresa emisora

Los campos de la compañía que viajan dentro del XML y que la SAT valida uno por uno.

La SAT compara los datos del emisor con su registro. Si el nombre o la dirección no coinciden con lo inscrito, rechaza el documento. Estos campos se llenan en Ajustes › Usuarios y compañías › Compañías.

Ficha de la compañía
Figura 3. Ficha de la compañía en Odoo 17. En Información general están el NIT, la dirección, el correo y el ID de la empresa, que es donde va el nombre inscrito. La casilla Facturación Electrónica FEL enciende las dos pestañas propias de la FEL.

5.1 Campos obligatorios

Odoo los revisa antes de enviar nada al certificador y detiene la confirmación si falta alguno:

CampoNombre técnicoQué debe contener
NITvat NIT del emisor, sin guiones. Es el que identifica a la empresa ante la SAT.
ID de la empresacompany_registry El nombre completo inscrito en la SAT, que casi nunca es igual al nombre comercial. Es el que viaja como nombre del emisor en el DTE; el mensaje de error lo llama «registro fiscal».
Correo electrónicoemail Correo del emisor. La SAT lo exige y algunos certificadores envían ahí las notificaciones.
Direcciónstreet Dirección fiscal. Se completa con municipio, departamento y código postal.
Código Establecimientofel_gt_establishment_code El de la compañía o el del diario. Si no hay ninguno, Odoo no envía el documento.
Nombre comercial vs. nombre inscrito

«Distribuidora El Quetzal, S.A.» es el nombre comercial y es el que ve el usuario en Odoo; «DISTRIBUIDORA EL QUETZAL, SOCIEDAD ANONIMA» es el nombre inscrito y es el que va en el DTE. El primero se escribe en Nombre de la empresa; el segundo, en ID de la empresa. Cada diario puede además definir su propio nombre comercial para la sucursal (capítulo 8).

5.2 Pestaña Configuración Certificador FEL Guatemala

Además de las credenciales del certificador (capítulo 6), esta pestaña de la compañía reúne los datos del contribuyente que se envían en el DTE. Solo la ve el grupo Encargado Factura Electronica.

Pestaña Configuración Certificador FEL Guatemala de la compañía
Figura 4. Pestaña Configuración Certificador FEL Guatemala: opciones generales, datos del contribuyente, cuenta ajena, exportación y credenciales de INFILE.
CampoPara qué sirve
Facturación Electrónica FEL Interruptor maestro, en la pestaña Información general. Solo en las compañías activadas se exigen los datos del certificador; el resto opera sin FEL.
Código Establecimiento Número que la SAT asigna a cada sucursal. Si un diario define el suyo, ese tiene prioridad.
Pequeño Contribuyente Cambia la afiliación del DTE a PEQ, emite la factura como FPEQ (y la cambiaria como FCAP), no desglosa IVA y cambia el nombre del documento a «Factura Pequeño Contribuyente».
Fecha y Número de resolución Se agregan únicamente a la frase de tipo 1 escenario 3 (retención definitiva del ISR) cuando la SAT emitió una resolución para el contribuyente.
Nota de crédito rebajando régimen antiguo Para las notas que corrigen documentos emitidos antes de la FEL.
Impuesto NABO Impuesto con el que se reemplazan los de las líneas en las notas de abono (capítulo 18).
Tipo de Personería Catálogo de la SAT (sociedad anónima, cooperativa, fundación, entidad del Estado…), con 28 tipos precargados. Se envía en los recibos.
Cuenta Ajena y sus datosCapítulo 28.
Nombre y Código del Exportador, Lugar de Expedición Datos del complemento de exportación (capítulo 15).
Sucursales

Si la compañía es una sucursal (tiene compañía padre), la pestaña lo advierte: el NIT del emisor, las credenciales del certificador y los datos del contribuyente se heredan de la compañía raíz y se muestran como solo lectura. En la sucursal solo se configura el Código Establecimiento y la dirección; aparece además el campo NIT Emisor con el NIT heredado.

6.Credenciales del certificador

Los cinco certificadores soportados y qué dato pide cada uno.

La configuración de FEL de uso diario vive en Contabilidad › Configuración › Ajustes, en el bloque Facturación Electrónica. El bloque solo aparece si la compañía es de Guatemala. Los mismos datos se pueden editar en la pestaña Configuración Certificador FEL Guatemala de la compañía (capítulo 5).

Bloque Facturación Electrónica en los ajustes de contabilidad
Figura 5. Bloque Facturación Electrónica. La primera casilla, Generación de Facturación electrónica, es el interruptor maestro; mientras esté apagada no se pide el certificador.

6.1 Elegir el certificador

El desplegable Certificador a utilizar define contra qué proveedor se firma. Al elegirlo, Odoo muestra únicamente el bloque de credenciales de ese proveedor y oculta los demás.

CertificadorAutenticaciónParticularidades
InFileUsuario (alias) + llave de firma + llave de certificación Dos métodos: Directo (una sola llamada) o Firma/Certificación (firma y certifica en pasos separados, con URL de anulación propia).
GuatefacturasUsuario y contraseña + usuario y contraseña de autenticación HTTP Servicio SOAP. Requiere las dos parejas de credenciales.
G4SRequestor + usuario Servicio SOAP con WSDL; una sola URL.
MegaprintUsuario + apikey Trabaja con token con vencimiento. El botón Obtener Token lo solicita y Odoo muestra su vigencia. Tiene URL distinta para verificar, firmar, registrar, anular y descargar el PDF.
DigifactUsuario y contraseña También con token (botón Obtener Token); usa un segundo token («NUC») para ciertas operaciones.

6.2 INFILE paso a paso

Es el certificador más usado en Guatemala, y el que ilustra este manual.

Bloque de configuración de INFILE
Figura 6. Bloque Configuración InFile. El Método de Certificación decide cuáles de las URL se piden: con «Directo» basta la URL directa; con «Firma/Certificación» se piden las de firma, certificación y anulación.
CampoQué se escribe
Usuario INFILE (Alias/Prefijo) El alias del emisor que entrega INFILE; no es el NIT.
Llave Firma INFILE (Token)Token de firma.
Llave Certificación INFILE (Llave)Llave de certificación.
URL Directo INFILE Endpoint del proceso unificado, cuando el método es «Directo».
URL Firma / URL Certificación / URL Anulación Endpoints del método «Firma/Certificación».
Las URL deben ir completas

Una URL truncada no da un error claro: el servicio responde con una página de error que no es XML ni JSON y el módulo falla al interpretarla. Si al certificar aparece un error de análisis en vez de un mensaje de la SAT, lo primero que hay que revisar es que las URL estén completas y sin espacios al final. Si la URL apunta a un servidor que no responde, el documento pasa a contingencia (capítulo 21).

Quién puede ver estas credenciales

Los bloques de credenciales están restringidos al grupo Encargado Factura Electronica. Un usuario con el grupo Usuario Factura Electronica puede facturar y anular, pero no ve las llaves.

7.Opciones generales de FEL

Cómo se arma el contenido del DTE: moneda, decimales, descripción de las líneas y qué hacer cuando algo falla.

Estas opciones están en el mismo bloque Facturación Electrónica y afectan a todos los documentos de la compañía.

7.1 Moneda del documento

OpciónEfecto
Seleccionar moneda de facturación a factura Activada, el DTE viaja en la moneda de la factura: una factura en dólares se certifica en dólares. Desactivada, todo se convierte a la moneda fija que se indique abajo.
Moneda de facturación Solo aparece si la anterior está desactivada. Es la moneda a la que se convierte el documento, normalmente el quetzal.

Un contacto puede tener su propia preferencia: en la ficha del cliente, Moneda de facturación en base al documento hace que sus DTE salgan en la moneda del documento aunque la compañía convierta, y Moneda de facturación fija la moneda que Odoo propone al elegirlo en una factura.

7.2 Descripción y unidad de medida de las líneas

OpciónEfecto
Descripcion de producto de factura Descripcion envía el texto de la línea tal como se editó; Nombre de producto envía siempre el nombre del producto, ignorando ediciones.
Unidad de medida de producto de factura Unidad envía siempre UND; Unidad de medida del producto envía la del producto (cajas, quintales, litros).
No enviar referencia interna del producto Quita el prefijo [PRD-001] de la descripción que se manda al certificador.
Separador de referencia interna Cuando sí se envía la referencia, el carácter que la separa del nombre.
Número decimales de redondeo Decimales con que se redondean precios e impuestos en el XML. Si es cero, se usan dos.

7.3 Qué hacer cuando la certificación falla

OpciónEfecto
Publicar asiento con errores SAT Permite que el asiento contable quede publicado aunque la SAT haya rechazado el DTE. Úselo con criterio: contablemente la venta existe, pero fiscalmente no hay documento.
Timeout certificador (segundos) Tiempo máximo de espera por la respuesta del certificador. Si es cero se usan 60 segundos. Agotado el plazo, el documento se trata como certificador caído.
Diferir certificación FEL en ecommerce Si la factura nace de una venta del sitio web y la certificación falla, no interrumpe la compra: publica el asiento y reintenta en segundo plano.
Intentos de certificación diferida Cuántas veces reintenta antes de marcar el documento para revisión manual (5 por defecto).
Avisar contingencia tras N intentos Tras cuántos intentos fallidos de un documento en contingencia se notifica al responsable (5 por defecto). El máximo es 8, que es el tope de reintentos automáticos de esta versión.
Responsable de alertas FEL Usuario al que se le asigna la actividad cuando el documento no tiene comercial.

7.4 Otras opciones

  • Nombre del Documento Establecido por FEL — renombra el asiento contable como DTE- en vez de la secuencia de Odoo.
  • Código Establecimiento — el de la compañía, usado cuando el diario no define el suyo.
  • Permitir anulación extemporánea — capítulo 19.
  • Vigencia frase de NCRE fuera de plazo — fecha desde la que se agrega sola la frase de tipo 9 escenario 22 a las notas de crédito tardías (capítulo 18). Viene con el 29/10/2026; vacía, la frase no se agrega.
  • Mostrar Columna de Descuento — en el bloque Configuración Factura, agrega la columna de descuento a la factura impresa.
Bloque Configuración Factura
Figura 7. Bloque Configuración Factura de los ajustes. El resto del diseño impreso se configura en la compañía (capítulo 28).

8.Los diarios FEL

Un diario por tipo de documento: dónde se activa la FEL, qué establecimiento usa y qué frases lleva.

En Odoo, el diario es lo que decide si una factura se certifica o no. La configuración está en Contabilidad › Configuración › Diarios, pestaña Configuración FEL Guatemala, que aparece únicamente en diarios de venta y de compra de una compañía guatemalteca.

Lista de diarios con FEL activa
Figura 8. FE-SAT › Configuración › Diarios muestra filtrados solo los diarios que emiten documentos electrónicos.

8.1 Un diario por tipo de documento

La forma recomendada de trabajar es un diario por cada tipo de DTE. Así el usuario elige el diario y el tipo de documento sale correcto sin pensar:

DiarioTipoEmite
Facturas de Cliente (FEL)VentaFactura normal (FACT) o el tipo que elija el usuario
Notas de Crédito (FEL)VentaNotas de crédito (NCRE) y de abono (NABN)
Recibos (FEL)VentaRecibos (RECI), con la casilla ¿Es recibo? activada
Facturas de Exportación (FEL)VentaFactura cambiaria de exportación (FEXP)
Facturas Especiales (FEL)CompraFactura especial (FESP)
Facturas Históricas (sin FEL)VentaNada: carga de facturas viejas (capítulo 14)

8.2 Los campos de la pestaña

Ficha del diario de facturas de cliente
Figura 9. Ficha del diario Facturas de Cliente (FEL). La pestaña Configuración FEL Guatemala es la última del cuaderno y solo aparece en diarios de venta y de compra.
Pestaña Configuración FEL Guatemala de un diario
Figura 10. Pestaña Configuración FEL Guatemala, sub-pestaña Configuración: datos del establecimiento, frases, logotipo y el rango de contingencia.
CampoPara qué sirve
¿Es recibo? Marca el diario como emisor de recibos electrónicos (capítulo 17).
Certificador a utilizar Solo lectura: el de la compañía.
Generación de Facturación Electrónica El interruptor real: si está apagado, las facturas de ese diario se publican como documentos internos y nunca se envían a la SAT. Es lo que se usa para cargar históricos.
Tipo de Factura por Defecto Fuerza el tipo de DTE de las facturas del diario. Con Usuario, respeta el tipo por defecto configurado en cada usuario (capítulo 11).
Descuento en Precio Envía el descuento incorporado al precio unitario en vez de como descuento de línea.
Adenda Activa Muestra la sub-pestaña Adendas (8.4).
Frase Las frases que se copian a cada factura del diario (capítulo 9).
Código Establecimiento El de esta sucursal. Tiene prioridad sobre el de la compañía.
Nombre comercial Nombre con que se identifica el establecimiento en el DTE y en el ticket.
Dirección de facturación, Código postal, Departamento, Municipio Dirección del establecimiento emisor, que puede ser distinta de la fiscal.
Logo Personalizado / Logo Logotipo propio de la sucursal para la factura impresa.

8.3 Contingencia

El grupo Contingencia FEL GT guarda el bloque de números de acceso que la SAT entrega para emitir sin conexión: Número de Contingencia Actual Rango Inicial, Rango Final y Número de Contingencia Actual, todos de nueve dígitos (entre 100000000 y 999999999). La casilla Activar contingencia manualmente manda todo el diario a contingencia. Conviene darle un rango propio a cada diario FEL: un diario sin rango no tiene número que asignar cuando el certificador falla. El capítulo 21 explica cómo se usan.

8.4 Adendas

Una adenda es información adicional que viaja en el DTE sin efecto tributario, pensada para que el receptor la procese automáticamente. Se activa con Adenda Activa y luego se eligen los datos a incluir:

Sub-pestaña de adendas del diario de exportación
Figura 11. Adendas disponibles: serie y número internos, referencia del contacto, crédito, pedido, comercial, fecha de pago, tipo de cambio, código de consignatario, código de comprador y código y nombre del exportador.
Cuándo hacen falta las adendas

Casi nunca por exigencia de la SAT: se usan cuando un cliente grande —una cadena, un distribuidor— pide que su número de orden de compra o su código de proveedor viajen dentro del XML para poder conciliar automáticamente.

9.Las frases FEL

Qué son, cuáles le tocan a su empresa y qué pasa si faltan.

Las frases son leyendas normadas por la SAT que declaran el régimen tributario del emisor y las exenciones que aplican al documento. Van dentro del XML como un código de tipo y un código de escenario, y se imprimen al pie de la factura. Si falta una frase obligatoria para su régimen, la SAT rechaza el DTE.

Catálogo de frases FEL
Figura 12. Catálogo de frases que trae el módulo, en Contabilidad › Configuración › Contabilidad › Frases Fel: 67 frases con su código de escenario y su tipo.

9.1 Los nueve tipos

TipoFamiliaCuándo se usa
1Retención del ISR Declara si el emisor está sujeto a pagos trimestrales, a retención definitiva o a pago directo. Casi todo contribuyente necesita una.
2Agente de Retención del IVA Solo si la SAT lo nombró agente de retención.
3No genera derecho a crédito fiscal Documentos que no dan crédito fiscal al receptor.
4Exento o no afecto al IVA 32 escenarios: exportaciones, cooperativas, donaciones, medicamentos, zonas francas, vivienda, transporte público…
5Factura especial «El vendedor o prestador del servicio se negó a emitir la factura».
6Régimen Especial de Contribuyente Agropecuario Según la forma de pago del impuesto.
7Regímenes electrónicos Pequeño contribuyente electrónico y agropecuario electrónico.
8Exento del ISR Universidades, centros educativos, iglesias, cooperativas, entidades del Estado…
9Frases especiales Leyendas de otros documentos, las dos frases de la nota de abono (escenarios 16 y 17) y la de la nota de crédito tardía (escenario 22).

9.2 Cómo se asignan

Las frases se configuran en el diario y de ahí se copian a cada factura nueva al elegir el diario. En la factura se ven —y se pueden ajustar caso por caso mientras está en borrador— en la pestaña FEL, grupo Frases FEL.

Tres frases las maneja Odoo solo:

  • Tipo 9, escenarios 16 y 17: se agregan a la nota de abono según la Naturaleza de la operación que se elija (capítulo 18). Odoo impide dejarlas en cualquier otro documento.
  • Tipo 9, escenario 22 («NCRE posterior a dos meses de la factura»): desde el 29/10/2026 la SAT la exige en las notas de crédito emitidas más de dos meses después de la factura de origen, y la rechaza en cualquier otro tipo de DTE. Odoo la agrega o la quita sola al certificar una nota de crédito, a partir de la fecha configurada en Vigencia frase de NCRE fuera de plazo.
La combinación mínima habitual

Un contribuyente normal del régimen sobre utilidades, no agente de retención, necesita una sola frase de tipo 1. Si además fue nombrado agente de retención del IVA, añade la de tipo 2. Todo lo demás depende de operaciones concretas: exportar, vender exento, emitir factura especial.

Resolución de la SAT

Si en la compañía se llenaron Número de resolución y Fecha de resolución, esos dos datos se agregan a la frase de tipo 1 escenario 3 (retención definitiva del ISR), que es la que exige el número de resolución. El resto de frases viaja sin ellos.

10.Impuestos y posiciones fiscales

Cómo se traducen los impuestos de Odoo a los impuestos que entiende la SAT.

El XML del DTE no lleva «IVA por Ventas 12%»: lleva un nombre de impuesto del catálogo de la SAT y su monto. La traducción se define en cada impuesto, en Contabilidad › Configuración › Impuestos.

Lista de impuestos de la base de demostración
Figura 13. Impuestos de la base de demostración: IVA de ventas y compras, IVA exento para exportación, IDP por tipo de combustible y timbre de prensa.

10.1 Campos FEL del impuesto

CampoValores y uso
Tipo impuesto FEL IVA, PETROLEO, TURISMO HOSPEDAJE, TURISMO PASAJES, TIMBRE DE PRENSA, BOMBEROS, TASA MUNICIPAL y CEMENTO. Es el nombre corto que viaja en el DTE.
Tipo de IDP FEL Solo cuando el tipo es PETROLEO: Super, Regular o Disel. La SAT exige distinguirlos porque tienen tarifa distinta.
Timbre FEL Marca el impuesto como timbre, que se reporta aparte del IVA.
Impuesto IDP con sus campos FEL
Figura 14. Impuesto de IDP de gasolina superior: Tipo impuesto FEL PETROLEO y Tipo de IDP FEL «Super».
Los precios se manejan con IVA incluido

En Guatemala el precio al público incluye el IVA, y así vienen los DTE. Configure el IVA como incluido en el precio. Odoo además exige que toda línea lleve impuesto (salvo en notas de abono, exportaciones, recibos y pequeño contribuyente) y que cada impuesto tenga su tipo FEL: de lo contrario detiene la confirmación con «Las líneas de Factura deben de llevar impuesto (IVA)» o «El impuesto … no tiene clasificación del Impuesto».

10.2 Posiciones fiscales

Una posición fiscal cambia los impuestos según el tipo de cliente. Para la FEL, lo relevante es la casilla Exención De IVA, que marca la posición como exenta. En la base de demostración, la posición Exportaciones (exento de IVA) sustituye el IVA de ventas por el IVA exento y está asignada al cliente del exterior.

Posición fiscal exenta de IVA
Figura 15. Posición fiscal con Exención De IVA. La exención se respalda con la frase de tipo 4 que corresponda al fundamento legal, configurada en el diario.

11.Tipos de DTE y cómo se eligen

Los tipos de documento que emite el módulo y las tres cosas que deciden cuál sale.

11.1 El catálogo

CódigoDocumentoCuándo se usa
FACTFactura La venta normal de bienes o servicios. Es el tipo por defecto.
FCAMFactura cambiaria Venta al crédito documentada como título de crédito. Lleva un complemento con el abono y la fecha de vencimiento.
FEXPFactura cambiaria de exportación Ventas al exterior. Viaja como factura con la marca de exportación y el complemento con los datos del exportador y del consignatario.
FESPFactura especial La emite el comprador por cuenta de quien no puede facturar. Se registra como factura de proveedor.
NCRENota de crédito Devoluciones, descuentos y correcciones que rebajan un DTE anterior.
NDEBNota de débito Cargos posteriores que aumentan un DTE anterior (intereses, fletes, ajustes).
NABNNota de abono Documento sin crédito fiscal para vendedores intermediarios y rebajas de inventario; se emite como rectificativa de cliente.
RECIRecibo Cobro que no constituye factura. Variantes: recibo por donación (RDON) y recibo por anticipo (RANT).
FPEQ / FCAPFactura y factura cambiaria de pequeño contribuyente No se eligen: Odoo los usa en lugar de FACT y FCAM cuando la compañía está marcada como Pequeño Contribuyente.

11.2 Quién decide el tipo

El campo Tipo de Factura de la factura es el que manda en el XML, pero su valor se calcula en cascada:

Tipo por defecto del diario
→
si el diario dice «Usuario»: tipo por defecto del usuario
→
si el usuario dice «Ninguno»: FACT

El tipo por defecto del usuario está en Ajustes › Usuarios, pestaña FEL (capítulo 26). Ese mismo valor decide dónde se ve el campo en la factura: si el usuario tiene «Ninguno», el Tipo de Factura aparece en el encabezado, debajo del cliente, para elegirlo documento por documento; si tiene un tipo fijo, el campo solo se ve en la pestaña FEL, grupo Adicionales FEL.

Factura nueva con el tipo de factura bajo el cliente
Figura 16. Factura nueva de un usuario con tipo por defecto «Ninguno»: bajo la dirección del cliente aparece el Tipo de Factura («Factura Normal»), y a la derecha el Estado FEL en «Sin certificar».
El diario gana

Si el diario tiene un Tipo de Factura por Defecto distinto de «Usuario», ese tipo se impone y se reaplica cada vez que cambia el diario de la factura. Para poder elegir el tipo documento por documento, deje el diario en «Usuario».

Hay excepciones que Odoo fija solo:

  • Una nota de crédito creada con el botón Nota de crédito de la factura nace como NCRE y ya enlazada a la factura de origen.
  • Una rectificativa de cliente creada desde cero nace como NABN; cámbiela a NCRE si lo que quiere es una nota de crédito.
  • Una factura de proveedor en una compañía con FEL nace como FESP, que es el único tipo que se emite desde compras.
  • El botón Nota de débito crea el documento ya como NDEB.

11.3 Estados de la certificación

Independiente del estado contable (borrador, registrado, cancelado), cada documento tiene su Estado certificación FEL, que en Odoo 17 se ve también como insignia Estado FEL en el encabezado:

EstadoSignificado
Sin certificar Todavía no se ha enviado a la SAT. Es el estado de todo documento en borrador y de los históricos cargados en diarios sin FEL.
Pendiente de certificar Falló el envío y quedó en cola de reintentos automáticos (cinta «Pendiente FEL»).
Error en datos FEL La SAT lo rechazó o se agotaron los reintentos. Requiere corrección manual.
Certificada La SAT la registró. Tiene número de autorización, serie y número.
Contingencia FEL Emitida sin conexión con un número de acceso; pendiente de certificar.
Anulación extemporánea pendiente Se pidió anular fuera del plazo en línea; la SAT debe autorizarlo.
Anulada FEL Anulada ante la SAT (cinta «Cancelada FEL»).
Lista de facturas de cliente con columnas FEL
Figura 17. La lista de facturas incorpora las columnas Serie, Número DTE y Estado certificación FEL, con color por estado. El número de autorización está disponible como columna opcional.

12.Contactos: NIT, DPI, pasaporte y CF

Cómo se identifica al receptor y qué reglas de la SAT dependen de esa identificación.

El receptor es el dato que más rechazos provoca. La SAT valida que exista, que el nombre coincida con su registro y que el tipo de identificación sea coherente con el monto y el tipo de documento.

12.1 Los campos de identificación en Odoo 17

En esta versión el receptor se identifica con tres campos de la ficha del contacto:

CampoViaja comoUso
Número de identificación fiscal (NIT)NIT Contribuyente inscrito. Es el caso normal. Sin guiones.
DPICUI (TipoEspecial="CUI") Persona individual sin NIT: se deja el NIT en CF y se llenan los trece dígitos del DPI.
PasaporteID extranjero (TipoEspecial="EXT") Receptores del exterior: NIT en CF y el pasaporte o la identificación tributaria extranjera en este campo.

La regla que aplica Odoo al armar el DTE es simple: si el NIT es CF y hay pasaporte, viaja el pasaporte; si no, y hay DPI, viaja el DPI; si no, viaja CF.

Lista de contactos
Figura 18. Contactos de la base de demostración. Conviene mantener un solo contacto Consumidor Final y que el resto tenga su NIT validado.
Ficha de un contacto con NIT
Figura 19. Contacto identificado con NIT. A la derecha están los campos FEL: Es Extranjero, DPI, Pasaporte y la moneda de facturación; abajo, los de validación (No Validar NIT con Certificador, Bloquear Escritura). El botón Verificar Contacto consulta el NIT contra el certificador (capítulo 13).
Contacto identificado con DPI
Figura 20. Persona sin NIT: CF en el NIT y los trece dígitos en DPI. Sus documentos viajan con el CUI como identificación del receptor.
Contacto extranjero identificado con pasaporte
Figura 21. Turista con NIT CF y número de Pasaporte: sus documentos viajan con el pasaporte como ID extranjero.

12.2 Consumidor Final

Cuando el cliente no se identifica, el DTE se emite a Consumidor Final: el NIT viaja como CF.

Contacto Consumidor Final
Figura 22. El contacto genérico Consumidor Final con NIT CF. El aviso amarillo es de Odoo estándar: otro contacto comparte el mismo NIT, lo cual es normal con CF (las personas identificadas por DPI o pasaporte también lo llevan).
El límite de Q2,500.00

La SAT no admite documentos a Consumidor Final por más de Q2,500.00. Odoo lo bloquea antes de enviar: si el total supera ese monto, el NIT es CF y el contacto no tiene DPI ni pasaporte, detiene la confirmación con «No se pueden emitir facturas con un monto mayor a Q 2,500.00 a un NIT CF. Debe ingresar el DPI o número de pasaporte, en caso ser extranjero». El mismo control existe en el punto de venta (capítulo 23).

12.3 Reglas de la SAT para Consumidor Final

Las Reglas y Validaciones 2.1 de la SAT endurecieron el tratamiento del receptor CF. El módulo las aplica y las explica en pantalla:

ReglaCómo se comporta Odoo
No hay notas de crédito ni de débito a CF Bloquea la creación de la nota (botones Nota de crédito y Nota de débito) y también su certificación, y sugiere el camino correcto: anular el documento y emitir uno nuevo con los datos correctos.
La anulación de un DTE a CF solo se registra en línea el día de emisión y el día siguiente Muestra la fecha límite en la factura y en el asistente de anulación, y bloquea el envío fuera de plazo, salvo que se habilite la anulación extemporánea (capítulo 19).

12.4 Contacto extranjero

La casilla Es Extranjero marca al receptor del exterior y vuelve obligatorios, en la pestaña Información Exportación, el nombre y la dirección del consignatario; además se capturan el código de consignatario, el código de comprador y el país del consignatario. En los contactos hijos estos datos se toman de la empresa y se muestran como solo lectura.

Contacto extranjero
Figura 23. Cliente de Panamá: Es Extranjero marcado, NIT CF y su identificación tributaria en Pasaporte. La SAT exige que el receptor de una exportación sea CF o un ID extranjero; un NIT extranjero en el campo de NIT se rechaza.
Pestaña Información Exportación del contacto
Figura 24. Pestaña Información Exportación con los datos del consignatario que viajan en el complemento de exportación.

12.5 Otros campos FEL del contacto

  • NIT Contacto — en los contactos hijos (direcciones de una empresa), permite que ese contacto facture con un NIT distinto al de la empresa.
  • Moneda de facturación en base al documento y Moneda de facturación — capítulo 7.
  • Bloquear Escritura — solo visible para el encargado de facturación electrónica; impide que los demás usuarios cambien el NIT, el nombre o la dirección de un contacto ya validado.

13.Validación de NIT y DPI con el certificador

Cómo traer el nombre real del contribuyente antes de facturarle, y cómo evitar pagar dos veces por la misma consulta.

El módulo complementario nit_dpi_multicert_verification consulta el NIT o el DPI contra el servicio del certificador y reemplaza el nombre capturado por el nombre inscrito ante la SAT. Es la forma más eficaz de evitar rechazos por diferencias de nombre.

13.1 Configuración

Está en el mismo Ajustes de contabilidad, bloque Validación de Contactos por medio de NIT o DPI. Es una configuración independiente de la del certificador de emisión: puede firmar con un proveedor y consultar NIT con otro.

Bloque de validación de NIT y DPI
Figura 25. Configuración de la validación de contactos: certificador, credenciales del servicio de consulta, URL de cada servicio y los campos del contacto donde se escriben el NIT, el DPI y el pasaporte.
CampoQué se escribe
Certificador a utilizar para validación de NIT y DPI Proveedor del servicio de consulta.
Cantidad Máxima de Solicitudes Cuántas veces se consulta un mismo NIT al proveedor antes de responder desde la bitácora local. Con el valor 1, cada NIT se consulta una sola vez.
Usuario y Contraseña servicio consulta NIT/DPI Credenciales de consulta. Megaprint no las usa (trabaja con token).
Usuario API y Contraseña API Autenticación HTTP adicional; solo Guatefacturas.
Url servicio consulta NIT / DPI Endpoints de cada consulta.
Url token servicio Solo INFILE, para obtener el token de la consulta de DPI.
Campo NIT, Campo DPI, Campo Pasaporte Campos del contacto donde el módulo lee y escribe cada identificación. Lo normal es «Número de identificación fiscal», «DPI» y «Pasaporte». Son obligatorios para que funcione la validación.
Forzar validación de NIT/DPI Vuelve a consultar el nombre al momento de certificar, no solo al crear el contacto.
Bloquear duplicación de CF Impide crear más de un contacto con NIT CF.

13.2 Cómo se usa

Hay dos caminos, y ambos escriben el nombre oficial en el contacto:

  1. Al crear el contacto: escriba el NIT (o el DPI) en el campo del nombre o en el del NIT y guarde. El sistema consulta y sustituye el nombre por el que devuelve la SAT. Un número de trece dígitos se consulta como DPI y se guarda en el campo DPI, con el NIT en CF; cualquier otro, como NIT. Si escribe CF, el contacto se llama «Consumidor Final».
  2. Sobre un contacto existente: abra la ficha y pulse Verificar Contacto.

Si el número no existe, el sistema lo dice con claridad —«El NIT 99999999 que ingresó no es válido»— y no permite guardar. Tampoco deja crear dos contactos con el mismo NIT, DPI o pasaporte («El NIT ya existe»), salvo CF cuando no está activo el bloqueo.

13.3 La bitácora de consultas

Cada consulta al proveedor se guarda en Contactos › Verificaciónes de Contactos con el NIT, el nombre devuelto, el certificador y dos contadores: consultas hechas al API y consultas resueltas desde la base local.

Bitácora de verificaciones de NIT y DPI
Figura 26. Bitácora de verificaciones, con una consulta real al servicio de INFILE. Sirve para auditar el consumo del servicio —que casi siempre se paga por consulta— y para demostrar qué nombre devolvió la SAT en una fecha.
Contactos que no se validan

La casilla No Validar NIT con Certificador de la ficha excluye a un contacto de la consulta. Los contactos con país distinto de Guatemala no pasan por el control de duplicados, y la validación de formato de NIT de Odoo (base_vat) se omite para los guatemaltecos, porque la hace el certificador.

Permisos

La validación automática solo se dispara para usuarios con el grupo Validador NIT/DPI › Usuario y en compañías con la FEL activa. Un usuario sin ese grupo crea contactos con el comportamiento estándar de Odoo, sin consultar al certificador.

14.Emitir una factura electrónica

El procedimiento completo, qué revisar antes de confirmar y qué queda guardado después.

14.1 Paso a paso

  1. Vaya a Contabilidad › Clientes › Facturas y pulse Nuevo.
  2. Elija el cliente. Si es nuevo, capture el NIT primero para que la validación traiga el nombre inscrito (capítulo 13).
  3. Confirme el diario. Es lo que decide si el documento se certifica, con qué código de establecimiento y con qué frases.
  4. Revise el Tipo de Factura: bajo el cliente o en la pestaña FEL, según la configuración del usuario (capítulo 11).
  5. Verifique la fecha de vencimiento: es obligatoria para la FEL y Odoo detiene la confirmación si falta.
  6. Capture las líneas con su producto, cantidad, precio e impuestos.
  7. Abra la pestaña FEL y revise las frases.
  8. Pulse Confirmar. La certificación ocurre en ese momento.
Factura de cliente certificada
Figura 27. Factura ya confirmada y certificada. El encabezado muestra el Estado FEL, la Serie y el Número DTE, y el chatter registra la serie y el número en el mismo instante de la confirmación.

14.2 Qué revisa Odoo antes de enviar

Si algo falta, la confirmación se detiene con un mensaje concreto y no se envía nada al certificador:

  • Tipo de factura distinto de «Ninguno».
  • ID de la empresa (nombre inscrito), correo, NIT y dirección de la empresa emisora.
  • Código de establecimiento, en el diario o en la compañía.
  • Fecha de vencimiento de la factura.
  • Nombre del receptor.
  • Límite de Q2,500.00 cuando el receptor es CF sin DPI ni pasaporte.
  • Que el tipo de documento sea válido para el receptor (nada de notas a CF).
  • Que cada línea lleve un impuesto con tipo FEL (capítulo 10).
  • Que las frases de la nota de abono estén donde corresponden (capítulo 18).

14.3 La pestaña FEL

Es el expediente electrónico del documento. Aparece en facturas de cliente, facturas de proveedor y rectificativas, siempre que el diario tenga la FEL activa.

Pestaña FEL de una factura certificada
Figura 28. Pestaña FEL. A la izquierda, los datos que devolvió el certificador y los dos XML descargables; a la derecha, las frases y los datos adicionales del documento.
GrupoContenido
Datos Facturación Número DTE, serie, número de autorización, fecha de autorización, fecha de emisión, total en letras, los dos XML (enviado y certificado), el Límite de anulación cuando el receptor es CF, y el Concepto de Anulación y el Motivo de Cancelación cuando lo hay.
Datos Contingencia Solo si el documento se emitió sin conexión: marca de contingencia, número de acceso, reintentos, próximo reintento y el botón Procesar Contingencia FEL.
Reintentos de Certificación Número de intentos, último intento y el texto exacto del último error.
Frases FEL Las frases que viajan en este documento; editables mientras está en borrador.
Adicionales FEL Tipo de factura, tipo de documento (para recibos), naturaleza de la operación (notas de abono), el enlace al documento de origen en notas de crédito y débito, y la marca Generación de FEL fallida cuando la SAT rechazó el documento.
Los dos XML

Odoo guarda el XML enviado y el XML certificado como archivos descargables desde la pestaña FEL. Son la prueba técnica de lo que se transmitió y de lo que el certificador devolvió; ante una discrepancia con el certificador, es el primer documento que hay que revisar.

14.4 Facturas históricas sin certificar

Al migrar de otro sistema hay que cargar facturas que ya fueron certificadas antes. Para eso se usa un diario con la generación de FEL desactivada: las facturas se registran normalmente, quedan en estado Sin certificar y nunca se envían a la SAT.

Factura histórica sin certificación FEL
Figura 29. Documento histórico de agosto cargado en el diario Facturas Históricas (sin FEL): tiene contabilidad, pero no número de autorización, y no muestra la pestaña FEL.
La SAT rechaza documentos viejos

No intente certificar facturas con fecha anterior a cinco días: la SAT las rechaza con «excede los cinco días hacia atrás autorizados para la emisión de documentos». Odoo envía como fecha de emisión la fecha de la factura; el histórico se carga siempre en un diario sin FEL.

15.Factura cambiaria y de exportación

Dos variantes de la factura con requisitos propios de la SAT.

15.1 Factura cambiaria (FCAM)

Documenta una venta al crédito como título de crédito. Se emite igual que una factura normal, pero con el tipo FCAM. El módulo agrega al XML el complemento cambiario con un abono por el total de la factura y la fecha de vencimiento de la factura, que sale de los términos de pago.

Factura cambiaria certificada
Figura 30. Factura cambiaria certificada con términos de pago a 30 días. El vencimiento de la factura es el que viaja como fecha del abono en el complemento.

15.2 Factura de exportación (FEXP)

Para ventas al exterior. El DTE viaja como factura con la marca de exportación y el complemento de exportaciones. Estos son los datos y de dónde los toma Odoo:

Dato del complementoDe dónde sale
Lugar de expediciónLugar de Expedición de la compañía
Nombre y dirección del consignatario Pestaña Información Exportación del contacto (si faltan, el nombre del cliente)
País del consignatario País Consignatario del contacto, o su país
Otra referenciaReferencia del contacto
INCOTERM Pestaña Otra información de la factura. Es opcional: si se deja vacío, no se envía.
Nombre y código del exportador Compañía (si faltan, su nombre y su NIT)
Diario de facturas de exportación
Figura 31. Diario de exportación con tipo por defecto «Factura Cambiaria Exp.» y la frase de exención por exportación: así el usuario solo elige el diario y el tipo de DTE sale correcto.
Factura de exportación certificada
Figura 32. Factura cambiaria de exportación a un cliente de Panamá, emitida desde el diario Facturas de Exportación (FEL). La posición fiscal del cliente cambió el IVA por el impuesto exento.
Pestaña Otra información con INCOTERM
Figura 33. Pestaña Otra información de la factura de exportación: el Incoterm (FOB) y la Posición fiscal de exportación.
La exportación va exenta de IVA y a un receptor extranjero

Las exportaciones no llevan IVA: además del impuesto exento en las líneas, el DTE debe llevar la frase de tipo 4 correspondiente («Exento de IVA - Exportaciones»), configurada en el diario. Y el receptor debe ser CF o un ID extranjero: registre al cliente con NIT CF y su identificación tributaria en Pasaporte (capítulo 12).

16.Factura especial

El documento que emite el comprador cuando el vendedor no puede facturar.

La factura especial (FESP) la emite quien compra, por cuenta de quien vende, cuando este último no está inscrito o se niega a facturar. Contablemente es una compra, y por eso en Odoo se registra desde Contabilidad › Proveedores › Facturas, en un diario de compra con FEL activa. Si se intenta desde una factura de cliente, Odoo lo impide.

Diario de facturas especiales
Figura 34. Diario de compra configurado para emitir facturas especiales. Es el único caso en que un diario de compra emite un DTE.
Factura especial certificada
Figura 35. Factura especial certificada. El proveedor de la factura es la persona a quien se le compró, identificada con su DPI, y el emisor del DTE sigue siendo su empresa.
Pestaña FEL de la factura especial
Figura 36. Pestaña FEL de la factura especial, con el tipo «Factura Especial» y los dos XML.

16.1 Requisitos y retenciones

  • Un diario de compra con Generación de Facturación Electrónica activada y Tipo de Factura por Defecto «Factura Especial».
  • El vendedor identificado: normalmente una persona con NIT CF y su DPI.
  • Las frases que correspondan; el catálogo trae la de tipo 5 («El vendedor o prestador del servicio se negó a emitir la factura correspondiente») para cuando aplique.

Las retenciones las calcula el propio módulo al armar el XML y las envía en el complemento RetencionesFacturaEspecial: retención de ISR del 5 % sobre la base sin IVA, retención del IVA por el total del IVA del documento, y el total menos retenciones.

Revise la tasa de ISR en montos altos

El módulo aplica siempre el 5 % de ISR sobre la base. La Ley del ISR establece una tasa mayor para la porción que excede de Q30,000 mensuales: en facturas especiales grandes, revise ese punto con su contador o implementador antes de certificar.

17.Recibos electrónicos

Recibo, recibo por donación y recibo por anticipo.

El recibo documenta un cobro que no constituye factura. Se emite desde un diario de venta con la casilla ¿Es recibo? activada.

Diario de recibos electrónicos
Figura 37. Diario de recibos: FEL activa, ¿Es recibo? marcado, tipo por defecto «Recibo» y la frase de tipo 9 «La emisión de este documento no sustituye una factura».

Dentro del recibo, el campo Tipo de Documento de la pestaña FEL (visible cuando el tipo de factura es «Recibo») distingue las tres variantes:

VarianteUso
ReciboCobro general que no es factura.
Recibo por DonacionDonaciones recibidas por entidades autorizadas.
Recibo AnticipoAnticipos de clientes, antes de emitir la factura definitiva.

En los recibos Odoo envía además el Tipo de Personería de la compañía, y si el recibo no lleva impuestos lo declara con afiliación exenta.

Solo para emisores habilitados

La SAT solo admite recibos de los establecimientos y personerías habilitados para ese tipo de DTE. Al probarlo con la empresa de demostración —una sociedad anónima— la SAT respondió «La clasificación o tipo del establecimiento no le permite el tipo de DTE» y «El Tipo de DTE no aplica para este tipo de personería»; por eso este manual no muestra un recibo certificado. Confirme con la SAT o su certificador que su establecimiento puede emitirlos.

Frases del recibo

Los recibos llevan frases de tipo 9: «La emisión de este documento no sustituye una factura», «Este documento no constituye factura contable ni genera derecho a crédito fiscal del IVA» o «Concluido el servicio, debe emitirse la factura». La SAT valida además que la frase corresponda a la afiliación del emisor: elija la que le indique su certificador.

18.Notas de crédito, débito y abono

Cómo corregir un DTE ya certificado sin anularlo.

18.1 Nota de crédito (NCRE)

Rebaja un documento anterior: devoluciones, descuentos posteriores, correcciones de precio. Se crea con el botón Nota de crédito de la factura original, que abre el asistente estándar de Odoo. En Odoo 17 el módulo deja la nota ya como NCRE y enlazada a la factura de origen. Después:

  1. En el asistente, escriba el motivo y elija el diario de notas de crédito con FEL activa.
  2. En la pestaña FEL, confirme que el Tipo de Factura sea NCRE y que NC Documento origen apunte a la factura corregida.
  3. Ajuste las líneas a lo que realmente se devuelve.
  4. Confirme.
Diario de notas de crédito
Figura 38. Diario de notas de crédito, con FEL activa y tipo por defecto «Nota de Crédito».
Nota de crédito certificada
Figura 39. Nota de crédito electrónica certificada por la devolución de dos cajas de aceite, enlazada a la factura de origen.
Pestaña FEL de la nota de crédito
Figura 40. Pestaña FEL de la nota de crédito: tipo NCRE y NC Documento origen. El complemento de referencia que viaja a la SAT se arma con el número de autorización, la serie, el número y la fecha de emisión del documento original.
Nota de crédito más de dos meses después: frase 9-22

Desde el 29/10/2026 la SAT exige la frase de tipo 9 escenario 22 («Documento emitido posterior a los dos meses de la factura, no se reconoce como crédito fiscal, según Art. 17 Ley del IVA») en las notas de crédito emitidas más de dos meses después de la factura de origen, y la rechaza en cualquier otro DTE, incluidas las notas de débito. Odoo la agrega o la quita sola al certificar la nota; no hace falta configurarla en el diario.

18.2 Nota de débito (NDEB)

Aumenta un documento anterior: intereses, fletes cobrados después, ajustes al alza. Se genera con el botón Nota de débito que el módulo agrega a las facturas registradas. El botón abre una factura nueva en el mismo diario, ya enlazada al documento de origen (ND Documento origen) y con el tipo NDEB.

Nota de débito certificada
Figura 41. Nota de débito electrónica por un flete adicional, generada desde la factura de origen.
Pestaña FEL de la nota de débito
Figura 42. Pestaña FEL de la nota de débito: tipo «Nota de Débito» y ND Documento origen.

18.3 Nota de abono (NABN)

La nota de abono no da crédito fiscal y la SAT la reserva para dos operaciones. Se crea como rectificativa de cliente —que nace con el tipo NABN— y en la pestaña FEL se elige la Naturaleza de la operación:

  • 16 — Vendedor intermediario de productos agropecuarios, artesanales y productos reciclados.
  • 17 — Documento de rebaja de inventarios.

Al elegirla, Odoo agrega la frase de tipo 9 correspondiente (escenario 16 o 17) y no permite confirmar sin ella. Si en la compañía se configuró un Impuesto NABO, las líneas viajan con ese impuesto en lugar del IVA.

Frases y afiliación en la nota de abono

Al probarla con la empresa de demostración, la SAT rechazó las frases de tipo 1 y 2 («no debe estar presente para el Tipo de DTE NABN») y el escenario 17 para la afiliación del emisor. Quite de la nota de abono las frases que hereda del diario y confirme con su certificador que su afiliación admite la operación elegida.

Ni NCRE ni NDEB a Consumidor Final

Desde las Reglas y Validaciones 2.1, la SAT no admite notas de crédito ni de débito cuyo receptor sea CF. Odoo lo impide y explica el camino correcto: anular el documento dentro del plazo y emitir uno nuevo. Esto vale también para las devoluciones del punto de venta (capítulo 24).

19.Anulación de un DTE ante la SAT

El concepto de anulación, los plazos por tipo de receptor y la anulación extemporánea.

Anular un DTE no es borrarlo: es enviar a la SAT una solicitud de anulación que queda registrada junto al documento original. Un DTE anulado sigue existiendo, con estado «anulado».

19.1 Cómo se anula

  1. Abra el documento certificado.
  2. Pulse Cancelar FEL en la barra de botones (requiere el grupo de usuario de factura electrónica).
  3. Elija el Concepto de anulación del catálogo de la SAT.
  4. Escriba el Detalle (obligatorio si el concepto es «Otros»).
  5. Pulse Anular DTE.
Asistente de anulación de un DTE
Figura 43. Asistente Anular DTE FEL sobre una factura a Consumidor Final: avisa la fecha en que vence el plazo para anular en línea.
Catálogo de conceptos de anulación de la SAT
Figura 44. Los nueve conceptos de anulación del catálogo de la SAT, en el desplegable Concepto de anulación.

19.2 El catálogo de conceptos

CódigoConcepto
001Error en los datos de la descripción
002Error en el precio unitario
003Error en el total del DTE
004No cancelación del bien y/o servicio
005Cancelación de la operación
006Devolución de producto
007Emisión con moneda incorrecta
008Datos incorrectos del receptor
009Otros — exige detalle escrito

El texto que viaja a la SAT se arma como 008 Datos incorrectos del receptor - NIT del receptor capturado con error, es decir código, etiqueta y detalle, hasta 250 caracteres.

Asistente de anulación con concepto y detalle
Figura 45. Asistente con el concepto 008 elegido y el detalle escrito, listo para enviar la anulación.

19.3 Qué pasa al anular

Odoo envía la solicitud y espera la confirmación del certificador. Si el certificador no confirma, el documento no se marca como anulado y se avisa con «No fue posible anular el documento FEL con el certificador; intente nuevamente»: es deliberado, para que nunca queden desalineados Odoo y la SAT. Con la confirmación, Odoo:

  • marca el documento Anulada FEL y lo pasa a Cancelado;
  • rompe las conciliaciones y cancela los pagos aplicados a la factura;
  • si la factura nació en el punto de venta, cancela también la orden de la caja;
  • deja en el chatter la serie y el número anulados.
Factura anulada ante la SAT
Figura 46. Documento anulado. La cinta CANCELADA FEL, el estado Cancelado y el mensaje del chatter dejan constancia de la serie y el número anulados.
Pestaña FEL de una factura anulada
Figura 47. Pestaña FEL del documento anulado: el estado «Anulada FEL» y los datos del DTE se conservan.

Un documento anulado ante la SAT no se puede restablecer a borrador: Odoo responde «La factura ya ha sido anulada en SAT, por lo que no puede ser restablecida a borrador, deberá crear una nueva».

19.4 Los plazos

ReceptorPlazo para anular en línea
Consumidor Final (CF) El día de emisión y el día siguiente. Aplica a factura, factura cambiaria, factura de exportación y factura especial.
Receptor identificado (NIT, DPI o pasaporte) El plazo general de la SAT, más amplio. Odoo no lo restringe.

En los documentos a Consumidor Final, la pestaña FEL muestra el campo Límite de anulación con la fecha exacta. Pasado ese día, Odoo bloquea el envío con un mensaje que explica la regla.

19.5 Anulación extemporánea

Si necesita anular fuera de plazo, active Permitir anulación extemporánea en los ajustes. Con esa opción, Odoo envía la solicitud igual, deja constancia en el chatter y marca el documento como Anulación extemporánea pendiente: la SAT traslada la petición a su proceso de autorización, que resuelve la Administración Tributaria.

El estado pendiente lo calcula Odoo

El estado Anulación extemporánea pendiente se deduce de la fecha, no de la respuesta del certificador. Confirme siempre en el portal de su certificador o en la Agencia Virtual el resultado real de una anulación extemporánea antes de darla por hecha.

Listado de documentos cancelados
Figura 48. FE-SAT › Documentos Cancelados reúne los DTE anulados y los que están pendientes de anulación extemporánea: aquí, la factura anulada desde contabilidad y la que se anuló desde la caja.

20.Cuando la certificación falla

Errores de la SAT, reintentos automáticos y cómo volver a certificar.

Hay dos familias de fallo, y se tratan distinto:

Error de datos

La SAT rechaza el contenido: un NIT que no existe, un impuesto mal armado, una frase que falta. Reintentar no sirve; hay que corregir.

Error de servicio

El certificador no responde o se cayó la conexión. El documento es correcto y solo hace falta volver a intentar: Odoo lo pasa a contingencia (capítulo 21).

20.1 Comportamiento por defecto

En una factura normal, si la SAT rechaza el documento la confirmación se detiene y se muestra el error tal como lo devolvió el servicio: «La factura no pudo ser validada en la SAT». Nada queda a medias. Si está activa Publicar asiento con errores SAT, el asiento queda publicado, el documento en Error en datos FEL y el error en el chatter.

20.2 Certificación diferida

Para las ventas del sitio web —donde interrumpir el pedido es peor que retrasar la factura— la opción Diferir certificación FEL en ecommerce cambia esa conducta: el asiento se publica, el documento queda Pendiente de certificar y una tarea programada reintenta cada 15 minutos hasta agotar los intentos configurados.

Cada intento se registra en la pestaña FEL y en el chatter, con el número de intento y el texto del error. Al agotarse, el documento pasa a Error en datos FEL y se crea una actividad «Certificación FEL pendiente de corrección» para el comercial de la factura o para el Responsable de alertas FEL.

Factura con error de certificación
Figura 49. Documento cuyo receptor tiene un NIT inexistente. El rechazo del chatter es la respuesta real de la SAT («El NIT del Receptor [99999999] es inválido»). La cinta lo marca, la actividad queda asignada y el botón Certificar FEL permite reintentar después de corregir.
Detalle del error en la pestaña FEL
Figura 50. Grupo Reintentos de Certificación: número de intentos, fecha del último y el mensaje exacto que devolvió la SAT, que es el que hay que leer para corregir.

20.3 Volver a certificar

Corrija el dato y pulse Certificar FEL: el contador de intentos se reinicia y el documento se envía de nuevo. El botón aparece en documentos registrados en estado Pendiente de certificar o Error en datos FEL.

Listado de documentos con error
Figura 51. FE-SAT › Documentos con Error es la bandeja de trabajo diaria: todo lo que quedó sin certificar y necesita intervención.
Cómo leer un error de la SAT

Los mensajes vienen del validador de la SAT y citan el numeral de las Reglas y Validaciones, como FEL-GUI-18 | 2.2 | 2.2.4. Los más frecuentes: NIT del receptor inexistente, fecha de emisión fuera de rango, impuesto mal declarado en una línea, frase obligatoria ausente y firma del emisor vencida (FEL-GUI-88), que se resuelve renovando la firma con el certificador.

20.4 La bitácora de envíos

FE-SAT › Solicitudes de API › Solicitudes API FEL guarda cada XML enviado al certificador con el NIT del receptor, el certificador, el usuario y la fecha. Es la evidencia para reclamar a un proveedor.

Bitácora de solicitudes al certificador
Figura 52. Bitácora de solicitudes enviadas al certificador.
Detalle de una solicitud al certificador
Figura 53. Detalle de una solicitud: pestaña Contenido Enviado con el XML completo del DTE tal como salió de Odoo.

20.5 DTE certificados que no llegaron a guardarse

Puede pasar que el certificador emita el DTE pero Odoo no alcance a guardar la factura, por ejemplo por un error posterior o un corte. Para que ese DTE no se pierda ni se duplique, el módulo lo guarda aparte en FE-SAT › Documentos Electrónicos › DTE sin registrar:

  • Si la factura sigue en borrador, la ficha lo advierte con un aviso amarillo y, al confirmarla, Odoo reutiliza ese DTE en vez de emitir otro, siempre que el contenido no haya cambiado.
  • Si la factura ya no existe o cambió, anule el DTE con el certificador y pulse Marcar como descartado (solo el encargado).
Lista de DTE sin registrar
Figura 54. DTE sin registrar: los documentos que el certificador emitió y Odoo no guardó, con su número, receptor y total.
Ficha de un DTE sin registrar
Figura 55. Ficha de un DTE sin registrar: datos de la factura y del DTE, y el botón Marcar como descartado.
Factura en borrador con un DTE previo
Figura 56. Borrador cuya certificación anterior no llegó a guardarse: el aviso indica que al confirmarlo se reutilizará ese DTE.

21.Contingencia FEL

Seguir facturando cuando no hay Internet o el certificador está caído.

La SAT contempla que el emisor pueda quedarse sin servicio. Para eso entrega bloques de números de acceso: correlativos de nueve dígitos que identifican provisionalmente al documento mientras no se puede certificar. El cliente se lleva su comprobante con ese número, y el DTE se certifica después.

21.1 Configuración

En la pestaña FEL de cada diario:

CampoContenido
Activar contingencia manualmente Fuerza que todo lo del diario se emita en contingencia. Se usa cuando ya se sabe que el servicio está caído.
Número de Contingencia Actual Rango Inicial / Final El bloque asignado por la SAT (entre 100000000 y 999999999).
Número de Contingencia Actual El siguiente correlativo por usar. Avanza solo con cada documento.

21.2 Qué ocurre en contingencia

  1. El documento entra en contingencia de dos maneras: porque el diario la tiene activada manualmente, o automáticamente cuando el certificador no responde (sin conexión, tiempo de espera agotado). En el segundo caso el chatter lo dice: «La factura no pudo ser enviada a la SAT y se ha colocado en contingencia».
  2. Se publica con estado Contingencia FEL, la cinta Contingencia FEL y un número de acceso del rango del diario.
  3. Si está activa Nombre del Documento Establecido por FEL, el asiento se llama DTE-.
  4. El ticket muestra DOCUMENTO EN CONTINGENCIA con su NÚMERO DE ACCESO, y el QR apunta al verificador de la SAT en modo contingencia (capítulo 25).
  5. Una tarea programada reintenta certificar. Al lograrlo, el documento pasa a Certificada y obtiene su número de autorización definitivo.
Factura en contingencia
Figura 57. Factura emitida en contingencia: cinta CONTINGENCIA FEL y estado FEL en ámbar, sin serie ni número todavía.
Pestaña FEL de una factura en contingencia
Figura 58. Pestaña FEL de un documento en contingencia: grupo Datos Contingencia con el número de acceso y el botón Procesar Contingencia FEL para intentar la certificación de inmediato.

21.3 Reintentos con espera creciente

La tarea Procesamiento de facturas en contingencia corre cada diez minutos, pero no reenvía todo cada vez: los certificadores bloquean a los emisores que repiten muchas veces una solicitud fallida. Por eso, tras cada fallo, el siguiente intento se aleja (10 minutos, luego 20, 40, 80… hasta un máximo de 12 horas), y el grupo Datos Contingencia muestra los Reintentos de contingencia FEL y el Próximo reintento.

  • Después de 8 intentos automáticos el documento queda para proceso manual: el chatter lo indica y hay que usar Procesar Contingencia FEL cuando el servicio vuelva.
  • Al llegar a Avisar contingencia tras N intentos (5 por defecto), Odoo deja el mensaje «Contingencia FEL sin resolver» y una actividad para el comercial o el Responsable de alertas FEL.
Documentos en contingencia
Figura 59. FE-SAT › Documentos en Contingencia: lo que está emitido pero todavía no certificado.
La contingencia no es indefinida

La SAT da un plazo para certificar lo emitido en contingencia. Si un documento acumula intentos fallidos, revise el servicio del certificador y la configuración antes de que venza el plazo; el aviso al responsable es la señal.

22.Punto de venta: configuración

Qué hay que dejar listo para que cada cobro salga certificado y el ticket sirva como factura electrónica.

En el punto de venta, la FEL no es un paso aparte: cada venta se certifica al cobrar y el ticket que imprime la caja es la representación impresa del DTE. Para que eso ocurra hacen falta tres cosas.

22.1 Lo que decide que un punto de venta emita FEL

RequisitoDónde se configura
Un diario de facturación con FEL activa Ajustes del punto de venta, campo Diario de facturas. Es de ahí de donde el punto de venta toma el código de establecimiento, el nombre comercial, la dirección, las frases y el rango de contingencia.
Facturación automática Marca sola la casilla «Factura» en cada pedido, para que todo cobro genere DTE.
Un cliente por defecto Normalmente Consumidor Final, para que el cajero no tenga que elegirlo en cada venta.
Puntos de venta configurados
Figura 60. Tablero del punto de venta. Cada tienda o caja es un punto de venta con su propio diario de facturación y sus opciones de ticket.
Ficha de configuración de un punto de venta
Figura 61. Ficha del punto de venta. El módulo agrega el logotipo propio de la caja (arriba a la derecha), que se usa en el ticket y en la barra de la caja.

22.2 Opciones de facturación electrónica

Están en Punto de venta › Configuración › Ajustes, bloque Opciones Facturación Electrónica. El bloque solo aparece si el diario de facturación tiene la FEL activa.

Ajustes del punto de venta
Figura 62. Ajustes del punto de venta. Arriba se elige a qué caja se aplican los cambios; los bloques de FEL vienen más abajo en la misma página. Con una sesión abierta, algunos ajustes piden cerrarla antes.
Opciones de facturación electrónica del punto de venta
Figura 63. Bloque Opciones Facturación Electrónica: logotipo, código QR, logo FEL, facturación automática, descarga del PDF y cliente por defecto.
OpciónEfecto
Mostrar Logo / Logo Personalizado Imprime el logotipo en el ticket: el de la compañía, o el propio del punto de venta cuando se marca Logo Personalizado.
Mostrar Codigo QR y Tamaño QR Imprime el QR de verificación y su tamaño en píxeles (110 por defecto).
Mostrar Logo de FEL Imprime el distintivo oficial de factura electrónica.
Facturación Automatica Marca sola la casilla «Factura» al entrar a la pantalla de pago.
Deshabilitar Descarga de PDF Evita que el navegador descargue el PDF de la factura en cada venta, que en una caja solo estorba.
Cliente por Defecto Cliente que se asigna solo al pagar si el cajero no eligió otro.

22.3 Contingencia, anulaciones y caja registradora

Opciones de contingencia del punto de venta
Figura 64. Bloque de contingencia. Habilitar Contingencia permite vender sin conexión; los tres números salen del diario de facturación y se pueden editar desde aquí.
Opciones de anulación del punto de venta
Figura 65. Qué debe deshacer el sistema al anular desde la caja: el movimiento de inventario, el pago y la orden; y cómo se comporta la devolución.
OpciónEfecto
Cancelar Movimiento de Inventario Al anular, cancela el albarán y devuelve la existencia al almacén.
Cancelar PagoAl anular, revierte el pago registrado en la sesión.
Cancelar OrdenAl anular, deja la orden del punto de venta en estado cancelado.
Forzar Devolución hacia Pago Directamente Al hacer una devolución, lleva directo a la pantalla de pago en vez de volver a la de productos.
Habilitar Abrir Caja Registradora Bloque Opciones Visualización: agrega un botón Abrir Caja en la pantalla de productos y en la de pago para abrir el cajón de dinero.

23.Punto de venta: la venta diaria

De abrir la caja a entregar el ticket con el número de autorización.

23.1 Abrir la caja

Control de apertura de caja
Figura 66. Control de apertura: se declara el efectivo con que arranca la caja antes de empezar a vender. La barra superior ya muestra el logotipo personalizado del punto de venta.

23.2 Capturar la venta

Pantalla de productos del punto de venta
Figura 67. Pantalla de productos de la caja de Odoo 17.
Orden con líneas capturadas
Figura 68. Orden con dos productos. Los precios se manejan con IVA incluido, como exige la práctica guatemalteca, y cada línea muestra la referencia interna del producto.

23.3 Elegir el cliente

Si la venta es a Consumidor Final no hay que hacer nada: el cliente por defecto se asigna al pagar. Cuando el cliente pide factura con NIT, se busca en la lista de contactos o se crea en el momento.

Lista de clientes en el punto de venta
Figura 69. Selección de cliente desde la caja. El módulo agrega las columnas NIT, DPI y Pasaporte.
Búsqueda de un cliente por nombre
Figura 70. Búsqueda del cliente. También se puede buscar por NIT, DPI o pasaporte, que es lo práctico cuando el cliente lo dicta en la caja. Al crear un cliente desde la caja, la ficha incluye los campos Número de DPI y Pasaporte.
Orden con cliente identificado
Figura 71. Orden con el cliente identificado por NIT; ese dato es el que viajará como receptor del DTE.
El tope de Q2,500.00 también aplica en la caja

Si el total supera Q2,500.00 y el cliente es Consumidor Final sin DPI ni pasaporte, al validar aparece el aviso ERROR DE CLIENTE y la venta no se cierra hasta identificar al comprador. Es la misma regla del capítulo 12, aplicada en el momento del cobro. Si no hay ningún cliente, el aviso es AGREGAR CLIENTE.

Aviso ERROR DE CLIENTE en la pantalla de pago
Figura 72. Venta de Q2,850.00 a Consumidor Final: la caja la detiene. Basta con pulsar el cliente en la pantalla de pago y elegir a la persona con su DPI para continuar.

23.4 Cobrar y certificar

Pantalla de pago
Figura 73. Pantalla de pago con los métodos configurados. Al entrar, el botón Factura ya viene marcado por la facturación automática.
Pago en efectivo registrado
Figura 74. Pago registrado en efectivo por el total de la venta, listo para validar.

Al pulsar Validar, el punto de venta comprueba primero que hay conexión con el servidor y reserva el número de contingencia vigente; si la hay, envía la orden, el servidor crea la factura, la certifica y la caja trae de vuelta el número de autorización, la serie, el número y el tipo de DTE para imprimirlos en el ticket. Si un error de la SAT impide certificar, la caja lo muestra en un aviso ERROR DE FEL con el mensaje recibido. Un segundo clic en Validar mientras se procesa el primero se ignora, para no emitir dos DTE de la misma venta.

Pantalla de recibo tras validar la venta
Figura 75. Venta cerrada. El ticket de la derecha ya trae los datos del DTE certificado.

23.5 El ticket como representación del DTE

Ticket con datos FEL
Figura 76. Ticket de una venta con NIT: logotipo, nombre, NIT, nombre comercial y dirección del establecimiento, cajero, tipo de documento, autorización, serie, número, fechas, datos del receptor, líneas, frases del régimen, el certificador con su NIT, el distintivo FEL y el código QR.
Venta a consumidor final en el punto de venta
Figura 77. Venta a Consumidor Final: el cajero no elige cliente; al pagar se asigna el cliente por defecto.
Ticket a consumidor final
Figura 78. El mismo ticket para una venta a Consumidor Final: el receptor viaja como CF.
Ticket a un comprador identificado con DPI
Figura 79. Venta de más de Q2,500.00 a una persona sin NIT: el ticket muestra DPI como identificación del receptor.
Qué imprime el ticket

El encabezado sale del diario de facturación (nombre comercial, dirección, municipio y departamento del establecimiento), no de la ficha de la compañía. Si el ticket muestra una dirección equivocada, el campo que hay que corregir está en la pestaña Configuración FEL Guatemala del diario. Con INFILE, el QR abre el documento en el portal del certificador; con los demás certificadores, el verificador de la SAT.

23.6 Consultar ventas ya certificadas

Desde el menú de la caja (☰) › Órdenes, con el filtro Pagado:

Pantalla de órdenes con columnas FEL
Figura 80. La pantalla de órdenes agrega las columnas Número, Serie y Número de Autorización del DTE, y la columna Anular Factura para los cajeros autorizados. El buscador permite localizar una venta por número FEL, serie FEL o número de autorización FEL.

24.Punto de venta: anulaciones y devoluciones

Las dos formas de deshacer una venta y cuál corresponde en cada caso.

Anular la factura

Se usa cuando la venta no debió existir: error de captura, cliente equivocado, operación cancelada. Deja el documento anulado ante la SAT.

Nota de crédito

Se usa cuando la venta existió y el cliente devuelve parte o todo. Exige receptor identificado: la SAT no admite notas a Consumidor Final.

24.1 Anular desde la caja

  1. Entre a Órdenes y deje el filtro en Pagado.
  2. En la fila de la venta, pulse el botón de la columna Anular Factura.
  3. Si el cajero tiene activado Motivo de Cancelación en Punto de Venta, escriba el motivo y pulse Agregar; si no, confirme «¿Esta seguro de Anular la Factura?».
Orden seleccionada en la pantalla de órdenes
Figura 81. Orden seleccionada. A la derecha están sus líneas y los botones Reimprimir factura e Imprimir recibo; en la lista, la columna Anular Factura aparece solo para cajeros con Cancelar en Punto de Venta.
Captura del motivo de anulación
Figura 82. Motivo de la anulación. En Odoo 17 la caja pide un motivo libre —no el catálogo de conceptos de la SAT—, y ese texto es el que viaja como motivo de anulación.

Al confirmar, el sistema anula el DTE ante la SAT y, según la configuración del capítulo 22, cancela el albarán, revierte el pago y deja la orden cancelada. Las órdenes anuladas se consultan con el filtro Cancelada, que agrega este módulo.

Filtro de órdenes canceladas
Figura 83. Filtro Cancelada en la pantalla de órdenes. La columna Estado de la caja no distingue la anulación; guíese por el filtro.
Si necesita el concepto de la SAT

Para anular con un concepto del catálogo (001 a 009), hágalo desde la factura en contabilidad con Cancelar FEL (capítulo 19): Odoo anula el DTE y cancela también la orden del punto de venta de la que salió.

Solo con la sesión abierta

Un DTE del punto de venta se puede anular desde la caja mientras la sesión siga abierta. Una vez cerrada, el sistema responde «Solo es posible anular facturas de sesiones abiertas, favor realice una nota de crédito», porque anular movería asientos de un período ya cerrado.

24.2 Devolución con nota de crédito

Para una devolución, seleccione la venta en Órdenes, toque la línea, indique en el teclado la cantidad que regresa y pulse Reembolso. Con Forzar Devolución hacia Pago activado, la caja salta directo a la pantalla de pago con el monto negativo.

Orden seleccionada para devolución
Figura 84. Venta con NIT identificado, con una unidad de azúcar marcada para devolver («Por reembolsar: 1.00»).
Pantalla de pago de la devolución
Figura 85. Pantalla de pago de la devolución: el monto es negativo y el cliente es el de la venta original.

Al validar, la caja avisa que el documento no será una factura:

Aviso SE EMITIRÁ UNA NOTA DE CRÉDITO
Figura 86. Aviso SE EMITIRÁ UNA NOTA DE CRÉDITO, propio de esta versión: emitir la nota, quitar las líneas de devolución para emitir una factura normal, o cancelar y revisar la orden.

Con Emitir como Nota de Crédito, el servidor crea la nota de crédito electrónica enlazada al DTE original y la certifica.

Ticket de la nota de crédito
Figura 87. Ticket de la nota de crédito: tipo «Nota de Crédito», sus propios datos de autorización y el monto negativo.
Nota de crédito generada desde el punto de venta
Figura 88. La misma nota de crédito en contabilidad, ya certificada.

24.3 Cómo se ve en el backend

Factura generada por una venta del punto de venta
Figura 89. Toda venta del punto de venta genera una factura de cliente normal, con su pestaña FEL y su número de autorización.
Orden del punto de venta en el backend
Figura 90. Ficha de una orden del punto de venta en Punto de venta › Órdenes. El botón Cancelar FEL repite desde el backend lo que la caja hace desde la interfaz.
Motivo de cancelación en el backend
Figura 91. Si el usuario tiene activado el motivo de cancelación, Cancelar FEL pide el Motivo antes de pulsar Cancelar Factura; sin el permiso Cancelar en Punto de Venta, el botón responde «No tiene permisos para realizar la anulación».
Pestaña FEL de una orden del punto de venta
Figura 92. Pestaña FEL de la orden: DTE, número de autorización, serie y fecha de autorización, tomados de la factura que generó la venta.
Pestaña FEL de una orden anulada
Figura 93. Pestaña FEL de una orden anulada: además de los datos del DTE aparece el grupo Anulación con el motivo registrado.
Factura del punto de venta anulada
Figura 94. La factura que generó esa venta queda anulada ante la SAT, con la cinta CANCELADA FEL.
Ticket FEL impreso desde el backend
Figura 95. Reporte Ticket FEL (menú Imprimir de la orden), para reimprimir desde el backend el ticket con los datos del DTE, el distintivo FEL y el QR.

25.Punto de venta: contingencia

Vender sin conexión y certificar después, sin detener la caja.

La caja es donde la contingencia importa de verdad: una tienda no puede dejar de vender porque se cayó el enlace. En Odoo 17 el módulo cubre dos situaciones.

25.1 La caja no alcanza al servidor

Al validar una venta, el punto de venta intenta contactar al servidor de Odoo. Si no lo consigue y Habilitar Contingencia está activo, toma el siguiente número de acceso del rango, cierra la venta e imprime el ticket con ese número. La orden se envía al servidor en cuanto vuelve la conexión (por ejemplo, al recargar la caja), y ahí se crea su factura en contingencia.

  • Si la contingencia no está habilitada, la venta no se cierra: «Debe estar en línea para poder continuar, ya que no tiene la contingencia activa».
  • Si se agotó el rango: «Llegó al límite de números habilitados, por favor contacte al administrador del sistema».

25.2 El servidor responde, pero el certificador no

Si la caja sí llega al servidor pero el certificador no responde, la factura pasa a contingencia en el servidor (capítulo 21) y la caja imprime el ticket con el número de acceso que le asignó el diario.

Venta cerrada en contingencia
Figura 96. Venta cerrada sin respuesta del servidor: la caja no se detiene.
Ticket emitido en contingencia
Figura 97. Ticket emitido en contingencia. En lugar de la autorización aparece DOCUMENTO EN CONTINGENCIA con su NÚMERO DE ACCESO, la leyenda «Emisión en contingencia, obtenga su DTE certificado en el sitio web» y el QR que apunta al verificador de la SAT en modo contingencia.

25.3 Qué pasa después

Las ventas quedan en el backend con estado Contingencia FEL y su número de acceso. La tarea programada las certifica cuando el servicio vuelve, y entonces obtienen su número de autorización definitivo.

Factura del punto de venta en contingencia
Figura 98. Factura generada por la venta en contingencia, enlazada a su orden de la caja.
Cerrar la sesión con documentos pendientes

Al cerrar una sesión de caja, el sistema revisa que ninguna venta haya quedado sin firma ni número de acceso. Si encuentra alguna, no deja cerrar: «Favor verifique que estas facturas tengan firma o numero de acceso FEL». Las ventas en contingencia sí permiten cerrar, porque tienen número de acceso.

26.Punto de venta: permisos del cajero

Quién puede anular, quién debe justificar y qué tipo de documento emite cada usuario.

Los módulos agregan a la ficha de cada usuario (Ajustes › Usuarios) la pestaña FEL:

CampoEfecto
Tipo de Factura por Defecto Tipo de DTE que usa el usuario cuando el diario dice «Usuario» (capítulo 11). En el punto de venta se respeta si es factura, factura cambiaria, de exportación, nota de débito o recibo; con cualquier otro valor, la caja emite FACT.
Cancelar en Punto de Venta Habilita la columna Anular Factura de la caja y el botón Cancelar FEL de la orden en el backend. Sin él, el cajero no puede anular ventas.
Motivo de Cancelación en Punto de Venta Obliga a escribir un motivo al anular.
Pestaña FEL de un usuario
Figura 99. Pestaña FEL del cajero de la base de demostración: emite facturas normales y puede anular en la caja sin escribir motivo.
Lista de usuarios
Figura 100. Usuarios de la base de demostración. Los permisos de FEL y de caja se asignan uno por uno en la ficha de cada usuario.
Restricción por caja

En Odoo 17 estos módulos no restringen qué punto de venta ve cada cajero: eso se controla con los permisos estándar del punto de venta (grupo Usuario o Administrador).

27.Monitoreo: el menú FE-SAT

El tablero desde el que se controla, todos los días, qué se certificó y qué quedó pendiente.

La aplicación FE-SAT agrupa todos los documentos electrónicos, sin importar el diario ni el tipo. Está reservada al grupo Encargado Factura Electronica.

27.1 Documentos electrónicos

VistaQué muestra
Todos los Documentos Todo lo que llegó a tener trato con la SAT: certificado, con error, en contingencia, anulado o pendiente de anulación.
Documentos CertificadosLo que quedó bien.
Documentos con ErrorLa bandeja de trabajo: lo que hay que corregir.
Documentos en ContingenciaEmitidos sin conexión, pendientes de certificar.
Documentos CanceladosAnulados y anulaciones extemporáneas pendientes.
DTE sin registrarDTE que el certificador emitió y Odoo no alcanzó a guardar (capítulo 20).
Todos los documentos electrónicos
Figura 101. FE-SAT › Todos los Documentos. La lista es de solo lectura y trae, además del estado, dos accesos por fila: DESCARGAR el PDF del certificador y VER EN SAT, la verificación pública.
Documentos certificados
Figura 102. Documentos certificados, con su tipo de DTE, serie, número, número de autorización y fecha de emisión.

27.2 Rutina diaria sugerida

  1. Abrir Documentos con Error. Si hay algo, corregirlo y pulsar Certificar FEL.
  2. Abrir Documentos en Contingencia. Si hay documentos de días anteriores, revisar el servicio del certificador y usar Procesar Contingencia FEL.
  3. Abrir DTE sin registrar y resolver lo pendiente.
  4. Al cierre del mes, contrastar Documentos Certificados contra el libro de ventas y contra lo que muestra la Agencia Virtual de la SAT.

27.3 Sesiones y órdenes del punto de venta

Sesiones del punto de venta
Figura 103. Sesiones de caja. Antes de cerrar una sesión conviene revisar que no queden ventas sin certificar ni número de acceso.
Órdenes del punto de venta en el backend
Figura 104. Órdenes del punto de venta. Cada una enlaza con la factura que generó y, a través de ella, con su DTE; la devolución aparece como «REEMBOLSO».

28.La factura impresa y la cuenta ajena

La representación gráfica del DTE y el cobro por cuenta de terceros.

28.1 La representación impresa

El DTE legalmente es el XML; lo que se le entrega al cliente es su representación gráfica. Cuando el documento está certificado, Odoo imprime la plantilla FEL con los datos fiscales: serie, número DTE, número de autorización, fecha de certificación, certificador con su NIT, las frases del régimen, el total en letras y el código QR de verificación. Mientras no está certificado, imprime la factura estándar de Odoo.

Factura electrónica impresa
Figura 105. Representación impresa de una factura certificada con el diseño «Bold»: documento tributario electrónico, emisor inscrito, receptor, líneas, total en letras, frases, número de autorización, certificador y QR.
Nota de crédito impresa
Figura 106. La misma plantilla aplicada a una nota de crédito: agrega la autorización, el número y la serie del documento de origen.

El diseño se configura en la compañía, pestaña Diseño de Factura FEL Guatemala:

  • Plantilla: 18 diseños (Bold, Clásico, Corporativo, Moderno, Pulido, Vintage, Infile Clásico, Odoo, Minimalista, Banda, Lateral, Compacto, Tarjetas, Panorama, Lienzo, Columna, Geométrico y Ticket FEL GT), con Usar como Plantilla Predeterminada, Vista previa en PDF y Contenido extra.
  • Estilo: estilo de tabla, densidad, esquinas redondeadas, posición del QR, fuente y su tamaño, pie de página.
  • Colores del tema, de la compañía y del cliente.
  • Columnas de la Tabla y Bloques del Documento: qué columnas y qué datos mostrar (numeración, código, unidad, descuento, impuestos, imagen del producto, emisor, contacto, pedido de origen, vencimiento, moneda, comercial, total en letras, pagos, notas, QR y logo FEL).
  • Textos Adicionales (datos de pago y nota de cierre), Marca de Agua y Firma.

La plantilla también se puede cambiar por documento, en el campo Plantilla Factura de la factura.

Pestaña de diseño de la factura FEL
Figura 107. Pestaña Diseño de Factura FEL Guatemala de la compañía.
El PDF del certificador

El botón VER DOCUMENTO ELECTRÓNICO descarga el PDF que genera el propio proveedor. Es útil cuando el cliente exige el formato oficial del certificador o cuando hay que demostrar qué fue lo que quedó registrado.

28.2 Cobros por cuenta ajena

Algunas empresas cobran, dentro de su factura, montos que no son ingreso propio: derechos arancelarios, tasas de terceros, cobros por cuenta de otro contribuyente. La SAT lo contempla como cuenta ajena y exige detallar cada documento de tercero.

Se habilita en la compañía, pestaña Configuración Certificador FEL Guatemala, grupo Configuración Cuenta Ajena: la casilla Cuenta Ajena, el Producto de Cuenta Ajena y, opcionalmente, un NIT y una descripción por defecto. En las facturas de cliente aparece entonces el botón Cuenta Ajena, que abre un asistente donde se captura, por cada documento de tercero, el NIT, el número, la fecha, la descripción y la base imponible.

Asistente de cuenta ajena
Figura 108. Asistente Cuenta Ajena con un documento de tercero. La descripción viene de la descripción por defecto de la compañía.

Al Confirmar, los documentos quedan en la pestaña Cuenta Ajena de la factura. Al certificar, Odoo envía el complemento CobroXCuentaAjena con cada documento (IVA calculado al 12 % sobre la base) y agrega a la factura una línea «Cobros por Cuenta Ajena» sin impuestos por el total de las bases. Si la factura se restablece a borrador, esa línea se elimina.

29.Usuarios, permisos y automatizaciones

Quién puede hacer qué, y qué hace el sistema solo.

29.1 Los grupos de seguridad

GrupoPermite
Facturación Electrónica › Usuario Factura Electronica Facturar, ver la pestaña FEL, anular DTE con Cancelar FEL y volver a certificar.
Facturación Electrónica › Encargado Factura Electronica Todo lo anterior más la aplicación FE-SAT, las credenciales del certificador, la pestaña de la compañía, la bitácora de envíos, descartar DTE sin registrar y editar contactos bloqueados.
Validador NIT/DPI › Usuario Dispara la consulta automática de NIT y DPI al crear contactos.
Punto de venta › Usuario / Administrador Operar la caja y configurarla; los permisos de anulación en la caja son los del capítulo 26.
Permisos de acceso de un cajero
Figura 109. Permisos del cajero: punto de venta como usuario y facturación electrónica como usuario, sin acceso de encargado.
Después de instalar, asigne los grupos

Recién instalado el módulo, el grupo de encargado solo lo tiene el superusuario del sistema —ni siquiera el usuario administrador habitual—. Sin ese grupo no se ven la aplicación FE-SAT ni las credenciales del certificador. Asignar los grupos es el primer paso después de instalar.

29.2 Tareas programadas

TareaCadaQué hace
Procesamiento de facturas en contingencia10 min Reintenta certificar lo que quedó en contingencia, con espera creciente entre intentos y un tope de 8, y avisa cuando un documento acumula demasiados intentos (capítulo 21).
Certificación FEL diferida (ecommerce)15 min Reintenta los documentos diferidos hasta agotar los intentos configurados.
Tareas programadas del módulo
Figura 110. Las dos tareas programadas que instala el módulo. En la base de demostración la de contingencia se dejó desactivada a propósito, para conservar visibles los documentos en contingencia; en producción ambas deben estar activas.

30.Problemas frecuentes

Los avisos que más aparecen y qué hacer con cada uno.

SíntomaCausa y solución
«Favor agregar el tipo de Factura, previo a validarla» El campo Tipo de Factura quedó en «Ninguno». Elíjalo o configure un tipo por defecto en el diario o en el usuario.
«Por favor ingrese el registro fiscal de la empresa emisora» Falta el nombre inscrito en la SAT en el campo ID de la empresa de la compañía (capítulo 5).
«Por favor ingrese el Código de Establecimiento FEL…» Ni el diario ni la compañía tienen código de establecimiento.
«Por favor ingrese la fecha de vencimiento de la factura» La FEL exige fecha de vencimiento incluso al contado. Revise los términos de pago.
«Las líneas de Factura deben de llevar impuesto (IVA).» o «El impuesto … no tiene clasificación del Impuesto» Una línea no tiene impuesto o el impuesto no tiene Tipo impuesto FEL (capítulo 10).
«No se pueden emitir facturas con un monto mayor a Q 2,500.00 a un NIT CF…» Registre el NIT del cliente, o su DPI o pasaporte si no tiene NIT.
«El NIT … que ingresó no es válido» El servicio de consulta no encontró ese NIT. Verifíquelo con el cliente; no lo fuerce marcando No Validar NIT con Certificador salvo que sepa que es correcto.
«SAT no admite Nota de Crédito con receptor Consumidor Final…» Anule el documento original dentro del plazo y emita uno nuevo con los datos correctos (capítulos 18 y 19).
«El plazo para anular en línea este DTE a Consumidor Final venció el…» Es un DTE a Consumidor Final fuera del plazo. Habilite la anulación extemporánea si corresponde, o gestione la anulación con la SAT.
«No fue posible anular el documento FEL con el certificador; intente nuevamente.» El certificador no confirmó. El documento sigue vigente ante la SAT: reintente. No lo dé por anulado.
«La factura ya ha sido anulada en SAT, por lo que no puede ser restablecida a borrador…» Un DTE anulado no se reutiliza: cree una factura nueva.
«Solo es posible anular facturas de sesiones abiertas, favor realice una nota de crédito.» La sesión de caja ya se cerró. Emita una nota de crédito (capítulo 24).
«Favor verifique que estas facturas tengan firma o numero de acceso FEL» Hay ventas sin certificar ni número de acceso en la sesión que intenta cerrar. Certifíquelas o déjelas en contingencia.
«Debe estar en línea para poder continuar, ya que no tiene la contingencia activa.» La caja no alcanza al servidor y el punto de venta no tiene Habilitar Contingencia. Recupere la conexión o actívela.
«FEL-GUI-88 … La firma del emisor no esta vigente…» La firma electrónica del emisor ante el certificador venció. Solicite su renovación; mientras tanto todo documento será rechazado.
«Su usuario ha sido bloqueado por alto numero de errores» El certificador bloqueó al emisor por repetir solicitudes fallidas. Corrija la causa de los rechazos y pida el desbloqueo; no siga reintentando.
La factura en borrador muestra «Esta factura ya se certificó en SAT en un intento anterior…» Hay un DTE sin registrar para ella: al confirmarla se reutilizará (capítulo 20).
El documento se certificó pero no imprime el QR Falta en el servidor la librería que dibuja los códigos de barras. Es un tema de instalación, no de configuración: solicítelo a su proveedor de hosting.
El ticket muestra una dirección equivocada El encabezado del ticket sale del diario de facturación del punto de venta, no de la ficha de la compañía (capítulo 23).
Un documento se quedó «Pendiente de certificar» o en contingencia Revise que las dos tareas programadas estén activas (capítulo 29) y lea el último error en la pestaña FEL.

31.Anexos

Referencia rápida para consultar sin leer el capítulo completo.

31.1 Tipos de DTE

CódigoDocumentoSe emite desde
FACTFacturaFactura de cliente
FCAMFactura cambiariaFactura de cliente
FEXPFactura cambiaria de exportaciónFactura de cliente
FESPFactura especialFactura de proveedor
NCRENota de créditoBotón «Nota de crédito»
NDEBNota de débitoBotón «Nota de débito»
NABNNota de abonoRectificativa de cliente
RECIRecibo / donación / anticipoDiario marcado como recibo
FPEQ / FCAPFactura / cambiaria de pequeño contribuyente Automático en compañías de pequeño contribuyente

31.2 Estados de certificación

EstadoAcción típica
Sin certificarNinguna: es el estado de borradores e históricos.
Pendiente de certificarEsperar el reintento automático.
Error en datos FELCorregir y pulsar Certificar FEL.
CertificadaEntregar al cliente.
Contingencia FELEsperar a la tarea programada o pulsar Procesar Contingencia FEL.
Anulación extemporánea pendienteConfirmar el resultado con la SAT.
Anulada FELEmitir el documento correcto si corresponde.

31.3 Conceptos de anulación (catálogo SAT)

CódigoConcepto
001Error en los datos de la descripción
002Error en el precio unitario
003Error en el total del DTE
004No cancelación del bien y/o servicio
005Cancelación de la operación
006Devolución de producto
007Emisión con moneda incorrecta
008Datos incorrectos del receptor
009Otros (requiere detalle)

31.4 Tipos de frase

TipoFamiliaFrases disponibles
1Retención del ISR3
2Agente de Retención del IVA1
3No genera derecho a crédito fiscal1
4Exento o no afecto al IVA32
5Factura especial1
6Régimen Especial de Contribuyente Agropecuario2
7Regímenes electrónicos2
8Exento del ISR11
9Frases especiales14

31.5 Campos técnicos más consultados

CampoContenido
fel_gt_uuidNúmero de autorización del DTE
fel_gt_serie / fel_gt_dte_numberSerie y número
fel_gt_dte_dateFecha y hora de autorización
fel_gt_stateEstado de la certificación
fel_gt_invoice_typeTipo de DTE
fel_gt_contingency_access_numberNúmero de acceso de contingencia
fel_gt_cancel_reason_codeConcepto de anulación
fel_gt_cert_errorÚltimo error devuelto por la SAT
fel_gt_dpi_number / fel_gt_passport_number DPI y pasaporte del contacto

31.6 Glosario

TérminoSignificado
DTEDocumento Tributario Electrónico.
FELFacturación Electrónica en Línea, el régimen de la SAT.
CertificadorEmpresa autorizada que firma y registra los DTE.
Número de autorizaciónUUID que identifica al DTE ante la SAT.
Serie y númeroIdentificación del DTE dentro del establecimiento emisor.
Código de establecimientoNúmero que la SAT asigna a cada sucursal.
FraseLeyenda normada que declara régimen o exención.
AdendaInformación adicional sin efecto tributario dentro del DTE.
Número de accesoCorrelativo provisional para emitir en contingencia.
CFConsumidor Final: receptor no identificado.
CUICódigo Único de Identificación del DPI.

31.7 Enlaces útiles

  • Verificador público de DTE de la SAT — comprobar un documento por su número de autorización.
  • Agencia Virtual de la SAT — consulta de documentos emitidos y recibidos.
  • Portal de su certificador — consumo de créditos, estado del servicio y descarga de XML.
Logotipo de mrdc.tech
mrdc.tech
Guatemalan based, for all the world

Manual de Facturación Electrónica FEL — Odoo 17 con localización de Guatemala.
Implementación, soporte y desarrollo a la medida sobre Odoo: facturación electrónica de Guatemala, El Salvador y Panamá, pasarelas de pago, aplicaciones móviles e integraciones con inteligencia artificial.

mrdc.tech · info@mrdc.tech · +502 4288 7385