소개
Odoo 다중 회사 접근 오류는 사용자가 다중 회사 환경에서 자신이 선택한(또는 허용된) 회사 범위를 벗어난 레코드에 접근하려고 할 때 발생하는 권한 차단 메시지입니다.
이 문제는 하나의 Odoo 데이터베이스에서 여러 법인(회사)을 운영하는 조직에서 자주 발생합니다. 기능적 권한이 있어도 회사 범위 설정이나 레코드 규칙 때문에 접근이 차단될 수 있습니다.
이 문서는 다중 회사 접근 오류가 왜 발생하는지 원인을 분석하고, 안전하게 문제를 해결하는 실무적 절차를 제시합니다.
Odoo에서 ‘다중 회사 접근 오류’란 무엇인가?
Odoo는 하나의 데이터베이스에서 여러 회사를 관리하도록 설계되어 있으며, 각 레코드는 company_id 필드로 특정 회사에 연결됩니다.
다중 회사 모드가 활성화되면 다음과 같은 동작이 적용됩니다:
- 사용자는 활성화된 회사 소속 레코드만 열람할 수 있습니다.
- 레코드 규칙이 자동으로 회사별 필터를 적용합니다.
- 일부 모델은 회사 간 완전한 분리를 강제합니다.
따라서 사용자가 활성 회사 컨텍스트와 다른 회사에 속한 레코드를 열람·수정하려 하면 Odoo가 접근을 차단합니다.
이 오류는 주로 UI 층에서 나타나며, 화면에는 다음과 같은 메시지가 보일 수 있습니다:
해당 문서에 접근할 수 있는 권한이 없습니다.
Odoo 다중 회사 접근 오류의 흔한 원인
1. 활성 회사 선택이 잘못됨
사용자는 화면 우측 상단의 회사 선택기에서 활성 회사를 전환할 수 있습니다.
잘못된 회사가 활성화되어 있다면 그 회사와 연결된 레코드에 접근할 수 없습니다.
2. 레코드가 다른 회사 소유
레코드의 상태는 다음과 같이 될 수 있습니다:
company_id = 회사 B
반면 사용자는 회사 A 컨텍스트에서 작업 중입니다.
Odoo는 기본적으로 회사 간 직접 접근을 허용하지 않습니다.
3. 사용자가 필요한 회사에 할당되어 있지 않음
사용자는 접근을 허용받을 각 회사를 명시적으로 사용자 계정에 할당해야 합니다.
할당되지 않았다면 회사 선택기가 보이더라도 접근 권한이 거부됩니다.
4. 레코드 규칙이 회사 분리를 강제
많은 모델은 자동으로 다음과 같은 레코드 규칙을 사용합니다:
[('company_id', 'in', user.company_ids.ids)]
레코드의 company_id가 사용자의 허용 회사 목록에 없으면 접근이 차단됩니다.
5. 회사별 필드를 포함한 공유 레코드
외형상 공유되는 레코드라도 회사별로 다른 필드 때문에 접근 제한이 발생할 수 있습니다.
이런 상황은 회계나 금융 관련 모듈에서 특히 자주 나타납니다.
Odoo 다중 회사 접근 오류 해결 방법
1단계 – 활성 회사 확인
우측 상단 회사 선택기에서 활성 회사를 바꾼 뒤 레코드에 다시 접근해 보세요.
2단계 – 레코드의 소유 회사 확인
개발자 모드를 활성화하여 레코드의 company_id 값을 확인합니다.
값이 현재 사용자의 활성 회사와 일치하는지 확인하세요.
3단계 – 사용자에 올바른 회사 할당
다음 경로로 이동하세요:
설정 → 사용자 및 회사 → 사용자
해당 사용자가 필요한 모든 회사에 포함되어 있는지 확인합니다.
4단계 – 레코드 규칙 검토
다음 위치에서 레코드 규칙을 확인하세요:
설정 → 개발자 도구(기술) → 보안 → 레코드 규칙
company_id로 필터링되는 규칙을 찾아 도메인을 점검합니다.
회사 관련 레코드 규칙을 수정할 때는 신중해야 합니다. 보안 취약점이 생길 수 있습니다.
5단계 – 모듈별 다중 회사 구성 검토
일부 모듈은 엄격한 회사 분리를 기본으로 하므로 모듈 설정을 확인해야 합니다.
운영 방식에 따라 모듈 설정이 회사 구조와 일치하는지 검증하세요.
다중 회사 접근 문제를 예방하는 방법
- 배포 전 회사 구조를 명확히 설계하세요.
- 사용자에게 적절한 회사만 신중히 할당하세요.
- 운영 중인 레코드의 company_id를 임의로 변경하지 마세요.
- 각 회사 컨텍스트에서 워크플로를 테스트하세요.
- 회사 간 프로세스를 문서화하여 혼란을 줄이세요.
다중 회사 환경은 규칙과 배치가 엄격해야 원활히 작동합니다. 부실한 회사 할당은 권한 오류의 주요 원인 중 하나입니다.
Dasolo의 다중 회사 환경 구성 방식
접근 오류의 대부분은 레코드 규칙, 회사 의존 필드, 사용자에 대한 회사 할당이 일관되지 않을 때 발생합니다. Odoo는 복잡한 다중 법인 구조를 지원하지만 작은 구성 누락도 정상적인 작업을 막을 수 있습니다.
Dasolo에서는 다중 회사 환경을 점검할 때 다음 항목에 중점을 둡니다:
- 회사별 가시성 설정
- 레코드 규칙의 도메인 필터
- 공유 레코드와 회사 전용 레코드의 구분
- 엔터티 간 작업하는 통합(Integration) 사용자 관리
명확한 회사 경계 설계와 일관된 접근 정책은 회사 간 충돌을 예방합니다.
결론
Odoo의 “다중 회사 접근 오류”는 사용자가 허용 범위를 벗어난 데이터를 열람하려 할 때 발생합니다. 이 제한은 의도된 보안 기능이지만, 잘못된 설정 때문에 불필요한 작업 중단이 발생할 수 있습니다.
회사 할당, 레코드 규칙, 공유 자원 설정을 체계적으로 점검하면 반복적으로 발생하는 접근 충돌을 제거할 수 있습니다. 올바르게 설계된 다중 회사 구조는 데이터 분리를 유지하면서도 여러 법인 간의 유연한 운영을 가능하게 합니다.