xero-ruby 3.2.1 → 3.6.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 (229) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +70 -1
  3. data/lib/xero-ruby/api/accounting_api.rb +11 -2
  4. data/lib/xero-ruby/api/app_store_api.rb +87 -0
  5. data/lib/xero-ruby/api/finance_api.rb +866 -0
  6. data/lib/xero-ruby/api/payroll_au_api.rb +14 -14
  7. data/lib/xero-ruby/api/payroll_nz_api.rb +18 -12
  8. data/lib/xero-ruby/api/payroll_uk_api.rb +14 -2
  9. data/lib/xero-ruby/api_client.rb +21 -3
  10. data/lib/xero-ruby/configuration.rb +4 -0
  11. data/lib/xero-ruby/models/accounting/account.rb +34 -34
  12. data/lib/xero-ruby/models/accounting/account_type.rb +22 -22
  13. data/lib/xero-ruby/models/accounting/action.rb +2 -2
  14. data/lib/xero-ruby/models/accounting/address.rb +2 -2
  15. data/lib/xero-ruby/models/accounting/address_for_organisation.rb +3 -3
  16. data/lib/xero-ruby/models/accounting/bank_transaction.rb +11 -11
  17. data/lib/xero-ruby/models/accounting/bank_transfer.rb +35 -1
  18. data/lib/xero-ruby/models/accounting/batch_payment.rb +4 -4
  19. data/lib/xero-ruby/models/accounting/branding_theme.rb +1 -1
  20. data/lib/xero-ruby/models/accounting/budget.rb +2 -2
  21. data/lib/xero-ruby/models/accounting/budget_balance.rb +2 -2
  22. data/lib/xero-ruby/models/accounting/contact.rb +89 -4
  23. data/lib/xero-ruby/models/accounting/contact_group.rb +2 -2
  24. data/lib/xero-ruby/models/accounting/country_code.rb +240 -240
  25. data/lib/xero-ruby/models/accounting/credit_note.rb +8 -8
  26. data/lib/xero-ruby/models/accounting/currency_code.rb +166 -166
  27. data/lib/xero-ruby/models/accounting/employee.rb +4 -4
  28. data/lib/xero-ruby/models/accounting/expense_claim.rb +5 -5
  29. data/lib/xero-ruby/models/accounting/external_link.rb +5 -5
  30. data/lib/xero-ruby/models/accounting/invoice.rb +14 -14
  31. data/lib/xero-ruby/models/accounting/journal.rb +25 -25
  32. data/lib/xero-ruby/models/accounting/line_amount_types.rb +3 -3
  33. data/lib/xero-ruby/models/accounting/linked_transaction.rb +8 -8
  34. data/lib/xero-ruby/models/accounting/manual_journal.rb +5 -5
  35. data/lib/xero-ruby/models/accounting/organisation.rb +70 -70
  36. data/lib/xero-ruby/models/accounting/overpayment.rb +6 -6
  37. data/lib/xero-ruby/models/accounting/payment.rb +21 -11
  38. data/lib/xero-ruby/models/accounting/payment_term_type.rb +4 -4
  39. data/lib/xero-ruby/models/accounting/phone.rb +5 -5
  40. data/lib/xero-ruby/models/accounting/prepayment.rb +7 -7
  41. data/lib/xero-ruby/models/accounting/purchase_order.rb +5 -5
  42. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +3 -3
  43. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +6 -6
  44. data/lib/xero-ruby/models/accounting/receipt.rb +5 -5
  45. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +5 -5
  46. data/lib/xero-ruby/models/accounting/report.rb +1 -1
  47. data/lib/xero-ruby/models/accounting/row_type.rb +4 -4
  48. data/lib/xero-ruby/models/accounting/schedule.rb +8 -8
  49. data/lib/xero-ruby/models/accounting/tax_rate.rb +78 -78
  50. data/lib/xero-ruby/models/accounting/tax_type.rb +59 -59
  51. data/lib/xero-ruby/models/accounting/time_zone.rb +109 -108
  52. data/lib/xero-ruby/models/accounting/tracking_category.rb +3 -3
  53. data/lib/xero-ruby/models/accounting/tracking_option.rb +3 -3
  54. data/lib/xero-ruby/models/accounting/user.rb +7 -7
  55. data/lib/xero-ruby/models/app_store/plan.rb +311 -0
  56. data/lib/xero-ruby/models/app_store/price.rb +257 -0
  57. data/lib/xero-ruby/models/app_store/problem_details.rb +272 -0
  58. data/lib/xero-ruby/models/app_store/product.rb +288 -0
  59. data/lib/xero-ruby/models/app_store/subscription.rb +361 -0
  60. data/lib/xero-ruby/models/app_store/subscription_item.rb +344 -0
  61. data/lib/xero-ruby/models/assets/asset_status.rb +3 -3
  62. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +3 -3
  63. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +11 -11
  64. data/lib/xero-ruby/models/files/object_group.rb +12 -11
  65. data/lib/xero-ruby/models/files/object_type.rb +56 -55
  66. data/lib/xero-ruby/models/finance/account_usage.rb +342 -0
  67. data/lib/xero-ruby/models/finance/account_usage_response.rb +254 -0
  68. data/lib/xero-ruby/models/finance/balance_sheet_account_detail.rb +262 -0
  69. data/lib/xero-ruby/models/finance/balance_sheet_account_group.rb +234 -0
  70. data/lib/xero-ruby/models/finance/balance_sheet_account_type.rb +244 -0
  71. data/lib/xero-ruby/models/finance/balance_sheet_response.rb +252 -0
  72. data/lib/xero-ruby/models/finance/bank_statement_response.rb +232 -0
  73. data/lib/xero-ruby/models/finance/cash_account_response.rb +262 -0
  74. data/lib/xero-ruby/models/finance/cash_balance.rb +242 -0
  75. data/lib/xero-ruby/models/finance/cash_validation_response.rb +262 -0
  76. data/lib/xero-ruby/models/finance/cashflow_account.rb +282 -0
  77. data/lib/xero-ruby/models/finance/cashflow_activity.rb +244 -0
  78. data/lib/xero-ruby/models/finance/cashflow_response.rb +254 -0
  79. data/lib/xero-ruby/models/finance/cashflow_type.rb +244 -0
  80. data/lib/xero-ruby/models/finance/contact_detail.rb +274 -0
  81. data/lib/xero-ruby/models/finance/contact_total_detail.rb +242 -0
  82. data/lib/xero-ruby/models/finance/contact_total_other.rb +252 -0
  83. data/lib/xero-ruby/models/finance/current_statement_response.rb +272 -0
  84. data/lib/xero-ruby/models/finance/data_source_response.rb +362 -0
  85. data/lib/xero-ruby/models/finance/history_record_response.rb +262 -0
  86. data/lib/xero-ruby/models/finance/income_by_contact_response.rb +284 -0
  87. data/lib/xero-ruby/models/finance/lock_history_model.rb +242 -0
  88. data/lib/xero-ruby/models/finance/lock_history_response.rb +244 -0
  89. data/lib/xero-ruby/models/finance/manual_journal_total.rb +222 -0
  90. data/lib/xero-ruby/models/finance/pnl_account.rb +272 -0
  91. data/lib/xero-ruby/models/finance/pnl_account_class.rb +234 -0
  92. data/lib/xero-ruby/models/finance/pnl_account_type.rb +244 -0
  93. data/lib/xero-ruby/models/finance/practice_response.rb +262 -0
  94. data/lib/xero-ruby/models/finance/problem.rb +252 -0
  95. data/lib/xero-ruby/models/finance/problem_type.rb +39 -0
  96. data/lib/xero-ruby/models/finance/profit_and_loss_response.rb +262 -0
  97. data/lib/xero-ruby/models/finance/report_history_model.rb +242 -0
  98. data/lib/xero-ruby/models/finance/report_history_response.rb +244 -0
  99. data/lib/xero-ruby/models/finance/statement_balance_response.rb +232 -0
  100. data/lib/xero-ruby/models/finance/statement_lines_response.rb +382 -0
  101. data/lib/xero-ruby/models/finance/total_detail.rb +242 -0
  102. data/lib/xero-ruby/models/finance/total_other.rb +242 -0
  103. data/lib/xero-ruby/models/finance/trial_balance_account.rb +312 -0
  104. data/lib/xero-ruby/models/finance/trial_balance_entry.rb +232 -0
  105. data/lib/xero-ruby/models/finance/trial_balance_movement.rb +252 -0
  106. data/lib/xero-ruby/models/finance/trial_balance_response.rb +244 -0
  107. data/lib/xero-ruby/models/finance/user_activities_response.rb +244 -0
  108. data/lib/xero-ruby/models/finance/user_response.rb +336 -0
  109. data/lib/xero-ruby/models/payroll_au/account_type.rb +23 -23
  110. data/lib/xero-ruby/models/payroll_au/allowance_category.rb +41 -0
  111. data/lib/xero-ruby/models/payroll_au/allowance_type.rb +10 -7
  112. data/lib/xero-ruby/models/payroll_au/calendar_type.rb +6 -6
  113. data/lib/xero-ruby/models/payroll_au/deduction_type.rb +3 -3
  114. data/lib/xero-ruby/models/payroll_au/deduction_type_calculation_type.rb +3 -3
  115. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +14 -4
  116. data/lib/xero-ruby/models/payroll_au/earnings_rate_calculation_type.rb +3 -3
  117. data/lib/xero-ruby/models/payroll_au/earnings_type.rb +12 -10
  118. data/lib/xero-ruby/models/payroll_au/employee.rb +34 -5
  119. data/lib/xero-ruby/models/payroll_au/employee_status.rb +2 -2
  120. data/lib/xero-ruby/models/payroll_au/employment_basis.rb +5 -5
  121. data/lib/xero-ruby/models/payroll_au/employment_termination_payment_type.rb +2 -2
  122. data/lib/xero-ruby/models/payroll_au/entitlement_final_pay_payout_type.rb +2 -2
  123. data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +5 -5
  124. data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +2 -2
  125. data/lib/xero-ruby/models/payroll_au/leave_type_contribution_type.rb +4 -4
  126. data/lib/xero-ruby/models/payroll_au/manual_tax_type.rb +6 -5
  127. data/lib/xero-ruby/models/payroll_au/pay_run_status.rb +2 -2
  128. data/lib/xero-ruby/models/payroll_au/payment_frequency_type.rb +7 -7
  129. data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +11 -1
  130. data/lib/xero-ruby/models/payroll_au/rate_type.rb +3 -3
  131. data/lib/xero-ruby/models/payroll_au/residency_status.rb +3 -3
  132. data/lib/xero-ruby/models/payroll_au/state.rb +8 -8
  133. data/lib/xero-ruby/models/payroll_au/super_fund_type.rb +2 -2
  134. data/lib/xero-ruby/models/payroll_au/superannuation_calculation_type.rb +3 -3
  135. data/lib/xero-ruby/models/payroll_au/superannuation_contribution_type.rb +4 -4
  136. data/lib/xero-ruby/models/payroll_au/tfn_exemption_type.rb +4 -4
  137. data/lib/xero-ruby/models/payroll_au/timesheet_status.rb +5 -5
  138. data/lib/xero-ruby/models/payroll_nz/account.rb +4 -4
  139. data/lib/xero-ruby/models/payroll_nz/bank_account.rb +2 -2
  140. data/lib/xero-ruby/models/payroll_nz/benefit.rb +5 -5
  141. data/lib/xero-ruby/models/payroll_nz/calendar_type.rb +7 -7
  142. data/lib/xero-ruby/models/payroll_nz/deduction.rb +4 -4
  143. data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +18 -18
  144. data/lib/xero-ruby/models/payroll_nz/employee.rb +2 -2
  145. data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +4 -4
  146. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +6 -6
  147. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +8 -8
  148. data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +5 -5
  149. data/lib/xero-ruby/models/payroll_nz/leave_period.rb +2 -2
  150. data/lib/xero-ruby/models/payroll_nz/pay_run.rb +5 -5
  151. data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +3 -3
  152. data/lib/xero-ruby/models/payroll_nz/payment_method.rb +3 -3
  153. data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +8 -8
  154. data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +5 -5
  155. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_category.rb +11 -11
  156. data/lib/xero-ruby/models/payroll_nz/tax_code.rb +19 -19
  157. data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +2 -2
  158. data/lib/xero-ruby/models/payroll_nz/timesheet.rb +4 -4
  159. data/lib/xero-ruby/models/payroll_uk/account.rb +7 -7
  160. data/lib/xero-ruby/models/payroll_uk/benefit.rb +4 -4
  161. data/lib/xero-ruby/models/payroll_uk/deduction.rb +12 -12
  162. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +28 -28
  163. data/lib/xero-ruby/models/payroll_uk/employee.rb +2 -2
  164. data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +4 -4
  165. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +6 -6
  166. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +8 -8
  167. data/lib/xero-ruby/models/payroll_uk/employment.rb +8 -8
  168. data/lib/xero-ruby/models/payroll_uk/leave_period.rb +2 -2
  169. data/lib/xero-ruby/models/payroll_uk/pay_run.rb +11 -11
  170. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +6 -6
  171. data/lib/xero-ruby/models/payroll_uk/payment_method.rb +3 -3
  172. data/lib/xero-ruby/models/payroll_uk/payslip.rb +3 -3
  173. data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +5 -5
  174. data/lib/xero-ruby/models/payroll_uk/statutory_deduction_category.rb +14 -14
  175. data/lib/xero-ruby/models/payroll_uk/timesheet.rb +3 -3
  176. data/lib/xero-ruby/models/projects/charge_type.rb +3 -3
  177. data/lib/xero-ruby/models/projects/currency_code.rb +164 -164
  178. data/lib/xero-ruby/models/projects/project_status.rb +2 -2
  179. data/lib/xero-ruby/models/projects/task.rb +3 -3
  180. data/lib/xero-ruby/models/projects/time_entry.rb +3 -3
  181. data/lib/xero-ruby/version.rb +2 -2
  182. data/lib/xero-ruby.rb +52 -0
  183. data/spec/api_client_spec.rb +3 -0
  184. data/spec/app_store/api/app_store_api_spec.rb +45 -0
  185. data/spec/app_store/models/plan_spec.rb +62 -0
  186. data/spec/app_store/models/price_spec.rb +52 -0
  187. data/spec/app_store/models/problem_details_spec.rb +70 -0
  188. data/spec/app_store/models/product_spec.rb +56 -0
  189. data/spec/app_store/models/subscription_item_spec.rb +70 -0
  190. data/spec/app_store/models/subscription_spec.rb +82 -0
  191. data/spec/configuration_spec.rb +1 -0
  192. data/spec/finance/api/finance_api_spec.rb +156 -0
  193. data/spec/finance/models/account_usage_response_spec.rb +58 -0
  194. data/spec/finance/models/account_usage_spec.rb +112 -0
  195. data/spec/finance/models/balance_sheet_account_detail_spec.rb +64 -0
  196. data/spec/finance/models/balance_sheet_account_group_spec.rb +46 -0
  197. data/spec/finance/models/balance_sheet_account_type_spec.rb +52 -0
  198. data/spec/finance/models/balance_sheet_response_spec.rb +58 -0
  199. data/spec/finance/models/bank_statement_response_spec.rb +46 -0
  200. data/spec/finance/models/cash_account_response_spec.rb +64 -0
  201. data/spec/finance/models/cash_balance_spec.rb +52 -0
  202. data/spec/finance/models/cash_validation_response_spec.rb +64 -0
  203. data/spec/finance/models/cashflow_account_spec.rb +76 -0
  204. data/spec/finance/models/cashflow_activity_spec.rb +52 -0
  205. data/spec/finance/models/cashflow_response_spec.rb +58 -0
  206. data/spec/finance/models/cashflow_type_spec.rb +52 -0
  207. data/spec/finance/models/current_statement_response_spec.rb +70 -0
  208. data/spec/finance/models/data_source_response_spec.rb +124 -0
  209. data/spec/finance/models/history_record_response_spec.rb +64 -0
  210. data/spec/finance/models/lock_history_model_spec.rb +52 -0
  211. data/spec/finance/models/lock_history_response_spec.rb +52 -0
  212. data/spec/finance/models/pnl_account_class_spec.rb +46 -0
  213. data/spec/finance/models/pnl_account_spec.rb +70 -0
  214. data/spec/finance/models/pnl_account_type_spec.rb +52 -0
  215. data/spec/finance/models/practice_response_spec.rb +64 -0
  216. data/spec/finance/models/problem_spec.rb +58 -0
  217. data/spec/finance/models/problem_type_spec.rb +34 -0
  218. data/spec/finance/models/profit_and_loss_response_spec.rb +64 -0
  219. data/spec/finance/models/report_history_model_spec.rb +52 -0
  220. data/spec/finance/models/report_history_response_spec.rb +52 -0
  221. data/spec/finance/models/statement_balance_response_spec.rb +46 -0
  222. data/spec/finance/models/statement_lines_response_spec.rb +136 -0
  223. data/spec/finance/models/trial_balance_account_spec.rb +94 -0
  224. data/spec/finance/models/trial_balance_entry_spec.rb +46 -0
  225. data/spec/finance/models/trial_balance_movement_spec.rb +58 -0
  226. data/spec/finance/models/trial_balance_response_spec.rb +52 -0
  227. data/spec/finance/models/user_activities_response_spec.rb +52 -0
  228. data/spec/finance/models/user_response_spec.rb +106 -0
  229. metadata +143 -3
