gobl 0.19.0 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/data/regimes/at.json +155 -0
  4. data/data/regimes/be.json +164 -0
  5. data/data/regimes/ca.json +9 -0
  6. data/data/regimes/ch.json +153 -0
  7. data/data/regimes/co.json +80 -14686
  8. data/data/regimes/de.json +2 -2
  9. data/data/regimes/es.json +99 -561
  10. data/data/regimes/fr.json +2 -2
  11. data/data/regimes/gb.json +8 -0
  12. data/data/regimes/gr.json +591 -0
  13. data/data/regimes/it.json +46 -666
  14. data/data/regimes/mx.json +27 -3
  15. data/data/regimes/nl.json +8 -0
  16. data/data/regimes/pl.json +65 -8
  17. data/data/regimes/pt.json +51 -200
  18. data/data/regimes/us.json +9 -0
  19. data/lib/generated/gobl/bill/charge.rb +6 -7
  20. data/lib/generated/gobl/bill/correction_options.rb +7 -3
  21. data/lib/generated/gobl/bill/delivery.rb +0 -1
  22. data/lib/generated/gobl/bill/discount.rb +5 -6
  23. data/lib/generated/gobl/bill/document_reference.rb +2 -3
  24. data/lib/generated/gobl/bill/invoice.rb +6 -6
  25. data/lib/generated/gobl/bill/line.rb +3 -4
  26. data/lib/generated/gobl/bill/line_charge.rb +0 -1
  27. data/lib/generated/gobl/bill/line_discount.rb +0 -1
  28. data/lib/generated/gobl/bill/ordering.rb +0 -1
  29. data/lib/generated/gobl/bill/outlay.rb +3 -4
  30. data/lib/generated/gobl/bill/payment.rb +0 -1
  31. data/lib/generated/gobl/bill/preceding.rb +16 -6
  32. data/lib/generated/gobl/bill/tax.rb +5 -1
  33. data/lib/generated/gobl/bill/totals.rb +0 -1
  34. data/lib/generated/gobl/cal/date.rb +0 -1
  35. data/lib/generated/gobl/cal/date_time.rb +0 -1
  36. data/lib/generated/gobl/cal/period.rb +0 -1
  37. data/lib/generated/gobl/cbc/code.rb +0 -1
  38. data/lib/generated/gobl/{tax → cbc}/code_definition.rb +7 -3
  39. data/lib/generated/gobl/cbc/code_map.rb +0 -1
  40. data/lib/generated/gobl/cbc/key.rb +0 -1
  41. data/lib/generated/gobl/{tax → cbc}/key_definition.rb +16 -7
  42. data/lib/generated/gobl/cbc/meta.rb +0 -1
  43. data/lib/generated/gobl/cbc/note.rb +0 -1
  44. data/lib/generated/gobl/currency/amount.rb +33 -0
  45. data/lib/generated/gobl/currency/code.rb +118 -105
  46. data/lib/generated/gobl/currency/exchange_rate.rb +17 -7
  47. data/lib/generated/gobl/dsig/digest.rb +0 -1
  48. data/lib/generated/gobl/dsig/signature.rb +0 -1
  49. data/lib/generated/gobl/envelope.rb +0 -1
  50. data/lib/generated/gobl/head/header.rb +2 -3
  51. data/lib/generated/gobl/head/stamp.rb +0 -1
  52. data/lib/generated/gobl/i18n/string.rb +0 -1
  53. data/lib/generated/gobl/l10n/code.rb +0 -1
  54. data/lib/generated/gobl/l10n/country_code.rb +0 -1
  55. data/lib/generated/gobl/note/message.rb +5 -1
  56. data/lib/generated/gobl/org/address.rb +3 -4
  57. data/lib/generated/gobl/org/coordinates.rb +0 -1
  58. data/lib/generated/gobl/org/email.rb +3 -4
  59. data/lib/generated/gobl/org/identity.rb +3 -4
  60. data/lib/generated/gobl/org/image.rb +3 -4
  61. data/lib/generated/gobl/org/inbox.rb +3 -4
  62. data/lib/generated/gobl/org/item.rb +10 -6
  63. data/lib/generated/gobl/org/name.rb +3 -4
  64. data/lib/generated/gobl/org/party.rb +10 -6
  65. data/lib/generated/gobl/org/person.rb +3 -4
  66. data/lib/generated/gobl/org/registration.rb +7 -3
  67. data/lib/generated/gobl/org/telephone.rb +3 -4
  68. data/lib/generated/gobl/org/unit.rb +0 -1
  69. data/lib/generated/gobl/org/website.rb +4 -5
  70. data/lib/generated/gobl/pay/advance.rb +3 -4
  71. data/lib/generated/gobl/pay/card.rb +0 -1
  72. data/lib/generated/gobl/pay/credit_transfer.rb +0 -1
  73. data/lib/generated/gobl/pay/direct_debit.rb +0 -1
  74. data/lib/generated/gobl/pay/due_date.rb +0 -1
  75. data/lib/generated/gobl/pay/instructions.rb +0 -1
  76. data/lib/generated/gobl/pay/online.rb +12 -8
  77. data/lib/generated/gobl/pay/terms.rb +0 -1
  78. data/lib/generated/gobl/regimes/mx/food_vouchers.rb +0 -1
  79. data/lib/generated/gobl/regimes/mx/food_vouchers_employee.rb +0 -1
  80. data/lib/generated/gobl/regimes/mx/food_vouchers_line.rb +0 -1
  81. data/lib/generated/gobl/regimes/mx/fuel_account_balance.rb +0 -1
  82. data/lib/generated/gobl/regimes/mx/fuel_account_item.rb +0 -1
  83. data/lib/generated/gobl/regimes/mx/fuel_account_line.rb +0 -2
  84. data/lib/generated/gobl/regimes/mx/fuel_account_tax.rb +11 -9
  85. data/lib/generated/gobl/schema/object.rb +0 -1
  86. data/lib/generated/gobl/tax/category.rb +1 -2
  87. data/lib/generated/gobl/tax/category_total.rb +0 -1
  88. data/lib/generated/gobl/tax/combo.rb +3 -4
  89. data/lib/generated/gobl/tax/correction_definition.rb +0 -1
  90. data/lib/generated/gobl/tax/{ext_map.rb → extensions.rb} +2 -3
  91. data/lib/generated/gobl/tax/identity.rb +10 -21
  92. data/lib/generated/gobl/tax/rate.rb +0 -1
  93. data/lib/generated/gobl/tax/rate_total.rb +3 -4
  94. data/lib/generated/gobl/tax/rate_total_surcharge.rb +0 -1
  95. data/lib/generated/gobl/tax/rate_value.rb +9 -5
  96. data/lib/generated/gobl/tax/regime.rb +23 -24
  97. data/lib/generated/gobl/tax/scenario.rb +0 -1
  98. data/lib/generated/gobl/tax/scenario_set.rb +0 -1
  99. data/lib/generated/gobl/tax/set.rb +0 -1
  100. data/lib/generated/gobl/tax/source.rb +0 -1
  101. data/lib/generated/gobl/tax/total.rb +0 -1
  102. data/lib/gobl/operations/validation_result.rb +1 -3
  103. data/lib/gobl/version.rb +1 -1
  104. metadata +10 -7
  105. data/lib/generated/gobl/tax/zone.rb +0 -48
  106. data/lib/generated/gobl/uuid/uuid.rb +0 -17
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -14,9 +13,9 @@ module GOBL
14
13
  SCHEMA_ID = 'https://gobl.org/draft-0/bill/invoice#/$defs/Outlay'
