xero-ruby 3.4.0 → 3.7.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 (226) hide show
  1. checksums.yaml +4 -4
  2. data/lib/xero-ruby/api/finance_api.rb +961 -0
  3. data/lib/xero-ruby/api/payroll_uk_api.rb +2 -2
  4. data/lib/xero-ruby/api_client.rb +12 -1
  5. data/lib/xero-ruby/configuration.rb +2 -0
  6. data/lib/xero-ruby/models/accounting/account.rb +34 -34
  7. data/lib/xero-ruby/models/accounting/account_type.rb +22 -22
  8. data/lib/xero-ruby/models/accounting/action.rb +2 -2
  9. data/lib/xero-ruby/models/accounting/address.rb +2 -2
  10. data/lib/xero-ruby/models/accounting/address_for_organisation.rb +3 -3
  11. data/lib/xero-ruby/models/accounting/bank_transaction.rb +11 -11
  12. data/lib/xero-ruby/models/accounting/batch_payment.rb +4 -4
  13. data/lib/xero-ruby/models/accounting/branding_theme.rb +1 -1
  14. data/lib/xero-ruby/models/accounting/budget.rb +2 -2
  15. data/lib/xero-ruby/models/accounting/contact.rb +89 -4
  16. data/lib/xero-ruby/models/accounting/contact_group.rb +2 -2
  17. data/lib/xero-ruby/models/accounting/country_code.rb +240 -240
  18. data/lib/xero-ruby/models/accounting/credit_note.rb +8 -8
  19. data/lib/xero-ruby/models/accounting/currency_code.rb +166 -166
  20. data/lib/xero-ruby/models/accounting/employee.rb +4 -4
  21. data/lib/xero-ruby/models/accounting/expense_claim.rb +5 -5
  22. data/lib/xero-ruby/models/accounting/external_link.rb +5 -5
  23. data/lib/xero-ruby/models/accounting/invoice.rb +14 -14
  24. data/lib/xero-ruby/models/accounting/journal.rb +25 -25
  25. data/lib/xero-ruby/models/accounting/line_amount_types.rb +3 -3
  26. data/lib/xero-ruby/models/accounting/line_item.rb +11 -1
  27. data/lib/xero-ruby/models/accounting/line_item_item.rb +272 -0
  28. data/lib/xero-ruby/models/accounting/linked_transaction.rb +8 -8
  29. data/lib/xero-ruby/models/accounting/manual_journal.rb +5 -5
  30. data/lib/xero-ruby/models/accounting/organisation.rb +70 -70
  31. data/lib/xero-ruby/models/accounting/overpayment.rb +6 -6
  32. data/lib/xero-ruby/models/accounting/payment.rb +10 -10
  33. data/lib/xero-ruby/models/accounting/payment_term_type.rb +4 -4
  34. data/lib/xero-ruby/models/accounting/phone.rb +5 -5
  35. data/lib/xero-ruby/models/accounting/prepayment.rb +7 -7
  36. data/lib/xero-ruby/models/accounting/purchase_order.rb +5 -5
  37. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +3 -3
  38. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +6 -6
  39. data/lib/xero-ruby/models/accounting/receipt.rb +5 -5
  40. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +5 -5
  41. data/lib/xero-ruby/models/accounting/report.rb +1 -1
  42. data/lib/xero-ruby/models/accounting/row_type.rb +4 -4
  43. data/lib/xero-ruby/models/accounting/schedule.rb +8 -8
  44. data/lib/xero-ruby/models/accounting/tax_rate.rb +78 -78
  45. data/lib/xero-ruby/models/accounting/tax_type.rb +59 -59
  46. data/lib/xero-ruby/models/accounting/time_zone.rb +109 -109
  47. data/lib/xero-ruby/models/accounting/tracking_category.rb +3 -3
  48. data/lib/xero-ruby/models/accounting/tracking_option.rb +3 -3
  49. data/lib/xero-ruby/models/accounting/user.rb +7 -7
  50. data/lib/xero-ruby/models/app_store/plan.rb +6 -5
  51. data/lib/xero-ruby/models/app_store/product.rb +2 -2
  52. data/lib/xero-ruby/models/app_store/subscription.rb +37 -0
  53. data/lib/xero-ruby/models/app_store/subscription_item.rb +53 -1
  54. data/lib/xero-ruby/models/assets/asset_status.rb +3 -3
  55. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +3 -3
  56. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +11 -11
  57. data/lib/xero-ruby/models/files/object_group.rb +12 -11
  58. data/lib/xero-ruby/models/files/object_type.rb +56 -55
  59. data/lib/xero-ruby/models/finance/account_usage.rb +342 -0
  60. data/lib/xero-ruby/models/finance/account_usage_response.rb +254 -0
  61. data/lib/xero-ruby/models/finance/balance_sheet_account_detail.rb +262 -0
  62. data/lib/xero-ruby/models/finance/balance_sheet_account_group.rb +234 -0
  63. data/lib/xero-ruby/models/finance/balance_sheet_account_type.rb +244 -0
  64. data/lib/xero-ruby/models/finance/balance_sheet_response.rb +252 -0
  65. data/lib/xero-ruby/models/finance/bank_statement_accounting_response.rb +254 -0
  66. data/lib/xero-ruby/models/finance/bank_statement_response.rb +232 -0
  67. data/lib/xero-ruby/models/finance/bank_transaction_response.rb +274 -0
  68. data/lib/xero-ruby/models/finance/cash_account_response.rb +262 -0
  69. data/lib/xero-ruby/models/finance/cash_balance.rb +242 -0
  70. data/lib/xero-ruby/models/finance/cash_validation_response.rb +262 -0
  71. data/lib/xero-ruby/models/finance/cashflow_account.rb +282 -0
  72. data/lib/xero-ruby/models/finance/cashflow_activity.rb +244 -0
  73. data/lib/xero-ruby/models/finance/cashflow_response.rb +254 -0
  74. data/lib/xero-ruby/models/finance/cashflow_type.rb +244 -0
  75. data/lib/xero-ruby/models/finance/contact_detail.rb +274 -0
  76. data/lib/xero-ruby/models/finance/contact_response.rb +232 -0
  77. data/lib/xero-ruby/models/finance/contact_total_detail.rb +242 -0
  78. data/lib/xero-ruby/models/finance/contact_total_other.rb +252 -0
  79. data/lib/xero-ruby/models/finance/credit_note_response.rb +254 -0
  80. data/lib/xero-ruby/models/finance/current_statement_response.rb +272 -0
  81. data/lib/xero-ruby/models/finance/data_source_response.rb +362 -0
  82. data/lib/xero-ruby/models/finance/history_record_response.rb +262 -0
  83. data/lib/xero-ruby/models/finance/income_by_contact_response.rb +284 -0
  84. data/lib/xero-ruby/models/finance/invoice_response.rb +254 -0
  85. data/lib/xero-ruby/models/finance/line_item_response.rb +252 -0
  86. data/lib/xero-ruby/models/finance/lock_history_model.rb +242 -0
  87. data/lib/xero-ruby/models/finance/lock_history_response.rb +244 -0
  88. data/lib/xero-ruby/models/finance/manual_journal_total.rb +222 -0
  89. data/lib/xero-ruby/models/finance/overpayment_response.rb +254 -0
  90. data/lib/xero-ruby/models/finance/payment_response.rb +312 -0
  91. data/lib/xero-ruby/models/finance/pnl_account.rb +272 -0
  92. data/lib/xero-ruby/models/finance/pnl_account_class.rb +234 -0
  93. data/lib/xero-ruby/models/finance/pnl_account_type.rb +244 -0
  94. data/lib/xero-ruby/models/finance/practice_response.rb +262 -0
  95. data/lib/xero-ruby/models/finance/prepayment_response.rb +254 -0
  96. data/lib/xero-ruby/models/finance/problem.rb +252 -0
  97. data/lib/xero-ruby/models/finance/problem_type.rb +44 -0
  98. data/lib/xero-ruby/models/finance/profit_and_loss_response.rb +262 -0
  99. data/lib/xero-ruby/models/finance/report_history_model.rb +242 -0
  100. data/lib/xero-ruby/models/finance/report_history_response.rb +244 -0
  101. data/lib/xero-ruby/models/finance/statement_balance_response.rb +232 -0
  102. data/lib/xero-ruby/models/finance/statement_line_response.rb +346 -0
  103. data/lib/xero-ruby/models/finance/statement_lines_response.rb +382 -0
  104. data/lib/xero-ruby/models/finance/statement_response.rb +274 -0
  105. data/lib/xero-ruby/models/finance/total_detail.rb +242 -0
  106. data/lib/xero-ruby/models/finance/total_other.rb +242 -0
  107. data/lib/xero-ruby/models/finance/trial_balance_account.rb +312 -0
  108. data/lib/xero-ruby/models/finance/trial_balance_entry.rb +232 -0
  109. data/lib/xero-ruby/models/finance/trial_balance_movement.rb +252 -0
  110. data/lib/xero-ruby/models/finance/trial_balance_response.rb +244 -0
  111. data/lib/xero-ruby/models/finance/user_activities_response.rb +244 -0
  112. data/lib/xero-ruby/models/finance/user_response.rb +336 -0
  113. data/lib/xero-ruby/models/payroll_au/account_type.rb +23 -23
  114. data/lib/xero-ruby/models/payroll_au/allowance_category.rb +41 -0
  115. data/lib/xero-ruby/models/payroll_au/allowance_type.rb +10 -7
  116. data/lib/xero-ruby/models/payroll_au/calendar_type.rb +6 -6
  117. data/lib/xero-ruby/models/payroll_au/deduction_type.rb +3 -3
  118. data/lib/xero-ruby/models/payroll_au/deduction_type_calculation_type.rb +3 -3
  119. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +14 -4
  120. data/lib/xero-ruby/models/payroll_au/earnings_rate_calculation_type.rb +3 -3
  121. data/lib/xero-ruby/models/payroll_au/earnings_type.rb +12 -12
  122. data/lib/xero-ruby/models/payroll_au/employee.rb +11 -11
  123. data/lib/xero-ruby/models/payroll_au/employee_status.rb +2 -2
  124. data/lib/xero-ruby/models/payroll_au/employment_basis.rb +5 -5
  125. data/lib/xero-ruby/models/payroll_au/employment_termination_payment_type.rb +2 -2
  126. data/lib/xero-ruby/models/payroll_au/entitlement_final_pay_payout_type.rb +2 -2
  127. data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +5 -5
  128. data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +2 -2
  129. data/lib/xero-ruby/models/payroll_au/leave_type_contribution_type.rb +4 -4
  130. data/lib/xero-ruby/models/payroll_au/manual_tax_type.rb +6 -6
  131. data/lib/xero-ruby/models/payroll_au/pay_run_status.rb +2 -2
  132. data/lib/xero-ruby/models/payroll_au/payment_frequency_type.rb +7 -7
  133. data/lib/xero-ruby/models/payroll_au/rate_type.rb +3 -3
  134. data/lib/xero-ruby/models/payroll_au/residency_status.rb +3 -3
  135. data/lib/xero-ruby/models/payroll_au/state.rb +8 -8
  136. data/lib/xero-ruby/models/payroll_au/super_fund_type.rb +2 -2
  137. data/lib/xero-ruby/models/payroll_au/superannuation_calculation_type.rb +3 -3
  138. data/lib/xero-ruby/models/payroll_au/superannuation_contribution_type.rb +4 -4
  139. data/lib/xero-ruby/models/payroll_au/tfn_exemption_type.rb +4 -4
  140. data/lib/xero-ruby/models/payroll_au/timesheet_status.rb +5 -5
  141. data/lib/xero-ruby/models/payroll_nz/account.rb +4 -4
  142. data/lib/xero-ruby/models/payroll_nz/bank_account.rb +2 -2
  143. data/lib/xero-ruby/models/payroll_nz/benefit.rb +5 -5
  144. data/lib/xero-ruby/models/payroll_nz/calendar_type.rb +7 -7
  145. data/lib/xero-ruby/models/payroll_nz/deduction.rb +4 -4
  146. data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +18 -18
  147. data/lib/xero-ruby/models/payroll_nz/employee.rb +2 -2
  148. data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +4 -4
  149. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +6 -6
  150. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +8 -8
  151. data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +5 -5
  152. data/lib/xero-ruby/models/payroll_nz/leave_period.rb +2 -2
  153. data/lib/xero-ruby/models/payroll_nz/pay_run.rb +5 -5
  154. data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +3 -3
  155. data/lib/xero-ruby/models/payroll_nz/payment_method.rb +3 -3
  156. data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +8 -8
  157. data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +5 -5
  158. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_category.rb +11 -11
  159. data/lib/xero-ruby/models/payroll_nz/tax_code.rb +19 -19
  160. data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +2 -2
  161. data/lib/xero-ruby/models/payroll_nz/timesheet.rb +4 -4
  162. data/lib/xero-ruby/models/payroll_uk/account.rb +7 -7
  163. data/lib/xero-ruby/models/payroll_uk/benefit.rb +4 -4
  164. data/lib/xero-ruby/models/payroll_uk/deduction.rb +12 -12
  165. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +26 -26
  166. data/lib/xero-ruby/models/payroll_uk/employee.rb +16 -6
  167. data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +4 -4
  168. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +6 -6
  169. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +8 -8
  170. data/lib/xero-ruby/models/payroll_uk/employment.rb +8 -8
  171. data/lib/xero-ruby/models/payroll_uk/leave_period.rb +2 -2
  172. data/lib/xero-ruby/models/payroll_uk/pay_run.rb +11 -11
  173. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +6 -6
  174. data/lib/xero-ruby/models/payroll_uk/payment_method.rb +3 -3
  175. data/lib/xero-ruby/models/payroll_uk/payslip.rb +3 -3
  176. data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +5 -5
  177. data/lib/xero-ruby/models/payroll_uk/statutory_deduction_category.rb +14 -14
  178. data/lib/xero-ruby/models/payroll_uk/timesheet.rb +3 -3
  179. data/lib/xero-ruby/models/projects/charge_type.rb +3 -3
  180. data/lib/xero-ruby/models/projects/currency_code.rb +164 -164
  181. data/lib/xero-ruby/models/projects/project_status.rb +2 -2
  182. data/lib/xero-ruby/models/projects/task.rb +3 -3
  183. data/lib/xero-ruby/models/projects/time_entry.rb +3 -3
  184. data/lib/xero-ruby/version.rb +2 -2
  185. data/lib/xero-ruby.rb +57 -0
  186. data/spec/api_client_spec.rb +3 -0
  187. data/spec/app_store/api/app_store_api_spec.rb +1 -1
  188. data/spec/configuration_spec.rb +1 -0
  189. data/spec/finance/api/finance_api_spec.rb +156 -0
  190. data/spec/finance/models/account_usage_response_spec.rb +58 -0
  191. data/spec/finance/models/account_usage_spec.rb +112 -0
  192. data/spec/finance/models/balance_sheet_account_detail_spec.rb +64 -0
  193. data/spec/finance/models/balance_sheet_account_group_spec.rb +46 -0
  194. data/spec/finance/models/balance_sheet_account_type_spec.rb +52 -0
  195. data/spec/finance/models/balance_sheet_response_spec.rb +58 -0
  196. data/spec/finance/models/bank_statement_response_spec.rb +46 -0
  197. data/spec/finance/models/cash_account_response_spec.rb +64 -0
  198. data/spec/finance/models/cash_balance_spec.rb +52 -0
  199. data/spec/finance/models/cash_validation_response_spec.rb +64 -0
  200. data/spec/finance/models/cashflow_account_spec.rb +76 -0
  201. data/spec/finance/models/cashflow_activity_spec.rb +52 -0
  202. data/spec/finance/models/cashflow_response_spec.rb +58 -0
  203. data/spec/finance/models/cashflow_type_spec.rb +52 -0
  204. data/spec/finance/models/current_statement_response_spec.rb +70 -0
  205. data/spec/finance/models/data_source_response_spec.rb +124 -0
  206. data/spec/finance/models/history_record_response_spec.rb +64 -0
  207. data/spec/finance/models/lock_history_model_spec.rb +52 -0
  208. data/spec/finance/models/lock_history_response_spec.rb +52 -0
  209. data/spec/finance/models/pnl_account_class_spec.rb +46 -0
  210. data/spec/finance/models/pnl_account_spec.rb +70 -0
  211. data/spec/finance/models/pnl_account_type_spec.rb +52 -0
  212. data/spec/finance/models/practice_response_spec.rb +64 -0
  213. data/spec/finance/models/problem_spec.rb +58 -0
  214. data/spec/finance/models/problem_type_spec.rb +34 -0
  215. data/spec/finance/models/profit_and_loss_response_spec.rb +64 -0
  216. data/spec/finance/models/report_history_model_spec.rb +52 -0
  217. data/spec/finance/models/report_history_response_spec.rb +52 -0
  218. data/spec/finance/models/statement_balance_response_spec.rb +46 -0
  219. data/spec/finance/models/statement_lines_response_spec.rb +136 -0
  220. data/spec/finance/models/trial_balance_account_spec.rb +94 -0
  221. data/spec/finance/models/trial_balance_entry_spec.rb +46 -0
  222. data/spec/finance/models/trial_balance_movement_spec.rb +58 -0
  223. data/spec/finance/models/trial_balance_response_spec.rb +52 -0
  224. data/spec/finance/models/user_activities_response_spec.rb +52 -0
  225. data/spec/finance/models/user_response_spec.rb +106 -0
  226. metadata +133 -2
