협동조합 ERP 오픈소스 모듈 정밀 조사
← 자료원 인덱스
핵심 결론 (한 문단)
협동조합 운영을 본격적으로 다루는 production-grade 오픈소스 ERP는 사실상 Odoo 생태계 하나다. 진지한 모듈은 모두 벨기에 협동조합 IT 컨설턴시 Coop IT Easy SC에서 만들어 OCA(Odoo Community Association)에 기여하거나 자체 리포에 둔다. ERPNext의 frappe/non_profit은 NGO 멤버십 위주라 출자금·배당·잉여금 처리가 빠져있고, GitHub·Codeberg 일반 검색에서 신뢰할 만한 협동조합 ERP는 발견되지 않는다. 한국 협동조합기본법 로컬라이제이션(l10n_kr_cooperator)은 존재하지 않으며, 이는 컨소시엄 사업의 자산화 가능 포지션이다.
1. 후보군 비교
| 출처 | 모듈 수 | 라이선스 | 활성도 | 협동조합 회계 적합도 |
|---|---|---|---|---|
| OCA/cooperative (16.0) | 13개 | AGPL-3 | ★17, 2026-02 commits | 상 — 코어 |
| coopiteasy/vertical-cooperative (12.0) | 18개 | AGPL-3 | ★42, 2025-10 | 상 — 확장팩 (배당·대출·API) |
| frappe/non_profit | NGO 17 doctype | MIT | 활성 | 하 — 출자/배당 미지원 |
GitHub cooperative ERP 검색 | 군소 토이 | 혼재 | 학생 PJ 다수 | 하 |
| Codeberg | 협동조합 ERP 0건 | — | — | — |
2. OCA/cooperative 16.0 — 모듈 13개
메인테이너: Coop IT Easy SC (벨기에). 라이선스 AGPL-3. 카테고리 Cooperative management.
코어
cooperator— 출자 신청·승인·자본금 납입·조합원 명부·출자증서·탈퇴·전환cooperator_portal— 조합원 셀프서비스 포털cooperator_website— 외부 가입 신청 웹사이트cooperator_documentation— 문서
가입 보조
cooperator_website_payment— 가입 시 온라인 결제cooperator_website_recaptcha— 봇 차단
국가별 로컬라이제이션 (l10n_*)
- 🇧🇪 벨기에:
l10n_be_cooperator,l10n_be_cooperator_national_number,l10n_be_cooperator_portal,l10n_be_cooperator_portal_national_number,l10n_be_cooperator_website_national_number - 🇪🇸 스페인:
l10n_es_cooperator - 🇨🇭 스위스:
l10n_ch_cooperator - 🇩🇪 독일:
l10n_de_cooperator - 🇫🇷 프랑스:
l10n_fr_cooperator - 🇰🇷 한국: 없음 ← 컨소시엄 사업의 핵심 자산화 포지션
17.0 / 18.0 / 19.0 브랜치
- 모두 placeholder (모듈 0건). 12.0 → 14.0 → 16.0이 마이그레이션 진행 라인. 16.0이 production reference.
3. coopiteasy/vertical-cooperative 12.0 — 모듈 18개
OCA보다 풍부한 확장팩. 단 Odoo 12 기반 — 16+로 마이그레이션 안 된 모듈 다수,
installable: False표시 주의.
돈 흐름 (한국에서 가장 가치 있는 군)
easy_my_coop_dividend— 배당금 자동 계산 (prorata temporis)easy_my_coop_loan— 채권/후순위차입 가입 라이프사이클easy_my_coop_loan_account— 대출 회계 분개easy_my_coop_loan_account_be— 벨기에 대출 회계easy_my_coop_loan_bba— BBA(벨기에 은행 식별)easy_my_coop_loan_website— 대출 청약 웹사이트
통합·내보내기
cooperator_api— REST APIcooperator_api_logs— API 호출 로그easy_my_coop_connector— 외부 시스템 커넥터easy_my_coop_export_xlsx— 명부 xlsx 내보내기 (감사·이사회용)easy_my_coop_dividend+ 이전 항목 재기재 제외
보안·UI
cooperator_website_recaptcha,portal_recaptchacooperator_website_uppercase_lastnametheme_light
4. cooperator 모듈 핵심 데이터 모델 (16.0 실측)
4-1. 출자좌수 종류 (Share Type)
product.product에is_share=True플래그로 다중 정의- 한 협동조합이 여러 출자좌수 클래스 운용 가능 (예: A 보통주·B 우선주·사회적조합원 출자)
4-2. 출자좌수 라인 (share.line)
조합원-출자좌수 연결. 핵심 필드:
| 필드 | 의미 |
|---|---|
share_product_id | 출자좌수 종류 (FK to product.product) |
share_number | 좌수 |
share_unit_price | 좌당 가격 |
effective_date | 효력일 (배당 prorata 계산 기준) |
partner_id | 조합원 (FK to res.partner) |
total_amount_line | 좌수 × 좌가 (자동) |
company_id | 멀티컴퍼니 — 컨소시엄 5/7법인 통합 ERP에 핵심 |
4-3. 가입 신청 (subscription_request) — 913줄, 7-state machine
draft → blocked / waiting / cancelled
↓
done (validate_subscription_request)
↓
paid (자본금 납입 완료)
validate_subscription_request() 흐름:
- 파트너 생성 또는 기존 파트너 매칭
- 자본금 청구 인보이스 발행 (
account.move,release_capital_request=True) - 청구 메일 자동 발송
- 상태를 ‘done’으로 전환
set_membership()호출 →cooperative.membership레코드 생성
→ 인보이스로 변환되므로 일반 회계 흐름과 표준 통합. 한국 회계법인이 일반 미수금처럼 다룰 수 있음.
4-4. 조합원 자격 (cooperative.membership)
- 멀티컴퍼니별 자격 (한 사람이 여러 협동조합 조합원 가능)
cooperator(조합원 후보) vsmember(정식 조합원) 구분cooperator_register_number(조합원 등록번호 — 한국 명부와 동일)coop_candidate(대기자),old_member(탈퇴자) 자동 계산data_policy_approved,internal_rules_approved,financial_risk_approved— 가입 시 동의 항목 트래킹
4-5. 작업 신청 (operation_request) — 증자/양도/환매/전환
operation_type ∈ {transfer(양도), sell_back(환매), convert(전환)}
state: draft → waiting → approved → done / cancelled / refused
한국 협동조합기본법 매핑:
transfer↔ 제24조 양도·양수 (이사회 승인)sell_back↔ 제25조 출자금 환급 (탈퇴 시)convert↔ 출자좌수 종류 간 전환 (주식 클래스 변경)
5. 배당 엔진 (easy_my_coop_dividend) — 핵심 로직
알고리즘 (DividendYear.compute_dividend)
for partner in 정식 조합원:
for line in partner.share_ids:
if 효력일이 결산기 안에 있으면:
coeff = (결산기말 - 효력일).days / 결산기 일수 × 배당률
elif 효력일이 결산기 시작 전이면:
coeff = 배당률 (전 기간 보유)
dividend_amount = 좌수 × 좌가 × coeff
# 벨기에 원천징수 처리
if 총배당 ≤ €190: 세금 = 0
else: 세금 = (총배당 - €190) × withholding_tax_rate한국 협동조합기본법 매핑 (⚠️ 부분 매칭)
| 한국 배당 항목 | OCA 지원 |
|---|---|
| 출자좌수 비례 배당 | ✅ prorata temporis 정확 |
| 이용실적 배당 (생협 핵심) | ❌ 없음 — 신규 모듈 필요 |
| 사회적협동조합 배당 금지 (제93조) | ⚠️ 컴퍼니 설정으로 차단 가능 |
| 법정적립금 10% 우선 적립 (제50조) | ❌ — l10n_kr 자동 분개 필요 |
| 임의적립금 + 교육사업비 20% (제51조) | ❌ — l10n_kr 필요 |
⚠️ installable: False — Odoo 12 마이그레이션 미완. 16+ 사용 시 포팅 또는 재구현 필요.
6. 채권/대출 (easy_my_coop_loan)
loan.issue 모델 (채권발행)
- 가입기간 (start/end), 대출기간 (월), 만기일
- 순이자율 / 총이자율 / 이자세금율
- 액면가 (face_value), 최소·최대 (개인/법인 차등)
- 청약금액 / 납입금액 (자동 합산)
- 상환 방식 / 이자 지급 방식 (선택)
- 자동 cron으로 가입기간 종료 체크
- 보고서: 청약명세, 원천징수 신고서, 상환내역, 채권발행 보고서
한국 매핑
- 협동조합기본법 제45조 차입금 ↔
loan.issue직결 - 사회적기업 채권발행 (한국사회적기업진흥원 가이드라인) ↔ 거의 매칭
- 한국 원천징수율(15.4%) 설정 →
taxes_rate필드 한 줄 - 한국 만기 표준(3·5·7년) → 현재
loan_termFloat 그대로 활용
→ 차입/채권 모듈은 한국 적용 가장 쉬움. 양식·세율만 바꾸면 운용 가능.
7. 한국 컨소시엄 5/7법인 적용 갭 — 종합표
| 한국 협동조합기본법 항목 | OCA/easy_my_coop | 한국화 작업량 |
|---|---|---|
| 출자금 납입·증감자·출자증서 | ✅ cooperator | 양식만 한글화 (소) |
| 조합원 명부·자격 (제22조) | ✅ cooperator + membership | 양식 매핑 (소) |
| 양도·양수 (제24조) | ✅ operation_request transfer | 의결권 자동 산정 (중) |
| 출자금 환급 (제25조) | ✅ operation_request sell_back | 한국 환급 룰 (소) |
| 출자좌수 비례 배당 (제51조) | ✅ dividend prorata | Odoo 16+ 포팅 (중) |
| 이용실적 배당 (제51조) | ❌ | 신규 모듈 (대) |
| 법정적립금 10% (제50조) | ❌ | l10n_kr 분개 (중) |
| 임의적립금 + 교육사업비 20% (제51조) | ❌ | l10n_kr 분개 (중) |
| 사회적협동조합 배분 금지 (제93조) | ⚠️ 컴퍼니 설정 | 검증·잠금 (소) |
| 차입금/채권 발행 (제45조) | ✅ easy_my_coop_loan | 양식·세율 (소) |
| 한국 세무·전자세금계산서 | ❌ | 별도 l10n_kr 의존 (대) |
| 1인 1표 의결권 (제27조) | ⚠️ 좌수 합산만 | UI 개조 (소) |
8. 컨소시엄 5/7법인 도입 시나리오
시나리오 A — 단독 도입 (각 법인 자체 운영)
- 5/7법인이 각자 Odoo 인스턴스 띄움
- 장점: 데이터 주권 분산, 각 법인 자율
- 단점: 통합 보고서 어려움, 관리 비용 5배
시나리오 B — 멀티컴퍼니 통합 도입 ✓ 권고
- 1개 Odoo 인스턴스 +
company_id로 5/7법인 분리 cooperator모듈은 이미_check_company_auto = True,company_id필드 모든 모델에 박혀있음 — 컨소시엄 통합 운영을 위해 설계됨- 장점: 통합 명부·통합 배당·통합 회계, 비용 1/5
- 단점: 데이터 거버넌스 합의 필요 (한 법인 사고 시 영향 범위)
시나리오 C — l10n_kr_cooperator 신규 개발 + 컨소시엄 운영
- 도메인AI 사업 결과로 국내 최초 한국 협동조합 Odoo 로컬라이제이션 개발
- AGPL-3로 OCA 기여 → 글로벌 협동조합계 한국 진입 자산
- 위즈온/봄소프트 (도메인AI 컨소시엄 SI 후보)와 한국 적용 PoC
- 본 사업의 사회지능 운동 자산화 경로
9. 후속 과제
- OCA/cooperative 16.0 직접 설치·테스트 (DB·메일·웹사이트 PoC)
- easy_my_coop_dividend / loan 16.0 포팅 검토 (Coop IT Easy 측 마이그레이션 진행 상황 확인)
- 한국 협동조합 회계기준 차이점 표 →
l10n_kr_cooperator모듈 명세서 작성 - 위즈온·봄소프트와 Odoo 운영 경험 인터뷰
- 5/7법인 데이터 거버넌스 합의문 초안
10. 1차 출처 (모두 직접 코드 실측)
- OCA/cooperative — 16.0 브랜치 13개 모듈 직접 검증
- coopiteasy/vertical-cooperative — 12.0 브랜치 18개 모듈 직접 검증
- coopiteasy — Coop IT Easy SC 조직 (vertical-* 시리즈 8개)
- frappe/non_profit — ERPNext NGO 모듈 (협동조합 갭 확인용)
- 핵심 파일:
cooperator/models/{share_line,share_type,subscription_request,cooperative_membership,operation_request}.py,easy_my_coop_dividend/models/dividend.py,easy_my_coop_loan/__manifest__.py + models/loan_issue.py