Search Iowa Ethics:

State of Iowa

Additional info:

Our FAQ

For more information on how to use this site, go here.

Information for County Auditors is here.

Lobbyists and Clients need to register with the General Assembly. The legislative website is here.

More links:

 

| home | board | campaigns| ethics| reports | filing | laws |

 

XML/CSV Format for Schedule A Contributions

View of all tag elements w/out values.  CSV does not use tags but each element must appear as a header.  

<?xml version="1.0" encoding="UTF-8"?>
<contributions>
<contribution>
<committeename></committeename>
<committeecode></committeecode>
<contacttype></contacttype>
<contactfirstname></contactfirstname>
<contactmiddleinitial></contactmiddleinitial>
<contactlastname></contactlastname>
<contactrelationship></contactrelationship>
<contactname></contactname>
<trustee></trustee>
<trustor></trustor>
<trustaffirmationreceived></trustaffirmationreceived>
<contactaddress1></contactaddress1>
<contactcity></contactcity>
<contactstate></contactstate>
<contactzip></contactzip>
<contactprimaryphone></contactprimaryphone>
<contactsecondaryphone></contactsecondaryphone>
<contactemail></contactemail>
<date></date>
<amount></amount>
<checknumber></checknumber>
<fundraiser></fundraiser>
<candidatesfunds></candidatesfunds>
<interest></interest>
<unitemized></unitemized>
<reverse></reverse>
<explanation></explanation>
</contribution>
</contributions>

To think about the structure of this file one should have the understanding of its hierarchy. The following shows the overall relationship between the tags.

<?xml version="1.0" encoding="UTF-8"?>
<contributions>

----><contribution>

--->rest of tags

• The xml tag declares the file type, which contains contributions held within the contributions tag. Each contribution is made up by several elements.
• XML HAS Contributions / Contributions HAVE Contribution(one or many) / Contribution HAS ELEMENTS(rest of tags)  Although CSV does not have a tag, each contribution must have the required elements.

<?xml version="1.0" encoding="UTF-8"?>
Required Tag - This tag denotes that the file is that of xml type and sets some parameters. It does not have a corresponding end tag.

<contributions>
Required Tag - This tag is the starting point for all the transactions. Its corresponding end tag must be the last tag in the xml file.

<contribution>
Required Tag - This tag is the starting point for one Schedule A Contribution transaction. Its corresponding end tag must be the last tag before starting another transaction.

