tax_conformance_kit 0.2.1 → 0.2.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 394f54f5a6769c980a67b7d62cd9b09490fb72fac00fbf4c04aa0db44f35944b
4
- data.tar.gz: 25adc315b5b05ec4abbcb2ea30e07f7a369b776f824d4d9ca116dcf7e0167fc9
3
+ metadata.gz: 7b5564b6f4714c5f115e562ed5362fc8ee05ba8e301da552686e3b812af0892f
4
+ data.tar.gz: 96d8931d717551b0c813a5646bc1a2c1af39cb48b8716f0c6bb11784d8c66031
5
5
  SHA512:
6
- metadata.gz: 609c972a8a9bc0b207b00158d8eb85fc6595eeffe8af94f05cd2a4343d999544c16aa89792e4d5107bbf4136c2a33b09d679c488fc69d491b7cc40c49b1c0aed
7
- data.tar.gz: 1b6130ddf184af4af8ed53234a555d5f12f275811481f85d998488506f0867616797fa6f3e49c07b18a02638bcdfd0b8f4cd767d121772f06d923ea78ef62808
6
+ metadata.gz: 5f21e37b49285121264f58113f32452652daf525eca16db9e9d21e36c26955cc7c61f49a1ac141bf80d03b7b10995a04395c69e3ef55916402b2dac992e5566e
7
+ data.tar.gz: adc38903a66871853c834983f7257de8f48517631bc15fefe6c7e1d7e7c508c53a7e017bb9ec26976dc23299635b80b63c92e3d49714369384e2532b026a7879
data/README.md CHANGED
@@ -7,7 +7,7 @@ Thin Ruby client for the `tax-conformance-kit` Go runtime.
7
7
  Bundler (RubyGems):
8
8
 
9
9
  ```ruby
10
- gem "tax_conformance_kit", "~> 0.2.1"
10
+ gem "tax_conformance_kit", "~> 0.2.3"
11
11
  ```
12
12
 
13
13
  Path dependency (for local development):
data/bin/taxctl CHANGED
Binary file
@@ -10,24 +10,30 @@
10
10
  },
11
11
  "notes": "Auto-generated from CVDR publication analysis. Source-backed draft only; review required before conformance use.",
12
12
  "assessment_policy": {
13
+ "period": "calendar_year",
13
14
  "minimum_assessment_amount": null,
14
- "notes": "Assessment period inferred from the belastingtijdvak article.",
15
- "period": "calendar_year"
15
+ "notes": "Assessment period inferred from the belastingtijdvak article."
16
16
  },
17
17
  "rules": [
18
18
  {
19
+ "id": "2025-12-24-rate",
20
+ "municipality_code": "0392",
21
+ "municipality_name": "Haarlem",
22
+ "region_code": "",
23
+ "valid_from": "2025-12-24",
24
+ "valid_to": "2026-05-05",
19
25
  "applies_to": {
20
26
  "accommodation_types": null
21
27
  },
22
28
  "calculation": {
23
- "currency": "EUR",
24
29
  "kind": "generic.percentage_of_base",
25
30
  "params": {
26
31
  "base": "subtotal",
27
32
  "rate_pct": 50
28
- }
33
+ },
34
+ "currency": "EUR"
29
35
  },
30
- "confidence": "scraped",
36
+ "predicates": [],
31
37
  "exemptions": [
32
38
  {
33
39
  "kind": "guest.resident_of_same_municipality",
@@ -42,34 +48,34 @@
42
48
  "params": null
43
49
  }
44
50
  ],
45
- "id": "2025-12-24-rate",
46
- "municipality_code": "0392",
47
- "municipality_name": "Haarlem",
48
- "notes": "Generated from tariff and heffingsmaatstaf articles. Reviewer must confirm exact accommodation scope and municipality code. Evidence articles: 6, 5",
49
- "predicates": [],
50
- "region_code": "",
51
51
  "source": {
52
+ "source_url": "https://lokaleregelgeving.overheid.nl/CVDR752896/1",
52
53
  "cvdr_id": "CVDR752896",
53
- "reviewed_at": null,
54
- "reviewer": "",
55
54
  "scraped_at": "2026-04-17T12:09:56Z",
56
- "source_url": "https://lokaleregelgeving.overheid.nl/CVDR752896/1"
55
+ "reviewed_at": null,
56
+ "reviewer": ""
57
57
  },
58
- "valid_from": "2025-12-24",
59
- "valid_to": null
58
+ "confidence": "scraped",
59
+ "notes": "Generated from tariff and heffingsmaatstaf articles. Reviewer must confirm exact accommodation scope and municipality code. Evidence articles: 6, 5"
60
60
  },
