SmartERP Documentation An Ashewa Technology Solutions Platform

Troubleshooting Security, ACL, and Record Rule Failures

Diagnostic guide for debugging 'Access Rights Error', conflicting group memberships, record rule domain evaluation, and 2FA recovery.

1. Overview & Business Value#

This comprehensive operational guide details the architecture, business workflows, configuration parameters, and execution steps for Troubleshooting Security, ACL, and Record Rule Failures within SmartERP.

Step-by-step diagnostic workflows for resolving permission denial exceptions and security lockout issues.

Common Security Exceptions#

  1. Access Rights Error: Operation not allowed on [model]: User lacks required CRUD bit in ir.model.access.csv.
  2. Record Rule Access Denied: Target record belongs to a company, branch, or department excluded by active ir.rule filters.
  3. Emergency 2FA Recovery: Administrator clears totp_secret on user profile to permit emergency password-only re-enrollment.

{screenshot:troubleshooting-security-and-permission-errors-overview-dashboard}

2. Prerequisites & Security Access Groups#

  • Required Modules: base, web, smarterp_security
  • Security Groups:
    • Enterprise Security Officer (Technical ID: base.group_user)
    • Security Administrator (Technical ID: base.group_system)
  • Master Data Dependencies: Established security group hierarchy, defined multi-company boundaries, and configured access control lists (ir.model.access.csv).

3. Step-by-Step Configuration & Execution#

Step 1: Navigating to the Module Interface#

  1. Log into your SmartERP instance at https://smarterp.et/odoo.
  2. Open the main App Switcher (grid icon in the top-left corner).
  3. Select the Settings app icon.
  4. From the top navigation bar, open Users & Companies → Users / Groups / Record Rules.

{screenshot:troubleshooting-security-and-permission-errors-app-switcher-navigation}

Step 2: Creating and Parameterizing Records#

  1. Click the New button in the top-left control panel.
  2. Complete the mandatory fields in the security form:
    • Rule Name (Mandatory): Descriptive identifier for security rule.
    • Target Model (Mandatory): Underlying data model subject to access control.
    • Domain Filter (Mandatory): Logical Python domain expression enforcing row-level restriction.
  3. Configure optional parameters: group assignment, global rule flags, and active state.

{screenshot:troubleshooting-security-and-permission-errors-record-creation-form}

Step 3: Validating and Processing Transactions#

  • Execution & Validation: Switch user context to test persona and verify query behavior.
  • Log Verification: Confirm that restricted records are omitted from list and search views.

{screenshot:troubleshooting-security-and-permission-errors-transaction-processing-state}

4. Advanced Configuration Points#

  • Automated Actions & Scheduled Tasks (Crons):
    • Security: Audit log archival (base.ir_cron_audit_archive)
    • Security: Expire dormant sessions (base.ir_cron_session_expire)
  • Custom Print Templates & Reports:
    • Role-Based Access Control (RBAC) Security Matrix
    • System Security & User Activity Audit Dossier
  • Multi-Company Rules: Record-level security isolation under Company 1 (Ashewa Technology Solutions S.C.).

5. Comprehensive Troubleshooting Matrix#

Error Symptom / ExceptionProbable Root CauseCorrective Action / Resolution
Access Rights Error: Operation not allowedUser lacks required CRUD permission in ir.model.access.csv.Assign user to the corresponding operational security group under Settings → Users.
Record Rule Access Denied: Document outside company boundaryTarget record belongs to a company excluded by user profile.Add company to Allowed Companies or switch active company selector.
Two-Factor Authentication LockoutUser lost mobile 2FA device or time drift occurred.Reset user TOTP secret under User Preferences using administrator credentials.
Last updated: 2026-10-30