@@ -3594,7 +3594,7 @@ module XeroRuby
3594
3594
  # Retrieves employees
3595
3595
  # @param xero_tenant_id [String] Xero identifier for Tenant
3596
3596
  # @param [Hash] opts the optional parameters
3597
- # @option opts [String] :filter Filter by first name and/or lastname
3597
+ # @option opts [String] :filter Filter by first name, lastname, and/or whether they are an off-payroll worker
3598
3598
  # @option opts [Integer] :page Page number which specifies the set of records to retrieve. By default the number of the records per set is 100.
3599
3599
  # @return [Employees]
3600
3600
  def get_employees(xero_tenant_id, opts = {})
@@ -3605,7 +3605,7 @@ module XeroRuby
3605
3605
  # Retrieves employees
3606
3606
  # @param xero_tenant_id [String] Xero identifier for Tenant
3607
3607
  # @param [Hash] opts the optional parameters
3608
- # @option opts [String] :filter Filter by first name and/or lastname
3608
+ # @option opts [String] :filter Filter by first name, lastname, and/or whether they are an off-payroll worker
3609
3609
  # @option opts [Integer] :page Page number which specifies the set of records to retrieve. By default the number of the records per set is 100.
3610
3610
  # @return [Array<(Employees, Integer, Hash)>] Employees data, response status code and response headers
