{
  "name": "Business profit and loss spreading inputs",
  "description": "Extract business name, period start, period end from p&l. 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": "business_name",
      "label": "Business Name",
      "type": "string",
      "required": false,
      "description": "Business name exactly as printed in this p&l. 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": "revenue_rows",
      "label": "Revenue Rows",
      "type": "array",
      "required": false,
      "description": "Every visible revenue rows row in this p&l. Preserve separate rows, labels and qualifiers; do not merge entries or reconstruct missing ones.",
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "category",
            "label": "Category",
            "type": "string",
            "required": false,
            "description": "Category exactly as printed in this p&l. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "period_label",
            "label": "Period Label",
            "type": "string",
            "required": false,
            "description": "Period label exactly as printed in this p&l. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "description",
            "label": "Description",
            "type": "string",
            "required": false,
            "description": "Description exactly as printed in this p&l. 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 p&l. Preserve its sign and stated currency; do not calculate a missing amount."
          }
        ]
      }
    },
    {
      "key": "expense_rows",
      "label": "Expense Rows",
      "type": "array",
      "required": false,
      "description": "Every visible expense rows row in this p&l. Preserve separate rows, labels and qualifiers; do not merge entries or reconstruct missing ones.",
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "category",
            "label": "Category",
            "type": "string",
            "required": false,
            "description": "Category exactly as printed in this p&l. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "period_label",
            "label": "Period Label",
            "type": "string",
            "required": false,
            "description": "Period label exactly as printed in this p&l. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "description",
            "label": "Description",
            "type": "string",
            "required": false,
            "description": "Description exactly as printed in this p&l. 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 p&l. Preserve its sign and stated currency; do not calculate a missing amount."
          }
        ]
      }
    },
    {
      "key": "stated_revenue",
      "label": "Stated Revenue",
      "type": "currency",
      "required": false,
      "description": "Stated revenue explicitly labeled in this p&l. Preserve its sign and stated currency; do not calculate a missing amount."
    },
    {
      "key": "stated_expenses",
      "label": "Stated Expenses",
      "type": "currency",
      "required": false,
      "description": "Stated expenses explicitly labeled in this p&l. 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."
    }
  ]
}