문서 목적 · 범위
본 문서는 진승 진승B2B(이하 진승B2B)의 기능 요구사항을 정의합니다. 진승B2B는 프로샵 · 볼링장 · 스텝 · 직원이 하나의 진승 ID로 로그인해, 각자에게 적용되는 가격으로 재고를 확인하고 발주하는 주문 시스템입니다.
설계의 핵심 원칙은 B2C 수준의 쇼핑 경험과 기존 시스템 재사용입니다. 인증 · 단가 · 재고 · 사업자 검증은 새로 만들지 않고 진승이 이미 운영하는 시스템에 위임하며, 온라인 결제(PG)는 포함하지 않습니다.
- 구매자 유형 · 가격그룹
- 통합 인증 연동
- 상품 · 카탈로그 (브로셔 · 갤러리 · 할인)
- 가격 · 재고 실시간 연동
- 발주(발주요청)
- 사업자 진위확인
- 운영 도구(BackOffice)
- FrontEnd · BackEnd · BackOffice 구성
- 온라인 결제(PG)
- 여신 · 미수 관리
- 온라인 수납 · 정산
- 소셜 로그인
사업 목표
전화 · 팩스 · 오프라인 중심의 기존 발주를 소비자몰 수준의 경험으로 전환합니다. 구매자는 자신에게 적용되는 가격을 명확히 보고, 재고를 확인하고, 몇 번의 클릭으로 스스로 발주합니다.
B2B 거래이지만 진열 · 탐색 · 할인 표현의 완성도를 B2C 품질로 끌어올리는 것이 차별점입니다.
구매자 유형 · 가격그룹
진승B2B의 구매자는 유형에 따라 서로 다른 가격이 적용됩니다. 하나의 진승 ID로 로그인하되, 진승B2B 이용 시 어떤 거래처로 발주하는지에 따라 유형과 가격그룹이 결정됩니다.
프로샵 · 볼링장 · 스텝 · 직원의 4개 구매자 유형을 관리하고, 유형에 따라 서로 다른 가격그룹의 단가를 적용합니다.
사용자는 하나의 진승 ID를 사용하며, 여러 거래처에 소속될 수 있습니다. 진승B2B 로그인 시 발주할 거래처를 선택하고(소속이 하나면 자동), 선택된 거래처의 유형 · 가격그룹이 해당 세션에 적용됩니다.
사업자(프로샵 · 볼링장)는 사업자 진위확인과 운영자 승인을 거쳐 활성화되고, 스텝 · 직원은 소속 승인으로 활성화됩니다. 미승인 계정은 발주할 수 없습니다.
거래처는 발주 실적 기반으로 자동 산정되는 등급(가격그룹과 독립된 별도 tier)을 가집니다. 마이페이지에 현재 등급과 다음 등급 기준을 표시합니다. 단가는 여전히 가격그룹을 따르며, 등급별 혜택(가격 우대 · 쿠폰 · 우선배송 등)의 실제 적용은 후속입니다(확정 대기).
통합 인증 연동
진승B2B는 별도의 로그인 체계를 만들지 않고 진승 통합 인증(JS-AUTH)에 연동합니다.
진승 통합 인증에 표준 인증 방식(OAuth 2.0 인가 코드 + PKCE)으로 연동합니다. 하나의 진승 ID로 로그인하며, 진승B2B가 별도로 비밀번호를 보관하지 않습니다.
진승B2B 로그인 세션에 한해, 통합 인증이 전달하는 거래처 · 구매자 유형 · 가격그룹 정보를 받아 가격 표시와 발주 권한 판정에 사용합니다.
주 진입은 진승몰에서 링크로 넘어오는 경로입니다. 이때 이미 로그인 상태이면 통합 인증(SSO) 세션으로 계정정보를 이어받아 재로그인 없이 진입하고, 로그인 상태가 아니면 통합 인증 로그인을 거칩니다. 진승B2B는 별도 회원 체계를 두지 않으며 계정은 진승 통합계정을 사용합니다.
거래처 게이트(진입 시): 로그인된 진승ID로 진입하면 진승B2B는 통합 허브(JS-HUB)에 이 계정의 거래처 등록 여부를 질의합니다. ① 등록된 거래처가 없으면 입장을 거부합니다(발주 화면 접근 차단 + 거래처 등록 문의 안내). ② 등록된 거래처가 있으면 구매자 유형(스텝 · 프로샵 · 직원 · 볼링장)을 확인하고, 여러 거래처면 거래처 컨텍스트를 선택한 뒤 진입합니다. 선택된 거래처 컨텍스트를 기준으로 이후 가격은 JS-HUB에 요청합니다(FR-B2B-1.2 · 2.2 · 3.5).
B2B는 자가 회원가입이 없습니다. 거래처 등록 · 사업자 진위확인 · 승인 · 진승ID↔거래처 매핑 · 가격그룹 배정은 모두 통합 허브(JS-HUB) 거래처 온보딩 소관이며, 진승B2B는 이 원장을 조회만 합니다. 진승B2B는 로그인 진입 시 JS-HUB에 거래처 등록 여부를 질의해(FR-B2B-2.6) 미등록이면 입장을 거부하고, 등록된 계정은 유형 확인 · 거래처 선택 후 진입시킵니다. (진승ID가 없는 담당자의 계정 생성 · 초대도 통합 인증 · JS-HUB 온보딩에서 처리)
마이페이지는 구매자 계정의 허브로, 계정 요약(이름 · 현재 거래처 컨텍스트 · 승인 상태) · 주문내역(FR-B2B-5.9) · 배송지 관리(FR-B2B-5.6, 구매자 본인) · 거래처 정보(사업자 정보 · 담당 영업사원) · 알림 설정(카카오 알림톡 수신) · 로그아웃으로 구성합니다. 스텝 계정에는 합배송 취합그룹 관리(FR-B2B-5.20) 진입점이 추가됩니다.
이름 · 연락처 · 이메일 · 비밀번호 등 계정 · 신원 정보는 통합 인증(SSO)이 소유합니다. 마이페이지에서는 조회만 하고, 변경은 통합 인증 화면으로 위임합니다.
여러 거래처에 소속된 구매자는 마이페이지(및 상단)에서 발주할 거래처 컨텍스트를 전환할 수 있습니다(FR-B2B-1.2). 전환 시 가격그룹 · 발주 대상 거래처가 그에 맞게 바뀝니다.
상품 · 카탈로그
상품 성격에 따라 진열 형태를 달리하여, 신제품은 매력적으로 소개하고 일반 제품은 빠르게 탐색하며 할인은 분명하게 인지하도록 합니다.
신제품은 브로셔 · 팜플렛 형태로 크고 스토리 있게 진열하여 제품의 특징을 소개합니다.
일반 제품은 갤러리 형태로 진열하여 여러 제품을 빠르게 탐색하고 비교할 수 있게 합니다.
할인 제품은 눈에 띄게 강조하고, 할인 조건(대상 · 기간 · 수량 등)을 명확히 표기합니다.
카테고리 분류와 검색으로 원하는 상품을 빠르게 찾을 수 있게 합니다.
상품을 상품군(대분류) → 세부 분류(중 · 소)와 브랜드축으로 탐색하는 화면입니다. 전체 카테고리 페이지(상품군 그리드 + 브랜드 그리드)와 GNB 카테고리 드롭다운(메가메뉴)이 같은 구조를 공유하며, 항목 선택 시 상품 목록(FR-B2B-3.10 · 3.11)으로 해당 필터가 적용된 채 이동합니다. 카테고리 화면에는 상품 카드가 없어 단가 · 재고를 표시하지 않습니다. 아래 분류 체계는 볼링코리아몰 상품 마스터(wm_category) 2026-07 실측 기준이며, 실제 노출 · 명칭은 상품 마스터 갱신에 따릅니다.
| 상품군(대분류) | 중분류 | 소분류(예) |
|---|---|---|
| 볼링공 (Ball) | STORM · ROTO GRIP | STORM: 프리미어 · SPI-Lab · 시그니처 · 마스터 · 썬더 · 핫 · 트로피컬 · 아이스 라인 / ROTO GRIP: HP-1 ~ HP-5 라인 |
| 볼링화 (Shoes) | STORM · ROTO GRIP · 3G · 슈즈 액세서리 | — |
| 볼링가방 (Bag) | STORM · ROTO GRIP · 신상(NEW) | 볼 수용량별: 1 · 2 · 3 · 4 · 6볼 |
| 의류 · 유니폼 (Apparel) | 아우터 · 라운드/카라 티셔츠 · 전사 티셔츠 · 하의 | 전사 티셔츠: STORM NATION · ROTO GRIP |
| 가드 (Guard) | STORM · GIZMO · 가드 액세서리 · 테이핑웨어 | 형태: 코브라형 · 몽구스형 |
| 액세서리 (Accessory) | 그립 액세서리 · 인서트 · 테이프 · 클리너 · 타월 · 기타 | — |
브랜드축: 취급 브랜드(Storm · Roto Grip · 3G · Global · Vise · Master · Jopo · Kegel · Qubica · JayHawk · 진승)를 별도 축으로 함께 제공합니다(FR-B2B-3.4 하단 목록). 라이브 카탈로그는 STORM · ROTO GRIP 비중이 높습니다.
상품 상세는 소비자몰(B2C) 수준의 페이지로 구성합니다. 이미지 갤러리(대표 + 썸네일 · 확대) + 구매 패널(상품명 · 가격 · 옵션 · 수량 · 재고 상태(구매가능/품절) · 장바구니 담기) + 상품 특징 · 스펙 · 상세 이미지 · (선택)리뷰 순으로 배치하며, 구매 패널은 스크롤 중에도 접근하기 쉽게 고정 노출합니다. 가격 요청 시점: 목록에서는 단가를 표시하지 않으므로(FR-B2B-3.10), 상세 진입 시 선택된 거래처 컨텍스트로 JS-HUB에 이 상품의 옵션 · 규격(SKU)별 단가를 요청해 표시합니다(전체 상품 단가 사전 조회는 하지 않음).
상품군마다 옵션 축이 다릅니다. 필수 옵션은 선택해야 담기가 가능하며, 품절 규격은 숨기지 않고 비활성으로 노출합니다. 옵션 선택에 따라 단가 · 구매가능 여부가 갱신됩니다. 한 상품의 여러 규격을 규격별 수량으로 한 번에 담을 수 있습니다(사이즈런) — 예: 볼링화 여러 사이즈 동시 발주.
| 상품 카테고리 | 옵션 축(예) |
|---|---|
| 볼링공 | 무게(파운드) |
| 볼링화 | 사이즈 · (좌우/손잡이) · 색상 |
| 볼링가방 | 색상 · 타입(볼 수용량) |
| 의류 · 유니폼 | 사이즈 · 색상 |
| 가드 · 액세서리 | 색상 · 사이즈(인치/mm) |
취급 브랜드 — 카탈로그는 진승이 취급하는 브랜드로 한정합니다: Storm · Roto Grip · 3G · Global · Vise · Master · Jopo · Kegel · Qubica · JayHawk · 진승(자체브랜드). 카탈로그 필터(FR-B2B-3.11) · 검색(FR-B2B-3.14) · 홈 브랜드 퀵링크(FR-B2B-3.15)는 이 목록을 기준으로 합니다. (취급 브랜드 마스터는 상품 마스터 기준으로 최종 확정 — 위 목록은 현행 취급 기준.)
상품군별 핵심 스펙을 정규화된 표로 제공합니다(예: 볼링공의 커버스톡 · 코어 · RG 등). 스펙을 상세 이미지 안에만 넣지 않고 구조화하여 비교 · 검색에 활용할 수 있게 합니다.
비로그인 상태에서는 상품 · 이미지 · 스펙은 볼 수 있으나, 가격과 담기는 로그인 후 노출합니다. 가격은 거래처 가격그룹에 따라 다르므로 로그인 전에는 노출하지 않습니다. 가격 노출 원칙: 로그인 후에도 목록 · 검색 · 홈 카드에는 거래처 단가를 표시하지 않으며, 단가는 상품 상세 · 장바구니 · 발주에서만 노출합니다(FR-B2B-3.5 · 3.10 · 3.19).
검색엔진 미노출(SEO 제외): 진승B2B는 거래처 전용(미등록 계정 입장 거부, FR-B2B-2.6)이므로 공개 검색엔진에 색인되지 않아야 합니다. 전 페이지 메타 noindex, nofollow + robots.txt 전체 Disallow + 사이트맵 미제출을 적용하고, 검색엔진(구글 · 네이버 등) 등록 · 노출을 하지 않습니다.
상품 목록은 카테고리 내비게이션 + 상품 카드 그리드 + 정렬 · 필터로 구성합니다. 진열 형태(신제품 브로셔 · 일반 갤러리 · 할인 강조, FR-B2B-3.1~3.3)가 이 화면에서 렌더되며, 페이지네이션 또는 더보기로 이어집니다.
각 상품 카드는 썸네일 · 상품명 · 배지([신제품]/[할인]/[품절]) · 재고 상태(구매가능/품절)를 노출합니다. 거래처 단가는 목록 · 검색 · 홈 카드에 표시하지 않습니다(로그인 여부와 무관) — 단가는 상품 상세에서만 확인합니다(FR-B2B-3.5 · 3.8). 할인은 [할인] 배지(여부)로만 표시하고, 할인가 · 할인 조건 등 금액 정보는 상세에서 노출합니다. 예외: 기획전 상세의 큐레이션 카드는 할인가를 노출합니다(FR-B2B-3.16).
정렬(신상 · 인기 · 가격순)과 필터(카테고리 · 브랜드 · 가격대 · 규격(무게/사이즈 등))를 제공하여 원하는 상품을 빠르게 좁힐 수 있게 합니다.
목록은 탐색 · 진열을 담당하고 담기는 상세 화면에서 이뤄집니다(옵션 필수 선택 때문). 옵션이 없는 단일 상품에 한해 목록에서 빠른 담기를 허용할 수 있습니다.
재고는 구매가능 / 품절 / Close Out으로 노출하고 수량(숫자)은 표시하지 않습니다. Close Out은 재입고 없이 소진 시 판매 종료되는 상태로(마지막 재고), 일시 품절([품절])과 구분되는 별도 배지입니다(구매는 가능하되 "지금이 마지막"). 목록 · 상세 · 브로셔 · 영업 카탈로그 모두 동일합니다. 담기 · 주문 확정 시의 재고 확인(FR-B2B-5.1 · 5.2)은 내부적으로 수행하되 화면에 수량을 노출하지 않습니다.
검색은 키워드 입력 → 결과 화면으로 이어집니다. 검색창 활성 시 자동완성(상품명 · 브랜드 · 상품코드 · 스펙 매칭)과 인기 검색어를 제공하고, 최근 검색어(개인 단위)를 함께 노출합니다. 결과는 목록 화면을 재사용(상품 카드 · 필터 · 정렬, FR-B2B-3.10 · 3.11)하며 결과 수를 표시하고, 무결과 시 추천 · 인기 상품 · 카테고리를 안내합니다. 카드 단가는 목록 규칙을 따릅니다(카드 미표시, FR-B2B-3.8 · 3.10).
최근 검색어 관리: 최근 검색어는 개인(계정) 단위로 저장하며 개별 삭제 · 전체 삭제를 제공하고, 자동 만료(보관 주기)를 둡니다 — 기본 최대 20개 · 저장 후 30일 경과 시 자동 삭제(값은 운영에서 조정 가능). 저장 사용 안 함(끄기) 옵션도 제공합니다.
검색 대상은 상품명 · 상품코드 · 브랜드 · 스펙(무게 · 커버스톡 등)을 포함하여 "15파운드 펄" 같은 스펙 조합 검색을 지원합니다. 입력 시 자동완성과 인기 검색어를 제공합니다(최근 검색어는 선택).
테마별 상품을 묶은 기획전을 목록 → 상세로 제공합니다. 목록은 배너 · 제목 · 기간 · 상태(진행중 / 예정 / 종료) 카드로, 상세는 히어로 배너 · 기간 · 큐레이션 상품 그리드로 구성합니다. 기획전 배너는 홈에 노출하며, 중요 기획전은 선택 시 카카오 알림톡으로 알립니다.
가격 노출 예외: 카드 단가 미표시 원칙(FR-B2B-3.10)의 예외로, 기획전 상세의 큐레이션 카드에는 할인가를 노출합니다(로그인 거래처 기준, 비로그인은 숨김). 할인 소구가 기획전의 목적이며, 큐레이션이라 상품 수가 적어 진입 시 해당 상품만 JS-HUB에 가격 요청합니다. 큐레이션 카드에는 [할인] · [Close Out](FR-B2B-3.13) 등 상태 배지도 함께 노출합니다.
대상 거래처: 기획전은 전체 또는 특정 거래처 유형 · 가격그룹 대상으로 지정할 수 있으며(FR-B2B-3.17), 대상이 지정된 기획전은 내 거래처가 대상인 경우에만 노출합니다.
프로모션 유형은 할인 · 수량 혜택(수량 구간 특가) · 신제품 런칭 · 기획전 · 재고 정리(Close Out)를 지원하며, 할인 · 혜택 조건을 명확히 표기합니다(FR-B2B-3.3). 수량 구간 특가는 카드에 조건(예: "12개 이상 특가")을 표기하고 구간 단가는 상세에서 확인합니다. Close Out은 재입고 없이 소진 시 종료되는 재고 정리로 [Close Out] 배지와 함께 노출합니다(FR-B2B-3.13). 전체 또는 특정 거래처 유형 · 가격그룹 대상으로 지정할 수 있습니다. 실제 할인 단가의 소스(이카운트 단가 / 몰 자체 프로모션)는 확정 대기 항목을 따릅니다.
홈은 소비자몰 수준의 랜딩 구조(고정 GNB → 히어로 배너 → 카테고리 퀵링크 → 신제품 · 베스트 그리드 → 푸터)를 따르되, 소비자몰의 감성 모듈은 B2B 실용 모듈로 치환합니다. 아래 모듈 구성은 디자인 단계의 참조 기준이며, 순서 · 명칭은 디자인에서 조정될 수 있습니다.
홈은 위 모듈 구성(고정 GNB · 히어로 배너 · 카테고리 퀵링크 · 신제품 · 베스트 · 프로모션 · B2B 실용 모듈 · 공지/푸터)을 기준으로 하며, 소비자몰의 감성 모듈(셀럽 · UGC · 뉴스레터 · 할인율 배지)은 B2B 실용 모듈과 상태 배지로 치환합니다.
홈은 상품 · 기획전을 노출하되 카드에 거래처 단가를 표시하지 않습니다(로그인 여부 무관, FR-B2B-3.10 · 3.8) — 단가는 상세에서 확인합니다. 재고 수량도 표시하지 않습니다(FR-B2B-3.13). 로그인 홈은 여기에 거래처 맞춤(최근 발주 빠른 재주문 FR-B2B-5.12 · 자주 담는 상품 · 가격그룹 큐레이션)과 현재 거래처 컨텍스트를 더합니다(큐레이션 기준일 뿐 카드에 단가는 노출하지 않음).
품절 · Close Out 상품 · 규격(상세 · 목록 카드)에서 재입고 알림을 신청합니다. 신청은 규격(SKU) 단위(무게 · 사이즈별)입니다. 관리자 게이트: 입고가 되어도 자동으로 알리지 않으며, 관리자가 재입고 알림을 발송 설정할 때만 신청자에게 카카오 알림톡 · 이메일이 발송되고 상품 화면의 "재입고" 노출도 그때 전환됩니다(FR-B2B-7.19 · 노출 게이트 FR-B2B-7.1과 동일 철학). 마이페이지에서 신청 목록을 조회 · 해제할 수 있습니다.
상세 · 목록 카드에서 관심상품을 담고/해제하며, 마이페이지 위시리스트에서 저장 상품(썸네일 · 상품명 · 브랜드 · 상태 배지: 구매가능 / 품절 / 재입고 / Close Out)을 조회합니다. 카드 단가는 표시하지 않으며(FR-B2B-3.10), 단가는 상품 상세에서 확인합니다. 개별 또는 다중 선택 → 일괄 장바구니 담기가 가능하고(옵션 상품은 상세로 진입), 삭제할 수 있으며, 품절 · Close Out 관심상품은 재입고 알림(FR-B2B-3.20)으로 이어집니다. 위시리스트는 담당자(개인) 단위이며, 비었을 때는 안내를 제공합니다.
선택한 여러 상품의 스펙(FR-B2B-3.7)을 나란히 비교합니다. 핵심 기능이 아닌 가외(선택) 기능으로 향후 제공합니다.
상품 상세(FR-B2B-3.5)의 Q&A 탭에서 해당 상품에 대한 문의를 등록합니다. 문의는 기본 비공개(비밀글)로 작성자와 운영만 조회하며(필요 시 공개 전환), 마이페이지에서 내 상품 문의를 조회합니다. 답변 시 카카오 알림톡 · 이메일로 알립니다.
가격 · 재고 연동
단가와 재고는 진승B2B가 자체적으로 소유하지 않고, 진승이 이미 운영하는 시스템에서 실시간으로 반영합니다.
단가의 관리 주체는 이카운트이며, 통합 허브(JS-HUB)를 경유하여 진승B2B에 실시간으로 반영됩니다. 진승B2B는 단가를 자체적으로 저작하지 않습니다.
로그인한 구매자의 가격그룹에 해당하는 단가를 표시합니다.
재고는 통합 허브를 통해 조회하여 발주 가능 여부를 안내합니다.
발주(주문)
진승B2B의 주문은 온라인 결제 없이 발주요청으로 처리되며, 주문 확정이 곧 발주 확정을 의미합니다. 재고 정합을 위해 담기와 확정 두 시점 모두 통합 허브(JS-HUB)에 재고를 확인합니다.
상품을 장바구니에 담을 때 통합 허브(JS-HUB)에 실시간 재고를 확인하고, 재고가 있는 경우에만 장바구니로 이동합니다. 재고가 없으면 담기를 차단하고 안내합니다.
온라인 결제가 없으므로 주문 확정 버튼이 결제를 대신합니다. 주문 확정 시 통합 허브(JS-HUB)에 재고를 다시 확인하고, 확정과 동시에 통합 허브 주문 API를 호출하여 재고를 차감합니다. 재확인에서 재고가 부족하면 확정을 차단합니다.
주문 확정 이후에는 구매자가 시스템에서 주문을 수정하거나 취소할 수 없습니다. 취소 · 수정이 필요하면 본사 또는 영업사원에게 전화로 요청하라는 안내를 노출합니다.
확정된 발주는 운영(BackOffice)에서 접수 · 처리하며, 정산 · 세금계산서는 기존 오프라인 거래 방식(이카운트)으로 진행합니다.
구매자는 자신의 발주 내역과 처리 상태를 조회할 수 있습니다.
거래처별로 여러 배송지를 등록해 두고, 발주 시 그 중 하나를 선택합니다. 발주 화면에서 새 배송지를 추가할 수 있고, 기본 배송지를 지정할 수 있습니다.
장바구니는 담긴 항목(썸네일 · 상품명 · 선택 규격 · 수량 · 거래처 가격그룹 단가 · 소계 · 삭제)을 보여주고, 수량 변경 시 소계 · 합계를 갱신하며 재고를 재확인합니다(구매가능/품절, 수량 미표시). 담은 뒤 품절된 항목은 표시하고 발주에서 제외 안내합니다. 합계는 공급가 합계와 부가세를 구분해 보이며, 온라인 결제가 없으므로 '결제금액'이 아닌 발주 예상금액으로 표기합니다.
주문 확정 직전 발주 확인 단계에서 배송지 선택(FR-B2B-5.6) · 요청 메모 · 최종 항목 · 합계를 확인하고, "확정 후 수정 · 취소 불가(본사 · 영업 전화 요청)" 안내(FR-B2B-5.3)를 노출한 뒤 최종 확정합니다. 최종 확정 시 JS-HUB 재고 재확인 · 차감이 실행됩니다(FR-B2B-5.2).
구매자는 자신의 발주 내역을 목록(발주번호 · 일시 · 항목 요약 · 발주금액 · 배송지 · 상태)으로 조회하고 기간 · 상태로 필터합니다. 상세에서는 항목별(규격 · 수량 · 단가 · 소계) · 배송지 · 요청 메모 · 상태 이력(타임라인)과 함께, 확정 후에는 "수정 · 취소는 본사 · 영업 전화" 안내(FR-B2B-5.3)를 노출합니다.
발주 상태는 발주요청 → 접수 → 처리중 → 배송중 → 완료(및 취소)로 관리합니다. 배송중 전환 시 운영이 택배사 · 운송장번호를 입력하고, 구매자는 주문내역 상세에서 배송 조회를 할 수 있습니다.
발주 상태 전이 시 구매자에게 카카오 알림톡을 발송합니다(접수 · 배송중〔운송장 포함〕 · 완료 · 취소). 알림톡은 사전 승인된 발신프로필 · 템플릿으로 발송합니다.
지난 발주의 동일 항목을 다시 담아 재주문할 수 있습니다. 재주문 시에도 담기 · 확정의 재고 확인 게이트(FR-B2B-5.1 · 5.2)를 동일하게 거칩니다.
주문내역 상세(FR-B2B-5.9)에서 확정된 발주를 발주서로 출력합니다. 발주서에는 발주번호 · 일시 · 상태, 공급자(진승) 정보 · 직인, 발주처(거래처 · 사업자번호) · 담당자 · 배송지, 품목 표(상품 · 규격 · 수량 · 단가 · 공급가 · 부가세), 합계(공급가 · 부가세 · 총액), 요청 메모가 포함되며 인쇄 · PDF 다운로드를 지원합니다. 발주서는 발주 확인 문서로, 세금계산서 · 거래명세서(정산 · 이카운트)와는 별개입니다.
마이페이지에서 거래처의 배송지를 관리합니다. 목록(배송지명 · 수령인 · 연락처 · 주소 · 기본 배송지)과 추가 · 수정 · 삭제(폼: 배송지명 · 수령인 · 연락처 · 우편번호 · 주소 검색 · 상세주소 · 요청사항)를 제공하고, 배송지 추가 시 등록 볼링장(거래처)을 검색해 주소를 채울 수 있습니다. 배송지는 거래처 단위로 공유되며, 기본 배송지는 재지정 후 삭제하고 과거 발주의 배송지는 스냅샷으로 보존합니다.
합배송은 스텝 주문에 한정합니다. 합배송을 받을 대표가 마이페이지에서 합배송 취합그룹을 개설하고(대상 볼링장 · 주소 지정) 초대 링크 · 코드로 스텝들을 초대합니다. 스텝은 발주 확인 단계에서 초대받은 취합 중(마감 전) 그룹에 합류하며, 합류해도 각 발주의 품목 · 단가(스텝 가격그룹) · 발주번호는 독립 · 불변입니다. 대표가 취합 마감하면 그룹의 모든 발주가 함께 배송준비로 진행되어 한 운송장으로 배송됩니다.
상태 규칙: 취합이 마감되기 전에는 그룹의 어떤 발주도 배송준비로 넘어가지 않습니다(취합 미완료 → 배송준비 차단). 또 이미 배송준비 · 배송중인 발주나 마감된 그룹에는 합류할 수 없습니다. 참여할 취합 중 그룹이 없으면 개별 배송으로 진행됩니다.
스텝 대표가 마이페이지 안에서 합배송 취합그룹을 개설 → 초대 → 참여 현황 확인 → 마감 → 배송 추적까지 운영하는 화면입니다(FR-B2B-5.15 대표 측). 구성: ①현재 취합그룹(그룹명 · 대상 배송지 · 상태 배지: 취합 중 / 마감 / 배송준비 / 배송중 / 완료 · 참여 발주 수 — 대상별 활성 취합 중 그룹은 1개, 마감돼야 새로 개설) · ②그룹 개설(그룹명 + 등록 배송지에서 대상 선택 → 초대 링크 · 코드 자동 생성) · ③초대(링크 · 코드 복사 · 재발급) · ④참여 발주 현황(읽기 전용)(스텝명 · 발주번호 · 품목수 · 발주금액 · 발주상태 · 대표 본인 발주 포함 · 합계 — 각 발주 독립 · 불변이라 대표는 열람만) · ⑤취합 마감(핵심 액션: 마감 시 그룹 전체가 배송준비로 진행 · 마감 후 합류 · 추가 불가 경고) · ⑥마감 후 추적(배송준비 → 배송중 → 완료 타임라인 · 한 운송장 운송장번호 · 배송조회).
규칙: 마감 전에는 그룹의 어떤 발주도 배송준비로 넘어가지 않습니다. 대표는 참여 발주의 내용을 수정할 수 없고(각 발주 독립 · 불변), 운영(BackOffice)도 필요 시 대표 대신 마감 · 해제할 수 있습니다(FR-B2B-7.18).
마이페이지 쿠폰함에서 보유 쿠폰(쿠폰명 · 할인〔정액/정률〕 · 최소 발주액 · 유효기간 · 대상)을 조회하고 코드로 등록합니다. 발주 확인 단계(FR-B2B-5.8)에서 조건을 만족하는 쿠폰 1건을 적용해 발주 예상금액을 차감하고, 발주서(FR-B2B-5.13)에 반영합니다. 온라인 결제가 없으므로 쿠폰 할인의 실제 정산 반영은 이카운트 연동(확정 대기)을 따릅니다. (적립금은 후속 — 제외 범위 참고)
마이페이지에서 거래명세서 · 세금계산서(발행분) · 기간별 거래내역 · 미수 잔액을 조회 · 다운로드합니다. 정산 · 계산 · 수납 · 세금계산서 발행은 이카운트 소관(오프라인)이며 진승B2B는 조회만 제공합니다. (여신 한도 · 미수 관리 · 수납은 제외 범위)
주문내역 상세(FR-B2B-5.9)의 배송완료 품목에 대해 유형(반품 / 교환) · 수량 · 사유 · 첨부(사진) · 회수 방식으로 요청합니다(확정 후 불변 FR-B2B-5.3과 별개인 사후 절차). 상태는 요청 → 접수 → 승인/반려 → 회수 → 완료로 진행되고, 상태 전이 시 카카오 알림톡 · 이메일로 알립니다. 반품 승인 시 JS-HUB 재고 원복, 환불은 이카운트 정산에 반영(온라인 환불 없음)합니다. 반품 기간 · 조건(하자 · 오배송 무료 / 단순변심 조건부)과 커스텀(지공 등) 제한은 운영 정책을 따릅니다.
거래처는 마이페이지에서 자기 발주 통계(기간별 발주액 · 건수 · 품목 · 재주문)를 조회하고 CSV · Excel로 내보냅니다.
사업자 진위확인
사업자 거래처의 온보딩 신뢰도를 높이기 위해 사업자등록번호를 검증합니다.
사업자 거래처(프로샵 · 볼링장) 온보딩 시 사업자등록번호를 국세청 진위확인으로 검증합니다. 이 검증은 거래처 온보딩의 일부로 통합 허브(JS-HUB)에서 수행하며, 진승B2B는 그 결과(진위확인 상태)를 조회만 합니다.
운영(BackOffice) 기능
JS-B2B의 운영 화면은 독립된 BackOffice 모듈(자체 기능 · 데이터 · 권한)이며, 여러 사이트를 오가는 관리자를 위해 통합 관리자 포털에서 SSO 단일 로그인으로 진입합니다. 운영자는 상품 진열, 거래처 승인, 발주 처리, 확정 주문 통제를 한 곳에서 관리합니다.
상품을 등록하고 진열 형태(브로셔 · 갤러리 · 할인)를 관리합니다.
노출 게이트: 통합 허브(이카운트)에 입고(재고 확보)가 되었더라도, 관리자가 상품 관리에서 노출 여부(노출 Y/N)를 명시적으로 'Y'로 설정하지 않으면 카탈로그 · 검색 · 홈 · 브로셔 등 어떤 프론트 화면에도 노출되지 않습니다. 노출 기본값은 'N'(미노출)이며, 노출은 재고 상태(구매가능/품절)와 독립적으로 관리자 결정에 따릅니다 — 재고가 있어도 노출 N이면 미노출, 노출 Y라도 품절이면 '품절'로 표시. 관리자는 상품별 노출 Y/N을 토글하고 일괄(선택 상품) 노출 전환을 지원합니다.
거래처 · 계정 승인 · 진승ID↔거래처 매핑 · 가격그룹 배정 · 사업자 진위확인은 통합 허브(JS-HUB) 거래처 온보딩 소관입니다(승인 결과를 JS-HUB 원장에 정본 기록 → 통합 인증 claim 동기화). 진승B2B BackOffice는 자체 승인 화면을 두지 않고, 승인 · 매핑 결과(소속 거래처 · 유형 · 가격그룹 · 상태)를 조회만 합니다(FR-B2B-7.28 스텝 조회).
발주요청을 접수하고 상태를 변경 · 처리합니다.
이카운트 · 통합 허브 기준의 단가 · 재고를 조회합니다.
확정된 주문은 관리자만 수정 · 취소할 수 있습니다. 전화로 접수된 취소 · 수정 요청을 확정 주문 목록에서 반영하며, 취소 시 통합 허브(JS-HUB) 재고를 정합하게 원복합니다.
거래처(스텝 포함) 원장의 소유 · 등록은 통합 허브(JS-HUB) 거래처 관리 소관입니다(← 이카운트 기준). 이카운트가 거래처 조회 Open API를 제공하지 않으므로, JS-HUB에서 거래처를 ① CSV / Excel 일괄 업로드, ② 건별 등록 폼으로 등록 · 유지하며(필수 항목 검증 · 중복 처리), 구매자 유형 · 가격그룹도 여기서 정본 관리합니다(FR-B2B-7.2). JS-B2B는 이 원장을 조회만 하며(FR-B2B-7.28 스텝 조회), 매핑 · 승인 · 가격그룹 · 대표 지정 등 계정 관리는 JS-HUB(+ 통합 인증) 소관입니다.
거래처별로 다중 배송지를 등록 · 수정 · 삭제하고 기본 배송지를 지정합니다. 등록된 배송지는 발주 시 선택 목록으로 제공됩니다. (배송지는 발주 편의로 JS-B2B가 소유하며, 거래처 원장 정보 자체는 JS-HUB 소관입니다.)
운영자가 발주 지원 · CS 시 스텝(개인 구매자)이 어느 거래처 소속이고 어떤 가격그룹인지를 확인하는 읽기 전용 화면입니다. 스텝 계정의 원장(거래처 정보 · 구매자 유형 · 가격그룹 · 단가) · 소속(매핑) · 승인 · 관리는 모두 JS-HUB(+ 통합 인증) 소관이며, 이 화면은 이를 조회 / 동기화만 합니다(편집 없음). 변경이 필요하면 "JS-HUB에서 관리" 링크로 이동합니다.
구성: 목록(진승ID · 이름[SSO] · 소속 거래처[JS-HUB] · 유형 / 가격그룹[JS-HUB] · 상태 · 필터[거래처 · 상태 · 유형]) · 상세 조회(소속 거래처 · 가격그룹 · 최근 발주 요약 등, 전부 읽기 전용). 신원(이름 · 연락처)은 통합 인증(SSO) 소유로 조회만. 합배송 대표는 스텝이 취합그룹을 개설하면 자동 부여되며(FR-B2B-5.20), 별도 지정 화면을 두지 않습니다.
현재 판매중 상품(신제품 · 할인 강조)을 모아 홍보 브로셔를 구성해 거래처에 전송합니다. 형식은 공유 웹링크를 기본으로 하고 PDF 내보내기를 선택 제공합니다. 웹링크는 종이 카탈로그를 넘겨보듯 페이지가 넘어가는 flipbook(페이지 넘김) 뷰어로 표현하며, 정적 PDF 업로드가 아니라 상품 데이터에서 동적으로 생성합니다(진열·노출 규칙을 그대로 상속). 데스크톱 · 모바일 모두 동작합니다. 브로셔에는 가격과 재고 수량을 표시하지 않고, "로그인해 거래처가 확인 · 발주" 유도를 둡니다.
영업사원(진승 내부 역할, 관리자와 별개의 제한 권한)이 전체 카탈로그를 열람합니다. 거래처를 선택하면 그 거래처의 가격그룹 단가를 표시해 대면 상담 · 견적을 돕고, 홍보 브로셔 전송 진입을 제공합니다. 재고는 구매가능 / 품절만 표시합니다. (거래처 대신 발주 대행은 후속 정의)
대시보드는 처리 대기 발주 · 승인 대기 거래처 · 상태별 건수 등 운영 현황과, 영업 분석(거래처 발주 랭킹 · 재발주율, 상품 · 카테고리 · 브랜드별 발주액 · 회전, 가격그룹별 분포, 영업사원 실적, 재고 회전 · 처리 리드타임)을 제공합니다.
내부 역할은 관리자(전체 권한)와 영업사원(카탈로그 · 브로셔 · 거래처 조회, 확정주문 변경 불가) 2단계로 나눕니다. BackOffice 접근은 통합 인증(SSO) 로그인과 관리자 강화 인증(MFA)을 준용합니다.
확정주문 변경 · 재고 조정 · 거래처 승인 등 민감 작업은 누가 언제 무엇을 했는지 감사 로그로 기록합니다.
신규 거래처 · 담당자 신청의 검토 · 승인 · 반려는 통합 허브(JS-HUB) 거래처 온보딩에서 수행합니다(진승B2B BackOffice에 승인 화면을 두지 않음). 절차: 사업자 정보(상호 · 사업자번호)와 국세청 진위확인 결과(FR-B2B-6.1)를 확인해 사업자(프로샵 · 볼링장)를 승인하고, 스텝 · 직원은 소속 확인 후 승인합니다. 진승B2B는 이 승인 상태를 조회만 합니다(발주 지원 · CS 용도, FR-B2B-7.28).
JS-HUB는 승인 시 거래처 · 구매자 유형 · 가격그룹을 원장에 정본(canonical)으로 기록하고, 통합 인증(SSO)에는 로그인 claim(거래처 소속 · 구매자 유형 · 가격그룹)을 활성(ACTIVE)으로 provisioning하며(FR-B2B-2.2), 담당자의 진승ID를 매핑합니다(없으면 초대 · 생성 후 매핑). 반려 시 사유 기록 · 신청자 알림(카카오 알림톡 · 이메일), 감사 로그 기록. 진승B2B는 이 결과를 조회하여 로그인 진입 시 거래처 등록 여부 · 가격그룹을 확인합니다(FR-B2B-2.6).
운영 · 영업은 접수된 1:1 문의를 확인 · 답변 · 상태 관리하고, 답변 시 신청자에게 알림(카카오 알림톡 · 이메일)이 발송됩니다.
공지사항을 작성 · 게시 · 상단 고정 · 대상(전체 / 거래처 유형 · 가격그룹) 지정 · 예약 게시하고, 중요 공지의 알림톡 발송 여부를 지정합니다.
이벤트 · 기획전 · 프로모션을 생성(대상 상품 · 기간 · 대상 거래처 · 배너 · 할인/혜택 규칙) · 게시 · 예약합니다. 할인 단가 규칙은 확정된 할인 정책 소스(이카운트 / 몰 프로모션)를 따릅니다.
합배송 취합그룹(FR-B2B-5.15)은 마감된 그룹만 배송준비 · 운송장 처리 대상이며, 취합 중 그룹의 발주는 배송준비 진입이 차단됩니다. 마감된 그룹은 묶음(여러 발주 → 한 운송장) 단위로 운송장을 입력 · 관리하고, 각 발주는 독립 발주번호를 유지한 채 배송 그룹만 공유합니다. 운영은 취합그룹 현황(대표 · 참여 발주 · 마감 여부)을 조회하고, 필요 시 대표 대신 마감 · 해제를 관리할 수 있습니다.
재입고 알림은 관리자 발송 게이트로 통제합니다. 재고 입고(이카운트 · 통합 허브) 감지는 "재입고 후보" 신호로만 표시되며 자동 발송하지 않습니다. 관리자는 상품 · 규격별 신청 현황(대기자 수)과 후보를 조회하고, [재입고 알림 발송]을 실행할 때만 신청자에게 알림톡 · 이메일이 발송되고 상품 화면의 "재입고" 노출이 전환됩니다(FR-B2B-3.20). 발송 이력을 기록합니다.
쿠폰을 발행(정액/정률 · 최소 발주액 · 유효기간 · 대상〔전체 / 거래처 유형 · 가격그룹〕)하고 사용 현황을 조회합니다.
등급 체계(등급명 · 산정 기준〔기간 발주 실적〕 · 산정 주기)를 설정하고, 거래처별 등급을 조회하며 예외적으로 수동 조정합니다. 등급별 혜택 적용은 후속(확정 대기)입니다.
접수된 대량주문 · 견적 문의를 담당 배정 · 견적 회신(금액 · 조건) · 상태 관리합니다. 회신 시 신청자에게 알림(카카오 알림톡 · 이메일)이 발송됩니다.
홈 히어로 · 중간 · 카테고리 위치의 배너와 팝업을 관리합니다. 각 항목은 이미지 · 링크 · 게시기간 · 대상(전체 / 거래처 유형 · 가격그룹) · 정렬을 설정하고, 노출 여부를 체크박스로 on/off하여 노출할 항목을 결정합니다(동시 노출 수는 체크로 결정하며 고정 상한은 두지 않습니다). 팝업은 노출 조건("오늘 그만 보기" 등)을 지정하고 게시 기간을 예약할 수 있습니다.
상품 문의(FR-B2B-3.23)를 접수 · 답변 · 상태 관리하고, 답변 시 작성자에게 알림(카카오 알림톡 · 이메일)이 발송됩니다.
반품 · 교환 요청(FR-B2B-5.18)을 접수 · 승인/반려 · 회수 · 완료로 처리하고, 반품 승인 시 재고 원복과 환불의 이카운트 정산 반영을 연계합니다. 반품 정책(기간 · 조건 · 커스텀 제한)을 설정합니다.
기간 지정 · 비교와 카테고리 · 브랜드 · 거래처 · 영업사원 · 가격그룹 필터로 발주 통계(금액 · 건수 · 품목별 순위 · 회전, 재발주율, 신규/활성 거래처, 처리 · 배송 리드타임)를 조회하고 CSV · Excel로 내보냅니다. 대시보드(FR-B2B-7.10)의 상세 · 기간지정 버전이며, 정산 금액은 이카운트 조회(FR-B2B-5.17)를 별개로 참조합니다.
처리중 · 배송준비 발주(합배송 묶음 포함)를 목록 · 필터로 관리합니다. 택배사 · 운송장번호를 개별 또는 일괄(CSV)로 입력해 배송중으로 전환하고(FR-B2B-5.10), 합배송은 대상(볼링장/주소)별로 묶어 처리합니다(FR-B2B-7.18). 배송준비 · 피킹 리스트를 제공하고, 운송장 기반 배송 추적(택배사 조회 링크 기본, 통합 배송추적 API는 후속) · 배송완료 처리 · 반품 회수(FR-B2B-5.18) 연계를 지원합니다.
고객센터 · 문의
B2B 특성상 전화와 담당 영업이 우선이며, 온라인 1:1 문의를 보조로 제공합니다.
대표 전화 · 운영시간과 함께 거래처 담당 영업사원 연락처를 우선 노출합니다. 확정 후 주문 수정 · 취소는 전화 요청 안내(FR-B2B-5.3)와 연결됩니다.
유형(주문 · 상품 · 배송 · 계정 · 기타) · 첨부로 온라인 문의를 작성하고, 내 문의 · 답변 내역을 조회합니다. 특정 발주번호에 연계한 문의도 가능합니다. 답변 시 카카오 알림톡 · 이메일로 알립니다.
자주 묻는 질문(FAQ)을 제공합니다.
공지사항은 목록(제목 · 유형〔일반 · 중요 · 이벤트 · 점검〕 · 게시일 · 상단 고정)과 상세(본문 · 이미지 · 첨부)로 제공합니다. 전체 공지 외에 특정 거래처 유형 · 가격그룹 대상 공지를 노출할 수 있습니다.
중요 공지는 상단 고정 · 홈 배너(팝업 선택)로 노출하고, 선택 시 카카오 알림톡으로 발송합니다.
유형(대량주문 · 견적 · 단체)과 품목(카탈로그 담기 또는 자유 입력: 상품 · 규격 · 수량) · 희망 납기 · 배송지 · 요청사항 · 첨부로 견적 문의를 작성합니다. 문의는 거래처 담당 영업사원에게 배정되고, 접수 → 검토 → 견적 회신 → 완료로 진행됩니다. 회신(견적 금액 · 조건)과 상태를 조회하며, 접수 · 회신 시 카카오 알림톡 · 이메일로 알립니다. (견적의 발주 전환은 후속)
시스템 구성
진승B2B는 역할이 분리된 세 계층으로 구성됩니다.
제외 범위
아래 항목은 본 단계 범위에서 제외하며, 정산은 오프라인 · 이카운트로 처리합니다.
확정 대기 항목
아래 항목은 현시점에서 확정되지 않았으며, 외부 회신 또는 후속 검토를 통해 확정합니다.