{
  "name": "amex_settlement",
  "display_name": "AMEX Settlement Statement",
  "source_role": "processor",
  "file_format": "csv",
  "fields": [
    {
      "canonical": "amount",
      "aliases": ["Charge_Amount", "Charge Amount", "Amount", "Transaction Amount"],
      "dtype": "number",
      "normalize": [{ "step": "strip_chars", "chars": [",", "₹"] }, { "step": "to_number" }]
    },
    {
      "canonical": "approval_code",
      "aliases": ["Approval Code", "Auth Code", "APPROVAL CODE"],
      "required": false,
      "normalize": [{ "step": "trim" }, { "step": "lpad", "length": 6, "fill": "0" }]
    },
    {
      "canonical": "card_last4",
      "aliases": ["card_number", "Card Number"],
      "required": false,
      "normalize": [{ "step": "trim" }, { "step": "last4" }]
    },
    {
      "canonical": "terminal_id",
      "aliases": ["Terminal_ID_Amex", "Terminal ID", "TID"],
      "required": false,
      "normalize": [{ "step": "trim" }, { "step": "upper" }]
    },
    {
      "canonical": "reference",
      "aliases": ["Reference", "Transaction ID", "REF NO"],
      "required": false,
      "normalize": [{ "step": "trim" }]
    },
    {
      "canonical": "txn_date",
      "aliases": ["Charge Date", "Date"],
      "required": false,
      "dtype": "date",
      "normalize": [{ "step": "date_parse", "formats": ["%d/%m/%Y", "%d-%m-%Y", "%Y-%m-%d"] }]
    }
  ]
}