@@ -33,31 +33,31 @@ module XeroRuby::Accounting
33
33
 
34
34
  # See Version Types
35
35
  attr_accessor :version
36
- AU = "AU".freeze
37
- NZ = "NZ".freeze
38
- GLOBAL = "GLOBAL".freeze
39
- UK = "UK".freeze
40
- US = "US".freeze
41
- AUONRAMP = "AUONRAMP".freeze
42
- NZONRAMP = "NZONRAMP".freeze
43
- GLOBALONRAMP = "GLOBALONRAMP".freeze
44
- UKONRAMP = "UKONRAMP".freeze
45
- USONRAMP = "USONRAMP".freeze
36
+ AU ||= "AU".freeze
37
+ NZ ||= "NZ".freeze
38
+ GLOBAL ||= "GLOBAL".freeze
39
+ UK ||= "UK".freeze
40
+ US ||= "US".freeze
41
+ AUONRAMP ||= "AUONRAMP".freeze
42
+ NZONRAMP ||= "NZONRAMP".freeze
43
+ GLOBALONRAMP ||= "GLOBALONRAMP".freeze
44
+ UKONRAMP ||= "UKONRAMP".freeze
45
+ USONRAMP ||= "USONRAMP".freeze
46
46
 
47
47
  # Organisation Type
