{
  "type": "object",
  "additionalProperties": false,
  "required": ["profile_id", "supplier_key", "display_name", "status", "version", "invoice_type", "hints", "audit"],
  "properties": {
    "profile_id": {"type": "string", "pattern": "^sp_[a-f0-9]{32}$"},
    "supplier_key": {"type": "string", "pattern": "^[a-f0-9]{64}$"},
    "display_name": {"type": "string", "minLength": 1, "maxLength": 160},
    "status": {"enum": ["candidate", "active", "revoked"]},
    "version": {"type": "integer", "minimum": 1},
    "invoice_type": {"enum": ["pos", "corporate", "unknown"]},
    "hints": {
      "type": "object", "additionalProperties": false,
      "required": ["invoice_number_labels", "reference_labels", "item_columns", "notes"],
      "properties": {
        "invoice_number_labels": {"type": "array", "maxItems": 12, "items": {"type": "string", "maxLength": 60}},
        "reference_labels": {"type": "array", "maxItems": 12, "items": {"type": "string", "maxLength": 60}},
        "item_columns": {"type": "array", "maxItems": 12, "items": {"enum": ["product_code", "description", "quantity", "unit_price", "tax", "line_total"]}},
        "notes": {"type": "array", "maxItems": 12, "items": {"enum": ["prices_include_tax", "multi_line_descriptions", "discounts_as_negative_lines", "receipt_reference_not_invoice_number"]}}
      }
    },
    "audit": {
      "type": "object", "additionalProperties": false,
      "required": ["created_at", "updated_at", "created_from_invoice_id", "confirmed_by", "confirmed_at"],
      "properties": {
        "created_at": {"type": "string"}, "updated_at": {"type": "string"},
        "created_from_invoice_id": {"type": "string"},
        "confirmed_by": {"type": ["string", "null"]}, "confirmed_at": {"type": ["string", "null"]}
      }
    }
  }
}
