xero-ruby 3.9.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/xero-ruby/api/accounting_api.rb +1136 -46
  4. data/lib/xero-ruby/api/app_store_api.rb +244 -0
  5. data/lib/xero-ruby/api/asset_api.rb +16 -6
  6. data/lib/xero-ruby/api/files_api.rb +156 -20
  7. data/lib/xero-ruby/api/payroll_au_api.rb +326 -30
  8. data/lib/xero-ruby/api/payroll_nz_api.rb +87 -0
  9. data/lib/xero-ruby/api/payroll_uk_api.rb +81 -0
  10. data/lib/xero-ruby/api/project_api.rb +286 -2
  11. data/lib/xero-ruby/api_client.rb +9 -3
  12. data/lib/xero-ruby/models/accounting/account.rb +1 -1
  13. data/lib/xero-ruby/models/accounting/account_type.rb +0 -4
  14. data/lib/xero-ruby/models/accounting/allocation.rb +21 -1
  15. data/lib/xero-ruby/models/accounting/batch_payment.rb +2 -2
  16. data/lib/xero-ruby/models/accounting/batch_payment_delete.rb +244 -0
  17. data/lib/xero-ruby/models/accounting/batch_payment_delete_by_url_param.rb +229 -0
  18. data/lib/xero-ruby/models/accounting/contact.rb +1 -11
  19. data/lib/xero-ruby/models/accounting/currency_code.rb +10 -8
  20. data/lib/xero-ruby/models/accounting/journal_line.rb +1 -1
  21. data/lib/xero-ruby/models/accounting/line_item.rb +2 -2
  22. data/lib/xero-ruby/models/accounting/organisation.rb +6 -2
  23. data/lib/xero-ruby/models/accounting/payment.rb +26 -4
  24. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +53 -5
  25. data/lib/xero-ruby/models/accounting/tax_rate.rb +23 -5
  26. data/lib/xero-ruby/models/accounting/tax_type.rb +60 -3
  27. data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +75 -4
  28. data/lib/xero-ruby/models/accounting/time_zone.rb +123 -91
  29. data/lib/xero-ruby/models/app_store/create_usage_record.rb +243 -0
  30. data/lib/xero-ruby/models/app_store/update_usage_record.rb +228 -0
  31. data/lib/xero-ruby/models/app_store/usage_record.rb +332 -0
  32. data/lib/xero-ruby/models/app_store/usage_records_list.rb +230 -0
  33. data/lib/xero-ruby/models/files/association.rb +31 -1
  34. data/lib/xero-ruby/models/finance/problem_type.rb +1 -0
  35. data/lib/xero-ruby/models/finance/statement_line_response.rb +11 -1
  36. data/lib/xero-ruby/models/finance/statement_response.rb +24 -4
  37. data/lib/xero-ruby/models/payroll_au/allowance_type.rb +0 -1
  38. data/lib/xero-ruby/models/payroll_au/country_of_residence.rb +284 -0
  39. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +21 -1
  40. data/lib/xero-ruby/models/payroll_au/earnings_type.rb +2 -0
  41. data/lib/xero-ruby/models/payroll_au/employee.rb +42 -2
  42. data/lib/xero-ruby/models/payroll_au/employment_basis.rb +1 -0
  43. data/lib/xero-ruby/models/payroll_au/employment_type.rb +36 -0
  44. data/lib/xero-ruby/models/payroll_au/income_type.rb +39 -0
  45. data/lib/xero-ruby/models/payroll_au/leave_application.rb +11 -1
  46. data/lib/xero-ruby/models/payroll_au/leave_category_code.rb +46 -0
  47. data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +14 -4
  48. data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +0 -1
  49. data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +2 -0
  50. data/lib/xero-ruby/models/payroll_au/leave_type.rb +24 -4
  51. data/lib/xero-ruby/models/payroll_au/opening_balances.rb +16 -4
  52. data/lib/xero-ruby/models/payroll_au/paid_leave_earnings_line.rb +272 -0
  53. data/lib/xero-ruby/models/payroll_au/pay_out_type.rb +36 -0
  54. data/lib/xero-ruby/models/payroll_au/senior_marital_status.rb +37 -0
  55. data/lib/xero-ruby/models/payroll_au/settings.rb +14 -4
  56. data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +51 -1
  57. data/lib/xero-ruby/models/payroll_au/tax_scale_type.rb +40 -0
  58. data/lib/xero-ruby/models/payroll_au/work_condition.rb +37 -0
  59. data/lib/xero-ruby/models/payroll_nz/employee.rb +14 -4
  60. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +3 -3
  61. data/lib/xero-ruby/models/projects/currency_code.rb +0 -1
  62. data/lib/xero-ruby/models/projects/task.rb +6 -6
  63. data/lib/xero-ruby/models/projects/task_create_or_update.rb +1 -1
  64. data/lib/xero-ruby/version.rb +2 -2
  65. data/lib/xero-ruby/where.rb +2 -0
  66. data/lib/xero-ruby.rb +15 -0
  67. metadata +30 -15