15
14
 
16
15
  # @!attribute [r] uuid
17
- # Unique identity for this outlay.
18
- # @return [GOBL::UUID::UUID]
19
- property :uuid, GOBL::UUID::UUID
16
+ # Universally Unique Identifier.
17
+ # @return [String]
18
+ property :uuid, String
20
19
 
21
20
  # @!attribute [r] i
22
21
  # Outlay number index inside the invoice for ordering (calculated).
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -14,14 +13,25 @@ module GOBL
14
13
  SCHEMA_ID = 'https://gobl.org/draft-0/bill/invoice#/$defs/Preceding'
15
14
 
16
15
  # @!attribute [r] uuid
17
- # Preceding document's UUID if available can be useful for tracing.
18
- # @return [GOBL::UUID::UUID]
19
- property :uuid, GOBL::UUID::UUID
16
+ # Preceding document's UUID.
17
+ # @return [String]
18
+ property :uuid, String
19
+
20
+ # Enumeration of possible values for {#type} with their corresponding descriptions
21
+ TYPE_ENUM = {
22
+ 'standard' => 'A regular commercial invoice document between a supplier and customer.',
23
+ 'proforma' => 'For a clients validation before sending a final invoice.',
24
+ 'corrective' => 'Corrected invoice that completely *replaces* the preceding document.',
25
+ 'credit-note' => 'Reflects a refund either partial or complete of the preceding document. A
26
+ credit note effectively *extends* the previous document.',
27
+ 'debit-note' => 'An additional set of charges to be added to the preceding document.'
28
+ }.freeze
20
29
 
