121 lines
7 KiB
Python
121 lines
7 KiB
Python
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)
|
|
|
|
|
|
|