48
48
  attr_accessor :organisation_type
49
- ACCOUNTING_PRACTICE = "ACCOUNTING_PRACTICE".freeze
50
- COMPANY = "COMPANY".freeze
51
- CHARITY = "CHARITY".freeze
52
- CLUB_OR_SOCIETY = "CLUB_OR_SOCIETY".freeze
53
- LOOK_THROUGH_COMPANY = "LOOK_THROUGH_COMPANY".freeze
54
- NOT_FOR_PROFIT = "NOT_FOR_PROFIT".freeze
55
- PARTNERSHIP = "PARTNERSHIP".freeze
56
- S_CORPORATION = "S_CORPORATION".freeze
57
- SELF_MANAGED_SUPERANNUATION_FUND = "SELF_MANAGED_SUPERANNUATION_FUND".freeze
58
- SOLE_TRADER = "SOLE_TRADER".freeze
59
- SUPERANNUATION_FUND = "SUPERANNUATION_FUND".freeze
60
- TRUST = "TRUST".freeze
49
+ ACCOUNTING_PRACTICE ||= "ACCOUNTING_PRACTICE".freeze
50
+ COMPANY ||= "COMPANY".freeze
51
+ CHARITY ||= "CHARITY".freeze
52
+ CLUB_OR_SOCIETY ||= "CLUB_OR_SOCIETY".freeze
53
+ LOOK_THROUGH_COMPANY ||= "LOOK_THROUGH_COMPANY".freeze
54
+ NOT_FOR_PROFIT ||= "NOT_FOR_PROFIT".freeze
55
+ PARTNERSHIP ||= "PARTNERSHIP".freeze
56
+ S_CORPORATION ||= "S_CORPORATION".freeze
57
+ SELF_MANAGED_SUPERANNUATION_FUND ||= "SELF_MANAGED_SUPERANNUATION_FUND".freeze
58
+ SOLE_TRADER ||= "SOLE_TRADER".freeze
59
+ SUPERANNUATION_FUND ||= "SUPERANNUATION_FUND".freeze
60
+ TRUST ||= "TRUST".freeze
61
61
 