21
30
  # @!attribute [r] type
22
31
  # Type of the preceding document
23
32
  # @return [GOBL::CBC::Key]
24
33
  property :type, GOBL::CBC::Key
34
+ validates_inclusion_of :type, in: TYPE_ENUM.keys, allow_blank: true
25
35
 
26
36
  # @!attribute [r] series
27
37
  # Series identification code
@@ -56,8 +66,8 @@ module GOBL
56
66
 
57
67
  # @!attribute [r] ext
58
68
  # Extensions for region specific requirements.
59
- # @return [GOBL::Tax::ExtMap]
60
- property :ext, GOBL::Tax::ExtMap
69
+ # @return [GOBL::Tax::Extensions]
70
+ property :ext, GOBL::Tax::Extensions
61
71
 
62
72
  # @!attribute [r] meta
63
73
  # Additional semi-structured data that may be useful in specific regions
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -23,6 +22,11 @@ module GOBL
23
22
  # @return [Array<GOBL::CBC::Key>]
24
23
  property :tags, [GOBL::CBC::Key]
25
24
 
25
+ # @!attribute [r] ext
26
+ # Additional extensions that are applied to the invoice as a whole as opposed to specific sections.
27
+ # @return [GOBL::Tax::Extensions]
28
+ property :ext, GOBL::Tax::Extensions
29
+
26
30
  # @!attribute [r] meta
27
31
  # Any additional data that may be required for processing, but should never be relied upon by recipients.
28
32
  # @return [GOBL::CBC::Meta]
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -3,15 +3,14 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
10
- module Tax
9
+ module CBC
11
10
  # CodeDefinition describes a specific code and how it maps to a human name and description if appropriate.
12
11
  class CodeDefinition < GOBL::Object
13
12
  # The Schema ID of the GOBL CodeDefinition structure
14
- SCHEMA_ID = 'https://gobl.org/draft-0/tax/regime#/$defs/CodeDefinition'
13
+ SCHEMA_ID = 'https://gobl.org/draft-0/cbc/code-definition'
15
14
 
16
15
  # @!attribute [r] code
17
16
  # Code for which the definition is for.
@@ -28,6 +27,11 @@ module GOBL
28
27
  # Description offering more details about when the code should be used.
29
28
  # @return [GOBL::I18n::String]
30
29
  property :desc, GOBL::I18n::String
30
+
31
+ # @!attribute [r] meta
32
+ # Meta defines any additional details that may be useful or associated with the code.
33
+ # @return [GOBL::CBC::Meta]
34
+ property :meta, GOBL::CBC::Meta
31
35
  end
32
36
  end
