gobl 0.22.0 → 0.24.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.
- checksums.yaml +4 -4
- data/data/regimes/ae.json +173 -0
- data/data/regimes/at.json +1 -0
- data/data/regimes/be.json +1 -0
- data/data/regimes/br.json +135 -0
- data/data/regimes/ca.json +1 -0
- data/data/regimes/ch.json +1 -0
- data/data/regimes/co.json +0 -221
- data/data/regimes/de.json +14 -1
- data/data/regimes/el.json +8 -1
- data/data/regimes/es.json +3 -2
- data/data/regimes/fr.json +1 -0
- data/data/regimes/gb.json +1 -0
- data/data/regimes/in.json +128 -0
- data/data/regimes/it.json +2 -14
- data/data/regimes/mx.json +1 -0
- data/data/regimes/nl.json +1 -0
- data/data/regimes/pl.json +8 -7
- data/data/regimes/pt.json +1573 -9
- data/lib/generated/gobl/bill/charge.rb +34 -19
- data/lib/generated/gobl/bill/correction_options.rb +6 -1
- data/lib/generated/gobl/bill/delivery.rb +187 -16
- data/lib/generated/gobl/bill/delivery_details.rb +41 -0
- data/lib/generated/gobl/bill/discount.rb +36 -13
- data/lib/generated/gobl/bill/invoice.rb +43 -33
- data/lib/generated/gobl/bill/line.rb +44 -4
- data/lib/generated/gobl/bill/line_charge.rb +56 -11
- data/lib/generated/gobl/bill/line_discount.rb +45 -12
- data/lib/generated/gobl/bill/order.rb +211 -0
- data/lib/generated/gobl/bill/ordering.rb +13 -3
- data/lib/generated/gobl/bill/payment.rb +158 -15
- data/lib/generated/gobl/bill/payment_details.rb +36 -0
- data/lib/generated/gobl/bill/payment_line.rb +77 -0
- data/lib/generated/gobl/bill/sub_line.rb +83 -0
- data/lib/generated/gobl/bill/tax.rb +20 -1
- data/lib/generated/gobl/bill/totals.rb +18 -18
- data/lib/generated/gobl/bill/tracking.rb +26 -0
- data/lib/generated/gobl/cal/date_time.rb +1 -1
- data/lib/generated/gobl/cal/time.rb +16 -0
- data/lib/generated/gobl/cbc/code.rb +2 -1
- data/lib/generated/gobl/cbc/{key_definition.rb → definition.rb} +18 -9
- data/lib/generated/gobl/cbc/source.rb +37 -0
- data/lib/generated/gobl/currency/code.rb +16 -16
- data/lib/generated/gobl/currency/exchange_rate.rb +10 -5
- data/lib/generated/gobl/org/address.rb +9 -4
- data/lib/generated/gobl/org/attachment.rb +57 -0
- data/lib/generated/gobl/org/document_ref.rb +26 -6
- data/lib/generated/gobl/org/identity.rb +6 -1
- data/lib/generated/gobl/org/inbox.rb +22 -14
- data/lib/generated/gobl/org/item.rb +7 -3
- data/lib/generated/gobl/{cbc → org}/note.rb +16 -5
- data/lib/generated/gobl/org/party.rb +4 -0
- data/lib/generated/gobl/org/person.rb +17 -2
- data/lib/generated/gobl/org/telephone.rb +1 -1
- data/lib/generated/gobl/org/unit.rb +11 -1
- data/lib/generated/gobl/pay/advance.rb +3 -1
- data/lib/generated/gobl/pay/card.rb +5 -2
- data/lib/generated/gobl/pay/instructions.rb +5 -3
- data/lib/generated/gobl/pay/terms.rb +7 -2
- data/lib/generated/gobl/regimes/mx/food_vouchers_line.rb +5 -0
- data/lib/generated/gobl/regimes/mx/fuel_account_line.rb +5 -0
- data/lib/generated/gobl/tax/addon_def.rb +19 -4
- data/lib/generated/gobl/tax/catalogue_def.rb +39 -0
- data/lib/generated/gobl/tax/category_def.rb +14 -4
- data/lib/generated/gobl/tax/category_total.rb +4 -0
- data/lib/generated/gobl/tax/combo.rb +8 -3
- data/lib/generated/gobl/tax/correction_definition.rb +5 -0
- data/lib/generated/gobl/tax/identity.rb +5 -0
- data/lib/generated/gobl/tax/key_def.rb +36 -0
- data/lib/generated/gobl/tax/rate_def.rb +9 -14
- data/lib/generated/gobl/tax/rate_total.rb +5 -5
- data/lib/generated/gobl/tax/rate_value_def.rb +1 -6
- data/lib/generated/gobl/tax/regime_def.rb +17 -22
- data/lib/generated/gobl/tax/scenario.rb +11 -6
- data/lib/generated/gobl/tax/scenario_note.rb +42 -0
- data/lib/generated/gobl/tax/tag_set.rb +2 -2
- data/lib/generated/gobl/tax/total.rb +6 -1
- data/lib/gobl/version.rb +1 -1
- metadata +25 -13
- data/lib/generated/gobl/bill/outlay.rb +0 -58
- data/lib/generated/gobl/cbc/value_definition.rb +0 -37
- data/lib/generated/gobl/tax/source.rb +0 -27
|
@@ -23,18 +23,23 @@ module GOBL
|
|
|
23
23
|
# @return [GOBL::L10n::TaxCountryCode]
|
|
24
24
|
property :country, GOBL::L10n::TaxCountryCode
|
|
25
25
|
|
|
26
|
+
# @!attribute [r] key
|
|
27
|
+
# Key helps determine the tax situation within the category.
|
|
28
|
+
# @return [GOBL::CBC::Key]
|
|
29
|
+
property :key, GOBL::CBC::Key
|
|
30
|
+
|
|
26
31
|
# @!attribute [r] rate
|
|
27
|
-
# Rate within a category to apply.
|
|
32
|
+
# Rate within a category and for a given key to apply.
|
|
28
33
|
# @return [GOBL::CBC::Key]
|
|
29
34
|
property :rate, GOBL::CBC::Key
|
|
30
35
|
|
|
31
36
|
# @!attribute [r] percent
|
|
32
|
-
# Percent defines the percentage set manually or determined from the
|
|
37
|
+
# Percent defines the percentage set manually or determined from the key. A nil percent implies that this tax combo is either exempt or not-subject.
|
|
33
38
|
# @return [GOBL::Num::Percentage]
|
|
34
39
|
property :percent, GOBL::Num::Percentage
|
|
35
40
|
|
|
36
41
|
# @!attribute [r] surcharge
|
|
37
|
-
# Some countries require an additional surcharge (
|
|
42
|
+
# Some countries require an additional surcharge (may be determined if key present).
|
|
38
43
|
# @return [GOBL::Num::Percentage]
|
|
39
44
|
property :surcharge, GOBL::Num::Percentage
|
|
40
45
|
|
|
@@ -37,6 +37,11 @@ module GOBL
|
|
|
37
37
|
# Stamps that must be copied from the preceding document.
|
|
38
38
|
# @return [Array<GOBL::CBC::Key>]
|
|
39
39
|
property :stamps, [GOBL::CBC::Key]
|
|
40
|
+
|
|
41
|
+
# @!attribute [r] copy_tax
|
|
42
|
+
# Copy tax from the preceding document to the document ref.
|
|
43
|
+
# @return [Boolean]
|
|
44
|
+
property :copy_tax, Boolean
|
|
40
45
|
end
|
|
41
46
|
end
|
|
42
47
|
end
|
|
@@ -23,6 +23,11 @@ module GOBL
|
|
|
23
23
|
# @return [GOBL::CBC::Code]
|
|
24
24
|
property :code, GOBL::CBC::Code
|
|
25
25
|
|
|
26
|
+
# @!attribute [r] scheme
|
|
27
|
+
# Scheme is an optional field that may be used to override the tax regime's default tax scheme. Many electronic formats such as UBL or CII define an equivalent field. Examples: `VAT`, `GST`, `ST`, etc.
|
|
28
|
+
# @return [GOBL::CBC::Code]
|
|
29
|
+
property :scheme, GOBL::CBC::Code
|
|
30
|
+
|
|
26
31
|
# @!attribute [r] type
|
|
27
32
|
# Type is set according to the requirements of each regime, some have a single tax document type code, others require a choice to be made. Deprecated: Tax Identities should only be used for VAT or similar codes for companies. Use the identities array for other types of identification.
|
|
28
33
|
# @return [GOBL::CBC::Key]
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
##
|
|
4
|
+
## DO NOT EDIT - This file was generated automatically.
|
|
5
|
+
##
|
|
6
|
+
##
|
|
7
|
+
|
|
8
|
+
module GOBL
|
|
9
|
+
module Tax
|
|
10
|
+
# KeyDef defines a key that can be used inside a tax category.
|
|
11
|
+
class KeyDef < GOBL::Object
|
|
12
|
+
# The Schema ID of the GOBL KeyDef structure
|
|
13
|
+
SCHEMA_ID = 'https://gobl.org/draft-0/tax/regime-def#/$defs/KeyDef'
|
|
14
|
+
|
|
15
|
+
# @!attribute [r] key
|
|
16
|
+
# Key identifies this rate within the system
|
|
17
|
+
# @return [GOBL::CBC::Key]
|
|
18
|
+
property :key, GOBL::CBC::Key
|
|
19
|
+
|
|
20
|
+
# @!attribute [r] name
|
|
21
|
+
# Human name of the rate set
|
|
22
|
+
# @return [GOBL::I18n::String]
|
|
23
|
+
property :name, GOBL::I18n::String
|
|
24
|
+
|
|
25
|
+
# @!attribute [r] desc
|
|
26
|
+
# Useful description of the rate.
|
|
27
|
+
# @return [GOBL::I18n::String]
|
|
28
|
+
property :desc, GOBL::I18n::String
|
|
29
|
+
|
|
30
|
+
# @!attribute [r] no_percent
|
|
31
|
+
# NoPercent when true implies that the rate when used in a tax Combo should not define a percent value.
|
|
32
|
+
# @return [Boolean]
|
|
33
|
+
property :no_percent, Boolean
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -12,11 +12,16 @@ module GOBL
|
|
|
12
12
|
# The Schema ID of the GOBL RateDef structure
|
|
13
13
|
SCHEMA_ID = 'https://gobl.org/draft-0/tax/regime-def#/$defs/RateDef'
|
|
14
14
|
|
|
15
|
-
# @!attribute [r]
|
|
16
|
-
#
|
|
15
|
+
# @!attribute [r] rate
|
|
16
|
+
# Rate defines the key for which this rate applies.
|
|
17
17
|
# @return [GOBL::CBC::Key]
|
|
18
|
-
property :
|
|
19
|
-
validates_presence_of :
|
|
18
|
+
property :rate, GOBL::CBC::Key
|
|
19
|
+
validates_presence_of :rate
|
|
20
|
+
|
|
21
|
+
# @!attribute [r] keys
|
|
22
|
+
# Keys identifies the set of tax keys defined in the category that this rate can be used with.
|
|
23
|
+
# @return [Array<GOBL::CBC::Key>]
|
|
24
|
+
property :keys, [GOBL::CBC::Key]
|
|
20
25
|
|
|
21
26
|
# @!attribute [r] name
|
|
22
27
|
# Human name of the rate
|
|
@@ -29,21 +34,11 @@ module GOBL
|
|
|
29
34
|
# @return [GOBL::I18n::String]
|
|
30
35
|
property :desc, GOBL::I18n::String
|
|
31
36
|
|
|
32
|
-
# @!attribute [r] exempt
|
|
33
|
-
# Exempt when true implies that the rate when used in a tax Combo should not define a percent value.
|
|
34
|
-
# @return [Boolean]
|
|
35
|
-
property :exempt, Boolean
|
|
36
|
-
|
|
37
37
|
# @!attribute [r] values
|
|
38
38
|
# Values contains a list of Value objects that contain the current and historical percentage values for the rate and additional filters. Order is important, newer values should come before older values.
|
|
39
39
|
# @return [Array<RateValueDef>]
|
|
40
40
|
property :values, [RateValueDef]
|
|
41
41
|
|
|
42
|
-
# @!attribute [r] ext
|
|
43
|
-
# Extensions key-value pair that will be copied to the tax combo if this rate is used.
|
|
44
|
-
# @return [GOBL::Tax::Extensions]
|
|
45
|
-
property :ext, GOBL::Tax::Extensions
|
|
46
|
-
|
|
47
42
|
# @!attribute [r] meta
|
|
48
43
|
# Meta contains additional information about the rate that is relevant for local frequently used implementations.
|
|
49
44
|
# @return [GOBL::CBC::Meta]
|
|
@@ -12,16 +12,16 @@ module GOBL
|
|
|
12
12
|
# The Schema ID of the GOBL RateTotal structure
|
|
13
13
|
SCHEMA_ID = 'https://gobl.org/draft-0/tax/total#/$defs/RateTotal'
|
|
14
14
|
|
|
15
|
-
# @!attribute [r] key
|
|
16
|
-
# Optional rate key is required when grouping.
|
|
17
|
-
# @return [GOBL::CBC::Key]
|
|
18
|
-
property :key, GOBL::CBC::Key
|
|
19
|
-
|
|
20
15
|
# @!attribute [r] country
|
|
21
16
|
# Country code override when issuing with taxes applied from different countries, it'd be very strange to mix rates from different countries, but in theory this would be possible.
|
|
22
17
|
# @return [GOBL::L10n::TaxCountryCode]
|
|
23
18
|
property :country, GOBL::L10n::TaxCountryCode
|
|
24
19
|
|
|
20
|
+
# @!attribute [r] key
|
|
21
|
+
# Tax key if supported by the category.
|
|
22
|
+
# @return [GOBL::CBC::Key]
|
|
23
|
+
property :key, GOBL::CBC::Key
|
|
24
|
+
|
|
25
25
|
# @!attribute [r] ext
|
|
26
26
|
# If the rate is defined with extensions, they'll be used to group by also.
|
|
27
27
|
# @return [GOBL::Tax::Extensions]
|
|
@@ -12,13 +12,8 @@ module GOBL
|
|
|
12
12
|
# The Schema ID of the GOBL RateValueDef structure
|
|
13
13
|
SCHEMA_ID = 'https://gobl.org/draft-0/tax/regime-def#/$defs/RateValueDef'
|
|
14
14
|
|
|
15
|
-
# @!attribute [r] tags
|
|
16
|
-
# Only apply this rate if one of the tags is present in the invoice.
|
|
17
|
-
# @return [Array<GOBL::CBC::Key>]
|
|
18
|
-
property :tags, [GOBL::CBC::Key]
|
|
19
|
-
|
|
20
15
|
# @!attribute [r] ext
|
|
21
|
-
# Ext map of keys that can be used to filter to determine if the rate applies.
|
|
16
|
+
# Only apply this rate if one of the tags is present in the invoice. Tags []cbc.Key `json:"tags,omitempty" jsonschema:"title=Tags"` Ext map of keys that can be used to filter to determine if the rate applies.
|
|
22
17
|
# @return [GOBL::Tax::Extensions]
|
|
23
18
|
property :ext, GOBL::Tax::Extensions
|
|
24
19
|
|
|
@@ -51,10 +51,15 @@ module GOBL
|
|
|
51
51
|
property :currency, GOBL::Currency::Code
|
|
52
52
|
validates_presence_of :currency
|
|
53
53
|
|
|
54
|
+
# @!attribute [r] tax_scheme
|
|
55
|
+
# TaxScheme defines the principal scheme of consumption tax that should be applied to the regime and associated with Tax IDs in some export formats such as UBL or CII. Some regimes may not have a Tax Scheme and as a consequence will not use tax identities, like the US.
|
|
56
|
+
# @return [GOBL::CBC::Code]
|
|
57
|
+
property :tax_scheme, GOBL::CBC::Code
|
|
58
|
+
|
|
54
59
|
# @!attribute [r] calculator_rounding_rule
|
|
55
60
|
# Rounding rule to use when calculating the tax totals, default is always `sum-then-round`.
|
|
56
|
-
# @return [
|
|
57
|
-
property :calculator_rounding_rule,
|
|
61
|
+
# @return [GOBL::CBC::Key]
|
|
62
|
+
property :calculator_rounding_rule, GOBL::CBC::Key
|
|
58
63
|
|
|
59
64
|
# @!attribute [r] tags
|
|
60
65
|
# Tags that can be applied at the document level to identify additional considerations.
|
|
@@ -63,33 +68,23 @@ module GOBL
|
|
|
63
68
|
|
|
64
69
|
# @!attribute [r] extensions
|
|
65
70
|
# Extensions defines the keys that can be used for extended or extra data inside the regime that is specific to the regime and cannot be easily determined from other GOBL structures. Typically these are used to define local codes for suppliers, customers, products, or tax rates.
|
|
66
|
-
# @return [Array<GOBL::CBC::
|
|
67
|
-
property :extensions, [GOBL::CBC::
|
|
68
|
-
|
|
69
|
-
# @!attribute [r] tax_identity_type_keys
|
|
70
|
-
# Tax Identity types specific for the regime and may be validated against.
|
|
71
|
-
# @return [Array<GOBL::CBC::KeyDefinition>]
|
|
72
|
-
property :tax_identity_type_keys, [GOBL::CBC::KeyDefinition]
|
|
73
|
-
|
|
74
|
-
# @!attribute [r] identity_keys
|
|
75
|
-
# Identity keys used in addition to regular tax identities and specific for the regime that may be validated against.
|
|
76
|
-
# @return [Array<GOBL::CBC::KeyDefinition>]
|
|
77
|
-
property :identity_keys, [GOBL::CBC::KeyDefinition]
|
|
71
|
+
# @return [Array<GOBL::CBC::Definition>]
|
|
72
|
+
property :extensions, [GOBL::CBC::Definition]
|
|
78
73
|
|
|
79
|
-
# @!attribute [r]
|
|
80
|
-
#
|
|
81
|
-
# @return [Array<GOBL::CBC::
|
|
82
|
-
property :
|
|
74
|
+
# @!attribute [r] identities
|
|
75
|
+
# Identities used in addition to regular tax identities and specific for the regime that may be validated against.
|
|
76
|
+
# @return [Array<GOBL::CBC::Definition>]
|
|
77
|
+
property :identities, [GOBL::CBC::Definition]
|
|
83
78
|
|
|
84
79
|
# @!attribute [r] payment_means_keys
|
|
85
80
|
# PaymentMeansKeys specific for the regime that extend the original base payment means keys.
|
|
86
|
-
# @return [Array<GOBL::CBC::
|
|
87
|
-
property :payment_means_keys, [GOBL::CBC::
|
|
81
|
+
# @return [Array<GOBL::CBC::Definition>]
|
|
82
|
+
property :payment_means_keys, [GOBL::CBC::Definition]
|
|
88
83
|
|
|
89
84
|
# @!attribute [r] inbox_keys
|
|
90
85
|
# InboxKeys specific to the regime that can be used to identify where a document should be forwarded to.
|
|
91
|
-
# @return [Array<GOBL::CBC::
|
|
92
|
-
property :inbox_keys, [GOBL::CBC::
|
|
86
|
+
# @return [Array<GOBL::CBC::Definition>]
|
|
87
|
+
property :inbox_keys, [GOBL::CBC::Definition]
|
|
93
88
|
|
|
94
89
|
# @!attribute [r] scenarios
|
|
95
90
|
# @return [Array<ScenarioSet>]
|
|
@@ -17,6 +17,11 @@ module GOBL
|
|
|
17
17
|
# @return [GOBL::I18n::String]
|
|
18
18
|
property :name, GOBL::I18n::String
|
|
19
19
|
|
|
20
|
+
# @!attribute [r] desc
|
|
21
|
+
# Description of the scenario for documentation purposes.
|
|
22
|
+
# @return [GOBL::I18n::String]
|
|
23
|
+
property :desc, GOBL::I18n::String
|
|
24
|
+
|
|
20
25
|
# @!attribute [r] type
|
|
21
26
|
# Type of document, if present.
|
|
22
27
|
# @return [Array<GOBL::CBC::Key>]
|
|
@@ -32,15 +37,15 @@ module GOBL
|
|
|
32
37
|
# @return [GOBL::CBC::Key]
|
|
33
38
|
property :ext_key, GOBL::CBC::Key
|
|
34
39
|
|
|
35
|
-
# @!attribute [r]
|
|
36
|
-
# Extension
|
|
37
|
-
# @return [
|
|
38
|
-
property :
|
|
40
|
+
# @!attribute [r] ext_code
|
|
41
|
+
# Extension code that along side the key must be present for a match to happen. This cannot be used without an `cbc.Code`. The value will be copied to the note code if needed.
|
|
42
|
+
# @return [GOBL::CBC::Code]
|
|
43
|
+
property :ext_code, GOBL::CBC::Code
|
|
39
44
|
|
|
40
45
|
# @!attribute [r] note
|
|
41
46
|
# A note to be added to the document if the scenario is applied.
|
|
42
|
-
# @return [
|
|
43
|
-
property :note,
|
|
47
|
+
# @return [ScenarioNote]
|
|
48
|
+
property :note, ScenarioNote
|
|
44
49
|
|
|
45
50
|
# @!attribute [r] codes
|
|
46
51
|
# Codes is used to define additional codes for regime specific situations.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
##
|
|
4
|
+
## DO NOT EDIT - This file was generated automatically.
|
|
5
|
+
##
|
|
6
|
+
##
|
|
7
|
+
|
|
8
|
+
module GOBL
|
|
9
|
+
module Tax
|
|
10
|
+
# ScenarioNote represents the structure of the note that needs to be added to the document.
|
|
11
|
+
class ScenarioNote < GOBL::Object
|
|
12
|
+
# The Schema ID of the GOBL ScenarioNote structure
|
|
13
|
+
SCHEMA_ID = 'https://gobl.org/draft-0/tax/regime-def#/$defs/ScenarioNote'
|
|
14
|
+
|
|
15
|
+
# @!attribute [r] key
|
|
16
|
+
# Key specifying subject of the text
|
|
17
|
+
# @return [GOBL::CBC::Key]
|
|
18
|
+
property :key, GOBL::CBC::Key
|
|
19
|
+
|
|
20
|
+
# @!attribute [r] code
|
|
21
|
+
# Code used for additional data that may be required to identify the note.
|
|
22
|
+
# @return [GOBL::CBC::Code]
|
|
23
|
+
property :code, GOBL::CBC::Code
|
|
24
|
+
|
|
25
|
+
# @!attribute [r] src
|
|
26
|
+
# Source of this note, especially useful when auto-generated.
|
|
27
|
+
# @return [GOBL::CBC::Key]
|
|
28
|
+
property :src, GOBL::CBC::Key
|
|
29
|
+
|
|
30
|
+
# @!attribute [r] text
|
|
31
|
+
# The contents of the note
|
|
32
|
+
# @return [String]
|
|
33
|
+
property :text, String
|
|
34
|
+
validates_presence_of :text
|
|
35
|
+
|
|
36
|
+
# @!attribute [r] ext
|
|
37
|
+
# Extension data
|
|
38
|
+
# @return [GOBL::Tax::Extensions]
|
|
39
|
+
property :ext, GOBL::Tax::Extensions
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -20,8 +20,8 @@ module GOBL
|
|
|
20
20
|
|
|
21
21
|
# @!attribute [r] list
|
|
22
22
|
# List of tags for the schema
|
|
23
|
-
# @return [Array<GOBL::CBC::
|
|
24
|
-
property :list, [GOBL::CBC::
|
|
23
|
+
# @return [Array<GOBL::CBC::Definition>]
|
|
24
|
+
property :list, [GOBL::CBC::Definition]
|
|
25
25
|
validates_presence_of :list
|
|
26
26
|
end
|
|
27
27
|
end
|
|
@@ -18,10 +18,15 @@ module GOBL
|
|
|
18
18
|
property :categories, [CategoryTotal]
|
|
19
19
|
|
|
20
20
|
# @!attribute [r] sum
|
|
21
|
-
# Total value of all
|
|
21
|
+
# Total value of all non-retained or indirect taxes.
|
|
22
22
|
# @return [GOBL::Num::Amount]
|
|
23
23
|
property :sum, GOBL::Num::Amount
|
|
24
24
|
validates_presence_of :sum
|
|
25
|
+
|
|
26
|
+
# @!attribute [r] retained
|
|
27
|
+
# Sum of retained or withheld tax amounts
|
|
28
|
+
# @return [GOBL::Num::Amount]
|
|
29
|
+
property :retained, GOBL::Num::Amount
|
|
25
30
|
end
|
|
26
31
|
end
|
|
27
32
|
end
|
data/lib/gobl/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gobl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.24.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Luismi Cavalle
|
|
8
8
|
- Sam Lown
|
|
9
9
|
- David Lilue
|
|
10
10
|
- Juanjo Molinero
|
|
11
|
-
autorequire:
|
|
11
|
+
autorequire:
|
|
12
12
|
bindir: bin
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date:
|
|
14
|
+
date: 2025-11-03 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: activesupport
|
|
@@ -55,15 +55,17 @@ dependencies:
|
|
|
55
55
|
- - ">="
|
|
56
56
|
- !ruby/object:Gem::Version
|
|
57
57
|
version: '1'
|
|
58
|
-
description:
|
|
59
|
-
email:
|
|
58
|
+
description:
|
|
59
|
+
email:
|
|
60
60
|
executables: []
|
|
61
61
|
extensions: []
|
|
62
62
|
extra_rdoc_files: []
|
|
63
63
|
files:
|
|
64
64
|
- README.md
|
|
65
|
+
- data/regimes/ae.json
|
|
65
66
|
- data/regimes/at.json
|
|
66
67
|
- data/regimes/be.json
|
|
68
|
+
- data/regimes/br.json
|
|
67
69
|
- data/regimes/ca.json
|
|
68
70
|
- data/regimes/ch.json
|
|
69
71
|
- data/regimes/co.json
|
|
@@ -73,6 +75,7 @@ files:
|
|
|
73
75
|
- data/regimes/fr.json
|
|
74
76
|
- data/regimes/gb.json
|
|
75
77
|
- data/regimes/gr.json
|
|
78
|
+
- data/regimes/in.json
|
|
76
79
|
- data/regimes/it.json
|
|
77
80
|
- data/regimes/mx.json
|
|
78
81
|
- data/regimes/nl.json
|
|
@@ -82,26 +85,31 @@ files:
|
|
|
82
85
|
- lib/generated/gobl/bill/charge.rb
|
|
83
86
|
- lib/generated/gobl/bill/correction_options.rb
|
|
84
87
|
- lib/generated/gobl/bill/delivery.rb
|
|
88
|
+
- lib/generated/gobl/bill/delivery_details.rb
|
|
85
89
|
- lib/generated/gobl/bill/discount.rb
|
|
86
90
|
- lib/generated/gobl/bill/invoice.rb
|
|
87
91
|
- lib/generated/gobl/bill/line.rb
|
|
88
92
|
- lib/generated/gobl/bill/line_charge.rb
|
|
89
93
|
- lib/generated/gobl/bill/line_discount.rb
|
|
94
|
+
- lib/generated/gobl/bill/order.rb
|
|
90
95
|
- lib/generated/gobl/bill/ordering.rb
|
|
91
|
-
- lib/generated/gobl/bill/outlay.rb
|
|
92
96
|
- lib/generated/gobl/bill/payment.rb
|
|
97
|
+
- lib/generated/gobl/bill/payment_details.rb
|
|
98
|
+
- lib/generated/gobl/bill/payment_line.rb
|
|
99
|
+
- lib/generated/gobl/bill/sub_line.rb
|
|
93
100
|
- lib/generated/gobl/bill/tax.rb
|
|
94
101
|
- lib/generated/gobl/bill/totals.rb
|
|
102
|
+
- lib/generated/gobl/bill/tracking.rb
|
|
95
103
|
- lib/generated/gobl/cal/date.rb
|
|
96
104
|
- lib/generated/gobl/cal/date_time.rb
|
|
97
105
|
- lib/generated/gobl/cal/period.rb
|
|
106
|
+
- lib/generated/gobl/cal/time.rb
|
|
98
107
|
- lib/generated/gobl/cbc/code.rb
|
|
99
108
|
- lib/generated/gobl/cbc/code_map.rb
|
|
109
|
+
- lib/generated/gobl/cbc/definition.rb
|
|
100
110
|
- lib/generated/gobl/cbc/key.rb
|
|
101
|
-
- lib/generated/gobl/cbc/key_definition.rb
|
|
102
111
|
- lib/generated/gobl/cbc/meta.rb
|
|
103
|
-
- lib/generated/gobl/cbc/
|
|
104
|
-
- lib/generated/gobl/cbc/value_definition.rb
|
|
112
|
+
- lib/generated/gobl/cbc/source.rb
|
|
105
113
|
- lib/generated/gobl/currency/amount.rb
|
|
106
114
|
- lib/generated/gobl/currency/code.rb
|
|
107
115
|
- lib/generated/gobl/currency/exchange_rate.rb
|
|
@@ -117,6 +125,7 @@ files:
|
|
|
117
125
|
- lib/generated/gobl/l10n/tax_country_code.rb
|
|
118
126
|
- lib/generated/gobl/note/message.rb
|
|
119
127
|
- lib/generated/gobl/org/address.rb
|
|
128
|
+
- lib/generated/gobl/org/attachment.rb
|
|
120
129
|
- lib/generated/gobl/org/coordinates.rb
|
|
121
130
|
- lib/generated/gobl/org/document_ref.rb
|
|
122
131
|
- lib/generated/gobl/org/email.rb
|
|
@@ -125,6 +134,7 @@ files:
|
|
|
125
134
|
- lib/generated/gobl/org/inbox.rb
|
|
126
135
|
- lib/generated/gobl/org/item.rb
|
|
127
136
|
- lib/generated/gobl/org/name.rb
|
|
137
|
+
- lib/generated/gobl/org/note.rb
|
|
128
138
|
- lib/generated/gobl/org/party.rb
|
|
129
139
|
- lib/generated/gobl/org/person.rb
|
|
130
140
|
- lib/generated/gobl/org/registration.rb
|
|
@@ -148,6 +158,7 @@ files:
|
|
|
148
158
|
- lib/generated/gobl/regimes/mx/fuel_account_tax.rb
|
|
149
159
|
- lib/generated/gobl/schema/object.rb
|
|
150
160
|
- lib/generated/gobl/tax/addon_def.rb
|
|
161
|
+
- lib/generated/gobl/tax/catalogue_def.rb
|
|
151
162
|
- lib/generated/gobl/tax/category_def.rb
|
|
152
163
|
- lib/generated/gobl/tax/category_total.rb
|
|
153
164
|
- lib/generated/gobl/tax/combo.rb
|
|
@@ -155,15 +166,16 @@ files:
|
|
|
155
166
|
- lib/generated/gobl/tax/correction_set.rb
|
|
156
167
|
- lib/generated/gobl/tax/extensions.rb
|
|
157
168
|
- lib/generated/gobl/tax/identity.rb
|
|
169
|
+
- lib/generated/gobl/tax/key_def.rb
|
|
158
170
|
- lib/generated/gobl/tax/rate_def.rb
|
|
159
171
|
- lib/generated/gobl/tax/rate_total.rb
|
|
160
172
|
- lib/generated/gobl/tax/rate_total_surcharge.rb
|
|
161
173
|
- lib/generated/gobl/tax/rate_value_def.rb
|
|
162
174
|
- lib/generated/gobl/tax/regime_def.rb
|
|
163
175
|
- lib/generated/gobl/tax/scenario.rb
|
|
176
|
+
- lib/generated/gobl/tax/scenario_note.rb
|
|
164
177
|
- lib/generated/gobl/tax/scenario_set.rb
|
|
165
178
|
- lib/generated/gobl/tax/set.rb
|
|
166
|
-
- lib/generated/gobl/tax/source.rb
|
|
167
179
|
- lib/generated/gobl/tax/tag_set.rb
|
|
168
180
|
- lib/generated/gobl/tax/total.rb
|
|
169
181
|
- lib/gobl.rb
|
|
@@ -189,7 +201,7 @@ licenses:
|
|
|
189
201
|
- Apache-2.0
|
|
190
202
|
metadata:
|
|
191
203
|
rubygems_mfa_required: 'true'
|
|
192
|
-
post_install_message:
|
|
204
|
+
post_install_message:
|
|
193
205
|
rdoc_options: []
|
|
194
206
|
require_paths:
|
|
195
207
|
- lib
|
|
@@ -204,8 +216,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
204
216
|
- !ruby/object:Gem::Version
|
|
205
217
|
version: 3.1.4
|
|
206
218
|
requirements: []
|
|
207
|
-
rubygems_version: 3.4.
|
|
208
|
-
signing_key:
|
|
219
|
+
rubygems_version: 3.4.5
|
|
220
|
+
signing_key:
|
|
209
221
|
specification_version: 4
|
|
210
222
|
summary: Minimalist ruby version of the GOBL library
|
|
211
223
|
test_files: []
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
##
|
|
4
|
-
## DO NOT EDIT - This file was generated automatically.
|
|
5
|
-
##
|
|
6
|
-
##
|
|
7
|
-
|
|
8
|
-
module GOBL
|
|
9
|
-
module Bill
|
|
10
|
-
# Outlay represents a reimbursable expense that was paid for by the supplier and invoiced separately by the third party directly to the customer.
|
|
11
|
-
class Outlay < GOBL::Object
|
|
12
|
-
# The Schema ID of the GOBL Outlay structure
|
|
13
|
-
SCHEMA_ID = 'https://gobl.org/draft-0/bill/invoice#/$defs/Outlay'
|
|
14
|
-
|
|
15
|
-
# @!attribute [r] uuid
|
|
16
|
-
# Universally Unique Identifier.
|
|
17
|
-
# @return [String]
|
|
18
|
-
property :uuid, String
|
|
19
|
-
|
|
20
|
-
# @!attribute [r] i
|
|
21
|
-
# Outlay number index inside the invoice for ordering (calculated).
|
|
22
|
-
# @return [Integer]
|
|
23
|
-
property :i, Integer
|
|
24
|
-
|
|
25
|
-
# @!attribute [r] date
|
|
26
|
-
# When was the outlay made.
|
|
27
|
-
# @return [GOBL::Cal::Date]
|
|
28
|
-
property :date, GOBL::Cal::Date
|
|
29
|
-
|
|
30
|
-
# @!attribute [r] code
|
|
31
|
-
# Invoice number or other reference detail used to identify the outlay.
|
|
32
|
-
# @return [String]
|
|
33
|
-
property :code, String
|
|
34
|
-
|
|
35
|
-
# @!attribute [r] series
|
|
36
|
-
# Series of the outlay invoice.
|
|
37
|
-
# @return [String]
|
|
38
|
-
property :series, String
|
|
39
|
-
|
|
40
|
-
# @!attribute [r] description
|
|
41
|
-
# Details on what the outlay was.
|
|
42
|
-
# @return [String]
|
|
43
|
-
property :description, String
|
|
44
|
-
validates_presence_of :description
|
|
45
|
-
|
|
46
|
-
# @!attribute [r] supplier
|
|
47
|
-
# Who was the supplier of the outlay
|
|
48
|
-
# @return [GOBL::Org::Party]
|
|
49
|
-
property :supplier, GOBL::Org::Party
|
|
50
|
-
|
|
51
|
-
# @!attribute [r] amount
|
|
52
|
-
# Amount paid by the supplier.
|
|
53
|
-
# @return [GOBL::Num::Amount]
|
|
54
|
-
property :amount, GOBL::Num::Amount
|
|
55
|
-
validates_presence_of :amount
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
##
|
|
4
|
-
## DO NOT EDIT - This file was generated automatically.
|
|
5
|
-
##
|
|
6
|
-
##
|
|
7
|
-
|
|
8
|
-
module GOBL
|
|
9
|
-
module CBC
|
|
10
|
-
# ValueDefinition describes a specific value and how it maps to a human name and description if appropriate.
|
|
11
|
-
class ValueDefinition < GOBL::Object
|
|
12
|
-
# The Schema ID of the GOBL ValueDefinition structure
|
|
13
|
-
SCHEMA_ID = 'https://gobl.org/draft-0/cbc/value-definition'
|
|
14
|
-
|
|
15
|
-
# @!attribute [r] value
|
|
16
|
-
# Value for which the definition is for.
|
|
17
|
-
# @return [String]
|
|
18
|
-
property :value, String
|
|
19
|
-
validates_presence_of :value
|
|
20
|
-
|
|
21
|
-
# @!attribute [r] name
|
|
22
|
-
# Short name for the value, if relevant.
|
|
23
|
-
# @return [GOBL::I18n::String]
|
|
24
|
-
property :name, GOBL::I18n::String
|
|
25
|
-
|
|
26
|
-
# @!attribute [r] desc
|
|
27
|
-
# Description offering more details about when the value should be used.
|
|
28
|
-
# @return [GOBL::I18n::String]
|
|
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 value.
|
|
33
|
-
# @return [GOBL::CBC::Meta]
|
|
34
|
-
property :meta, GOBL::CBC::Meta
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
##
|
|
4
|
-
## DO NOT EDIT - This file was generated automatically.
|
|
5
|
-
##
|
|
6
|
-
##
|
|
7
|
-
|
|
8
|
-
module GOBL
|
|
9
|
-
module Tax
|
|
10
|
-
# Source describes where the information for the taxes comes from.
|
|
11
|
-
class Source < GOBL::Object
|
|
12
|
-
# The Schema ID of the GOBL Source structure
|
|
13
|
-
SCHEMA_ID = 'https://gobl.org/draft-0/tax/regime-def#/$defs/Source'
|
|
14
|
-
|
|
15
|
-
# @!attribute [r] title
|
|
16
|
-
# Title of the linked source to help distinguish between this and other links.
|
|
17
|
-
# @return [GOBL::I18n::String]
|
|
18
|
-
property :title, GOBL::I18n::String
|
|
19
|
-
|
|
20
|
-
# @!attribute [r] url
|
|
21
|
-
# URL for the website.
|
|
22
|
-
# @return [String]
|
|
23
|
-
property :url, String
|
|
24
|
-
validates_presence_of :url
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|