62
62
 
63
63
  attr_accessor :base_currency
@@ -88,32 +88,32 @@ module XeroRuby::Accounting
88
88
 
89
89
  # The accounting basis used for tax returns. See Sales Tax Basis
90
90
  attr_accessor :sales_tax_basis
91
- PAYMENTS = "PAYMENTS".freeze
92
- INVOICE = "INVOICE".freeze
93
- NONE = "NONE".freeze
94
- CASH = "CASH".freeze
95
- ACCRUAL = "ACCRUAL".freeze
96
- FLATRATECASH = "FLATRATECASH".freeze
97
- FLATRATEACCRUAL = "FLATRATEACCRUAL".freeze
98
- ACCRUALS = "ACCRUALS".freeze
91
+ PAYMENTS ||= "PAYMENTS".freeze
92
+ INVOICE ||= "INVOICE".freeze
93
+ NONE ||= "NONE".freeze
94
+ CASH ||= "CASH".freeze
95
+ ACCRUAL ||= "ACCRUAL".freeze
96
+ FLATRATECASH ||= "FLATRATECASH".freeze
97
+ FLATRATEACCRUAL ||= "FLATRATEACCRUAL".freeze
98
+ ACCRUALS ||= "ACCRUALS".freeze
99
99
 
100
100
  # The frequency with which tax returns are processed. See Sales Tax Period
101
101
  attr_accessor :sales_tax_period