61
61
  {
62
+ "id": "2025-12-24-rate-1",
63
+ "municipality_code": "0392",
64
+ "municipality_name": "Haarlem",
65
+ "region_code": "",
66
+ "valid_from": "2025-12-24",
67
+ "valid_to": "2026-05-05",
62
68
  "applies_to": {
63
69
  "accommodation_types": []
64
70
  },
65
71
  "calculation": {
66
- "currency": "EUR",
67
72
  "kind": "generic.per_person_per_night",
68
73
  "params": {
69
74
  "amount": 6.2
70
- }
75
+ },
76
+ "currency": "EUR"
71
77
  },
72
- "confidence": "scraped",
78
+ "predicates": [],
73
79
  "exemptions": [
74
80
  {
75
81
  "kind": "guest.resident_of_same_municipality",
@@ -84,34 +90,34 @@
84
90
  "params": null
85
91
  }
86
92
  ],
87
- "id": "2025-12-24-rate-1",
88
- "municipality_code": "0392",
89
- "municipality_name": "Haarlem",
90
- "notes": "Likely default tariff from the opening paragraph; reviewer must exclude specific reduced categories mentioned later in the same article. Evidence articles: 6",
91
- "predicates": [],
92
- "region_code": "",
93
93
  "source": {
94
+ "source_url": "https://lokaleregelgeving.overheid.nl/CVDR752896/1",
94
95
  "cvdr_id": "CVDR752896",
95
- "reviewed_at": null,
96
- "reviewer": "",
97
96
  "scraped_at": "2026-04-17T12:09:56Z",
98
- "source_url": "https://lokaleregelgeving.overheid.nl/CVDR752896/1"
97
+ "reviewed_at": null,
98
+ "reviewer": ""
99
99
  },
100
- "valid_from": "2025-12-24",
101
- "valid_to": null
100
+ "confidence": "scraped",
101
+ "notes": "Likely default tariff from the opening paragraph; reviewer must exclude specific reduced categories mentioned later in the same article. Evidence articles: 6"
102
102
  },
103
103
  {
104
+ "id": "2025-12-24-rate-2",
105
+ "municipality_code": "0392",
106
+ "municipality_name": "Haarlem",
107
+ "region_code": "",
108
+ "valid_from": "2025-12-24",
109
+ "valid_to": "2026-05-05",
104
110
  "applies_to": {
105
111
  "accommodation_types": []
106
112
  },
107
113
  "calculation": {
108
- "currency": "EUR",
109
114
  "kind": "generic.per_person_per_night",
110
115
  "params": {
111
116
  "amount": 4
112
- }
117
+ },
118
+ "currency": "EUR"
113
119
  },
114
- "confidence": "scraped",
120
+ "predicates": [],
115
121
  "exemptions": [
116
122
  {
117
123
  "kind": "guest.resident_of_same_municipality",
@@ -126,23 +132,23 @@
126
132
  "params": null
127
133
  }
128
134
  ],
