📖 Adit 서비스 가이드에 오신 것을 환영합니다!
👤 사용자별 가이드
대행사 가이드

어드민 (대행사) 가이드

Adit 어드민 콘솔에서 플랫폼 전반을 관리하는 종합 가이드입니다. 캠페인, 정산, 조직, 사용자, 상품, 대행사, 세금계산서 발행까지 모든 어드민 기능을 상세하게 안내합니다.


1. 어드민 개요

Adit 어드민은 플랫폼의 핵심 관리 도구입니다. 캠페인 라이프사이클, 정산 처리, 조직 관리, 사용자 권한 등 모든 운영 업무를 어드민 콘솔에서 수행합니다.

1-1. 슈퍼어드민 vs 대행사 어드민

어드민 계정은 두 가지 역할로 구분됩니다.

구분슈퍼어드민 (SUPER_ADMIN)대행사 어드민 (AGENCY_ADMIN)
데이터 범위모든 대행사의 전체 데이터소속 대행사에 배정된 데이터만
agencyIdnull (제한 없음)소속 대행사 ID
사용자 관리접근 가능접근 불가 (대시보드로 리다이렉트)
대행사 관리접근 가능 (생성/수정/비활성화)접근 불가 (대시보드로 리다이렉트)
볼타 설정모든 발행 주체 관리자기 대행사 발행 주체만
캠페인 관리모든 캠페인소속 대행사 담당 캠페인만
정산 관리모든 정산소속 대행사 담당 정산만
파트너/광고주전체 조회/관리조회/관리 가능
상품 관리전체 관리전체 관리
콘텐츠 관리전체 관리전체 관리

1-2. 접근 가능한 메뉴 비교