33
37
  end
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -3,15 +3,14 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
10
- module Tax
9
+ module CBC
11
10
  # KeyDefinition defines properties of a key that is specific for a regime.
12
11
  class KeyDefinition < GOBL::Object
13
12
  # The Schema ID of the GOBL KeyDefinition structure
14
- SCHEMA_ID = 'https://gobl.org/draft-0/tax/regime#/$defs/KeyDefinition'
13
+ SCHEMA_ID = 'https://gobl.org/draft-0/cbc/key-definition'
15
14
 
16
15
  # @!attribute [r] key
17
16
  # Actual key value.
@@ -30,15 +29,25 @@ module GOBL
30
29
  # @return [GOBL::I18n::String]
31
30
  property :desc, GOBL::I18n::String
32
31
 
32
+ # @!attribute [r] meta
33
+ # Meta defines any additional details that may be useful or associated with the key.
34
+ # @return [GOBL::CBC::Meta]
35
+ property :meta, GOBL::CBC::Meta
36
+
33
37
  # @!attribute [r] codes
34
38
  # Codes describes the list of codes that can be used alongside the Key, for example with identities.
35
- # @return [Array<CodeDefinition>]
36
- property :codes, [CodeDefinition]
39
+ # @return [Array<GOBL::CBC::CodeDefinition>]
40
+ property :codes, [GOBL::CBC::CodeDefinition]
37
41
 
38
42
  # @!attribute [r] keys
39
43
  # Keys is used instead of codes to define a further sub-set of keys that can be used alongside this one.
40
- # @return [Array<KeyDefinition>]
41
- property :keys, [KeyDefinition]
44
+ # @return [Array<GOBL::CBC::KeyDefinition>]
45
+ property :keys, [GOBL::CBC::KeyDefinition]
46
+
47
+ # @!attribute [r] pattern
48
+ # Pattern is used to validate the key value instead of using a fixed value from the code or key definitions.
49
+ # @return [String]
50
+ property :pattern, String
42
51
 
43
52
  # @!attribute [r] map
44
53
  # Map helps map local keys to specific codes, useful for converting the described key into a local code.
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -3,7 +3,6 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ ##
4
+ ## DO NOT EDIT - This file was generated automatically.
5
+ ##
6
+ ##
7
+
8
+ module GOBL
9
+ module Currency
10
+ # An Amount represents a monetary value in a specific currency.
11
+ class Amount < GOBL::Object
12
+ # The Schema ID of the GOBL Amount structure
13
+ SCHEMA_ID = 'https://gobl.org/draft-0/currency/amount'
14
+
15
+ # @!attribute [r] label
16
+ # Label allows for additional information to be added to the currency Amount that may be useful.
17
+ # @return [String]
18
+ property :label, String
19
+
20
+ # @!attribute [r] currency
21
+ # Code defines the currency for this amount.
22
+ # @return [GOBL::Currency::Code]
23
+ property :currency, GOBL::Currency::Code
24
+ validates_presence_of :currency
25
+
26
+ # @!attribute [r] value
27
+ # Value is the amount in the currency.
28
+ # @return [GOBL::Num::Amount]
29
+ property :value, GOBL::Num::Amount
30
+ validates_presence_of :value
31
+ end
32
+ end
33
+ end
@@ -3,12 +3,11 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.67.0
7
6
  ##
8
7
 
9
8
  module GOBL
10
9
  module Currency
11
- # ISO Currency Code
10
+ # Currency Code as defined in the GOBL source which is expected to be ISO or commonly used alternative.
12
11
  class Code < String
13
12
  # The Schema ID of the GOBL Code structure
14
13
  SCHEMA_ID = 'https://gobl.org/draft-0/currency/code'
@@ -16,172 +15,186 @@ module GOBL
16
15
  include GOBL::Enum
17
16
 
