gobl 0.21.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/data/regimes/ae.json +173 -0
  3. data/data/regimes/at.json +56 -50
  4. data/data/regimes/be.json +56 -50
  5. data/data/regimes/br.json +135 -0
  6. data/data/regimes/ca.json +2 -1
  7. data/data/regimes/ch.json +56 -50
  8. data/data/regimes/co.json +34 -203
  9. data/data/regimes/de.json +74 -47
  10. data/data/regimes/el.json +211 -0
  11. data/data/regimes/es.json +69 -550
  12. data/data/regimes/fr.json +56 -50
  13. data/data/regimes/gb.json +60 -50
  14. data/data/regimes/in.json +128 -0
  15. data/data/regimes/it.json +48 -1311
  16. data/data/regimes/mx.json +39 -639
  17. data/data/regimes/nl.json +56 -50
  18. data/data/regimes/pl.json +101 -97
  19. data/data/regimes/pt.json +1459 -227
  20. data/data/regimes/us.json +55 -50
  21. data/lib/generated/gobl/bill/charge.rb +34 -19
  22. data/lib/generated/gobl/bill/correction_options.rb +8 -3
  23. data/lib/generated/gobl/bill/delivery.rb +184 -16
  24. data/lib/generated/gobl/bill/delivery_details.rb +41 -0
  25. data/lib/generated/gobl/bill/discount.rb +36 -13
  26. data/lib/generated/gobl/bill/invoice.rb +88 -41
  27. data/lib/generated/gobl/bill/line.rb +39 -4
  28. data/lib/generated/gobl/bill/line_charge.rb +56 -11
  29. data/lib/generated/gobl/bill/line_discount.rb +45 -12
  30. data/lib/generated/gobl/bill/order.rb +208 -0
  31. data/lib/generated/gobl/bill/ordering.rb +40 -35
  32. data/lib/generated/gobl/bill/payment.rb +155 -15
  33. data/lib/generated/gobl/bill/payment_details.rb +36 -0
  34. data/lib/generated/gobl/bill/payment_line.rb +77 -0
  35. data/lib/generated/gobl/bill/sub_line.rb +83 -0
  36. data/lib/generated/gobl/bill/tax.rb +19 -5
  37. data/lib/generated/gobl/bill/totals.rb +18 -18
  38. data/lib/generated/gobl/bill/tracking.rb +26 -0
  39. data/lib/generated/gobl/cal/date_time.rb +1 -1
  40. data/lib/generated/gobl/cal/time.rb +16 -0
  41. data/lib/generated/gobl/cbc/code.rb +2 -1
  42. data/lib/generated/gobl/cbc/{key_definition.rb → definition.rb} +18 -14
  43. data/lib/generated/gobl/cbc/source.rb +37 -0
  44. data/lib/generated/gobl/currency/code.rb +16 -16
  45. data/lib/generated/gobl/currency/exchange_rate.rb +10 -5
  46. data/lib/generated/gobl/head/header.rb +5 -5
  47. data/lib/generated/gobl/head/link.rb +43 -0
  48. data/lib/generated/gobl/l10n/{country_code.rb → iso_country_code.rb} +3 -3
  49. data/lib/generated/gobl/l10n/tax_country_code.rb +277 -0
  50. data/lib/generated/gobl/org/address.rb +11 -7
  51. data/lib/generated/gobl/org/attachment.rb +62 -0
  52. data/lib/generated/gobl/org/document_ref.rb +102 -0
  53. data/lib/generated/gobl/org/identity.rb +11 -1
  54. data/lib/generated/gobl/org/inbox.rb +22 -14
  55. data/lib/generated/gobl/org/item.rb +4 -5
  56. data/lib/generated/gobl/org/name.rb +0 -2
  57. data/lib/generated/gobl/{cbc → org}/note.rb +16 -5
  58. data/lib/generated/gobl/org/party.rb +9 -6
  59. data/lib/generated/gobl/org/person.rb +5 -0
  60. data/lib/generated/gobl/org/registration.rb +4 -0
  61. data/lib/generated/gobl/org/telephone.rb +1 -1
  62. data/lib/generated/gobl/org/unit.rb +2 -1
  63. data/lib/generated/gobl/pay/advance.rb +8 -1
  64. data/lib/generated/gobl/pay/card.rb +5 -2
  65. data/lib/generated/gobl/pay/instructions.rb +10 -3
  66. data/lib/generated/gobl/pay/terms.rb +7 -2
  67. data/lib/generated/gobl/regimes/mx/food_vouchers_line.rb +5 -0
  68. data/lib/generated/gobl/regimes/mx/fuel_account_line.rb +5 -0
  69. data/lib/generated/gobl/tax/addon_def.rb +76 -0
  70. data/lib/generated/gobl/tax/catalogue_def.rb +39 -0
  71. data/lib/generated/gobl/tax/{category.rb → category_def.rb} +14 -14
  72. data/lib/generated/gobl/tax/combo.rb +5 -0
  73. data/lib/generated/gobl/tax/correction_definition.rb +6 -1
  74. data/lib/generated/gobl/tax/correction_set.rb +13 -0
  75. data/lib/generated/gobl/tax/identity.rb +8 -3
  76. data/lib/generated/gobl/tax/{rate.rb → rate_def.rb} +11 -16
  77. data/lib/generated/gobl/tax/rate_total.rb +5 -0
  78. data/lib/generated/gobl/tax/{rate_value.rb → rate_value_def.rb} +4 -4
  79. data/lib/generated/gobl/tax/{regime.rb → regime_def.rb} +38 -33
  80. data/lib/generated/gobl/tax/scenario.rb +22 -12
  81. data/lib/generated/gobl/tax/scenario_note.rb +42 -0
  82. data/lib/generated/gobl/tax/scenario_set.rb +1 -1
  83. data/lib/generated/gobl/tax/tag_set.rb +28 -0
  84. data/lib/generated/gobl/tax/total.rb +6 -1
  85. data/lib/gobl/extensions/bill/invoice_helper.rb +6 -36
  86. data/lib/gobl/extensions/envelope_helper.rb +4 -0
  87. data/lib/gobl/version.rb +1 -1
  88. data/lib/gobl.rb +3 -2
  89. metadata +36 -21
  90. data/lib/generated/gobl/bill/document_reference.rb +0 -36
  91. data/lib/generated/gobl/bill/outlay.rb +0 -58
  92. data/lib/generated/gobl/bill/preceding.rb +0 -78
  93. data/lib/generated/gobl/cbc/code_definition.rb +0 -37
  94. data/lib/generated/gobl/tax/source.rb +0 -27
  95. data/lib/gobl/extensions/bill/scenario_summary.rb +0 -25