@@ -35,6 +35,9 @@ module XeroRuby::Accounting
35
35
  attr_accessor :credit_note_number
36
36
 
37
37
 
38
+ attr_accessor :batch_payment
39
+
40
+
38
41
  attr_accessor :account
39
42
 
40
43
  # Code of account you are using to make the payment e.g. 001 (note- not all accounts have a code value)
@@ -104,6 +107,9 @@ module XeroRuby::Accounting
104
107
  # Displays array of validation error messages from the API
105
108
  attr_accessor :validation_errors
106
109
 
110
+ # Displays array of warning messages from the API
111
+ attr_accessor :warnings
112
+
107
113
  class EnumAttributeValidator
108
114
  attr_reader :datatype
109
115
  attr_reader :allowable_values
@@ -135,6 +141,7 @@ module XeroRuby::Accounting
135
141
  :'overpayment' => :'Overpayment',
136
142
  :'invoice_number' => :'InvoiceNumber',
137
143
  :'credit_note_number' => :'CreditNoteNumber',
144
+ :'batch_payment' => :'BatchPayment',
138
145
  :'account' => :'Account',
139
146
  :'code' => :'Code',
140
147
  :'date' => :'Date',
@@ -154,7 +161,8 @@ module XeroRuby::Accounting
154
161
  :'has_account' => :'HasAccount',
155
162
  :'has_validation_errors' => :'HasValidationErrors',
156
163
  :'status_attribute_string' => :'StatusAttributeString',
157
- :'validation_errors' => :'ValidationErrors'
164
+ :'validation_errors' => :'ValidationErrors',
165
+ :'warnings' => :'Warnings'
158
166
  }
159
167
  end
160
168
 
@@ -167,6 +175,7 @@ module XeroRuby::Accounting
167
175
  :'overpayment' => :'Overpayment',
168
176
  :'invoice_number' => :'String',
169
177
  :'credit_note_number' => :'String',
178
+ :'batch_payment' => :'BatchPayment',
170
179
  :'account' => :'Account',
171
180
  :'code' => :'String',
172
181
  :'date' => :'Date',
@@ -186,7 +195,8 @@ module XeroRuby::Accounting
186
195
  :'has_account' => :'Boolean',
187
196
  :'has_validation_errors' => :'Boolean',
188
197
  :'status_attribute_string' => :'String',
189
- :'validation_errors' => :'Array<ValidationError>'
198
+ :'validation_errors' => :'Array<ValidationError>',
199
+ :'warnings' => :'Array<ValidationError>'
190
200
  }
191
201
  end
192
202
 
@@ -229,6 +239,10 @@ module XeroRuby::Accounting
229
239
  self.credit_note_number = attributes[:'credit_note_number']
230
240
  end
231
241
 
242
+ if attributes.key?(:'batch_payment')
243
+ self.batch_payment = attributes[:'batch_payment']
244
+ end
245
+
232
246
  if attributes.key?(:'account')
233
247
  self.account = attributes[:'account']
234
248
  end
@@ -314,6 +328,12 @@ module XeroRuby::Accounting
314
328
  self.validation_errors = value
315
329
  end
316
330
  end
331
+
332
+ if attributes.key?(:'warnings')
333
+ if (value = attributes[:'warnings']).is_a?(Array)
334
+ self.warnings = value
335
+ end
336
+ end
317
337
  end
318
338
 
319
339
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -364,6 +384,7 @@ module XeroRuby::Accounting
364
384
  overpayment == o.overpayment &&
365
385
  invoice_number == o.invoice_number &&
366
386
  credit_note_number == o.credit_note_number &&
387
+ batch_payment == o.batch_payment &&
367
388
  account == o.account &&
368
389
  code == o.code &&
369
390
  date == o.date &&
@@ -383,7 +404,8 @@ module XeroRuby::Accounting
383
404
  has_account == o.has_account &&
384
405
  has_validation_errors == o.has_validation_errors &&
385
406
  status_attribute_string == o.status_attribute_string &&
386
- validation_errors == o.validation_errors
407
+ validation_errors == o.validation_errors &&
408
+ warnings == o.warnings
387
409
  end
388
410
 
389
411
  # @see the `==` method
@@ -395,7 +417,7 @@ module XeroRuby::Accounting
395
417
  # Calculates hash code according to all attributes.
396
418
  # @return [Integer] Hash code
397
419
  def hash