18
17
  ENUM = {
19
- 'AED' => 'UAE Dirham',
20
- 'AFN' => 'Afghani',
21
- 'ALL' => 'Lek',
22
- 'AMD' => 'Armenian Dram',
23
- 'ANG' => 'Netherlands Antillean Guilder',
24
- 'AOA' => 'Kwanza',
25
- 'ARS' => 'Argentine Peso',
18
+ 'USD' => 'United States Dollar',
19
+ 'EUR' => 'Euro',
20
+ 'GBP' => 'British Pound',
26
21
  'AUD' => 'Australian Dollar',
27
- 'AWG' => 'Aruban Florin',
28
- 'AZN' => 'Azerbaijan Manat',
29
- 'BAM' => 'Convertible Mark',
30
- 'BBD' => 'Barbados Dollar',
31
- 'BDT' => 'Taka',
22
+ 'CAD' => 'Canadian Dollar',
23
+ 'JPY' => 'Japanese Yen',
24
+ 'BYR' => 'Belarusian Ruble',
25
+ 'MOP' => 'Macanese Pataca',
26
+ 'HTG' => 'Haitian Gourde',
27
+ 'AZN' => 'Azerbaijani Manat',
28
+ 'BAM' => 'Bosnia and Herzegovina Convertible Mark',
29
+ 'BBD' => 'Barbadian Dollar',
30
+ 'BDT' => 'Bangladeshi Taka',
32
31
  'BGN' => 'Bulgarian Lev',
33
32
  'BHD' => 'Bahraini Dinar',
34
- 'BIF' => 'Burundi Franc',
33
+ 'BIF' => 'Burundian Franc',
35
34
  'BMD' => 'Bermudian Dollar',
36
35
  'BND' => 'Brunei Dollar',
37
- 'BOB' => 'Boliviano',
38
- 'BOV' => 'Mvdol',
36
+ 'BOB' => 'Bolivian Boliviano',
39
37
  'BRL' => 'Brazilian Real',
40
38
  'BSD' => 'Bahamian Dollar',
41
- 'BTN' => 'Ngultrum',
42
- 'BWP' => 'Pula',
39
+ 'BTN' => 'Bhutanese Ngultrum',
40
+ 'BWP' => 'Botswana Pula',
43
41
  'BYN' => 'Belarusian Ruble',
42
+ 'ARS' => 'Argentine Peso',
44
43
  'BZD' => 'Belize Dollar',
45
- 'CAD' => 'Canadian Dollar',
44
+ 'AOA' => 'Angolan Kwanza',
46
45
  'CDF' => 'Congolese Franc',
47
- 'CHE' => 'WIR Euro',
48
46
  'CHF' => 'Swiss Franc',
49
- 'CHW' => 'WIR Franc',
50
47
  'CLF' => 'Unidad de Fomento',
51
48
  'CLP' => 'Chilean Peso',
52
- 'CNY' => 'Yuan Renminbi',
49
+ 'CNY' => 'Chinese Renminbi Yuan',
53
50
  'COP' => 'Colombian Peso',
54
- 'COU' => 'Unidad de Valor Real',
55
- 'CRC' => 'Costa Rican Colon',
56
- 'CUC' => 'Peso Convertible',
51
+ 'CRC' => 'Costa Rican Colón',
52
+ 'CUC' => 'Cuban Convertible Peso',
57
53
  'CUP' => 'Cuban Peso',
58
- 'CVE' => 'Cabo Verde Escudo',
54
+ 'CVE' => 'Cape Verdean Escudo',
59
55
  'CZK' => 'Czech Koruna',
60
- 'DJF' => 'Djibouti Franc',
56
+ 'DJF' => 'Djiboutian Franc',
61
57
  'DKK' => 'Danish Krone',
62
- 'DOP' => 'Dominican Peso',
58
+ 'MXN' => 'Mexican Peso',
63
59
  'DZD' => 'Algerian Dinar',
64
60
  'EGP' => 'Egyptian Pound',
65
- 'ERN' => 'Nakfa',
61
+ 'ERN' => 'Eritrean Nakfa',
66
62
  'ETB' => 'Ethiopian Birr',
67
- 'EUR' => 'Euro',
68
- 'FJD' => 'Fiji Dollar',
69
- 'FKP' => 'Falkland Islands Pound',
70
- 'GBP' => 'Pound Sterling',
71
- 'GEL' => 'Lari',
72
- 'GHS' => 'Ghana Cedi',
63
+ 'ANG' => 'Netherlands Antillean Gulden',
64
+ 'FJD' => 'Fijian Dollar',
65
+ 'FKP' => 'Falkland Pound',
66
+ 'AMD' => 'Armenian Dram',
67
+ 'GEL' => 'Georgian Lari',
68
+ 'GHS' => 'Ghanaian Cedi',
73
69
  'GIP' => 'Gibraltar Pound',
74
- 'GMD' => 'Dalasi',
70
+ 'GMD' => 'Gambian Dalasi',
75
71
  'GNF' => 'Guinean Franc',
76
- 'GTQ' => 'Quetzal',
77
- 'GYD' => 'Guyana Dollar',
72
+ 'GTQ' => 'Guatemalan Quetzal',
73
+ 'GYD' => 'Guyanese Dollar',
78
74
  'HKD' => 'Hong Kong Dollar',
79
- 'HNL' => 'Lempira',
80
- 'HRK' => 'Kuna',
81
- 'HTG' => 'Gourde',
82
- 'HUF' => 'Forint',
83
- 'IDR' => 'Rupiah',
84
- 'ILS' => 'New Israeli Sheqel',
75
+ 'HNL' => 'Honduran Lempira',
76
+ 'MWK' => 'Malawian Kwacha',
77
+ 'HUF' => 'Hungarian Forint',
78
+ 'IDR' => 'Indonesian Rupiah',
79
+ 'ILS' => 'Israeli New Sheqel',
85
80
  'INR' => 'Indian Rupee',
86
81
  'IQD' => 'Iraqi Dinar',
87
82
  'IRR' => 'Iranian Rial',
88
- 'ISK' => 'Iceland Krona',
83
+ 'ISK' => 'Icelandic Króna',
89
84
  'JMD' => 'Jamaican Dollar',
90
85
  'JOD' => 'Jordanian Dinar',
91
- 'JPY' => 'Yen',
86
+ 'ALL' => 'Albanian Lek',
92
87
  'KES' => 'Kenyan Shilling',
93
- 'KGS' => 'Som',
94
- 'KHR' => 'Riel',
95
- 'KMF' => 'Comorian Franc ',
88
+ 'KGS' => 'Kyrgyzstani Som',
89
+ 'KHR' => 'Cambodian Riel',
90
+ 'KMF' => 'Comorian Franc',
96
91
  'KPW' => 'North Korean Won',
97
- 'KRW' => 'Won',
92
+ 'KRW' => 'South Korean Won',
98
93
  'KWD' => 'Kuwaiti Dinar',
99
94
  'KYD' => 'Cayman Islands Dollar',
100
- 'KZT' => 'Tenge',
95
+ 'KZT' => 'Kazakhstani Tenge',
101
96
  'LAK' => 'Lao Kip',
102
97
  'LBP' => 'Lebanese Pound',
103
- 'LKR' => 'Sri Lanka Rupee',
98
+ 'LKR' => 'Sri Lankan Rupee',
104
99
  'LRD' => 'Liberian Dollar',
105
- 'LSL' => 'Loti',
100
+ 'LSL' => 'Lesotho Loti',
106
101
  'LYD' => 'Libyan Dinar',
107
102
  'MAD' => 'Moroccan Dirham',
108
103
  'MDL' => 'Moldovan Leu',
109
104
  'MGA' => 'Malagasy Ariary',
110
- 'MKD' => 'Denar',
111
- 'MMK' => 'Kyat',
112
- 'MNT' => 'Tugrik',
113
- 'MOP' => 'Pataca',
114
- 'MRU' => 'Ouguiya',
115
- 'MUR' => 'Mauritius Rupee',
116
- 'MVR' => 'Rufiyaa',
117
- 'MWK' => 'Malawi Kwacha',
118
- 'MXN' => 'Mexican Peso',
119
- 'MXV' => 'Mexican Unidad de Inversion (UDI)',
105
+ 'MKD' => 'Macedonian Denar',
106
+ 'MMK' => 'Myanmar Kyat',
107
+ 'MNT' => 'Mongolian Tögrög',
108
+ 'AED' => 'United Arab Emirates Dirham',
109
+ 'MRU' => 'Mauritanian Ouguiya',
110
+ 'MUR' => 'Mauritian Rupee',
111
+ 'PLN' => 'Polish Złoty',
112
+ 'AWG' => 'Aruban Florin',
113
+ 'DOP' => 'Dominican Peso',
120
114
  'MYR' => 'Malaysian Ringgit',
121
- 'MZN' => 'Mozambique Metical',
122
- 'NAD' => 'Namibia Dollar',
123
- 'NGN' => 'Naira',
124
- 'NIO' => 'Cordoba Oro',
115
+ 'MZN' => 'Mozambican Metical',
116
+ 'NAD' => 'Namibian Dollar',
117
+ 'NGN' => 'Nigerian Naira',
118
+ 'NIO' => 'Nicaraguan Córdoba',
125
119
  'NOK' => 'Norwegian Krone',
126
120
  'NPR' => 'Nepalese Rupee',
127
121
  'NZD' => 'New Zealand Dollar',
128
- 'OMR' => 'Rial Omani',
129
- 'PAB' => 'Balboa',
130
- 'PEN' => 'Sol',
131
- 'PGK' => 'Kina',
122
+ 'OMR' => 'Omani Rial',
123
+ 'PAB' => 'Panamanian Balboa',
124
+ 'PEN' => 'Peruvian Sol',
125
+ 'PGK' => 'Papua New Guinean Kina',
132
126
  'PHP' => 'Philippine Peso',
133
- 'PKR' => 'Pakistan Rupee',
134
- 'PLN' => 'Zloty',
135
- 'PYG' => 'Guarani',
136
- 'QAR' => 'Qatari Rial',
127
+ 'PKR' => 'Pakistani Rupee',
128
+ 'MVR' => 'Maldivian Rufiyaa',
129
+ 'PYG' => 'Paraguayan Guaraní',
130
+ 'QAR' => 'Qatari Riyal',
137
131
  'RON' => 'Romanian Leu',
138
132
  'RSD' => 'Serbian Dinar',
139
133
  'RUB' => 'Russian Ruble',
140
- 'RWF' => 'Rwanda Franc',
134
+ 'RWF' => 'Rwandan Franc',
141
135
  'SAR' => 'Saudi Riyal',
142
136
  'SBD' => 'Solomon Islands Dollar',
143
- 'SCR' => 'Seychelles Rupee',
137
+ 'SCR' => 'Seychellois Rupee',
144
138
  'SDG' => 'Sudanese Pound',
145
139
  'SEK' => 'Swedish Krona',
146
140
  'SGD' => 'Singapore Dollar',
147
- 'SHP' => 'Saint Helena Pound',
148
- 'SLL' => 'Leone',
141
+ 'SHP' => 'Saint Helenian Pound',
142
+ 'SKK' => 'Slovak Koruna',
143
+ 'SLE' => 'New Leone',
144
+ 'SLL' => 'Sierra Leonean Leone',
149
145
  'SOS' => 'Somali Shilling',
150
- 'SRD' => 'Surinam Dollar',
146
+ 'SRD' => 'Surinamese Dollar',
151
147
  'SSP' => 'South Sudanese Pound',
152
- 'STN' => 'Dobra',
153
- 'SVC' => 'El Salvador Colon',
148
+ 'STD' => 'São Tomé and Príncipe Dobra',
149
+ 'STN' => 'São Tomé and Príncipe Second Dobra',
150
+ 'SVC' => 'Salvadoran Colón',
154
151
  'SYP' => 'Syrian Pound',
155
- 'SZL' => 'Lilangeni',
156
- 'THB' => 'Baht',
157
- 'TJS' => 'Somoni',
158
- 'TMT' => 'Turkmenistan New Manat',
152
+ 'SZL' => 'Swazi Lilangeni',
153
+ 'THB' => 'Thai Baht',
154
+ 'TJS' => 'Tajikistani Somoni',
155
+ 'TMT' => 'Turkmenistani Manat',
159
156
  'TND' => 'Tunisian Dinar',
160
- 'TOP' => 'Pa’anga',
157
+ 'TOP' => 'Tongan Paʻanga',
161
158
  'TRY' => 'Turkish Lira',
162
159
  'TTD' => 'Trinidad and Tobago Dollar',
163
160
  'TWD' => 'New Taiwan Dollar',
164
161
  'TZS' => 'Tanzanian Shilling',
165
- 'UAH' => 'Hryvnia',
166
- 'UGX' => 'Uganda Shilling',
167
- 'USD' => 'US Dollar',
168
- 'USN' => 'US Dollar (Next day)',
169
- 'UYI' => 'Uruguay Peso en Unidades Indexadas (UI)',
170
- 'UYU' => 'Peso Uruguayo',
171
- 'UYW' => 'Unidad Previsional',
172
- 'UZS' => 'Uzbekistan Sum',
173
- 'VES' => 'Bolívar Soberano',
174
- 'VND' => 'Dong',
175
- 'VUV' => 'Vatu',
176
- 'WST' => 'Tala',
177
- 'XAF' => 'CFA Franc BEAC',
162
+ 'UAH' => 'Ukrainian Hryvnia',
163
+ 'UGX' => 'Ugandan Shilling',
164
+ 'AFN' => 'Afghan Afghani',
165
+ 'UYU' => 'Uruguayan Peso',
166
+ 'UZS' => 'Uzbekistan Som',
167
+ 'VES' => 'Venezuelan Bolívar Soberano',
168
+ 'VND' => 'Vietnamese Đồng',
169
+ 'VUV' => 'Vanuatu Vatu',
170
+ 'WST' => 'Samoan Tala',
171
+ 'XAF' => 'Central African Cfa Franc',
172
+ 'XAG' => 'Silver (Troy Ounce)',
173
+ 'XAU' => 'Gold (Troy Ounce)',
174
+ 'XBA' => 'European Composite Unit',
175
+ 'XBB' => 'European Monetary Unit',
176
+ 'XBC' => 'European Unit of Account 9',
177
+ 'XBD' => 'European Unit of Account 17',
178
178
  'XCD' => 'East Caribbean Dollar',
179
- 'XOF' => 'CFA Franc BCEAO',
180
- 'XPF' => 'CFP Franc',
179
+ 'XDR' => 'Special Drawing Rights',
180
+ 'XOF' => 'West African Cfa Franc',
181
+ 'XPD' => 'Palladium',
182
+ 'XPF' => 'Cfp Franc',
183
+ 'XPT' => 'Platinum',
184
+ 'XTS' => 'Codes specifically reserved for testing purposes',
181
185
  'YER' => 'Yemeni Rial',
182
- 'ZAR' => 'Rand',
186
+ 'ZAR' => 'South African Rand',
187
+ 'ZMK' => 'Zambian Kwacha',
183
188
  'ZMW' => 'Zambian Kwacha',
184
- 'ZWL' => 'Zimbabwe Dollar'
189
+ 'BCH' => 'Bitcoin Cash',
190
+ 'BTC' => 'Bitcoin',
191
+ 'JEP' => 'Jersey Pound',
192
+ 'GGP' => 'Guernsey Pound',
193
+ 'IMP' => 'Isle of Man Pound',
194
+ 'XFU' => 'UIC Franc',
195
+ 'GBX' => 'British Penny',
196
+ 'CNH' => 'Chinese Renminbi Yuan Offshore',
197
+ 'USDC' => 'USD Coin'
185
198
  }.freeze
186
199
 
187
200
  def strict_enum?