<committeename></committeename>
Required Tag - * Optional Value - Full Committee name of the contributing committee. (See IECDB Web site for current committee names listing: http://www.state.ia.us/government/iecdb/lists/index.html)

<committeecode></committeecode>
Required Tag - * Optional Value - Committee code of the contributing committee. (See IECDB Web site for current committee code listing: http://www.state.ia.us/government/iecdb/lists/index.html)

<contacttype></contacttype>
Required Tag - Required Value - Name of the type of contributor. (See contact types list below.)

<contactfirstname></contactfirstname>
Required Tag - * Optional Value - First name of the contributor.

<contactmiddleinitial></contactmiddleinitial>
Required Tag - * Optional Value - Middle single character initial of the contributor.

<contactlastname></contactlastname>
Required Tag - * Optional Value - Last name of the contributor.

<contactrelationship></contactrelationship>
Required Tag - Required Value - Two digit Relationship type code of contributor to candidate. (See relationship type list below.)

<contactname></contactname>
Required Tag - * Optional Value - Name of the contributor if type other than Individual or Committee.

<trustee></trustee>
Required Tag - * Optional Value - Name of trustee.

<trustor></trustor>
Required Tag - * Optional Value - Name of trustor.

<trustaffirmationreceived></trustaffirmationreceived>
Required Tag - * Optional Value - Use a Y for Yes or a N for No as the value.

<contactaddress1></contactaddress1>
Required Tag - * Required Value - Mailing address of contributor.

<contactcity></contactcity>
Required Tag - * Required Value - City name of contributor’s residence.

<contactstate></contactstate>
Required Tag - * Required Value - State of residence of the contributor. Must be state abbreviation code Example= IA or NE

<contactzip></contactzip>
Required Tag - * Required Value - Zip code of the residence of the contributor. Can be 5 digit zip or a 9 digit zip separated with a - Example= 50156 or 50156-1478

<contactprimaryphone></contactprimaryphone>
Required Tag - Optional Value -

<contactsecondaryphone></contactsecondaryphone>
Required Tag - Optional Value
-

<contactemail></contactemail>
Required Tag - Optional Value - Full valid email address. Example= ContactName@aol.com

<date></date>
Required Tag - Required Value - Must be entered in following format MM/DD/YYYY

<amount></amount>
Required Tag - Required Value - Do not use any characters other than .

<checknumber></checknumber>
Required Tag - * Optional Value - Required if contributor is another committee

<fundraiser></fundraiser>
Required Tag - Required Value - Use a Y for Yes or a N for No as the value.

<candidatesfunds></candidatesfunds>
Required Tag - Required Value - Use a Y for Yes or a N for No as the value.

<interest></interest>
Required Tag - Required Value - Use a Y for Yes or a N for No as the value.

<unitemized></unitemized>
Required Tag - Required Value - Use a Y for Yes or a N for No as the value.

<reverse></reverse>
Required Tag - Required Value - Indicates if the amount of this transaction should be subtracted from the ScheduleA total. This will be a negative amount transaction. Use a Y for Yes or an N for No as the value.

<explanation></explanation>
Required Tag - Optional Value - Value should be the description of the transaction. Free form text can have any data as value.

</contribution>
Required Tag - End tag denoting end of one contribution.

</contributions>
Required Tag - End tag denoting end of all contributions. Should be last tag in your xml file.

* NOTE: Some optional value tags are only optional when certain other optional tags have value. Also, some required value tags may only be required when other optional tags are used. The following shows the different options:

<committeename></committeename>
required if type of contributor is another committee
<committeecode></committeecode>
required if type of contributor is another committee
<contactfirstname></contactfirstname>
required if type of contributor is an individual
<contactmiddleinitial></contactmiddleinitial>
optional if type of contributor is an individual else not required
<contactlastname></contactlastname>
required if type of contributor is an individual
<contactname></contactname>
needed if type of contributor any type other than a committee or individual type
<trustee></trustee>
needed if type of contributor is trust
<trustor></trustor>
needed if type of contributor is trust
<trustaffirmationreceived></trustaffirmationreceived>
needed if type of contributor is trust
<contactaddress1></contactaddress1>
required if type of contributor is an individual
<contactcity></contactcity>
required if type of contributor is an individual
<contactstate></contactstate>
required if type of contributor is an individual
<contactzip></contactzip>
required if type of contributor is an individual
<checknumber></checknumber>
required if type of contributor is a committee

Contact Types List

Individual (use for person only)
Organization (use for committees with ID number or other entities)
Trust (use this if contribution is from a trust and fill out required trustee/trustor information)
Misc (use this for un-itemized contributions)

You must keep the same case (upper/lower)as shown below.

<contacttype>Individual</contacttype>
<contacttype>Organization</contacttype>
<contacttype>Trust</contacttype>
<contacttype>Misc</contacttype>

Relationship Type Codes and Descriptions

01 None
02 Spouse
03 Child
04 Parent
05 Brother
06 Sister
07 Half-brother
08 Half-sister
09 Grandchild
10 Grandparent
11 Uncle
12 Aunt
13 Nephew
14 Niece
15 Great-grandparent
16 Great-grandchild
17 Stepchild
18 Stepmother
19 Stepfather
20 Mother-in-law
21 Father-in-law
22 Stepbrother
23 Stepsister
24 Brother-in-law
25 Sister-in-law
26 Stepgrandchild
27 Stepgrandparent
28 Stepuncle
29 Stepaunt
30 Stepnephew
31 Stepniece
32 Stepgreat-grandparent
33 Stepgreat-grandchild
34 Self
35 Father
36 Mother

If you have certain special characters in one of your values they may cause problems.

BAD <type>Salary &amp; Gratuity</type>
GOOD <type><![CDATA[Salary & Gratuity]]></type>

Click here for tags with sample data (xml) or Click here for structure with sample data (csv)