398
- [invoice, credit_note, prepayment, overpayment, invoice_number, credit_note_number, account, code, date, currency_rate, amount, bank_amount, reference, is_reconciled, status, payment_type, updated_date_utc, payment_id, batch_payment_id, bank_account_number, particulars, details, has_account, has_validation_errors, status_attribute_string, validation_errors].hash
420
+ [invoice, credit_note, prepayment, overpayment, invoice_number, credit_note_number, batch_payment, account, code, date, currency_rate, amount, bank_amount, reference, is_reconciled, status, payment_type, updated_date_utc, payment_id, batch_payment_id, bank_account_number, particulars, details, has_account, has_validation_errors, status_attribute_string, validation_errors, warnings].hash
399
421
  end
400
422
 
401
423
  # Builds the object from hash
@@ -63,12 +63,24 @@ module XeroRuby::Accounting
63
63
  # Xero generated unique identifier for repeating invoice template
64
64
  attr_accessor :id
65
65
 
66
- # boolean to indicate if an invoice has an attachment
66
+ # Boolean to indicate if an invoice has an attachment
67
67
  attr_accessor :has_attachments
68
68
 
69
69
  # Displays array of attachments from the API
70
70
  attr_accessor :attachments
71
71
 
72
+ # Boolean to indicate whether the invoice has been approved for sending
73
+ attr_accessor :approved_for_sending
74
+
75
+ # Boolean to indicate whether a copy is sent to sender's email
76
+ attr_accessor :send_copy
77
+
78
+ # Boolean to indicate whether the invoice in the Xero app displays as \"sent\"
79
+ attr_accessor :mark_as_sent
80
+
81
+ # Boolean to indicate whether to include PDF attachment
82
+ attr_accessor :include_pdf
83
+
72
84
  class EnumAttributeValidator
73
85
  attr_reader :datatype
74
86
  attr_reader :allowable_values
@@ -109,7 +121,11 @@ module XeroRuby::Accounting
109
121
  :'repeating_invoice_id' => :'RepeatingInvoiceID',
110
122
  :'id' => :'ID',
111
123
  :'has_attachments' => :'HasAttachments',
112
- :'attachments' => :'Attachments'
124
+ :'attachments' => :'Attachments',
125
+ :'approved_for_sending' => :'ApprovedForSending',
126
+ :'send_copy' => :'SendCopy',
127
+ :'mark_as_sent' => :'MarkAsSent',
128
+ :'include_pdf' => :'IncludePDF'
113
129
  }
114
130
  end
115
131
 
@@ -131,7 +147,11 @@ module XeroRuby::Accounting
131
147
  :'repeating_invoice_id' => :'String',
132
148
  :'id' => :'String',
133
149
  :'has_attachments' => :'Boolean',
134
- :'attachments' => :'Array<Attachment>'
150
+ :'attachments' => :'Array<Attachment>',
151
+ :'approved_for_sending' => :'Boolean',
152
+ :'send_copy' => :'Boolean',
153
+ :'mark_as_sent' => :'Boolean',
154
+ :'include_pdf' => :'Boolean'
135
155
  }
136
156
  end
137
157
 
@@ -219,6 +239,30 @@ module XeroRuby::Accounting
219
239
  self.attachments = value
220
240
  end
221
241
  end
242
+
243
+ if attributes.key?(:'approved_for_sending')
244
+ self.approved_for_sending = attributes[:'approved_for_sending']
245
+ else
246
+ self.approved_for_sending = false
247
+ end
248
+
249
+ if attributes.key?(:'send_copy')
250
+ self.send_copy = attributes[:'send_copy']
251
+ else
252
+ self.send_copy = false
253
+ end
254
+
255
+ if attributes.key?(:'mark_as_sent')
256
+ self.mark_as_sent = attributes[:'mark_as_sent']
257
+ else
258
+ self.mark_as_sent = false
259
+ end
260
+
261
+ if attributes.key?(:'include_pdf')
262
+ self.include_pdf = attributes[:'include_pdf']
263
+ else
264
+ self.include_pdf = false
265
+ end
222
266
  end
223
267
 
224
268
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -278,7 +322,11 @@ module XeroRuby::Accounting
278
322
  repeating_invoice_id == o.repeating_invoice_id &&
279
323
  id == o.id &&
280
324
  has_attachments == o.has_attachments &&
281
- attachments == o.attachments
325
+ attachments == o.attachments &&
326
+ approved_for_sending == o.approved_for_sending &&
327
+ send_copy == o.send_copy &&
328
+ mark_as_sent == o.mark_as_sent &&
329
+ include_pdf == o.include_pdf
282
330
  end
283
331
 
284
332
  # @see the `==` method
@@ -290,7 +338,7 @@ module XeroRuby::Accounting
290
338
  # Calculates hash code according to all attributes.
291
339
  # @return [Integer] Hash code
292
340
  def hash