data/data/regimes/nl.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://gobl.org/draft-0/tax/regime",
2
+ "$schema": "https://gobl.org/draft-0/tax/regime-def",
3
3
  "name": {
4
4
  "en": "The Netherlands",
5
5
  "nl": "Nederland"
@@ -7,57 +7,63 @@
7
7
  "time_zone": "Europe/Amsterdam",
8
8
  "country": "NL",
9
9
  "currency": "EUR",
10
+ "tax_scheme": "VAT",
10
11
  "tags": [
11
12
  {
12
- "key": "simplified",
13
- "name": {
14
- "de": "Vereinfachte Rechnung",
15
- "en": "Simplified Invoice",
16
- "es": "Factura Simplificada",
17
- "it": "Fattura Semplificata"
18
- },
19
- "desc": {
20
- "de": "Wird für B2C-Transaktionen verwendet, wenn die Kundendaten nicht verfügbar sind. Bitte wenden Sie sich an die örtlichen Behörden, um die Grenzwerte zu ermitteln.",
21
- "en": "Used for B2C transactions when the client details are not available, check with local authorities for limits.",
22
- "es": "Usado para transacciones B2C cuando los detalles del cliente no están disponibles, consulte con las autoridades locales para los límites.",
23
- "it": "Utilizzato per le transazioni B2C quando i dettagli del cliente non sono disponibili, controllare con le autorità locali per i limiti."
24
- }
25
- },
26
- {
27
- "key": "reverse-charge",
28
- "name": {
29
- "de": "Umkehr der Steuerschuld",
30
- "en": "Reverse Charge",
31
- "es": "Inversión del Sujeto Pasivo",
32
- "it": "Inversione del soggetto passivo"
33
- }
34
- },
35
- {
36
- "key": "self-billed",
37
- "name": {
38
- "de": "Rechnung durch den Leistungsempfänger",
39
- "en": "Self-billed",
40
- "es": "Facturación por el destinatario",
41
- "it": "Autofattura"
42
- }
43
- },
44
- {
45
- "key": "customer-rates",
46
- "name": {
47
- "de": "Kundensätze",
48
- "en": "Customer rates",
49
- "es": "Tarifas aplicables al destinatario",
50
- "it": "Aliquote applicabili al destinatario"
51
- }
52
- },
53
- {
54
- "key": "partial",
55
- "name": {
56
- "de": "Teilweise",
57
- "en": "Partial",
58
- "es": "Parcial",
59
- "it": "Parziale"
60
- }
13
+ "schema": "bill/invoice",
14
+ "list": [
15
+ {
16
+ "key": "simplified",
17
+ "name": {
18
+ "de": "Vereinfachte Rechnung",
19
+ "en": "Simplified Invoice",
20
+ "es": "Factura Simplificada",
21
+ "it": "Fattura Semplificata"
22
+ },
23
+ "desc": {
24
+ "de": "Wird für B2C-Transaktionen verwendet, wenn die Kundendaten nicht verfügbar sind. Bitte wenden Sie sich an die örtlichen Behörden, um die Grenzwerte zu ermitteln.",
25
+ "en": "Used for B2C transactions when the client details are not available, check with local authorities for limits.",
26
+ "es": "Usado para transacciones B2C cuando los detalles del cliente no están disponibles, consulte con las autoridades locales para los límites.",
27
+ "it": "Utilizzato per le transazioni B2C quando i dettagli del cliente non sono disponibili, controllare con le autorità locali per i limiti."
28
+ }
29
+ },
30
+ {
31
+ "key": "reverse-charge",
32
+ "name": {
33
+ "de": "Umkehr der Steuerschuld",
34
+ "en": "Reverse Charge",
35
+ "es": "Inversión del Sujeto Pasivo",
36
+ "it": "Inversione del soggetto passivo"
37
+ }
38
+ },
39
+ {
40
+ "key": "self-billed",
41
+ "name": {
42
+ "de": "Rechnung durch den Leistungsempfänger",
43
+ "en": "Self-billed",
44
+ "es": "Facturación por el destinatario",
45
+ "it": "Autofattura"
46
+ }
47
+ },
48
+ {
49
+ "key": "customer-rates",
50
+ "name": {
51
+ "de": "Kundensätze",
52
+ "en": "Customer rates",
53
+ "es": "Tarifas aplicables al destinatario",
54
+ "it": "Aliquote applicabili al destinatario"
55
+ }
56
+ },
57
+ {
58
+ "key": "partial",
59
+ "name": {
60
+ "de": "Teilweise",
61
+ "en": "Partial",
62
+ "es": "Parcial",
63
+ "it": "Parziale"
64
+ }
65
+ }
66
+ ]
61
67
  }
62
68
  ],
63
69
  "scenarios": [
data/data/regimes/pl.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://gobl.org/draft-0/tax/regime",
2
+ "$schema": "https://gobl.org/draft-0/tax/regime-def",
3
3
  "name": {
4
4
  "en": "Poland",
5
5
  "pl": "Polska"
@@ -7,64 +7,70 @@
7
7
  "time_zone": "Europe/Warsaw",
8
8
  "country": "PL",
9
9
  "currency": "PLN",
10
+ "tax_scheme": "VAT",
10
11
  "tags": [
11
12
  {
12
- "key": "simplified",
13
- "name": {
14
- "de": "Vereinfachte Rechnung",
15
- "en": "Simplified Invoice",
16
- "es": "Factura Simplificada",
17
- "it": "Fattura Semplificata"
18
- },
19
- "desc": {
20
- "de": "Wird für B2C-Transaktionen verwendet, wenn die Kundendaten nicht verfügbar sind. Bitte wenden Sie sich an die örtlichen Behörden, um die Grenzwerte zu ermitteln.",
21
- "en": "Used for B2C transactions when the client details are not available, check with local authorities for limits.",
22
- "es": "Usado para transacciones B2C cuando los detalles del cliente no están disponibles, consulte con las autoridades locales para los límites.",
23
- "it": "Utilizzato per le transazioni B2C quando i dettagli del cliente non sono disponibili, controllare con le autorità locali per i limiti."
24
- }
25
- },
26
- {
27
- "key": "reverse-charge",
28
- "name": {
29
- "de": "Umkehr der Steuerschuld",
30
- "en": "Reverse Charge",
31
- "es": "Inversión del Sujeto Pasivo",
32
- "it": "Inversione del soggetto passivo"
33
- }
34
- },
35
- {
36
- "key": "self-billed",
37
- "name": {
38
- "de": "Rechnung durch den Leistungsempfänger",
39
- "en": "Self-billed",
40
- "es": "Facturación por el destinatario",
41
- "it": "Autofattura"
42
- }
43
- },
44
- {
45
- "key": "customer-rates",
46
- "name": {
47
- "de": "Kundensätze",
48
- "en": "Customer rates",
49
- "es": "Tarifas aplicables al destinatario",
50
- "it": "Aliquote applicabili al destinatario"
51
- }
52
- },
53
- {
54
- "key": "partial",
55
- "name": {
56
- "de": "Teilweise",
57
- "en": "Partial",
58
- "es": "Parcial",
59
- "it": "Parziale"
60
- }
61
- },
62
- {
63
- "key": "settlement",
64
- "name": {
65
- "en": "Settlement Invoice",
66
- "pl": "Faktura Rozliczeniowa"
67
- }
13
+ "schema": "bill/invoice",
14
+ "list": [
15
+ {
16
+ "key": "simplified",
17
+ "name": {
18
+ "de": "Vereinfachte Rechnung",
19
+ "en": "Simplified Invoice",
20
+ "es": "Factura Simplificada",
21
+ "it": "Fattura Semplificata"
22
+ },
23
+ "desc": {
24
+ "de": "Wird für B2C-Transaktionen verwendet, wenn die Kundendaten nicht verfügbar sind. Bitte wenden Sie sich an die örtlichen Behörden, um die Grenzwerte zu ermitteln.",
25
+ "en": "Used for B2C transactions when the client details are not available, check with local authorities for limits.",
26
+ "es": "Usado para transacciones B2C cuando los detalles del cliente no están disponibles, consulte con las autoridades locales para los límites.",
27
+ "it": "Utilizzato per le transazioni B2C quando i dettagli del cliente non sono disponibili, controllare con le autorità locali per i limiti."
28
+ }
29
+ },
30
+ {
31
+ "key": "reverse-charge",
32
+ "name": {
33
+ "de": "Umkehr der Steuerschuld",
34
+ "en": "Reverse Charge",
35
+ "es": "Inversión del Sujeto Pasivo",
36
+ "it": "Inversione del soggetto passivo"
37
+ }
38
+ },
39
+ {
40
+ "key": "self-billed",
41
+ "name": {
42
+ "de": "Rechnung durch den Leistungsempfänger",
43
+ "en": "Self-billed",
44
+ "es": "Facturación por el destinatario",
45
+ "it": "Autofattura"
46
+ }
47
+ },
48
+ {
49
+ "key": "customer-rates",
50
+ "name": {
51
+ "de": "Kundensätze",
52
+ "en": "Customer rates",
53
+ "es": "Tarifas aplicables al destinatario",
54
+ "it": "Aliquote applicabili al destinatario"
55
+ }
56
+ },
57
+ {
58
+ "key": "partial",
59
+ "name": {
60
+ "de": "Teilweise",
61
+ "en": "Partial",
62
+ "es": "Parcial",
63
+ "it": "Parziale"
64
+ }
65
+ },
66
+ {
67
+ "key": "settlement",
68
+ "name": {
69
+ "en": "Settlement Invoice",
70
+ "pl": "Faktura Rozliczeniowa"
71
+ }
72
+ }
73
+ ]
68
74
  }
69
75
  ],
70
76
  "extensions": [
@@ -74,9 +80,9 @@
74
80
  "en": "Special VAT Extensions for KSeF",
75
81
  "pl": "Rozszerzenia specjalne dla KSeF"
76
82
  },
77
- "keys": [
83
+ "values": [
78
84
  {
79
- "key": "taxi",
85
+ "code": "taxi",
80
86
  "name": {
81
87
  "en": "Taxi Rate",
82
88
  "pl": "Ryczałt dla taksówek"
@@ -93,23 +99,23 @@
93
99
  "name": {
94
100
  "en": "Zero VAT Extensions for KSeF"
95
101
  },
96
- "keys": [
102
+ "values": [
97
103
  {
98
- "key": "wdt",
104
+ "code": "wdt",
99
105
  "name": {
100
106
  "en": "WDT",
101
107
  "pl": "WDT"
102
108
  }
103
109
  },
104
110
  {
105
- "key": "domestic",
111
+ "code": "domestic",
106
112
  "name": {
107
113
  "en": "Domestic",
108
114
  "pl": "Krajowy"
109
115
  }
110
116
  },
111
117
  {
112
- "key": "export",
118
+ "code": "export",
113
119
  "name": {
114
120
  "en": "Export",
115
121
  "pl": "Eksport"
@@ -123,7 +129,7 @@
123
129
  "en": "Effective date code.",
124
130
  "pl": "Kod daty wejścia w życie."
125
131
  },
126
- "codes": [
132
+ "values": [
127
133
  {
128
134
  "code": "1",
129
135
  "name": {
@@ -237,100 +243,100 @@
237
243
  "schema": "bill/invoice",
238
244
  "list": [
239
245
  {
240
- "type": [
241
- "standard"
242
- ],
243
246
  "name": {
244
247
  "en": "Regular Invoice",
245
248
  "pl": "Faktura Podstawowa"
246
249
  },
250
+ "type": [
251
+ "standard"
252
+ ],
247
253
  "codes": {
248
254
  "favat-rodzaj-faktury": "VAT"
249
255
  }
250
256
  },
251
257
  {
258
+ "name": {
259
+ "en": "Prepayment Invoice",
260
+ "pl": "Faktura Zaliczkowa"
261
+ },
252
262
  "type": [
253
263
  "standard"
254
264
  ],
255
265
  "tags": [
256
266
  "partial"
257
267
  ],
258
- "name": {
259
- "en": "Prepayment Invoice",
260
- "pl": "Faktura Zaliczkowa"
261
- },
262
268
  "codes": {
263
269
  "favat-rodzaj-faktury": "ZAL"
264
270
  }
265
271
  },
266
272
  {
273
+ "name": {
274
+ "en": "Settlement Invoice",
275
+ "pl": "Faktura Rozliczeniowa"
276
+ },
267
277
  "type": [
268
278
  "standard"
269
279
  ],
270
280
  "tags": [
271
281
  "settlement"
272
282
  ],
273
- "name": {
274
- "en": "Settlement Invoice",
275
- "pl": "Faktura Rozliczeniowa"
276
- },
277
283
  "codes": {
278
284
  "favat-rodzaj-faktury": "ROZ"
279
285
  }
280
286
  },
281
287
  {
288
+ "name": {
289
+ "en": "Simplified Invoice",
290
+ "pl": "Faktura Uproszczona"
291
+ },
282
292
  "type": [
283
293
  "standard"
284
294
  ],
285
295
  "tags": [
286
296
  "simplified"
287
297
  ],
288
- "name": {
289
- "en": "Simplified Invoice",
290
- "pl": "Faktura Uproszczona"
291
- },
292
298
  "codes": {
293
299
  "favat-rodzaj-faktury": "UPR"
294
300
  }
295
301
  },
296
302
  {
297
- "type": [
298
- "credit-note"
299
- ],
300
303
  "name": {
301
304
  "en": "Credit note",
302
305
  "pl": "Faktura korygująca"
303
306
  },
307
+ "type": [
308
+ "credit-note"
309
+ ],
304
310
  "codes": {
305
311
  "favat-rodzaj-faktury": "KOR"
306
312
  }
307
313
  },
308
314
  {
315
+ "name": {
316
+ "en": "Prepayment credit note",
317
+ "pl": "Faktura korygująca fakturę zaliczkową"
318
+ },
309
319
  "type": [
310
320
  "credit-note"
311
321
  ],
312
322
  "tags": [
313
323
  "partial"
314
324
  ],
315
- "name": {
316
- "en": "Prepayment credit note",
317
- "pl": "Faktura korygująca fakturę zaliczkową"
318
- },
319
325
  "codes": {
320
326
  "favat-rodzaj-faktury": "KOR_ZAL"
321
327
  }
322
328
  },
323
329
  {
330
+ "name": {
331
+ "en": "Settlement credit note",
332
+ "pl": "Faktura korygująca fakturę rozliczeniową"
333
+ },
324
334
  "type": [
325
335
  "credit-note"
326
336
  ],
327
337
  "tags": [
328
338
  "settlement"
329
339
  ],
330
- "name": {
331
- "en": "Settlement credit note",
332
- "pl": "Faktura korygująca fakturę rozliczeniową"
333
- },
334
340
  "codes": {
335
341
  "favat-rodzaj-faktury": "KOR_ROZ"
336
342
  }
@@ -426,9 +432,6 @@
426
432
  {
427
433
  "percent": "0.0%"
428
434
  }
429
- ],
430
- "extensions": [
431
- "pl-ksef-vat-zero"
432
435
  ]
433
436
  },
434
437
  {
@@ -444,11 +447,12 @@
444
447
  "name": {
445
448
  "en": "Special Rate",
446
449
  "pl": "Stawka Specjalna"
447
- },
448
- "extensions": [
449
- "pl-ksef-vat-special"
450
- ]
450
+ }
451
451
  }
452
+ ],
453
+ "extensions": [
454
+ "pl-ksef-vat-zero",
455
+ "pl-ksef-vat-special"
452
456
  ]
453
457
  }
454
458
  ]