{
  "name": "Grant expenditure report capture",
  "description": "Extract recipient name, grant reference, period start from expenditure report. 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": "recipient_name",
      "label": "Recipient Name",
      "type": "string",
      "required": false,
      "description": "Recipient name exactly as printed in this expenditure report. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "grant_reference",
      "label": "Grant Reference",
      "type": "string",
      "required": false,
      "description": "Grant reference exactly as printed in this expenditure report. 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": "expenditure_rows",
      "label": "Expenditure Rows",
      "type": "array",
      "required": false,
      "description": "Every visible expenditure rows row in this expenditure report. 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 expenditure report. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "cash_expenditure",
            "label": "Cash Expenditure",
            "type": "currency",
            "required": false,
            "description": "Cash expenditure explicitly labeled in this expenditure report. Preserve its sign and stated currency; do not calculate a missing amount."
          },
          {
            "key": "in_kind_amount",
            "label": "In Kind Amount",
            "type": "currency",
            "required": false,
            "description": "In kind amount explicitly labeled in this expenditure report. Preserve its sign and stated currency; do not calculate a missing amount."
          },
          {
            "key": "stated_total",
            "label": "Stated Total",
            "type": "currency",
            "required": false,
            "description": "Stated total explicitly labeled in this expenditure report. Preserve its sign and stated currency; do not calculate a missing amount."
          }
        ]
      }
    },
    {
      "key": "stated_total_spend",
      "label": "Stated Total Spend",
      "type": "currency",
      "required": false,
      "description": "Stated total spend explicitly labeled in this expenditure report. Preserve its sign and stated currency; do not calculate a missing amount."
    },
    {
      "key": "certification_text",
      "label": "Certification Text",
      "type": "string",
      "required": false,
      "description": "Certification wording printed in the source. Extraction does not confirm that it is accurate or legally sufficient."
    }
  ]
}