293
- [type, contact, schedule, line_items, line_amount_types, reference, branding_theme_id, currency_code, status, sub_total, total_tax, total, repeating_invoice_id, id, has_attachments, attachments].hash
341
+ [type, contact, schedule, line_items, line_amount_types, reference, branding_theme_id, currency_code, status, sub_total, total_tax, total, repeating_invoice_id, id, has_attachments, attachments, approved_for_sending, send_copy, mark_as_sent, include_pdf].hash
294
342
  end
295
343
 
296
344
  # Builds the object from hash
@@ -112,9 +112,27 @@ module XeroRuby::Accounting
112
112
  IGDSINPUT3 ||= "IGDSINPUT3".freeze
113
113
  SROVR ||= "SROVR".freeze
114
114
  TOURISTREFUND ||= "TOURISTREFUND".freeze
115
- TXRCN33_INPUT ||= "TXRCN33INPUT".freeze
116
- TXRCREINPUT ||= "TXRCREINPUT".freeze
117
- TXRCESSINPUT ||= "TXRCESSINPUT".freeze
115
+ TXRCN33 ||= "TXRCN33".freeze
116
+ TXRCRE ||= "TXRCRE".freeze
117
+ TXRCESS ||= "TXRCESS".freeze
118
+ TXRCTS ||= "TXRCTS".freeze
119
+ CAPEXINPUT ||= "CAPEXINPUT".freeze
120
+ UNDEFINED ||= "UNDEFINED".freeze
121
+ CAPEXOUTPUT ||= "CAPEXOUTPUT".freeze
122
+ ZEROEXPOUTPUT ||= "ZEROEXPOUTPUT".freeze
123
+ GOODSIMPORT ||= "GOODSIMPORT".freeze
124
+ NONEINPUT ||= "NONEINPUT".freeze
125
+ NOTREPORTED ||= "NOTREPORTED".freeze
126
+ SROVRRS ||= "SROVRRS".freeze
127
+ SROVRLVG ||= "SROVRLVG".freeze
128
+ SRLVG ||= "SRLVG".freeze
129
+ IM ||= "IM".freeze
130
+ IMESS ||= "IMESS".freeze
131
+ IMN33 ||= "IMN33".freeze
132
+ IMRE ||= "IMRE".freeze
133
+ BADDEBTRECOVERY ||= "BADDEBTRECOVERY".freeze
134
+ USSALESTAX ||= "USSALESTAX".freeze
135
+ BLINPUT3 ||= "BLINPUT3".freeze
118
136
 
119
137
  # Boolean to describe if tax rate can be used for asset accounts i.e. true,false
120
138
  attr_accessor :can_apply_to_assets
@@ -273,7 +291,7 @@ module XeroRuby::Accounting
273
291
  def valid?
274
292
  status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "DELETED", "ARCHIVED", "PENDING"])
275
293
  return false unless status_validator.valid?(@status)
