Cuándo termina el ejercicio
Una sola fecha define el corte anual de toda la contabilidad, y se carga una vez.
Cerrar un ejercicio en Odoo no es apretar un botón. Es un conjunto de fechas y de candados que se aplican sobre los asientos ya cargados. Lo primero, entonces, es decirle al sistema cuándo termina el año.
Se configura en Contabilidad > Configuración > Ajustes, bloque Periodos fiscales, recuadro Año fiscal. Ahí se carga el Último día: primero el mes, después el día. De fábrica viene 31 de diciembre, que es lo habitual, pero muchas empresas argentinas cierran en otro mes.
Ese dato no crea períodos ni genera asientos. Hace dos cosas: define el corte que usan los reportes cuando se les pide un ejercicio, y le da a Odoo el marco para agrupar y numerar los asientos por año. Si el ejercicio de Ingenio Construcciones no cierra en diciembre, corregirlo antes de cargar el primer comprobante evita rehacer reportes más adelante.
En el mismo recuadro hay una casilla Definir años fiscales de menos o más de 1 año. Al tildarla aparece un botón Años fiscales, donde se carga cada ejercicio con su nombre, su fecha de inicio y su fecha final. Es lo que se usa para el primer ejercicio de una empresa nueva, o para el ejercicio que se acorta o se alarga porque cambió la fecha de cierre. Odoo no deja que dos ejercicios se superpongan.
El asiento de apertura y los saldos iniciales
Cómo entran a Odoo los saldos que traía el sistema anterior.
Cuando una empresa arranca en Odoo a mitad de camino, hay que meter los saldos con los que viene. Eso se hace con un único asiento —el asiento de apertura— y se carga desde el panel de puesta en marcha que aparece en el Tablero de Contabilidad.
El paso Configurar periodos abre una ventana titulada Periodos contables con dos datos: la Fecha de apertura y el Fin del ejercicio fiscal. La fecha de apertura es el día a partir del cual la contabilidad se lleva en Odoo. Acá hay un detalle que confunde a todo el mundo: el asiento de apertura no lleva esa fecha, lleva la del día anterior. Si la empresa arranca el 1 de enero, el asiento queda fechado el 31 de diciembre.
El paso Revisar plan de cuentas abre el plan de cuentas en modo edición, con dos columnas que no están en el listado normal: Débito de apertura y Crédito de apertura. Se completa cuenta por cuenta. Hay una tercera columna, Balance de apertura, que viene oculta y se agrega desde el selector de columnas.
Odoo arma el asiento solo: lo llama Asiento contable de apertura, lo registra en el primer diario de tipo misceláneo, y manda la diferencia que falte para cuadrar a la cuenta de tipo Ganancias del año en curso. Mientras el asiento esté en borrador se puede seguir editando. Una vez registrado, el paso deja de abrir la lista editable y abre el plan de cuentas común: para corregir un saldo inicial hay que volver el asiento a borrador.
Las cinco fechas de bloqueo
Un candado por tipo de operación, más uno que no se puede volver a abrir nunca.
Todas se cargan en una sola pantalla: Contabilidad > Bloqueando > Fechas de bloqueo…. Sí, el grupo de menú se llama Bloqueando —o Cerrando, según la variante de español instalada—. Es la traducción literal de Closing y no ayuda: quien busque «Cierre» en el menú de Contabilidad no lo va a encontrar. La pantalla la abre solo el administrador de contabilidad.
Son cinco campos de fecha, y todos bloquean hasta esa fecha inclusive:
| Fecha | Qué bloquea |
|---|---|
| Fecha de bloqueo de las ventas | Los asientos de los diarios de venta. |
| Fecha de bloqueo de compras | Los asientos de los diarios de compra. |
| Fecha de bloqueo de la declaración de impuestos | Cualquier asiento que tenga impuestos, sea del diario que sea. |
| Fecha de bloqueo global | Todos los asientos, de todos los diarios. Admite excepciones. |
| Fecha de bloqueo permanente | Todos los asientos, para todos los usuarios, sin excepciones y sin vuelta atrás. |
Conviene entender qué hace realmente el bloqueo, porque no es lo que la mayoría espera. Si se registra un comprobante nuevo con fecha dentro del período bloqueado, Odoo no lo rechaza: le corre la fecha contable al primer día abierto y lo avisa en la ficha antes de registrar. Lo que sí rechaza es tocar un asiento que ya está registrado dentro del período cerrado: ahí corta con «No puede agregar/modificar asientos anteriores a y que incluyan…» y no hay forma de guardar.
La fecha de impuestos se mueve sola. Cuando se registra el asiento de cierre de la declaración de impuestos, Odoo la adelanta automáticamente al final del período declarado. Ese circuito se explica en el Manual «Impuestos».
Las excepciones temporales
Destrabar un ajuste puntual sin abrir el período entero.
Pasa siempre: el período está cerrado y aparece un ajuste que hay que hacer sí o sí. La reacción intuitiva —correr la fecha de bloqueo, hacer el ajuste, volver a ponerla— es la peor de todas, porque durante ese rato el período queda abierto para cualquiera.
Para eso está la excepción. En la misma pantalla de fechas de bloqueo, al escribir una fecha anterior a la que ya estaba, aparece un recuadro Excepción con tres datos: a quién aplica (para mí o para todos), cuánto dura (por 5 minutos, por 15 minutos, por 1 hora, por 24 horas o para siempre) y el Motivo de la excepción.
Mientras la excepción está viva, esa persona puede cargar en el período; para el resto sigue cerrado. Vencido el plazo se apaga sola, sin que nadie tenga que acordarse. También se puede cortar antes: la propia pantalla muestra Para mí: o Para todos: con la fecha destrabada y un Revocar al lado.
Dos cosas para tener claras. Elegir «para todos» y «para siempre» a la vez no crea ninguna excepción: eso es, lisa y llanamente, cambiar la fecha de bloqueo. Y la fecha de bloqueo permanente no acepta excepciones de ningún tipo, ni siquiera para el administrador.
El registro de auditoría
Con la opción activa, ningún cambio sobre un asiento registrado se pierde.
Odoo guarda el historial de cambios de cada asiento en su propio hilo de mensajes. Por defecto, ese historial se puede borrar. La opción Pista de auditoría restrictiva lo vuelve inmutable.
Se enciende en Contabilidad > Configuración > Ajustes, bloque Reportes. Con la opción activa cambian dos cosas concretas: un asiento que alguna vez estuvo registrado ya no se puede eliminar —hay que cancelarlo, que deja rastro—, y tampoco se pueden borrar los mensajes ni los adjuntos de su historial.
El reporte está en Contabilidad > Revisión > Registros > Pista de auditoría. No lista solamente asientos: junta los cambios sobre asientos, cuentas, impuestos, contactos y la propia compañía. Ahí quedan registradas también las modificaciones de las fechas de bloqueo, con fecha, usuario y valor anterior.
En Argentina la localización no fuerza esta opción —en otros países sí—, así que es una decisión de la empresa. Conviene encenderla el primer día, porque no reconstruye nada de lo que se borró antes.
Asegurar los asientos con hash
El encadenamiento que hace evidente cualquier alteración hacia atrás.
Proteger un asiento con hash es calcularle una huella a partir de su contenido y de la huella del asiento anterior de la misma secuencia. Los asientos quedan encadenados: si alguien modifica uno viejo por fuera de la aplicación, la huella deja de coincidir y la cadena queda rota a la vista de cualquiera que la revise.
Hay dos maneras de hacerlo. Por diario: en la ficha del diario, pestaña Ajustes avanzados, grupo Automatización, la casilla Proteger asientos registrados con hash. Con eso, cada asiento se protege en el momento de registrarse. La casilla existe en los diarios de venta, de compra y de misceláneos, y una vez que el diario tiene asientos protegidos ya no se puede destildar.
Y a demanda: el asistente Proteger asientos, en el mismo grupo de menú que las fechas de bloqueo. Pide una fecha y protege todo hasta ahí inclusive. Antes de ejecutar avisa lo que encuentra: asientos en borrador anteriores a esa fecha, líneas de extracto sin conciliar, huecos en la numeración que van a quedar sellados, y asientos que directamente no se pueden proteger.
Un detalle que desconcierta: el menú Proteger asientos no aparece de entrada. Hasta que se protege el primer asiento solo se ve con el modo desarrollador activado; después queda visible para todos los usuarios de contabilidad.
Herramientas de corrección antes de cerrar
Dos asistentes para arreglar numeraciones e imputaciones antes de tirar el candado.
Renumerar. Si quedaron saltos en la numeración de un diario —por asientos borrados o por cargas fuera de orden— hay que corregirlos antes de bloquear. Se seleccionan los asientos en el listado, todos del mismo diario, y en el menú de acciones aparece Resecuenciar.
El asistente pide la Primera secuencia nueva y ofrece dos criterios, Mantener el orden actual o Reordenar por fecha contable, con una vista previa de cómo queda cada asiento antes de confirmar. Dos advertencias: la opción solo se ve con el modo desarrollador activado, y si el diario ya tiene los asientos protegidos con hash, «Reordenar por fecha contable» está prohibido y Odoo lo rechaza.
Asientos automáticos. Para cambiar la cuenta de varios apuntes de una vez, o para diferir un importe a otro período, se seleccionan los apuntes en Contabilidad > Revisión > Control > Apuntes contables y se usa el menú de acciones:
- Mover a la cuenta: pide una cuenta destino y genera un asiento de transferencia que saca el saldo de las cuentas originales y lo lleva a la nueva. Es la reimputación en masa.
- Cambiar periodo: pide una fecha y un porcentaje o un importe, y genera dos asientos que sacan esa parte del período original y la reconocen en el nuevo, apoyándose en las cuentas de devengo de ingresos y de gastos.
Los dos tienen las mismas dos limitaciones, y conviene saberlas de antemano: trabajan solamente sobre asientos ya registrados y solamente sobre apuntes que no estén conciliados. Si el apunte ya se cruzó con un pago, hay que desconciliarlo primero.