{
  "name": "Payroll register journal preparation",
  "description": "Extract employer name, pay period start, pay period end from payroll register. 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": "employer_name",
      "label": "Employer Name",
      "type": "string",
      "required": false,
      "description": "Employer name exactly as printed in this payroll register. Preserve identifiers and qualifiers; do not look up or infer missing information."
    },
    {
      "key": "pay_period_start",
      "label": "Pay Period Start",
      "type": "date",
      "required": false,
      "description": "Pay period start explicitly printed in this payroll register. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "pay_period_end",
      "label": "Pay Period End",
      "type": "date",
      "required": false,
      "description": "Pay period end explicitly printed in this payroll register. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "pay_date",
      "label": "Pay Date",
      "type": "date",
      "required": false,
      "description": "Pay date explicitly printed in this payroll register. Keep it distinct from other dates; leave it empty if no calendar date is stated."
    },
    {
      "key": "payroll_rows",
      "label": "Payroll Rows",
      "type": "array",
      "required": false,
      "description": "Every visible payroll rows row in this payroll register. Preserve separate rows, labels and qualifiers; do not merge entries or reconstruct missing ones.",
      "items": {
        "type": "object",
        "fields": [
          {
            "key": "employee_reference",
            "label": "Employee Reference",
            "type": "string",
            "required": false,
            "description": "Employee reference exactly as printed in this payroll register. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "department",
            "label": "Department",
            "type": "string",
            "required": false,
            "description": "Department exactly as printed in this payroll register. Preserve identifiers and qualifiers; do not look up or infer missing information."
          },
          {
            "key": "gross_wages",
            "label": "Gross Wages",
            "type": "currency",
            "required": false,
            "description": "Gross wages explicitly labeled in this payroll register. Preserve its sign and stated currency; do not calculate a missing amount."
          },
          {
            "key": "employee_deductions",
            "label": "Employee Deductions",
            "type": "currency",
            "required": false,
            "description": "Employee deductions explicitly labeled in this payroll register. Preserve its sign and stated currency; do not calculate a missing amount."
          },
          {
            "key": "employer_tax",
            "label": "Employer Tax",
            "type": "currency",
            "required": false,
            "description": "Employer tax explicitly labeled in this payroll register. Preserve its sign and stated currency; do not calculate a missing amount."
          },
          {
            "key": "net_pay",
            "label": "Net Pay",
            "type": "currency",
            "required": false,
            "description": "Net pay explicitly labeled in this payroll register. Preserve its sign and stated currency; do not calculate a missing amount."
          }
        ]
      }
    },
    {
      "key": "gross_pay",
      "label": "Gross Pay",
      "type": "currency",
      "required": false,
      "description": "Gross pay explicitly labeled in this payroll register. Preserve its sign and stated currency; do not calculate a missing amount."
    },
    {
      "key": "total_deductions",
      "label": "Total Deductions",
      "type": "currency",
      "required": false,
      "description": "Total deductions explicitly labeled in this payroll register. Preserve its sign and stated currency; do not calculate a missing amount."
    },
    {
      "key": "net_pay",
      "label": "Net Pay",
      "type": "currency",
      "required": false,
      "description": "Net pay explicitly labeled in this payroll register. Preserve its sign and stated currency; do not calculate a missing amount."
    }
  ]
}