# Estación Fiscal Gustito

Memoria técnica del sistema. Sirve para dos cosas: como manual del producto y
como recaudo del trámite (Providencia SNAT/2024/000102, artículos 25 y 26;
Providencia SNAT/2024/000121, artículos 3 y 4).

Última actualización: 28 de julio de 2026.

---

## 1. Qué es y dónde corre

Programa instalable que corre en un equipo del negocio. **Una instalación, un
RIF.** No es un servicio compartido: cada contribuyente tiene su propia estación
con su propia configuración, su propio libro y su propia numeración.

Escucha únicamente en `127.0.0.1:8739`, o sea solo en la máquina donde está
instalado. No se expone a la red del local ni a internet.

Se entrega como un solo archivo ejecutable, sin instalador ni dependencias.

## 2. Qué hace y qué no hace

**Hace:** recibe la venta ya cobrada, calcula la base imponible y el impuesto
por renglón, numera el documento, lo sella, lo guarda en el libro fiscal, lo
transmite a la imprenta digital autorizada, imprime la representación gráfica y
entrega el documento al cliente.

**No hace:** no toma pedidos, no cobra, no administra el negocio. El sistema de
gestión (Gustito Xpress) le entrega la venta cerrada y recibe de vuelta el
número del documento. Esa frontera es deliberada: el sistema de gestión cambia
seguido, y lo fiscal no puede cambiar sin autorización.

## 3. Integridad e inalterabilidad (000121, art. 3)

**El libro fiscal solo agrega.** No existe función de modificar ni de eliminar
un asiento, ni siquiera para el fabricante del software. Un error se corrige
únicamente emitiendo una nota de crédito o de débito que referencia al documento
original, con su motivo; el documento original permanece intacto.

**Cadena de sellos.** Cada asiento incluye el sello (hash SHA-256) del asiento
anterior, calculado sobre su contenido completo. Alterar un documento cualquiera
rompe la cadena desde ese punto en adelante, y la verificación indica en cuál
línea ocurrió. Esa verificación la puede ejecutar el propio funcionario fiscal
desde su pantalla de consulta, sin depender del negocio.

**Escritura durable.** Cada asiento se confirma a disco (fsync) antes de darse
por bueno: un corte de energía deja el asiento completo o no lo deja, nunca a
medias.

**Sin duplicados.** Un mismo documento no se asienta dos veces aunque el sistema
de gestión reintente por una caída de red.

## 4. Numeración (000121, art. 3)

Automática y consecutiva, asignada por el propio libro. Ningún proceso externo
puede elegir, saltar ni reservar un número. Se llevan dos correlativos: número
de documento por tipo, y número de control continuo.

El número de control con validez fiscal lo asigna la imprenta digital autorizada
al recibir el documento, y queda amarrado al asiento correspondiente.

## 4.0 Proveedor de respaldo y trazabilidad del número de control

El sistema permite tener configurado un segundo proveedor de imprenta digital
autorizada, previsto para el caso de que el principal deje de prestar servicio.
Se sujeta a estas reglas, que constan en el propio programa:

1. **Un solo proveedor emite a la vez.** La configuración lleva un único
   indicador de cuál está en uso; no existe forma de que dos numeren en
   paralelo, ni automática ni manual.
2. **El cambio es un acto deliberado del responsable**, nunca automático. Un
   cambio automático ante una falla de red produciría numeración desde dos
   fuentes distintas por un mismo hecho imponible.
3. **Queda registrado quién lo hizo y cuándo** en la bitácora inalterable
   (sección 6), con el proveedor de origen y el de destino.
4. **Cada documento conserva cuál proveedor le asignó su número de control**, y
   ese dato aparece en la consulta y en la exportación que se entrega al
   funcionario fiscal (sección 7).

La numeración propia del sistema (correlativo por tipo y número de control
interno) es **continua e independiente del proveedor**: cambiar de imprenta no
reinicia, no salta ni duplica ningún correlativo del libro.

Esta previsión no constituye contabilidad alterna ni duplicidad de emisión: es
continuidad operativa entre proveedores autorizados, análoga al derecho del
contribuyente de cambiar de imprenta.

## 4.1 El serial de la estación

