한국어
사용자·조직·현장과 계약·결제
상태: 공통 표준 — 2026-10-11 KST 사용자 승인
적용 대상: company-wide — Leyve·LeyVote 등 조직과 현장을 가진 제품의 계정 관계, 계약 당사자, 청구 접근과 계정 탐색
정본 경계: 공통 정의는 이 페이지, 접근 역할과 부여 규칙은 접근 역할 체계가 소유합니다. 접근 UX와 결정 기록은
leysys-design, 실제 세션·권한 표·저장·이행·채택 증거는 소유 제품이 관리합니다. 이 표준의 승인은 운영 인증 서버나 결제 시스템의 구현 완료를 뜻하지 않습니다.
사용자에게 보이는 구조
사용자는 자기 로그인 계정으로 조직에 참여하고, 허용된 현장에서 일합니다. 계약과 결제는 조직의 계약·결제에서 관리합니다. 별도 빌링 계정에 다시 가입하거나 같은 프로필과 구성원을 반복 등록하지 않습니다.
| 개념 | 하는 일 | 서로 다른 것 |
|---|---|---|
| 사용자 계정 | 로그인 주체, 자격 증명, 본인 프로필·보안·환경설정 | 조직의 법적 당사자, 청구 연락처 |
| 조직 | 구성원·역할·현장과 계약을 관리하는 운영·접근 범위 | 법적 당사자, 개별 계약, 청구서 |
| 현장 | 조직이 개설한 업무 범위. 내부 모델의 workspace | 별도 계약 당사자나 조직 소유 관계 |
| 당사자 | 개인·법인·법인 아닌 단체의 법적 신원 | 로그인 자격 증명, 사업자등록 |
| 사업자등록 | 특정 당사자의 세무 등록·사업장 증빙 | 당사자의 법인격이나 조직 ID |
| 계약·결제 | 계약, 청구서, 결제수단, 납부와 청구 역할 | 일반 업무 데이터 접근 |
기존 이메일 로그인·조직 로그인·워크스페이스 로그인 구분과 입력 폼은 유지합니다. 업무 화면에서는 workspace를 「현장」으로 표시할 수 있습니다. 각 제품의 현재 이메일 로그인 자격을 자동 확대하거나 축소하지 않습니다.
로그인 주체와 범위
- 인증 주체(
principal)와 로그인 자격 증명, 조직 소속·역할·조직 소유를 분리합니다. 같은 이메일·이름·사업자등록번호는 연결 근거가 아닙니다. 하나의 사람·주체에 여러 자격 증명을 연결할 때는 본인 확인을 거친 명시적 연결을 기록합니다. - 조직 코드로 로그인한 세션은 그 조직과 허용된 현장에만 들어갑니다. 같은 사람이 다른 조직에도 참여한다는 이유로 세션 범위를 넓히지 않습니다.
- 현장 코드로 로그인한 세션은 그 현장 하나에만 들어갑니다. 현장 전환, 조직 선택·관리, 조직 전용 명령은 막습니다. 다른 자격 증명에 조직 소유가 있어도 이 제한을 우회하지 못합니다.
- 이메일 로그인도 해당 제품의 가입 경계와 활성 접근 관계를 따릅니다. 브랜드 간 계정을 자동 통합하지 않습니다.
- 조직 역할은 공개 현장에 상속합니다. 비공개 현장은 직접 역할만 허용하며, 조직 관리자가 사유와 감사 기록을 남겨 관리자 참여를 한 뒤 관리합니다. 화면뿐 아니라 명령 실행과 저장 시점에도 같은 조건을 확인합니다.
조직 소유의 민감 변경 명령은 「이메일로 로그인했는가」로 판정하지 않습니다. 검증된 동일 인증 주체의 활성 조직 소유 관계, 조직 관리자 전제 역할, 조직 범위 세션과 최근 비이메일 2차 인증을 함께 확인합니다. 조직 ID 자격 증명이 해당 주체에 검증되어 연결되지 않았다면 조직 소유 명령을 허용하지 않습니다.
활성·검증된 조직 소유자는 청구 관리자 범위의 일반 업무도 기본으로 수행할 수 있고, 일반 조회·내려받기마다 재인증하지 않습니다. 일반 조직 관리자의 청구 편집·설정에는 별도 청구 역할이 필요합니다.
이번 제품 채택에서 최근 재인증은 300초 미만인 증거만 유효합니다. 미래 시각·만료·재사용 증거는 거부합니다. 증거는 인증 주체·세션·조직·명령·nonce에 묶고, 서버가 검증한 방법·시각·만료·출처를 확인합니다. 과거 증거를 다른 명령이나 세션에서 재사용하지 않습니다. 브라우저의 로컬 재인증 시연은 실제 2차 인증이나 서버 검증을 대신하지 못합니다.
구성원과 현장 관리자
- 조직 관리자는 조직 구성원과 현장 관리자를 지정·회수합니다. 현장 관리자는 자기 현장의 편집자·조회자만 다룹니다. 최초 관리자라는 이유로 별도 최고 역할을 만들지 않습니다.
- 현장 생성만으로 생성자에게 직접 역할을 부여하지 않습니다. 공개 현장은 조직 관리자 역할 상속만으로 운영할 수 있습니다. 현장 관리자 지정은 기존 사용자 선택 또는 새 사용자 초대의 선택 단계입니다. 새 현장을 만들었다는 이유로 별도 사람 계정이나 비밀번호를 자동 발급하지 않습니다.
- 비공개 현장의 업무 접근에는 명시적으로 부여받은 직접 역할이 필요합니다. 직접 관리자 역할이 없는 조직 관리자는 먼저 사유와 감사 기록을 남겨 관리자로 참여한 뒤 업무와 역할을 관리합니다. 생성자도 같은 조건을 따르며, 조직 관리 화면에서 현장의 존재를 확인하는 것은 업무 접근이나 역할 관리 권한을 부여하지 않습니다.
- 초대·수락, 역할 부여, 자격 증명 발급은 서로 다른 사건입니다. 초대 중인 사람에게 접근을 주지 않으며, 자격 증명을 만들었다고 역할이나 조직 소유가 생기지 않습니다.
- 현장 전용 자격 증명의 하위 계정 생성도 같은 현장 범위와 부여 규칙을 따릅니다. 일반 구성원에게 조직 전용 자격 증명 발급이나 상위 역할 변경을 허용하지 않습니다.
계약 당사자와 이력
조직은 계약을 보유하는 운영 범위입니다. 계약 당사자는 명시적인 contractorPartyRef로 연결한 당사자이며, 기본값은 조직 프로필의 당사자입니다. organizationId, partyId, contractId, invoiceId와 기존 빌링 계정 ID를 서로 같은 식별자로 만들지 않습니다.
- 당사자 유형은
natural_person,legal_person,unincorporated_organization입니다. 개인사업자는 개인 당사자와 그 사업자등록으로 표현합니다. 개인·비사업자의 조직 개설에 사업자등록번호를 필수로 요구하지 않습니다. - 한 당사자는 사업자등록을 0개 이상 가질 수 있습니다. 등록이 있고 해당되는 경우 계약·청구에 적용할 등록을 명시적으로 선택합니다. 등록 없이도 가입·계약할 수 있습니다. 그 등록의 당사자가 일치하는지 확인합니다. 조직·사용자 프로필에 같은 증빙을 별도 복제하지 않습니다.
- 계약 당사자, 청구서 수취 당사자, 실제 납부 당사자는 명시적 참조로 구분할 수 있습니다. 기본 화면은 같은 당사자를 사용하고, 필요한 경우만 별도 관계를 다룹니다. 다른 사람이 대신 결제했다고 계약자나 조직 소유자가 바뀌지 않습니다.
- 계약 확정·청구·증빙 발행 시점의 당사자와 선택한 사업자등록 정보를 snapshot으로 보존합니다. 현재 프로필을 편집해도 과거 문서가 바뀌지 않습니다. 계약 당사자 변경과 해지는 새 버전·사건으로 기록하며 기존 계약을 삭제하지 않습니다.
- 기존 빌링 계정의 식별자·계약·가격·원장·문서 이력은 유지합니다. 화면 통합만으로 자동 이관하거나 이름으로 당사자를 추정해 연결하지 않습니다. 이행은 소유 제품의 검증·이관 절차로 진행합니다.
SaaS 이용계약과 현장 관리서비스 계약을 구분합니다. Leyve 관리비의 계약자는 해당 기간의 사용자이며, 공실이면 소유자입니다. 과거 청구서에는 당시 계약자 귀속을 보존합니다. LeyVote는 의결권자와 소유자·수임자의 행사 관계를 표시합니다. 이 업무 관계를 직원 접근 역할·조직 소유 관계와 합치지 않습니다.
청구 업무만 맡기는 경우
billing_viewer·billing_editor·billing_admin은 기존에 등록된 조직 범위의 추가 역할입니다. 별도 빌링 계정의 구성원 명부를 만들지 않습니다. 조직 기본 역할이 null인 외부 담당자에게도 활성 조직 접근 관계와 청구 역할만 부여할 수 있으며, 일반 현장 업무 데이터는 보이지 않습니다.
| 추가 역할 | 허용 범위 |
|---|---|
| 청구 조회자 | 계약·청구서·결제 내역 조회, 청구서 내려받기 |
| 청구 편집자 | 위 + 결제수단·청구 프로필 변경, 납부 요청 |
| 청구 관리자 | 위 + 요금제·모듈·수량 변경. 서비스 해지는 제외 |
청구 역할의 부여·회수, 신규 계약 체결, 계약 당사자 변경·해지와 조직 소유·종료 명령은 조직 소유자와 재인증을 요구합니다. 청구 관리자가 청구 역할을 다시 부여할 수는 없습니다. 요금제·모듈 변경은 모든 조직 소유자에게 알리며, 데이터 삭제를 수반하면 조직 소유 명령으로 다룹니다.
제품은 {domain}.{resource}.{action} 형식의 권한 표를 한 곳에서 소유합니다. 납부 요청(billing.payment.create)과 검증된 결제 완료 원장 반영을 구분하며, 청구서를 결재 문서처럼 승인한다는 의미로 invoice.approve를 쓰지 않습니다. 브라우저 입력·리디렉션·시연 결과로 실제 결제 완료를 확정하지 않습니다.
내 정보와 탐색
- 헤더 메뉴의 「내 정보」는 기존 본인 프로필 화면에 연결합니다. 동일 정보를 다시 보여주는 별도 페이지는 만들지 않습니다. 개인 프로필·로그인 및 보안·환경설정은 사용자 영역에, 조직 당사자·사업자 증빙은 조직 영역에 둡니다.
- 조직 탐색은 조직 정보·구성원·현장·계약·결제로 정리합니다. 직원은 자기 범위의 메뉴만 보고 직접 URL에서도 같은 판정을 받습니다. 옛 빌링·내 정보 경로는 동일 권한을 확인한 후 대응 화면으로 이동합니다.
- 헤더와 본인 화면 하단에 「로그아웃」을 둡니다. 한국어 동작 라벨은 「로그인·로그아웃」으로 통일합니다. Portal의 본인·수임자 자격 확인과 직원 ID 로그인은 별도 흐름과 세션을 유지합니다.
관련 정본
- 접근 역할 체계
- 당사자 · 사업자 · 조직
- 대표 소유자와 대표 유닛
- 문서 소유권과 경계
leysys-design/docs/decisions/ACCOUNT-RELATIONSHIPS-AND-BILLING-2026-10-11.md— 결정·채택 범위와 이행 검토