콘텐츠로 이동

add_subcontract (외주 계약 추가)

새로운 외주 계약을 등록합니다.

기본 정보

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

요청

Body

필드 타입 필수 설명 검증
token string O Firebase ID Token -
company_id string O 회사 ID -
site_id string O 현장 ID -
subcontract_name string O 외주명 -
contractor string O 시공사 -
start_date string O 공사 시작일 REGEX: YYYY-MM-DD
end_date string O 공사 종료일 REGEX: YYYY-MM-DD
supply_amount number O 공급가액 (세금 미포함) -
vat_rate number - 부가가치세율 기본값: 0.1 (10%)
memo string - 메모 -

요청 예시

{
  "token": "eyJhbGci...",
  "company_id": "abc123",
  "site_id": "site456",
  "subcontract_name": "철근 콘크리트 공사",
  "contractor": "(주)대한건설",
  "start_date": "2025-01-15",
  "end_date": "2025-03-31",
  "supply_amount": 50000000,
  "vat_rate": 0.1,
  "memo": "1차 외주 계약"
}

응답

성공 (200)

{
  "message": "외주 계약 추가 완료",
  "subcontract_id": "subcontract789"
}

저장되는 데이터

필드 설명
subcontract_name 외주명
contractor 시공사
start_date 공사 시작일 (datetime)
end_date 공사 종료일 (datetime)
supply_amount 공급가액
vat_rate 부가가치세율
tax 세금 (supply_amount × vat_rate, 자동 계산)
memo 메모
created_at 생성 시간
created_by 생성자 UID

실패

코드 message 원인
500 "해당 회사의 멤버가 아닙니다." 요청자가 해당 회사의 멤버가 아닌 경우
500 "공급가액은 숫자여야 합니다." supply_amount가 숫자가 아닌 경우
500 "부가가치세율은 숫자여야 합니다." vat_rate가 숫자가 아닌 경우
500 "start_date의 형식이 올바르지 않습니다." 날짜 형식 오류

Firestore 경로

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

참고

  • 세금(tax)은 서버에서 자동 계산됩니다: supply_amount × vat_rate
  • vat_rate 미입력 시 기본값 0.1 (10%) 적용