{
  "name": "Commercial property T12 intake",
  "description": "Extract property name, period start, period end from trailing twelve-month statement. Start with an editable schema, inspect JSON and review exceptions before your system handoff.",
  "prompt_additions": "Extract only information explicitly present in this document. Do not infer missing values, verify authenticity, make business decisions, or compare other documents. Preserve identifiers as strings. Return amounts as numbers and dates as YYYY-MM-DD. Review and set required fields for your process before using this schema in production.",
  "fields": [
    {
      "key": "property_name",
      "label": "Property Name",
      "type": "string",
      "required": false,
      "description": "Property name exactly as printed in this trailing twelve-month statement. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "period_start",
      "label": "Period Start",
      "type": "date",
      "required": false,
      "description": "Opening date printed for the reporting period, separate from the issue date."
    },
    {
      "key": "period_end",
      "label": "Period End",
      "type": "date",
      "required": false,
      "description": "Closing date printed for the reporting period, separate from payment or posting dates."
    },
    {
      "key": "monthly_income_rows",
      "label": "Monthly Income Rows",
      "type": "array",
      "required": false,
      "description": "Every visible monthly income rows row in this trailing twelve-month statement. Preserve separate rows, labels and qualifiers; do not merge entries or reconstruct missing ones.",
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "month_label",
            "label": "Month Label",
            "type": "string",
            "required": false,
            "description": "Month label exactly as printed in this trailing twelve-month statement. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "category",
            "label": "Category",
            "type": "string",
            "required": false,
            "description": "Category exactly as printed in this trailing twelve-month statement. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "amount",
            "label": "Amount",
            "type": "currency",
            "required": false,
            "description": "Amount explicitly labeled in this trailing twelve-month statement. Preserve its sign and stated currency; do not calculate a missing amount."
          }
        ]
      }
    },
    {
      "key": "monthly_expense_rows",
      "label": "Monthly Expense Rows",
      "type": "array",
      "required": false,
      "description": "Every visible monthly expense rows row in this trailing twelve-month statement. Preserve separate rows, labels and qualifiers; do not merge entries or reconstruct missing ones.",
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "month_label",
            "label": "Month Label",
            "type": "string",
            "required": false,
            "description": "Month label exactly as printed in this trailing twelve-month statement. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "category",
            "label": "Category",
            "type": "string",
            "required": false,
            "description": "Category exactly as printed in this trailing twelve-month statement. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "amount",
            "label": "Amount",
            "type": "currency",
            "required": false,
            "description": "Amount explicitly labeled in this trailing twelve-month statement. Preserve its sign and stated currency; do not calculate a missing amount."
          }
        ]
      }
    },
    {
      "key": "stated_net_income",
      "label": "Stated Net Income",
      "type": "currency",
      "required": false,
      "description": "Net income as printed for this period; do not calculate underwriting income or adjusted NOI."
    }
  ]
}