102
- MONTHLY = "MONTHLY".freeze
103
- QUARTERLY1 = "QUARTERLY1".freeze
104
- QUARTERLY2 = "QUARTERLY2".freeze
105
- QUARTERLY3 = "QUARTERLY3".freeze
106
- ANNUALLY = "ANNUALLY".freeze
107
- ONEMONTHS = "ONEMONTHS".freeze
108
- TWOMONTHS = "TWOMONTHS".freeze
109
- SIXMONTHS = "SIXMONTHS".freeze
110
- N1_MONTHLY = "1MONTHLY".freeze
111
- N2_MONTHLY = "2MONTHLY".freeze
112
- N3_MONTHLY = "3MONTHLY".freeze
113
- N6_MONTHLY = "6MONTHLY".freeze
114
- QUARTERLY = "QUARTERLY".freeze
115
- YEARLY = "YEARLY".freeze
116
- # NONE = "NONE".freeze
102
+ MONTHLY ||= "MONTHLY".freeze
103
+ QUARTERLY1 ||= "QUARTERLY1".freeze
104
+ QUARTERLY2 ||= "QUARTERLY2".freeze
105
+ QUARTERLY3 ||= "QUARTERLY3".freeze
106
+ ANNUALLY ||= "ANNUALLY".freeze
107
+ ONEMONTHS ||= "ONEMONTHS".freeze
108
+ TWOMONTHS ||= "TWOMONTHS".freeze
109
+ SIXMONTHS ||= "SIXMONTHS".freeze
110
+ N1_MONTHLY ||= "1MONTHLY".freeze
111
+ N2_MONTHLY ||= "2MONTHLY".freeze
112
+ N3_MONTHLY ||= "3MONTHLY".freeze
113
+ N6_MONTHLY ||= "6MONTHLY".freeze
114
+ QUARTERLY ||= "QUARTERLY".freeze
115
+ YEARLY ||= "YEARLY".freeze
116
+ NONE ||= "NONE".freeze
117
117
 
118
118
  # The default for LineAmountTypes on sales transactions
119
119
  attr_accessor :default_sales_tax
@@ -135,40 +135,40 @@ module XeroRuby::Accounting
135
135
 
136
136
  # Organisation Entity Type
137
137
  attr_accessor :organisation_entity_type
138
- # ACCOUNTING_PRACTICE = "ACCOUNTING_PRACTICE".freeze
139
- # COMPANY = "COMPANY".freeze
140
- # CHARITY = "CHARITY".freeze
141
- # CLUB_OR_SOCIETY = "CLUB_OR_SOCIETY".freeze
142
- # LOOK_THROUGH_COMPANY = "LOOK_THROUGH_COMPANY".freeze
143
- # NOT_FOR_PROFIT = "NOT_FOR_PROFIT".freeze
144
- # PARTNERSHIP = "PARTNERSHIP".freeze
145
- # S_CORPORATION = "S_CORPORATION".freeze
146
- # SELF_MANAGED_SUPERANNUATION_FUND = "SELF_MANAGED_SUPERANNUATION_FUND".freeze
147
- # SOLE_TRADER = "SOLE_TRADER".freeze
148
- # SUPERANNUATION_FUND = "SUPERANNUATION_FUND".freeze
149
- # TRUST = "TRUST".freeze
138
+ ACCOUNTING_PRACTICE ||= "ACCOUNTING_PRACTICE".freeze
139
+ COMPANY ||= "COMPANY".freeze
140
+ CHARITY ||= "CHARITY".freeze
141
+ CLUB_OR_SOCIETY ||= "CLUB_OR_SOCIETY".freeze
142
+ LOOK_THROUGH_COMPANY ||= "LOOK_THROUGH_COMPANY".freeze
143
+ NOT_FOR_PROFIT ||= "NOT_FOR_PROFIT".freeze
144
+ PARTNERSHIP ||= "PARTNERSHIP".freeze
145
+ S_CORPORATION ||= "S_CORPORATION".freeze
146
+ SELF_MANAGED_SUPERANNUATION_FUND ||= "SELF_MANAGED_SUPERANNUATION_FUND".freeze
147
+ SOLE_TRADER ||= "SOLE_TRADER".freeze
148
+ SUPERANNUATION_FUND ||= "SUPERANNUATION_FUND".freeze
149
+ TRUST ||= "TRUST".freeze
150
150
 
151
151
  # A unique identifier for the organisation. Potential uses.
152
152
  attr_accessor :short_code
153
153
 
154
154
  # Organisation Classes describe which plan the Xero organisation is on (e.g. DEMO, TRIAL, PREMIUM)
155
155
  attr_accessor :_class
156
- DEMO = "DEMO".freeze
157
- TRIAL = "TRIAL".freeze
158
- STARTER = "STARTER".freeze
159
- STANDARD = "STANDARD".freeze
160
- PREMIUM = "PREMIUM".freeze
161
- PREMIUM_20 = "PREMIUM_20".freeze
162
- PREMIUM_50 = "PREMIUM_50".freeze
163
- PREMIUM_100 = "PREMIUM_100".freeze
164
- LEDGER = "LEDGER".freeze
165
- GST_CASHBOOK = "GST_CASHBOOK".freeze
166
- NON_GST_CASHBOOK = "NON_GST_CASHBOOK".freeze
156
+ DEMO ||= "DEMO".freeze
157
+ TRIAL ||= "TRIAL".freeze
158
+ STARTER ||= "STARTER".freeze
159
+ STANDARD ||= "STANDARD".freeze
160
+ PREMIUM ||= "PREMIUM".freeze
161
+ PREMIUM_20 ||= "PREMIUM_20".freeze
162
+ PREMIUM_50 ||= "PREMIUM_50".freeze
163
+ PREMIUM_100 ||= "PREMIUM_100".freeze
164
+ LEDGER ||= "LEDGER".freeze
165
+ GST_CASHBOOK ||= "GST_CASHBOOK".freeze
166
+ NON_GST_CASHBOOK ||= "NON_GST_CASHBOOK".freeze
167
167
 
168
168
  # BUSINESS or PARTNER. Partner edition organisations are sold exclusively through accounting partners and have restricted functionality (e.g. no access to invoicing)