메뉴경로슈퍼어드민대행사어드민
대시보드/admin/dashboardOO
캠페인 관리/admin/campaignsOO
정산 관리/admin/settlementsOO
파트너 관리/admin/organizations/partnersOO
광고주 관리/admin/organizations/advertisersOO
상품 관리/admin/productsOO
콘텐츠 관리/admin/content/*OO
사용자 관리/admin/usersOX
대행사 관리/admin/agenciesOX
볼타 설정/admin/settings/boltaO (전체)O (자기 대행사만)
시스템 설정/admin/settings/systemOO
⚠️

대행사 어드민이 사용자 관리(/admin/users) 또는 대행사 관리(/admin/agencies) 페이지에 접근하면 자동으로 대시보드(/admin/dashboard)로 리다이렉트됩니다.


2. 어드민 대시보드

경로: /admin/dashboard

대시보드는 플랫폼 전반의 현황을 한눈에 파악할 수 있는 요약 페이지입니다.

2-1. KPI 카드 (4개)

화면 상단에 4개의 핵심 지표 카드가 표시됩니다.

카드메인 수치보조 정보아이콘
전체 파트너 수등록된 파트너 총수활성 N (활성 파트너 수)Building2
전체 광고주 수등록된 광고주 총수활성 N (활성 광고주 수)Users
활성 캠페인현재 진행 중인 캠페인 수전체 N (전체 캠페인 수)Calendar
이번 달 수익월 수익 (₩Nm)대기 정산 N건Wallet
  • 수익은 만원 단위로 반올림 표시됩니다 (예: ₩150만)
  • 모든 카드에 트렌드 아이콘(TrendingUp)이 표시됩니다

2-2. 최근 파트너 테이블

가장 최근 등록된 파트너 5건이 표시됩니다.

컬럼설명
파트너명파트너 이름
대표자대표자 이름
상태상태 뱃지 (활성/비활성/삭제됨)
가입일가입 날짜
  • "전체 보기" 링크 클릭 시 /admin/organizations/partners로 이동

2-3. 최근 캠페인 테이블

가장 최근 등록된 캠페인 5건이 표시됩니다.

컬럼설명
캠페인명캠페인 이름
광고주광고주 이름
매체사파트너/채널명
상태캠페인 상태 뱃지
  • "전체 보기" 링크 클릭 시 /admin/campaigns로 이동

2-4. 정산 현황 테이블

최근 정산 5건이 전체 너비로 표시됩니다.

컬럼설명
파트너파트너 이름
캠페인캠페인 이름
금액정산 금액 (₩N 형식, 굵은 글씨)
상태정산 상태 뱃지
  • "전체 보기" 링크 클릭 시 /admin/settlements로 이동

3. 조직 관리

조직 관리는 파트너(매체사)와 광고주를 관리하는 메뉴입니다. 탭 또는 하위 경로로 구분됩니다.

3-1. 파트너 관리

경로: /admin/organizations/partners

파트너(인플루언서, 크리에이터, 매체사)를 등록하고 관리합니다.

통계 카드 (4개)

카드스타일
전체 파트너총 파트너 수흰색 배경
활성 파트너ACTIVE 상태 파트너 수흰색 배경
인증 완료APPROVED 인증 파트너 수흰색 배경
총 채널모든 파트너의 채널 수 합계검은색 배경, 흰색 글씨

검색 및 필터

필터옵션
검색파트너명, 이메일로 검색
상태 필터전체 상태 / 활성(ACTIVE) / 비활성(INACTIVE) / 삭제(DELETED)
인증 필터전체 인증 / 승인(APPROVED) / 대기(PENDING) / 반려(REJECTED)

테이블 컬럼

컬럼내용
파트너명파트너 이름 (굵은 글씨) + 이메일 (회색 소문자)
대표자대표자 이름
채널 수N개 형식 (굵은 글씨)
캠페인 수N건 형식 (굵은 글씨)
상태상태 뱃지
인증인증 상태 뱃지
가입일가입 날짜
액션드롭다운 메뉴

상태 뱃지 색상

상태라벨색상
ACTIVE활성초록색
INACTIVE비활성회색
DELETED삭제됨빨간색

인증 뱃지 색상

인증 상태라벨색상
APPROVED승인초록색
PENDING대기노란색
REJECTED반려빨간색

액션 드롭다운

액션아이콘조건설명
상세 보기Eye항상파트너 상세 모달 열기 (조회 모드)
수정Edit항상파트너 수정 모달 열기 (편집 모드)
승인CheckCircle2PENDING 또는 REJECTED파트너 인증 승인
반려XCirclePENDING파트너 인증 반려
파트너 삭제Trash2항상파트너 삭제 (확인 팝업)

파트너 수정 가능 필드

파트너 수정 모달에서 변경할 수 있는 필드입니다.

필드설명
이름파트너 표시명
대표자대표자 이름
이메일연락 이메일
전화번호연락 전화번호
수수료율파트너 기본 수수료율 (%)
기본 대행사기본 배정 대행사 (드롭다운 선택)
직접 정산 허용DIRECT_INVOICE 정산 허용 여부 (토글)

개인(INDIVIDUAL) 사업자 유형의 파트너는 직접 정산이 자동으로 비허용 처리됩니다. 이 설정은 어드민에서 수동으로 변경할 수 없습니다.

파트너 생성 모달

"파트너 추가" 버튼을 클릭하면 PartnerCreateModal이 열립니다. 필수 정보를 입력하여 새 파트너를 등록할 수 있습니다.


3-2. 광고주 관리

경로: /admin/organizations/advertisers

광고를 집행하는 브랜드/기업을 등록하고 관리합니다.

통계 카드 (4개)

카드스타일
전체 광고주총 광고주 수흰색 배경
활성 광고주ACTIVE 상태 광고주 수흰색 배경
총 집행액모든 광고주의 집행액 합계검은색 배경, 흰색 글씨
총 캠페인모든 광고주의 캠페인 수 합계 (N건)흰색 배경
  • 총 집행액은 자동으로 단위 변환됩니다: 1억 이상 = N.N억, 1만 이상 = N만

검색 및 필터

필터옵션
검색광고주명, 이메일로 검색
업종 필터전체 업종 / (등록된 업종 동적 목록)
상태 필터전체 상태 / 활성(ACTIVE) / 비활성(INACTIVE) / 삭제(DELETED)

테이블 컬럼

컬럼내용
광고주회사명 (굵은 글씨) + 업종 (회색)
담당자담당자 이름 / 전화번호 / 이메일
상태상태 뱃지 (활성/비활성/삭제됨)
총 집행액₩N 형식 (굵은 글씨)
캠페인N건
등록일등록 날짜
액션드롭다운 메뉴

액션 드롭다운

액션아이콘설명
상세 보기Eye광고주 상세 모달 열기
수정Edit광고주 수정 모달 열기
광고주 삭제Trash2광고주 삭제 (확인 팝업)

광고주 생성 모달

"광고주 추가" 버튼을 클릭하면 AdvertiserCreateModal이 열립니다. 회사명, 업종, 담당자 정보, 청구 정보 등을 입력하여 새 광고주를 등록합니다.


4. 캠페인 관리

경로: /admin/campaigns

모든 광고 캠페인을 통합 관리합니다. 검색, 필터링, 상태 변경, 수정, 삭제 등의 기능을 제공합니다.

4-1. 검색 및 필터

필터설명
검색캠페인명, 광고주명, 매체사명으로 검색 (Enter 또는 검색 버튼 클릭)
매체사(파트너) 드롭다운전체 매체사 / (등록된 파트너 목록)
상태 필터아래 8개 상태 중 선택

캠페인 상태 필터 옵션:

라벨
all전체 상태
PENDING_ADVERTISER광고주 대기
PENDING대기
CONFIRMED확정
IN_PROGRESS진행 중
UPLOADED업로드 완료
COMPLETED완료
REJECTED거절
CANCELLED취소

4-2. 테이블 컬럼

컬럼내용
캠페인캠페인명 (굵은 글씨) + 캠페인 ID (회색 소문자)
광고주광고주 이름 (없으면 -)
매체사채널명 + (파트너명)
상품상품명
업로드 일정업로드 예정일 + 시간대 (예: 1월 15일 오전)
금액₩N 형식 (굵은 글씨)
상태캠페인 상태 뱃지
액션드롭다운 메뉴

4-3. 캠페인 상태 뱃지 색상

상태라벨색상
PENDING_ADVERTISER광고주 대기주황색
PENDING대기노란색
CONFIRMED확정파란색
IN_PROGRESS진행 중초록색
UPLOADED업로드 완료보라색
COMPLETED완료회색
REJECTED거절빨간색
CANCELLED취소빨간색

4-4. 어드민 캠페인 상태 전이 테이블

어드민은 종료 상태(COMPLETED, CANCELLED, REJECTED)를 제외한 모든 상태 전이가 가능합니다.

현재 상태변경 가능한 상태
PENDING_ADVERTISERPENDING, CANCELLED
PENDINGCONFIRMED, REJECTED, CANCELLED
CONFIRMEDIN_PROGRESS, CANCELLED
IN_PROGRESSUPLOADED, CANCELLED
UPLOADEDCOMPLETED
COMPLETED(변경 불가)
CANCELLED(변경 불가)
REJECTED(변경 불가)

4-5. 액션 드롭다운

액션아이콘조건설명
상세 보기Eye항상캠페인 상세 모달 (조회 모드)
수정Edit항상캠페인 수정 모달 (편집 모드)
리포트 보기BarChart3항상캠페인 리포트
확정CheckCircle2PENDING 상태만PENDING → CONFIRMED
진행 시작PlayCONFIRMED 상태만CONFIRMED → IN_PROGRESS
캠페인 삭제Trash2항상캠페인 삭제 (확인 팝업)
⚠️

캠페인 삭제는 소프트 삭제(status=CANCELLED)로 처리됩니다. 데이터가 완전히 제거되지 않습니다.

4-6. 캠페인 상세 모달 (CampaignDetailModal)

캠페인을 클릭하면 상세 모달이 열립니다. 조회 모드와 편집 모드를 지원합니다.

조회 모드에서 확인 가능한 정보:

  • 캠페인 기본 정보 (이름, ID, 상태)
  • 광고주 정보
  • 파트너/채널 정보
  • 업로드 일정 및 시간
  • 가격 및 수수료
  • 정산 방식 및 담당 대행사
  • 콘텐츠 가이드 (요청사항, 해시태그, 참고자료)
  • 계약 정보 (특별 조항)

편집 모드에서 수정 가능한 필드:

필드설명
캠페인명캠페인 이름
업로드일업로드 예정일
업로드시간업로드 시간대 (오전/오후/저녁/협의/상관없음)
가격캠페인 가격
연락처담당자 연락처
메모관리자 메모

4-7. 정산 주체(대행사) 변경

ADIT_SETTLEMENT 방식인 캠페인에서 담당 대행사를 변경할 수 있습니다. 대행사가 변경되면 광고주에게 안내하는 입금 계좌도 함께 변경됩니다.

4-8. 광고주 매칭

파트너가 직접 생성한 캠페인에는 광고주가 연결되어 있지 않을 수 있습니다. 어드민에서 해당 캠페인에 적절한 광고주를 매칭(연결)할 수 있습니다.


5. 정산 관리

경로: /admin/settlements

🚫

정산 관리는 어드민의 가장 핵심적인 기능입니다. 이 섹션을 정확히 이해하고 운영해야 합니다.

정산 관리 페이지는 정산 목록 탭과 세금계산서 발행 현황 탭, 두 개의 탭으로 구성됩니다.

5-1. 정산 목록 탭

통계 카드 (4개)

카드메인 수치보조 정보아이콘
대기 중대기 금액 합계 (₩N)N건Clock
처리 중처리 중 금액 합계 (₩N)N건AlertCircle
완료완료 금액 합계 (₩N)N건CheckCircle2
총 정산전체 금액 합계 (₩N)N건Banknote

통계 카드 상태 구분:

  • 대기: SETTLEMENT_PENDING 상태
  • 처리 중: AWAITING_ADVERTISER_PAYMENT + ADVERTISER_PAID + PARTNER_PAYOUT_PROCESSING 상태
  • 완료: SETTLEMENT_COMPLETED 상태

필터

필터옵션
검색파트너명, 캠페인명, 광고주명, 정산ID로 검색
파트너 드롭다운전체 파트너 / (등록된 파트너 목록)
정산 유형전체 유형 / Adit 정산(ADIT_SETTLEMENT) / 직접 정산(DIRECT_INVOICE)
상태 필터전체 상태 / 정산 대기 / 결제 대기 / 결제 완료 / 지급 처리 중 / 정산 완료 / 취소

정산 상태 옵션 (6개):

라벨
SETTLEMENT_PENDING정산 대기
AWAITING_ADVERTISER_PAYMENT결제 대기
ADVERTISER_PAID결제 완료
PARTNER_PAYOUT_PROCESSING지급 처리 중
SETTLEMENT_COMPLETED정산 완료
SETTLEMENT_CANCELLED취소

테이블 컬럼 상세

컬럼내용
매체사 / 캠페인채널명(파트너명) + 캠페인명 + 정산ID
광고주광고주 이름
유형정산 유형 뱃지
정산 금액금액 + 원천징수 뱃지 (해당 시)
수수료수수료 금액 (DIRECT_INVOICE는 -)
상태상태 뱃지 + 진행 가이드 + 진행도 바
요청일요청일 + 경과일 (색상 코딩)
액션다음 단계 버튼 + 드롭다운

유형 뱃지 스타일

유형라벨스타일
ADIT_SETTLEMENTAdit 정산파란색-인디고 그라데이션 배경, 흰색 글씨
DIRECT_INVOICE직접 정산회색 배경, 회색 글씨

정산 금액 컬럼 상세

  • 기본 표시: ₩N 형식 (굵은 글씨)
  • 원천징수 대상인 경우: 금액 옆에 원천징수 뱃지 (회색 배경, 10px 크기)가 추가 표시
  • 원천징수 대상(withholdingTaxRate > 0)일 때는 payoutAmount(실지급액)을, 아닐 때는 settlementAmount(정산금)을 표시
  • 수수료: DIRECT_INVOICE는 항상 -, ADIT_SETTLEMENT는 ₩N 형식

경과일 표시 색상 코딩

요청일 옆에 (N일) 형식으로 경과일이 표시되며, 기간에 따라 색상이 달라집니다.

경과일색상스타일
3일 미만회색 (text-gray-500)기본
3일~7일황색 (text-amber-500)주의
7일~14일주황색 (text-orange-500) + 중간 굵기경고
14일 이상빨간색 (text-red-600) + 굵은 글씨긴급

경과일은 정산 완료(SETTLEMENT_COMPLETED) 또는 취소(SETTLEMENT_CANCELLED) 상태에서는 표시되지 않습니다.

행 배경색

정산 테이블의 각 행은 현재 처리 단계에 따라 배경색이 달라집니다.

상태배경색의미
AWAITING_ADVERTISER_PAYMENT연한 파란색 (bg-blue-50/50)광고주 단계 (입금 대기)
ADVERTISER_PAID연한 빨간색 (bg-red-50/50)파트너 단계 (지급 필요)
PARTNER_PAYOUT_PROCESSING연한 빨간색 (bg-red-50/50)파트너 단계 (지급 처리 중)
그 외기본 (없음)-

상태 컬럼 부가 정보

상태 뱃지 아래에 추가 정보가 표시됩니다.

ADIT_SETTLEMENT인 경우:

  • 다음 액션 가이드 메시지 (예: Adit → 광고주 세금계산서 발행 (수동))
  • 원천징수 대상이면: 개인 · 원천징수 N%
  • 정발행 완료 시: 체크 아이콘 + 정발행 완료
  • 역발행 대기 시: 시계 아이콘 + 역발행 대기
  • 역발행 완료 시: 체크 아이콘 + 역발행 완료
  • 입금 확인 완료 시: 지폐 아이콘 + 입금 확인 완료
  • 진행도 바: SETTLEMENT_PENDING과 종료 상태 제외, 3단계 진행도 표시 (파란색/회색)

DIRECT_INVOICE인 경우:

  • 파트너 발급 완료 시: 체크 아이콘 + 파트너 발급 완료
  • 파트너 입금 확인 완료 시: 지폐 아이콘 + 파트너 입금 확인 완료
  • 미발급 시: 파트너 처리 대기 중

5-2. ADIT 정산 워크플로우 액션 버튼 (상태별)

⚠️

ADIT 정산(ADIT_SETTLEMENT)에서만 어드민 액션 버튼이 표시됩니다. DIRECT_INVOICE는 파트너가 직접 처리하므로 어드민에서는 읽기 전용입니다.

상태: SETTLEMENT_PENDING (정산 대기)

파트너의 정산 요청 전 단계입니다.

조건: invoiceIssuedAt없을 때 (= Bolta 자동 발행이 아직 안 된 경우)

항목
버튼 라벨"광고주 세금계산서 발행 (수동)"
버튼 색상파란색 (bg-blue-50 text-blue-700)
아이콘FileText
설명정발행이 자동 완료되지 않은 경우 수동 발급합니다 (볼타 폴백)
가이드Adit → 광고주 세금계산서 발행 (수동)

invoiceIssuedAt이 이미 있으면 이 상태에서는 액션 버튼이 표시되지 않습니다. 파트너의 정산 요청을 기다리는 상태로 안내 텍스트만 보입니다.

5-3. DIRECT_INVOICE (직접 정산) 어드민 동작

DIRECT_INVOICE 유형의 정산에서 어드민은 읽기 전용입니다. 파트너가 직접 처리하는 상태만 모니터링합니다.

표시되는 정보:

  • 파트너 발급 완료 여부 (invoiceIssuedAt)
  • 파트너 입금 확인 완료 여부 (invoicePaidAt)
  • 미발급 시 "파트너 처리 대기 중" 안내

5-4. 드롭다운 액션 (정산 목록)

모든 정산 항목에 공통으로 드롭다운 메뉴가 제공됩니다.

액션아이콘조건설명
상세 보기Eye항상정산 상세 모달 열기
취소XCOMPLETED/CANCELLED가 아닌 ADIT_SETTLEMENT정산 취소 (확인 팝업)
리포트 다운로드Download항상정산 리포트 다운로드

5-5. 주요 모달 상세

세금계산서 발행 모달 (InvoiceIssueModal)

"광고주 세금계산서 발행 (수동)" 버튼 클릭 시 열립니다.

표시 정보:

  • 정산 기본 정보 (캠페인명, 파트너, 광고주)
  • 광고주 사업자 정보
  • 발행 금액 (공급가액, 부가세, 합계)
  • 대행사 정보 (발행 주체)

확인 버튼: "세금계산서 발행 확인" -- 클릭 시 invoiceIssuedAt이 기록됩니다.

이 모달은 Bolta 자동 발행이 실패했을 때 수동 폴백으로 사용됩니다. Bolta가 정상 작동하면 자동으로 invoiceIssuedAt이 기록되므로 이 모달을 사용할 필요가 없습니다.

입금 확인 모달 (PaymentConfirmationModal)

"광고주 입금 확인" 버튼 클릭 시 열립니다.

표시 정보:

  • 캠페인명, 광고주 정보
  • 예상 입금 금액 (캠페인 가격)
  • 실제 입금 금액 입력 필드 (필수)

처리 로직:

  • 실제 입금 금액과 예상 금액의 차액을 계산
  • adminNotes에 기록: 실제 입금 금액: N원 (예상: N원, 차액: +/-N원)
  • 확인 시 정산 상태가 ADVERTISER_PAID로 변경

파트너 지급 모달 (PartnerPayoutModal)

"지급 시작" 또는 "파트너 세금계산서 수령" 버튼 클릭 시 열립니다.

표시 정보:

  • 파트너 정보 (이름, 사업자 유형)
  • 파트너 계좌 정보 (은행명, 계좌번호, 예금주)
  • 정산금액 상세 (캠페인가격, 수수료, 정산금, 원천징수, 실지급액)
  • 파트너 세금계산서 수령 상태
  • 역발행 상태 (Bolta 역발행 사용 시)

확인 버튼: 클릭 시 정산 상태가 PARTNER_PAYOUT_PROCESSING으로 변경

새로고침 버튼: 역발행 상태를 최신으로 갱신


5-6. 세금계산서 발행 현황 탭

정산 관리 페이지의 두 번째 탭입니다. ADIT_SETTLEMENT 유형만 표시됩니다.

필터

필터옵션
검색파트너명, 캠페인명, 광고주명 검색
발행 상태전체 / 수동 발행 대기만
  • "수동 발행 대기만" 선택 시: invoiceIssuedAt이 없는 항목만 필터링

테이블 컬럼

컬럼내용
매체사 / 캠페인채널명(파트너명) + 캠페인명 + 정산ID
광고주광고주 이름
유형Adit 정산 뱃지 (파란색-인디고 그라데이션)
정산 금액₩N 형식 (굵은 글씨)
발행 상태발행 상태 뱃지
실패 사유Bolta 발행 실패 메시지
액션수동 발행 버튼 또는 상세 보기

발행 상태 뱃지

상태뱃지아이콘스타일
발행 완료정발행 완료CheckCircle2회색 배경, 어두운 글씨
미발행수동 발행 대기AlertCircle회색 테두리, 회색 글씨

실패 사유 컬럼

상태표시 내용
미발행 + 실패 메시지 있음issuanceFailureMessage (빨간색, 40자 초과 시 말줄임)
미발행 + 실패 메시지 없음"자동 발행 요청 실패 (볼타 미등록 등)" (회색)
발행 완료- (회색)

액션 컬럼

상태버튼
미발행 (다음 액션 있음)해당 상태의 액션 버튼 (예: "광고주 세금계산서 발행 (수동)")
발행 완료 (액션 없음)"상세" 링크 (Eye 아이콘)

6. 사용자 관리

경로: /admin/users

🚫

대행사 어드민은 이 페이지에 접근할 수 없습니다. 접근 시 자동으로 대시보드로 리다이렉트됩니다. 슈퍼어드민만 사용자 관리가 가능합니다.

6-1. 검색 및 필터

필터옵션
검색이름, 이메일로 검색
역할 필터전체 역할 / 슈퍼관리자 / 대행사 관리자 / 소유자 / 멤버
상태 필터전체 상태 / 활성 / 비활성 / 정지 / 초대됨

6-2. 테이블 컬럼

컬럼내용
사용자이름 + 이메일 (UserCell 컴포넌트)
소속소속 조직명 (없으면 -)
역할역할 뱃지
상태상태 뱃지
마지막 로그인날짜 + 시간 (예: 1월 15일 오후 2:30)
가입일가입 날짜
액션드롭다운 메뉴

6-3. 역할 뱃지

역할라벨뱃지 카테고리
super_admin / SUPER_ADMIN슈퍼관리자role
agency_admin / AGENCY_ADMIN대행사 관리자role
ADMIN관리자role
OWNER소유자role
MEMBER멤버role

6-4. 상태 뱃지

상태라벨색상
ACTIVE활성초록색
INACTIVE비활성회색
SUSPENDED정지빨간색
INVITED초대됨파란색

6-5. 액션 드롭다운

액션아이콘설명
상세 보기Eye사용자 상세 모달 (이름, 이메일, 역할, 상태, 소속, 전화번호, 마지막 로그인, 가입일)
역할 변경UserCog역할 변경 모달
수정Edit이름/이메일 수정 모달
사용자 삭제Trash2사용자 삭제 (확인 팝업)

6-6. 역할 변경 모달

사용자의 역할을 변경합니다.

선택 가능한 역할:

역할라벨설명
super_admin슈퍼관리자모든 데이터 접근
agency_admin대행사 관리자배정된 캠페인만
owner소유자파트너/광고주
member멤버파트너/광고주

대행사 관리자 선택 시:

  • 소속 대행사 선택 필드가 추가로 표시됩니다 (필수)
  • 활성 상태인 대행사만 드롭다운에 표시됩니다
  • 형식: 대행사명 (코드) (예: 르도드코퍼레이션 (ADIT))
  • 대행사를 선택하지 않으면 저장 시 알림이 표시됩니다
⚠️

대행사 관리자는 소속 대행사 선택이 필수입니다. 선택한 대행사에 배정된 캠페인과 정산만 관리할 수 있습니다.


7. 상품 관리

경로: /admin/products

파트너가 판매하는 광고 상품을 생성하고 관리합니다.

7-1. 통계 카드 (3개)

카드스타일
전체 상품총 상품 수흰색 배경
활성 상품활성 상태 상품 수검은색 배경, 흰색 글씨
비활성 상품비활성 상태 상품 수흰색 배경

7-2. 검색 및 필터

필터옵션
검색상품명 검색
타입 필터전체 타입 / 피드(FEED) / 스토리(STORY) / 릴스(REELS) / 커스텀(CUSTOM)
상태 필터전체 상태 / 활성 / 비활성
가격 정렬기본 순 / 가격 낮은 순 / 가격 높은 순

7-3. 테이블 컬럼

컬럼내용
상품명파트너명 (소문자 회색) + 상품명 (굵은 글씨) + 상품ID
타입상품 유형 뱃지 (role 카테고리)
가격₩N 형식 (굵은 글씨)
상태활성/비활성 뱃지
생성일생성 날짜
액션드롭다운 메뉴

7-4. 상품 유형

유형라벨설명
FEED피드인스타그램 피드 게시물
STORY스토리인스타그램 스토리
REELS릴스인스타그램 릴스
CUSTOM커스텀커스텀 상품

7-5. 액션 드롭다운

액션아이콘설명
상세 보기Eye상품 상세 모달
활성화/비활성화ToggleRight / ToggleLeft상품 상태 토글
수정Edit상품 수정 모달
상품 삭제Trash2상품 삭제 (확인 팝업)

7-6. 상품 생성 모달 (ProductCreateModal)

"상품 추가" 버튼 클릭 시 열립니다. 상품명, 유형, 가격, 설명, 기간, 산출물 등을 입력합니다.

7-7. 상품 상세/수정 모달 (ProductDetailModal)

조회 모드와 편집 모드를 지원합니다.

수정 가능 필드: 상품명, 유형, 가격, 설명, 기간, 산출물, 활성/비활성


8. 콘텐츠 관리

경로: /admin/content/

광고주 프론트에 표시되는 콘텐츠를 관리합니다. 두 가지 유형이 있습니다.

8-1. 성공 사례 (Success Stories)

경로: /admin/content/success-stories

성공적인 캠페인 사례를 등록하고 관리합니다.

  • 콘텐츠 유형: SUCCESS_STORY
  • 액션: 생성, 수정, 삭제, 발행(Publish), 아카이브(Archive)
  • 상태: DRAFT(초안), PUBLISHED(발행됨), ARCHIVED(아카이브)

8-2. 혜택 정보 (Benefits)

경로: /admin/content/benefits

광고주를 위한 혜택 정보를 등록하고 관리합니다.

  • 콘텐츠 유형: BENEFIT_INFO
  • 액션: 성공 사례와 동일 (생성, 수정, 삭제, 발행, 아카이브)

8-3. 공통 기능

액션아이콘설명
상세 보기Eye콘텐츠 상세 모달
수정Edit콘텐츠 수정 모달
발행SendDRAFT → PUBLISHED 상태 변경
아카이브ArchivePUBLISHED → ARCHIVED 상태 변경
삭제Trash2콘텐츠 삭제

9. 대행사 관리

경로: /admin/agencies

🚫

대행사 어드민은 이 페이지에 접근할 수 없습니다. 접근 시 자동으로 대시보드로 리다이렉트됩니다. 슈퍼어드민만 대행사 관리가 가능합니다.

정산 주체가 되는 대행사를 관리합니다. 대행사 계좌로 광고주가 입금하고, 대행사가 파트너에게 정산금을 지급합니다.

9-1. 대행사 목록 테이블

컬럼내용
대행사대행사명 + 코드 (Building2 아이콘 + 아바타)
사업자 정보상호명 + 사업자번호 + 대표자명
정산 계좌은행명 + 계좌번호 (예금주) (CreditCard 아이콘)
연결 현황어드민 N명 + 캠페인 N건
상태ACTIVE/INACTIVE 뱃지
액션드롭다운 메뉴

9-2. 액션 드롭다운

액션아이콘조건설명
수정Edit항상대행사 수정 모달 열기
비활성화Trash2코드가 ADIT아닌 경우만대행사 비활성화 (확인 팝업)
⚠️

ADIT 코드 대행사(르도드코퍼레이션)는 비활성화할 수 없습니다. 이 대행사는 시스템의 기본 대행사로, 비활성화 버튼 자체가 표시되지 않습니다.

9-3. 대행사 정보 필드

필드생성 시수정 시설명
대행사명필수수정 가능표시 이름 (예: 르도드코퍼레이션)
코드필수수정 불가 (읽기 전용)고유 코드 (예: ADIT), 자동 대문자 변환
상호필수수정 가능사업자등록증상 상호
사업자번호필수수정 가능사업자등록번호 (000-00-00000)
대표자명필수수정 가능대표자 이름
주소선택수정 가능사업장 주소
은행명필수수정 가능정산 계좌 은행
계좌번호필수수정 가능정산 계좌 번호
예금주필수수정 가능정산 계좌 예금주
이메일필수수정 가능연락 이메일
전화번호선택수정 가능연락 전화번호

9-4. 대행사 용도

  • ADIT_SETTLEMENT 캠페인의 정산 주체
  • 대행사 계좌로 광고주 입금 → 대행사가 파트너에게 지급
  • 캠페인 생성 시 또는 어드민에서 담당 대행사 배정

9-5. 기본 대행사

코드대행사명비고
ADIT르도드코퍼레이션기본값, 비활성화 불가

10. Bolta 세금계산서 설정

경로: /admin/settings/bolta

전자세금계산서 발행을 위한 Bolta(볼타) 연동을 관리합니다.

10-1. 볼타 고객 등록

발행 주체(Adit 본사 또는 대행사)별로 볼타 고객을 등록합니다.

등록 모달 필드:

필드필수 여부설명
사업자등록번호필수10자리
종사업장번호선택기본값 0001
상호필수(주)회사명
대표자명필수대표자 이름
발행 주체 (대행사)선택슈퍼어드민만 표시. 비우면 Adit 본사로 등록

10-2. 공동인증서 등록

각 볼타 고객에 대해 공동인증서(사업자 공인인증서)를 등록합니다.

"공동인증서 등록" 버튼 클릭

5분 유효 URL이 새 탭으로 열립니다.

인증서 등록 완료

사업자 공동인증서로 인증을 완료합니다.

이 탭으로 돌아오기

등록 완료 후 이 탭으로 돌아오면 목록이 자동으로 갱신됩니다 (60초 이내).

콜백 핸들러: /admin/settings/bolta/certificate-callback

  • Bolta가 인증 완료 후 이 URL로 리다이렉트합니다
  • 인증 성공/실패 메시지를 표시합니다

10-3. 등록된 발행 주체 목록

각 항목에 표시되는 정보:

  • 상호명
  • 소속 (대행사명 또는 "Adit 본사")
  • 사업자등록번호
  • 인증서 만료일 (있는 경우)

액션:

버튼설명
공동인증서 등록5분 유효 URL을 새 탭으로 열기 (갱신 가능)
등록 해제볼타 고객 등록 해제 (확인 팝업). 같은 발행 주체로 다시 등록 가능

10-4. 세금계산서 발행 프로세스

정발행

Adit/대행사가 광고주에게 세금계산서를 발행합니다.

  • 자동: Bolta API를 통해 자동 발행 요청
  • 수동 폴백: Bolta 미등록, 인증서 만료 등으로 자동 발행 실패 시 어드민에서 수동 발행
  • 발행 성공 시 invoiceIssuedAt이 기록됨
  • 실패 시 issuanceFailureMessage에 실패 사유 기록

10-5. 웹훅 수신

Bolta에서 세금계산서 발행 결과를 웹훅으로 전송합니다.

  • 엔드포인트: /api/public/webhooks/bolta
  • 이벤트: 정발행 성공/실패, 역발행 성공/실패
  • 성공 시 해당 정산의 invoiceIssuedAt 또는 partnerInvoiceReceivedAt 자동 업데이트
  • 실패 시 issuanceFailureMessage 업데이트

11. 정산 비즈니스 룰 상세

11-1. 수수료 계산

수수료율 = campaign.commissionRate ?? partner.commissionRate (기본 20%)
수수료 = 캠페인가격 × (수수료율 / 100)
정산금 = 캠페인가격 - 수수료
정산 유형수수료
ADIT_SETTLEMENT캠페인별 수수료율 → 파트너 기본 수수료율 → 기본값 20%
DIRECT_INVOICE항상 0%
  • 캠페인에 commissionRate가 설정되어 있으면 우선 적용
  • 없으면 파트너의 기본 commissionRate 적용
  • 둘 다 없으면 기본값 20% 적용

11-2. 원천징수

조건원천징수율
개인사업자(INDIVIDUAL) + ADIT_SETTLEMENT3.3%
법인사업자(CORPORATE_BUSINESS) + ADIT_SETTLEMENT0%
개인사업자(INDIVIDUAL_BUSINESS) + ADIT_SETTLEMENT0%
DIRECT_INVOICE (모든 유형)0%
원천징수세 = 정산금 × (원천징수율 / 100)
실지급액(payoutAmount) = 정산금 - 원천징수세

11-3. 사업자 유형별 세금계산서 처리

사업자 유형역발행원천징수설명
법인사업자 (CORPORATE_BUSINESS)필요없음파트너가 Adit/대행사에게 세금계산서 발행
개인사업자 (INDIVIDUAL_BUSINESS)필요없음법인사업자와 동일
개인 (INDIVIDUAL)불필요3.3%원천징수로 대체, 세금계산서 없이 바로 지급

11-4. 정산 금액 계산 예시

예시: 캠페인 가격 1,000,000원, 수수료율 20%, 법인사업자

수수료 = 1,000,000 × 20% = 200,000원
정산금 = 1,000,000 - 200,000 = 800,000원
원천징수 = 0원 (법인사업자)
실지급액 = 800,000원

예시: 캠페인 가격 1,000,000원, 수수료율 20%, 개인사업자(INDIVIDUAL)

수수료 = 1,000,000 × 20% = 200,000원
정산금 = 1,000,000 - 200,000 = 800,000원
원천징수 = 800,000 × 3.3% = 26,400원
실지급액 = 800,000 - 26,400 = 773,600원

11-5. 직접 정산(DIRECT_INVOICE) 제약

  • 개인사업자(INDIVIDUAL)는 직접 정산 불가 (자동으로 allowDirectInvoice = false)
  • 어드민에서 수동으로 변경 불가

12. 감사 로그

관리자가 수행한 모든 액션이 감사 로그에 기록됩니다.

12-1. 기록되는 정보

필드설명
adminUserId액션을 수행한 어드민 사용자 ID
action수행한 액션 (예: CREATE, UPDATE, DELETE, APPROVE, REJECT)
entityType대상 엔티티 유형 (예: CAMPAIGN, SETTLEMENT, PARTNER)
entityId대상 엔티티 ID
oldValues변경 전 값 (JSON)
newValues변경 후 값 (JSON)

12-2. 조회 API

엔드포인트: GET /admin/audit-logs

쿼리 파라미터:

파라미터설명
page페이지 번호
limit페이지당 항목 수
adminUserId특정 어드민 사용자의 로그만
entityType특정 엔티티 유형의 로그만
entityId특정 엔티티의 로그만
action특정 액션의 로그만
startDate시작일
endDate종료일

13. 알림 시스템 (어드민 관점)

13-1. Slack 알림

어드민이 받는 주요 Slack 알림입니다.

이벤트채널내용
파트너 정산 요청@adit_set파트너가 정산을 요청했습니다
캠페인 상태 변경캠페인별 스레드상태 변경 내역
정산 상태 변경캠페인별 스레드정산 진행 상태

13-2. SlackCampaignThread

각 캠페인마다 Slack 대화 스레드가 생성됩니다. 캠페인과 관련된 모든 이벤트(상태 변경, 정산 요청, 입금 확인 등)가 해당 스레드에 기록됩니다.

13-3. 이메일 알림

정산 처리 과정에서 광고주와 파트너에게 자동으로 이메일이 발송됩니다.

광고주 대상:

이벤트설명
INVOICE_ISSUED_ADVERTISER세금계산서 발행 완료
PAYMENT_REQUEST_ADVERTISER입금 요청 (계좌 안내)
PAYMENT_CONFIRMED_ADVERTISER입금 확인 완료
DIRECT_SETTLEMENT_REQUEST매체사 직정산 안내

파트너 대상:

이벤트설명
ADVERTISER_PAID_PARTNER광고주 입금 완료
INVOICE_REQUEST_PARTNER세금계산서 발행 요청
PAYOUT_COMPLETED_PARTNER정산금 송금 완료

14. 어드민 액션 전체 요약 테이블

캠페인 관련 액션

액션페이지조건설명
상태 변경캠페인 관리종료 상태 제외모든 상태 전이 가능
정보 수정캠페인 관리항상캠페인명, 일정, 가격, 연락처, 메모
캠페인 삭제캠페인 관리항상소프트 삭제 (CANCELLED)
광고주 매칭캠페인 상세광고주 미연결광고주 연결
대행사 변경캠페인 상세ADIT_SETTLEMENT정산 주체 변경

정산 관련 액션

액션현재 상태조건결과
세금계산서 발행 (수동)SETTLEMENT_PENDING / AWAITING_ADVERTISER_PAYMENTinvoiceIssuedAt 없음invoiceIssuedAt 기록
광고주 입금 확인AWAITING_ADVERTISER_PAYMENTinvoiceIssuedAt 있음→ ADVERTISER_PAID
파트너 세금계산서 수령ADVERTISER_PAID법인사업자, 미수령partnerInvoiceReceivedAt 기록
지급 시작ADVERTISER_PAID개인 또는 수령 완료→ PARTNER_PAYOUT_PROCESSING
파트너 지급 완료PARTNER_PAYOUT_PROCESSING-→ SETTLEMENT_COMPLETED + 캠페인 COMPLETED
정산 취소COMPLETED/CANCELLED 제외ADIT_SETTLEMENT만→ SETTLEMENT_CANCELLED
리포트 다운로드항상-PDF 다운로드

조직 관련 액션

액션대상설명
파트너 생성파트너새 파트너 등록
파트너 수정파트너이름, 대표자, 이메일, 전화번호, 수수료율, 기본대행사, 직정산허용
파트너 승인파트너PENDING/REJECTED → APPROVED
파트너 반려파트너PENDING → REJECTED
파트너 삭제파트너파트너 삭제
광고주 생성광고주새 광고주 등록
광고주 수정광고주광고주 정보 수정
광고주 삭제광고주광고주 삭제

사용자 관련 액션 (슈퍼어드민 전용)

액션설명
사용자 정보 수정이름, 이메일 변경
역할 변경슈퍼관리자/대행사관리자/소유자/멤버 변경
사용자 삭제사용자 삭제

대행사 관련 액션 (슈퍼어드민 전용)

액션설명
대행사 생성새 대행사 등록 (코드, 사업자 정보, 계좌 정보)
대행사 수정대행사 정보 수정 (코드 제외)
대행사 비활성화대행사 비활성화 (ADIT 코드 제외)

상품 관련 액션

액션설명
상품 생성새 광고 상품 등록
상품 수정상품 정보 수정
상품 활성화/비활성화상태 토글
상품 삭제상품 삭제

볼타(세금계산서) 관련 액션

액션설명
볼타 고객 등록발행 주체 등록 (사업자번호, 상호, 대표자)
공동인증서 등록5분 유효 URL로 인증서 등록
등록 해제볼타 고객 등록 해제 (재등록 가능)

15. 자주 묻는 질문

Q. 세금계산서 발행 버튼이 보이지 않습니다.

A. invoiceIssuedAt이 이미 기록되어 있으면 (Bolta 자동 발행 성공) 수동 발행 버튼이 표시되지 않습니다. 세금계산서 발행 현황 탭에서 발행 상태를 확인하세요.

Q. DIRECT_INVOICE 정산에서 어드민이 할 수 있는 일이 없나요?

A. 맞습니다. 직접 정산은 파트너가 직접 처리합니다. 어드민은 상태 모니터링과 필요 시 취소만 가능합니다.

Q. 파트너 지급 버튼이 "파트너 세금계산서 수령"으로 표시됩니다.

A. 법인사업자 파트너의 경우, 역발행(세금계산서 수령)이 먼저 완료되어야 지급을 시작할 수 있습니다. Bolta 역발행이 완료되면 자동으로 "지급 시작"으로 변경됩니다.

Q. 개인사업자에게는 세금계산서를 받지 않나요?

A. 개인(INDIVIDUAL) 사업자는 원천징수 3.3%로 대체되므로 세금계산서 수령이 불필요합니다. 바로 "지급 시작"이 가능합니다.

Q. 대행사 어드민이 사용자를 관리하고 싶습니다.

A. 사용자 관리와 대행사 관리는 슈퍼어드민 전용 기능입니다. 슈퍼어드민에게 요청하세요.

Q. 정산을 취소하면 캠페인 상태도 변경되나요?

A. 정산 취소(SETTLEMENT_CANCELLED)는 정산 상태만 변경합니다. 캠페인 상태는 별도로 관리해야 합니다.

Q. 경과일이 14일 이상인 정산은 어떻게 하나요?

A. 빨간색으로 표시된 정산은 즉시 처리가 필요합니다. 광고주에게 입금 독촉 연락을 하거나, 파트너에게 세금계산서 발행을 요청하세요.