129
- "id": "2025-12-24-rate-2",
130
- "municipality_code": "0392",
131
- "municipality_name": "Haarlem",
132
- "notes": "Generated from tariff article. Reviewer must confirm category boundaries and exclusions. Evidence articles: 6",
133
- "predicates": [],
134
- "region_code": "",
135
135
  "source": {
136
+ "source_url": "https://lokaleregelgeving.overheid.nl/CVDR752896/1",
136
137
  "cvdr_id": "CVDR752896",
137
- "reviewed_at": null,
138
- "reviewer": "",
139
138
  "scraped_at": "2026-04-17T12:09:56Z",
140
- "source_url": "https://lokaleregelgeving.overheid.nl/CVDR752896/1"
139
+ "reviewed_at": null,
140
+ "reviewer": ""
141
141
  },
142
- "valid_from": "2025-12-24",
143
- "valid_to": null
142
+ "confidence": "scraped",
143
+ "notes": "Generated from tariff article. Reviewer must confirm category boundaries and exclusions. Evidence articles: 6"
144
144
  },
145
145
  {
146
+ "id": "2025-12-24-rate-3",
147
+ "municipality_code": "0392",
148
+ "municipality_name": "Haarlem",
149
+ "region_code": "",
150
+ "valid_from": "2025-12-24",
151
+ "valid_to": "2026-05-05",
146
152
  "applies_to": {
147
153
  "accommodation_types": [
148
154
  "camping",
@@ -150,13 +156,13 @@
150
156
  ]
151
157
  },
152
158
  "calculation": {
153
- "currency": "EUR",
154
159
  "kind": "generic.per_person_per_night",
155
160
  "params": {
156
161
  "amount": 2.5
157
- }
162
+ },
163
+ "currency": "EUR"
158
164
  },
159
- "confidence": "scraped",
165
+ "predicates": [],
160
166
  "exemptions": [
161
167
  {
162
168
  "kind": "guest.resident_of_same_municipality",
@@ -171,21 +177,15 @@
171
177
  "params": null
172
178
  }
173
179
  ],
174
- "id": "2025-12-24-rate-3",
175
- "municipality_code": "0392",
176
- "municipality_name": "Haarlem",
177
- "notes": "Generated from tariff article. Reviewer must confirm category boundaries and exclusions. Evidence articles: 6",
178
- "predicates": [],
179
- "region_code": "",
180
180
  "source": {
181
+ "source_url": "https://lokaleregelgeving.overheid.nl/CVDR752896/1",
181
182
  "cvdr_id": "CVDR752896",
182
- "reviewed_at": null,
183
- "reviewer": "",
184
183
  "scraped_at": "2026-04-17T12:09:56Z",
185
- "source_url": "https://lokaleregelgeving.overheid.nl/CVDR752896/1"
184
+ "reviewed_at": null,
185
+ "reviewer": ""
186
186
  },
187
- "valid_from": "2025-12-24",
188
- "valid_to": null
187
+ "confidence": "scraped",
188
+ "notes": "Generated from tariff article. Reviewer must confirm category boundaries and exclusions. Evidence articles: 6"
189
189
  }
190
190
  ]
191
191
  }
