gobl 0.24.1 → 0.24.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.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/data/addons/br-nfe-v4.json +481 -0
  3. data/data/addons/br-nfse-v1.json +235 -0
  4. data/data/addons/co-dian-v2.json +311 -0
  5. data/data/addons/de-xrechnung-v3.json +16 -0
  6. data/data/addons/de-zugferd-v2.json +16 -0
  7. data/data/addons/es-facturae-v3.json +359 -0
  8. data/data/addons/es-tbai-v1.json +225 -0
  9. data/data/addons/es-verifactu-v1.json +609 -0
  10. data/data/addons/eu-en16931-v2017.json +92 -0
  11. data/data/addons/fr-choruspro-v1.json +260 -0
  12. data/data/addons/fr-facturx-v1.json +16 -0
  13. data/data/addons/gr-mydata-v1.json +1495 -0
  14. data/data/addons/it-sdi-v1.json +1570 -0
  15. data/data/addons/it-ticket-v1.json +144 -0
  16. data/data/addons/mx-cfdi-v4.json +908 -0
  17. data/data/addons/pl-favat-v2.json +235 -0
  18. data/data/addons/pt-saft-v1.json +950 -0
  19. data/data/catalogues/cef.json +374 -0
  20. data/data/catalogues/iso.json +19 -0
  21. data/data/catalogues/untdid.json +10669 -0
  22. data/data/currency/iso.json +2378 -0
  23. data/data/currency/non-iso.json +128 -0
  24. data/data/schemas/bill/charge.json +125 -0
  25. data/data/schemas/bill/correction-options.json +54 -0
  26. data/data/schemas/bill/delivery-details.json +41 -0
  27. data/data/schemas/bill/delivery.json +412 -0
  28. data/data/schemas/bill/discount.json +137 -0
  29. data/data/schemas/bill/invoice.json +423 -0
  30. data/data/schemas/bill/line.json +433 -0
  31. data/data/schemas/bill/order.json +401 -0
  32. data/data/schemas/bill/ordering.json +107 -0
  33. data/data/schemas/bill/payment-details.json +36 -0
  34. data/data/schemas/bill/payment.json +424 -0
  35. data/data/schemas/bill/tax.json +45 -0
  36. data/data/schemas/bill/totals.json +84 -0
  37. data/data/schemas/cal/date-time.json +13 -0
  38. data/data/schemas/cal/date.json +13 -0
  39. data/data/schemas/cal/period.json +32 -0
  40. data/data/schemas/cal/time.json +13 -0
  41. data/data/schemas/cbc/code-map.json +16 -0
  42. data/data/schemas/cbc/code.json +15 -0
  43. data/data/schemas/cbc/definition.json +67 -0
  44. data/data/schemas/cbc/key.json +15 -0
  45. data/data/schemas/cbc/meta.json +16 -0
  46. data/data/schemas/cbc/source.json +37 -0
  47. data/data/schemas/currency/amount.json +32 -0
  48. data/data/schemas/currency/code.json +734 -0
  49. data/data/schemas/currency/exchange-rate.json +43 -0
  50. data/data/schemas/dsig/digest.json +27 -0
  51. data/data/schemas/dsig/signature.json +12 -0
  52. data/data/schemas/envelope.json +41 -0
  53. data/data/schemas/head/header.json +62 -0
  54. data/data/schemas/head/link.json +42 -0
  55. data/data/schemas/head/stamp.json +27 -0
  56. data/data/schemas/i18n/string.json +18 -0
  57. data/data/schemas/l10n/code.json +13 -0
  58. data/data/schemas/l10n/iso-country-code.json +1010 -0
  59. data/data/schemas/l10n/tax-country-code.json +1022 -0
  60. data/data/schemas/note/message.json +43 -0
  61. data/data/schemas/num/amount.json +13 -0
  62. data/data/schemas/num/percentage.json +13 -0
  63. data/data/schemas/org/address.json +105 -0
  64. data/data/schemas/org/attachment.json +58 -0
  65. data/data/schemas/org/coordinates.json +33 -0
  66. data/data/schemas/org/document-ref.json +117 -0
  67. data/data/schemas/org/email.json +37 -0
  68. data/data/schemas/org/identity.json +57 -0
  69. data/data/schemas/org/image.json +70 -0
  70. data/data/schemas/org/inbox.json +49 -0
  71. data/data/schemas/org/item.json +96 -0
  72. data/data/schemas/org/name.json +59 -0
  73. data/data/schemas/org/note.json +184 -0
  74. data/data/schemas/org/party.json +129 -0
  75. data/data/schemas/org/person.json +90 -0
  76. data/data/schemas/org/registration.json +66 -0
  77. data/data/schemas/org/telephone.json +32 -0
  78. data/data/schemas/org/unit.json +350 -0
  79. data/data/schemas/org/website.json +38 -0
  80. data/data/schemas/pay/advance.json +211 -0
  81. data/data/schemas/pay/instructions.json +245 -0
  82. data/data/schemas/pay/terms.json +128 -0
  83. data/data/schemas/regimes/mx/food-vouchers.json +111 -0
  84. data/data/schemas/regimes/mx/fuel-account-balance.json +179 -0
  85. data/data/schemas/schema/object.json +12 -0
  86. data/data/schemas/tax/addon-def.json +288 -0
  87. data/data/schemas/tax/catalogue-def.json +37 -0
  88. data/data/schemas/tax/extensions.json +16 -0
  89. data/data/schemas/tax/identity.json +45 -0
  90. data/data/schemas/tax/regime-def.json +513 -0
  91. data/data/schemas/tax/set.json +139 -0
  92. data/data/schemas/tax/total.json +135 -0
  93. data/lib/gobl/extensions/tax/addon_helper.rb +37 -0
  94. data/lib/gobl/version.rb +1 -1
  95. data/lib/gobl.rb +1 -0
  96. metadata +93 -1
