협동조합 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_profitNGO 17 doctypeMIT활성하 — 출자/배당 미지원
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 API
  • cooperator_api_logs — API 호출 로그
  • easy_my_coop_connector — 외부 시스템 커넥터
  • easy_my_coop_export_xlsx — 명부 xlsx 내보내기 (감사·이사회용)
  • easy_my_coop_dividend + 이전 항목 재기재 제외

보안·UI

  • cooperator_website_recaptcha, portal_recaptcha
  • cooperator_website_uppercase_lastname
  • theme_light

4. cooperator 모듈 핵심 데이터 모델 (16.0 실측)

4-1. 출자좌수 종류 (Share Type)

  • product.productis_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() 흐름:

  1. 파트너 생성 또는 기존 파트너 매칭
  2. 자본금 청구 인보이스 발행 (account.move, release_capital_request=True)
  3. 청구 메일 자동 발송
  4. 상태를 ‘done’으로 전환
  5. set_membership() 호출 → cooperative.membership 레코드 생성

인보이스로 변환되므로 일반 회계 흐름과 표준 통합. 한국 회계법인이 일반 미수금처럼 다룰 수 있음.

4-4. 조합원 자격 (cooperative.membership)

  • 멀티컴퍼니별 자격 (한 사람이 여러 협동조합 조합원 가능)
  • cooperator (조합원 후보) vs member (정식 조합원) 구분
  • 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_term Float 그대로 활용

차입/채권 모듈은 한국 적용 가장 쉬움. 양식·세율만 바꾸면 운용 가능.


7. 한국 컨소시엄 5/7법인 적용 갭 — 종합표

한국 협동조합기본법 항목OCA/easy_my_coop한국화 작업량
출자금 납입·증감자·출자증서✅ cooperator양식만 한글화 (소)
조합원 명부·자격 (제22조)✅ cooperator + membership양식 매핑 (소)
양도·양수 (제24조)✅ operation_request transfer의결권 자동 산정 (중)
출자금 환급 (제25조)✅ operation_request sell_back한국 환급 룰 (소)
출자좌수 비례 배당 (제51조)✅ dividend prorataOdoo 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