Resumen Financiero y Fiscal
Ventas del Periodo
{{ fmtBS(resumen.ventas_totales) }}
{{ resumen.num_facturas }} facturas
Gastos Deducibles
{{ fmtBS(resumen.egresos_fiscales) }}
{{ resumen.num_egresos_fiscales }} facturas · {{ resumen.num_egresos_no_fiscales }} no fiscales {{ fmtBS(resumen.egresos_no_fiscales) }}
IVA Débito - Crédito
{{ fmtBS(resumen.posicion_iva) }}
Débito {{ fmtBS(resumen.debito_fiscal) }} · Crédito {{ fmtBS(resumen.credito_fiscal) }}
Tasa BCV
{{ resumen.tasa_bcv ? fmtTasa(resumen.tasa_bcv) : '—' }}
Valor {{ resumen.tasa_bcv_fecha }} sin registrar · {{ resumen.tasa_bcv_fuente === 'BCV_WEB' ? 'BCV oficial' : (resumen.tasa_bcv_fuente === 'BCV_RESPALDO' ? 'respaldo' : 'manual') }}
Fondos disponibles
Últimas facturas
| Nro. | Cliente | Total | Estado |
|---|---|---|---|
| {{ v.numero_factura }} | {{ v.nombre_razon_social }} | {{ fmtBS(v.monto_total_bs) }} | {{ v.estatus }} |
| Sin facturas registradas | |||
Últimos gastos
| Proveedor | Nro. | Total |
|---|---|---|
| {{ g.nombre_razon_social }} | {{ g.numero_factura }} | {{ fmtBS(g.monto_total_bs) }} |
| Sin gastos registrados | ||
Ventas por categoría
{{ ventasCategoria.filas.length }} categoría(s) · clasifica por la principal · las líneas sin ítem del catálogo quedan sin categoríaSin ventas en el período.
Asistente IA
Gemini trabajando sobre los datos reales de {{ usuario.empresa_nombre }}.
Consumo de Gemini este mes
{{ ia.saldo.gasto_usd !== null ? fmtMoneda(ia.saldo.gasto_usd, ia.saldo.moneda) : '—' }}
{{ ia.saldo.estado === 'ERROR' ? (ia.saldo.desactualizado ? 'Última lectura exacta de Google' : 'Lectura de costos no disponible') : (ia.saldo.fuente === 'GOOGLE_BIGQUERY' ? 'Exportación de facturación Google' : 'Estimado por tokens') }}
Crédito prepago restante
{{ ia.saldo.prepago.restante_usd !== null ? fmtMoneda(ia.saldo.prepago.restante_usd, ia.saldo.moneda) : (ia.saldo.prepago.registrado_usd !== null ? fmtMoneda(ia.saldo.prepago.registrado_usd, ia.saldo.moneda) : '—') }}
Registrado {{ fmtUSD(ia.saldo.prepago.registrado_usd) }} el {{ ia.saldo.prepago.fecha }} · consumido desde entonces {{ fmtUSD(ia.saldo.prepago.consumo_desde_usd) }} Sin crédito registrado
Tope mensual de IA
{{ ia.saldo.presupuesto_usd !== null ? fmtMoneda(ia.saldo.presupuesto_usd, ia.saldo.moneda) : '—' }}
{{ ia.saldo.origen_presupuesto === 'GOOGLE' ? 'Budget de IA en Cloud Billing' : (ia.saldo.origen_presupuesto === 'ERP' ? 'Tope definido en el ERP' : 'Sin tope de IA definido') }}
{{ ia.saldo.porcentaje_usado }}% del tope consumido
Consumo de hoy
{{ fmtUSD(ia.saldo.consumo_hoy_usd) }}
{{ Number(ia.saldo.tokens_hoy || 0).toLocaleString('es-VE') }} tokens · {{ ia.saldo.llamadas_mes || 0 }} llamadas en el mes
Lecturas de documentos este mes
{{ ia.vision_usadas || 0 }} / {{ ia.vision_limite }}
Se reinicia el día 1 de cada mes.
Lecturas disponibles
{{ iaLecturasRestantes() }}
Facturas y catálogos leídos con la IA de CuadraFlow.
Asistente (chat)
Sin límite
Las preguntas al asistente no consumen lecturas.
Está usando la IA de CuadraFlow incluida en su plan. Si carga su propia API key en Configuración, pasa a modo propio: sin límite de lecturas y con su facturación de Google.
{{ ia.saldo.prepago.mensaje }}
{{ ia.saldo.mensaje }}
La exportación de facturación se actualiza por lotes y puede tener retraso; esta cifra no representa un saldo en tiempo real.
{{ ia.saldo.estado === 'ERROR' && !ia.saldo.desactualizado ? 'Último intento:' : 'Última lectura:' }} {{ ia.saldo.actualizado_en }} · Periodo {{ ia.saldo.periodo }} · dato conservado de la última consulta exitosa
La IA todavía no está configurada
Un administrador debe cargar la API key de Gemini y configurar la exportación de facturación para consultar el costo registrado. Mientras tanto, el costo de arriba es solo una estimación por tokens.
{{ iaChatTitulo || 'Nueva conversación' }}
{{ iaChatId ? 'Guardada' : 'Sin guardar' }}Pregúntale a la IA sobre tu operación
Lecturas de documentos con IA
Cada documento procesado queda guardado. Si vuelve a subir el mismo archivo, se reutiliza el análisis y no se paga dos veces.
| Fecha | Documento | Tipo | Estado | Motor | Ítems | Tokens | Costo | Acciones |
|---|---|---|---|---|---|---|---|---|
| {{ a.creado_en }} | {{ a.archivo_nombre || '—' }} reusado ×{{ Number(a.veces_usado) - 1 }} | {{ etiquetaAccionIa(a.accion) }} | {{ a.estado }} | {{ a.motor }} | {{ a.items }} | {{ Number(a.tokens_entrada) + Number(a.tokens_salida) }} | {{ fmtCostoIa(a.costo_usd) }} | — |
| Todavía no se ha procesado ningún documento con IA. | ||||||||
Facturación (Ventas)
| Fecha | Nro. Factura | Nro. Control | Cliente | Sucursal | Total Bs | IVA | Emisión digital | Estatus | Acciones |
|---|---|---|---|---|---|---|---|---|---|
| {{ v.fecha_emision }} | {{ v.numero_factura }} | {{ v.numero_control || '—' }} | {{ v.nombre_razon_social }} | {{ v.sucursal_nombre || '—' }} | {{ fmtBS(v.monto_total_bs) }} | {{ fmtBS(v.iva_monto_bs) }} | — {{ v.estatus_hka }} QR | {{ v.estatus }} | |
| No hay facturas. Cree la primera. |
Alquileres y Depósitos
Cualquier servicio alquilable: prendas, equipos, herramientas, espacios…
Reservadas
{{ resumenAlq.reservadas }}
En la calle
{{ resumenAlq.en_calle }}
Atrasadas
{{ resumenAlq.atrasadas }}
Depósitos en custodia
{{ fmtUSD(resumenAlq.depositos_en_custodia_usd) }}
Penalizaciones
{{ fmtUSD(resumenAlq.penalizaciones_usd) }}
Próximos movimientos
Disponibilidad por ítem
{{ calendario.totales.ordenes || 0 }} orden(es) en el período · {{ calendario.totales.atrasadas || 0 }} atrasada(s)
| Ítem | {{ etiquetaDia(dia).semana }} {{ etiquetaDia(dia).dia }} |
|---|---|
| {{ item.nombre }} {{ item.codigo || '—' }} · {{ capacidadItem(item) }} u. · {{ diasOcupados(item) }} reserva(s) cruce {{ diasEnConflicto(item) }}d |
{{ c.texto }}
|
| No hay ítems alquilables en el catálogo ni reservas en el período. |
| Orden | Cliente | Evento | Devolución | Servicio | Depósito | Alquiler | Situación | Depósito | Acciones |
|---|---|---|---|---|---|---|---|---|---|
| {{ o.numero_orden }} | {{ o.nombre_razon_social }} | {{ o.fecha_evento }} | {{ o.fecha_devolucion_pactada }} · atrasada | {{ fmtUSD(o.monto_servicio_usd) }} | {{ fmtUSD(o.monto_deposito_usd) }} | {{ o.estado_alquiler }} | {{ etiquetaSituacion(o.situacion) }} | {{ etiquetaDeposito(o.estado_deposito) }} | |
| No hay órdenes de alquiler. | |||||||||
Catálogo de ítems
Las categorías son organizacionales: agrupan, filtran informes y nunca se imprimen en la factura.
| Código | Nombre | Categoría | Tipo | Precio venta | Alquiler | Depósito base | Stock | En esta sucursal | Medidas | Activo | Acciones | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ↳{{ p.codigo || '—' }} | {{ p.nombre }} {{ variantesDe(p.id).length }} variante(s) | {{ (p.categorias.find(c => Number(c.principal) === 1) || p.categorias[0]).nombre }} +{{ p.categorias.length - 1 }} — | {{ p.tipo_item }} | {{ p.tipo_item === 'Alquilable' ? '—' : fmtUSD(p.precio_usd) }} | {{ p.tipo_item === 'Alquilable' ? fmtUSD(p.precio_alquiler_usd) : '—' }} | {{ fmtUSD(p.monto_deposito_base_usd) }} | {{ p.stock_actual === null || p.stock_actual === undefined ? '—' : p.stock_actual }} | {{ p.stock_sucursal === null || p.stock_sucursal === undefined ? '—' : fmtCant(p.stock_sucursal) }} | — | {{ p.activo==1 ? 'Sí' : 'No' }} | ||
| No hay ítems en el catálogo. |
Inventario
Correcciones, merma y fabricación. Todo movimiento queda con su motivo en el historial y alimenta el libro valorizado (Art. 177 Reglamento Ley de ISLR).
Transferencias entre sucursales
Mueve mercancía de un local a otro al costo promedio. El total de la empresa no cambia: el origen descuenta y el destino recibe lo mismo.
Hacen falta al menos dos sucursales activas para transferir. Créelas en «Administrar tiendas y almacenes».
| Número | Fecha | Origen | Destino | Ítems | Valor Bs | Estado | Acciones |
|---|---|---|---|---|---|---|---|
| {{ t.numero }} | {{ fmtFecha(t.fecha) }} | {{ t.origen_nombre }} | {{ t.destino_nombre }} | {{ t.total_items }} | {{ fmtBS(t.monto_bs) }} | {{ t.estado }} | |
| Sin transferencias registradas. | |||||||
Movimientos de inventario
Todo lo que entró y salió, con su motivo. Para compras use Gastos & Compras: generan la entrada solas.
| Fecha | Producto | Sucursal | Tipo | Cantidad | Costo unit. (Bs) | Motivo | Referencia | Acciones |
|---|---|---|---|---|---|---|---|---|
| {{ m.fecha }} | {{ m.producto_nombre }} | {{ m.sucursal_nombre || '—' }} | {{ m.tipo }} | {{ fmtCant(m.cantidad) }} | {{ fmtBS(m.costo_unitario_bs) }} | {{ m.motivo }} — | {{ m.referencia || '—' }} | |
| Sin movimientos registrados. | ||||||||
Nueva corrección
Ajusta el stock por conteo, error de carga o sobrante. La cantidad puede ser positiva (suma) o negativa (resta).
Negativa resta.
Historial de correcciones
{{ movimientosPorMotivo('CORRECCION').length }} registro(s)| Fecha | Producto | Cantidad | Razón | |
|---|---|---|---|---|
| {{ m.fecha }} | {{ m.producto_nombre }} | {{ m.sucursal_nombre || '—' }} | {{ m.tipo==='Entrada' ? '+' : '−' }}{{ fmtCant(m.cantidad) }} | {{ m.observacion || m.referencia || '—' }} |
| Sin correcciones registradas. | ||||
Registrar merma
Siempre resta del inventario. Queda valorizada al costo promedio y visible en el libro.
Historial de mermas y autoconsumo
{{ movimientosPorMotivo(['MERMA','AUTOCONSUMO']).length }} registro(s)| Fecha | Producto | Cantidad | Costo | Motivo | |
|---|---|---|---|---|---|
| {{ m.fecha }} | {{ m.producto_nombre }} | {{ m.sucursal_nombre || '—' }} | −{{ fmtCant(m.cantidad) }} | {{ fmtBS(m.costo_unitario_bs) }} | {{ m.motivo }} {{ m.observacion }} |
| Sin mermas registradas. | |||||
Procesos de fabricación
| Fecha | Descripción | Materia prima | Producto final | Costo | Estado | Acciones |
|---|---|---|---|---|---|---|
| {{ f.fecha }} | {{ f.descripcion }} |
{{ fmtCant(i.cantidad) }} × {{ i.nombre }}
|
{{ fmtCant(p.cantidad) }} × {{ p.nombre }}
|
{{ fmtBS(f.costo_total_bs) }} | {{ f.estado === 'FABRICANDO' ? 'En proceso' : (f.estado === 'LIBERADO' ? 'Liberado' : 'Cancelado') }} | — |
| Sin procesos. Útil para armar un ítem a partir de insumos. | ||||||
Gastos & Compras
Comisiones devengadas pendientes de factura
Comisión devengada sobre el total de cada operación (no sobre el monto financiado). Al cargar la factura mensual del proveedor se registra el gasto y el crédito fiscal de IVA correspondiente.
| Proveedor | Método | Período | Operaciones | Base (Bs) | Comisión (Bs) | Acciones |
|---|---|---|---|---|---|---|
| {{ c.entidad }} | {{ c.metodo }} | {{ c.desde }} → {{ c.hasta }} | {{ c.operaciones }} | {{ fmtBS(c.base_bs) }} | {{ fmtBS(c.total_bs) }} |
Retenciones de IVA, ISLR y otros tributos
Las que la empresa practica como agente de retención (comprobantes AAAAMM + 8 dígitos, Providencia 0049) y las que un cliente le retiene al pagar una factura. {{ retenciones.total }} registros.
La declaración es obligatoria por quincena aun sin retenciones (Providencia SNAT/2025/000054, Art. 15). El archivo se sube al Portal Fiscal y se entera con la planilla 99035.
Retenido por mí
{{ fmtBS(retenciones.totales.retenido_practicado) }}
Base {{ fmtBS(retenciones.totales.base_practicada) }}
ISLR que me retuvieron
{{ fmtBS(retenciones.totales.islr_recibido) }}
Crédito acreditable en la declaración
IVA que me retuvieron
{{ fmtBS(retenciones.totales.iva_recibido) }}
Total sufrido {{ fmtBS(retenciones.totales.retenido_recibido) }}
Por reportar al portal
{{ fmtBS(retenciones.totales.por_reportar) }}
{{ retenciones.totales.por_reportar_cant }} comprobante(s) sin declarar
Mis empresas
Un solo usuario, varias empresas. Las Full ERP operan el día a día y aquí solo se auditan; las de solo contabilidad se usan para llevar sus libros fiscales sin punto de venta.
Cuenta de contador invitado
Esta cuenta nació porque una empresa te invitó: trabajas sus libros y no ocupas un usuario de su plan. Para abrir tus propias empresas y gestionar tu equipo, activa un plan.
Tu despacho todavía no tiene empresas
Esta cuenta es tu despacho: sirve para administrar tu cartera. Las facturas y los libros se cargan dentro de la empresa de cada cliente, no aquí. Registra la primera con Registrar empresa gestionada y luego entra a ella para trabajar.
{{ esDespachoActivo ? 'Todavía no tienes empresas' : 'No administras otras empresas' }}
Este usuario es el despacho: sirve para administrar la cartera de tus clientes. Mientras no registres una, no hay dónde cargar facturas ni libros. Tu empresa se trabaja desde las demás pestañas. Aquí puedes abrir otra empresa que esta cuenta también administre, con sus propios libros y su propio punto de venta.
{{ e.razon_social }}
{{ e.rif }}
Ventas
{{ e.ventas_mes || 0 }}
Compras
{{ e.compras_mes || 0 }}
Retenc.
{{ e.retenciones_mes || 0 }}
{{ e.rol_nombre || 'Sin rol' }} · tu empresa
Contador externo de esta empresa
El acceso del contador es gratuito: no consume cupos de usuarios del plan. Si el correo ya tiene cuenta, se vincula al instante; si no, se le abre su cuenta de despacho con clave temporal y se le envía el acceso por correo.
{{ c.nombre }}
{{ c.email }} · {{ c.rol_nombre }}
Registrar empresa gestionada
Se crea con los roles, la sucursal principal y una prueba gratuita. No tiene punto de venta ni inventario: solo libros fiscales y retenciones.
Informes
Análisis de la operación. Solo cuentan documentos vigentes: una factura anulada conserva su número pero no es una venta. Los importes se expresan en bolívares a la tasa de cada factura.
{{ nombreSucursalActiva }}
Ventas por producto
{{ informe.totales.productos }} producto(s) · {{ informe.totales.unidades }} unidades · {{ fmtBS(informe.totales.monto_bs) }}
| Producto | Tipo | Unidades | Facturas | Monto Bs | Monto USD | Precio prom. USD | Particip. |
|---|---|---|---|---|---|---|---|
| {{ f.producto }} {{ f.codigo }} | {{ f.tipo_item }} | {{ Number(f.cantidad).toFixed(2) }} | {{ f.facturas }} | {{ fmtBS(f.monto_bs) }} | {{ fmtUSD(f.monto_usd) }} | {{ fmtUSD(f.precio_promedio_usd) }} |
{{ Number(f.participacion).toFixed(1) }}%
|
| Sin ventas en el período. | |||||||
Ventas por método de pago
Cobrado {{ fmtBS(informe.totales.monto_bs) }} · pendiente de cobro {{ fmtBS(informe.totales.pendiente_bs) }}
| Método | Operaciones | Facturas | Monto Bs | Monto USD | Pendiente Bs | Financiado Bs | Particip. |
|---|---|---|---|---|---|---|---|
| {{ f.metodo }} | {{ f.operaciones }} | {{ f.facturas }} | {{ fmtBS(f.monto_bs) }} | {{ fmtUSD(f.monto_usd) }} | {{ fmtBS(f.pendiente_bs) }} | {{ fmtBS(f.financiado_bs) }} | {{ Number(f.participacion).toFixed(1) }}% |
| Sin cobros en el período. | |||||||
Desempeño mensual
{{ informe.totales.facturas }} factura(s) · {{ fmtUSD(informe.totales.total_usd) }} · ticket promedio {{ fmtUSD(informe.totales.ticket_promedio_usd) }}
| Período | Facturas | Clientes | Total USD | Total Bs | Ticket prom. USD | IVA Bs | Variación |
|---|---|---|---|---|---|---|---|
| {{ f.periodo }} | {{ f.facturas }} | {{ f.clientes }} | {{ fmtUSD(f.total_usd) }} | {{ fmtBS(f.total_bs) }} | {{ fmtUSD(f.ticket_usd) }} | {{ fmtBS(f.iva_bs) }} | — {{ Number(f.variacion_pct).toFixed(1) }}% {{ Number(f.variacion_pct).toFixed(1) }}% |
| Sin ventas en el período. | |||||||
Márgenes de venta
El costo sale del movimiento de inventario de cada venta (costo promedio real al momento de la salida). Si la línea no mueve inventario se usa el costo de la ficha del producto.
Margen sobre {{ fmtBS(informe.totales.ingreso_con_costo_bs) }} con costo conocido: {{ fmtBS(informe.totales.margen_bs) }} ({{ Number(informe.totales.margen_pct || 0).toFixed(1) }}%)
| Producto | Tipo | Unidades | Ingreso Bs | Costo Bs | Margen Bs | Margen % | ||
|---|---|---|---|---|---|---|---|---|
| {{ f.producto }} {{ f.codigo }} sin costo | {{ f.tipo_item }} | {{ Number(f.cantidad).toFixed(2) }} | {{ fmtBS(f.ingreso_bs) }} | {{ fmtBS(f.costo_bs) }} | {{ fmtBS(f.margen_bs) }} | — | {{ Number(f.margen_pct).toFixed(1) }}% | — |
| Sin ventas en el período. | ||||||||
Base gravable
{{ fmtBS(informe.totales.base_gravable_bs) }}
IVA
{{ fmtBS(informe.totales.iva_bs) }}
IGTF
{{ fmtBS(informe.totales.igtf_bs) }}
LISAEA
{{ fmtBS(informe.totales.lisaea_bs) }}
Impuestos generados
{{ fmtBS(informe.totales.impuestos_generados_bs) }}
IVA + IGTF + LISAEA de las ventas
Cliente retuvo {{ fmtBS(informe.totales.retenido_bs) }}
Impuestos generados por período
| Período | Facturas | Base gravable Bs | Exento Bs | IVA Bs | IGTF Bs | LISAEA Bs | Total Bs |
|---|---|---|---|---|---|---|---|
| {{ f.periodo }} | {{ f.facturas }} | {{ fmtBS(f.base_gravable_bs) }} | {{ fmtBS(f.exento_bs) }} | {{ fmtBS(f.iva_bs) }} | {{ fmtBS(f.igtf_bs) }} | {{ fmtBS(f.lisaea_bs) }} | {{ fmtBS(f.total_bs) }} |
| Sin ventas en el período. | |||||||
Retenciones que practicaron los clientes
Descontadas sobre estas mismas facturas. Soportan el crédito fiscal del período.
| Tributo | Tipo | Comprobantes | Base Bs | Retenido Bs |
|---|---|---|---|---|
| {{ r.nombre }} | {{ r.tipo }} | {{ r.documentos }} | {{ fmtBS(r.base_bs) }} | {{ fmtBS(r.monto_bs) }} |
Carga fiscal
Facturas que el cliente ya emitió en otro sistema y hay que llevar a los libros. Los importes entran exactamente como están en el documento: no se recalcula el IVA ni se reconvierte la tasa, para que el libro coincida al céntimo.
Últimos documentos cargados
Sólo los que no salieron del punto de venta.
{{ impArchivo }} · {{ impDetalle }} · costo estimado {{ fmtCostoFiscal(impEstimacion.costo_usd) }}
Primeras filas del archivo
{{ impExtracto }}
{{ impResumen.documentos }} documento(s) reconocidos · {{ impResumen.descartadas }} con errores
Columnas detectadas: {{ (impResultado.columnas || []).join(' · ') || 'no informadas' }}
{{ a }}
| # | Fecha | RIF | Razón social | Factura | Control | Base | Exento | IVA | Total | Estado |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ i + 1 }} | {{ f.fecha || '—' }} | {{ f.rif || '—' }} | {{ f.nombre || '—' }} | {{ f.numero_factura || '—' }} | {{ f.numero_control || '—' }} | {{ fmtBS(f.base_imponible) }} | {{ fmtBS(f.exento) }} | {{ fmtBS(f.iva) }} | {{ fmtBS(f.total) }} | {{ f.errores.join(', ') }} Lista |
Las que ya existen por RIF y número de factura se omiten solas, sin duplicar el libro.
Omitidas al cargar:
- Fila {{ o.fila }} · {{ o.rif }} · {{ o.factura }}: {{ o.motivo }}
Libros Fiscales (SENIAT)
Registro cronológico obligatorio. Libro de ventas: Arts. 76 y 77 del Reglamento de la Ley de IVA · Libro de compras: Art. 75. Sólo documentos fiscales.
Informe LISAEA percibido
Netea lo pagado en compras contra lo cobrado en ventas del período. El rango no puede superar los 31 días. Sólo se admiten facturas de forma libre, talonario manual y contingencia: las impresoras fiscales y la imprenta digital no soportan LISAEA.
Establecimiento: {{ informeLisaea.sucursal_nombre }} — se presenta ante la alcaldía de ese local. Todas las sucursales (consolidado).
Pagado en compras
{{ fmtBS(informeLisaea.pagado_compras_bs) }}
Cobrado en ventas
{{ fmtBS(informeLisaea.cobrado_ventas_bs) }}
Neto del período
{{ fmtBS(informeLisaea.neto_bs) }}
Documentos del período
{{ informeLisaea.filas.length }} documento(s) · {{ informeLisaea.dias || 0 }} día(s)| Fecha | Origen | Tipo | Número | RIF | Contraparte | LISAEA |
|---|---|---|---|---|---|---|
| {{ f.fecha }} | {{ f.origen }} | {{ f.tipo }} | {{ f.numero }} | {{ f.rif_cedula }} | {{ f.nombre_razon_social }} | {{ fmtBS(f.monto_bs) }} |
| Sin documentos con LISAEA en el período. | ||||||
Libro de inventario valorizado
Establecimiento: {{ art177.sucursal_nombre }} — no incluye las demás sucursales. Todas las sucursales (consolidado).
Registro mensual de entradas y salidas por unidades y valores, al costo histórico en bolívares. El costo es un promedio ponderado que pasa de un mes al siguiente; el autoconsumo y la existencia final se valoran a ese promedio y las salidas se calculan por diferencia para que el libro cuadre al céntimo. Art. 177 del Reglamento de la Ley de ISLR.
{{ art177.nota_cierre }}
Historial de cierres y reaperturas ({{ art177.historial.length }})
- {{ h.accion === 'REAPERTURA' ? 'Reapertura' : 'Cierre' }} · {{ fmtFecha(h.creado_en) }} · {{ h.usuario }} · "{{ h.motivo }}"
Valor inicial
{{ fmtBS(art177.totales.ini_valor) }}
{{ fmtCant(art177.totales.ini_qty) }} {{ Number(art177.totales.ini_qty) === 1 ? 'unidad' : 'unidades' }}
Entradas
{{ fmtBS(art177.totales.ent_valor) }}
{{ fmtCant(art177.totales.ent_qty) }} {{ Number(art177.totales.ent_qty) === 1 ? 'unidad' : 'unidades' }}
Salidas
{{ fmtBS(art177.totales.sal_valor) }}
{{ fmtCant(art177.totales.sal_qty) }} {{ Number(art177.totales.sal_qty) === 1 ? 'unidad' : 'unidades' }}
Autoconsumo
{{ fmtBS(art177.totales.aut_valor) }}
{{ fmtCant(art177.totales.aut_qty) }} {{ Number(art177.totales.aut_qty) === 1 ? 'unidad' : 'unidades' }}
Valor final
{{ fmtBS(art177.totales.fin_valor) }}
{{ fmtCant(art177.totales.fin_qty) }} {{ Number(art177.totales.fin_qty) === 1 ? 'unidad' : 'unidades' }} · cuadre {{ fmtBS(art177.cuadre) }}
Detalle por ítem
{{ art177.filas.length }} ítem(s) con movimiento o existencia
| Código | Descripción | Costo unit. Bs |
Cant. inicial |
Valor inicial |
Cant. entradas |
Valor entradas |
Cant. salidas |
Valor salidas |
Cant. autoconsumo |
Valor autoconsumo |
Cant. final |
Valor final |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ f.codigo || '—' }} | {{ f.nombre }} | {{ Number(f.costo_unitario_bs).toLocaleString('es-VE', { minimumFractionDigits: 4, maximumFractionDigits: 4 }) }} | {{ fmtCant(f.ini_qty) }} | {{ fmtBS(f.ini_valor) }} | {{ Number(f.ent_qty) ? fmtCant(f.ent_qty) : '—' }} | {{ Number(f.ent_valor) ? fmtBS(f.ent_valor) : '—' }} | {{ Number(f.sal_qty) ? fmtCant(f.sal_qty) : '—' }} | {{ Number(f.sal_valor) ? fmtBS(f.sal_valor) : '—' }} | {{ Number(f.aut_qty) ? fmtCant(f.aut_qty) : '—' }} | {{ Number(f.aut_valor) ? fmtBS(f.aut_valor) : '—' }} | {{ fmtCant(f.fin_qty) }} | {{ fmtBS(f.fin_valor) }} |
| Sin movimientos de inventario en el período. | ||||||||||||
| TOTALES | {{ fmtCant(art177.totales.ini_qty) }} | {{ fmtBS(art177.totales.ini_valor) }} | {{ fmtCant(art177.totales.ent_qty) }} | {{ fmtBS(art177.totales.ent_valor) }} | {{ fmtCant(art177.totales.sal_qty) }} | {{ fmtBS(art177.totales.sal_valor) }} | {{ fmtCant(art177.totales.aut_qty) }} | {{ fmtBS(art177.totales.aut_valor) }} | {{ fmtCant(art177.totales.fin_qty) }} | {{ fmtBS(art177.totales.fin_valor) }} | ||
Revisar antes de declarar
Ítems con existencia sin costo registrado (se valorizan en Bs 0):
{{ art177.avisos.sin_costo.join(' · ') }}
Entradas sin costo en bolívares ni tasa de cambio aplicable:
{{ art177.avisos.sin_tasa.join(' · ') }}
Ítems con existencia en el catálogo sin movimientos de inventario (no entran al libro):
{{ art177.avisos.stock.join(' · ') }}
Total con IVA
{{ fmtBS(libro.resumen.total_con_iva) }}
{{ libro.resumen.documentos }} documento(s)
Base imponible
{{ fmtBS(libro.resumen.base_imponible) }}
{{ libroTipo==='ventas' ? 'Débito fiscal' : 'Crédito fiscal' }}
{{ fmtBS(libroTipo==='ventas' ? libro.resumen.debito_fiscal : libro.resumen.credito_fiscal) }}
Exento / No gravado
{{ fmtBS(libro.resumen.exento) }}
IGTF
{{ fmtBS(libro.resumen.igtf) }}
Ret. IVA {{ fmtBS(libro.resumen.iva_retenido) }}
Apertura de compras
Apertura de ventas
{{ libro.titulo }}
Establecimiento: {{ libro.sucursal.nombre }} — no incluye las demás sucursales. Todas las sucursales (consolidado).
{{ libro.filas.length }} registros · orden cronológico
| Nº Oper |
Fecha | RIF | Nombre o Razón Social | Nº Documento |
Nº Control |
Nº Fact. Afectada |
Tipo Trans |
Nº Compr. Ret. |
Fecha Ret. |
% Ret. |
IVA Ret. |
Fecha Doc. |
{{ libroTipo==='ventas' ? 'Total Ventas' : 'Total Compras' }} con IVA |
Compras sin Derecho Créd. |
Base Imponible |
% Alíc. |
{{ libroTipo==='ventas' ? 'IVA Débito' : 'IVA Crédito' }} | IGTF | Exento / No Gravado |
Nº Ajuste |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ f.oper }} | {{ fmtFecha(f.fecha_emision) }} | {{ f.rif_cedula }} | {{ f.nombre_razon_social }} importación | {{ f.numero_factura }} cont. | {{ f.numero_control || '—' }} | {{ f.doc_afectado || '—' }} | {{ f.tipo_documento }} | {{ f.ret_numero || '—' }} | {{ f.ret_fecha ? fmtFecha(f.ret_fecha) : '—' }} | {{ f.ret_porcentaje !== null ? Number(f.ret_porcentaje).toFixed(2) + '%' : '—' }} | {{ Number(f.ret_iva_bs) > 0 ? fmtBS(f.ret_iva_bs) : '—' }} | {{ fmtFecha(f.fecha_documento) }} | {{ fmtBS(f.monto_total_bs) }} | {{ Number(f.sin_derecho_credito) === 1 ? fmtBS(Number(f.base_imponible_bs) + Number(f.monto_exento_bs)) : '—' }} | {{ fmtBS(f.base_imponible_bs) }} | {{ Number(f.alicuota_porcentaje).toFixed(2) }}% | {{ fmtBS(f.iva_monto_bs) }} | {{ Number(f.igtf_monto_bs) > 0 ? fmtBS(f.igtf_monto_bs) : '—' }} | {{ fmtBS(f.monto_exento_bs) }} | {{ f.numero_ajuste || '—' }} |
| Sin registros en el periodo seleccionado. | ||||||||||||||||||||
| TOTALES | {{ fmtBS(libro.resumen.total_con_iva) }} | {{ fmtBS(libro.resumen.sin_derecho_credito) }} | {{ fmtBS(libro.resumen.base_imponible) }} | {{ fmtBS(libroTipo==='ventas' ? libro.resumen.debito_fiscal : libro.resumen.credito_fiscal) }} | {{ fmtBS(libro.resumen.igtf) }} | {{ fmtBS(libro.resumen.exento) }} | ||||||||||||||
Contingencia
Facturación con talonarios físicos autorizados cuando no hay acceso al sistema. La información se remite a la imprenta digital o a la API del SENIAT el día siguiente (Art. 6 y 7 · Providencia SNAT/2026/00093).
Talonarios autorizados
| Talonario | Imprenta | Rango de control | Usados | Disponibles | Próximo | Activo | Acciones |
|---|---|---|---|---|---|---|---|
| {{ t.descripcion }} {{ t.facturas }} factura(s) | {{ t.imprenta || '—' }} {{ t.imprenta_rif || '' }} | {{ t.control_desde }} → {{ t.control_hasta }} | {{ t.control_usados }} | {{ t.control_disponibles }} | {{ t.control_disponibles > 0 ? t.proximo_control : '—' }} | {{ Number(t.activo) === 1 ? 'Activo' : 'Inactivo' }} | |
| No hay talonarios registrados. | |||||||
Facturas emitidas en contingencia
| Fecha / hora | Factura | N° Control | Talonario | Cliente | Total Bs | Remisión | |
|---|---|---|---|---|---|---|---|
| {{ fmtFecha(c.fecha_emision) }}{{ c.hora_emision || '' }} | {{ c.numero_factura }} | {{ c.numero_control || '—' }} | {{ c.talonario || '—' }} | {{ c.nombre_razon_social }} {{ c.rif_cedula }} | {{ fmtBS(c.monto_total_bs) }} | Remitida {{ c.remision_fecha ? fmtFecha(c.remision_fecha) : '' }} Pendiente | |
| Sin facturas de contingencia. | |||||||
Notas de Débito y Crédito
Las notas de crédito reducen el débito fiscal y las de débito lo aumentan. Se reflejan automáticamente en el Libro de Ventas o de Compras según su ámbito (documentos 02 y 03 del SENIAT). Toda nota referencia la factura que ajusta y no puede acreditar más de lo que esa factura tiene pendiente de acreditar.
Clientes y Proveedores
El archivo exportado sirve de plantilla: se edita y se vuelve a subir; los contactos existentes se actualizan en vez de duplicarse.
| Tipo | RIF/CI | Nombre / Razón Social | Teléfono | Acciones | |
|---|---|---|---|---|---|
| {{ t.tipo }} | {{ t.rif_cedula }} | {{ t.nombre_razon_social }} | {{ t.telefono || '—' }} | {{ t.email || '—' }} | |
| No hay terceros. | |||||
Tesorería
Fondos por cuenta y moneda. El fondeo de divisas (P2P) es una transferencia, no un gasto.
{{ c.nombre }}
{{ etiquetaTipoCuenta(c.tipo) }} · {{ c.moneda }}
{{ fmtMoneda(c.saldo, c.moneda) }}
Cobros por acreditar ({{ cobrosPendientes.length }})
Dinero cobrado que aún no está en tu cuenta. Puede liquidarse en varias partes: cada abono descuenta la comisión de esa parte y el saldo pendiente baja. Si emites una nota de crédito sobre la factura, el pendiente se reduce solo.
| Factura | Cliente | Método | Bruto | Pendiente | Comisión en el cobro | Acciones |
|---|---|---|---|---|---|---|
| {{ c.numero_factura }} {{ c.fecha_emision }} | {{ c.nombre_razon_social }} {{ c.rif_cedula }} | {{ c.metodo }} {{ c.dias_abono }} día(s) de abono Abono estimado: {{ fechaAbonoEstimada(c) }} · atrasado | {{ fmtMoneda(c.monto_bs, 'BS') }} abonado {{ fmtBS(c.monto_conciliado_bs) }} ajustado por NC {{ fmtBS(c.ajuste_nc_bs) }} | {{ fmtBS(pendienteCobro(c)) }} de {{ fmtBS(c.monto_bs) }} | Se factura aparte {{ Number(c.comision_porcentaje) ? fmtBS(comisionEstimada(c)) : '—' }} {{ c.comision_porcentaje }} % |
| Fecha | Tipo | Cuenta | Monto | Valor Bs | Dif. cambiaria | Referencia | Acciones |
|---|---|---|---|---|---|---|---|
| {{ m.fecha }} | {{ m.tipo }} | {{ m.origen_nombre }} → {{ m.destino_nombre }} {{ m.cuenta_nombre }} {{ m.descripcion }} | {{ fmtMoneda(m.monto, m.moneda) }} × {{ fmtTasa(m.tasa) }} + {{ fmtMoneda(m.monto_destino, m.destino_moneda || 'BS') }} | {{ fmtBS(m.monto_bs) }} | {{ Number(m.diferencia_cambiaria_bs) ? fmtBS(m.diferencia_cambiaria_bs) : '—' }} | {{ m.referencia || '—' }} | |
| No hay movimientos. | |||||||
Cotizaciones & Presupuestos
Presupuestos para el cliente: no son documentos fiscales, no mueven inventario ni cuentan como venta. Cuando el cliente acepta, se convierten en factura.
| Número | Estado | Cliente | Fecha | Vence | Total Bs | Enviada | Acciones |
|---|---|---|---|---|---|---|---|
| {{ etiquetaEstadoCotizacion(c.estado) }} |
{{ c.nombre_razon_social }} {{ c.rif_cedula }} |
{{ fmtFecha(c.fecha) }} | {{ c.fecha_vencimiento ? fmtFecha(c.fecha_vencimiento) : '—' }} VENCIDA | {{ fmtBS(c.monto_total_bs) }} | {{ fmtFecha(String(c.enviada_en).slice(0,10)) }} — | ||
| No hay cotizaciones con estos filtros. Cree una para enviarle un presupuesto al cliente. | |||||||
CxC & CxP
Lo que te deben los clientes y lo que debes a los proveedores. Las cuentas nacen del documento: una factura a crédito o una compra que no se pagó al registrarse.
Por cobrar
{{ fmtBS(cuentasResumen.cobrar) }}
{{ cuentasResumen.cuentas_cobrar }} cuenta(s) abierta(s)
Por pagar
{{ fmtBS(cuentasResumen.pagar) }}
{{ cuentasResumen.cuentas_pagar }} cuenta(s) con proveedores
Cobro vencido
{{ fmtBS(cuentasResumen.cobrar_vencido) }}
Clientes que pasaron la fecha límite
Pago vencido
{{ fmtBS(cuentasResumen.pagar_vencido) }}
{{ cuentasResumen.vencidas }} vencida(s) en total
| Tipo | Estado | Fecha límite | Documento | Fecha doc. | Tercero | Descripción | Monto total | Pendiente | Pagado el | Acciones |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ c.tipo === 'COBRAR' ? 'Por cobrar' : 'Por pagar' }} | {{ c.estado === 'PAGADO' ? 'Pagado' : (c.estado === 'CANCELADO' ? 'Cancelado' : 'Pendiente') }} | {{ c.fecha_vencimiento ? fmtFecha(c.fecha_vencimiento) : '—' }} VENCIDA | {{ fmtFecha(c.documento_fecha) }} |
{{ c.nombre_razon_social }} {{ c.rif_cedula }} |
{{ c.descripcion || '—' }} |
{{ fmtBS(c.monto_total_bs) }} | {{ fmtBS(c.pendiente_bs) }} | {{ c.pagado_en ? fmtFecha(String(c.pagado_en).slice(0, 10)) : '—' }} | ||
| No hay cuentas con estos filtros. Emite una factura a crédito o registra una compra sin pagar para que aparezcan aquí. | ||||||||||
Auditoría
Historial de todo lo que ocurre en la empresa: quién, cuándo, desde qué IP y con qué resultado.
| Fecha | Usuario | Acción | Resultado | Mensaje | IP | |
|---|---|---|---|---|---|---|
| {{ a.creado_en }} |
{{ a.usuario_nombre || '—' }} {{ a.usuario_email || '' }} |
{{ a.accion }} | {{ a.resultado }} | {{ a.mensaje }} | {{ a.ip }} | |
| Sin registros. | ||||||
Evidencia #{{ auditoriaDetalle.id }}
{{ auditoriaDetalle.creado_en }}
- Usuario
- {{ auditoriaDetalle.usuario_nombre || '—' }} {{ auditoriaDetalle.usuario_email || '' }}
- Acción
- {{ auditoriaDetalle.accion }}
- Resultado
- {{ auditoriaDetalle.resultado }} · {{ auditoriaDetalle.nivel }}
- IP / ruta
- {{ auditoriaDetalle.ip || '—' }} · {{ auditoriaDetalle.ruta || '—' }}
Mensaje
{{ auditoriaDetalle.mensaje || '—' }}
Datos guardados
{{ auditoriaDetalle.datos || '(sin datos adicionales)' }}
hash: {{ auditoriaDetalle.hash }}
Mi plan y facturación
Estado de la suscripción, consumo, pagos y recibos.
Su suscripción está vencida
Venció el {{ miPlan.suscripcion.vencimiento }}. Reporte su pago para reactivar el servicio.
Su plan vence {{ miPlan.suscripcion.dias_restantes === 0 ? 'hoy' : 'en ' + miPlan.suscripcion.dias_restantes + ' día(s)' }}
Renueve antes del {{ miPlan.suscripcion.vencimiento }} para no perder el acceso.
Empresa en cartera del despacho
Esta empresa la trabaja {{ miPlan.despacho_nombre || 'el despacho' }} desde su propia cuenta, y sus libros fiscales están cubiertos por el plan del despacho. La empresa no tiene plan propio ni necesita iniciar sesión.
Si el cliente quiere operar el día a día (punto de venta, inventario, alquileres), reporta aquí el pago de un plan de tienda: al aprobarse, la empresa pasa a Full ERP y sale de la cartera.
Cuenta de cortesía
Esta cuenta está activa sin costo, con todos los beneficios de su plan. No tiene pagos ni renovaciones pendientes.
Plan actual
{{ miPlan.incluida_en_despacho ? 'Incluida en el despacho' : (miPlan.suscripcion ? miPlan.suscripcion.plan_nombre : 'Sin plan') }}
{{ miPlan.incluida_en_despacho ? 'Los libros fiscales los cubre el plan de tu despacho; no hay un plan propio que renovar.' : (miPlan.suscripcion ? miPlan.suscripcion.plan_descripcion : 'Su cuenta no tiene un plan asignado.') }}
Precio{{ miPlanEsCortesia ? 'Sin costo' : (miPlan.suscripcion ? fmtUSD(miPlan.suscripcion.precio_plan_usd) + '/mes' : '—') }}
Estado {{ miPlan.suscripcion ? etiquetaEstadoSuscripcion(miPlan.suscripcion.estado) : '—' }}
Próxima renovación{{ miPlan.suscripcion ? (miPlan.suscripcion.vencimiento || '—') : '—' }}
Días restantes {{ miPlan.suscripcion.dias_restantes }}
Consumo de su plan
La facturación fiscal no tiene tope: los folios los administra su imprenta digital.
Cuota de alquileres de {{ miPlan.cuota_alquileres.periodo }}: {{ miPlan.cuota_alquileres.usados }} de {{ miPlan.cuota_alquileres.tope }} disponibles ({{ miPlan.cuota_alquileres.base }} del plan + {{ miPlan.cuota_alquileres.gracia }} de gracia + {{ miPlan.cuota_alquileres.creditos }} de paquetes).
Datos para realizar el pago
Pago Móvil
{{ miPlan.datos_pago.pago_movil }}
Zelle
{{ miPlan.datos_pago.zelle }}
Transferencia
{{ miPlan.datos_pago.transferencia }}
Efectivo
{{ miPlan.datos_pago.efectivo }}
Instrucciones
{{ miPlan.datos_pago.instrucciones }}
Solicite los datos de pago a soporte de CuadraFlow.
Paquetes de excedente
Si un mes necesita más órdenes de alquiler de las que incluye su plan, compre un paquete: se suman solo a este mes y no cambia su plan.
{{ q.nombre }}
{{ q.descripcion }}
Historial de pagos
| Fecha | Plan | Método | Referencia | Monto | Estado | |
|---|---|---|---|---|---|---|
| {{ p.fecha_pago }} | {{ p.plan_nombre || '—' }} | {{ miPlan.metodos[p.metodo] || p.metodo }} | {{ p.referencia || '—' }} | {{ fmtUSD(p.monto_usd) }} | {{ p.estado }} {{ p.nota_admin }} | En revisión |
| Todavía no hay pagos registrados. | ||||||
{{ paqueteElegido ? 'Comprar paquete de excedente' : 'Reportar un pago' }}
Usuarios y roles
Cada usuario trabaja con un rol, y el rol define exactamente qué puede hacer en el sistema.
| Nombre | Rol | Estado | Acciones | |
|---|---|---|---|---|
| {{ u.nombre }} | {{ u.email }} | {{ u.rol_nombre || u.rol }} admin | {{ u.estado==1 ? 'Activo' : 'Inactivo' }} |
Sin usuarios registrados.
{{ r.nombre }} sistema
{{ r.descripcion || 'Sin descripción.' }}
Sin roles. Cree el primero con "Nuevo rol".
Vendedores
Cada vendedor tiene su porcentaje de comisión; la comisión se calcula sobre el neto sin impuestos de la factura.
| Vendedor | Comisión | Facturas | Comisión pendiente | Estado | Acciones |
|---|---|---|---|---|---|
| {{ v.nombre }} {{ v.cedula }} | {{ v.comision_porcentaje }} % | {{ v.facturas }} | {{ fmtUSD(v.comision_pendiente_usd) }} {{ fmtBS(v.comision_pendiente_bs) }} | {{ Number(v.activo) === 1 ? 'Activo' : 'Inactivo' }} |
Sin vendedores registrados.
{{ r.nombre }}
{{ r.facturas }} fact.{{ fmtUSD(r.pendiente_usd) }}
{{ fmtBS(r.pendiente_bs) }} pendientes
| Factura | Fecha | Cliente | Vendedor | Base | % | Comisión | Estado | |
|---|---|---|---|---|---|---|---|---|
| {{ f.numero_factura }} | {{ fmtFecha(f.fecha_emision) }} | {{ f.cliente }} | {{ f.vendedor_nombre }} | {{ fmtUSD(f.comision_base_usd) }} | {{ f.comision_porcentaje }} % | {{ fmtUSD(f.comision_monto_usd) }} | {{ f.comision_estado }} |
Sin comisiones para el filtro seleccionado.
| Fecha | Vendedor | Facturas | Monto | Cuenta | Referencia | |
|---|---|---|---|---|---|---|
| {{ fmtFecha(p.fecha) }} | {{ p.vendedor_nombre }} | {{ p.facturas }} | {{ fmtUSD(p.monto_usd) }} | {{ p.cuenta_nombre || '—' }} | {{ p.referencia || '—' }} |
Sin pagos registrados.
Configuración
Cada área agrupa sus ajustes. Si no recuerda dónde está algo, búsquelo por nombre.
Sin coincidencias. Pruebe con «imprenta», «correo», «IVA», «impresora»…
Logo de la empresa
Se muestra en el menú lateral del sistema. JPG, PNG o WEBP hasta 4 MB; un logo horizontal o cuadrado con fondo transparente se ve mejor.
Datos fiscales
Tasa BCV
Tasa vigente
{{ resumen.tasa_bcv ? fmtTasa(resumen.tasa_bcv) : 'Sin registrar' }}
Valor: {{ resumen.tasa_bcv_fecha }}
{{ etiquetaFuente(resumen.tasa_bcv_fuente) }}
Se consulta el portal del BCV y, si no responde, un respaldo público. La tasa se guarda con la fecha valor publicada por el BCV y se actualiza una vez al día.
Imprenta digital
Elija con qué proveedor emite sus documentos fiscales. Cada uno guarda sus propias credenciales y puede cambiarse en cualquier momento; el token se renueva solo.
{{ imprentaDiag.nombre }} · conexión OK
{{ imprentaDiag.nombre }} · revisar configuración
Token válido hasta: {{ imprentaDiag.token_expiracion }}
Rangos de numeración disponibles: {{ imprentaDiag.total_rangos }}
{{ imprentaDiag.aviso_series }}
{{ imprentaDiag.error }}
Abrir el portal de ABCImpuestos
IVA, IGTF, LISAEA, tasas municipales y otros tributos de la empresa.
Tiendas y almacenes
Varias sucursales a la vez: facturas, compras y movimientos quedan registrados con el local donde ocurrieron.
{{ sucursales.length }} sucursal(es) · límite del plan: {{ sucursalesLimite === 0 ? 'sin límite' : sucursalesLimite }}
IGTF y Retenciones
IGTF (transacciones en divisas)
Se aplica al registrar ventas, alquileres o compras pagadas en moneda extranjera.
Retenciones (agente de retención)
Al registrar una compra a un contribuyente especial se generan los comprobantes automáticamente.
Métodos de pago y comisiones
Cada forma de pago tiene su comisión y sus días de abono. En una factura con varias formas de pago (por ejemplo inicial con punto de venta y saldo con Cashea) la comisión se calcula por cada pago.
| Método | Naturaleza | Comisión % | Días abono | Cuenta destino | Comisión | Activo | Acciones |
|---|---|---|---|---|---|---|---|
| {{ m.nombre }} | {{ etiquetaTipoMetodo(m.tipo) }} | {{ Number(m.comision_porcentaje) ? m.comision_porcentaje + ' %' : '—' }} | {{ m.dias_abono }} | {{ nombreCuenta(m.cuenta_tesoreria_id) }} | {{ m.comision_con_factura==1 ? 'Con factura' : 'Sin factura' }} — | {{ m.activo==1 ? 'Sí' : 'No' }} | |
| Sin métodos de pago definidos. | |||||||
Cashea (Web Checkout)
Cashea entrega la API Key, el Auth Token y el Store ID al afiliar el comercio. Mientras no estén cargados, el sistema funciona en modo demostración con un enlace local de retorno para probar el flujo completo.
Contrato de alquiler
Sin la aceptación del contrato el sistema no deja facturar un alquiler. Este texto es el que lee el cliente en su teléfono y el que sale en la hoja impresa.
Es el modo sugerido al abrir una orden; en cada alquiler el vendedor puede usar el otro.
Si lo deja vacío se usa un texto genérico de alquiler. Numere las cláusulas para que se lean mejor.
Correo saliente (SMTP)
Buzón con el que el sistema envía el enlace de firma del contrato. Si no se configura, el enlace igual se puede mostrar como QR en el mostrador.
Módulos del sistema
Active sólo lo que usa su negocio. La interfaz se adapta automáticamente.
Cliente de impresión (Windows)
Permite que el ERP imprima las facturas (PDF) directamente en una impresora de esta PC, sin abrir el cuadro de diálogo del navegador. En teléfonos y tablets se sigue usando la impresión del navegador.
Equipo conectado: {{ impresoraMensaje }}
{{ impresoraMensaje }}
1. Instalar en la PC de caja
- Descargue PrintServer.exe y guárdelo en una carpeta fija (ej.
C:\ERP-Impresion). - Ejecútelo con doble clic: queda como icono de impresora junto al reloj.
- En ese icono elija la impresora, guarde y marque «Iniciar con Windows».
Versión {{ clienteImpresion.version || '—' }} · {{ clienteImpresion.tamano_mb }} MB
El ejecutable no está en el servidor (falta la carpeta printclient).
Atributos personalizables
Campos propios de su rubro (medidas, seriales, destinatario, colores…). Se imputan en cada operación y aparecen automáticamente en los formularios.
| Etiqueta | Código | Tipo | Se aplica a | Obligatorio | Activo | Acciones |
|---|---|---|---|---|---|---|
| {{ a.etiqueta }} | {{ a.codigo }} | {{ a.tipo }} | {{ a.ambito === 'ORDEN' ? 'Operación' : (a.ambito === 'LINEA' ? 'Ítem/Línea' : 'Factura') }} | {{ a.requerido==1 ? 'Sí' : '—' }} | {{ a.activo==1 ? 'Sí' : 'No' }} | |
| Aún no hay atributos definidos. | ||||||
Categorías de egreso
Clasificación propia para los egresos sin factura legal (P2P/crypto, servicios del exterior, SaaS…). No alteran el tratamiento fiscal: sólo ordenan el estado de resultados.
| Nombre | Descripción | Orden | Activa | Acciones |
|---|---|---|---|---|
| {{ c.nombre }} | {{ c.descripcion || '—' }} | {{ c.orden }} | {{ c.activo==1 ? 'Sí' : 'No' }} | |
| Sin categorías definidas. | ||||
Inteligencia Artificial (Gemini)
El costo se consulta en BigQuery y el tope en Cloud Billing Budgets (solo budgets de IA). El crédito prepago de Gemini se registra aquí porque Google no lo publica por API. Los secretos se guardan cifrados.
{{ ia.modo === 'PLATAFORMA' ? 'Usando la IA incluida en su plan (CuadraFlow)' : (ia.modo === 'PROPIA' ? 'Usando su propia API key de Gemini' : 'IA sin configurar') }}
{{ ia.vision_restantes }} de {{ ia.vision_limite }} lecturas de documentos disponibles este mes. El asistente (chat) no tiene límite. Sin límite de lecturas; el consumo se cobra en su cuenta de Google. Cargue una API key propia o pida que se active la IA en su plan.
Diagnóstico
Gemini: {{ iaDiag.gemini ? 'OK' : 'Error' }} — {{ iaDiag.gemini_error }}
Modelos disponibles: {{ iaDiag.modelos.slice(0, 8).join(', ') }}
Facturación (BigQuery): {{ iaDiag.billing ? 'OK' : 'Error' }} — {{ iaDiag.billing_error }}
Gasto del mes: {{ fmtUSD(iaDiag.gasto.gasto_usd) }} (bruto {{ fmtUSD(iaDiag.gasto.bruto_usd) }}, créditos {{ fmtUSD(iaDiag.gasto.creditos_usd) }})
Presupuesto Google: {{ iaDiag.presupuesto.monto != null ? fmtUSD(iaDiag.presupuesto.monto) : 'no definido' }} — {{ iaDiag.presupuesto.error }}