276
- report_tax_type_validator = EnumAttributeValidator.new('String', ["AVALARA", "BASEXCLUDED", "CAPITALSALESOUTPUT", "CAPITALEXPENSESINPUT", "ECOUTPUT", "ECOUTPUTSERVICES", "ECINPUT", "ECACQUISITIONS", "EXEMPTEXPENSES", "EXEMPTINPUT", "EXEMPTOUTPUT", "GSTONIMPORTS", "INPUT", "INPUTTAXED", "MOSSSALES", "NONE", "NONEOUTPUT", "OUTPUT", "PURCHASESINPUT", "SALESOUTPUT", "EXEMPTCAPITAL", "EXEMPTEXPORT", "CAPITALEXINPUT", "GSTONCAPIMPORTS", "GSTONCAPITALIMPORTS", "REVERSECHARGES", "PAYMENTS", "INVOICE", "CASH", "ACCRUAL", "FLATRATECASH", "FLATRATEACCRUAL", "ACCRUALS", "TXCA", "SRCAS", "DSOUTPUT", "BLINPUT2", "EPINPUT", "IMINPUT2", "MEINPUT", "IGDSINPUT2", "ESN33OUTPUT", "OPINPUT", "OSOUTPUT", "TXN33INPUT", "TXESSINPUT", "TXREINPUT", "TXPETINPUT", "NRINPUT", "ES33OUTPUT", "ZERORATEDINPUT", "ZERORATEDOUTPUT", "DRCHARGESUPPLY", "DRCHARGE", "CAPINPUT", "CAPIMPORTS", "IMINPUT", "INPUT2", "CIUINPUT", "SRINPUT", "OUTPUT2", "SROUTPUT", "CAPOUTPUT", "SROUTPUT2", "CIUOUTPUT", "ZROUTPUT", "ZREXPORT", "ACC28PLUS", "ACCUPTO28", "OTHEROUTPUT", "SHOUTPUT", "ZRINPUT", "BADDEBT", "OTHERINPUT", "BADDEBTRELIEF", "IGDSINPUT3", "SROVR", "TOURISTREFUND", "TXRCN33INPUT", "TXRCREINPUT", "TXRCESSINPUT"])
294
+ report_tax_type_validator = EnumAttributeValidator.new('String', ["AVALARA", "BASEXCLUDED", "CAPITALSALESOUTPUT", "CAPITALEXPENSESINPUT", "ECOUTPUT", "ECOUTPUTSERVICES", "ECINPUT", "ECACQUISITIONS", "EXEMPTEXPENSES", "EXEMPTINPUT", "EXEMPTOUTPUT", "GSTONIMPORTS", "INPUT", "INPUTTAXED", "MOSSSALES", "NONE", "NONEOUTPUT", "OUTPUT", "PURCHASESINPUT", "SALESOUTPUT", "EXEMPTCAPITAL", "EXEMPTEXPORT", "CAPITALEXINPUT", "GSTONCAPIMPORTS", "GSTONCAPITALIMPORTS", "REVERSECHARGES", "PAYMENTS", "INVOICE", "CASH", "ACCRUAL", "FLATRATECASH", "FLATRATEACCRUAL", "ACCRUALS", "TXCA", "SRCAS", "DSOUTPUT", "BLINPUT2", "EPINPUT", "IMINPUT2", "MEINPUT", "IGDSINPUT2", "ESN33OUTPUT", "OPINPUT", "OSOUTPUT", "TXN33INPUT", "TXESSINPUT", "TXREINPUT", "TXPETINPUT", "NRINPUT", "ES33OUTPUT", "ZERORATEDINPUT", "ZERORATEDOUTPUT", "DRCHARGESUPPLY", "DRCHARGE", "CAPINPUT", "CAPIMPORTS", "IMINPUT", "INPUT2", "CIUINPUT", "SRINPUT", "OUTPUT2", "SROUTPUT", "CAPOUTPUT", "SROUTPUT2", "CIUOUTPUT", "ZROUTPUT", "ZREXPORT", "ACC28PLUS", "ACCUPTO28", "OTHEROUTPUT", "SHOUTPUT", "ZRINPUT", "BADDEBT", "OTHERINPUT", "BADDEBTRELIEF", "IGDSINPUT3", "SROVR", "TOURISTREFUND", "TXRCN33", "TXRCRE", "TXRCESS", "TXRCTS", "CAPEXINPUT", "UNDEFINED", "CAPEXOUTPUT", "ZEROEXPOUTPUT", "GOODSIMPORT", "NONEINPUT", "NOTREPORTED", "SROVRRS", "SROVRLVG", "SRLVG", "IM", "IMESS", "IMN33", "IMRE", "BADDEBTRECOVERY", "USSALESTAX", "BLINPUT3"])
277
295
  return false unless report_tax_type_validator.valid?(@report_tax_type)
278
296
  true
279
297
  end
@@ -291,7 +309,7 @@ module XeroRuby::Accounting
291
309
  # Custom attribute writer method checking allowed values (enum).
292
310
  # @param [Object] report_tax_type Object to be assigned
293
311
  def report_tax_type=(report_tax_type)