3611
3611
  def get_employees_with_http_info(xero_tenant_id, options = {})
@@ -110,6 +110,11 @@ module XeroRuby
110
110
  XeroRuby::AppStoreApi.new(self)
111
111
  end
112
112
 
113
+ def finance_api
114
+ @config.base_url = @config.finance_url
115
+ XeroRuby::FinanceApi.new(self)
116
+ end
117
+
113
118
  # Token Helpers
114
119
  def token_set
115
120
  @config.token_set
@@ -183,7 +188,7 @@ module XeroRuby
183
188
  end
184
189
 
185
190
  def validate_state(params)
186
- if params[:state] != @state
191
+ if params['state'] != @state
187
192
  raise StandardError.new "WARNING: @config.state: #{@state} and OAuth callback state: #{params['state']} do not match!"
188
193
  end
189
194
  return true
@@ -284,6 +289,10 @@ module XeroRuby
284
289
  method_base_url = @config.payroll_uk_url
285
290
  when "ProjectApi"
286
291
  method_base_url = @config.project_url
292
+ when "AppStoreApi"
293
+ method_base_url = @config.app_store_url
294
+ when "FinanceApi"
295
+ method_base_url = @config.finance_url
287
296
  else
288
297
  method_base_url = @config.accounting_url
289
298
  end
