Project brief
프로젝트 내용
[프로젝트 개요]
출고 실적을 근거로 총판·대리점 수당을 계산·확정·지급 관리하는 정산 시스템과, 승인된 거래처만 이용하는 B2B 간편주문 기능을 하나의 웹 플랫폼으로 신규 구축합니다.
형태는 웹 애플리케이션입니다. 관리자 웹, 총판·대리점 모바일 웹, 매장 모바일 웹으로 구성하며 네이티브 앱과 앱스토어 배포는 범위가 아닙니다.
[추진 배경과 시점]
현재 수당 정산은 수기로 이루어지고 있습니다. 물류사 ERP에서 주 단위로 출고 파일이 나오고, 그 값을 사람이 옮겨 담아 총판·대리점 수당을 계산합니다. 금액은 맞아도 왜 그 금액인지 증명하는 일이 사람 손에 남아 있습니다.
동시에 거래처 확장 계획이 있습니다. 물류사 배송망 밖의 거래처는 지금 구조로는 받을 수 없어, 자체 택배 발송을 두 번째 실적 경로로 열려고 합니다. 주문과 정산이 함께 필요해진 이유입니다.
목표 규모는 대리점 500명 이상, 매장 10,000곳 이상, 월 출고 100,000건 이상입니다.
발주 기준본은 2026-08-08 확정되었고 이후 개정까지 마쳤습니다. 화면 기획·디자인·DB 설계·인수 시나리오가 모두 확정되어 있어 착수 즉시 개발에 들어갈 수 있습니다.
[요구사항]
진행간 기획 및 디자인의 수정/보완이 필요한 경우, 파트너사에서 수행해주셔야 합니다.
1) 정산 영역
- 조직 3계층(총판·대리점·매장) 등록·수정과 이관 이력 보존
- 상품, 수당정책 버전, 추천총판 쉐어 규칙 관리
- ERP 출고파일 업로드(엑셀·CSV), 사전검증 단계 분리, 중복 업로드 멱등 처리, 오류·미매칭 목록 제공
- 거래원장에 출고 시점 스냅샷 저장(소속·정산방식·요율·단가·수당자격)
- 반품·무효·정정을 삭제가 아닌 음수 또는 조정 기록으로 처리
- 월정산 집계, 월마감 확정 스냅샷, 마감해제 제어
- 지급대상 산출, 원천징수 계산, 대량이체 파일과 세무자료 다운로드, 지급완료 기록
- 정산 근거 재현 화면(확정 금액에서 출고 원장 한 줄까지 전개)
- 정산방식 2종(팩당 정액, 매출 비율)을 매장별 택일 적용, 수당 휴면 판정
2) 주문 영역
- 초대와 휴대폰 인증으로만 로그인, 공개 회원가입 없음, 미승인 계정은 가격·상품 노출 차단
- 상품·박스수량 선택 주문, 재주문, 주문내역·처리상태·크레딧 잔액 조회, 취소 요청
- 본사 주문관리: 발주대기 큐, 발주파일 배치 생성·다운로드·업로드 완료 기록, 취소·환불 확정, 크레딧 조정, 판매가 관리, 매장 초대
- 택배 발송 관리와 배송완료 확정, 배송완료 시 실적 자동 생성
- 관리자 첫 화면에 처리 대기 건수 집계
3) 공통
- 주문·출고 단위는 박스, 수당 계산·표시 단위는 팩
- 매장 식별자와 물류사 배송코드를 분리 관리, 배송 가능 방식은 두 값으로 자동 판정
- 화면 구성은 관리자 웹 7메뉴, 대리점 모바일 6메뉴, 총판 모바일 6메뉴, 매장 주문 웹
- DB 테이블 19종과 API 명세는 첨부 명세서에 확정
[사용자 스토리와 수용 기준]
- 대리점 사용자가 이번 달 수당 금액에서 출고 한 줄까지 내려가 근거를 확인할 수 있다
- 매장 사용자가 재주문 기준 접속 후 3터치 이내에 주문을 마칠 수 있다
- 본사 담당자가 로그인 첫 화면에서 오늘 처리할 건만 확인하고 해당 목록으로 이동할 수 있다
수용 기준
- 동일 ERP 파일을 두 번 업로드해도 원장이 늘지 않는다
- 마감한 달의 금액이 이후 정책·단가 변경에도 변하지 않는다
- 원장 합계, 정산명세 합계, 지급대상 합계가 항상 일치한다
- 매장 사용자 계정으로 정산 API 전 엔드포인트 호출 시 전부 거부된다
- 발주처가 제공하는 검수 자동테스트 3종이 전항 통과한다
[업무 상태 흐름]
- 주문 상태는 미결제, 결제완료, 취소
- 직배송은 발주파일 생성과 물류사 업로드 완료를 각각 별도 시점으로 기록
- 택배는 발송 후 배송완료를 사람이 확정. 경과일 자동 확정 금지
- 수당 실적은 배송완료 확정 또는 물류사 출고 확인 시점에만 생성. 주문·결제는 실적을 만들지 않음
- 취소는 매장 요청, 본사 확정
- 정산은 원장, 월마감, 지급대상, 지급완료 순. 마감 후에는 조정 기록으로만 변경
- 화면 전이와 동작 단계 설계는 제안사가 정합니다
[비기능 요구]
- ERP 10,000행 업로드 5분 이내 처리, 진행률 표시
- 모바일 홈 p95 1.5초, 관리자 목록·정산 현황 p95 2초, 월마감 3분 이내
- 금액은 정수 처리, 부동소수점 사용 금지
[외부 연동]
- 물류사 ERP: 엑셀·CSV 업로드. 실시간 API는 범위 밖
- 결제: 가상계좌 입금 확인. 방식 확인 중
- 은행: 대량이체 파일 다운로드까지
[스코프 밖]
- 네이티브 앱, 알림톡·SMS, AI 추천
- 주문·출고 자동 대조, 재고 표시, 배송 추적
- 쿠폰·적립·장바구니·리뷰 등 쇼핑몰 부가기능
- 창고·물류 관리, 전자세금계산서 발행, 은행 송금 API
- 마이크로서비스, 메시지 큐·워커, 다중 서버
[추가 도입 검토 항목]
아래는 발주처가 견적을 보고 도입 여부를 판단할 항목입니다. 이번 계약 범위에 넣지 마시고 금액과 소요 기간만 별도로 제시해 주십시오.
- 가상계좌 결제 연동 방식: 입금 정보를 자동으로 받는 방식과 파일 대사 방식 중 확정 전입니다. 제안사 권장안과 각 방식의 공수 차이를 함께 제시해 주십시오
- 카드 결제 도입 여부와 허용 상한 금액
- 택배 송장번호 일괄 등록 기능: 주문번호와 송장번호 두 열로 된 파일을 올려 일괄 발송 처리하는 기능
[제약 사항 및 확인 필요]
- 물류사 주문번호는 담당자가 직접 입력하는 방식을 전제합니다. 자동 수신 여부는 확정되지 않았습니다
- 취소·환불 세부 정책은 확정 전입니다. 다음 주문 차감을 기본값으로 검토 중입니다
- 원천징수 절사 단위는 확인 중이며 상수 한 곳으로 분리해 두어야 합니다
- 대량이체 파일 규격은 확보 예정입니다
- 과거 데이터 이관 범위는 최소 90일, 가능하면 6개월입니다
- 기존에 개발된 매장용 간편발주 프로그램이 있습니다. 소스 검토 후 재사용, 일부 재사용, 신규 개발 중 권장안과 비용 영향을 제안해 주십시오
[클라이언트 준비 사항]
발주처가 아래를 제공합니다.
- 발주 기준본 전량과 검수 자동테스트
- 실제 ERP 출고파일 샘플과 과거 정산 자료
- 요구사항 확정과 검수에 참여할 담당자
- 기존 간편발주 프로그램 소스(비밀유지 확약 후)
[기술 스택]
- DB: PostgreSQL 16 이상. 금액은 정수 처리
- 백엔드: NestJS 또는 Spring Boot 중 제안사 선택
- 프런트엔드: React 또는 Vue, 반응형 웹
- 인프라: AWS 서울 리전, ECS Fargate와 RDS, S3
- 별도 캐시·큐 인프라는 도입하지 않습니다
[원하는 파트너]
- 정산·원장 시스템 구축 경험. 중복 처리 방지, 시점 스냅샷, 마감 불변성을 다뤄 본 이력
- 대량 파일 업로드와 사전검증 처리 경험
- 역할별 데이터 격리와 권한 설계 경험
- 확정된 명세와 프로토타입을 그대로 구현하는 방식에 동의하는 팀
평가에서 정산 구조 이해가 가장 큰 비중을 차지합니다
[제안 요청 사항]
- 견적은 정산, 주문, 결제·취소환불·크레딧 세 덩어리로 나누어 제시(통합 금액만 기재된 견적은 재작성 요청)
- 정산 단독 금액, 전체 통합 금액, 각각의 기간을 함께 기재
- 기능영역별 투입 공수 내역
- 첨부 제안요청서의 서술형 3문항 답변
- 유사 구축 실적
[예산과 기간]
- 예산: 4,000~5,000만 원
- 기간: 협의
- 착수 후 초기 검증 단계를 거쳐 본 개발로 이어집니다
[산출물]
- 소스코드 전체(발주처 소유 저장소)
- DB 마이그레이션 스크립트와 ERD
- API 문서
- 자동테스트 코드와 CI 설정
- 배포 매뉴얼, 운영자 매뉴얼
[계약 특이사항]
- 착수 후 7~10일 유료 선행 검증 단계 후 본계약
- 개발 중 4회 중간 검수를 발주처가 직접 조작해 진행
- 제안 시 명시하지 않은 항목은 첨부 기준본 전체를 수용한 것으로 봅니다.
[기타 사항]
- 업무 범위 및 비용 조정으로 다시 한번 지원자를 모집합니다.
- 예전 프로젝트 : https://www.wishket.com/project/157618/