169
169
  attr_accessor :edition
170
- BUSINESS = "BUSINESS".freeze
171
- PARTNER = "PARTNER".freeze
170
+ BUSINESS ||= "BUSINESS".freeze
171
+ PARTNER ||= "PARTNER".freeze
172
172
 
173
173
  # Description of business type as defined in Organisation settings
174
174
  attr_accessor :line_of_business
@@ -18,9 +18,9 @@ module XeroRuby::Accounting
18
18
  class Overpayment
19
19
  # See Overpayment Types
20
20
  attr_accessor :type
21
- RECEIVE_OVERPAYMENT = "RECEIVE-OVERPAYMENT".freeze
22
- SPEND_OVERPAYMENT = "SPEND-OVERPAYMENT".freeze
23
- AROVERPAYMENT = "AROVERPAYMENT".freeze
21
+ RECEIVE_OVERPAYMENT ||= "RECEIVE-OVERPAYMENT".freeze
22
+ SPEND_OVERPAYMENT ||= "SPEND-OVERPAYMENT".freeze
23
+ AROVERPAYMENT ||= "AROVERPAYMENT".freeze
24
24
 
25
25
 
26
26
  attr_accessor :contact
@@ -30,9 +30,9 @@ module XeroRuby::Accounting
30
30
 
31
31
  # See Overpayment Status Codes
32
32
  attr_accessor :status
33
- AUTHORISED = "AUTHORISED".freeze
34
- PAID = "PAID".freeze
35
- VOIDED = "VOIDED".freeze
33
+ AUTHORISED ||= "AUTHORISED".freeze
34
+ PAID ||= "PAID".freeze
35
+ VOIDED ||= "VOIDED".freeze
36
36
 
37
37
 
38
38
  attr_accessor :line_amount_types
@@ -49,6 +49,9 @@ module XeroRuby::Accounting
49
49
  # The amount of the payment. Must be less than or equal to the outstanding amount owing on the invoice e.g. 200.00
50
50
  attr_accessor :amount
51
51
 
52
+ # The amount of the payment in the currency of the bank account.
53
+ attr_accessor :bank_amount
54
+
52
55
  # An optional description for the payment e.g. Direct Debit
53
56
  attr_accessor :reference
54
57
 
@@ -57,19 +60,19 @@ module XeroRuby::Accounting
57
60
 
58
61
  # The status of the payment.
59
62
  attr_accessor :status
60
- AUTHORISED = "AUTHORISED".freeze
61
- DELETED = "DELETED".freeze
63
+ AUTHORISED ||= "AUTHORISED".freeze
64
+ DELETED ||= "DELETED".freeze
62
65
 
63
66
  # See Payment Types.
64
67
  attr_accessor :payment_type
65
- ACCRECPAYMENT = "ACCRECPAYMENT".freeze
66
- ACCPAYPAYMENT = "ACCPAYPAYMENT".freeze
67
- ARCREDITPAYMENT = "ARCREDITPAYMENT".freeze
68
- APCREDITPAYMENT = "APCREDITPAYMENT".freeze
69
- AROVERPAYMENTPAYMENT = "AROVERPAYMENTPAYMENT".freeze
70
- ARPREPAYMENTPAYMENT = "ARPREPAYMENTPAYMENT".freeze
71
- APPREPAYMENTPAYMENT = "APPREPAYMENTPAYMENT".freeze
72
- APOVERPAYMENTPAYMENT = "APOVERPAYMENTPAYMENT".freeze
68
+ ACCRECPAYMENT ||= "ACCRECPAYMENT".freeze
69
+ ACCPAYPAYMENT ||= "ACCPAYPAYMENT".freeze
70
+ ARCREDITPAYMENT ||= "ARCREDITPAYMENT".freeze
71
+ APCREDITPAYMENT ||= "APCREDITPAYMENT".freeze
72
+ AROVERPAYMENTPAYMENT ||= "AROVERPAYMENTPAYMENT".freeze
73
+ ARPREPAYMENTPAYMENT ||= "ARPREPAYMENTPAYMENT".freeze
74
+ APPREPAYMENTPAYMENT ||= "APPREPAYMENTPAYMENT".freeze
75
+ APOVERPAYMENTPAYMENT ||= "APOVERPAYMENTPAYMENT".freeze
73
76
 
74
77
  # UTC timestamp of last update to the payment
75
78
  attr_accessor :updated_date_utc
@@ -137,6 +140,7 @@ module XeroRuby::Accounting
137
140
  :'date' => :'Date',
138
141
  :'currency_rate' => :'CurrencyRate',
139
142
  :'amount' => :'Amount',
143
+ :'bank_amount' => :'BankAmount',
140
144
  :'reference' => :'Reference',
141
145
  :'is_reconciled' => :'IsReconciled',
142
146
  :'status' => :'Status',
@@ -168,6 +172,7 @@ module XeroRuby::Accounting
168
172
  :'date' => :'Date',
169
173
  :'currency_rate' => :'BigDecimal',
170
174
  :'amount' => :'BigDecimal',
175
+ :'bank_amount' => :'BigDecimal',
171
176
  :'reference' => :'String',
172
177
  :'is_reconciled' => :'Boolean',
173
178
  :'status' => :'String',
@@ -244,6 +249,10 @@ module XeroRuby::Accounting
244
249
  self.amount = attributes[:'amount']
245
250
  end
246
251
 
252
+ if attributes.key?(:'bank_amount')
253
+ self.bank_amount = attributes[:'bank_amount']
254
+ end
255
+
247
256
  if attributes.key?(:'reference')
248
257
  self.reference = attributes[:'reference']
249
258
  end
@@ -360,6 +369,7 @@ module XeroRuby::Accounting
360
369
  date == o.date &&
361
370
  currency_rate == o.currency_rate &&