294
- validator = EnumAttributeValidator.new('String', ["AVALARA", "BASEXCLUDED", "CAPITALSALESOUTPUT", "CAPITALEXPENSESINPUT", "ECOUTPUT", "ECOUTPUTSERVICES", "ECINPUT", "ECACQUISITIONS", "EXEMPTEXPENSES", "EXEMPTINPUT", "EXEMPTOUTPUT", "GSTONIMPORTS", "INPUT", "INPUTTAXED", "MOSSSALES", "NONE", "NONEOUTPUT", "OUTPUT", "PURCHASESINPUT", "SALESOUTPUT", "EXEMPTCAPITAL", "EXEMPTEXPORT", "CAPITALEXINPUT", "GSTONCAPIMPORTS", "GSTONCAPITALIMPORTS", "REVERSECHARGES", "PAYMENTS", "INVOICE", "CASH", "ACCRUAL", "FLATRATECASH", "FLATRATEACCRUAL", "ACCRUALS", "TXCA", "SRCAS", "DSOUTPUT", "BLINPUT2", "EPINPUT", "IMINPUT2", "MEINPUT", "IGDSINPUT2", "ESN33OUTPUT", "OPINPUT", "OSOUTPUT", "TXN33INPUT", "TXESSINPUT", "TXREINPUT", "TXPETINPUT", "NRINPUT", "ES33OUTPUT", "ZERORATEDINPUT", "ZERORATEDOUTPUT", "DRCHARGESUPPLY", "DRCHARGE", "CAPINPUT", "CAPIMPORTS", "IMINPUT", "INPUT2", "CIUINPUT", "SRINPUT", "OUTPUT2", "SROUTPUT", "CAPOUTPUT", "SROUTPUT2", "CIUOUTPUT", "ZROUTPUT", "ZREXPORT", "ACC28PLUS", "ACCUPTO28", "OTHEROUTPUT", "SHOUTPUT", "ZRINPUT", "BADDEBT", "OTHERINPUT", "BADDEBTRELIEF", "IGDSINPUT3", "SROVR", "TOURISTREFUND", "TXRCN33INPUT", "TXRCREINPUT", "TXRCESSINPUT"])
312
+ validator = EnumAttributeValidator.new('String', ["AVALARA", "BASEXCLUDED", "CAPITALSALESOUTPUT", "CAPITALEXPENSESINPUT", "ECOUTPUT", "ECOUTPUTSERVICES", "ECINPUT", "ECACQUISITIONS", "EXEMPTEXPENSES", "EXEMPTINPUT", "EXEMPTOUTPUT", "GSTONIMPORTS", "INPUT", "INPUTTAXED", "MOSSSALES", "NONE", "NONEOUTPUT", "OUTPUT", "PURCHASESINPUT", "SALESOUTPUT", "EXEMPTCAPITAL", "EXEMPTEXPORT", "CAPITALEXINPUT", "GSTONCAPIMPORTS", "GSTONCAPITALIMPORTS", "REVERSECHARGES", "PAYMENTS", "INVOICE", "CASH", "ACCRUAL", "FLATRATECASH", "FLATRATEACCRUAL", "ACCRUALS", "TXCA", "SRCAS", "DSOUTPUT", "BLINPUT2", "EPINPUT", "IMINPUT2", "MEINPUT", "IGDSINPUT2", "ESN33OUTPUT", "OPINPUT", "OSOUTPUT", "TXN33INPUT", "TXESSINPUT", "TXREINPUT", "TXPETINPUT", "NRINPUT", "ES33OUTPUT", "ZERORATEDINPUT", "ZERORATEDOUTPUT", "DRCHARGESUPPLY", "DRCHARGE", "CAPINPUT", "CAPIMPORTS", "IMINPUT", "INPUT2", "CIUINPUT", "SRINPUT", "OUTPUT2", "SROUTPUT", "CAPOUTPUT", "SROUTPUT2", "CIUOUTPUT", "ZROUTPUT", "ZREXPORT", "ACC28PLUS", "ACCUPTO28", "OTHEROUTPUT", "SHOUTPUT", "ZRINPUT", "BADDEBT", "OTHERINPUT", "BADDEBTRELIEF", "IGDSINPUT3", "SROVR", "TOURISTREFUND", "TXRCN33", "TXRCRE", "TXRCESS", "TXRCTS", "CAPEXINPUT", "UNDEFINED", "CAPEXOUTPUT", "ZEROEXPOUTPUT", "GOODSIMPORT", "NONEINPUT", "NOTREPORTED", "SROVRRS", "SROVRLVG", "SRLVG", "IM", "IMESS", "IMN33", "IMRE", "BADDEBTRECOVERY", "USSALESTAX", "BLINPUT3"])
295
313
  unless validator.valid?(report_tax_type)
296
314
  fail ArgumentError, "invalid value for \"report_tax_type\", must be one of #{validator.allowable_values}."
297
315
  end
@@ -77,9 +77,66 @@ module XeroRuby::Accounting
77
77
  IGDSINPUT3 ||= "IGDSINPUT3".freeze
78
78
  SROVR ||= "SROVR".freeze
79
79
  TOURISTREFUND ||= "TOURISTREFUND".freeze
