merge_ruby_client 2.0.0 → 2.1.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 (159) hide show
  1. checksums.yaml +4 -4
  2. data/lib/merge_ruby_client/accounting/accounting_periods/client.rb +2 -2
  3. data/lib/merge_ruby_client/accounting/accounts/client.rb +2 -2
  4. data/lib/merge_ruby_client/accounting/attachments/client.rb +2 -2
  5. data/lib/merge_ruby_client/accounting/audit_trail/client.rb +2 -2
  6. data/lib/merge_ruby_client/accounting/balance_sheets/client.rb +2 -2
  7. data/lib/merge_ruby_client/accounting/bank_feed_accounts/client.rb +2 -2
  8. data/lib/merge_ruby_client/accounting/bank_feed_transactions/client.rb +2 -2
  9. data/lib/merge_ruby_client/accounting/cash_flow_statements/client.rb +2 -2
  10. data/lib/merge_ruby_client/accounting/client.rb +7 -0
  11. data/lib/merge_ruby_client/accounting/company_info/client.rb +2 -2
  12. data/lib/merge_ruby_client/accounting/contacts/client.rb +173 -4
  13. data/lib/merge_ruby_client/accounting/credit_notes/client.rb +2 -2
  14. data/lib/merge_ruby_client/accounting/employees/client.rb +35 -8
  15. data/lib/merge_ruby_client/accounting/expense_reports/client.rb +765 -0
  16. data/lib/merge_ruby_client/accounting/expense_reports/types/expense_reports_lines_list_request_expand.rb +73 -0
  17. data/lib/merge_ruby_client/accounting/expense_reports/types/expense_reports_list_request_expand.rb +25 -0
  18. data/lib/merge_ruby_client/accounting/expense_reports/types/expense_reports_retrieve_request_expand.rb +25 -0
  19. data/lib/merge_ruby_client/accounting/expenses/client.rb +6 -6
  20. data/lib/merge_ruby_client/accounting/general_ledger_transactions/client.rb +2 -2
  21. data/lib/merge_ruby_client/accounting/income_statements/client.rb +2 -2
  22. data/lib/merge_ruby_client/accounting/invoices/client.rb +6 -6
  23. data/lib/merge_ruby_client/accounting/issues/client.rb +2 -2
  24. data/lib/merge_ruby_client/accounting/items/client.rb +2 -2
  25. data/lib/merge_ruby_client/accounting/journal_entries/client.rb +6 -6
  26. data/lib/merge_ruby_client/accounting/linked_accounts/client.rb +2 -2
  27. data/lib/merge_ruby_client/accounting/payment_methods/client.rb +2 -2
  28. data/lib/merge_ruby_client/accounting/payment_terms/client.rb +2 -2
  29. data/lib/merge_ruby_client/accounting/payments/client.rb +6 -6
  30. data/lib/merge_ruby_client/accounting/projects/client.rb +35 -8
  31. data/lib/merge_ruby_client/accounting/purchase_orders/client.rb +6 -6
  32. data/lib/merge_ruby_client/accounting/sync_status/client.rb +2 -2
  33. data/lib/merge_ruby_client/accounting/tax_rates/client.rb +2 -2
  34. data/lib/merge_ruby_client/accounting/tracking_categories/client.rb +2 -2
  35. data/lib/merge_ruby_client/accounting/transactions/client.rb +2 -2
  36. data/lib/merge_ruby_client/accounting/transactions/types/transactions_list_request_expand.rb +32 -0
  37. data/lib/merge_ruby_client/accounting/transactions/types/transactions_retrieve_request_expand.rb +32 -0
  38. data/lib/merge_ruby_client/accounting/types/expense_report.rb +869 -0
  39. data/lib/merge_ruby_client/accounting/types/expense_report_company.rb +56 -0
  40. data/lib/merge_ruby_client/accounting/types/expense_report_line.rb +921 -0
  41. data/lib/merge_ruby_client/accounting/types/expense_report_line_account.rb +55 -0
  42. data/lib/merge_ruby_client/accounting/types/expense_report_line_company.rb +56 -0
  43. data/lib/merge_ruby_client/accounting/types/expense_report_line_contact.rb +55 -0
  44. data/lib/merge_ruby_client/accounting/types/expense_report_line_employee.rb +57 -0
  45. data/lib/merge_ruby_client/accounting/types/expense_report_line_project.rb +55 -0
  46. data/lib/merge_ruby_client/accounting/types/expense_report_line_request.rb +899 -0
  47. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_account.rb +55 -0
  48. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_company.rb +56 -0
  49. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_contact.rb +55 -0
  50. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_employee.rb +57 -0
  51. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_project.rb +55 -0
  52. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_tax_rate.rb +55 -0
  53. data/lib/merge_ruby_client/accounting/types/expense_report_line_tax_rate.rb +55 -0
  54. data/lib/merge_ruby_client/accounting/types/expense_report_request.rb +819 -0
  55. data/lib/merge_ruby_client/accounting/types/expense_report_request_accounting_period.rb +56 -0
  56. data/lib/merge_ruby_client/accounting/types/expense_report_request_company.rb +56 -0
  57. data/lib/merge_ruby_client/accounting/types/expense_report_request_employee.rb +57 -0
  58. data/lib/merge_ruby_client/accounting/types/expense_report_response.rb +101 -0
  59. data/lib/merge_ruby_client/accounting/types/expense_report_status_enum.rb +16 -0
  60. data/lib/merge_ruby_client/accounting/types/external_target_field_api_response.rb +12 -1
  61. data/lib/merge_ruby_client/accounting/types/field_mapping_api_instance_response.rb +12 -1
  62. data/lib/merge_ruby_client/accounting/types/item.rb +18 -1
  63. data/lib/merge_ruby_client/accounting/types/paginated_expense_report_line_list.rb +80 -0
  64. data/lib/merge_ruby_client/accounting/types/paginated_expense_report_list.rb +80 -0
  65. data/lib/merge_ruby_client/accounting/types/patched_contact_request.rb +188 -0
  66. data/lib/merge_ruby_client/accounting/types/patched_contact_request_addresses_item.rb +55 -0
  67. data/lib/merge_ruby_client/accounting/types/remote_field_class.rb +9 -1
  68. data/lib/merge_ruby_client/accounting/vendor_credits/client.rb +2 -2
  69. data/lib/merge_ruby_client/ats/activities/client.rb +2 -2
  70. data/lib/merge_ruby_client/ats/applications/client.rb +2 -2
  71. data/lib/merge_ruby_client/ats/attachments/client.rb +2 -2
  72. data/lib/merge_ruby_client/ats/audit_trail/client.rb +2 -2
  73. data/lib/merge_ruby_client/ats/candidates/client.rb +2 -2
  74. data/lib/merge_ruby_client/ats/departments/client.rb +2 -2
  75. data/lib/merge_ruby_client/ats/eeocs/client.rb +2 -2
  76. data/lib/merge_ruby_client/ats/interviews/client.rb +2 -2
  77. data/lib/merge_ruby_client/ats/issues/client.rb +2 -2
  78. data/lib/merge_ruby_client/ats/job_interview_stages/client.rb +2 -2
  79. data/lib/merge_ruby_client/ats/job_postings/client.rb +2 -2
  80. data/lib/merge_ruby_client/ats/jobs/client.rb +4 -4
  81. data/lib/merge_ruby_client/ats/linked_accounts/client.rb +2 -2
  82. data/lib/merge_ruby_client/ats/offers/client.rb +2 -2
  83. data/lib/merge_ruby_client/ats/offices/client.rb +2 -2
  84. data/lib/merge_ruby_client/ats/reject_reasons/client.rb +2 -2
  85. data/lib/merge_ruby_client/ats/scorecards/client.rb +2 -2
  86. data/lib/merge_ruby_client/ats/sync_status/client.rb +2 -2
  87. data/lib/merge_ruby_client/ats/tags/client.rb +2 -2
  88. data/lib/merge_ruby_client/ats/types/event_type_enum.rb +1 -0
  89. data/lib/merge_ruby_client/ats/users/client.rb +2 -2
  90. data/lib/merge_ruby_client/crm/accounts/client.rb +4 -4
  91. data/lib/merge_ruby_client/crm/association_types/client.rb +2 -2
  92. data/lib/merge_ruby_client/crm/associations/client.rb +10 -2
  93. data/lib/merge_ruby_client/crm/audit_trail/client.rb +2 -2
  94. data/lib/merge_ruby_client/crm/contacts/client.rb +4 -4
  95. data/lib/merge_ruby_client/crm/custom_object_classes/client.rb +2 -2
  96. data/lib/merge_ruby_client/crm/custom_objects/client.rb +4 -4
  97. data/lib/merge_ruby_client/crm/engagement_types/client.rb +4 -4
  98. data/lib/merge_ruby_client/crm/engagements/client.rb +4 -4
  99. data/lib/merge_ruby_client/crm/issues/client.rb +2 -2
  100. data/lib/merge_ruby_client/crm/leads/client.rb +4 -4
  101. data/lib/merge_ruby_client/crm/linked_accounts/client.rb +2 -2
  102. data/lib/merge_ruby_client/crm/notes/client.rb +4 -4
  103. data/lib/merge_ruby_client/crm/opportunities/client.rb +4 -4
  104. data/lib/merge_ruby_client/crm/stages/client.rb +4 -4
  105. data/lib/merge_ruby_client/crm/sync_status/client.rb +2 -2
  106. data/lib/merge_ruby_client/crm/tasks/client.rb +4 -4
  107. data/lib/merge_ruby_client/crm/types/remote_field_class.rb +9 -1
  108. data/lib/merge_ruby_client/crm/users/client.rb +4 -4
  109. data/lib/merge_ruby_client/filestorage/audit_trail/client.rb +2 -2
  110. data/lib/merge_ruby_client/filestorage/drives/client.rb +2 -2
  111. data/lib/merge_ruby_client/filestorage/files/client.rb +28 -10
  112. data/lib/merge_ruby_client/filestorage/folders/client.rb +2 -2
  113. data/lib/merge_ruby_client/filestorage/groups/client.rb +2 -2
  114. data/lib/merge_ruby_client/filestorage/issues/client.rb +2 -2
  115. data/lib/merge_ruby_client/filestorage/linked_accounts/client.rb +2 -2
  116. data/lib/merge_ruby_client/filestorage/sync_status/client.rb +2 -2
  117. data/lib/merge_ruby_client/filestorage/users/client.rb +2 -2
  118. data/lib/merge_ruby_client/hris/audit_trail/client.rb +2 -2
  119. data/lib/merge_ruby_client/hris/bank_info/client.rb +2 -2
  120. data/lib/merge_ruby_client/hris/benefits/client.rb +2 -2
  121. data/lib/merge_ruby_client/hris/companies/client.rb +2 -2
  122. data/lib/merge_ruby_client/hris/dependents/client.rb +8 -4
  123. data/lib/merge_ruby_client/hris/employee_payroll_runs/client.rb +2 -2
  124. data/lib/merge_ruby_client/hris/employees/client.rb +8 -4
  125. data/lib/merge_ruby_client/hris/employer_benefits/client.rb +2 -2
  126. data/lib/merge_ruby_client/hris/employments/client.rb +2 -2
  127. data/lib/merge_ruby_client/hris/groups/client.rb +2 -2
  128. data/lib/merge_ruby_client/hris/issues/client.rb +2 -2
  129. data/lib/merge_ruby_client/hris/linked_accounts/client.rb +2 -2
  130. data/lib/merge_ruby_client/hris/locations/client.rb +2 -2
  131. data/lib/merge_ruby_client/hris/pay_groups/client.rb +2 -2
  132. data/lib/merge_ruby_client/hris/payroll_runs/client.rb +2 -2
  133. data/lib/merge_ruby_client/hris/sync_status/client.rb +2 -2
  134. data/lib/merge_ruby_client/hris/teams/client.rb +2 -2
  135. data/lib/merge_ruby_client/hris/time_off/client.rb +2 -2
  136. data/lib/merge_ruby_client/hris/time_off_balances/client.rb +2 -2
  137. data/lib/merge_ruby_client/hris/timesheet_entries/client.rb +2 -2
  138. data/lib/merge_ruby_client/hris/types/benefit.rb +9 -9
  139. data/lib/merge_ruby_client/ticketing/accounts/client.rb +2 -2
  140. data/lib/merge_ruby_client/ticketing/attachments/client.rb +2 -2
  141. data/lib/merge_ruby_client/ticketing/audit_trail/client.rb +2 -2
  142. data/lib/merge_ruby_client/ticketing/collections/client.rb +4 -4
  143. data/lib/merge_ruby_client/ticketing/comments/client.rb +2 -2
  144. data/lib/merge_ruby_client/ticketing/contacts/client.rb +2 -2
  145. data/lib/merge_ruby_client/ticketing/issues/client.rb +2 -2
  146. data/lib/merge_ruby_client/ticketing/linked_accounts/client.rb +2 -2
  147. data/lib/merge_ruby_client/ticketing/projects/client.rb +4 -4
  148. data/lib/merge_ruby_client/ticketing/roles/client.rb +2 -2
  149. data/lib/merge_ruby_client/ticketing/sync_status/client.rb +2 -2
  150. data/lib/merge_ruby_client/ticketing/tags/client.rb +2 -2
  151. data/lib/merge_ruby_client/ticketing/teams/client.rb +2 -2
  152. data/lib/merge_ruby_client/ticketing/tickets/client.rb +14 -10
  153. data/lib/merge_ruby_client/ticketing/types/patched_ticket_request.rb +9 -9
  154. data/lib/merge_ruby_client/ticketing/types/remote_field_class.rb +9 -1
  155. data/lib/merge_ruby_client/ticketing/users/client.rb +2 -2
  156. data/lib/merge_ruby_client.rb +7 -7
  157. data/lib/requests.rb +2 -2
  158. data/lib/types_export.rb +230 -201
  159. metadata +32 -2