@@ -508,6 +517,8 @@ module XeroRuby
508
517
  XeroRuby::PayrollUk.const_get(return_type).build_from_hash(data)
509
518
  when 'AppStoreApi'
510
519
  XeroRuby::AppStore.const_get(return_type).build_from_hash(data)
520
+ when 'FinanceApi'
521
+ XeroRuby::Finance.const_get(return_type).build_from_hash(data)
511
522
  else
512
523
  XeroRuby::Accounting.const_get(return_type).build_from_hash(data)
513
524
  end
@@ -34,6 +34,7 @@ module XeroRuby
34
34
  attr_accessor :payroll_nz_url
35
35
  attr_accessor :payroll_uk_url
36
36
  attr_accessor :app_store_url
37
+ attr_accessor :finance_url
37
38
 
38
39
  # Defines API keys used with API Key authentications.
39
40
  #
@@ -151,6 +152,7 @@ module XeroRuby
151
152
  @payroll_nz_url = 'https://api.xero.com/payroll.xro/2.0/'
152
153
  @payroll_uk_url = 'https://api.xero.com/payroll.xro/2.0/'
153
154
  @app_store_url = 'https://api.xero.com/appstore/2.0/'
155
+ @finance_url = 'https://api.xero.com/finance.xro/1.0/'
154
156
  @access_token = nil
155
157
  @id_token = nil
156
158
  @api_key = {}
@@ -33,20 +33,20 @@ module XeroRuby::Accounting
33
33
 
34
34
  # Accounts with a status of ACTIVE can be updated to ARCHIVED. See Account Status Codes
35
35
  attr_accessor :status
36
- ACTIVE = "ACTIVE".freeze
37
- ARCHIVED = "ARCHIVED".freeze
38
- DELETED = "DELETED".freeze
36
+ ACTIVE ||= "ACTIVE".freeze
37
+ ARCHIVED ||= "ARCHIVED".freeze
38
+ DELETED ||= "DELETED".freeze
39
39
 
40
40
  # Description of the Account. Valid for all types of accounts except bank accounts (max length = 4000)
41
41
  attr_accessor :description
42
42
 
43
43
  # For bank accounts only. See Bank Account types
44
44
  attr_accessor :bank_account_type
45
- BANK = "BANK".freeze
46
- CREDITCARD = "CREDITCARD".freeze
47
- PAYPAL = "PAYPAL".freeze
48
- NONE = "NONE".freeze
49
- EMPTY = "".freeze
45
+ BANK ||= "BANK".freeze
46
+ CREDITCARD ||= "CREDITCARD".freeze
47
+ PAYPAL ||= "PAYPAL".freeze
48
+ NONE ||= "NONE".freeze
49
+ EMPTY ||= "".freeze
50
50
 
51
51
 
52
52
  attr_accessor :currency_code
@@ -62,35 +62,35 @@ module XeroRuby::Accounting
62
62
 
63
63
  # See Account Class Types
64
64
  attr_accessor :_class
65
- ASSET = "ASSET".freeze
66
- EQUITY = "EQUITY".freeze
67
- EXPENSE = "EXPENSE".freeze
68
- LIABILITY = "LIABILITY".freeze
69
- REVENUE = "REVENUE".freeze
65
+ ASSET ||= "ASSET".freeze
66
+ EQUITY ||= "EQUITY".freeze
67
+ EXPENSE ||= "EXPENSE".freeze
68
+ LIABILITY ||= "LIABILITY".freeze
69
+ REVENUE ||= "REVENUE".freeze
70
70
 
71
71
  # If this is a system account then this element is returned. See System Account types. Note that non-system accounts may have this element set as either “” or null.
72
72
  attr_accessor :system_account