80
- TXRCN33_INPUT ||= "TXRCN33INPUT".freeze
81
- TXRCREINPUT ||= "TXRCREINPUT".freeze
82
- TXRCESSINPUT ||= "TXRCESSINPUT".freeze
80
+ TXRCN33 ||= "TXRCN33".freeze
81
+ TXRCRE ||= "TXRCRE".freeze
82
+ TXRCESS ||= "TXRCESS".freeze
83
+ TXRCTS ||= "TXRCTS".freeze
84
+ OUTPUTY23 ||= "OUTPUTY23".freeze
85
+ DSOUTPUTY23 ||= "DSOUTPUTY23".freeze
86
+ INPUTY23 ||= "INPUTY23".freeze
87
+ IMINPUT2_Y23 ||= "IMINPUT2Y23".freeze
88
+ IGDSINPUT2_Y23 ||= "IGDSINPUT2Y23".freeze
89
+ TXPETINPUTY23 ||= "TXPETINPUTY23".freeze
90
+ TXESSINPUTY23 ||= "TXESSINPUTY23".freeze
91
+ TXN33_INPUTY23 ||= "TXN33INPUTY23".freeze
92
+ TXREINPUTY23 ||= "TXREINPUTY23".freeze
93
+ TXCAY23 ||= "TXCAY23".freeze
94
+ BADDEBTRELIEFY23 ||= "BADDEBTRELIEFY23".freeze
95
+ IGDSINPUT3_Y23 ||= "IGDSINPUT3Y23".freeze
96
+ SROVRRSY23 ||= "SROVRRSY23".freeze
97
+ SROVRLVGY23 ||= "SROVRLVGY23".freeze
98
+ SRLVGY23 ||= "SRLVGY23".freeze
99
+ TXRCN33_Y23 ||= "TXRCN33Y23".freeze
100
+ TXRCREY23 ||= "TXRCREY23".freeze
101
+ TXRCESSY23 ||= "TXRCESSY23".freeze
102
+ TXRCTSY23 ||= "TXRCTSY23".freeze
103
+ IM ||= "IM".freeze
104
+ IMY23 ||= "IMY23".freeze
105
+ IMESS ||= "IMESS".freeze
106
+ IMESSY23 ||= "IMESSY23".freeze
107
+ IMN33 ||= "IMN33".freeze
108
+ IMN33_Y23 ||= "IMN33Y23".freeze
109
+ IMRE ||= "IMRE".freeze
110
+ IMREY23 ||= "IMREY23".freeze
111
+ BADDEBTRECOVERY ||= "BADDEBTRECOVERY".freeze
112
+ BADDEBTRECOVERYY23 ||= "BADDEBTRECOVERYY23".freeze
113
+ OUTPUTY24 ||= "OUTPUTY24".freeze
114
+ DSOUTPUTY24 ||= "DSOUTPUTY24".freeze
115
+ INPUTY24 ||= "INPUTY24".freeze
116
+ IGDSINPUT2_Y24 ||= "IGDSINPUT2Y24".freeze
117
+ TXPETINPUTY24 ||= "TXPETINPUTY24".freeze
118
+ TXESSINPUTY24 ||= "TXESSINPUTY24".freeze
119
+ TXN33_INPUTY24 ||= "TXN33INPUTY24".freeze
120
+ TXREINPUTY24 ||= "TXREINPUTY24".freeze
121
+ TXCAY24 ||= "TXCAY24".freeze
122
+ BADDEBTRELIEFY24 ||= "BADDEBTRELIEFY24".freeze
123
+ IGDSINPUT3_Y24 ||= "IGDSINPUT3Y24".freeze
124
+ SROVRRSY24 ||= "SROVRRSY24".freeze
125
+ SROVRLVGY24 ||= "SROVRLVGY24".freeze
126
+ SRLVGY24 ||= "SRLVGY24".freeze
127
+ TXRCTSY24 ||= "TXRCTSY24".freeze
128
+ TXRCESSY24 ||= "TXRCESSY24".freeze
129
+ TXRCN33_Y24 ||= "TXRCN33Y24".freeze
130
+ TXRCREY24 ||= "TXRCREY24".freeze
131
+ IMY24 ||= "IMY24".freeze
132
+ IMESSY24 ||= "IMESSY24".freeze
133
+ IMN33_Y24 ||= "IMN33Y24".freeze
134
+ IMREY24 ||= "IMREY24".freeze
135
+ BADDEBTRECOVERYY24 ||= "BADDEBTRECOVERYY24".freeze
136
+ OSOUTPUT2 ||= "OSOUTPUT2".freeze
137
+ BLINPUT3 ||= "BLINPUT3".freeze
138
+ BLINPUT3_Y23 ||= "BLINPUT3Y23".freeze
139
+ BLINPUT3_Y24 ||= "BLINPUT3Y24".freeze
83
140
 
84
141
  # Builds the enum from string
85
142
  # @param [String] The enum value in the form of the string
@@ -82,6 +82,44 @@ module XeroRuby::Accounting
82
82
  # Contact contact id
83
83
  attr_accessor :contact_id
84
84
 
85
+ # Contact legal name
86
+ attr_accessor :legal_name
87
+
88
+ # Contact business name
89
+ attr_accessor :business_name
90
+
91
+ # Contact federal tax classification
92
+ attr_accessor :federal_tax_classification
93
+ SOLE_PROPRIETOR ||= "SOLE_PROPRIETOR".freeze
94
+ PARTNERSHIP ||= "PARTNERSHIP".freeze
95
+ TRUST_OR_ESTATE ||= "TRUST_OR_ESTATE".freeze
96
+ NONPROFIT ||= "NONPROFIT".freeze
97
+ C_CORP ||= "C_CORP".freeze
98
+ S_CORP ||= "S_CORP".freeze
99
+ OTHER ||= "OTHER".freeze
100
+
101
+ class EnumAttributeValidator
102
+ attr_reader :datatype
103
+ attr_reader :allowable_values
104
+
105
+ def initialize(datatype, allowable_values)
106
+ @allowable_values = allowable_values.map do |value|
107
+ case datatype.to_s
108
+ when /Integer/i
109
+ value.to_i
110
+ when /Float/i
111
+ value.to_f
112
+ else
113
+ value
114
+ end
115
+ end
116
+ end
117
+
118
+ def valid?(value)
119
+ !value || allowable_values.include?(value)
120
+ end
121
+ end
122
+
85
123
  # Attribute mapping from ruby-style variable name to JSON key.
