Cierre de caja y arqueo en el TPV de Odoo 19, paso a paso
Cómo abrir y cerrar la caja del Punto de venta de Odoo 19, contar el efectivo, limitar el descuadre y qué asiento deja cada cierre con el plan contable español.
Odoo 19 Tutorial · Nivel básico · Community y Enterprise
Respuesta corta
En Odoo 19 la caja se cierra desde el propio TPV: menú ≡, «Cerrar caja registradora». La ventana «Cierre de caja» enseña lo esperado por método de pago; escribes lo contado en «Recuento de efectivo» y, si no cuadra, Odoo pide confirmación y lleva la diferencia a la cuenta de pérdidas o de ganancias del diario de caja (678 y 778 en el plan español). Al cerrar se contabiliza un asiento con todas las ventas de la sesión. El límite del descuadre se fija en Punto de venta , Configuración , Ajustes, con «Establecer la diferencia máxima».
- Módulos
point_of_salel10n_esl10n_es_edi_verifactu_pos- Dónde se hace
- Punto de venta, Configuración, Métodos de pagoContabilidad, Configuración, DiariosPunto de venta, Configuración, Monedas/billetesPunto de venta, Configuración, AjustesPunto de venta, Tablero
- Otras versiones
- Los pasos y las etiquetas están comprobados en la documentación y en el código de la rama 19.0. En versiones anteriores la ventana de cierre y el menú de la caja tienen otros nombres, que esta guía no cubre.
En esta página
- Vocabulario: lo que se dice en la tienda y lo que dice Odoo
- 1.Revisa el método de pago en efectivo y su diario
- 2.Da de alta las monedas y billetes
- 3.Pon un límite al descuadre
- 4.Abre la caja
- 5.Anota las entradas y salidas de efectivo
- 6.Cierra la caja y cuenta
- 7.Si la caja no cuadra
- Qué pasa en contabilidad
- Dónde revisar los cierres
- Lo que la norma española añade al mostrador
- Resultado
- Errores frecuentes
- Preguntas frecuentes
- Fuentes
Antes de empezar
- Odoo 19 con la app Punto de venta y un TPV creado.
- Un método de pago en efectivo propio de ese TPV, con su diario de caja. Odoo no deja compartir el mismo método de efectivo entre dos tiendas.
- Para tocar ajustes y métodos de pago, un usuario del grupo
Administradorde Punto de venta. - Para ver los asientos, la app Contabilidad o Facturación con la localización española (
l10n_es).
El arqueo es la parte del día que nadie quiere hacer con prisa: contar billetes, restar el fondo, comparar con lo vendido y explicar por qué faltan cinco euros. Odoo 19 lo resuelve en una sola ventana, y lo que escribes en ella acaba en contabilidad sin que nadie teclee un asiento. Por eso conviene saber qué hace exactamente cada botón.
Vocabulario: lo que se dice en la tienda y lo que dice Odoo
| En la tienda | En Odoo 19 |
|---|---|
| Abrir caja, turno | Una sesión del TPV: empieza con Abrir caja registradora y termina con Cerrar caja registradora |
| Fondo de caja, cambio | Caja de apertura |
| Arqueo, recuento | Recuento de efectivo, en la ventana Cierre de caja |
| Descuadre | Diferencia |
| Retirada de efectivo, ingreso de cambio | Entrada/salida de efectivo |
| Hoja de caja, Z del día | El informe Venta diaria |
Paso 1. Revisa el método de pago en efectivo y su diario
Odoo controla la caja (apertura, recuento y diferencia) solo si el TPV tiene un método de pago de tipo efectivo. No hay casilla que marcar: el control se activa con el método.
- Ve a Punto de venta, Configuración, Métodos de pago y abre el método de efectivo de tu TPV.
- Comprueba que el
Diarioes un diario de caja dedicado a ese TPV. La documentación lo recomienda para que los asientos de cada caja queden separados, y el código lo impone en parte: un mismo método de efectivo no puede estar en dos TPV. - Ve a Contabilidad, Configuración, Diarios, abre ese diario de caja y mira, en la pestaña
Asientos contables, los camposCuenta de gananciasyCuenta de pérdidas.
Esas dos cuentas reciben los descuadres. Con la localización española, la plantilla de Odoo 19 trae la 778 (Ingresos excepcionales) y la 678 (Gastos excepcionales). Si tu asesor prefiere otras, cámbialas aquí antes del primer cierre. Si alguna está vacía, el cierre con descuadre se detiene con un error (está en Errores frecuentes).
Paso 2. Da de alta las monedas y billetes
Para contar por denominaciones en lugar de escribir un total:
- Ve a Punto de venta, Configuración, Monedas/billetes.
- Pulsa
Nuevoy añade cada valor que aceptas. - En la columna
Punto de venta, elige el TPV donde vale ese valor, o déjala vacía para todos.
Paso 3. Pon un límite al descuadre
- Ve a Punto de venta, Configuración, Ajustes y elige tu TPV en el desplegable de arriba.
- En la sección
Pago, marcaEstablecer la diferencia máxima. - Escribe el importe en
Diferencia autorizaday guarda.
Con el límite puesto, quien cierra la caja puede aceptar un descuadre de hasta ese importe. Por encima, Odoo solo deja cerrar a un usuario del grupo Administrador de Punto de venta. Sin el ajuste, cualquier cajero puede cerrar con cualquier diferencia: Odoo se limita a pedir confirmación.
Paso 4. Abre la caja
- Ve a Punto de venta, Tablero.
- En la tarjeta de tu TPV, pulsa
Abrir caja registradora. - En la ventana
Control de apertura, comprueba el importe deCaja de aperturay corrígelo si el fondo real es otro. - Pulsa
Abrir caja registradora.
Odoo propone como fondo el efectivo contado en el último cierre de ese TPV. Si escribes otra cifra, la diferencia queda anotada en el historial de la sesión (Diferencia de efectivo al abrir); en el código de la 19.0 esa corrección no crea ningún asiento. Mientras la sesión está abierta, el botón de la tarjeta pasa a llamarse Seguir vendiendo.
Paso 5. Anota las entradas y salidas de efectivo
Todo lo que entra o sale del cajón sin ser una venta tiene que estar en Odoo, o el arqueo no cuadrará:
- En la pantalla de venta, pulsa el icono de menú (≡).
- Elige
Entrada/salida de efectivo. - Selecciona
Entrada de efectivooSalida de efectivo. - Escribe el importe y el motivo, y pulsa
Confirmar.
Según la documentación, solo los empleados con derechos básicos o avanzados pueden hacerlo. Cada movimiento es una línea en el diario de caja sin contrapartida definida: queda contra la cuenta transitoria del diario (la 572998 en el plan de Odoo) hasta que alguien de contabilidad la lleva a su sitio, por ejemplo al banco si era un ingreso de la recaudación.
Paso 6. Cierra la caja y cuenta
- En la pantalla de venta, pulsa el icono de menú (≡) y luego
Cerrar caja registradora. - Se abre la ventana
Cierre de caja. Arriba, el número de pedidos y el total vendido en la sesión. Debajo, un bloque por método de pago con el importe esperado. - En el bloque del efectivo verás
Apertura, los pagos cobrados en efectivo,Entrada y salida de efectivo,ContadoyDiferencia. - Escribe lo que hay en el cajón en
Recuento de efectivo. Tienes dos ayudas:- El icono del billete abre el recuento por
Monedas/billetes: indicas cuántas hay de cada una y pulsasConfirmar. El detalle se copia en laNota de cierre. - El icono de copiar rellena el campo con el importe esperado. Úsalo solo después de contar: deja el descuadre en cero aunque nadie haya mirado el cajón.
- El icono del billete abre el recuento por
- Si cobras con tarjeta, cada método bancario con cobros tiene su propio campo de recuento, que Odoo ya trae relleno con lo esperado. Cámbialo si el total del datáfono no coincide.
- Añade una
Nota de cierresi hay algo que explicar. - Pulsa
Cerrar caja registradora.
Antes de cerrar puedes descargar el informe Venta diaria, con todas las ventas de la sesión. Desde la misma ventana también se registra un último movimiento con Entrada/salida de efectivo.
Nota
Bares y restaurantes. Un TPV de restaurante no deja cerrar con pedidos en borrador que no estén programados para más tarde. Odoo abre una ventana con las opciones
Revisar pedidosyCancelar pedidos.
Paso 7. Si la caja no cuadra
Cuando lo contado no coincide con lo esperado, al pulsar Cerrar caja registradora aparece la ventana Diferencia de pagos:
Nota
El dinero contado no coincide con el esperado. ¿Desea registrar esta diferencia en los libros?En inglés:
The money counted doesn't match what we expected. Want to log the difference for the books?
Continuar de todos modos cierra la sesión y contabiliza la diferencia. Descartar te devuelve al recuento para volver a contar.
Si has puesto un límite en el paso 3 y el descuadre lo supera, el cajero ve otro mensaje y no puede cerrar:
Nota
La diferencia máxima permitida es … Contacte a su gerente para aceptar la diferencia de cierre.En inglés:
The maximum difference allowed is … Please contact your manager to accept the closing difference.
Tiene que cerrar la caja un usuario administrador del Punto de venta.
Qué pasa en contabilidad
Durante el día, los tickets no generan asientos. El asiento nace al cerrar la sesión, en el diario de pedidos del TPV, y agrupa todas las ventas no facturadas.
Un ejemplo con cifras inventadas para seguir los importes: fondo de 150 €, ventas de 2.060 € con IVA del 21 % (820 € en efectivo y 1.240 € con tarjeta), una retirada de 200 € para ingresar en el banco y 765 € contados al cierre.
Lo esperado en el cajón es 150 + 820 − 200 = 770 €. Faltan 5 €.
| Asiento | Debe | Haber |
|---|---|---|
| Ventas de la sesión (diario del TPV) | 4301 Clientes (euros) (PoS): 2.060,00 | Cuenta de ventas del producto: 1.702,48 · 477 IVA repercutido: 357,52 |
| Cobros en efectivo (diario de caja) | 570 Caja: 820,00 | 4301: 820,00 |
| Cobros con tarjeta (diario de banco) | Cuenta pendiente del método de pago: 1.240,00 | 4301: 1.240,00 |
| Retirada de efectivo (diario de caja) | 572998 Cuenta transitoria: 200,00 | 570 Caja: 200,00 |
| Descuadre (diario de caja) | 678 Gastos excepcionales: 5,00 | 570 Caja: 5,00 |
Detalles que salen del código y de la plantilla española:
- La 4301 es la cuenta a cobrar que la localización asigna al TPV. Hace de puente: se carga con las ventas y se abona con los cobros, y queda a cero si todo se ha cobrado. Un método de pago puede usar otra si rellenas su
Cuenta intermedia. - La línea del descuadre lleva el texto
Diferencia de efectivo observada durante el recuento (pérdida) - cierre, o(ganancia)si sobra dinero. Búscala así en el diario de caja. - Las ventas se agrupan por cuenta de ingresos e impuesto. Si quieres una línea por producto en el asiento, activa
Asiento de cierre por productoen la secciónContabilidadde los ajustes del TPV. - Los pedidos que se facturaron en el mostrador no entran en el bloque de ventas del asiento: su ingreso está en la factura.
- El IVA de los tickets llega al modelo 303 por el mismo camino que el de las facturas, porque el asiento de la sesión lleva los impuestos con sus etiquetas de casilla.
Dónde revisar los cierres
- Punto de venta, Pedidos, Sesiones: una línea por sesión, con quién la abrió (
Abierta por), fechas y estado (En proceso,Control de cierre,Cerrado y registrado). Dentro de cada sesión, el historial guarda las diferencias de apertura y de cierre, y el botónPedidoslista los tickets. - Punto de venta, Informes, Informe de la sesión y
Detalles de ventas: los informes imprimibles. - En la tarjeta del TPV, el menú de los tres puntos tiene accesos a
SesionesyPedidosfiltrados para esa caja.
Lo que la norma española añade al mostrador
El límite de pagos en efectivo. El artículo 7 de la Ley 7/2012 prohíbe pagar en efectivo operaciones de 1.000 euros o más cuando alguna de las partes actúa como empresario o profesional (10.000 euros si el pagador es un particular sin domicilio fiscal en España). El TPV de Odoo no lo comprueba: en el código de point_of_sale y de los módulos españoles del TPV no hay ninguna validación de ese importe. Es una regla que tiene que conocer quien cobra.
Ticket o factura. Un ticket del TPV es una factura simplificada, con su límite de 400 € o 3.000 €. Con Veri*Factu activado, un pedido que lo supere y no se facture se bloquea con El pedido debe ser facturado, ya que su importe total supera los 400 €. Cómo cambiar ese importe está en Factura simplificada en Odoo 19.
Veri*Factu no espera al cierre. Según la documentación de Odoo 19, el registro de Veri*Factu se genera cuando el pedido se paga y, si en ese momento se emite factura, el registro es el de la factura. El cierre de caja no envía nada a la AEAT. La configuración está en Configurar Veri*Factu en Odoo 19 y los mensajes del mostrador, en Errores de Veri*Factu.
No se factura el día entero de golpe. Con Veri*Factu activado, Odoo no permite agrupar varios pedidos del TPV en una sola factura: With Veri*Factu enabled, POS orders cannot be consolidated into one invoice. (el mensaje no tiene traducción en la rama 19.0).
Resultado
- Cada caja tiene su método de efectivo, su diario y sus cuentas de descuadre.
- El cajero abre con el fondo real, anota retiradas e ingresos y cierra contando.
- Cada sesión deja un asiento de ventas, los cobros por método y, si lo hay, el descuadre en la 678 o la 778.
- Los descuadres grandes necesitan a un administrador.
Errores frecuentes
No puede cerrar el TPV si aún hay pedidos en borrador para este día.(You cannot close the POS while there are still draft orders for the day.) Hay pedidos sin cobrar. Cóbralos o elimínalos desdePedidos, en la cabecera del TPV, y vuelve a cerrar.Diríjase al diario … y define una cuenta de pérdidas. Esta cuenta se utilizará para registrar la diferencia en efectivo.(Please go on the … journal and define a Loss Account…) El diario de caja no tieneCuenta de pérdidas. Con un sobrante, el mensaje equivalente pide la cuenta de ganancias. Rellénalas como en el paso 1.La sesión ya está cerrada. Otro usuario cerró la sesión mientras el TPV seguía vendiendo. Odoo guarda esas ventas en una sesión de rescate, que se revisa y se contabiliza desde el tablero del Punto de venta.Hay una diferencia entre los importes a registrar y los importes de los pedidos, probablemente se deba a los impuestos o a los cambios de configuraciones contables.El asiento de la sesión no cuadra, casi siempre porque alguien cambió un impuesto o una cuenta con la sesión abierta. Odoo ofreceForzar el cierre de sesión, que lleva la diferencia a una línea aparte. Antes de forzar, que contabilidad mire qué se cambió.No puede crear una sesión que inicie antes del …La fecha cae en un periodo con fecha de bloqueo. Revisa los bloqueos antes de abrir caja.- El arqueo nunca cuadra por la misma cantidad. Suele ser una retirada de efectivo que no se anotó con
Entrada/salida de efectivo, o un fondo de apertura aceptado sin contar.
Preguntas frecuentes
¿Dónde se cierra la caja del TPV en Odoo 19?
En la pantalla de venta, con el icono de menú (≡) y la opción «Cerrar caja registradora». Se abre la ventana «Cierre de caja», donde escribes el efectivo contado y pulsas «Cerrar caja registradora». Si la sesión se ha quedado abierta sin TPV delante, también se cierra desde Punto de venta ‣ Pedidos ‣ Sesiones con el botón «Cerrar sesión y registrar asientos».
¿A qué cuenta va el descuadre de caja?
A la «Cuenta de pérdidas» o a la «Cuenta de ganancias» del diario de caja. Con la localización española, Odoo 19 propone por defecto la 678 (Gastos excepcionales) para los faltantes y la 778 (Ingresos excepcionales) para los sobrantes. Se cambian en el diario, pestaña «Asientos contables».
¿Puedo impedir que un empleado cierre con un descuadre grande?
Sí. En los ajustes del TPV, sección «Pago», activa «Establecer la diferencia máxima» y escribe el importe en «Diferencia autorizada». Por encima de ese importe, solo un usuario del grupo Administrador de Punto de venta puede cerrar.
¿El cierre de caja envía algo a Veri*Factu?
No. Con Veri*Factu activado, el registro de cada ticket se genera cuando el pedido se paga, según la documentación de Odoo 19, no al cerrar la sesión. El cierre solo contabiliza las ventas y el arqueo.
¿Hace falta Enterprise para el cierre de caja?
No. El módulo point_of_sale es de la edición Community y el cierre funciona igual en las dos. Lo que cambia es dónde revisas la contabilidad, porque los informes contables completos y la conciliación bancaria son de Enterprise.
Fuentes
- Documentación de Odoo 19 — Punto de venta, flujo de trabajo (abrir, caja y cerrar)odoo.com
- Documentación de Odoo 19 — Métodos de pago del Punto de ventaodoo.com
- Documentación de Odoo 19 — Informes del Punto de venta (sesiones)odoo.com
- Código fuente de point_of_sale (rama 19.0), ventana de cierre de cajagithub.com
- Código fuente de point_of_sale (rama 19.0), contabilización de la sesión (pos_session.py)github.com
- Plantilla contable española de Odoo 19 (cuentas 4301, 678 y 778 por defecto)github.com
- Código fuente de l10n_es_edi_verifactu_pos (rama 19.0)github.com
- Ley 7/2012, artículo 7, limitaciones a los pagos en efectivo (BOE, texto consolidado)boe.es