@@ -0,0 +1,191 @@
1
+ {
2
+ "id": "nl-haarlem-2026-05-06",
3
+ "domain": "tourist_tax",
4
+ "lifecycle": "draft",
5
+ "jurisdiction": {
6
+ "country_code": "NL",
7
+ "country_name": "Netherlands",
8
+ "region_code": "",
9
+ "region_name": ""
10
+ },
11
+ "notes": "Auto-generated from CVDR publication analysis. Source-backed draft only; review required before conformance use.",
12
+ "assessment_policy": {
13
+ "period": "calendar_year",
14
+ "minimum_assessment_amount": null,
15
+ "notes": "Assessment period inferred from the belastingtijdvak article."
16
+ },
17
+ "rules": [
18
+ {
19
+ "id": "2026-05-06-rate",
20
+ "municipality_code": "0392",
21
+ "municipality_name": "Haarlem",
22
+ "region_code": "",
23
+ "valid_from": "2026-05-06",
24
+ "valid_to": null,
25
+ "applies_to": {
26
+ "accommodation_types": null
27
+ },
28
+ "calculation": {
29
+ "kind": "generic.percentage_of_base",
30
+ "params": {
31
+ "base": "subtotal",
32
+ "rate_pct": 50
33
+ },
34
+ "currency": "EUR"
35
+ },
36
+ "predicates": [],
37
+ "exemptions": [
38
+ {
39
+ "kind": "guest.resident_of_same_municipality",
40
+ "params": null
41
+ },
42
+ {
43
+ "kind": "stay.wtza_care_institution",
44
+ "params": null
45
+ },
46
+ {
47
+ "kind": "stay.coa_asylum_housing",
48
+ "params": null
49
+ }
50
+ ],
51
+ "source": {
52
+ "source_url": "https://lokaleregelgeving.overheid.nl/CVDR752896/2",
53
+ "cvdr_id": "CVDR752896",
54
+ "scraped_at": "2026-05-05T04:18:27Z",
55
+ "reviewed_at": null,
56
+ "reviewer": ""
57
+ },
58
+ "confidence": "scraped",
59
+ "notes": "Generated from tariff and heffingsmaatstaf articles. Reviewer must confirm exact accommodation scope and municipality code. Evidence articles: 6, 5 Generated from CVDR analysis."
60
+ },
61
+ {
62
+ "id": "2026-05-06-rate-1",
63
+ "municipality_code": "0392",
64
+ "municipality_name": "Haarlem",
65
+ "region_code": "",
66
+ "valid_from": "2026-05-06",
67
+ "valid_to": null,
68
+ "applies_to": {
69
+ "accommodation_types": []
70
+ },
71
+ "calculation": {
72
+ "kind": "generic.per_person_per_night",
73
+ "params": {
74
+ "amount": 6.2
75
+ },
76
+ "currency": "EUR"
77
+ },
78
+ "predicates": [],
79
+ "exemptions": [
80
+ {
81
+ "kind": "guest.resident_of_same_municipality",
82
+ "params": null
83
+ },
84
+ {
85
+ "kind": "stay.wtza_care_institution",
86
+ "params": null
87
+ },
88
+ {
89
+ "kind": "stay.coa_asylum_housing",
90
+ "params": null
91
+ }
92
+ ],
93
+ "source": {
94
+ "source_url": "https://lokaleregelgeving.overheid.nl/CVDR752896/2",
95
+ "cvdr_id": "CVDR752896",
96
+ "scraped_at": "2026-05-05T04:18:27Z",
97
+ "reviewed_at": null,
98
+ "reviewer": ""
99
+ },
100
+ "confidence": "scraped",
101
+ "notes": "Likely default tariff from the opening paragraph; reviewer must exclude specific reduced categories mentioned later in the same article. Evidence articles: 6 Generated from CVDR analysis."
102
+ },
103
+ {
104
+ "id": "2026-05-06-rate-2",
105
+ "municipality_code": "0392",
106
+ "municipality_name": "Haarlem",
107
+ "region_code": "",
108
+ "valid_from": "2026-05-06",
109
+ "valid_to": null,
110
+ "applies_to": {
111
+ "accommodation_types": []
112
+ },
113
+ "calculation": {
114
+ "kind": "generic.per_person_per_night",
115
+ "params": {
116
+ "amount": 4
117
+ },
118
+ "currency": "EUR"
119
+ },
120
+ "predicates": [],
121
+ "exemptions": [
122
+ {
123
+ "kind": "guest.resident_of_same_municipality",
124
+ "params": null
125
+ },
126
+ {
127
+ "kind": "stay.wtza_care_institution",
128
+ "params": null
129
+ },
130
+ {
131
+ "kind": "stay.coa_asylum_housing",
132
+ "params": null
133
+ }
134
+ ],
135
+ "source": {
136
+ "source_url": "https://lokaleregelgeving.overheid.nl/CVDR752896/2",
137
+ "cvdr_id": "CVDR752896",
138
+ "scraped_at": "2026-05-05T04:18:27Z",
139
+ "reviewed_at": null,
140
+ "reviewer": ""
141
+ },
142
+ "confidence": "scraped",
143
+ "notes": "Generated from tariff article. Reviewer must confirm category boundaries and exclusions. Evidence articles: 6 Generated from CVDR analysis."
144
+ },
145
+ {
146
+ "id": "2026-05-06-rate-3",
147
+ "municipality_code": "0392",
148
+ "municipality_name": "Haarlem",
149
+ "region_code": "",
150
+ "valid_from": "2026-05-06",
151
+ "valid_to": null,
152
+ "applies_to": {
153
+ "accommodation_types": [
154
+ "camping",
155
+ "harbor"
156
+ ]
157
+ },
158
+ "calculation": {
159
+ "kind": "generic.per_person_per_night",
160
+ "params": {
161
+ "amount": 2.5
162
+ },
163
+ "currency": "EUR"
164
+ },
165
+ "predicates": [],
166
+ "exemptions": [
167
+ {
168
+ "kind": "guest.resident_of_same_municipality",
169
+ "params": null
170
+ },
171
+ {
172
+ "kind": "stay.wtza_care_institution",
173
+ "params": null
174
+ },
175
+ {
176
+ "kind": "stay.coa_asylum_housing",
177
+ "params": null
178
+ }
179
+ ],
180
+ "source": {
181
+ "source_url": "https://lokaleregelgeving.overheid.nl/CVDR752896/2",
182
+ "cvdr_id": "CVDR752896",
183
+ "scraped_at": "2026-05-05T04:18:27Z",
184
+ "reviewed_at": null,
185
+ "reviewer": ""
186
+ },
187
+ "confidence": "scraped",
188
+ "notes": "Generated from tariff article. Reviewer must confirm category boundaries and exclusions. Evidence articles: 6 Generated from CVDR analysis."
189
+ }
190
+ ]
191
+ }
@@ -0,0 +1,110 @@
1
+ {
2
+ "id": "nl-schagen-2026-07-03",
3
+ "domain": "tourist_tax",
4
+ "lifecycle": "draft",
5
+ "jurisdiction": {
6
+ "country_code": "NL",
7
+ "country_name": "Netherlands",
8
+ "region_code": "",
9
+ "region_name": ""
10
+ },
11
+ "notes": "Auto-generated from CVDR publication analysis. Source-backed draft only; review required before conformance use.",
12
+ "assessment_policy": {
13
+ "period": "calendar_year",
14
+ "minimum_assessment_amount": {
15
+ "amount": 5,
16
+ "currency": "EUR"
17
+ },
18
+ "notes": "Assessment period inferred from the belastingtijdvak article. Minimum assessment amount inferred from the aanslaggrens article."
19
+ },
20
+ "rules": [
21
+ {
22
+ "id": "2026-07-03-rate-1",
23
+ "municipality_code": "0441",
24
+ "municipality_name": "Schagen",
25
+ "region_code": "",
26
+ "valid_from": "2026-07-03",
27
+ "valid_to": null,
28
+ "applies_to": {
29
+ "accommodation_types": []
30
+ },
31
+ "calculation": {
32
+ "kind": "generic.per_person_per_night",
33
+ "params": {
34
+ "amount": 2.19
35
+ },
36
+ "currency": "EUR"
37
+ },
38
+ "predicates": [],
39
+ "exemptions": [
40
+ {
41
+ "kind": "guest.resident_of_same_municipality",
42
+ "params": null
43
+ },
44
+ {
45
+ "kind": "stay.coa_asylum_housing",
46
+ "params": null
47
+ },
48
+ {
49
+ "kind": "cross_tax.already_subject_to",
50
+ "params": {
51
+ "tax": "forensenbelasting"
52
+ }
53
+ }
54
+ ],
55
+ "source": {
56
+ "source_url": "https://lokaleregelgeving.overheid.nl/CVDR763708/1",
57
+ "cvdr_id": "CVDR763708",
58
+ "scraped_at": "2026-07-02T04:18:47Z",
59
+ "reviewed_at": null,
60
+ "reviewer": ""
61
+ },
62
+ "confidence": "scraped",
63
+ "notes": "Generated from tariff article. Reviewer must confirm category boundaries and exclusions. Evidence articles: 8 Generated from CVDR analysis."
64
+ },
65
+ {
66
+ "id": "2026-07-03-rate-2",
67
+ "municipality_code": "0441",
68
+ "municipality_name": "Schagen",
69
+ "region_code": "",
70
+ "valid_from": "2026-07-03",
71
+ "valid_to": null,
72
+ "applies_to": {
73
+ "accommodation_types": []
74
+ },
75
+ "calculation": {
76
+ "kind": "generic.per_person_per_night",
77
+ "params": {
78
+ "amount": 2.4
79
+ },
80
+ "currency": "EUR"
81
+ },
82
+ "predicates": [],
83
+ "exemptions": [
84
+ {
85
+ "kind": "guest.resident_of_same_municipality",
86
+ "params": null
87
+ },
88
+ {
89
+ "kind": "stay.coa_asylum_housing",
90
+ "params": null
91
+ },
92
+ {
93
+ "kind": "cross_tax.already_subject_to",
94
+ "params": {
95
+ "tax": "forensenbelasting"
96
+ }
97
+ }
98
+ ],
99
+ "source": {
100
+ "source_url": "https://lokaleregelgeving.overheid.nl/CVDR763708/1",
101
+ "cvdr_id": "CVDR763708",
102
+ "scraped_at": "2026-07-02T04:18:47Z",
103
+ "reviewed_at": null,
104
+ "reviewer": ""
105
+ },
106
+ "confidence": "scraped",
107
+ "notes": "Generated from tariff article. Reviewer must confirm category boundaries and exclusions. Evidence articles: 8 Generated from CVDR analysis."
108
+ }
109
+ ]
110
+ }
@@ -1,3 +1,3 @@
1
1
  module TaxConformanceKit
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tax_conformance_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - ramones
@@ -176,6 +176,7 @@ files:
176
176
  - data/regulation/nl/gemeentelijke_verordening/haaksbergen/2026-01-01.json