Cada estación instalada tiene un serial único e irrepetible (formato
EF-NNNNN-D, correlativo con dígito verificador), asignado por la imprenta al
registrar al contribuyente, análogo al registro de una máquina fiscal. El
contribuyente no lo elige ni lo puede modificar: la estación lo recibe por su
enlace autenticado y lo conserva.

El serial se muestra en la pantalla de la estación, consta en el contrato de
servicio y se imprime en el pie de cada documento emitido. Cualquier persona,
incluido el funcionario fiscal, puede comprobarlo públicamente en
`sello.gustitoxpress.app/verificar`, que responde la razón social, el RIF y el
estado del servicio (activo o suspendido) de la estación consultada.

## 4.2 Representación impresa y tipografía mínima (000102, arts. 30 y 31)

El contenido de la factura se coteja numeral por numeral contra el artículo 7
de la Providencia SNAT/2024/000102 en el documento `COTEJO_ART7.md`, que forma
parte de estos recaudos.

El número de control se imprime con la forma que ordena el artículo 30: la
frase "N° de Control" (en el papel térmico, "N. de Control", por la limitación
ASCII descrita más abajo), un identificador de dos dígitos y un secuencial de
hasta ocho dígitos, tal como lo responde la imprenta digital.

Dimensiones tipográficas (artículo 31): la norma exige un mínimo de ocho
puntos tipográficos para la identificación del emisor y el número de control,
y de seis puntos para la identificación de la imprenta digital autorizada. La
representación impresa se produce en impresoras térmicas de 80 mm por comandos
ESC/POS, y la estación selecciona de forma EXPLÍCITA la fuente A del estándar
(matriz de 12x24 puntos de impresión). A la resolución de estas impresoras
(203 puntos por pulgada), cada carácter mide 3,0 mm de alto, equivalentes a
unos 8,5 puntos tipográficos: todo el documento, incluidos los datos del
emisor, el número de control y la identificación de la imprenta, se imprime
por encima del mínimo más exigente. La selección explícita de la fuente evita
que una impresora configurada de fábrica en fuente B (9x17, unos 6 puntos)
imprima por debajo del mínimo. El documento no usa ningún comando que reduzca
el tamaño de la letra.

En la representación para teléfono y demás pantallas, los mismos datos se
muestran con la tipografía normal del navegador (16 píxeles, unos 12 puntos),
también por encima del mínimo.

## 4.3 Aplicación de la Ley del IVA (000121, art. 3)

El sistema aplica las cuatro alícuotas vigentes de la Ley del IVA: general
(16%), reducida (8%), general más adicional para bienes y servicios suntuarios
(31%) y operaciones exentas (0%). Cada renglón del documento lleva su alícuota
y su desglose de base imponible e impuesto, y el documento presenta además el
desglose consolidado por alícuota. Se soportan precios con el impuesto
incluido (la base se extrae hacia atrás) y precios más impuesto.

Una alícuota que no exista en la ley, o que venga ausente, impide el sellado
del documento por cualquiera de las vías de entrada (sistema de gestión,
interfaz de programación de terceros o buzón de intercambio): faltar no se
interpreta como exento. La nota de crédito reversa el impuesto por cada
alícuota por separado. El IGTF (Providencia SNAT/2022/000013) está programado
y desactivado, por cuanto el contribuyente no es sujeto pasivo especial; los
comprobantes de retención de IVA recibidos se registran conforme a la sección
7.4.

## 5. Transmisión (000121, art. 3, numeral 2)

La remisión es automática e inmediata: cada documento se transmite apenas se
sella, no en lotes.

**El cobro nunca espera a la red.** El documento se sella y se guarda primero, y
la transmisión ocurre en paralelo. Si no hay conexión, el documento queda en
cola y se reintenta en orden estricto, sin duplicar ni saltarse ninguno, hasta
que salga. El estado de transmisión se guarda aparte del libro, porque el libro
es inmutable y el estado de envío cambia.

Si la imprenta rechaza un documento por datos inválidos, queda marcado y
señalado para revisión humana, sin bloquear la cola ni borrarse del libro.

## 6. Registro de eventos (000121, art. 3)

Bitácora encadenada por sellos, igual que el libro: quién, qué, cuándo y desde
qué dirección. Registra el sellado de cada documento, las notas de crédito, los
eventos de transmisión y **todas las consultas del funcionario fiscal**,
incluidas las exportaciones.

## 7. Acceso del SENIAT (000121, art. 3, numeral 8)

