from fields import * import model class SubmitterRecord(model.Model): record_identifier = StaticField(value='ra') submitter_ein = NumericField(max_length=9) user_id = TextField(max_length=8) software_vendor = TextField(max_length=4) blank1 = BlankField(max_length=5) resub_indictator = BooleanField() resub_identifier = TextField(max_length=6, required=False) software_code = StaticField(value='98') # In-house program company_name = TextField(max_length=57) company_address = TextField(max_length=22) company_delivery_address = TextField(max_length=22) company_city = TextField(max_length=22) company_state = StateField() company_zipcode = TextField(max_length=5) company_zipcode_ext = TextField(max_length=4, required=False) blank2 = BlankField(max_length=5) company_foreign_state_province= TextField(max_length=23, required=False) company_foreign_postal_code = TextField(max_length=15, required=False) company_country_code = TextField(max_length=2) submitter_name = TextField(max_length=57) submitter_address = TextField(max_length=22) submitter_delivery_address = TextField(max_length=22) submitter_city = TextField(max_length=22) submitter_state = StateField() submitter_zipcode = TextField(max_length=5) submitter_zipcode_ext = TextField(max_length=4, required=False) blank3 = BlankField(max_length=5) submitter_foreign_state_province = TextField(max_length=23, required=False) submitter_foreign_postal_code = TextField(max_length=15, required=False) submitter_country_code = TextField(max_length=2) contact_name = TextField(max_length=27) contact_phone = TextField(max_length=15) contact_phone_ext = TextField(max_length=5, required=False) blank4 = BlankField(max_length=3) contact_email = EmailField(max_length=40) blank5 = BlankField(max_length=3) contact_fax = TextField(max_length=10, required=False) preferred_notification = TextField(max_length=1) preparer_code = TextField(max_length=1) blank6 = BlankField(max_length=12) class EmployerRecord(model.Model): record_identifier = StaticField(value='re') tax_year = NumericField(max_length=4) agent_indicator = NumericField(max_length=1) employer_ein = TextField(max_length=9) agent_for_ein = TextField(max_length=9, required=False) terminating_business_indicator = BooleanField() establishment_number = TextField(max_length=4, required=False) other_ein = TextField(max_length=9, required=False) employer_name = TextField(max_length=57) location_address = TextField(max_length=22) delivery_address = TextField(max_length=22) city = TextField(max_length=22) state = StateField() zipcode = TextField(max_length=5) zipcode_ext = TextField(max_length=4, required=False) blank1 = BlankField(max_length=5) foreign_state_province = TextField(max_length=23) foreign_postal_code = TextField(max_length=15) country_code = TextField(max_length=2, required=False) employment_code = TextField(max_length=1) tax_jurisdiction_code = TextField(max_length=1) third_party_sick_pay = BooleanField() blank2 = BlankField(max_length=291) class EmployeeWageRecord(model.Model): record_identifier = StaticField(value='rw') ssn = NumericField(max_length=9, required=False) employee_first_name = TextField(max_length=15) employee_middle_name = TextField(max_length=15) employee_last_name = TextField(max_length=20) employee_suffix = TextField(max_length=4) location_address = TextField(max_length=22) delivery_address = TextField(max_length=22) city = TextField(max_length=22) state = StateField() zipcode = TextField(max_length=5, required=False) zipcode_ext = TextField(max_length=4, required=False) blank1 = BlankField(max_length=5) foreign_state = TextField(max_length=23, required=False) foreign_postal_code = TextField(max_length=15, required=False) country = TextField(max_length=2) wages_tips = NumericField(max_length=11) federal_income_tax_withheld = NumericField(max_length=11) social_security_wages = NumericField(max_length=11) social_security_tax_withheld = NumericField(max_length=11) medicare_wages_and_tips = NumericField(max_length=11) medicare_tax_withheld = NumericField(max_length=11) social_security_tips = NumericField(max_length=11) advance_eic = NumericField(max_length=11) dependent_care_benefits = NumericField(max_length=11) deferred_compensation_401k = NumericField(max_length=11) deferred_compensation_403b = NumericField(max_length=11) deferred_compensation_408k = NumericField(max_length=11) deferred_compensation_457b = NumericField(max_length=11) deferred_compensation_501c = NumericField(max_length=11) military_pay = NumericField(max_length=11) non_qualified_457 = NumericField(max_length=11) employer_contrib_to_hsa = NumericField(max_length=11) non_qualified_not_457 = NumericField(max_length=11) nontaxable_combat_pay = NumericField(max_length=11) blank2 = BlankField(max_length=11) cost_of_premiums_for_insurance = NumericField(max_length=11) income_nonstatutory_stock_opts = NumericField(max_length=11) deferred_compensation_409a = NumericField(max_length=11) designated_roth_contrib_401k = NumericField(max_length=11) designated_roth_contrib_403b = NumericField(max_length=11) blank3 = BlankField(max_length=23) statutory_employee_indicator = BooleanField() blank4 = BlankField(max_length=1) retirement_plan_indicator = BooleanField() third_party_sick_pay = BooleanField() blank5 = BlankField(max_length=23)