73
- DEBTORS = "DEBTORS".freeze
74
- CREDITORS = "CREDITORS".freeze
75
- BANKCURRENCYGAIN = "BANKCURRENCYGAIN".freeze
76
- GST = "GST".freeze
77
- GSTONIMPORTS = "GSTONIMPORTS".freeze
78
- HISTORICAL = "HISTORICAL".freeze
79
- REALISEDCURRENCYGAIN = "REALISEDCURRENCYGAIN".freeze
80
- RETAINEDEARNINGS = "RETAINEDEARNINGS".freeze
81
- ROUNDING = "ROUNDING".freeze
82
- TRACKINGTRANSFERS = "TRACKINGTRANSFERS".freeze
83
- UNPAIDEXPCLM = "UNPAIDEXPCLM".freeze
84
- UNREALISEDCURRENCYGAIN = "UNREALISEDCURRENCYGAIN".freeze
85
- WAGEPAYABLES = "WAGEPAYABLES".freeze
86
- CISASSETS = "CISASSETS".freeze
87
- CISASSET = "CISASSET".freeze
88
- CISLABOUR = "CISLABOUR".freeze
89
- CISLABOUREXPENSE = "CISLABOUREXPENSE".freeze
90
- CISLABOURINCOME = "CISLABOURINCOME".freeze
91
- CISLIABILITY = "CISLIABILITY".freeze
92
- CISMATERIALS = "CISMATERIALS".freeze
93
- # EMPTY = "".freeze
73
+ DEBTORS ||= "DEBTORS".freeze
74
+ CREDITORS ||= "CREDITORS".freeze
75
+ BANKCURRENCYGAIN ||= "BANKCURRENCYGAIN".freeze
76
+ GST ||= "GST".freeze
77
+ GSTONIMPORTS ||= "GSTONIMPORTS".freeze
78
+ HISTORICAL ||= "HISTORICAL".freeze
79
+ REALISEDCURRENCYGAIN ||= "REALISEDCURRENCYGAIN".freeze
80
+ RETAINEDEARNINGS ||= "RETAINEDEARNINGS".freeze
81
+ ROUNDING ||= "ROUNDING".freeze
82
+ TRACKINGTRANSFERS ||= "TRACKINGTRANSFERS".freeze
83
+ UNPAIDEXPCLM ||= "UNPAIDEXPCLM".freeze
84
+ UNREALISEDCURRENCYGAIN ||= "UNREALISEDCURRENCYGAIN".freeze
85
+ WAGEPAYABLES ||= "WAGEPAYABLES".freeze
86
+ CISASSETS ||= "CISASSETS".freeze
87
+ CISASSET ||= "CISASSET".freeze
88
+ CISLABOUR ||= "CISLABOUR".freeze
89
+ CISLABOUREXPENSE ||= "CISLABOUREXPENSE".freeze
90
+ CISLABOURINCOME ||= "CISLABOURINCOME".freeze
91
+ CISLIABILITY ||= "CISLIABILITY".freeze
92
+ CISMATERIALS ||= "CISMATERIALS".freeze
93
+ EMPTY ||= "".freeze
94
94
 
95
95
  # Shown if set
96
96
  attr_accessor :reporting_code
@@ -14,28 +14,28 @@ require 'date'
14
14
 
15
15
  module XeroRuby::Accounting
16
16
  class AccountType
17
- BANK = "BANK".freeze
18
- CURRENT = "CURRENT".freeze
19
- CURRLIAB = "CURRLIAB".freeze
20
- DEPRECIATN = "DEPRECIATN".freeze
21
- DIRECTCOSTS = "DIRECTCOSTS".freeze
22
- EQUITY = "EQUITY".freeze
23
- EXPENSE = "EXPENSE".freeze
24
- FIXED = "FIXED".freeze
25
- INVENTORY = "INVENTORY".freeze
26
- LIABILITY = "LIABILITY".freeze
27
- NONCURRENT = "NONCURRENT".freeze
28
- OTHERINCOME = "OTHERINCOME".freeze
29
- OVERHEADS = "OVERHEADS".freeze
30
- PREPAYMENT = "PREPAYMENT".freeze
31
- REVENUE = "REVENUE".freeze
32
- SALES = "SALES".freeze
33
- TERMLIAB = "TERMLIAB".freeze
34
- PAYGLIABILITY = "PAYGLIABILITY".freeze
35
- PAYG = "PAYG".freeze
36
- SUPERANNUATIONEXPENSE = "SUPERANNUATIONEXPENSE".freeze
37
- SUPERANNUATIONLIABILITY = "SUPERANNUATIONLIABILITY".freeze
38
- WAGESEXPENSE = "WAGESEXPENSE".freeze
17
+ BANK ||= "BANK".freeze
18
+ CURRENT ||= "CURRENT".freeze
19
+ CURRLIAB ||= "CURRLIAB".freeze
20
+ DEPRECIATN ||= "DEPRECIATN".freeze
21
+ DIRECTCOSTS ||= "DIRECTCOSTS".freeze
22
+ EQUITY ||= "EQUITY".freeze
23
+ EXPENSE ||= "EXPENSE".freeze
24
+ FIXED ||= "FIXED".freeze
25
+ INVENTORY ||= "INVENTORY".freeze
26
+ LIABILITY ||= "LIABILITY".freeze
27
+ NONCURRENT ||= "NONCURRENT".freeze
28
+ OTHERINCOME ||= "OTHERINCOME".freeze
29
+ OVERHEADS ||= "OVERHEADS".freeze
30
+ PREPAYMENT ||= "PREPAYMENT".freeze
31
+ REVENUE ||= "REVENUE".freeze
32
+ SALES ||= "SALES".freeze
33
+ TERMLIAB ||= "TERMLIAB".freeze
34
+ PAYGLIABILITY ||= "PAYGLIABILITY".freeze
35
+ PAYG ||= "PAYG".freeze
36
+ SUPERANNUATIONEXPENSE ||= "SUPERANNUATIONEXPENSE".freeze
37
+ SUPERANNUATIONLIABILITY ||= "SUPERANNUATIONLIABILITY".freeze
38
+ WAGESEXPENSE ||= "WAGESEXPENSE".freeze
39
39
 
40
40
  # Builds the enum from string
41
41
  # @param [String] The enum value in the form of the string
@@ -21,8 +21,8 @@ module XeroRuby::Accounting
21
21
 
22
22
  # Status of the action for this organisation
23
23
  attr_accessor :status
24
- ALLOWED = "ALLOWED".freeze
25
- NOT_ALLOWED = "NOT-ALLOWED".freeze
24
+ ALLOWED ||= "ALLOWED".freeze
25
+ NOT_ALLOWED ||= "NOT-ALLOWED".freeze
26
26
 
27
27
  class EnumAttributeValidator
28
28
  attr_reader :datatype
@@ -18,8 +18,8 @@ module XeroRuby::Accounting
18
18
  class Address
19
19
  # define the type of address
20
20
  attr_accessor :address_type
21
- POBOX = "POBOX".freeze
22
- STREET = "STREET".freeze
21
+ POBOX ||= "POBOX".freeze
22
+ STREET ||= "STREET".freeze
23
23
 
24
24
  # max length = 500
