← API reference
CANONICAL TYPE REFERENCE

UpsertRecordedCostInput

Input for recording an actual cost incurred

ID for update; omit for create

Associated cost category ID (required)

Associated cost center ID

Cost rate to use (optional, derives unitRate if provided)

Related job ID

quantityFloat!

Quantity consumed (required)

Cost per unit (required unless costRateId provided)

Currency code (required)

Description or notes

Type of external reference

External reference ID

Date the cost was recorded (defaults to today)

View exact SDL
"""Input for recording an actual cost incurred"""
input UpsertRecordedCostInput {
  """ID for update; omit for create"""
  id: RecordedCostID
  """Associated cost category ID (required)"""
  costCategoryId: CostCategoryID!
  """Associated cost center ID"""
  costCenterId: CostCenterID
  """Cost rate to use (optional, derives unitRate if provided)"""
  costRateId: CostRateID
  """Related job ID"""
  jobId: JobID
  """Quantity consumed (required)"""
  quantity: Float!
  """Cost per unit (required unless costRateId provided)"""
  unitRate: Float
  """Currency code (required)"""
  currency: CurrencyISO!
  """Description or notes"""
  description: String
  """Type of external reference"""
  referenceType: String
  """External reference ID"""
  referenceId: String
  """Date the cost was recorded (defaults to today)"""
  recordedAt: ISO8601
}

One stable address across all schema views. Follow a field’s type to explore connections between domains.