Class: FdxV660Api::Form1042SAgent
- Defined in:
- lib/fdx_v660_api/models/form1042_s_agent.rb
Overview
One of various persons or businesses involved in Form 1042-S reporting. Use
tinfor * Box 12a, Withholding Agent EIN, * Box 13i, Recipient U.S. TIN, * Box 14b, Primary Withholding Agent EIN, * Box 15a, Intermediary or flow-through entity EIN, * Box 16b, Payer TIN *individualNameorbusinessNamefor * Box 12d, Withholding Agent name, * Box 13a, Recipient name, * Box 14a, Primary Withholding Agent name, * Box 15d, Intermediary or flow-through entity name, * Box 16a, Payer name *address.countryfor * Box 12l, Withholding Agent address country, * Box 13g, Recipient address country, * Box 15l, Intermediary or flow-through entity address country (use specific boxes 12f, 13b, 15f for corresponding Country codes) *addressfor * Boxes 12h-i, Withholding Agent Address, * Boxes 13c-d, Recipient Address, * Boxes 15h-i, Intermediary or flow-through entity Address
Instance Attribute Summary collapse
-
#address ⇒ TaxFormAddress5
Issuer or recipient address.
-
#business_name ⇒ BusinessName4
Business issuer or recipient name.
-
#ch3_status_code ⇒ String
Ch.
-
#ch4_status_code ⇒ String
Ch.
-
#email ⇒ String
Issuer or recipient email address.
-
#foreign_tin ⇒ String
Foreign tax identification number, if any, * Box 12g, Withholding Agent, * Box 13m, Recipient, * Box 15g, Intermediary or flow-through entity.
-
#giin ⇒ String
Agent's Global Intermediary Identification Number (GIIN), * Box 12e, Withholding Agent, * Box 13l, Recipient, * Box 15e, Intermediary or flow-through entity, * Box 16c, Payer.
-
#individual_name ⇒ IndividualName4
Individual issuer or recipient name.
-
#party_type ⇒ TaxPartyType2
Type of issuer or recipient legal entity, as "BUSINESS" or "INDIVIDUAL".
-
#phone ⇒ TelephoneNumberPlusExtension1
Issuer or recipient telephone number.
-
#tin ⇒ String
Issuer or recipient Tax Identification Number.
Class Method Summary collapse
-
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
-
.names ⇒ Object
A mapping from model property names to API property names.
-
.nullables ⇒ Object
An array for nullable fields.
-
.optionals ⇒ Object
An array for optional fields.
Instance Method Summary collapse
-
#initialize(tin: SKIP, party_type: SKIP, individual_name: SKIP, business_name: SKIP, address: SKIP, phone: SKIP, email: SKIP, ch3_status_code: SKIP, ch4_status_code: SKIP, giin: SKIP, foreign_tin: SKIP, additional_properties: nil) ⇒ Form1042SAgent
constructor
A new instance of Form1042SAgent.
-
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
-
#to_s ⇒ Object
Provides a human-readable string representation of the object.
Methods inherited from BaseModel
#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json
Constructor Details
#initialize(tin: SKIP, party_type: SKIP, individual_name: SKIP, business_name: SKIP, address: SKIP, phone: SKIP, email: SKIP, ch3_status_code: SKIP, ch4_status_code: SKIP, giin: SKIP, foreign_tin: SKIP, additional_properties: nil) ⇒ Form1042SAgent
Returns a new instance of Form1042SAgent.
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 127 def initialize(tin: SKIP, party_type: SKIP, individual_name: SKIP, business_name: SKIP, address: SKIP, phone: SKIP, email: SKIP, ch3_status_code: SKIP, ch4_status_code: SKIP, giin: SKIP, foreign_tin: SKIP, additional_properties: nil) # Add additional model properties to the instance additional_properties = {} if additional_properties.nil? @tin = tin unless tin == SKIP @party_type = party_type unless party_type == SKIP @individual_name = individual_name unless individual_name == SKIP @business_name = business_name unless business_name == SKIP @address = address unless address == SKIP @phone = phone unless phone == SKIP @email = email unless email == SKIP @ch3_status_code = ch3_status_code unless ch3_status_code == SKIP @ch4_status_code = ch4_status_code unless ch4_status_code == SKIP @giin = giin unless giin == SKIP @foreign_tin = foreign_tin unless foreign_tin == SKIP @additional_properties = additional_properties end |
Instance Attribute Details
#address ⇒ TaxFormAddress5
Issuer or recipient address
46 47 48 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 46 def address @address end |
#business_name ⇒ BusinessName4
Business issuer or recipient name
42 43 44 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 42 def business_name @business_name end |
#ch3_status_code ⇒ String
Ch. 3 status code,
- Box 12b, Withholding Agent,
- Box 13j, Recipient,
- Box 15b, Intermediary or flow-through entity,
- Box 16d, Payer
63 64 65 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 63 def ch3_status_code @ch3_status_code end |
#ch4_status_code ⇒ String
Ch. 4 status code,
- Box 12c, Withholding Agent,
- Box 13k, Recipient,
- Box 15c, Intermediary or flow-through entity,
- Box 16e, Payer
71 72 73 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 71 def ch4_status_code @ch4_status_code end |
#email ⇒ String
Issuer or recipient email address. (Additional information, not part of IRS forms)
55 56 57 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 55 def email @email end |
#foreign_tin ⇒ String
Foreign tax identification number, if any,
- Box 12g, Withholding Agent,
- Box 13m, Recipient,
- Box 15g, Intermediary or flow-through entity
86 87 88 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 86 def foreign_tin @foreign_tin end |
#giin ⇒ String
Agent's Global Intermediary Identification Number (GIIN),
- Box 12e, Withholding Agent,
- Box 13l, Recipient,
- Box 15e, Intermediary or flow-through entity,
- Box 16c, Payer
79 80 81 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 79 def giin @giin end |
#individual_name ⇒ IndividualName4
Individual issuer or recipient name
38 39 40 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 38 def individual_name @individual_name end |
#party_type ⇒ TaxPartyType2
Type of issuer or recipient legal entity, as "BUSINESS" or "INDIVIDUAL". Commonly BUSINESS for issuer and INDIVIDUAL for recipient
34 35 36 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 34 def party_type @party_type end |
#phone ⇒ TelephoneNumberPlusExtension1
Issuer or recipient telephone number
50 51 52 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 50 def phone @phone end |
#tin ⇒ String
Issuer or recipient Tax Identification Number. The issuer TIN should normally not be truncated or masked. The recipient TIN may be truncated or masked on this recipient copy (though the full TIN will be filed on IRS copy). Usually EIN for issuer and SSN for recipient
29 30 31 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 29 def tin @tin end |
Class Method Details
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 149 def self.from_hash(hash) return nil unless hash # Extract variables from the hash. tin = hash.key?('tin') ? hash['tin'] : SKIP party_type = hash.key?('partyType') ? hash['partyType'] : SKIP individual_name = IndividualName4.from_hash(hash['individualName']) if hash['individualName'] business_name = BusinessName4.from_hash(hash['businessName']) if hash['businessName'] address = TaxFormAddress5.from_hash(hash['address']) if hash['address'] phone = TelephoneNumberPlusExtension1.from_hash(hash['phone']) if hash['phone'] email = hash.key?('email') ? hash['email'] : SKIP ch3_status_code = hash.key?('ch3StatusCode') ? hash['ch3StatusCode'] : SKIP ch4_status_code = hash.key?('ch4StatusCode') ? hash['ch4StatusCode'] : SKIP giin = hash.key?('giin') ? hash['giin'] : SKIP foreign_tin = hash.key?('foreignTin') ? hash['foreignTin'] : SKIP # Create a new hash for additional properties, removing known properties. new_hash = hash.reject { |k, _| names.value?(k) } additional_properties = APIHelper.get_additional_properties( new_hash, proc { |value| value } ) # Create object from extracted values. Form1042SAgent.new(tin: tin, party_type: party_type, individual_name: individual_name, business_name: business_name, address: address, phone: phone, email: email, ch3_status_code: ch3_status_code, ch4_status_code: ch4_status_code, giin: giin, foreign_tin: foreign_tin, additional_properties: additional_properties) end |
.names ⇒ Object
A mapping from model property names to API property names.
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 89 def self.names @_hash = {} if @_hash.nil? @_hash['tin'] = 'tin' @_hash['party_type'] = 'partyType' @_hash['individual_name'] = 'individualName' @_hash['business_name'] = 'businessName' @_hash['address'] = 'address' @_hash['phone'] = 'phone' @_hash['email'] = 'email' @_hash['ch3_status_code'] = 'ch3StatusCode' @_hash['ch4_status_code'] = 'ch4StatusCode' @_hash['giin'] = 'giin' @_hash['foreign_tin'] = 'foreignTin' @_hash end |
.nullables ⇒ Object
An array for nullable fields
123 124 125 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 123 def self.nullables [] end |
.optionals ⇒ Object
An array for optional fields
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 106 def self.optionals %w[ tin party_type individual_name business_name address phone email ch3_status_code ch4_status_code giin foreign_tin ] end |
Instance Method Details
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
201 202 203 204 205 206 207 208 209 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 201 def inspect class_name = self.class.name.split('::').last "<#{class_name} tin: #{@tin.inspect}, party_type: #{@party_type.inspect}, individual_name:"\ " #{@individual_name.inspect}, business_name: #{@business_name.inspect}, address:"\ " #{@address.inspect}, phone: #{@phone.inspect}, email: #{@email.inspect}, ch3_status_code:"\ " #{@ch3_status_code.inspect}, ch4_status_code: #{@ch4_status_code.inspect}, giin:"\ " #{@giin.inspect}, foreign_tin: #{@foreign_tin.inspect}, additional_properties:"\ " #{@additional_properties}>" end |
#to_s ⇒ Object
Provides a human-readable string representation of the object.
191 192 193 194 195 196 197 198 |
# File 'lib/fdx_v660_api/models/form1042_s_agent.rb', line 191 def to_s class_name = self.class.name.split('::').last "<#{class_name} tin: #{@tin}, party_type: #{@party_type}, individual_name:"\ " #{@individual_name}, business_name: #{@business_name}, address: #{@address}, phone:"\ " #{@phone}, email: #{@email}, ch3_status_code: #{@ch3_status_code}, ch4_status_code:"\ " #{@ch4_status_code}, giin: #{@giin}, foreign_tin: #{@foreign_tin}, additional_properties:"\ " #{@additional_properties}>" end |