La estación provee una clave de consulta independiente de la del negocio. Con
ella, el funcionario puede:

- Consultar documentos por rango de fechas.
- Ver los totales del período con su desglose por alícuota.
- Exportar la relación en archivo plano (CSV).
- Ejecutar la comprobación de integridad del libro.

Ese acceso es **solo de lectura**: no existen funciones de emisión, anulación ni
configuración en esa puerta. Las claves se almacenan derivadas con scrypt y sal,
nunca en texto plano, y el acceso se bloquea temporalmente tras varios intentos
fallidos.

## 7.1 Control de acceso por rol dentro de la estación

La estación no opera sin clave: al instalarse, la primera pantalla obliga a
establecer la del responsable del negocio. A partir de ahí, cada función exige
identificación y las atribuciones están separadas:

| Rol | Puede | No puede |
|---|---|---|
| Responsable (dueño) | Configurar los datos del emisor, emitir notas de crédito, administrar claves, consultar la bitácora, registrar y anular comprobantes de retención recibidos (sección 7.4) | |
| Cajero | Consultar el estado de la estación y reintentar transmisiones pendientes | Configurar, anular, administrar claves, ver la bitácora |
| Funcionario fiscal | Consultar y exportar (sección 7) | Cualquier operación de escritura |

Los sistemas del contribuyente (punto de venta, comandas) entregan la venta por
la interfaz de programación con una **credencial de equipo** independiente de
las credenciales personales, que el responsable puede renovar. Esa credencial no
habilita ninguna función administrativa, y ninguna sesión personal habilita la
entrega de ventas: son puertas distintas.

El punto de venta local del negocio (el sistema de comandas que corre en la
misma computadora) entrega cada venta cerrada por esa interfaz **en el momento
del cobro y sin depender de internet**: la estación sella de inmediato y la
transmisión sale cuando hay conexión (sección 5). La misma venta puede llegar
además por el canal en línea del sistema de gestión; el libro la reconoce por su
identificador de origen y responde con el documento ya emitido, de modo que no
existe vía por la que una misma operación genere dos documentos.

Toda operación administrativa queda registrada en la bitácora con el rol que la
ejecutó, incluida la anulación por nota de crédito, el cambio de configuración y
el cambio de claves. Las sesiones no se persisten en disco y expiran a las 8
horas; el cambio de una clave invalida de inmediato las sesiones abiertas de ese
rol.

## 7.2 Certeza de la fecha y hora

La fecha y hora del documento provienen del reloj del equipo, que es
manipulable por el operador. La estación aplica dos controles y **se abstiene de
sellar** mientras alguno señale una hora no confiable:

1. **Contra una referencia externa.** La estación compara su reloj con una hora
   de referencia en línea al iniciar y cada quince minutos. Una diferencia mayor
   a cinco minutos suspende la emisión hasta que se corrija; la diferencia se
   confirma con una segunda lectura antes de suspender, para no interrumpir la
   operación por una falla momentánea de la red.
2. **Contra el propio libro.** Ningún documento puede sellarse con fecha
   anterior a la del último documento ya asentado. Este control no requiere
   conexión y detecta el atraso deliberado del reloj aunque el local esté sin
   servicio de internet.

Ambas situaciones quedan registradas en la bitácora, y la pantalla de la
estación informa el estado del reloj en todo momento. Las ventas recibidas
mientras la emisión está suspendida **no se pierden**: quedan en el buzón de
entrada y se sellan al corregirse la hora. Si la referencia externa no está
disponible durante más de seis horas, la suspensión por ese control se levanta
para no dejar al contribuyente sin poder facturar, y permanece vigente el
control contra el libro.

## 7.3 Contingencia

Ante una interrupción total (energía, conectividad o el propio equipo), el
contribuyente factura mediante talonario manual, que es el procedimiento de
contingencia previsto. Restablecido el servicio, la estación permite **cargar
esos documentos** con el número preimpreso y la fecha real de emisión, de modo
que el período no quede incompleto.

Estos documentos se distinguen de los demás en el libro y en los reportes: no
reciben numeración de la estación (el formulario ya la trae impresa) y no se
transmiten como emisión propia, porque no fueron emitidos por este sistema. Su
efecto es exclusivamente registral, y **se computan en el período en que fueron
emitidos**, no en aquel en que se cargaron. La carga duplicada del mismo número
es rechazada.

