[
  {
    "label": "Account Code", 
    "type_id": 1, 
    "required": true, 
    "field_name": "code", 
    "data_column": "code", 
    "order_index": 1,
    "validation": {
      "pattern": "^[0-9]{4,6}$",
      "message": "Account code must be 4-6 digits"
    }
  },
  {
    "label": "Account Name", 
    "type_id": 1, 
    "required": true, 
    "field_name": "name", 
    "data_column": "name", 
    "order_index": 2
  },
  {
    "label": "Account Type", 
    "type_id": 4, 
    "required": true, 
    "field_name": "account_type", 
    "data_column": "account_type", 
    "order_index": 3,
    "options": [
      {"value": "asset", "label": "Asset"},
      {"value": "liability", "label": "Liability"},
      {"value": "equity", "label": "Equity"},
      {"value": "revenue", "label": "Revenue"},
      {"value": "expense", "label": "Expense"}
    ]
  },
  {
    "label": "Parent Account", 
    "type_id": 4, 
    "required": false, 
    "field_name": "parent_id", 
    "data_column": "parent_id", 
    "order_index": 4,
    "options": {
      "source": "/api/finance/accounts/hierarchy",
      "value_field": "id",
      "label_field": "name_with_code",
      "allow_empty": true
    }
  },
  {
    "label": "Description", 
    "type_id": 7, 
    "required": false, 
    "field_name": "description", 
    "data_column": "description", 
    "order_index": 5
  },
  {
    "label": "Active", 
    "type_id": 5, 
    "required": false, 
    "field_name": "is_active", 
    "data_column": "is_active", 
    "order_index": 6,
    "default_value": true
  }
]