25
25
  attr_accessor :address_line1
@@ -18,9 +18,9 @@ module XeroRuby::Accounting
18
18
  class AddressForOrganisation
19
19
  # define the type of address
20
20
  attr_accessor :address_type
21
- POBOX = "POBOX".freeze
22
- STREET = "STREET".freeze
23
- DELIVERY = "DELIVERY".freeze
21
+ POBOX ||= "POBOX".freeze
22
+ STREET ||= "STREET".freeze
23
+ DELIVERY ||= "DELIVERY".freeze
24
24
 
25
25
  # max length = 500
26
26
  attr_accessor :address_line1
@@ -18,14 +18,14 @@ module XeroRuby::Accounting
18
18
  class BankTransaction
19
19
  # See Bank Transaction Types
20
20
  attr_accessor :type
21
- RECEIVE = "RECEIVE".freeze
22
- RECEIVE_OVERPAYMENT = "RECEIVE-OVERPAYMENT".freeze
23
- RECEIVE_PREPAYMENT = "RECEIVE-PREPAYMENT".freeze
24
- SPEND = "SPEND".freeze
25
- SPEND_OVERPAYMENT = "SPEND-OVERPAYMENT".freeze
26
- SPEND_PREPAYMENT = "SPEND-PREPAYMENT".freeze
27
- RECEIVE_TRANSFER = "RECEIVE-TRANSFER".freeze
28
- SPEND_TRANSFER = "SPEND-TRANSFER".freeze
21
+ RECEIVE ||= "RECEIVE".freeze
22
+ RECEIVE_OVERPAYMENT ||= "RECEIVE-OVERPAYMENT".freeze
23
+ RECEIVE_PREPAYMENT ||= "RECEIVE-PREPAYMENT".freeze
24
+ SPEND ||= "SPEND".freeze
25
+ SPEND_OVERPAYMENT ||= "SPEND-OVERPAYMENT".freeze
26
+ SPEND_PREPAYMENT ||= "SPEND-PREPAYMENT".freeze
27
+ RECEIVE_TRANSFER ||= "RECEIVE-TRANSFER".freeze
28
+ SPEND_TRANSFER ||= "SPEND-TRANSFER".freeze
29
29
 
30
30
 
31
31
  attr_accessor :contact
@@ -56,9 +56,9 @@ module XeroRuby::Accounting
56
56
 
57
57
  # See Bank Transaction Status Codes
58
58
  attr_accessor :status
59
- AUTHORISED = "AUTHORISED".freeze
60
- DELETED = "DELETED".freeze
61
- VOIDED = "VOIDED".freeze
59
+ AUTHORISED ||= "AUTHORISED".freeze
60
+ DELETED ||= "DELETED".freeze
61
+ VOIDED ||= "VOIDED".freeze
62
62
 
63
63
 
64
64
  attr_accessor :line_amount_types
@@ -51,13 +51,13 @@ module XeroRuby::Accounting
51
51
 
52
52
  # PAYBATCH for bill payments or RECBATCH for sales invoice payments (read-only)
53
53
  attr_accessor :type
54
- PAYBATCH = "PAYBATCH".freeze
55
- RECBATCH = "RECBATCH".freeze
54
+ PAYBATCH ||= "PAYBATCH".freeze
55
+ RECBATCH ||= "RECBATCH".freeze
56
56
 
57
57
  # AUTHORISED or DELETED (read-only). New batch payments will have a status of AUTHORISED. It is not possible to delete batch payments via the API.
58
58
  attr_accessor :status
59
- AUTHORISED = "AUTHORISED".freeze
60
- DELETED = "DELETED".freeze
59
+ AUTHORISED ||= "AUTHORISED".freeze
60
+ DELETED ||= "DELETED".freeze
61
61
 
62
62
  # The total of the payments that make up the batch (read-only)
63
63
  attr_accessor :total_amount
@@ -27,7 +27,7 @@ module XeroRuby::Accounting
27
27
 
28
28
  # Always INVOICE
29
29
  attr_accessor :type
30
- INVOICE = "INVOICE".freeze
30
+ INVOICE ||= "INVOICE".freeze
31
31
 
32
32
  # Integer – ranked order of branding theme. The default branding theme has a value of 0
33
33
  attr_accessor :sort_order
@@ -21,8 +21,8 @@ module XeroRuby::Accounting
21
21
 
22
22
  # Type of Budget. OVERALL or TRACKING
23
23
  attr_accessor :type
24
- OVERALL = "OVERALL".freeze
25
- TRACKING = "TRACKING".freeze
24
+ OVERALL ||= "OVERALL".freeze
25
+ TRACKING ||= "TRACKING".freeze
26
26
 
27
27
  # The Budget description
28
28
  attr_accessor :description
@@ -19,6 +19,9 @@ module XeroRuby::Accounting
19
19
  # Xero identifier
20
20
  attr_accessor :contact_id
21
21
 
22
+ # ID for the destination of a merged contact. Only returned when using paging or when fetching a contact by ContactId or ContactNumber.
23
+ attr_accessor :merged_to_contact_id
24
+
22
25
  # This can be updated via the API only i.e. This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero.
23
26
  attr_accessor :contact_number
24
27
 
@@ -27,9 +30,9 @@ module XeroRuby::Accounting
27
30
 
28
31
  # Current status of a contact – see contact status types
29
32
  attr_accessor :contact_status
30
- ACTIVE = "ACTIVE".freeze
31
- ARCHIVED = "ARCHIVED".freeze
32
- GDPRREQUEST = "GDPRREQUEST".freeze
33
+ ACTIVE ||= "ACTIVE".freeze
34
+ ARCHIVED ||= "ARCHIVED".freeze
35
+ GDPRREQUEST ||= "GDPRREQUEST".freeze
33
36
 
34
37
  # Full name of contact/organisation (max length = 255)
35
38
  attr_accessor :name
@@ -40,6 +43,9 @@ module XeroRuby::Accounting
40
43
  # Last name of contact person (max length = 255)
41
44
  attr_accessor :last_name
42
45
 
46
+ # Company registration number (max length = 50)
47
+ attr_accessor :company_number
48
+
43
49
  # Email address of contact person (umlauts not supported) (max length = 255)
44
50
  attr_accessor :email_address
45
51
 