177
177
  - data/regulation/nl/gemeentelijke_verordening/haarlem/2024-12-28.json
178
178
  - data/regulation/nl/gemeentelijke_verordening/haarlem/2025-12-24.json
179
+ - data/regulation/nl/gemeentelijke_verordening/haarlem/2026-05-06.json
179
180
  - data/regulation/nl/gemeentelijke_verordening/haarlemmermeer/2024-12-07.json
180
181
  - data/regulation/nl/gemeentelijke_verordening/haarlemmermeer/2025-12-11.json
181
182
  - data/regulation/nl/gemeentelijke_verordening/halderberge/2024-12-20.json
@@ -318,6 +319,7 @@ files:
318
319
  - data/regulation/nl/gemeentelijke_verordening/rijswijk/2025-11-28.json
319
320
  - data/regulation/nl/gemeentelijke_verordening/roosendaal/2024-12-25.json
320
321
  - data/regulation/nl/gemeentelijke_verordening/roosendaal/2025-12-24.json
322
+ - data/regulation/nl/gemeentelijke_verordening/schagen/2026-07-03.json
321
323
  - data/regulation/nl/gemeentelijke_verordening/scherpenzeel/2024-12-20.json
322
324
  - data/regulation/nl/gemeentelijke_verordening/scherpenzeel/2026-01-01.json
323
325
  - data/regulation/nl/gemeentelijke_verordening/schiermonnikoog/2024-11-15.json
@@ -467,7 +469,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
467
469
  - !ruby/object:Gem::Version
468
470
  version: '0'
469
471
  requirements: []
470
- rubygems_version: 4.0.6
472
+ rubygems_version: 4.0.10
471
473
  specification_version: 4
472
474
  summary: Thin Ruby client for the tax-conformance-kit Go runtime
473
475
  test_files: []