{
 "no": 11,
 "version": "2026-10-08.1",
 "id": "RC-011",
 "role": "부가세 신고 준비 담당",
 "task": "부가세 신고를 뭘 준비해야 할지 모르겠어요",
 "deliverables": [
  "신고 일정",
  "자료 체크리스트",
  "매출·매입 정리표"
 ],
 "tier": "processor",
 "tierLabel": "역할 전용 계산(서버 실행)",
 "processorTitle": "부가세 신고 준비 집계·대사",
 "slots": [
  {
   "key": "d1",
   "name": "매출 내역",
   "required": true,
   "fields": [
    {
     "header": "증빙번호",
     "type": "id",
     "required": true,
     "rule": "식별자: 비어 있지 않은 값"
    },
    {
     "header": "거래일",
     "type": "date",
     "required": true,
     "soft": true,
     "rule": "날짜 YYYY-MM-DD"
    },
    {
     "header": "거래처",
     "type": "text",
     "required": true,
     "rule": "글자"
    },
    {
     "header": "공급가액",
     "type": "money",
     "required": true,
     "soft": true,
     "rule": "금액: 숫자(쉼표·\"원\" 허용), 통화는 별도 열"
    },
    {
     "header": "세액",
     "type": "money",
     "required": true,
     "soft": true,
     "rule": "금액: 숫자(쉼표·\"원\" 허용), 통화는 별도 열"
    },
    {
     "header": "통화",
     "type": "text",
     "required": true,
     "rule": "글자"
    },
    {
     "header": "증빙 유형",
     "type": "enum",
     "required": true,
     "values": [
      "세금계산서",
      "카드",
      "현금영수증"
     ],
     "rule": "허용 값 중 하나: 세금계산서, 카드, 현금영수증"
    },
    {
     "header": "과세 구분",
     "type": "enum",
     "required": true,
     "values": [
      "과세",
      "영세",
      "면세"
     ],
     "rule": "허용 값 중 하나: 과세, 영세, 면세"
    }
   ],
   "primary": "증빙번호",
   "dupPolicy": "warn",
   "purpose": "핵심 데이터"
  },
  {
   "key": "d2",
   "name": "매입 내역",
   "required": true,
   "fields": [
    {
     "header": "증빙번호",
     "type": "id",
     "required": true,
     "rule": "식별자: 비어 있지 않은 값"
    },
    {
     "header": "거래일",
     "type": "date",
     "required": true,
     "soft": true,
     "rule": "날짜 YYYY-MM-DD"
    },
    {
     "header": "거래처",
     "type": "text",
     "required": true,
     "rule": "글자"
    },
    {
     "header": "공급가액",
     "type": "money",
     "required": true,
     "soft": true,
     "rule": "금액: 숫자(쉼표·\"원\" 허용), 통화는 별도 열"
    },
    {
     "header": "세액",
     "type": "money",
     "required": true,
     "soft": true,
     "rule": "금액: 숫자(쉼표·\"원\" 허용), 통화는 별도 열"
    },
    {
     "header": "통화",
     "type": "text",
     "required": true,
     "rule": "글자"
    },
    {
     "header": "증빙 유형",
     "type": "enum",
     "required": true,
     "values": [
      "세금계산서",
      "카드",
      "현금영수증"
     ],
     "rule": "허용 값 중 하나: 세금계산서, 카드, 현금영수증"
    },
    {
     "header": "공제 여부",
     "type": "bool",
     "required": true,
     "rule": "예/아니오"
    },
    {
     "header": "계정",
     "type": "text",
     "required": true,
     "rule": "글자"
    }
   ],
   "primary": "증빙번호",
   "dupPolicy": "warn",
   "purpose": "보조 데이터(연결하면 관계·근거가 늘어남)"
  },
  {
   "key": "d3",
   "name": "증빙 원천 합계",
   "required": false,
   "fields": [
    {
     "header": "원천",
     "type": "text",
     "required": true,
     "rule": "글자"
    },
    {
     "header": "구분",
     "type": "enum",
     "required": true,
     "values": [
      "매출",
      "매입"
     ],
     "rule": "허용 값 중 하나: 매출, 매입"
    },
    {
     "header": "증빙 유형",
     "type": "enum",
     "required": true,
     "values": [
      "세금계산서",
      "카드",
      "현금영수증"
     ],
     "rule": "허용 값 중 하나: 세금계산서, 카드, 현금영수증"
    },
    {
     "header": "조회 시작일",
     "type": "date",
     "required": true,
     "rule": "날짜 YYYY-MM-DD"
    },
    {
     "header": "조회 종료일",
     "type": "date",
     "required": true,
     "rule": "날짜 YYYY-MM-DD"
    },
    {
     "header": "내보낸 일시",
     "type": "datetime",
     "required": true,
     "rule": "일시 YYYY-MM-DD HH:mm"
    },
    {
     "header": "공급가액 합계",
     "type": "money",
     "required": true,
     "rule": "금액: 숫자(쉼표·\"원\" 허용), 통화는 별도 열"
    },
    {
     "header": "세액 합계",
     "type": "money",
     "required": true,
     "rule": "금액: 숫자(쉼표·\"원\" 허용), 통화는 별도 열"
    }
   ],
   "primary": null,
   "dupPolicy": "block",
   "purpose": "보조 데이터(연결하면 관계·근거가 늘어남)"
  }
 ],
 "relationships": [],
 "params": [
  {
   "key": "period_start",
   "label": "과세 기간 시작일",
   "type": "date",
   "required": true,
   "description": "집계 기간 시작(YYYY-MM-DD)"
  },
  {
   "key": "period_end",
   "label": "과세 기간 종료일",
   "type": "date",
   "required": true,
   "description": "집계 기간 끝(YYYY-MM-DD)"
  },
  {
   "key": "currency",
   "label": "집계 통화",
   "type": "text",
   "required": false,
   "default": "KRW",
   "description": "이 통화의 행만 합산합니다. 다른 통화는 환산하지 않고 제외해 표시합니다."
  }
 ],
 "inputs": [
  {
   "key": "situation",
   "label": "상황 설명",
   "required": false
  },
  {
   "key": "material",
   "label": "붙여넣을 자료",
   "required": false
  }
 ],
 "checks": {
  "server": [
   "기간 밖·통화 다름·숫자 아님 행은 합산하지 않고 제외 목록으로",
   "같은 증빙번호 중복(같은 내용 1건 반영, 다른 내용은 모두 제외)",
   "과세 행 세액 ≠ 공급가액×10%이면 확인 표시(판정 아님)",
   "매출: 증빙 유형×과세 구분별 건수·공급가액·세액",
   "매입: 증빙 유형×공제 여부별 합계, 불공제 후보",
   "원천 합계(홈택스·카드사 내보내기)와 장부 합계 대사·차이"
  ],
  "client": [
   "차이 원인 확인 메모",
   "세무사 전달용 요약"
  ],
  "professional": [
   "세율·공제·신고 세액 확정(세무사)",
   "신고 제출(사용자)"
  ]
 },
 "outputs": [
  {
   "key": "totals_review",
   "label": "기간별 매출·매입 집계표(원천 대사 결과)",
   "kind": "table",
   "columns": [
    "구분",
    "증빙 유형",
    "검토 의견"
   ],
   "min": 1,
   "evidence": "required"
  },
  {
   "key": "issues",
   "label": "증빙 누락·불일치 목록",
   "kind": "table",
   "columns": [
    "증빙번호",
    "문제",
    "조치"
   ],
   "min": 1,
   "evidence": "required",
   "ref": {
    "column": "증빙번호",
    "set": "voucher"
   }
  }
 ],
 "acceptance": [
  "판단 기준 반영: 과세 기간·과세 유형",
  "판단 기준 반영: 원천 합계와 장부 합계 차이",
  "판단 기준 반영: 불공제 후보(접대비·비영업용 등)",
  "신고 기한은 [법정 기한 확인 필요]로 두고 사용자가 확인한 날짜만 기입",
  "세율과 공제율은 [세율: 최신 고시 확인]으로 표시하고 계산하지 않음",
  "임차료처럼 세금계산서 수취 여부가 불확실한 매입은 별도 표시",
  "모든 결과 항목에 근거 source_id(이 작업의 스냅샷 안) 표시",
  "확인 필요 사항과 다음 행동을 분리"
 ],
 "handoff": {
  "reviewer": "세무사",
  "note": "세무사 검토 전까지 초안입니다. Recrua와 AI는 전문가 승인을 하지 않습니다."
 },
 "followup": [
  {
   "id": "review",
   "label": "제외·차이 목록 검토",
   "owner": "요청자"
  },
  {
   "id": "fix",
   "label": "장부 수정·원천 재내보내기",
   "owner": "요청자"
  },
  {
   "id": "accountant",
   "label": "세무사 전달",
   "owner": "요청자"
  }
 ],
 "sampleNotice": "예시 데이터입니다. 실존하는 사람·회사·거래가 아니며 체험과 형식 확인용입니다.",
 "sample_params": {
  "period_start": "2026-07-01",
  "period_end": "2026-09-30",
  "currency": "KRW"
 }
}
