{
  "name": "Receivables aging collection preparation",
  "description": "Extract report date, customer name, customer reference from ar aging. 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": "report_date",
      "label": "Report Date",
      "type": "date",
      "required": false,
      "description": "Report date explicitly printed in this ar aging. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "customer_name",
      "label": "Customer Name",
      "type": "string",
      "required": false,
      "description": "Customer name exactly as printed in this ar aging. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "customer_reference",
      "label": "Customer Reference",
      "type": "string",
      "required": false,
      "description": "Customer reference exactly as printed in this ar aging. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "invoice_rows",
      "label": "Invoice Rows",
      "type": "array",
      "required": false,
      "description": "Every visible invoice rows row in this ar aging. Preserve separate rows, labels and qualifiers; do not merge entries or reconstruct missing ones.",
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "customer_name",
            "label": "Customer Name",
            "type": "string",
            "required": false,
            "description": "Customer name exactly as printed in this ar aging. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "invoice_reference",
            "label": "Invoice Reference",
            "type": "string",
            "required": false,
            "description": "Invoice reference exactly as printed in this ar aging. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "invoice_date",
            "label": "Invoice Date",
            "type": "date",
            "required": false,
            "description": "Invoice date explicitly printed in this ar aging. Keep it distinct from other dates; leave it empty if no calendar date is stated."
          },
          {
            "key": "due_date",
            "label": "Due Date",
            "type": "date",
            "required": false,
            "description": "Due date explicitly printed in this ar aging. Keep it distinct from other dates; leave it empty if no calendar date is stated."
          },
          {
            "key": "open_amount",
            "label": "Open Amount",
            "type": "currency",
            "required": false,
            "description": "Open amount explicitly labeled in this ar aging. Preserve its sign and stated currency; do not calculate a missing amount."
          },
          {
            "key": "aging_bucket",
            "label": "Aging Bucket",
            "type": "string",
            "required": false,
            "description": "Aging bucket exactly as printed in this ar aging. Preserve identifiers and qualifiers; do not look up or infer missing information."
          }
        ]
      }
    },
    {
      "key": "stated_open_balance",
      "label": "Stated Open Balance",
      "type": "currency",
      "required": false,
      "description": "Stated open balance explicitly labeled in this ar aging. Preserve its sign and stated currency; do not calculate a missing amount."
    }
  ]
}