@@ -0,0 +1,359 @@
1
+ {
2
+ "$schema": "https://gobl.org/draft-0/tax/addon-def",
3
+ "key": "es-facturae-v3",
4
+ "name": {
5
+ "en": "Spain FacturaE"
6
+ },
7
+ "extensions": [
8
+ {
9
+ "key": "es-facturae-doc-type",
10
+ "name": {
11
+ "en": "FacturaE: Document Type",
12
+ "es": "FacturaE: Tipo de Documento"
13
+ },
14
+ "values": [
15
+ {
16
+ "code": "FC",
17
+ "name": {
18
+ "en": "Commercial Invoice",
19
+ "es": "Factura Comercial"
20
+ }
21
+ },
22
+ {
23
+ "code": "FA",
24
+ "name": {
25
+ "en": "Simplified Invoice",
26
+ "es": "Factura Simplificada"
27
+ }
28
+ },
29
+ {
30
+ "code": "AF",
31
+ "name": {
32
+ "en": "Self-billed Invoice",
33
+ "es": "Auto-Factura"
34
+ }
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ "key": "es-facturae-invoice-class",
40
+ "name": {
41
+ "en": "FacturaE: Invoice Class",
42
+ "es": "FacturaE: Clase de Factura"
43
+ },
44
+ "values": [
45
+ {
46
+ "code": "OO",
47
+ "name": {
48
+ "en": "Original",
49
+ "es": "Original"
50
+ }
51
+ },
52
+ {
53
+ "code": "OR",
54
+ "name": {
55
+ "en": "Corrective Original",
56
+ "es": "Original Rectificativa"
57
+ }
58
+ },
59
+ {
60
+ "code": "OC",
61
+ "name": {
62
+ "en": "Summary Original",
63
+ "es": "Original Recapitulativa"
64
+ }
65
+ },
66
+ {
67
+ "code": "CO",
68
+ "name": {
69
+ "en": "Copy of the Original",
70
+ "es": "Duplicado Original"
71
+ }
72
+ },
73
+ {
74
+ "code": "CR",
75
+ "name": {
76
+ "en": "Copy of the Corrective",
77
+ "es": "Duplicado Rectificativa"
78
+ }
79
+ },
80
+ {
81
+ "code": "CC",
82
+ "name": {
83
+ "en": "Copy of the Summary",
84
+ "es": "Duplicado Recapitulativa"
85
+ }
86
+ }
87
+ ]
88
+ },
89
+ {
90
+ "key": "es-facturae-correction",
91
+ "name": {
92
+ "en": "FacturaE Change",
93
+ "es": "Cambio de FacturaE"
94
+ },
95
+ "desc": {
96
+ "en": "FacturaE requires a specific and single code that explains why the previous invoice is being corrected.",
97
+ "es": "FacturaE requiere un código específico y único que explique por qué se está corrigiendo la factura anterior."
98
+ },
99
+ "values": [
100
+ {
101
+ "code": "01",
102
+ "name": {
103
+ "en": "Invoice code",
104
+ "es": "Número de la factura"
105
+ }
106
+ },
107
+ {
108
+ "code": "02",
109
+ "name": {
110
+ "en": "Invoice series",
111
+ "es": "Serie de la factura"
112
+ }
113
+ },
114
+ {
115
+ "code": "03",
116
+ "name": {
117
+ "en": "Issue date",
118
+ "es": "Fecha expedición"
119
+ }
120
+ },
121
+ {
122
+ "code": "04",
123
+ "name": {
124
+ "en": "Name and surnames/Corporate name - Issuer (Sender)",
125
+ "es": "Nombre y apellidos/Razón Social-Emisor"
126
+ }
127
+ },
128
+ {
129
+ "code": "05",
130
+ "name": {
131
+ "en": "Name and surnames/Corporate name - Receiver",
132
+ "es": "Nombre y apellidos/Razón Social-Receptor"
133
+ }
134
+ },
135
+ {
136
+ "code": "06",
137
+ "name": {
138
+ "en": "Issuer's Tax Identification Number",
139
+ "es": "Identificación fiscal Emisor/obligado"
140
+ }
141
+ },
142
+ {
143
+ "code": "07",
144
+ "name": {
145
+ "en": "Receiver's Tax Identification Number",
146
+ "es": "Identificación fiscal Receptor"
147
+ }
148
+ },
149
+ {
150
+ "code": "08",
151
+ "name": {
152
+ "en": "Supplier's address",
153
+ "es": "Domicilio Emisor/Obligado"
154
+ }
155
+ },
156
+ {
157
+ "code": "09",
158
+ "name": {
159
+ "en": "Customer's address",
160
+ "es": "Domicilio Receptor"
161
+ }
162
+ },
163
+ {
164
+ "code": "10",
165
+ "name": {
166
+ "en": "Item line",
167
+ "es": "Detalle Operación"
168
+ }
169
+ },
170
+ {
171
+ "code": "11",
172
+ "name": {
173
+ "en": "Applicable Tax Rate",
174
+ "es": "Porcentaje impositivo a aplicar"
175
+ }
176
+ },
177
+ {
178
+ "code": "12",
179
+ "name": {
180
+ "en": "Applicable Tax Amount",
181
+ "es": "Cuota tributaria a aplicar"
182
+ }
183
+ },
184
+ {
185
+ "code": "13",
186
+ "name": {
187
+ "en": "Applicable Date/Period",
188
+ "es": "Fecha/Periodo a aplicar"
189
+ }
190
+ },
191
+ {
192
+ "code": "14",
193
+ "name": {
194
+ "en": "Invoice Class",
195
+ "es": "Clase de factura"
196
+ }
197
+ },
198
+ {
199
+ "code": "15",
200
+ "name": {
201
+ "en": "Legal literals",
202
+ "es": "Literales legales"
203
+ }
204
+ },
205
+ {
206
+ "code": "16",
207
+ "name": {
208
+ "en": "Taxable Base",
209
+ "es": "Base imponible"
210
+ }
211
+ },
212
+ {
213
+ "code": "80",
214
+ "name": {
215
+ "en": "Calculation of tax outputs",
216
+ "es": "Cálculo de cuotas repercutidas"
217
+ }
218
+ },
219
+ {
220
+ "code": "81",
221
+ "name": {
222
+ "en": "Calculation of tax inputs",
223
+ "es": "Cálculo de cuotas retenidas"
224
+ }
225
+ },
226
+ {
227
+ "code": "82",
228
+ "name": {
229
+ "en": "Taxable Base modified due to return of packages and packaging materials",
230
+ "es": "Base imponible modificada por devolución de envases / embalajes"
231
+ }
232
+ },
233
+ {
234
+ "code": "83",
235
+ "name": {
236
+ "en": "Taxable Base modified due to discounts and rebates",
237
+ "es": "Base imponible modificada por descuentos y bonificaciones"
238
+ }
239
+ },
240
+ {
241
+ "code": "84",
242
+ "name": {
243
+ "en": "Taxable Base modified due to firm court ruling or administrative decision",
244
+ "es": "Base imponible modificada por resolución firme, judicial o administrativa"
245
+ }
246
+ },
247
+ {
248
+ "code": "85",
249
+ "name": {
250
+ "en": "Taxable Base modified due to unpaid outputs where there is a judgement opening insolvency proceedings",
251
+ "es": "Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso"
252
+ }
253
+ }
254
+ ]
255
+ }
256
+ ],
257
+ "scenarios": [
258
+ {
259
+ "schema": "bill/invoice",
260
+ "list": [
261
+ {
262
+ "type": [
263
+ "standard",
264
+ "corrective",
265
+ "credit-note",
266
+ "debit-note"
267
+ ],
268
+ "ext": {
269
+ "es-facturae-doc-type": "FC"
270
+ }
271
+ },
272
+ {
273
+ "tags": [
274
+ "simplified"
275
+ ],
276
+ "ext": {
277
+ "es-facturae-doc-type": "FA"
278
+ }
279
+ },
280
+ {
281
+ "tags": [
282
+ "self-billed"
283
+ ],
284
+ "ext": {
285
+ "es-facturae-doc-type": "AF"
286
+ }
287
+ },
288
+ {
289
+ "type": [
290
+ "standard"
291
+ ],
292
+ "ext": {
293
+ "es-facturae-invoice-class": "OO"
294
+ }
295
+ },
296
+ {
297
+ "type": [
298
+ "corrective",
299
+ "credit-note",
300
+ "debit-note"
301
+ ],
302
+ "ext": {
303
+ "es-facturae-invoice-class": "OR"
304
+ }
305
+ },
306
+ {
307
+ "tags": [
308
+ "summary"
309
+ ],
310
+ "ext": {
311
+ "es-facturae-invoice-class": "OC"
312
+ }
313
+ },
314
+ {
315
+ "type": [
316
+ "standard"
317
+ ],
318
+ "tags": [
319
+ "copy"
320
+ ],
321
+ "ext": {
322
+ "es-facturae-invoice-class": "CO"
323
+ }
324
+ },
325
+ {
326
+ "type": [
327
+ "corrective"
328
+ ],
329
+ "tags": [
330
+ "copy"
331
+ ],
332
+ "ext": {
333
+ "es-facturae-invoice-class": "CR"
334
+ }
335
+ },
336
+ {
337
+ "type": [
338
+ "standard"
339
+ ],
340
+ "tags": [
341
+ "copy",
342
+ "summary"
343
+ ],
344
+ "ext": {
345
+ "es-facturae-invoice-class": "CC"
346
+ }
347
+ }
348
+ ]
349
+ }
350
+ ],
351
+ "corrections": [
352
+ {
353
+ "schema": "bill/invoice",
354
+ "extensions": [
355
+ "es-facturae-correction"
356
+ ]
357
+ }
358
+ ]
359
+ }
@@ -0,0 +1,225 @@
1
+ {
2
+ "$schema": "https://gobl.org/draft-0/tax/addon-def",
3
+ "key": "es-tbai-v1",
4
+ "name": {
5
+ "en": "Spain TicketBAI"
6
+ },
7
+ "extensions": [
8
+ {
9
+ "key": "es-tbai-region",
10
+ "name": {
11
+ "en": "TicketBAI Region Code",
12
+ "es": "Código de Región TicketBAI"
13
+ },
14
+ "desc": {
15
+ "en": "Region codes are used by TicketBAI to differentiate between the different\nsubdivisions of the Basque Country. This is used to determine the correct\nAPI endpoint to use when submitting documents."
16
+ },
17
+ "values": [
18
+ {
19
+ "code": "VI",
20
+ "name": {
21
+ "en": "Araba",
22
+ "es": "Álava"
23
+ }
24
+ },
25
+ {
26
+ "code": "BI",
27
+ "name": {
28
+ "en": "Bizkaia",
29
+ "es": "Vizcaya"
30
+ }
31
+ },
32
+ {
33
+ "code": "SS",
34
+ "name": {
35
+ "en": "Gipuzkoa",
36
+ "es": "Guipúzcoa"
37
+ }
38
+ }
39
+ ]
40
+ },
41
+ {
42
+ "key": "es-tbai-product",
43
+ "name": {
44
+ "en": "TicketBAI Product Key",
45
+ "es": "Clave de Producto TicketBAI"
46
+ },
47
+ "desc": {
48
+ "en": "Product keys are used by TicketBAI to differentiate between -exported- goods\nand services. It may be useful to classify all products regardless of wether\nthey are exported or not.\n\nThere is an additional exception case for goods that are resold without modification\nwhen the supplier is in the simplified tax regime. For must purposes this special\ncase can be ignored.\n\nIf no product key is provided, the default is \"services\"."
49
+ },
50
+ "values": [
51
+ {
52
+ "code": "goods",
53
+ "name": {
54
+ "en": "Delivery of goods",
55
+ "es": "Entrega de bienes"
56
+ }
57
+ },
58
+ {
59
+ "code": "services",
60
+ "name": {
61
+ "en": "Provision of services",
62
+ "es": "Prestacion de servicios"
63
+ }
64
+ },
65
+ {
66
+ "code": "resale",
67
+ "name": {
68
+ "en": "Resale of goods without modification by vendor in the simplified regime",
69
+ "es": "Reventa de bienes sin modificación por vendedor en regimen simplificado"
70
+ }
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ "key": "es-tbai-exemption",
76
+ "name": {
77
+ "en": "TicketBAI Exemption code",
78
+ "es": "Código de Exención de TicketBAI"
79
+ },
80
+ "desc": {
81
+ "en": "Codes used by TicketBAI for both \"exempt\", \"not-subject\", and reverse\ncharge transactions. In the TicketBAI format these are separated,\nbut in order to simplify GOBL and be more closely aligned with\nother countries we've combined them into one.\n\nThe follow mappings will be made automatically by GOBL during normalization.\n\n| Tax Key | Exemption Codes |\n|-------------------|----------------------------|\n| `exempt` | `E1` (default), `E6` |\n| `export` | `E2` (default), `E3`, `E4` |\n| `intra-community` | `E5` |\n| `reverse-charge` | `S2` |\n| `outside-scope` | `OT`, `RL`, `VT`, `IE` |"
82
+ },
83
+ "values": [
84
+ {
85
+ "code": "E1",
86
+ "name": {
87
+ "en": "Exempt: pursuant to Article 20 of the Foral VAT Law",
88
+ "es": "Exenta: por el artículo 20 de la Norma Foral del IVA"
89
+ }
90
+ },
91
+ {
92
+ "code": "E2",
93
+ "name": {
94
+ "en": "Exempt: pursuant to Article 21 of the Foral VAT Law",
95
+ "es": "Exenta: por el artículo 21 de la Norma Foral del IVA"
96
+ }
97
+ },
98
+ {
99
+ "code": "E3",
100
+ "name": {
101
+ "en": "Exempt: pursuant to Article 22 of the Foral VAT Law",
102
+ "es": "Exenta: por el artículo 22 de la Norma Foral del IVA"
103
+ }
104
+ },
105
+ {
106
+ "code": "E4",
107
+ "name": {
108
+ "en": "Exempt: pursuant to Articles 23 and 24 of the Foral VAT Law",
109
+ "es": "Exenta: por el artículos 23 y 24 de la Norma Foral del IVA"
110
+ }
111
+ },
112
+ {
113
+ "code": "E5",
114
+ "name": {
115
+ "en": "Exempt: pursuant to Article 25 of the Foral VAT law",
116
+ "es": "Exenta: por el artículo 25 de la Norma Foral del IVA"
117
+ }
118
+ },
119
+ {
120
+ "code": "E6",
121
+ "name": {
122
+ "en": "Exempt: pursuant to other reasons",
123
+ "es": "Exenta: por otra causa"
124
+ }
125
+ },
126
+ {
127
+ "code": "OT",
128
+ "name": {
129
+ "en": "Not subject: pursuant to Article 7 of the VAT Law - other cases of non-subject",
130
+ "es": "No sujeto: por el artículo 7 de la Ley del IVA - otros supuestos de no sujeción"
131
+ }
132
+ },
133
+ {
134
+ "code": "RL",
135
+ "name": {
136
+ "en": "Not subject: pursuant to localization rules",
137
+ "es": "No sujeto: por reglas de localización"
138
+ }
139
+ },
140
+ {
141
+ "code": "VT",
142
+ "name": {
143
+ "en": "Not subject: sales made on behalf of third parties (amount not computable for VAT or IRPF purposes)",
144
+ "es": "No sujeto: ventas realizadas por cuenta de terceros (importe no computable a efectos de IVA ni de IRPF)"
145
+ }
146
+ },
147
+ {
148
+ "code": "IE",
149
+ "name": {
150
+ "en": "Not subject in the TAI due to localization rules, but foreign tax, IPS/IGIC or VAT from another EU member state is passed on",
151
+ "es": "No sujeto en el TAI por reglas de localización, pero repercute impuesto extranjero, IPS/IGIC o IVA de otro estado miembro UE"
152
+ }
153
+ },
154
+ {
155
+ "code": "S2",
156
+ "name": {
157
+ "en": "Subject and not exempt: with reverse charge",
158
+ "es": "Sujeto y no exenta: con inversión del sujeto pasivo"
159
+ }
160
+ }
161
+ ]
162
+ },
163
+ {
164
+ "key": "es-tbai-correction",
165
+ "name": {
166
+ "en": "TicketBAI Rectification Type Code",
167
+ "es": "TicketBAI Código de Factura Rectificativa"
168
+ },
169
+ "desc": {
170
+ "en": "Corrected or rectified invoices that need to be sent in the TicketBAI format\nrequire a specific type code to be defined alongside the preceding invoice\ndata."
171
+ },
172
+ "values": [
173
+ {
174
+ "code": "R1",
175
+ "name": {
176
+ "en": "Rectified invoice: error based on law and Article 80 One, Two and Six of the Provincial Tax Law of VAT",
177
+ "es": "Factura rectificativa: error fundado en derecho y Art. 80 Uno, Dos y Seis de la Norma Foral del IVA",
178
+ "eu": "Faktura zuzentzailea: zuzenbidean oinarritutako akatsa eta BEZaren Foru Arauaren 80.artikuluko Bat, Bi eta Sei"
179
+ }
180
+ },
181
+ {
182
+ "code": "R2",
183
+ "name": {
184
+ "en": "Rectified invoice: error based on law and Article 80 Three of the Provincial Tax Law of VAT",
185
+ "es": "Factura rectificativa: artículo 80 Tres de la Norma Foral del IVA",
186
+ "eu": "Faktura zuzentzailea: BEZari buruzko Foru Arauko 80. artikuluko Hiru"
187
+ }
188
+ },
189
+ {
190
+ "code": "R3",
191
+ "name": {
192
+ "en": "Rectified invoice: error based on law and Article 80 Four of the Provincial Tax Law of VAT",
193
+ "es": "Factura rectificativa: artículo 80 Cuatro de la Norma Foral del IVA",
194
+ "eu": "Faktura zuzentzailea: BEZari buruzko Foru Arauko 80. artikuluko Lau"
195
+ }
196
+ },
197
+ {
198
+ "code": "R4",
199
+ "name": {
200
+ "en": "Rectified invoice: Other",
201
+ "es": "Factura rectificativa: Resto",
202
+ "eu": "Faktura zuzentzailea: Gainerakoak"
203
+ }
204
+ },
205
+ {
206
+ "code": "R5",
207
+ "name": {
208
+ "en": "Rectified invoice: simplified invoices",
209
+ "es": "Factura rectificativa: facturas simplificadas",
210
+ "eu": "Faktura zuzentzaile: faktura erraztuetan"
211
+ }
212
+ }
213
+ ]
214
+ }
215
+ ],
216
+ "scenarios": null,
217
+ "corrections": [
218
+ {
219
+ "schema": "bill/invoice",
220
+ "extensions": [
221
+ "es-tbai-correction"
222
+ ]
223
+ }
224
+ ]
225
+ }