362
371
  amount == o.amount &&
372
+ bank_amount == o.bank_amount &&
363
373
  reference == o.reference &&
364
374
  is_reconciled == o.is_reconciled &&
365
375
  status == o.status &&
@@ -385,7 +395,7 @@ module XeroRuby::Accounting
385
395
  # Calculates hash code according to all attributes.
386
396
  # @return [Integer] Hash code
387
397
  def hash
388
- [invoice, credit_note, prepayment, overpayment, invoice_number, credit_note_number, account, code, date, currency_rate, 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
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
389
399
  end
390
400
 
391
401
  # Builds the object from hash
@@ -14,10 +14,10 @@ require 'date'
14
14
 
15
15
  module XeroRuby::Accounting
16
16
  class PaymentTermType
17
- DAYSAFTERBILLDATE = "DAYSAFTERBILLDATE".freeze
18
- DAYSAFTERBILLMONTH = "DAYSAFTERBILLMONTH".freeze
19
- OFCURRENTMONTH = "OFCURRENTMONTH".freeze
20
- OFFOLLOWINGMONTH = "OFFOLLOWINGMONTH".freeze
17
+ DAYSAFTERBILLDATE ||= "DAYSAFTERBILLDATE".freeze
18
+ DAYSAFTERBILLMONTH ||= "DAYSAFTERBILLMONTH".freeze
19
+ OFCURRENTMONTH ||= "OFCURRENTMONTH".freeze
20
+ OFFOLLOWINGMONTH ||= "OFFOLLOWINGMONTH".freeze
21
21
 
22
22
  # Builds the enum from string
23
23
  # @param [String] The enum value in the form of the string
@@ -18,11 +18,11 @@ module XeroRuby::Accounting
18
18
  class Phone
19
19
 
20
20
  attr_accessor :phone_type
21
- DEFAULT = "DEFAULT".freeze
22
- DDI = "DDI".freeze
23
- MOBILE = "MOBILE".freeze
24
- FAX = "FAX".freeze
25
- OFFICE = "OFFICE".freeze
21
+ DEFAULT ||= "DEFAULT".freeze
22
+ DDI ||= "DDI".freeze
23
+ MOBILE ||= "MOBILE".freeze
24
+ FAX ||= "FAX".freeze
25
+ OFFICE ||= "OFFICE".freeze
26
26
 
27
27
  # max length = 50
28
28
  attr_accessor :phone_number
@@ -18,10 +18,10 @@ module XeroRuby::Accounting
18
18
  class Prepayment
19
19
  # See Prepayment Types
20
20
  attr_accessor :type
21
- RECEIVE_PREPAYMENT = "RECEIVE-PREPAYMENT".freeze
22
- SPEND_PREPAYMENT = "SPEND-PREPAYMENT".freeze
23
- ARPREPAYMENT = "ARPREPAYMENT".freeze
24
- APPREPAYMENT = "APPREPAYMENT".freeze
21
+ RECEIVE_PREPAYMENT ||= "RECEIVE-PREPAYMENT".freeze
22
+ SPEND_PREPAYMENT ||= "SPEND-PREPAYMENT".freeze
23
+ ARPREPAYMENT ||= "ARPREPAYMENT".freeze
24
+ APPREPAYMENT ||= "APPREPAYMENT".freeze
25
25
 
26
26
 
27
27
  attr_accessor :contact
@@ -31,9 +31,9 @@ module XeroRuby::Accounting
31
31
 
32
32
  # See Prepayment Status Codes
33
33
  attr_accessor :status
34
- AUTHORISED = "AUTHORISED".freeze
35
- PAID = "PAID".freeze
36
- VOIDED = "VOIDED".freeze
34
+ AUTHORISED ||= "AUTHORISED".freeze
35
+ PAID ||= "PAID".freeze
36
+ VOIDED ||= "VOIDED".freeze
37
37
 
38
38
 
39
39
  attr_accessor :line_amount_types
@@ -45,11 +45,11 @@ module XeroRuby::Accounting
45
45
 
46
46
  # See Purchase Order Status Codes
47
47
  attr_accessor :status
48
- DRAFT = "DRAFT".freeze
49
- SUBMITTED = "SUBMITTED".freeze
50
- AUTHORISED = "AUTHORISED".freeze
51
- BILLED = "BILLED".freeze
52
- DELETED = "DELETED".freeze
48
+ DRAFT ||= "DRAFT".freeze
49
+ SUBMITTED ||= "SUBMITTED".freeze
50
+ AUTHORISED ||= "AUTHORISED".freeze
51
+ BILLED ||= "BILLED".freeze
52
+ DELETED ||= "DELETED".freeze
53
53
 
54
54
  # Boolean to set whether the purchase order should be marked as “sent”. This can be set only on purchase orders that have been approved or billed
55
55
  attr_accessor :sent_to_contact
@@ -14,9 +14,9 @@ require 'date'
14
14
 
15
15
  module XeroRuby::Accounting
16
16
  class QuoteLineAmountTypes
17
- EXCLUSIVE = "EXCLUSIVE".freeze
18
- INCLUSIVE = "INCLUSIVE".freeze
19
- NOTAX = "NOTAX".freeze
17
+ EXCLUSIVE ||= "EXCLUSIVE".freeze
18
+ INCLUSIVE ||= "INCLUSIVE".freeze
19
+ NOTAX ||= "NOTAX".freeze
20
20
 
21
21
  # Builds the enum from string
22
22
  # @param [String] The enum value in the form of the string
@@ -14,12 +14,12 @@ require 'date'
14
14
 
15
15
  module XeroRuby::Accounting
16
16
  class QuoteStatusCodes
17
- DRAFT = "DRAFT".freeze
18
- SENT = "SENT".freeze
19
- DECLINED = "DECLINED".freeze
20
- ACCEPTED = "ACCEPTED".freeze
21
- INVOICED = "INVOICED".freeze
22
- DELETED = "DELETED".freeze
17
+ DRAFT ||= "DRAFT".freeze
18
+ SENT ||= "SENT".freeze
19
+ DECLINED ||= "DECLINED".freeze
20
+ ACCEPTED ||= "ACCEPTED".freeze
21
+ INVOICED ||= "INVOICED".freeze
22
+ DELETED ||= "DELETED".freeze
23
23
 
24
24
  # Builds the enum from string
25
25
  # @param [String] The enum value in the form of the string
@@ -48,11 +48,11 @@ module XeroRuby::Accounting
48
48
 
49
49
  # Current status of receipt – see status types
50
50
  attr_accessor :status
51
- DRAFT = "DRAFT".freeze
52
- SUBMITTED = "SUBMITTED".freeze
53
- AUTHORISED = "AUTHORISED".freeze
54
- DECLINED = "DECLINED".freeze
55
- VOIDED = "VOIDED".freeze
51
+ DRAFT ||= "DRAFT".freeze
52
+ SUBMITTED ||= "SUBMITTED".freeze
53
+ AUTHORISED ||= "AUTHORISED".freeze
54
+ DECLINED ||= "DECLINED".freeze
55
+ VOIDED ||= "VOIDED".freeze
56
56
 
57
57
  # Xero generated sequence number for receipt in current claim for a given user
58
58
  attr_accessor :receipt_number
@@ -18,8 +18,8 @@ module XeroRuby::Accounting
18
18
  class RepeatingInvoice
19
19
  # See Invoice Types
20
20
  attr_accessor :type
21
- ACCPAY = "ACCPAY".freeze
22
- ACCREC = "ACCREC".freeze
21
+ ACCPAY ||= "ACCPAY".freeze
22
+ ACCREC ||= "ACCREC".freeze
23
23
 
24
24
 
25
25
  attr_accessor :contact
@@ -44,9 +44,9 @@ module XeroRuby::Accounting
44
44
 
45
45
  # One of the following - DRAFT or AUTHORISED – See Invoice Status Codes
46
46
  attr_accessor :status
47
- DRAFT = "DRAFT".freeze
48
- AUTHORISED = "AUTHORISED".freeze
49
- DELETED = "DELETED".freeze
47
+ DRAFT ||= "DRAFT".freeze
48
+ AUTHORISED ||= "AUTHORISED".freeze
49
+ DELETED ||= "DELETED".freeze
50
50
 
51
51
  # Total of invoice excluding taxes
52
52
  attr_accessor :sub_total
@@ -21,7 +21,7 @@ module XeroRuby::Accounting
21
21
 
22
22
  # See Prepayment Types
23
23
  attr_accessor :report_type
24
- AGED_PAYABLES_BY_CONTACT = "AgedPayablesByContact".freeze
24
+ AGED_PAYABLES_BY_CONTACT ||= "AgedPayablesByContact".freeze
25
25
 
26
26
  # See Prepayment Types
27
27
  attr_accessor :report_title
@@ -14,10 +14,10 @@ require 'date'
14
14
 
15
15
  module XeroRuby::Accounting
16
16
  class RowType
17
- HEADER = "Header".freeze
18
- SECTION = "Section".freeze
19
- ROW = "Row".freeze
20
- SUMMARY_ROW = "SummaryRow".freeze
17
+ HEADER ||= "Header".freeze
18
+ SECTION ||= "Section".freeze
19
+ ROW ||= "Row".freeze
20
+ SUMMARY_ROW ||= "SummaryRow".freeze
21
21
 
22
22
  # Builds the enum from string
23
23
  # @param [String] The enum value in the form of the string
@@ -21,20 +21,20 @@ module XeroRuby::Accounting
21
21
 
22
22
  # One of the following - WEEKLY or MONTHLY
23
23
  attr_accessor :unit
24
- WEEKLY = "WEEKLY".freeze
25
- MONTHLY = "MONTHLY".freeze
24
+ WEEKLY ||= "WEEKLY".freeze
25
+ MONTHLY ||= "MONTHLY".freeze
26
26
 
27
27
  # Integer used with due date type e.g 20 (of following month), 31 (of current month)
28
28
  attr_accessor :due_date
29
29
 
30
30
  # the payment terms
31
31
  attr_accessor :due_date_type
32
- DAYSAFTERBILLDATE = "DAYSAFTERBILLDATE".freeze
33
- DAYSAFTERBILLMONTH = "DAYSAFTERBILLMONTH".freeze
34
- DAYSAFTERINVOICEDATE = "DAYSAFTERINVOICEDATE".freeze
35
- DAYSAFTERINVOICEMONTH = "DAYSAFTERINVOICEMONTH".freeze
36
- OFCURRENTMONTH = "OFCURRENTMONTH".freeze
37
- OFFOLLOWINGMONTH = "OFFOLLOWINGMONTH".freeze
32
+ DAYSAFTERBILLDATE ||= "DAYSAFTERBILLDATE".freeze
33
+ DAYSAFTERBILLMONTH ||= "DAYSAFTERBILLMONTH".freeze
34
+ DAYSAFTERINVOICEDATE ||= "DAYSAFTERINVOICEDATE".freeze
35
+ DAYSAFTERINVOICEMONTH ||= "DAYSAFTERINVOICEMONTH".freeze
36
+ OFCURRENTMONTH ||= "OFCURRENTMONTH".freeze
37
+ OFFOLLOWINGMONTH ||= "OFFOLLOWINGMONTH".freeze
38
38
 
39
39
  # Date the first invoice of the current version of the repeating schedule was generated (changes when repeating invoice is edited)
40
40
  attr_accessor :start_date