@@ -0,0 +1,819 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require_relative "expense_report_request_employee"
5
+ require_relative "expense_report_status_enum"
6
+ require_relative "transaction_currency_enum"
7
+ require_relative "expense_report_request_accounting_period"
8
+ require_relative "expense_report_request_company"
9
+ require_relative "remote_field_request"
10
+ require "ostruct"
11
+ require "json"
12
+
13
+ module Merge
14
+ module Accounting
15
+ # # The ExpenseReport Object
16
+ # ### Description
17
+ # The `ExpenseReport` object represents a collection of expenses submitted for
18
+ # review and reimbursement.
19
+ # It includes details about the submitter, status, amounts, and associated
20
+ # metadata.
21
+ # ### Usage Example
22
+ # Fetch from the `GET ExpenseReport` endpoint to view details of expense reports
23
+ # and their line items.
24
+ class ExpenseReportRequest
25
+ # @return [DateTime] The date of the expense report.
26
+ attr_reader :report_date
27
+ # @return [String] Human-readable expense report identifier.
28
+ attr_reader :report_identifier
29
+ # @return [Merge::Accounting::ExpenseReportRequestEmployee] Identifier for the employee who submitted or is associated with the expense
30
+ # report
31
+ attr_reader :employee
32
+ # @return [Merge::Accounting::ExpenseReportStatusEnum] Overall status of the expense report. One of DRAFT, SUBMITTED, APPROVED,
33
+ # REJECTED
34
+ # * `DRAFT` - DRAFT
35
+ # * `SUBMITTED` - SUBMITTED
36
+ # * `APPROVED` - APPROVED
37
+ # * `REJECTED` - REJECTED
38
+ attr_reader :status
39
+ # @return [Float] Total amount of the expense report
40
+ attr_reader :total_amount
41
+ # @return [Merge::Accounting::TransactionCurrencyEnum] Currency code for the expense report
42
+ # * `XUA` - ADB Unit of Account
43
+ # * `AFN` - Afghan Afghani
44
+ # * `AFA` - Afghan Afghani (1927–2002)
45
+ # * `ALL` - Albanian Lek
46
+ # * `ALK` - Albanian Lek (1946–1965)
47
+ # * `DZD` - Algerian Dinar
48
+ # * `ADP` - Andorran Peseta
49
+ # * `AOA` - Angolan Kwanza
50
+ # * `AOK` - Angolan Kwanza (1977–1991)
51
+ # * `AON` - Angolan New Kwanza (1990–2000)
52
+ # * `AOR` - Angolan Readjusted Kwanza (1995–1999)
53
+ # * `ARA` - Argentine Austral
54
+ # * `ARS` - Argentine Peso
55
+ # * `ARM` - Argentine Peso (1881–1970)
56
+ # * `ARP` - Argentine Peso (1983–1985)
57
+ # * `ARL` - Argentine Peso Ley (1970–1983)
58
+ # * `AMD` - Armenian Dram
59
+ # * `AWG` - Aruban Florin
60
+ # * `AUD` - Australian Dollar
61
+ # * `ATS` - Austrian Schilling
62
+ # * `AZN` - Azerbaijani Manat
63
+ # * `AZM` - Azerbaijani Manat (1993–2006)
64
+ # * `BSD` - Bahamian Dollar
65
+ # * `BHD` - Bahraini Dinar
66
+ # * `BDT` - Bangladeshi Taka
67
+ # * `BBD` - Barbadian Dollar
68
+ # * `BYN` - Belarusian Ruble
69
+ # * `BYB` - Belarusian Ruble (1994–1999)
70
+ # * `BYR` - Belarusian Ruble (2000–2016)
71
+ # * `BEF` - Belgian Franc
72
+ # * `BEC` - Belgian Franc (convertible)
73
+ # * `BEL` - Belgian Franc (financial)
74
+ # * `BZD` - Belize Dollar
75
+ # * `BMD` - Bermudan Dollar
76
+ # * `BTN` - Bhutanese Ngultrum
77
+ # * `BOB` - Bolivian Boliviano
78
+ # * `BOL` - Bolivian Boliviano (1863–1963)
79
+ # * `BOV` - Bolivian Mvdol
80
+ # * `BOP` - Bolivian Peso
81
+ # * `BAM` - Bosnia-Herzegovina Convertible Mark
82
+ # * `BAD` - Bosnia-Herzegovina Dinar (1992–1994)
83
+ # * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997)
84
+ # * `BWP` - Botswanan Pula
85
+ # * `BRC` - Brazilian Cruzado (1986–1989)
86
+ # * `BRZ` - Brazilian Cruzeiro (1942–1967)
87
+ # * `BRE` - Brazilian Cruzeiro (1990–1993)
88
+ # * `BRR` - Brazilian Cruzeiro (1993–1994)
89
+ # * `BRN` - Brazilian New Cruzado (1989–1990)
90
+ # * `BRB` - Brazilian New Cruzeiro (1967–1986)
91
+ # * `BRL` - Brazilian Real
92
+ # * `GBP` - British Pound
93
+ # * `BND` - Brunei Dollar
94
+ # * `BGL` - Bulgarian Hard Lev
95
+ # * `BGN` - Bulgarian Lev
96
+ # * `BGO` - Bulgarian Lev (1879–1952)
97
+ # * `BGM` - Bulgarian Socialist Lev
98
+ # * `BUK` - Burmese Kyat
99
+ # * `BIF` - Burundian Franc
100
+ # * `XPF` - CFP Franc
101
+ # * `KHR` - Cambodian Riel
102
+ # * `CAD` - Canadian Dollar
103
+ # * `CVE` - Cape Verdean Escudo
104
+ # * `KYD` - Cayman Islands Dollar
105
+ # * `XAF` - Central African CFA Franc
106
+ # * `CLE` - Chilean Escudo
107
+ # * `CLP` - Chilean Peso
108
+ # * `CLF` - Chilean Unit of Account (UF)
109
+ # * `CNX` - Chinese People’s Bank Dollar
110
+ # * `CNY` - Chinese Yuan
111
+ # * `CNH` - Chinese Yuan (offshore)
112
+ # * `COP` - Colombian Peso
113
+ # * `COU` - Colombian Real Value Unit
114
+ # * `KMF` - Comorian Franc
115
+ # * `CDF` - Congolese Franc
116
+ # * `CRC` - Costa Rican Colón
117
+ # * `HRD` - Croatian Dinar
118
+ # * `HRK` - Croatian Kuna
119
+ # * `CUC` - Cuban Convertible Peso
120
+ # * `CUP` - Cuban Peso
121
+ # * `CYP` - Cypriot Pound
122
+ # * `CZK` - Czech Koruna
123
+ # * `CSK` - Czechoslovak Hard Koruna
124
+ # * `DKK` - Danish Krone
125
+ # * `DJF` - Djiboutian Franc
126
+ # * `DOP` - Dominican Peso
127
+ # * `NLG` - Dutch Guilder
128
+ # * `XCD` - East Caribbean Dollar
129
+ # * `DDM` - East German Mark
130
+ # * `ECS` - Ecuadorian Sucre
131
+ # * `ECV` - Ecuadorian Unit of Constant Value
132
+ # * `EGP` - Egyptian Pound
133
+ # * `GQE` - Equatorial Guinean Ekwele
134
+ # * `ERN` - Eritrean Nakfa
135
+ # * `EEK` - Estonian Kroon
136
+ # * `ETB` - Ethiopian Birr
137
+ # * `EUR` - Euro
138
+ # * `XBA` - European Composite Unit
139
+ # * `XEU` - European Currency Unit
140
+ # * `XBB` - European Monetary Unit
141
+ # * `XBC` - European Unit of Account (XBC)
142
+ # * `XBD` - European Unit of Account (XBD)
143
+ # * `FKP` - Falkland Islands Pound
144
+ # * `FJD` - Fijian Dollar
145
+ # * `FIM` - Finnish Markka
146
+ # * `FRF` - French Franc
147
+ # * `XFO` - French Gold Franc
148
+ # * `XFU` - French UIC-Franc
149
+ # * `GMD` - Gambian Dalasi
150
+ # * `GEK` - Georgian Kupon Larit
151
+ # * `GEL` - Georgian Lari
152
+ # * `DEM` - German Mark
153
+ # * `GHS` - Ghanaian Cedi
154
+ # * `GHC` - Ghanaian Cedi (1979–2007)
155
+ # * `GIP` - Gibraltar Pound
156
+ # * `XAU` - Gold
157
+ # * `GRD` - Greek Drachma
158
+ # * `GTQ` - Guatemalan Quetzal
159
+ # * `GWP` - Guinea-Bissau Peso
160
+ # * `GNF` - Guinean Franc
161
+ # * `GNS` - Guinean Syli
162
+ # * `GYD` - Guyanaese Dollar
163
+ # * `HTG` - Haitian Gourde
164
+ # * `HNL` - Honduran Lempira
165
+ # * `HKD` - Hong Kong Dollar
166
+ # * `HUF` - Hungarian Forint
167
+ # * `IMP` - IMP
168
+ # * `ISK` - Icelandic Króna
169
+ # * `ISJ` - Icelandic Króna (1918–1981)
170
+ # * `INR` - Indian Rupee
171
+ # * `IDR` - Indonesian Rupiah
172
+ # * `IRR` - Iranian Rial
173
+ # * `IQD` - Iraqi Dinar
174
+ # * `IEP` - Irish Pound
175
+ # * `ILS` - Israeli New Shekel
176
+ # * `ILP` - Israeli Pound
177
+ # * `ILR` - Israeli Shekel (1980–1985)
178
+ # * `ITL` - Italian Lira
179
+ # * `JMD` - Jamaican Dollar
180
+ # * `JPY` - Japanese Yen
181
+ # * `JOD` - Jordanian Dinar
182
+ # * `KZT` - Kazakhstani Tenge
183
+ # * `KES` - Kenyan Shilling
184
+ # * `KWD` - Kuwaiti Dinar
185
+ # * `KGS` - Kyrgystani Som
186
+ # * `LAK` - Laotian Kip
187
+ # * `LVL` - Latvian Lats
188
+ # * `LVR` - Latvian Ruble
189
+ # * `LBP` - Lebanese Pound
190
+ # * `LSL` - Lesotho Loti
191
+ # * `LRD` - Liberian Dollar
192
+ # * `LYD` - Libyan Dinar
193
+ # * `LTL` - Lithuanian Litas
194
+ # * `LTT` - Lithuanian Talonas
195
+ # * `LUL` - Luxembourg Financial Franc
196
+ # * `LUC` - Luxembourgian Convertible Franc
197
+ # * `LUF` - Luxembourgian Franc
198
+ # * `MOP` - Macanese Pataca
199
+ # * `MKD` - Macedonian Denar
200
+ # * `MKN` - Macedonian Denar (1992–1993)
201
+ # * `MGA` - Malagasy Ariary
202
+ # * `MGF` - Malagasy Franc
203
+ # * `MWK` - Malawian Kwacha
204
+ # * `MYR` - Malaysian Ringgit
205
+ # * `MVR` - Maldivian Rufiyaa
206
+ # * `MVP` - Maldivian Rupee (1947–1981)
207
+ # * `MLF` - Malian Franc
208
+ # * `MTL` - Maltese Lira
209
+ # * `MTP` - Maltese Pound
210
+ # * `MRU` - Mauritanian Ouguiya
211
+ # * `MRO` - Mauritanian Ouguiya (1973–2017)
212
+ # * `MUR` - Mauritian Rupee
213
+ # * `MXV` - Mexican Investment Unit
214
+ # * `MXN` - Mexican Peso
215
+ # * `MXP` - Mexican Silver Peso (1861–1992)
216
+ # * `MDC` - Moldovan Cupon
217
+ # * `MDL` - Moldovan Leu
218
+ # * `MCF` - Monegasque Franc
219
+ # * `MNT` - Mongolian Tugrik
220
+ # * `MAD` - Moroccan Dirham
221
+ # * `MAF` - Moroccan Franc
222
+ # * `MZE` - Mozambican Escudo
223
+ # * `MZN` - Mozambican Metical
224
+ # * `MZM` - Mozambican Metical (1980–2006)
225
+ # * `MMK` - Myanmar Kyat
226
+ # * `NAD` - Namibian Dollar
227
+ # * `NPR` - Nepalese Rupee
228
+ # * `ANG` - Netherlands Antillean Guilder
229
+ # * `TWD` - New Taiwan Dollar
230
+ # * `NZD` - New Zealand Dollar
231
+ # * `NIO` - Nicaraguan Córdoba
232
+ # * `NIC` - Nicaraguan Córdoba (1988–1991)
233
+ # * `NGN` - Nigerian Naira
234
+ # * `KPW` - North Korean Won
235
+ # * `NOK` - Norwegian Krone
236
+ # * `OMR` - Omani Rial
237
+ # * `PKR` - Pakistani Rupee
238
+ # * `XPD` - Palladium
239
+ # * `PAB` - Panamanian Balboa
240
+ # * `PGK` - Papua New Guinean Kina
241
+ # * `PYG` - Paraguayan Guarani
242
+ # * `PEI` - Peruvian Inti
243
+ # * `PEN` - Peruvian Sol
244
+ # * `PES` - Peruvian Sol (1863–1965)
245
+ # * `PHP` - Philippine Peso
246
+ # * `XPT` - Platinum
247
+ # * `PLN` - Polish Zloty
248
+ # * `PLZ` - Polish Zloty (1950–1995)
249
+ # * `PTE` - Portuguese Escudo
250
+ # * `GWE` - Portuguese Guinea Escudo
251
+ # * `QAR` - Qatari Rial
252
+ # * `XRE` - RINET Funds
253
+ # * `RHD` - Rhodesian Dollar
254
+ # * `RON` - Romanian Leu
255
+ # * `ROL` - Romanian Leu (1952–2006)
256
+ # * `RUB` - Russian Ruble
257
+ # * `RUR` - Russian Ruble (1991–1998)
258
+ # * `RWF` - Rwandan Franc
259
+ # * `SVC` - Salvadoran Colón
260
+ # * `WST` - Samoan Tala
261
+ # * `SAR` - Saudi Riyal
262
+ # * `RSD` - Serbian Dinar
263
+ # * `CSD` - Serbian Dinar (2002–2006)
264
+ # * `SCR` - Seychellois Rupee
265
+ # * `SLL` - Sierra Leonean Leone
266
+ # * `XAG` - Silver
267
+ # * `SGD` - Singapore Dollar
268
+ # * `SKK` - Slovak Koruna
269
+ # * `SIT` - Slovenian Tolar
270
+ # * `SBD` - Solomon Islands Dollar
271
+ # * `SOS` - Somali Shilling
272
+ # * `ZAR` - South African Rand
273
+ # * `ZAL` - South African Rand (financial)
274
+ # * `KRH` - South Korean Hwan (1953–1962)
275
+ # * `KRW` - South Korean Won
276
+ # * `KRO` - South Korean Won (1945–1953)
277
+ # * `SSP` - South Sudanese Pound
278
+ # * `SUR` - Soviet Rouble
279
+ # * `ESP` - Spanish Peseta
280
+ # * `ESA` - Spanish Peseta (A account)
281
+ # * `ESB` - Spanish Peseta (convertible account)
282
+ # * `XDR` - Special Drawing Rights
283
+ # * `LKR` - Sri Lankan Rupee
284
+ # * `SHP` - St. Helena Pound
285
+ # * `XSU` - Sucre
286
+ # * `SDD` - Sudanese Dinar (1992–2007)
287
+ # * `SDG` - Sudanese Pound
288
+ # * `SDP` - Sudanese Pound (1957–1998)
289
+ # * `SRD` - Surinamese Dollar
290
+ # * `SRG` - Surinamese Guilder
291
+ # * `SZL` - Swazi Lilangeni
292
+ # * `SEK` - Swedish Krona
293
+ # * `CHF` - Swiss Franc
294
+ # * `SYP` - Syrian Pound
295
+ # * `STN` - São Tomé & Príncipe Dobra
296
+ # * `STD` - São Tomé & Príncipe Dobra (1977–2017)
297
+ # * `TVD` - TVD
298
+ # * `TJR` - Tajikistani Ruble
299
+ # * `TJS` - Tajikistani Somoni
300
+ # * `TZS` - Tanzanian Shilling
301
+ # * `XTS` - Testing Currency Code
302
+ # * `THB` - Thai Baht
303
+ # * `XXX` - The codes assigned for transactions where no currency is involved
304
+ # * `TPE` - Timorese Escudo
305
+ # * `TOP` - Tongan Paʻanga
306
+ # * `TTD` - Trinidad & Tobago Dollar
307
+ # * `TND` - Tunisian Dinar
308
+ # * `TRY` - Turkish Lira
309
+ # * `TRL` - Turkish Lira (1922–2005)
310
+ # * `TMT` - Turkmenistani Manat
311
+ # * `TMM` - Turkmenistani Manat (1993–2009)
312
+ # * `USD` - US Dollar
313
+ # * `USN` - US Dollar (Next day)
314
+ # * `USS` - US Dollar (Same day)
315
+ # * `UGX` - Ugandan Shilling
316
+ # * `UGS` - Ugandan Shilling (1966–1987)
317
+ # * `UAH` - Ukrainian Hryvnia
318
+ # * `UAK` - Ukrainian Karbovanets
319
+ # * `AED` - United Arab Emirates Dirham
320
+ # * `UYW` - Uruguayan Nominal Wage Index Unit
321
+ # * `UYU` - Uruguayan Peso
322
+ # * `UYP` - Uruguayan Peso (1975–1993)
323
+ # * `UYI` - Uruguayan Peso (Indexed Units)
324
+ # * `UZS` - Uzbekistani Som
325
+ # * `VUV` - Vanuatu Vatu
326
+ # * `VES` - Venezuelan Bolívar
327
+ # * `VEB` - Venezuelan Bolívar (1871–2008)
328
+ # * `VEF` - Venezuelan Bolívar (2008–2018)
329
+ # * `VND` - Vietnamese Dong
330
+ # * `VNN` - Vietnamese Dong (1978–1985)
331
+ # * `CHE` - WIR Euro
332
+ # * `CHW` - WIR Franc
333
+ # * `XOF` - West African CFA Franc
334
+ # * `YDD` - Yemeni Dinar
335
+ # * `YER` - Yemeni Rial
336
+ # * `YUN` - Yugoslavian Convertible Dinar (1990–1992)
337
+ # * `YUD` - Yugoslavian Hard Dinar (1966–1990)
338
+ # * `YUM` - Yugoslavian New Dinar (1994–2002)
339
+ # * `YUR` - Yugoslavian Reformed Dinar (1992–1993)
340
+ # * `ZWN` - ZWN
341
+ # * `ZRN` - Zairean New Zaire (1993–1998)
342
+ # * `ZRZ` - Zairean Zaire (1971–1993)
343
+ # * `ZMW` - Zambian Kwacha
344
+ # * `ZMK` - Zambian Kwacha (1968–2012)
345
+ # * `ZWD` - Zimbabwean Dollar (1980–2008)
346
+ # * `ZWR` - Zimbabwean Dollar (2008)
347
+ # * `ZWL` - Zimbabwean Dollar (2009)
348
+ attr_reader :currency
349
+ # @return [String] A brief description or purpose for the expense report
350
+ attr_reader :description
351
+ # @return [Merge::Accounting::ExpenseReportRequestAccountingPeriod] The accounting period the report was posted in
352
+ attr_reader :accounting_period
353
+ # @return [Merge::Accounting::ExpenseReportRequestCompany] The subsidiary that the expense report is created in
354
+ attr_reader :company
355
+ # @return [Array<String>] The related tracking categories associated with the expense report
356
+ attr_reader :tracking_categories
357
+ # @return [Hash{String => Object}]
358
+ attr_reader :integration_params
359
+ # @return [Hash{String => Object}]
360
+ attr_reader :linked_account_params
361
+ # @return [Array<Merge::Accounting::RemoteFieldRequest>]
362
+ attr_reader :remote_fields
363
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
364
+ attr_reader :additional_properties
365
+ # @return [Object]
366
+ attr_reader :_field_set
367
+ protected :_field_set
368
+
369
+ OMIT = Object.new
370
+
371
+ # @param report_date [DateTime] The date of the expense report.
372
+ # @param report_identifier [String] Human-readable expense report identifier.
373
+ # @param employee [Merge::Accounting::ExpenseReportRequestEmployee] Identifier for the employee who submitted or is associated with the expense
374
+ # report
375
+ # @param status [Merge::Accounting::ExpenseReportStatusEnum] Overall status of the expense report. One of DRAFT, SUBMITTED, APPROVED,
376
+ # REJECTED
377
+ # * `DRAFT` - DRAFT
378
+ # * `SUBMITTED` - SUBMITTED
379
+ # * `APPROVED` - APPROVED
380
+ # * `REJECTED` - REJECTED
381
+ # @param total_amount [Float] Total amount of the expense report
382
+ # @param currency [Merge::Accounting::TransactionCurrencyEnum] Currency code for the expense report
383
+ # * `XUA` - ADB Unit of Account
384
+ # * `AFN` - Afghan Afghani
385
+ # * `AFA` - Afghan Afghani (1927–2002)
386
+ # * `ALL` - Albanian Lek
387
+ # * `ALK` - Albanian Lek (1946–1965)
388
+ # * `DZD` - Algerian Dinar
389
+ # * `ADP` - Andorran Peseta
390
+ # * `AOA` - Angolan Kwanza
391
+ # * `AOK` - Angolan Kwanza (1977–1991)
392
+ # * `AON` - Angolan New Kwanza (1990–2000)
393
+ # * `AOR` - Angolan Readjusted Kwanza (1995–1999)
394
+ # * `ARA` - Argentine Austral
395
+ # * `ARS` - Argentine Peso
396
+ # * `ARM` - Argentine Peso (1881–1970)
397
+ # * `ARP` - Argentine Peso (1983–1985)
398
+ # * `ARL` - Argentine Peso Ley (1970–1983)
399
+ # * `AMD` - Armenian Dram
400
+ # * `AWG` - Aruban Florin
401
+ # * `AUD` - Australian Dollar
402
+ # * `ATS` - Austrian Schilling
403
+ # * `AZN` - Azerbaijani Manat
404
+ # * `AZM` - Azerbaijani Manat (1993–2006)
405
+ # * `BSD` - Bahamian Dollar
406
+ # * `BHD` - Bahraini Dinar
407
+ # * `BDT` - Bangladeshi Taka
408
+ # * `BBD` - Barbadian Dollar
409
+ # * `BYN` - Belarusian Ruble
410
+ # * `BYB` - Belarusian Ruble (1994–1999)
411
+ # * `BYR` - Belarusian Ruble (2000–2016)
412
+ # * `BEF` - Belgian Franc
413
+ # * `BEC` - Belgian Franc (convertible)
414
+ # * `BEL` - Belgian Franc (financial)
415
+ # * `BZD` - Belize Dollar
416
+ # * `BMD` - Bermudan Dollar
417
+ # * `BTN` - Bhutanese Ngultrum
418
+ # * `BOB` - Bolivian Boliviano
419
+ # * `BOL` - Bolivian Boliviano (1863–1963)
420
+ # * `BOV` - Bolivian Mvdol
421
+ # * `BOP` - Bolivian Peso
422
+ # * `BAM` - Bosnia-Herzegovina Convertible Mark
423
+ # * `BAD` - Bosnia-Herzegovina Dinar (1992–1994)
424
+ # * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997)
425
+ # * `BWP` - Botswanan Pula
426
+ # * `BRC` - Brazilian Cruzado (1986–1989)
427
+ # * `BRZ` - Brazilian Cruzeiro (1942–1967)
428
+ # * `BRE` - Brazilian Cruzeiro (1990–1993)
429
+ # * `BRR` - Brazilian Cruzeiro (1993–1994)
430
+ # * `BRN` - Brazilian New Cruzado (1989–1990)
431
+ # * `BRB` - Brazilian New Cruzeiro (1967–1986)
432
+ # * `BRL` - Brazilian Real
433
+ # * `GBP` - British Pound
434
+ # * `BND` - Brunei Dollar
435
+ # * `BGL` - Bulgarian Hard Lev
436
+ # * `BGN` - Bulgarian Lev
437
+ # * `BGO` - Bulgarian Lev (1879–1952)
438
+ # * `BGM` - Bulgarian Socialist Lev
439
+ # * `BUK` - Burmese Kyat
440
+ # * `BIF` - Burundian Franc
441
+ # * `XPF` - CFP Franc
442
+ # * `KHR` - Cambodian Riel
443
+ # * `CAD` - Canadian Dollar
444
+ # * `CVE` - Cape Verdean Escudo
445
+ # * `KYD` - Cayman Islands Dollar
446
+ # * `XAF` - Central African CFA Franc
447
+ # * `CLE` - Chilean Escudo
448
+ # * `CLP` - Chilean Peso
449
+ # * `CLF` - Chilean Unit of Account (UF)
450
+ # * `CNX` - Chinese People’s Bank Dollar
451
+ # * `CNY` - Chinese Yuan
452
+ # * `CNH` - Chinese Yuan (offshore)
453
+ # * `COP` - Colombian Peso
454
+ # * `COU` - Colombian Real Value Unit
455
+ # * `KMF` - Comorian Franc
456
+ # * `CDF` - Congolese Franc
457
+ # * `CRC` - Costa Rican Colón
458
+ # * `HRD` - Croatian Dinar
459
+ # * `HRK` - Croatian Kuna
460
+ # * `CUC` - Cuban Convertible Peso
461
+ # * `CUP` - Cuban Peso
462
+ # * `CYP` - Cypriot Pound
463
+ # * `CZK` - Czech Koruna
464
+ # * `CSK` - Czechoslovak Hard Koruna
465
+ # * `DKK` - Danish Krone
466
+ # * `DJF` - Djiboutian Franc
467
+ # * `DOP` - Dominican Peso
468
+ # * `NLG` - Dutch Guilder
469
+ # * `XCD` - East Caribbean Dollar
470
+ # * `DDM` - East German Mark
471
+ # * `ECS` - Ecuadorian Sucre
472
+ # * `ECV` - Ecuadorian Unit of Constant Value
473
+ # * `EGP` - Egyptian Pound
474
+ # * `GQE` - Equatorial Guinean Ekwele
475
+ # * `ERN` - Eritrean Nakfa
476
+ # * `EEK` - Estonian Kroon
477
+ # * `ETB` - Ethiopian Birr
478
+ # * `EUR` - Euro
479
+ # * `XBA` - European Composite Unit
480
+ # * `XEU` - European Currency Unit
481
+ # * `XBB` - European Monetary Unit
482
+ # * `XBC` - European Unit of Account (XBC)
483
+ # * `XBD` - European Unit of Account (XBD)
484
+ # * `FKP` - Falkland Islands Pound
485
+ # * `FJD` - Fijian Dollar
486
+ # * `FIM` - Finnish Markka
487
+ # * `FRF` - French Franc
488
+ # * `XFO` - French Gold Franc
489
+ # * `XFU` - French UIC-Franc
490
+ # * `GMD` - Gambian Dalasi
491
+ # * `GEK` - Georgian Kupon Larit
492
+ # * `GEL` - Georgian Lari
493
+ # * `DEM` - German Mark
494
+ # * `GHS` - Ghanaian Cedi
495
+ # * `GHC` - Ghanaian Cedi (1979–2007)
496
+ # * `GIP` - Gibraltar Pound
497
+ # * `XAU` - Gold
498
+ # * `GRD` - Greek Drachma
499
+ # * `GTQ` - Guatemalan Quetzal
500
+ # * `GWP` - Guinea-Bissau Peso
501
+ # * `GNF` - Guinean Franc
502
+ # * `GNS` - Guinean Syli
503
+ # * `GYD` - Guyanaese Dollar
504
+ # * `HTG` - Haitian Gourde
505
+ # * `HNL` - Honduran Lempira
506
+ # * `HKD` - Hong Kong Dollar
507
+ # * `HUF` - Hungarian Forint
508
+ # * `IMP` - IMP
509
+ # * `ISK` - Icelandic Króna
510
+ # * `ISJ` - Icelandic Króna (1918–1981)
511
+ # * `INR` - Indian Rupee
512
+ # * `IDR` - Indonesian Rupiah
513
+ # * `IRR` - Iranian Rial
514
+ # * `IQD` - Iraqi Dinar
515
+ # * `IEP` - Irish Pound
516
+ # * `ILS` - Israeli New Shekel
517
+ # * `ILP` - Israeli Pound
518
+ # * `ILR` - Israeli Shekel (1980–1985)
519
+ # * `ITL` - Italian Lira
520
+ # * `JMD` - Jamaican Dollar
521
+ # * `JPY` - Japanese Yen
522
+ # * `JOD` - Jordanian Dinar
523
+ # * `KZT` - Kazakhstani Tenge
524
+ # * `KES` - Kenyan Shilling
525
+ # * `KWD` - Kuwaiti Dinar
526
+ # * `KGS` - Kyrgystani Som
527
+ # * `LAK` - Laotian Kip
528
+ # * `LVL` - Latvian Lats
529
+ # * `LVR` - Latvian Ruble
530
+ # * `LBP` - Lebanese Pound
531
+ # * `LSL` - Lesotho Loti
532
+ # * `LRD` - Liberian Dollar
533
+ # * `LYD` - Libyan Dinar
534
+ # * `LTL` - Lithuanian Litas
535
+ # * `LTT` - Lithuanian Talonas
536
+ # * `LUL` - Luxembourg Financial Franc
537
+ # * `LUC` - Luxembourgian Convertible Franc
538
+ # * `LUF` - Luxembourgian Franc
539
+ # * `MOP` - Macanese Pataca
540
+ # * `MKD` - Macedonian Denar
541
+ # * `MKN` - Macedonian Denar (1992–1993)
542
+ # * `MGA` - Malagasy Ariary
543
+ # * `MGF` - Malagasy Franc
544
+ # * `MWK` - Malawian Kwacha
545
+ # * `MYR` - Malaysian Ringgit
546
+ # * `MVR` - Maldivian Rufiyaa
547
+ # * `MVP` - Maldivian Rupee (1947–1981)
548
+ # * `MLF` - Malian Franc
549
+ # * `MTL` - Maltese Lira
550
+ # * `MTP` - Maltese Pound
551
+ # * `MRU` - Mauritanian Ouguiya
552
+ # * `MRO` - Mauritanian Ouguiya (1973–2017)
553
+ # * `MUR` - Mauritian Rupee
554
+ # * `MXV` - Mexican Investment Unit
555
+ # * `MXN` - Mexican Peso
556
+ # * `MXP` - Mexican Silver Peso (1861–1992)
557
+ # * `MDC` - Moldovan Cupon
558
+ # * `MDL` - Moldovan Leu
559
+ # * `MCF` - Monegasque Franc
560
+ # * `MNT` - Mongolian Tugrik
561
+ # * `MAD` - Moroccan Dirham
562
+ # * `MAF` - Moroccan Franc
563
+ # * `MZE` - Mozambican Escudo
564
+ # * `MZN` - Mozambican Metical
565
+ # * `MZM` - Mozambican Metical (1980–2006)
566
+ # * `MMK` - Myanmar Kyat
567
+ # * `NAD` - Namibian Dollar
568
+ # * `NPR` - Nepalese Rupee
569
+ # * `ANG` - Netherlands Antillean Guilder
570
+ # * `TWD` - New Taiwan Dollar
571
+ # * `NZD` - New Zealand Dollar
572
+ # * `NIO` - Nicaraguan Córdoba
573
+ # * `NIC` - Nicaraguan Córdoba (1988–1991)
574
+ # * `NGN` - Nigerian Naira
575
+ # * `KPW` - North Korean Won
576
+ # * `NOK` - Norwegian Krone
577
+ # * `OMR` - Omani Rial
578
+ # * `PKR` - Pakistani Rupee
579
+ # * `XPD` - Palladium
580
+ # * `PAB` - Panamanian Balboa
581
+ # * `PGK` - Papua New Guinean Kina
582
+ # * `PYG` - Paraguayan Guarani
583
+ # * `PEI` - Peruvian Inti
584
+ # * `PEN` - Peruvian Sol
585
+ # * `PES` - Peruvian Sol (1863–1965)
586
+ # * `PHP` - Philippine Peso
587
+ # * `XPT` - Platinum
588
+ # * `PLN` - Polish Zloty
589
+ # * `PLZ` - Polish Zloty (1950–1995)
590
+ # * `PTE` - Portuguese Escudo
591
+ # * `GWE` - Portuguese Guinea Escudo
592
+ # * `QAR` - Qatari Rial
593
+ # * `XRE` - RINET Funds
594
+ # * `RHD` - Rhodesian Dollar
595
+ # * `RON` - Romanian Leu
596
+ # * `ROL` - Romanian Leu (1952–2006)
597
+ # * `RUB` - Russian Ruble
598
+ # * `RUR` - Russian Ruble (1991–1998)
599
+ # * `RWF` - Rwandan Franc
600
+ # * `SVC` - Salvadoran Colón
601
+ # * `WST` - Samoan Tala
602
+ # * `SAR` - Saudi Riyal
603
+ # * `RSD` - Serbian Dinar
604
+ # * `CSD` - Serbian Dinar (2002–2006)
605
+ # * `SCR` - Seychellois Rupee
606
+ # * `SLL` - Sierra Leonean Leone
607
+ # * `XAG` - Silver
608
+ # * `SGD` - Singapore Dollar
609
+ # * `SKK` - Slovak Koruna
610
+ # * `SIT` - Slovenian Tolar
611
+ # * `SBD` - Solomon Islands Dollar
612
+ # * `SOS` - Somali Shilling
613
+ # * `ZAR` - South African Rand
614
+ # * `ZAL` - South African Rand (financial)
615
+ # * `KRH` - South Korean Hwan (1953–1962)
616
+ # * `KRW` - South Korean Won
617
+ # * `KRO` - South Korean Won (1945–1953)
618
+ # * `SSP` - South Sudanese Pound
619
+ # * `SUR` - Soviet Rouble
620
+ # * `ESP` - Spanish Peseta
621
+ # * `ESA` - Spanish Peseta (A account)
622
+ # * `ESB` - Spanish Peseta (convertible account)
623
+ # * `XDR` - Special Drawing Rights
624
+ # * `LKR` - Sri Lankan Rupee
625
+ # * `SHP` - St. Helena Pound
626
+ # * `XSU` - Sucre
627
+ # * `SDD` - Sudanese Dinar (1992–2007)
628
+ # * `SDG` - Sudanese Pound
629
+ # * `SDP` - Sudanese Pound (1957–1998)
630
+ # * `SRD` - Surinamese Dollar
631
+ # * `SRG` - Surinamese Guilder
632
+ # * `SZL` - Swazi Lilangeni
633
+ # * `SEK` - Swedish Krona
634
+ # * `CHF` - Swiss Franc
635
+ # * `SYP` - Syrian Pound
636
+ # * `STN` - São Tomé & Príncipe Dobra
637
+ # * `STD` - São Tomé & Príncipe Dobra (1977–2017)
638
+ # * `TVD` - TVD
639
+ # * `TJR` - Tajikistani Ruble
640
+ # * `TJS` - Tajikistani Somoni
641
+ # * `TZS` - Tanzanian Shilling
642
+ # * `XTS` - Testing Currency Code
643
+ # * `THB` - Thai Baht
644
+ # * `XXX` - The codes assigned for transactions where no currency is involved
645
+ # * `TPE` - Timorese Escudo
646
+ # * `TOP` - Tongan Paʻanga
647
+ # * `TTD` - Trinidad & Tobago Dollar
648
+ # * `TND` - Tunisian Dinar
649
+ # * `TRY` - Turkish Lira
650
+ # * `TRL` - Turkish Lira (1922–2005)
651
+ # * `TMT` - Turkmenistani Manat
652
+ # * `TMM` - Turkmenistani Manat (1993–2009)
653
+ # * `USD` - US Dollar
654
+ # * `USN` - US Dollar (Next day)
655
+ # * `USS` - US Dollar (Same day)
656
+ # * `UGX` - Ugandan Shilling
657
+ # * `UGS` - Ugandan Shilling (1966–1987)
658
+ # * `UAH` - Ukrainian Hryvnia
659
+ # * `UAK` - Ukrainian Karbovanets
660
+ # * `AED` - United Arab Emirates Dirham
661
+ # * `UYW` - Uruguayan Nominal Wage Index Unit
662
+ # * `UYU` - Uruguayan Peso
663
+ # * `UYP` - Uruguayan Peso (1975–1993)
664
+ # * `UYI` - Uruguayan Peso (Indexed Units)
665
+ # * `UZS` - Uzbekistani Som
666
+ # * `VUV` - Vanuatu Vatu
667
+ # * `VES` - Venezuelan Bolívar
668
+ # * `VEB` - Venezuelan Bolívar (1871–2008)
669
+ # * `VEF` - Venezuelan Bolívar (2008–2018)
670
+ # * `VND` - Vietnamese Dong
671
+ # * `VNN` - Vietnamese Dong (1978–1985)
672
+ # * `CHE` - WIR Euro
673
+ # * `CHW` - WIR Franc
674
+ # * `XOF` - West African CFA Franc
675
+ # * `YDD` - Yemeni Dinar
676
+ # * `YER` - Yemeni Rial
677
+ # * `YUN` - Yugoslavian Convertible Dinar (1990–1992)
678
+ # * `YUD` - Yugoslavian Hard Dinar (1966–1990)
679
+ # * `YUM` - Yugoslavian New Dinar (1994–2002)
680
+ # * `YUR` - Yugoslavian Reformed Dinar (1992–1993)
681
+ # * `ZWN` - ZWN
682
+ # * `ZRN` - Zairean New Zaire (1993–1998)
683
+ # * `ZRZ` - Zairean Zaire (1971–1993)
684
+ # * `ZMW` - Zambian Kwacha
685
+ # * `ZMK` - Zambian Kwacha (1968–2012)
686
+ # * `ZWD` - Zimbabwean Dollar (1980–2008)
687
+ # * `ZWR` - Zimbabwean Dollar (2008)
688
+ # * `ZWL` - Zimbabwean Dollar (2009)
689
+ # @param description [String] A brief description or purpose for the expense report
690
+ # @param accounting_period [Merge::Accounting::ExpenseReportRequestAccountingPeriod] The accounting period the report was posted in
691
+ # @param company [Merge::Accounting::ExpenseReportRequestCompany] The subsidiary that the expense report is created in
692
+ # @param tracking_categories [Array<String>] The related tracking categories associated with the expense report
693
+ # @param integration_params [Hash{String => Object}]
694
+ # @param linked_account_params [Hash{String => Object}]
695
+ # @param remote_fields [Array<Merge::Accounting::RemoteFieldRequest>]
696
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
697
+ # @return [Merge::Accounting::ExpenseReportRequest]
698
+ def initialize(tracking_categories:, report_date: OMIT, report_identifier: OMIT, employee: OMIT, status: OMIT, total_amount: OMIT,
699
+ currency: OMIT, description: OMIT, accounting_period: OMIT, company: OMIT, integration_params: OMIT, linked_account_params: OMIT, remote_fields: OMIT, additional_properties: nil)
700
+ @report_date = report_date if report_date != OMIT
701
+ @report_identifier = report_identifier if report_identifier != OMIT
702
+ @employee = employee if employee != OMIT
703
+ @status = status if status != OMIT
704
+ @total_amount = total_amount if total_amount != OMIT
705
+ @currency = currency if currency != OMIT
706
+ @description = description if description != OMIT
707
+ @accounting_period = accounting_period if accounting_period != OMIT
708
+ @company = company if company != OMIT
709
+ @tracking_categories = tracking_categories
710
+ @integration_params = integration_params if integration_params != OMIT
711
+ @linked_account_params = linked_account_params if linked_account_params != OMIT
712
+ @remote_fields = remote_fields if remote_fields != OMIT
713
+ @additional_properties = additional_properties
714
+ @_field_set = {
715
+ "report_date": report_date,
716
+ "report_identifier": report_identifier,
717
+ "employee": employee,
718
+ "status": status,
719
+ "total_amount": total_amount,
720
+ "currency": currency,
721
+ "description": description,
722
+ "accounting_period": accounting_period,
723
+ "company": company,
724
+ "tracking_categories": tracking_categories,
725
+ "integration_params": integration_params,
726
+ "linked_account_params": linked_account_params,
727
+ "remote_fields": remote_fields
728
+ }.reject do |_k, v|
729
+ v == OMIT
730
+ end
731
+ end
732
+
733
+ # Deserialize a JSON object to an instance of ExpenseReportRequest
734
+ #
735
+ # @param json_object [String]
736
+ # @return [Merge::Accounting::ExpenseReportRequest]
737
+ def self.from_json(json_object:)
738
+ struct = JSON.parse(json_object, object_class: OpenStruct)
739
+ parsed_json = JSON.parse(json_object)
740
+ report_date = (DateTime.parse(parsed_json["report_date"]) unless parsed_json["report_date"].nil?)
741
+ report_identifier = parsed_json["report_identifier"]
742
+ if parsed_json["employee"].nil?
743
+ employee = nil
744
+ else
745
+ employee = parsed_json["employee"].to_json
746
+ employee = Merge::Accounting::ExpenseReportRequestEmployee.from_json(json_object: employee)
747
+ end
748
+ status = parsed_json["status"]
749
+ total_amount = parsed_json["total_amount"]
750
+ currency = parsed_json["currency"]
751
+ description = parsed_json["description"]
752
+ if parsed_json["accounting_period"].nil?
753
+ accounting_period = nil
754
+ else
755
+ accounting_period = parsed_json["accounting_period"].to_json
756
+ accounting_period = Merge::Accounting::ExpenseReportRequestAccountingPeriod.from_json(json_object: accounting_period)
757
+ end
758
+ if parsed_json["company"].nil?
759
+ company = nil
760
+ else
761
+ company = parsed_json["company"].to_json
762
+ company = Merge::Accounting::ExpenseReportRequestCompany.from_json(json_object: company)
763
+ end
764
+ tracking_categories = parsed_json["tracking_categories"]
765
+ integration_params = parsed_json["integration_params"]
766
+ linked_account_params = parsed_json["linked_account_params"]
767
+ remote_fields = parsed_json["remote_fields"]&.map do |item|
768
+ item = item.to_json
769
+ Merge::Accounting::RemoteFieldRequest.from_json(json_object: item)
770
+ end
771
+ new(
772
+ report_date: report_date,
773
+ report_identifier: report_identifier,
774
+ employee: employee,
775
+ status: status,
776
+ total_amount: total_amount,
777
+ currency: currency,
778
+ description: description,
779
+ accounting_period: accounting_period,
780
+ company: company,
781
+ tracking_categories: tracking_categories,
782
+ integration_params: integration_params,
783
+ linked_account_params: linked_account_params,
784
+ remote_fields: remote_fields,
785
+ additional_properties: struct
786
+ )
787
+ end
788
+
789
+ # Serialize an instance of ExpenseReportRequest to a JSON object
790
+ #
791
+ # @return [String]
792
+ def to_json(*_args)
793
+ @_field_set&.to_json
794
+ end
795
+
796
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
797
+ # hash and check each fields type against the current object's property
798
+ # definitions.
799
+ #
800
+ # @param obj [Object]
801
+ # @return [Void]
802
+ def self.validate_raw(obj:)
803
+ obj.report_date&.is_a?(DateTime) != false || raise("Passed value for field obj.report_date is not the expected type, validation failed.")
804
+ obj.report_identifier&.is_a?(String) != false || raise("Passed value for field obj.report_identifier is not the expected type, validation failed.")
805
+ obj.employee.nil? || Merge::Accounting::ExpenseReportRequestEmployee.validate_raw(obj: obj.employee)
806
+ obj.status&.is_a?(Merge::Accounting::ExpenseReportStatusEnum) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
807
+ obj.total_amount&.is_a?(Float) != false || raise("Passed value for field obj.total_amount is not the expected type, validation failed.")
808
+ obj.currency&.is_a?(Merge::Accounting::TransactionCurrencyEnum) != false || raise("Passed value for field obj.currency is not the expected type, validation failed.")
809
+ obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
810
+ obj.accounting_period.nil? || Merge::Accounting::ExpenseReportRequestAccountingPeriod.validate_raw(obj: obj.accounting_period)
811
+ obj.company.nil? || Merge::Accounting::ExpenseReportRequestCompany.validate_raw(obj: obj.company)
812
+ obj.tracking_categories.is_a?(Array) != false || raise("Passed value for field obj.tracking_categories is not the expected type, validation failed.")
813
+ obj.integration_params&.is_a?(Hash) != false || raise("Passed value for field obj.integration_params is not the expected type, validation failed.")
814
+ obj.linked_account_params&.is_a?(Hash) != false || raise("Passed value for field obj.linked_account_params is not the expected type, validation failed.")
815
+ obj.remote_fields&.is_a?(Array) != false || raise("Passed value for field obj.remote_fields is not the expected type, validation failed.")
816
+ end
817
+ end
818
+ end
819
+ end