# 비즈니스 리포트 양식 구성 TODO > **최초 작성**: 2026-03-09 > **목적**: ERP 업무 단계별 필요 리포트 양식 정의 및 구현 추적 > **연결 시스템**: 리포트 디자이너 (`/admin/screenMng/reportList/designer/:reportId`) + `report_menu_mapping` 메뉴 연결 --- ## 개요 리포트는 업무 플로우의 특정 단계가 아니라, **각 단계에서 생성된 데이터를 문서로 출력하는 횡단 기능**이다. 리포트 디자이너에서 양식을 설계하고, `report_menu_mapping`으로 해당 업무 메뉴에 연결하면, 사용자가 업무 화면에서 `v2-report-viewer`를 통해 리포트를 조회/인쇄/PDF 다운로드할 수 있다. ``` 업무 화면 (메뉴) → v2-report-viewer → report_menu_mapping → report_master → 리포트 렌더링 → PDF/인쇄 ``` --- ## 구현 전제 조건 | 조건 | 상태 | 비고 | |------|------|------| | 리포트 디자이너 (Phase 1~6) | ✅ 완료 | 양식 설계 가능 | | v2-report-viewer 컴포넌트 | ✅ 완료 | 화면에 배치 가능 | | report_menu_mapping 테이블 | ✅ 완료 | 메뉴 연결 가능 | | PDF 렌더링/다운로드 | ✅ 완료 | 미리보기 + PDF 출력 | | 비주얼 쿼리 빌더 (Phase 6) | ✅ 완료 | 데이터 소스 연결 가능 | | 카드 컴포넌트 고도화 (Phase 7) | 🔄 진행 중 | 카드형 리포트 양식에 필요 | --- ## 단계별 리포트 양식 TODO ### 1. 견적관리 | 항목 | 내용 | |------|------| | 리포트명 | 견적서 | | 용도 | 고객에게 견적서 발송 (PDF 출력/이메일 첨부) | | 데이터 소스 | `quote_header` + `quote_items` | | 연결 메뉴 | 견적관리 | | 양식 구성 | 회사 로고, 견적번호, 견적일, 유효기간, 거래처 정보, 품목 테이블 (품목코드/품명/규격/수량/단가/금액), 합계, 비고 | | 선행 조건 | ❌ `quote_header`, `quote_items` 테이블 미생성 → 견적관리 화면 구현 후 작업 | | 상태 | ⬜ 대기 | --- ### 2. 수주관리 | 항목 | 내용 | |------|------| | 리포트명 | 수주 확인서 | | 용도 | 수주 내역 확인/인쇄 (고객 또는 내부 확인용) | | 데이터 소스 | `sales_order_mng` JOIN `customer_mng` JOIN `item_info` | | 연결 메뉴 | 수주관리 (Screen 156) | | 양식 구성 | 회사 로고, 수주번호, 수주일, 납기일, 거래처 정보, 품목 테이블 (품목코드/품명/규격/수량/단가/금액), 합계, 담당자 | | 선행 조건 | ✅ `sales_order_mng` 테이블 존재 | | 상태 | ⬜ 대기 | | 항목 | 내용 | |------|------| | 리포트명 | 수주 현황표 | | 용도 | 기간별/거래처별 수주 현황 집계 | | 데이터 소스 | `sales_order_mng` (GROUP BY 거래처/기간) | | 연결 메뉴 | 수주관리 (Screen 156) | | 양식 구성 | 조회 기간, 거래처별 수주 건수/금액 집계 테이블, 합계 | | 선행 조건 | ✅ `sales_order_mng` 테이블 존재 | | 상태 | ⬜ 대기 | --- ### 3. 생산계획 | 항목 | 내용 | |------|------| | 리포트명 | 생산계획 현황표 | | 용도 | 계획 대비 실적 비교, 생산 일정 공유 | | 데이터 소스 | `production_plan_mng` JOIN `item_info` | | 연결 메뉴 | 생산계획관리 | | 양식 구성 | 조회 기간, 품목별 계획수량/실적수량/달성률 테이블, 설비별 가동 현황, 합계 | | 선행 조건 | ✅ `production_plan_mng` 테이블 존재 (범용 API 사용) | | 상태 | ⬜ 대기 | --- ### 4. 작업지시 | 항목 | 내용 | |------|------| | 리포트명 | 작업지시서 | | 용도 | 현장에 작업지시서 인쇄/배포 | | 데이터 소스 | `work_order_mng` JOIN `work_order_material` JOIN `item_info` | | 연결 메뉴 | 작업지시 | | 양식 구성 | 작업지시번호, 작업일, 품목 정보, 지시수량, 공정명, 투입 자재 테이블 (자재코드/자재명/소요량/단위), 작업자, 비고 | | 선행 조건 | ❌ `work_order_mng`, `work_order_material` 테이블 미생성 → 작업지시 화면 구현 후 작업 | | 상태 | ⬜ 대기 | --- ### 5. 발주관리 | 항목 | 내용 | |------|------| | 리포트명 | 발주서 | | 용도 | 공급업체에 발주서 발송 (PDF 출력/이메일 첨부) | | 데이터 소스 | `purchase_order` JOIN `supplier_mng` | | 연결 메뉴 | 발주관리 (Screen 1244) | | 양식 구성 | 회사 로고, 발주번호, 발주일, 납기일, 공급업체 정보, 품목 테이블 (품목코드/품명/규격/수량/단가/금액), 합계, 담당자 | | 선행 조건 | ✅ `purchase_order` 테이블 존재 | | 상태 | ⬜ 대기 | --- ### 6. 품질검사 | 항목 | 내용 | |------|------| | 리포트명 | 검사 성적서 | | 용도 | 검사 결과 문서화 (고객 제출용/내부 보관용) | | 데이터 소스 | `inspection` JOIN `item_info` | | 연결 메뉴 | 검사정보관리 (Screen 1616) | | 양식 구성 | 검사번호, 검사일, 검사유형(수입/공정/출하), 품목 정보, LOT번호, 검사수량, 합격수량, 불량수량, 판정결과, 검사자, 비고 | | 선행 조건 | ✅ `inspection` 테이블 존재 | | 상태 | ⬜ 대기 | --- ### 7. 출고관리 | 항목 | 내용 | |------|------| | 리포트명 | 출하명세서 | | 용도 | 고객에게 출하 내역 전달 | | 데이터 소스 | `shipment_header` JOIN `shipment_detail` JOIN `customer_mng` | | 연결 메뉴 | 출고관리 (Screen 2296) | | 양식 구성 | 회사 로고, 출하번호, 출하일, 거래처 정보, 품목 테이블 (품목코드/품명/규격/수량/단위), 합계, 비고 | | 선행 조건 | ✅ `shipment_header`, `shipment_detail` 테이블 존재 | | 상태 | ⬜ 대기 | | 항목 | 내용 | |------|------| | 리포트명 | 거래명세서 | | 용도 | 거래 내역 증빙 (세금계산서 보조) | | 데이터 소스 | `shipment_header` JOIN `shipment_detail` JOIN `customer_mng` | | 연결 메뉴 | 출고관리 (Screen 2296) | | 양식 구성 | 공급자/공급받는자 정보, 거래일, 품목 테이블 (품명/규격/수량/단가/공급가액/세액), 합계 | | 선행 조건 | ✅ `shipment_header`, `shipment_detail` 테이블 존재 | | 상태 | ⬜ 대기 | --- ### 8. 세금계산서 | 항목 | 내용 | |------|------| | 리포트명 | 세금계산서 출력 | | 용도 | 법적 증빙 문서 출력 | | 데이터 소스 | `tax_invoice` JOIN `tax_invoice_item` | | 연결 메뉴 | 세금계산서 관리 | | 양식 구성 | 국세청 표준 양식 준수. 공급자/공급받는자 사업자정보, 작성일, 품목 테이블 (월일/품목/규격/수량/단가/공급가액/세액), 합계, 비고 | | 선행 조건 | ✅ `tax_invoice`, `tax_invoice_item` 테이블 존재 + 전용 API 구현 완료 | | 상태 | ⬜ 대기 | --- ## 우선순위 정리 ### 즉시 착수 가능 (테이블 + API 준비 완료) | 순위 | 리포트 | 연결 메뉴 | 사유 | |------|--------|----------|------| | 1 | 수주 확인서 | 수주관리 (Screen 156) | 가장 기본적인 영업 문서, 테이블 존재 | | 2 | 발주서 | 발주관리 (Screen 1244) | 구매 업무 필수 문서, 테이블 존재 | | 3 | 검사 성적서 | 검사정보관리 (Screen 1616) | 품질 증빙 문서, 테이블 존재 | | 4 | 출하명세서 | 출고관리 (Screen 2296) | 출하 업무 필수 문서, 테이블 존재 | | 5 | 거래명세서 | 출고관리 (Screen 2296) | 거래 증빙, 출하명세서와 데이터 소스 동일 | | 6 | 수주 현황표 | 수주관리 (Screen 156) | 집계형 리포트, 수주 확인서와 데이터 소스 동일 | | 7 | 세금계산서 출력 | 세금계산서 관리 | 전용 API 존재, 국세청 양식 준수 필요 | | 8 | 생산계획 현황표 | 생산계획관리 | 테이블 존재, 집계형 리포트 | ### 선행 작업 필요 (테이블 미생성) | 순위 | 리포트 | 선행 작업 | |------|--------|----------| | 9 | 견적서 | `quote_header`, `quote_items` 테이블 생성 + 견적관리 화면 구현 | | 10 | 작업지시서 | `work_order_mng`, `work_order_material` 테이블 생성 + 작업지시 화면 구현 | --- ## 공통 양식 요소 모든 리포트에 공통으로 포함되는 요소: | 요소 | 위치 | 내용 | |------|------|------| | 회사 로고 | 좌측 상단 | `company_mng.logo_url` | | 회사 정보 | 우측 상단 | 회사명, 사업자번호, 대표자, 주소, 연락처 | | 문서 번호 | 헤더 | 각 문서별 자동채번 | | 발행일 | 헤더 | 출력 시점 또는 문서 작성일 | | 페이지 번호 | 푸터 | "N / 전체" 형식 | | 인쇄일시 | 푸터 | 출력 시점 타임스탬프 | --- ## 참고 문서 | 문서 | 경로 | 내용 | |------|------|------| | 리포트 디자이너 계획서 | `reportdocs/PLAN.md` | Phase 1~11 디자이너 기능 고도화 | | 리포트 API | `backend-node/src/services/reportService.ts` | 리포트 CRUD + 메뉴 매핑 | | 리포트 뷰어 컴포넌트 | `frontend/lib/registry/components/v2-report-viewer/` | 화면 배치용 V2 컴포넌트 | | 리포트 디자이너 화면 | `frontend/app/(main)/admin/screenMng/reportList/designer/[reportId]/page.tsx` | 양식 설계 화면 | | 리포트 타입 정의 | `frontend/types/report.ts` | 리포트 관련 TypeScript 타입 |