86
124
  def self.attribute_map
87
125
  {
@@ -106,7 +144,10 @@ module XeroRuby::Accounting
106
144
  :'email' => :'Email',
107
145
  :'street_address' => :'StreetAddress',
108
146
  :'tax_id' => :'TaxID',
109
- :'contact_id' => :'ContactId'
147
+ :'contact_id' => :'ContactId',
148
+ :'legal_name' => :'LegalName',
149
+ :'business_name' => :'BusinessName',
150
+ :'federal_tax_classification' => :'FederalTaxClassification'
110
151
  }
111
152
  end
112
153
 
@@ -134,7 +175,10 @@ module XeroRuby::Accounting
134
175
  :'email' => :'String',
135
176
  :'street_address' => :'String',
136
177
  :'tax_id' => :'String',
137
- :'contact_id' => :'String'
178
+ :'contact_id' => :'String',
179
+ :'legal_name' => :'String',
180
+ :'business_name' => :'String',
181
+ :'federal_tax_classification' => :'String'
138
182
  }
139
183
  end
140
184
 
@@ -240,6 +284,18 @@ module XeroRuby::Accounting
240
284
  if attributes.key?(:'contact_id')
241
285
  self.contact_id = attributes[:'contact_id']
242
286
  end
287
+
288
+ if attributes.key?(:'legal_name')
289
+ self.legal_name = attributes[:'legal_name']
290
+ end
291
+
292
+ if attributes.key?(:'business_name')
293
+ self.business_name = attributes[:'business_name']
294
+ end
295
+
296
+ if attributes.key?(:'federal_tax_classification')
297
+ self.federal_tax_classification = attributes[:'federal_tax_classification']
298
+ end
243
299
  end
244
300
 
245
301
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -252,9 +308,21 @@ module XeroRuby::Accounting
252
308
  # Check to see if the all the properties in the model are valid
253
309
  # @return true if the model is valid
254
310
  def valid?
311
+ federal_tax_classification_validator = EnumAttributeValidator.new('String', ["SOLE_PROPRIETOR", "PARTNERSHIP", "TRUST_OR_ESTATE", "NONPROFIT", "C_CORP", "S_CORP", "OTHER"])
312
+ return false unless federal_tax_classification_validator.valid?(@federal_tax_classification)
255
313
  true
256
314
  end
257
315
 
316
+ # Custom attribute writer method checking allowed values (enum).
317
+ # @param [Object] federal_tax_classification Object to be assigned
318
+ def federal_tax_classification=(federal_tax_classification)
319
+ validator = EnumAttributeValidator.new('String', ["SOLE_PROPRIETOR", "PARTNERSHIP", "TRUST_OR_ESTATE", "NONPROFIT", "C_CORP", "S_CORP", "OTHER"])
320
+ unless validator.valid?(federal_tax_classification)
321
+ fail ArgumentError, "invalid value for \"federal_tax_classification\", must be one of #{validator.allowable_values}."
322
+ end
323
+ @federal_tax_classification = federal_tax_classification
324
+ end
325
+
258
326
  # Checks equality by comparing each attribute.
259
327
  # @param [Object] Object to be compared
260
328
  def ==(o)
@@ -281,7 +349,10 @@ module XeroRuby::Accounting
281
349
  email == o.email &&
282
350
  street_address == o.street_address &&
283
351
  tax_id == o.tax_id &&
284
- contact_id == o.contact_id
352
+ contact_id == o.contact_id &&
353
+ legal_name == o.legal_name &&
354
+ business_name == o.business_name &&
355
+ federal_tax_classification == o.federal_tax_classification
285
356
  end
286
357
 
287
358
  # @see the `==` method
@@ -293,7 +364,7 @@ module XeroRuby::Accounting
293
364
  # Calculates hash code according to all attributes.
294
365
  # @return [Integer] Hash code
295
366
  def hash
296
- [box1, box2, box3, box4, box5, box6, box7, box8, box9, box10, box11, box13, box14, name, federal_tax_id_type, city, zip, state, email, street_address, tax_id, contact_id].hash
367
+ [box1, box2, box3, box4, box5, box6, box7, box8, box9, box10, box11, box13, box14, name, federal_tax_id_type, city, zip, state, email, street_address, tax_id, contact_id, legal_name, business_name, federal_tax_classification].hash
297
368
  end
298
369
 
299
370
  # Builds the object from hash