@@ -73,6 +79,18 @@ module XeroRuby::Accounting
73
79
  # true or false – Boolean that describes if a contact has any AR invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts receivable invoice is generated against this contact.
74
80
  attr_accessor :is_customer
75
81
 
82
+ # The default sales line amount type for a contact. Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber.
83
+ attr_accessor :sales_default_line_amount_type
84
+ INCLUSIVE ||= "INCLUSIVE".freeze
85
+ EXCLUSIVE ||= "EXCLUSIVE".freeze
86
+ NONE ||= "NONE".freeze
87
+
88
+ # The default purchases line amount type for a contact Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber.
89
+ attr_accessor :purchases_default_line_amount_type
90
+ INCLUSIVE ||= "INCLUSIVE".freeze
91
+ EXCLUSIVE ||= "EXCLUSIVE".freeze
92
+ NONE ||= "NONE".freeze
93
+
76
94
 
77
95
  attr_accessor :default_currency
78
96
 
@@ -162,12 +180,14 @@ module XeroRuby::Accounting
162
180
  def self.attribute_map
163
181
  {
164
182
  :'contact_id' => :'ContactID',
183
+ :'merged_to_contact_id' => :'MergedToContactID',
165
184
  :'contact_number' => :'ContactNumber',
166
185
  :'account_number' => :'AccountNumber',
167
186
  :'contact_status' => :'ContactStatus',
168
187
  :'name' => :'Name',
169
188
  :'first_name' => :'FirstName',
170
189
  :'last_name' => :'LastName',
190
+ :'company_number' => :'CompanyNumber',
171
191
  :'email_address' => :'EmailAddress',
172
192
  :'skype_user_name' => :'SkypeUserName',
173
193
  :'contact_persons' => :'ContactPersons',
@@ -179,6 +199,8 @@ module XeroRuby::Accounting
179
199
  :'phones' => :'Phones',
180
200
  :'is_supplier' => :'IsSupplier',
181
201
  :'is_customer' => :'IsCustomer',
202
+ :'sales_default_line_amount_type' => :'SalesDefaultLineAmountType',
203
+ :'purchases_default_line_amount_type' => :'PurchasesDefaultLineAmountType',
182
204
  :'default_currency' => :'DefaultCurrency',
183
205
  :'xero_network_key' => :'XeroNetworkKey',
184
206
  :'sales_default_account_code' => :'SalesDefaultAccountCode',
@@ -207,12 +229,14 @@ module XeroRuby::Accounting
207
229
  def self.openapi_types
208
230
  {
209
231
  :'contact_id' => :'String',
232
+ :'merged_to_contact_id' => :'String',
210
233
  :'contact_number' => :'String',
211
234
  :'account_number' => :'String',
212
235
  :'contact_status' => :'String',
213
236
  :'name' => :'String',
214
237
  :'first_name' => :'String',
215
238
  :'last_name' => :'String',
239
+ :'company_number' => :'String',
216
240
  :'email_address' => :'String',
217
241
  :'skype_user_name' => :'String',
218
242
  :'contact_persons' => :'Array<ContactPerson>',
@@ -224,6 +248,8 @@ module XeroRuby::Accounting
224
248
  :'phones' => :'Array<Phone>',
225
249
  :'is_supplier' => :'Boolean',
226
250
  :'is_customer' => :'Boolean',
251
+ :'sales_default_line_amount_type' => :'String',
252
+ :'purchases_default_line_amount_type' => :'String',
227
253
  :'default_currency' => :'CurrencyCode',
228
254
  :'xero_network_key' => :'String',
229
255
  :'sales_default_account_code' => :'String',
@@ -267,6 +293,10 @@ module XeroRuby::Accounting
267
293
  self.contact_id = attributes[:'contact_id']
268
294
  end
269
295
 
296
+ if attributes.key?(:'merged_to_contact_id')
297
+ self.merged_to_contact_id = attributes[:'merged_to_contact_id']
298
+ end
299
+
270
300
  if attributes.key?(:'contact_number')
271
301
  self.contact_number = attributes[:'contact_number']
272
302
  end
@@ -291,6 +321,10 @@ module XeroRuby::Accounting
291
321
  self.last_name = attributes[:'last_name']
292
322
  end
293
323
 
324
+ if attributes.key?(:'company_number')
325
+ self.company_number = attributes[:'company_number']
326
+ end
327
+
294
328
  if attributes.key?(:'email_address')
295
329
  self.email_address = attributes[:'email_address']
296
330
  end
@@ -341,6 +375,14 @@ module XeroRuby::Accounting
341
375
  self.is_customer = attributes[:'is_customer']
342
376
  end
343
377
 
378
+ if attributes.key?(:'sales_default_line_amount_type')
379
+ self.sales_default_line_amount_type = attributes[:'sales_default_line_amount_type']
380
+ end
381
+
382
+ if attributes.key?(:'purchases_default_line_amount_type')
383
+ self.purchases_default_line_amount_type = attributes[:'purchases_default_line_amount_type']
384
+ end
385
+
344
386
  if attributes.key?(:'default_currency')
345
387
  self.default_currency = attributes[:'default_currency']
346
388
  end
@@ -464,6 +506,10 @@ module XeroRuby::Accounting
464
506
  invalid_properties.push('invalid value for "last_name", the character length must be smaller than or equal to 255.')
465
507
  end
466
508
 
509
+ if !@company_number.nil? && @company_number.to_s.length > 50
510
+ invalid_properties.push('invalid value for "company_number", the character length must be smaller than or equal to 50.')
511
+ end
512
+
467
513
  if !@email_address.nil? && @email_address.to_s.length > 255
468
514
  invalid_properties.push('invalid value for "email_address", the character length must be smaller than or equal to 255.')
469
515
  end
@@ -485,8 +531,13 @@ module XeroRuby::Accounting
485
531
  return false if !@name.nil? && @name.to_s.length > 255
486
532
  return false if !@first_name.nil? && @first_name.to_s.length > 255
487
533
  return false if !@last_name.nil? && @last_name.to_s.length > 255
534
+ return false if !@company_number.nil? && @company_number.to_s.length > 50
488
535
  return false if !@email_address.nil? && @email_address.to_s.length > 255
489
536
  return false if !@tax_number.nil? && @tax_number.to_s.length > 50
537
+ sales_default_line_amount_type_validator = EnumAttributeValidator.new('String', ["INCLUSIVE", "EXCLUSIVE", "NONE"])
538
+ return false unless sales_default_line_amount_type_validator.valid?(@sales_default_line_amount_type)
539
+ purchases_default_line_amount_type_validator = EnumAttributeValidator.new('String', ["INCLUSIVE", "EXCLUSIVE", "NONE"])
540
+ return false unless purchases_default_line_amount_type_validator.valid?(@purchases_default_line_amount_type)
490
541
  true
491
542
  end
492
543
 
@@ -550,6 +601,16 @@ module XeroRuby::Accounting
550
601
  @last_name = last_name
551
602
  end
552
603
 
604
+ # Custom attribute writer method with validation
605
+ # @param [Object] company_number Value to be assigned
606
+ def company_number=(company_number)
607
+ if !company_number.nil? && company_number.to_s.length > 50
608
+ fail ArgumentError, 'invalid value for "company_number", the character length must be smaller than or equal to 50.'
609
+ end
610
+
611
+ @company_number = company_number
612
+ end
613
+
553
614
  # Custom attribute writer method with validation
554
615
  # @param [Object] email_address Value to be assigned
555
616
  def email_address=(email_address)
@@ -570,18 +631,40 @@ module XeroRuby::Accounting
570
631
  @tax_number = tax_number
571
632
  end
572
633
 
634
+ # Custom attribute writer method checking allowed values (enum).
635
+ # @param [Object] sales_default_line_amount_type Object to be assigned
636
+ def sales_default_line_amount_type=(sales_default_line_amount_type)
637
+ validator = EnumAttributeValidator.new('String', ["INCLUSIVE", "EXCLUSIVE", "NONE"])
638
+ unless validator.valid?(sales_default_line_amount_type)
639
+ fail ArgumentError, "invalid value for \"sales_default_line_amount_type\", must be one of #{validator.allowable_values}."
640
+ end
641
+ @sales_default_line_amount_type = sales_default_line_amount_type
642
+ end
643
+
644
+ # Custom attribute writer method checking allowed values (enum).
645
+ # @param [Object] purchases_default_line_amount_type Object to be assigned
646
+ def purchases_default_line_amount_type=(purchases_default_line_amount_type)
647
+ validator = EnumAttributeValidator.new('String', ["INCLUSIVE", "EXCLUSIVE", "NONE"])
648
+ unless validator.valid?(purchases_default_line_amount_type)
649
+ fail ArgumentError, "invalid value for \"purchases_default_line_amount_type\", must be one of #{validator.allowable_values}."
650
+ end
651
+ @purchases_default_line_amount_type = purchases_default_line_amount_type
652
+ end
653
+
573
654
  # Checks equality by comparing each attribute.
574
655
  # @param [Object] Object to be compared
575
656
  def ==(o)
576
657
  return true if self.equal?(o)
577
658
  self.class == o.class &&
578
659
  contact_id == o.contact_id &&
660
+ merged_to_contact_id == o.merged_to_contact_id &&
579
661
  contact_number == o.contact_number &&
580
662
  account_number == o.account_number &&
581
663
  contact_status == o.contact_status &&
582
664
  name == o.name &&
583
665
  first_name == o.first_name &&
584
666
  last_name == o.last_name &&
667
+ company_number == o.company_number &&
585
668
  email_address == o.email_address &&
586
669
  skype_user_name == o.skype_user_name &&
587
670
  contact_persons == o.contact_persons &&
@@ -593,6 +676,8 @@ module XeroRuby::Accounting
593
676
  phones == o.phones &&
594
677
  is_supplier == o.is_supplier &&
595
678
  is_customer == o.is_customer &&
679
+ sales_default_line_amount_type == o.sales_default_line_amount_type &&
680
+ purchases_default_line_amount_type == o.purchases_default_line_amount_type &&
596
681
  default_currency == o.default_currency &&
597
682
  xero_network_key == o.xero_network_key &&
598
683
  sales_default_account_code == o.sales_default_account_code &&
@@ -625,7 +710,7 @@ module XeroRuby::Accounting
625
710
  # Calculates hash code according to all attributes.
626
711
  # @return [Integer] Hash code
627
712
  def hash
628
- [contact_id, contact_number, account_number, contact_status, name, first_name, last_name, email_address, skype_user_name, contact_persons, bank_account_details, tax_number, accounts_receivable_tax_type, accounts_payable_tax_type, addresses, phones, is_supplier, is_customer, default_currency, xero_network_key, sales_default_account_code, purchases_default_account_code, sales_tracking_categories, purchases_tracking_categories, tracking_category_name, tracking_category_option, payment_terms, updated_date_utc, contact_groups, website, branding_theme, batch_payments, discount, balances, attachments, has_attachments, validation_errors, has_validation_errors, status_attribute_string].hash
713
+ [contact_id, merged_to_contact_id, contact_number, account_number, contact_status, name, first_name, last_name, company_number, email_address, skype_user_name, contact_persons, bank_account_details, tax_number, accounts_receivable_tax_type, accounts_payable_tax_type, addresses, phones, is_supplier, is_customer, sales_default_line_amount_type, purchases_default_line_amount_type, default_currency, xero_network_key, sales_default_account_code, purchases_default_account_code, sales_tracking_categories, purchases_tracking_categories, tracking_category_name, tracking_category_option, payment_terms, updated_date_utc, contact_groups, website, branding_theme, batch_payments, discount, balances, attachments, has_attachments, validation_errors, has_validation_errors, status_attribute_string].hash
629
714
  end
630
715
 
631
716
  # Builds the object from hash
@@ -21,8 +21,8 @@ module XeroRuby::Accounting
21
21
 
22
22
  # The Status of a contact group. To delete a contact group update the status to DELETED. Only contact groups with a status of ACTIVE are returned on GETs.
23
23
  attr_accessor :status
24
- ACTIVE = "ACTIVE".freeze
25
- DELETED = "DELETED".freeze
24
+ ACTIVE ||= "ACTIVE".freeze
25
+ DELETED ||= "DELETED".freeze
26
26
 
27
27
  # The Xero identifier for an contact group – specified as a string following the endpoint name. e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9
28
28
  attr_accessor :contact_group_id