Cómo leer los mensajes
Los mensajes del módulo hablan de datos que no pasan una comprobación (un código mal formado, un porcentaje fuera de rango, un registro repetido o una configuración que no existe para una fecha), de un paso que falta antes de seguir, de un archivo que no vale o de los registros de auditoría.
Algunos textos llevan %s o %d. Son marcadores donde va un dato concreto (empresa, producto, fecha, código o cifra), y ese dato es lo primero que tienes que mirar.
El caso: una transportista que prepara su primer documento con la reforma
Ejemplo Caso ilustrativo: la empresa y sus datos son inventados para explicar el flujo.
Transportes Rio Claro es una empresa inventada que mueve mercancía por carretera y ya trabaja con Odoo. Instala Brazil IBS/CBS Reform y su responsable de contabilidad empieza a configurarlo. Esto es lo que se encuentra por el camino.
La reforma sin activar
El primer intento choca con uno de estos tres textos: Reform is not enabled for company %s., Reform is not enabled for this company. o Reform computation is not enabled for this company.. Los tres dicen que, en la empresa en la que está trabajando, la reforma (o su cálculo, en el tercer caso) no está activada. Qué hacer: activar la reforma para esa empresa. Si trabajas con varias empresas, compara el nombre que sale en el mensaje con la empresa activa antes de tocar nada.
Una configuración por empresa, con valores por defecto
Al crear una segunda configuración para la misma empresa aparece One reform configuration per company is allowed.. No hace falta otra: se edita la que ya existe.
Más adelante sale Set the default CST IBS, CST CBS and cClassTrib in the reform configuration first.. El texto pide rellenar esos tres valores por defecto en la configuración de la reforma antes de continuar, y eso es lo que hace.
Las tasas, fecha a fecha
Con las tasas pueden salir cuatro mensajes. Only one rate configuration per company per date is allowed. indica que ya hay una configuración de tasas para esa empresa en esa fecha: hay que editar esa en vez de duplicarla. IBS rates cannot be negative. y IBS rates must sum to a value between 0 and 100. piden corregir los valores: ninguno negativo y una suma entre 0 y 100. Y No rate configuration found for company %s on date %s dice que para esa empresa y esa fecha no hay configuración de tasas; toca crearla o revisar la fecha que indica el mensaje.
Códigos cClassTrib y CST
Aquí aparecen los errores de formato. cClassTrib code must be 6 digits. y CST code must be exactly 3 digits. se arreglan escribiendo el código con esa longitud exacta. Los otros dos tienen que ver con la combinación: CST IBS code %s is not allowed for cClassTrib %s y CST CBS code %s is not allowed for cClassTrib %s indican que ese CST no está permitido con ese cClassTrib. Qué hacer: elegir otro CST o revisar si el cClassTrib es el que corresponde.

Productos, mapeos y tipo de tributación
Al asignar productos aparece One mapping per company, product and fiscal operation. si el mismo producto ya tiene mapeo para esa empresa y esa operación fiscal: se corrige el que hay. Si sale All products already have mappings., el propio texto dice que todos los productos ya tienen el suyo.
Según el tipo elegido, el módulo pide datos distintos: Ad valorem rate must be specified for ad valorem type. (falta la tasa ad valorem), Specific amount must be specified for specific type. (falta el importe específico) y Both ad valorem rate and specific amount must be specified for mixed type. (en el tipo mixto hacen falta los dos). Con la unidad de medida, Invalid UOM ISO code. Valid codes are: %s muestra la lista de códigos válidos: usa uno de ellos. Y No IS rate configuration found for product %s on date %s dice que falta configuración de tasa IS para ese producto en esa fecha.
Porcentajes y crédito presumido
Base reduction percentage must be between 0 and 100. y Credit percentage must be between 0 and 100. piden un valor dentro de ese rango. Presumed credit code is required. pide rellenar el código de crédito presumido.
La importación de un archivo
Al cargar datos desde un archivo, el módulo puede responder Please select a file. (no se ha elegido ninguno), File exceeds maximum size of 5 MB. (el archivo pesa más de 5 MB) o File exceeds maximum of %d rows. (tiene más filas que el máximo que indica el mensaje). En los dos últimos casos, reduce el archivo o divídelo en partes y súbelas por separado.
Emitir: el bloqueo por la validación
Con todo configurado, la responsable intenta emitir y recibe Cannot issue document: reform validation blocks exist. Please review the validation diagnostics.. El mensaje dice que hay bloqueos de validación de la reforma y pide revisar los diagnósticos. Qué hacer: abrir los diagnósticos de validación, corregir cada bloqueo que indiquen y volver a intentarlo.

Lo que no se puede tocar
Dos mensajes protegen el historial: Audit logs cannot be modified. y Audit logs cannot be deleted.. Los registros de auditoría no se editan ni se borran; no hay nada que arreglar, solo dejar de intentarlo. Igual con Computed reform results cannot be modified directly.: los resultados calculados no se cambian directamente.


Qué aprender del caso
- Lee el dato que va en el lugar de
%s: empresa, producto, fecha o código te dice dónde mirar. - Si un mensaje dice que la reforma no está activada o pide los valores por defecto, resuélvelo en la configuración de la reforma de esa empresa.
- Los duplicados (configuración por empresa, tasas por fecha, mapeos por producto y operación fiscal) se resuelven editando lo que ya existe.
- Si el bloqueo llega al emitir, los diagnósticos de validación son el sitio donde empezar.
Si quieres ver la puesta en marcha campo por campo, tienes la guía de puesta en marcha, y para entender qué recorre cada registro, cómo funciona por dentro.
Cómo te ayuda FlexigoTech
FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida, así que podemos revisar contigo la configuración que provoca estos mensajes o adaptar el comportamiento si tu caso lo necesita. El módulo cuesta 9 € sin IVA por versión de Odoo, pago único, para 17, 18, 19 y 20; lo tienes en la ficha de Odoo Apps y en la página del módulo.
Sigue leyendo
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/account_move_extension.py
- Código del módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/base_reduction.py
- Código del módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/cclass_trib.py
- Código del módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/cst_table.py
- Código del módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/is_rate_config.py
- Código del módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/presumed_credit.py
- Código del módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/product_reform_map.py
- Código del módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/reform_audit_log.py
- Código del módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/reform_config.py
- Código del módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/reform_doc_line_result.py
- Código del módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/reform_rate.py
- Código del módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): wizards/apply_defaults_wizard.py
- Código del módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): wizards/mapping_import_wizard.py
- apps.odoo.com/apps/modules/20.0/flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_
- apps.odoo.com/apps/modules/17.0/flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_
- apps.odoo.com/apps/modules/18.0/flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_
- apps.odoo.com/apps/modules/19.0/flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_
- flexigotech.com/en/services.html
