gobl 0.15.2 → 0.16.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 (87) hide show
  1. checksums.yaml +4 -4
  2. data/data/regimes/co.json +18 -17
  3. data/data/regimes/es.json +95 -96
  4. data/data/regimes/fr.json +1 -0
  5. data/data/regimes/gb.json +1 -0
  6. data/data/regimes/it.json +816 -1944
  7. data/data/regimes/mx.json +576 -0
  8. data/data/regimes/nl.json +1 -0
  9. data/data/regimes/pt.json +206 -317
  10. data/data/regimes/us.json +1 -0
  11. data/lib/generated/gobl/bill/charge.rb +1 -1
  12. data/lib/generated/gobl/bill/correction_options.rb +52 -0
  13. data/lib/generated/gobl/bill/delivery.rb +1 -1
  14. data/lib/generated/gobl/bill/discount.rb +1 -1
  15. data/lib/generated/gobl/bill/document_reference.rb +1 -1
  16. data/lib/generated/gobl/bill/invoice.rb +31 -34
  17. data/lib/generated/gobl/bill/line.rb +1 -1
  18. data/lib/generated/gobl/bill/line_charge.rb +1 -1
  19. data/lib/generated/gobl/bill/line_discount.rb +1 -1
  20. data/lib/generated/gobl/bill/ordering.rb +1 -1
  21. data/lib/generated/gobl/bill/outlay.rb +1 -1
  22. data/lib/generated/gobl/bill/payment.rb +1 -1
  23. data/lib/generated/gobl/bill/preceding.rb +1 -1
  24. data/lib/generated/gobl/bill/tax.rb +1 -1
  25. data/lib/generated/gobl/bill/totals.rb +1 -1
  26. data/lib/generated/gobl/cal/date.rb +1 -1
  27. data/lib/generated/gobl/cal/period.rb +1 -1
  28. data/lib/generated/gobl/cbc/code.rb +1 -1
  29. data/lib/generated/gobl/cbc/code_map.rb +15 -0
  30. data/lib/generated/gobl/cbc/key.rb +1 -1
  31. data/lib/generated/gobl/cbc/meta.rb +1 -1
  32. data/lib/generated/gobl/cbc/note.rb +1 -1
  33. data/lib/generated/gobl/cbc/stamp.rb +1 -1
  34. data/lib/generated/gobl/currency/code.rb +1 -1
  35. data/lib/generated/gobl/currency/exchange_rate.rb +1 -1
  36. data/lib/generated/gobl/document.rb +1 -1
  37. data/lib/generated/gobl/dsig/digest.rb +1 -1
  38. data/lib/generated/gobl/dsig/signature.rb +1 -1
  39. data/lib/generated/gobl/envelope.rb +1 -1
  40. data/lib/generated/gobl/header.rb +1 -1
  41. data/lib/generated/gobl/i18n/string.rb +1 -1
  42. data/lib/generated/gobl/l10n/code.rb +1 -1
  43. data/lib/generated/gobl/l10n/country_code.rb +1 -1
  44. data/lib/generated/gobl/note/message.rb +1 -1
  45. data/lib/generated/gobl/org/address.rb +1 -1
  46. data/lib/generated/gobl/org/coordinates.rb +2 -2
  47. data/lib/generated/gobl/org/email.rb +1 -1
  48. data/lib/generated/gobl/org/identity.rb +7 -2
  49. data/lib/generated/gobl/org/image.rb +1 -1
  50. data/lib/generated/gobl/org/inbox.rb +1 -1
  51. data/lib/generated/gobl/org/item.rb +8 -3
  52. data/lib/generated/gobl/org/name.rb +1 -1
  53. data/lib/generated/gobl/org/party.rb +18 -13
  54. data/lib/generated/gobl/org/person.rb +1 -1
  55. data/lib/generated/gobl/org/registration.rb +1 -1
  56. data/lib/generated/gobl/org/telephone.rb +1 -1
  57. data/lib/generated/gobl/org/unit.rb +4 -1
  58. data/lib/generated/gobl/org/website.rb +2 -2
  59. data/lib/generated/gobl/pay/advance.rb +1 -1
  60. data/lib/generated/gobl/pay/card.rb +1 -1
  61. data/lib/generated/gobl/pay/credit_transfer.rb +1 -1
  62. data/lib/generated/gobl/pay/direct_debit.rb +1 -1
  63. data/lib/generated/gobl/pay/due_date.rb +1 -1
  64. data/lib/generated/gobl/pay/instructions.rb +1 -1
  65. data/lib/generated/gobl/pay/online.rb +1 -1
  66. data/lib/generated/gobl/pay/terms.rb +2 -3
  67. data/lib/generated/gobl/tax/category.rb +10 -5
  68. data/lib/generated/gobl/tax/category_total.rb +1 -1
  69. data/lib/generated/gobl/tax/code_definition.rb +33 -0
  70. data/lib/generated/gobl/tax/combo.rb +6 -1
  71. data/lib/generated/gobl/tax/identity.rb +1 -1
  72. data/lib/generated/gobl/tax/key_definition.rb +8 -8
  73. data/lib/generated/gobl/tax/preceding_definitions.rb +1 -1
  74. data/lib/generated/gobl/tax/rate.rb +10 -5
  75. data/lib/generated/gobl/tax/rate_total.rb +6 -1
  76. data/lib/generated/gobl/tax/rate_total_surcharge.rb +1 -1
  77. data/lib/generated/gobl/tax/rate_value.rb +1 -1
  78. data/lib/generated/gobl/tax/regime.rb +12 -1
  79. data/lib/generated/gobl/tax/scenario.rb +3 -3
  80. data/lib/generated/gobl/tax/scenario_set.rb +1 -1
  81. data/lib/generated/gobl/tax/set.rb +1 -1
  82. data/lib/generated/gobl/tax/total.rb +1 -1
  83. data/lib/generated/gobl/tax/zone.rb +3 -3
  84. data/lib/generated/gobl/uuid/uuid.rb +1 -1
  85. data/lib/gobl/operations.rb +2 -3
  86. data/lib/gobl/version.rb +1 -1
  87. metadata +5 -2
