Specification for SchF
COL SEQ FIELD DESCRIPTION TYPE REQUIRED SAMPLE DATA VALUE REFERENCE RULE REFERENCE FIELD FORM ASSOCIATION VALIDATION RULES
1 FORM TYPE A/N-8 X (error) SF SF Appendix C
  • REQUIRED
  • type: string
  • min length: 1
  • max length: 8
  • regex: ^[ -~]{0,8}$
2 FILER COMMITTEE ID NUMBER A/N-9 X (error) C00123456
  • REQUIRED
  • type: string
  • min length: 1
  • max length: 9
  • regex: ^[ -~]{0,9}$
3 TRANSACTION ID NUMBER A/N-20 X (error) F123456789-3456 must be unique and UPPER CASE for the life of the report (original + all amendments)
  • REQUIRED
  • type: string
  • min length: 1
  • max length: 20
  • regex: ^[ -~]{0,20}$
4 BACK REFERENCE TRAN ID NUMBER A/N-20 F123456789-1234 F3 | F3X | F3P | F3L
  • type: ['string', 'null']
  • min length: 0
  • max length: 20
  • regex: ^[ -~]{0,20}$
5 BACK REFERENCE SCHED NAME A/N-8 SA11AI SA[line# ref] F3 | F3X | F3P | F3L
  • type: ['string', 'null']
  • min length: 0
  • max length: 8
  • regex: ^[ -~]{0,8}$
6 YES/NO (Has filer been designated to make Coordinated Expenditures?) A/N-1 Y Y,N Edit: Yes/No
  • type: ['boolean', 'null']
7 DESIGNATED COMMITTEE ID NUMBER A/N-9
  • type: string
  • min length: 1
  • max length: 9
  • regex: ^[ -~]{0,9}$
8 DESIGNATING COMMITTEE NAME A/N-200 X (warn if field #6=Y)
  • type: string
  • min length: 1
  • max length: 200
  • regex: ^[ -~]{0,200}$
9 SUBORDINATE COMMITTEE ID NUMBER A/N-9
  • type: string
  • min length: 1
  • max length: 9
  • regex: ^[ -~]{0,9}$
10 SUBORDINATE COMMITTEE NAME A/N-200
  • type: string
  • min length: 1
  • max length: 200
  • regex: ^[ -~]{0,200}$
11 SUBORDINATE STREET 1 A/N-34
  • type: ['string', 'null']
  • min length: 0
  • max length: 34
  • regex: ^[ -~]{0,34}$
12 SUBORDINATE STREET 2 A/N-34
  • type: ['string', 'null']
  • min length: 0
  • max length: 34
  • regex: ^[ -~]{0,34}$
13 SUBORDINATE CITY A/N-30
  • type: ['string', 'null']
  • min length: 0
  • max length: 30
  • regex: ^[ -~]{0,30}$
14 SUBORDINATE STATE A/N-2
  • type: ['string', 'null']
  • min length: 0
  • max length: 2
  • regex: ^[ -~]{0,2}$
15 SUBORDINATE ZIP A/N-9
  • type: ['string', 'null']
  • min length: 0
  • max length: 9
  • regex: ^[ -~]{0,9}$
16 ENTITY TYPE A/N-3
  • type: ['string', 'null']
  • min length: 0
  • max length: 3
  • regex: ^[ -~]{0,3}$
17 PAYEE ORGANIZATION NAME A/N-200 X (error) John Smith & Co. Required if NOT [IND|CAN]
  • REQUIRED
  • type: string
  • min length: 1
  • max length: 200
  • regex: ^[ -~]{0,200}$
18 PAYEE LAST NAME A/N-30 X (error) Smith Required if [IND|CAN]
  • REQUIRED
  • type: string
  • min length: 1
  • max length: 30
  • regex: ^[ -~]{0,30}$
19 PAYEE FIRST NAME A/N-20 X (error) John Required if [IND|CAN]
  • REQUIRED
  • type: string
  • min length: 1
  • max length: 20
  • regex: ^[ -~]{0,20}$
20 PAYEE MIDDLE NAME A/N-20 W Optional if [IND|CAN]
  • type: ['string', 'null']
  • min length: 0
  • max length: 20
  • regex: ^[ -~]{0,20}$
21 PAYEE PREFIX A/N-10 Dr Optional if [IND|CAN]
  • type: ['string', 'null']
  • min length: 0
  • max length: 10
  • regex: ^[ -~]{0,10}$
22 PAYEE SUFFIX A/N-10 Jr Optional if [IND|CAN]
  • type: ['string', 'null']
  • min length: 0
  • max length: 10
  • regex: ^[ -~]{0,10}$
23 PAYEE STREET 1 A/N-34 X (warning) Suite 16
  • type: ['string', 'null']
  • min length: 0
  • max length: 34
  • regex: ^[ -~]{0,34}$
24 PAYEE STREET 2 A/N-34 30 Oak Street
  • type: ['string', 'null']
  • min length: 0
  • max length: 34
  • regex: ^[ -~]{0,34}$
25 PAYEE CITY A/N-30 X (warning) Springfield
  • type: ['string', 'null']
  • min length: 0
  • max length: 30
  • regex: ^[ -~]{0,30}$
26 PAYEE STATE A/N-2 X (warning) MA
  • type: ['string', 'null']
  • min length: 0
  • max length: 2
  • regex: ^[ -~]{0,2}$
27 PAYEE ZIP A/N-9 X (warning) 10012
  • type: ['string', 'null']
  • min length: 0
  • max length: 9
  • regex: ^[ -~]{0,9}$
28 EXPENDITURE DATE NUM-8 X (error) 20120720 YYYYMMDD
  • REQUIRED
  • type: string
  • min length: 10
  • regex: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
29 EXPENDITURE AMOUNT AMT-12 X (error) 1500
  • REQUIRED
  • type: number
  • minimum: -99999999.99
  • maximum: 999999999.99
30 AGGREGATE GENERAL ELEC EXPENDED AMT-12 X (warning) 123456 Aggregate Gen Elec Amt Expended
  • type: number
  • minimum: -99999999.99
  • maximum: 999999999.99
31 EXPENDITURE PURPOSE DESCRIPTION A/N-100 X (warn if Aggreg > 0) Repay Loan A description is required if the Aggregate Expended for the General Election (field #30) is over $0.00
  • type: ['string', 'null']
  • min length: 0
  • max length: 100
  • regex: ^[ -~]{0,100}$
32 CATEGORY CODE A/N-3 001 001-012 Category Code values 001-012 F3 | F3X | F3P
  • type: ['string', 'null']
  • min length: 0
  • max length: 3
  • regex: ^[ -~]{0,3}$
33 PAYEE COMMITTEE ID NUMBER A/N-9 C00654323 Used if CCM, COM, PAC or PTY
  • type: string
  • min length: 0
  • max length: 9
  • regex: ^[ -~]{0,9}$
34 PAYEE CANDIDATE ID NUMBER A/N-9 H98765431 Used if CAN or CCM
  • type: string
  • min length: 0
  • max length: 9
  • regex: ^[ -~]{0,9}$
35 PAYEE CANDIDATE LAST NAME A/N-30 X (error) Smith If either Last or First name coded; both Last & First names required.
  • REQUIRED
  • type: string
  • min length: 1
  • max length: 30
  • regex: ^[ -~]{0,30}$
36 PAYEE CANDIDATE FIRST NAME A/N-20 X (error) Patrick If either Last or First name coded; both Last & First names required.
  • REQUIRED
  • type: string
  • min length: 1
  • max length: 20
  • regex: ^[ -~]{0,20}$
37 PAYEE CANDIDATE MIDDLE NAME A/N-20 Thomas
  • type: ['string', 'null']
  • min length: 0
  • max length: 20
  • regex: ^[ -~]{0,20}$
38 PAYEE CANDIDATE PREFIX A/N-10 Mr.
  • type: ['string', 'null']
  • min length: 0
  • max length: 10
  • regex: ^[ -~]{0,10}$
39 PAYEE CANDIDATE SUFFIX A/N-10 Jr.
  • type: ['string', 'null']
  • min length: 0
  • max length: 10
  • regex: ^[ -~]{0,10}$
40 PAYEE CANDIDATE OFFICE A/N-1 X (warning) H H,S,P Edit: OFFICE
  • type: ['string', 'null']
  • min length: 0
  • max length: 1
  • regex: ^[ -~]{0,1}$
41 PAYEE CANDIDATE STATE A/N-2 X (warn if Cand Office=H or S) FL AK,AL,... Edit: ST (if Office - Sen or House)
  • type: ['string', 'null']
  • min length: 0
  • max length: 2
  • regex: ^[ -~]{0,2}$
42 PAYEE CANDIDATE DISTRICT NUM-2 X (warn if Cand Office=H) 35 01 ... 99 (if Office = House)
  • type: ['string', 'null']
  • min length: 2
  • max length: 2
  • regex: ^\d{2}$
43 MEMO CODE A/N-1 X
  • type: ['boolean', 'null']
44 MEMO TEXT/DESCRIPTION A/N-100
  • type: ['string', 'null']
  • min length: 0
  • max length: 100
  • regex: ^[ -~]{0,100}$