## 7.4 Comprobantes de retención recibidos (Providencia SNAT/2025/000054)

Cuando un agente de retención del IVA paga una factura del contribuyente,
retiene el 75% o el 100% del impuesto y entrega un comprobante. Ese comprobante
constituye crédito contra la cuota tributaria del período. La estación **no
emite** comprobantes de retención (los emite el agente): los **registra**, para
que el período cuadre y el crédito quede documentado.

El registro sigue las mismas reglas del libro: archivo de solo agregado con
sincronización a disco en cada asiento, número de comprobante único entre los
vigentes, RIF del agente validado con su dígito verificador, y corrección
exclusivamente por **contramarca de anulación** con motivo obligatorio (el
registro original permanece). Cada comprobante se computa en el período de la
fecha que trae impresa, no en el de su carga. El registro y la anulación son
atribuciones exclusivas del responsable, quedan en la bitácora con el rol que
las ejecutó, y el resumen del período (cantidad de comprobantes vigentes y
monto retenido en bolívares) puede exportarse en archivo de valores separados
con las mismas protecciones del reporte general.

## 8. Resguardo de la información (000102, art. 25)

Respaldo cifrado con AES-256-GCM, asiento por asiento, lo que mantiene el
archivo de respaldo también de solo agregado. La frase de recuperación la
custodia el negocio y no se almacena junto al respaldo. Un respaldo alterado o
abierto con una frase incorrecta no se puede leer y el sistema lo informa.

**Copia fuera del equipo.** El respaldo se remite además a un depósito externo,
de forma incremental y automática: la estación consulta hasta qué asiento tiene
el depósito y envía únicamente lo que falta. Los asientos viajan y se almacenan
**cifrados**, de modo que el depositario custodia sin poder leer el contenido de
los documentos ni los datos de los adquirentes, en cumplimiento del artículo 25
de la Providencia 000102. En el depósito, cada línea almacenada es inmodificable
por diseño: cualquier intento de alteración es rechazado por el motor de base de
datos.

La recuperación está prevista y probada: en una instalación nueva, con el RIF
configurado y la frase de recuperación que custodia el contribuyente, la estación
descarga el respaldo, lo descifra, reconstruye el libro y **verifica la cadena de
sellos completa** antes de darlo por restaurado. Un libro que ya contenga
documentos nunca es sobrescrito.

## 9. Confidencialidad

La página pública de comprobación (el sello impreso en cada documento) muestra
únicamente emisor, RIF, tipo, número, número de control, fecha y monto. **Nunca
el detalle de lo consumido por el cliente.** El código impreso contiene un
identificador opaco de 128 bits que no permite deducir ningún otro documento, y
la consulta pasa por un enrutador que resuelve internamente, sin exponer rutas
ni identificadores reales.

## 10. Versiones (000121, arts. 9 al 11)

**Este programa no se actualiza solo.** Cada versión del sistema debe estar
homologada antes de ser liberada, de modo que las actualizaciones se entregan de
forma controlada y únicamente versiones aprobadas. El canal de actualización
está deliberadamente separado del resto de los programas del mismo proveedor.

## 11. Equipos y programas (000102, art. 26)

- Equipo del negocio: computador con Windows, sin requisitos especiales.
- El programa se entrega como un ejecutable único (aproximadamente 90 MB) que
  incluye su propio motor de ejecución. No requiere instalación de terceros.
- Almacenamiento: archivos de texto plano estructurado (JSONL) junto al
  programa, auditables con cualquier herramienta, más el respaldo cifrado.
- Conexión a internet: necesaria para transmitir, pero el sistema opera y sella
  documentos sin ella, transmitiendo al restablecerse.

## 12. Verificación

El sistema se acompaña de una batería de pruebas automatizadas que se ejecuta
con `npm run prueba` y cubre, entre otros casos: manipulación del libro por
fuera del sistema, caída de red a mitad del servicio, apagón con documentos sin
transmitir, rechazo de la imprenta, intentos de acceso sin clave, y
recuperación completa a partir del respaldo cifrado.

Al 2 de agosto de 2026: 24 suites de prueba (`test/*.mjs`, encadenadas en
`npm run prueba`), todas satisfactorias. Entre ellas, el reporte del período
para el fiscal incluye el IGTF percibido (columna `igtf_usd` en el CSV de
`auditor.ts`).