data/data/regimes/mx.json CHANGED
@@ -4,8 +4,584 @@
4
4
  "en": "Mexico",
5
5
  "es": "México"
6
6
  },
7
+ "time_zone": "America/Mexico_City",
7
8
  "country": "MX",
8
9
  "currency": "MXN",
10
+ "extensions": [
11
+ {
12
+ "key": "mx-cfdi-prod-serv",
13
+ "name": {
14
+ "en": "Product or Service Code",
15
+ "es": "Clave de Producto o Servicio"
16
+ },
17
+ "desc": {
18
+ "en": "Code defined in the CFDI catalogue used to identify a product or service.",
19
+ "es": "Código definido en el catálogo del CFDI utilizado para identificar un producto o servicio."
20
+ }
21
+ },
22
+ {
23
+ "key": "mx-cfdi-fiscal-regime",
24
+ "name": {
25
+ "en": "Fiscal Regime Code",
26
+ "es": "Código de Régimen Fiscal"
27
+ },
28
+ "desc": {
29
+ "en": "Fiscal regime associated with suppliers and customers.",
30
+ "es": "Régimen fiscal asociado con el emisor y receptor."
31
+ },
32
+ "codes": [
33
+ {
34
+ "code": "601",
35
+ "name": {
36
+ "es": "General de Ley Personas Morales"
37
+ }
38
+ },
39
+ {
40
+ "code": "603",
41
+ "name": {
42
+ "es": "Personas Morales con Fines no Lucrativos"
43
+ }
44
+ },
45
+ {
46
+ "code": "605",
47
+ "name": {
48
+ "es": "Sueldos y Salarios e Ingresos Asimilados a Salarios"
49
+ }
50
+ },
51
+ {
52
+ "code": "606",
53
+ "name": {
54
+ "es": "Arrendamiento"
55
+ }
56
+ },
57
+ {
58
+ "code": "607",
59
+ "name": {
60
+ "es": "Régimen de Enajenación o Adquisición de Bienes"
61
+ }
62
+ },
63
+ {
64
+ "code": "608",
65
+ "name": {
66
+ "es": "Demás ingresos"
67
+ }
68
+ },
69
+ {
70
+ "code": "610",
71
+ "name": {
72
+ "es": "Residentes en el Extranjero sin Establecimiento Permanente en México"
73
+ }
74
+ },
75
+ {
76
+ "code": "611",
77
+ "name": {
78
+ "es": "Ingresos por Dividendos (socios y accionistas)"
79
+ }
80
+ },
81
+ {
82
+ "code": "612",
83
+ "name": {
84
+ "es": "Personas Físicas con Actividades Empresariales y Profesionales"
85
+ }
86
+ },
87
+ {
88
+ "code": "614",
89
+ "name": {
90
+ "es": "Ingresos por intereses"
91
+ }
92
+ },
93
+ {
94
+ "code": "615",
95
+ "name": {
96
+ "es": "Régimen de los ingresos por obtención de premios"
97
+ }
98
+ },
99
+ {
100
+ "code": "616",
101
+ "name": {
102
+ "es": "Sin obligaciones fiscales"
103
+ }
104
+ },
105
+ {
106
+ "code": "620",
107
+ "name": {
108
+ "es": "Sociedades Cooperativas de Producción que optan por diferir sus ingresos"
109
+ }
110
+ },
111
+ {
112
+ "code": "621",
113
+ "name": {
114
+ "es": "Incorporación Fiscal"
115
+ }
116
+ },
117
+ {
118
+ "code": "622",
119
+ "name": {
120
+ "es": "Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras"
121
+ }
122
+ },
123
+ {
124
+ "code": "623",
125
+ "name": {
126
+ "es": "Opcional para Grupos de Sociedades"
127
+ }
128
+ },
129
+ {
130
+ "code": "624",
131
+ "name": {
132
+ "es": "Coordinados"
133
+ }
134
+ },
135
+ {
136
+ "code": "625",
137
+ "name": {
138
+ "es": "Régimen de las Actividades Empresariales con ingresos a través de Plataformas Tecnológicas"
139
+ }
140
+ },
141
+ {
142
+ "code": "626",
143
+ "name": {
144
+ "es": "Régimen Simplificado de Confianza"
145
+ }
146
+ }
147
+ ]
148
+ },
149
+ {
150
+ "key": "mx-cfdi-use",
151
+ "name": {
152
+ "en": "CFDI Use Code",
153
+ "es": "Código de Uso CFDI"
154
+ },
155
+ "desc": {
156
+ "en": "Chosen by the customer to indicate the purpose of an invoice.",
157
+ "es": "Elegido por el cliente para indicar el propósito de una factura."
158
+ },
159
+ "codes": [
160
+ {
161
+ "code": "G01",
162
+ "name": {
163
+ "en": "Acquisition of goods",
164
+ "es": "Adquisición de mercancías"
165
+ }
166
+ },
167
+ {
168
+ "code": "G02",
169
+ "name": {
170
+ "en": "Returns, discounts or rebates",
171
+ "es": "Devoluciones, descuentos o bonificaciones"
172
+ }
173
+ },
174
+ {
175
+ "code": "G03",
176
+ "name": {
177
+ "en": "General expenses",
178
+ "es": "Gastos en general"
179
+ }
180
+ },
181
+ {
182
+ "code": "I01",
183
+ "name": {
184
+ "en": "Construction",
185
+ "es": "Construcciones"
186
+ }
187
+ },
188
+ {
189
+ "code": "I02",
190
+ "name": {
191
+ "en": "Office furniture and equipment as investmen",
192
+ "es": "Mobiliario y equipo de oficina por inversiones"
193
+ }
194
+ },
195
+ {
196
+ "code": "I03",
197
+ "name": {
198
+ "en": "Transport equipment",
199
+ "es": "Equipo de transporte"
200
+ }
201
+ },
202
+ {
203
+ "code": "I04",
204
+ "name": {
205
+ "en": "Computer equipment and accessories",
206
+ "es": "Equipo de computo y accesorios"
207
+ }
208
+ },
209
+ {
210
+ "code": "I05",
211
+ "name": {
212
+ "en": "Dies, punches, molds, matrices and other toolin",
213
+ "es": "Dados, troqueles, moldes, matrices y herramental"
214
+ }
215
+ },
216
+ {
217
+ "code": "I06",
218
+ "name": {
219
+ "en": "Telephone communications",
220
+ "es": "Comunicaciones telefónicas"
221
+ }
222
+ },
223
+ {
224
+ "code": "I07",
225
+ "name": {
226
+ "en": "Satellite communications",
227
+ "es": "Comunicaciones satelitales"
228
+ }
229
+ },
230
+ {
231
+ "code": "I08",
232
+ "name": {
233
+ "en": "Other machinery and equipment",
234
+ "es": "Otra maquinaria y equipo"
235
+ }
236
+ },
237
+ {
238
+ "code": "D01",
239
+ "name": {
240
+ "en": "Medical and dental fees and hospital expenses",
241
+ "es": "Honorarios médicos, dentales y gastos hospitalarios"
242
+ }
243
+ },
244
+ {
245
+ "code": "D02",
246
+ "name": {
247
+ "en": "Medical expenses for disability or incapacity",
248
+ "es": "Gastos médicos por incapacidad o discapacidad"
249
+ }
250
+ },
251
+ {
252
+ "code": "D03",
253
+ "name": {
254
+ "en": "Funeral expenses",
255
+ "es": "Gastos funerales"
256
+ }
257
+ },
258
+ {
259
+ "code": "D04",
260
+ "name": {
261
+ "en": "Donations",
262
+ "es": "Donativos"
263
+ }
264
+ },
265
+ {
266
+ "code": "D05",
267
+ "name": {
268
+ "en": "Interest actually paid on mortgage loans (housing)",
269
+ "es": "Intereses reales efectivamente pagados por créditos hipotecarios (casa habitación)"
270
+ }
271
+ },
272
+ {
273
+ "code": "D06",
274
+ "name": {
275
+ "en": "Voluntary contributions to the SAR",
276
+ "es": "Aportaciones voluntarias al SAR"
277
+ }
278
+ },
279
+ {
280
+ "code": "D07",
281
+ "name": {
282
+ "en": "Medical insurance premiums",
283
+ "es": "Primas por seguros de gastos médicos"
284
+ }
285
+ },
286
+ {
287
+ "code": "D08",
288
+ "name": {
289
+ "en": "Mandatory school transportation expenses",
290
+ "es": "Gastos de transportación escolar obligatoria"
291
+ }
292
+ },
293
+ {
294
+ "code": "D09",
295
+ "name": {
296
+ "en": "Deposits in savings accounts, pension plans premiums",
297
+ "es": "Depósitos en cuentas para el ahorro, primas que tengan como base planes de pensiones"
298
+ }
299
+ },
300
+ {
301
+ "code": "D10",
302
+ "name": {
303
+ "en": "Payments for educational services (school fees)",
304
+ "es": "Pagos por servicios educativos (colegiaturas)"
305
+ }
306
+ },
307
+ {
308
+ "code": "S01",
309
+ "name": {
310
+ "en": "Without tax effects",
311
+ "es": "Sin efectos fiscales"
312
+ }
313
+ },
314
+ {
315
+ "code": "CP01",
316
+ "name": {
317
+ "en": "Payments",
318
+ "es": "Pagos"
319
+ }
320
+ },
321
+ {
322
+ "code": "CN01",
323
+ "name": {
324
+ "en": "Payroll",
325
+ "es": "Nómina"
326
+ }
327
+ }
328
+ ]
329
+ }
330
+ ],
331
+ "payment_means": [
332
+ {
333
+ "key": "cash",
334
+ "name": {
335
+ "en": "Cash",
336
+ "es": "Efectivo"
337
+ },
338
+ "map": {
339
+ "sat-forma-pago": "01"
340
+ }
341
+ },
342
+ {
343
+ "key": "cheque",
344
+ "name": {
345
+ "en": "Nominative cheque",
346
+ "es": "Cheque nominativo"
347
+ },
348
+ "map": {
349
+ "sat-forma-pago": "02"
350
+ }
351
+ },
352
+ {
353
+ "key": "credit-transfer",
354
+ "name": {
355
+ "en": "Electronic funds transfer",
356
+ "es": "Transferencia electrónica de fondos"
357
+ },
358
+ "map": {
359
+ "sat-forma-pago": "03"
360
+ }
361
+ },
362
+ {
363
+ "key": "card",
364
+ "name": {
365
+ "en": "Credit card",
366
+ "es": "Tarjeta de crédito"
367
+ },
368
+ "map": {
369
+ "sat-forma-pago": "04"
370
+ }
371
+ },
372
+ {
373
+ "key": "online+wallet",
374
+ "name": {
375
+ "en": "Electronic wallet",
376
+ "es": "Monedero electrónico"
377
+ },
378
+ "map": {
379
+ "sat-forma-pago": "05"
380
+ }
381
+ },
382
+ {
383
+ "key": "online",
384
+ "name": {
385
+ "en": "Online or electronic payment",
386
+ "es": "Dinero electrónico"
387
+ },
388
+ "map": {
389
+ "sat-forma-pago": "06"
390
+ }
391
+ },
392
+ {
393
+ "key": "other+grocery-vouchers",
394
+ "name": {
395
+ "en": "Grocery vouchers",
396
+ "es": "Vales de despensa"
397
+ },
398
+ "map": {
399
+ "sat-forma-pago": "08"
400
+ }
401
+ },
402
+ {
403
+ "key": "other+in-kind",
404
+ "name": {
405
+ "en": "Payment in kind",
406
+ "es": "Dación en pago"
407
+ },
408
+ "map": {
409
+ "sat-forma-pago": "12"
410
+ }
411
+ },
412
+ {
413
+ "key": "other+subrogation",
414
+ "name": {
415
+ "en": "Payment by subrogation",
416
+ "es": "Pago por subrogación"
417
+ },
418
+ "map": {
419
+ "sat-forma-pago": "13"
420
+ }
421
+ },
422
+ {
423
+ "key": "other+consignment",
424
+ "name": {
425
+ "en": "Payment by consignment",
426
+ "es": "Pago por consignación"
427
+ },
428
+ "map": {
429
+ "sat-forma-pago": "14"
430
+ }
431
+ },
432
+ {
433
+ "key": "other+debt-relief",
434
+ "name": {
435
+ "en": "Debt relief",
436
+ "es": "Condonación"
437
+ },
438
+ "map": {
439
+ "sat-forma-pago": "15"
440
+ }
441
+ },
442
+ {
443
+ "key": "netting",
444
+ "name": {
445
+ "en": "Netting",
446
+ "es": "Compensación"
447
+ },
448
+ "map": {
449
+ "sat-forma-pago": "17"
450
+ }
451
+ },
452
+ {
453
+ "key": "other+novation",
454
+ "name": {
455
+ "en": "Novation",
456
+ "es": "Novación"
457
+ },
458
+ "map": {
459
+ "sat-forma-pago": "23"
460
+ }
461
+ },
462
+ {
463
+ "key": "other+merger",
464
+ "name": {
465
+ "en": "Merger",
466
+ "es": "Confusión"
467
+ },
468
+ "map": {
469
+ "sat-forma-pago": "24"
470
+ }
471
+ },
472
+ {
473
+ "key": "other+remission",
474
+ "name": {
475
+ "en": "Debt remission",
476
+ "es": "Remisión de deuda"
477
+ },
478
+ "map": {
479
+ "sat-forma-pago": "25"
480
+ }
481
+ },
482
+ {
483
+ "key": "other+expiration",
484
+ "name": {
485
+ "en": "Expiration of payment obligation",
486
+ "es": "Prescripción o caducidad"
487
+ },
488
+ "map": {
489
+ "sat-forma-pago": "26"
490
+ }
491
+ },
492
+ {
493
+ "key": "other+satisfy-creditor",
494
+ "name": {
495
+ "en": "To the creditor's satisfaction",
496
+ "es": "A satisfacción del acreedor"
497
+ },
498
+ "map": {
499
+ "sat-forma-pago": "27"
500
+ }
501
+ },
502
+ {
503
+ "key": "card+debit",
504
+ "name": {
505
+ "en": "Debit card",
506
+ "es": "Tarjeta de débito"
507
+ },
508
+ "map": {
509
+ "sat-forma-pago": "28"
510
+ }
511
+ },
512
+ {
513
+ "key": "card+services",
514
+ "name": {
515
+ "en": "Services card",
516
+ "es": "Tarjeta de servicios"
517
+ },
518
+ "map": {
519
+ "sat-forma-pago": "29"
520
+ }
521
+ },
522
+ {
523
+ "key": "other+advance",
524
+ "name": {
525
+ "en": "Advance payment",
526
+ "es": "Aplicación de anticipos"
527
+ },
528
+ "map": {
529
+ "sat-forma-pago": "30"
530
+ }
531
+ },
532
+ {
533
+ "key": "other+intermediary",
534
+ "name": {
535
+ "en": "Payment via intermediary",
536
+ "es": "Intermediario pagos"
537
+ },
538
+ "map": {
539
+ "sat-forma-pago": "31"
540
+ }
541
+ },
542
+ {
543
+ "key": "other",
544
+ "name": {
545
+ "en": "To be defined",
546
+ "es": "Por definir"
547
+ },
548
+ "map": {
549
+ "sat-forma-pago": "99"
550
+ }
551
+ }
552
+ ],
553
+ "scenarios": [
554
+ {
555
+ "schema": "bill/invoice",
556
+ "list": [
557
+ {
558
+ "type": [
559
+ "standard"
560
+ ],
561
+ "codes": {
562
+ "sat-tipo-de-comprobante": "I"
563
+ }
564
+ },
565
+ {
566
+ "type": [
567
+ "credit-note"
568
+ ],
569
+ "codes": {
570
+ "sat-tipo-de-comprobante": "E",
571
+ "sat-tipo-relacion": "01"
572
+ }
573
+ }
574
+ ]
575
+ }
576
+ ],
577
+ "preceding": {
578
+ "types": [
579
+ "credit-note"
580
+ ],
581
+ "stamps": [
582
+ "sat-uuid"
583
+ ]
584
+ },
9
585
  "categories": [
10
586
  {
11
587
  "code": "VAT",
data/data/regimes/nl.json CHANGED
@@ -4,6 +4,7 @@
4
4
  "en": "The Netherlands",
5
5
  "nl": "Nederland"
6
6
  },
7
+ "time_zone": "Europe/Amsterdam",
7
8
  "country": "NL",
8
9
  "currency": "EUR",
9
10
  "categories": [