콘텐츠로 이동

add_subcontract_progress (외주 기성 추가)

외주 계약에 기성 데이터를 추가합니다.

기본 정보

항목
URL https://asia-northeast3-construction24-test.cloudfunctions.net/add_subcontract_progress
Method POST
인증 Firebase ID Token 필요
권한 해당 회사의 멤버

요청

Body

필드 타입 필수 설명 검증
token string O Firebase ID Token -
company_id string O 회사 ID -
site_id string O 현장 ID -
subcontract_id string O 외주 계약 ID -
title string O 기성 제목 최대 100자
billing_date string O 청구 일자 REGEX: YYYY-MM-DD
billing_amount number O 금회 청구액 -
deduction_amount number O 공제 금액 -

요청 예시

{
  "token": "eyJhbGci...",
  "company_id": "abc123",
  "site_id": "site456",
  "subcontract_id": "subcontract789",
  "title": "1차 기성",
  "billing_date": "2025-02-15",
  "billing_amount": 10000000,
  "deduction_amount": 500000
}

응답

성공 (200)

{
  "message": "외주 기성 추가 완료",
  "progress_id": "progress123"
}

저장되는 데이터

필드 설명
title 기성 제목
billing_date 청구 일자 (datetime)
billing_amount 금회 청구액
billing_tax 청구액 부가가치세 (자동 계산: billing_amount * vat_rate)
deduction_amount 공제 금액
deduction_tax 공제 부가가치세 (자동 계산: deduction_amount * vat_rate)
created_at 생성 시간
created_by 생성자 UID

부가가치세 자동 계산

billing_taxdeduction_tax는 상위 외주 계약의 vat_rate를 기반으로 자동 계산됩니다. 별도로 전달할 필요가 없습니다.

실패

에러 코드 message 원인
FINANCE_006 "존재하지 않는 외주 계약입니다." 외주 계약이 존재하지 않는 경우
PERMISSION_001 "회사 멤버가 아닙니다." 요청자가 해당 회사의 멤버가 아닌 경우
VALIDATION "billing_date의 형식이 올바르지 않습니다." 날짜 형식 오류

Firestore 경로

/companies/{company_id}/sites/{site_id}/subcontracts/{subcontract_id}/progress/{progress_id}