gobl 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +7 -0
  2. data/data/tax/ES.json +841 -0
  3. data/data/tax/FR.json +47 -0
  4. data/data/tax/GB.json +56 -0
  5. data/data/tax/NL.json +60 -0
  6. data/home/cavalle/workspace/invopop/gobl.ruby/gobl.gemspec +30 -0
  7. data/lib/extensions.rb +12 -0
  8. data/lib/gobl/bill/advances.rb +90 -0
  9. data/lib/gobl/bill/charge.rb +121 -0
  10. data/lib/gobl/bill/delivery.rb +79 -0
  11. data/lib/gobl/bill/discount.rb +121 -0
  12. data/lib/gobl/bill/exchange_rates.rb +90 -0
  13. data/lib/gobl/bill/invoice.rb +209 -0
  14. data/lib/gobl/bill/invoice_type.rb +163 -0
  15. data/lib/gobl/bill/line.rb +121 -0
  16. data/lib/gobl/bill/line_charge.rb +79 -0
  17. data/lib/gobl/bill/line_discount.rb +79 -0
  18. data/lib/gobl/bill/ordering.rb +58 -0
  19. data/lib/gobl/bill/outlay.rb +107 -0
  20. data/lib/gobl/bill/payment.rb +79 -0
  21. data/lib/gobl/bill/preceding.rb +114 -0
  22. data/lib/gobl/bill/scheme_keys.rb +90 -0
  23. data/lib/gobl/bill/tax.rb +72 -0
  24. data/lib/gobl/bill/totals.rb +135 -0
  25. data/lib/gobl/cal/date.rb +106 -0
  26. data/lib/gobl/cal/period.rb +63 -0
  27. data/lib/gobl/config.rb +14 -0
  28. data/lib/gobl/currency/code.rb +322 -0
  29. data/lib/gobl/currency/exchange_rate.rb +65 -0
  30. data/lib/gobl/document.rb +70 -0
  31. data/lib/gobl/dsig/digest.rb +65 -0
  32. data/lib/gobl/dsig/signature.rb +106 -0
  33. data/lib/gobl/envelope.rb +77 -0
  34. data/lib/gobl/header.rb +98 -0
  35. data/lib/gobl/i18n/string.rb +72 -0
  36. data/lib/gobl/id.rb +80 -0
  37. data/lib/gobl/l10n/code.rb +106 -0
  38. data/lib/gobl/l10n/country_code.rb +405 -0
  39. data/lib/gobl/note/message.rb +72 -0
  40. data/lib/gobl/num/amount.rb +248 -0
  41. data/lib/gobl/num/percentage.rb +84 -0
  42. data/lib/gobl/operations/service_error.rb +10 -0
  43. data/lib/gobl/operations/validation_result.rb +46 -0
  44. data/lib/gobl/operations.rb +170 -0
  45. data/lib/gobl/org/address.rb +156 -0
  46. data/lib/gobl/org/code.rb +106 -0
  47. data/lib/gobl/org/coordinates.rb +79 -0
  48. data/lib/gobl/org/email.rb +79 -0
  49. data/lib/gobl/org/inbox.rb +86 -0
  50. data/lib/gobl/org/item.rb +121 -0
  51. data/lib/gobl/org/item_code.rb +65 -0
  52. data/lib/gobl/org/key.rb +106 -0
  53. data/lib/gobl/org/meta.rb +72 -0
  54. data/lib/gobl/org/name.rb +114 -0
  55. data/lib/gobl/org/note.rb +79 -0
  56. data/lib/gobl/org/note_key.rb +181 -0
  57. data/lib/gobl/org/party.rb +135 -0
  58. data/lib/gobl/org/person.rb +100 -0
  59. data/lib/gobl/org/registration.rb +99 -0
  60. data/lib/gobl/org/source_key.rb +161 -0
  61. data/lib/gobl/org/tax_identity.rb +93 -0
  62. data/lib/gobl/org/telephone.rb +72 -0
  63. data/lib/gobl/org/unit.rb +204 -0
  64. data/lib/gobl/pay/advance.rb +107 -0
  65. data/lib/gobl/pay/card.rb +65 -0
  66. data/lib/gobl/pay/credit_transfer.rb +86 -0
  67. data/lib/gobl/pay/direct_debit.rb +72 -0
  68. data/lib/gobl/pay/due_date.rb +86 -0
  69. data/lib/gobl/pay/instructions.rb +114 -0
  70. data/lib/gobl/pay/method_key.rb +163 -0
  71. data/lib/gobl/pay/online.rb +65 -0
  72. data/lib/gobl/pay/term_key.rb +166 -0
  73. data/lib/gobl/pay/terms.rb +79 -0
  74. data/lib/gobl/stamp.rb +63 -0
  75. data/lib/gobl/struct.rb +48 -0
  76. data/lib/gobl/tax/category.rb +83 -0
  77. data/lib/gobl/tax/category_total.rb +87 -0
  78. data/lib/gobl/tax/combo.rb +79 -0
  79. data/lib/gobl/tax/localities.rb +90 -0
  80. data/lib/gobl/tax/locality.rb +72 -0
  81. data/lib/gobl/tax/rate.rb +77 -0
  82. data/lib/gobl/tax/rate_total.rb +82 -0
  83. data/lib/gobl/tax/rate_total_surcharge.rb +63 -0
  84. data/lib/gobl/tax/rate_value.rb +79 -0
  85. data/lib/gobl/tax/region.rb +100 -0
  86. data/lib/gobl/tax/scheme.rb +86 -0
  87. data/lib/gobl/tax/schemes.rb +90 -0
  88. data/lib/gobl/tax/set.rb +90 -0
  89. data/lib/gobl/tax/total.rb +65 -0
  90. data/lib/gobl/types.rb +17 -0
  91. data/lib/gobl/uuid/uuid.rb +106 -0
  92. data/lib/gobl/version.rb +5 -0
  93. data/lib/gobl.rb +41 -0
  94. data/lib/gobl_extensions/document_helper.rb +45 -0
  95. data/lib/gobl_extensions/envelope_helper.rb +15 -0
  96. data/lib/gobl_extensions/i18n/value_keys_helper.rb +27 -0
  97. data/lib/gobl_extensions/tax/region_helper.rb +41 -0
  98. metadata +225 -0
data/data/tax/ES.json ADDED
@@ -0,0 +1,841 @@
1
+ {
2
+ "$schema": "https://gobl.org/draft-0/tax/region",
3
+ "name": {
4
+ "en": "Spain",
5
+ "es": "España"
6
+ },
7
+ "country": "ES",
8
+ "localities": [
9
+ {
10
+ "code": "VI",
11
+ "name": {
12
+ "es": "Ávila"
13
+ },
14
+ "meta": {
15
+ "post": "01"
16
+ }
17
+ },
18
+ {
19
+ "code": "AB",
20
+ "name": {
21
+ "es": "Albacete"
22
+ },
23
+ "meta": {
24
+ "post": "02"
25
+ }
26
+ },
27
+ {
28
+ "code": "A",
29
+ "name": {
30
+ "es": "Alicante"
31
+ },
32
+ "meta": {
33
+ "post": "03"
34
+ }
35
+ },
36
+ {
37
+ "code": "AL",
38
+ "name": {
39
+ "es": "Almería"
40
+ },
41
+ "meta": {
42
+ "post": "04"
43
+ }
44
+ },
45
+ {
46
+ "code": "AV",
47
+ "name": {
48
+ "es": "Ávila"
49
+ },
50
+ "meta": {
51
+ "post": "05"
52
+ }
53
+ },
54
+ {
55
+ "code": "BA",
56
+ "name": {
57
+ "es": "Badajoz"
58
+ },
59
+ "meta": {
60
+ "post": "06"
61
+ }
62
+ },
63
+ {
64
+ "code": "PM",
65
+ "name": {
66
+ "es": "Baleares"
67
+ },
68
+ "meta": {
69
+ "post": "07"
70
+ }
71
+ },
72
+ {
73
+ "code": "IB",
74
+ "name": {
75
+ "es": "Baleares"
76
+ },
77
+ "meta": {
78
+ "post": "07"
79
+ }
80
+ },
81
+ {
82
+ "code": "B",
83
+ "name": {
84
+ "es": "Barcelona"
85
+ },
86
+ "meta": {
87
+ "post": "08"
88
+ }
89
+ },
90
+ {
91
+ "code": "BU",
92
+ "name": {
93
+ "es": "Burgos"
94
+ },
95
+ "meta": {
96
+ "post": "09"
97
+ }
98
+ },
99
+ {
100
+ "code": "CC",
101
+ "name": {
102
+ "es": "Cáceres"
103
+ },
104
+ "meta": {
105
+ "post": "10"
106
+ }
107
+ },
108
+ {
109
+ "code": "CA",
110
+ "name": {
111
+ "es": "Cadiz"
112
+ },
113
+ "meta": {
114
+ "post": "11"
115
+ }
116
+ },
117
+ {
118
+ "code": "CS",
119
+ "name": {
120
+ "es": "Castellón"
121
+ },
122
+ "meta": {
123
+ "post": "12"
124
+ }
125
+ },
126
+ {
127
+ "code": "CR",
128
+ "name": {
129
+ "es": "Ciudad Real"
130
+ },
131
+ "meta": {
132
+ "post": "13"
133
+ }
134
+ },
135
+ {
136
+ "code": "CO",
137
+ "name": {
138
+ "es": "Cordoba"
139
+ },
140
+ "meta": {
141
+ "post": "14"
142
+ }
143
+ },
144
+ {
145
+ "code": "C",
146
+ "name": {
147
+ "es": "La Coruña"
148
+ },
149
+ "meta": {
150
+ "post": "15"
151
+ }
152
+ },
153
+ {
154
+ "code": "CU",
155
+ "name": {
156
+ "es": "Cuenca"
157
+ },
158
+ "meta": {
159
+ "post": "16"
160
+ }
161
+ },
162
+ {
163
+ "code": "GE",
164
+ "name": {
165
+ "es": "Gerona"
166
+ },
167
+ "meta": {
168
+ "post": "17"
169
+ }
170
+ },
171
+ {
172
+ "code": "GI",
173
+ "name": {
174
+ "es": "Girona"
175
+ },
176
+ "meta": {
177
+ "post": "17"
178
+ }
179
+ },
180
+ {
181
+ "code": "GR",
182
+ "name": {
183
+ "es": "Granada"
184
+ },
185
+ "meta": {
186
+ "post": "18"
187
+ }
188
+ },
189
+ {
190
+ "code": "GU",
191
+ "name": {
192
+ "es": "Guadalajara"
193
+ },
194
+ "meta": {
195
+ "post": "19"
196
+ }
197
+ },
198
+ {
199
+ "code": "SS",
200
+ "name": {
201
+ "es": "Guipúzcoa"
202
+ },
203
+ "meta": {
204
+ "post": "20"
205
+ }
206
+ },
207
+ {
208
+ "code": "H",
209
+ "name": {
210
+ "es": "Huelva"
211
+ },
212
+ "meta": {
213
+ "post": "21"
214
+ }
215
+ },
216
+ {
217
+ "code": "HU",
218
+ "name": {
219
+ "es": "Huesca"
220
+ },
221
+ "meta": {
222
+ "post": "22"
223
+ }
224
+ },
225
+ {
226
+ "code": "J",
227
+ "name": {
228
+ "es": "Jaén"
229
+ },
230
+ "meta": {
231
+ "post": "23"
232
+ }
233
+ },
234
+ {
235
+ "code": "LE",
236
+ "name": {
237
+ "es": "León"
238
+ },
239
+ "meta": {
240
+ "post": "24"
241
+ }
242
+ },
243
+ {
244
+ "code": "L",
245
+ "name": {
246
+ "es": "Lérida / Lleida"
247
+ },
248
+ "meta": {
249
+ "post": "25"
250
+ }
251
+ },
252
+ {
253
+ "code": "LO",
254
+ "name": {
255
+ "es": "La Rioja"
256
+ },
257
+ "meta": {
258
+ "post": "26"
259
+ }
260
+ },
261
+ {
262
+ "code": "LU",
263
+ "name": {
264
+ "es": "Lugo"
265
+ },
266
+ "meta": {
267
+ "post": "27"
268
+ }
269
+ },
270
+ {
271
+ "code": "M",
272
+ "name": {
273
+ "es": "Madrid"
274
+ },
275
+ "meta": {
276
+ "post": "28"
277
+ }
278
+ },
279
+ {
280
+ "code": "MA",
281
+ "name": {
282
+ "es": "Málaga"
283
+ },
284
+ "meta": {
285
+ "post": "29"
286
+ }
287
+ },
288
+ {
289
+ "code": "MU",
290
+ "name": {
291
+ "es": "Murcia"
292
+ },
293
+ "meta": {
294
+ "post": "30"
295
+ }
296
+ },
297
+ {
298
+ "code": "NA",
299
+ "name": {
300
+ "es": "Navarra"
301
+ },
302
+ "meta": {
303
+ "post": "31"
304
+ }
305
+ },
306
+ {
307
+ "code": "OR",
308
+ "name": {
309
+ "es": "Orense"
310
+ },
311
+ "meta": {
312
+ "post": "32"
313
+ }
314
+ },
315
+ {
316
+ "code": "OU",
317
+ "name": {
318
+ "es": "Orense"
319
+ },
320
+ "meta": {
321
+ "post": "32"
322
+ }
323
+ },
324
+ {
325
+ "code": "O",
326
+ "name": {
327
+ "es": "Asturias"
328
+ },
329
+ "meta": {
330
+ "post": "33"
331
+ }
332
+ },
333
+ {
334
+ "code": "P",
335
+ "name": {
336
+ "es": "Palencia"
337
+ },
338
+ "meta": {
339
+ "post": "34"
340
+ }
341
+ },
342
+ {
343
+ "code": "GC",
344
+ "name": {
345
+ "es": "Las Palmas"
346
+ },
347
+ "meta": {
348
+ "post": "35"
349
+ }
350
+ },
351
+ {
352
+ "code": "PO",
353
+ "name": {
354
+ "es": "Pontevedra"
355
+ },
356
+ "meta": {
357
+ "post": "36"
358
+ }
359
+ },
360
+ {
361
+ "code": "SA",
362
+ "name": {
363
+ "es": "Salamanca"
364
+ },
365
+ "meta": {
366
+ "post": "37"
367
+ }
368
+ },
369
+ {
370
+ "code": "TF",
371
+ "name": {
372
+ "es": "Santa Cruz de Tenerife"
373
+ },
374
+ "meta": {
375
+ "post": "38"
376
+ }
377
+ },
378
+ {
379
+ "code": "S",
380
+ "name": {
381
+ "es": "Cantabria"
382
+ },
383
+ "meta": {
384
+ "post": "39"
385
+ }
386
+ },
387
+ {
388
+ "code": "SG",
389
+ "name": {
390
+ "es": "Segovia"
391
+ },
392
+ "meta": {
393
+ "post": "40"
394
+ }
395
+ },
396
+ {
397
+ "code": "SE",
398
+ "name": {
399
+ "es": "Sevilla"
400
+ },
401
+ "meta": {
402
+ "post": "41"
403
+ }
404
+ },
405
+ {
406
+ "code": "SO",
407
+ "name": {
408
+ "es": "Soria"
409
+ },
410
+ "meta": {
411
+ "post": "42"
412
+ }
413
+ },
414
+ {
415
+ "code": "T",
416
+ "name": {
417
+ "es": "Tarragona"
418
+ },
419
+ "meta": {
420
+ "post": "43"
421
+ }
422
+ },
423
+ {
424
+ "code": "TE",
425
+ "name": {
426
+ "es": "Teruel"
427
+ },
428
+ "meta": {
429
+ "post": "44"
430
+ }
431
+ },
432
+ {
433
+ "code": "TO",
434
+ "name": {
435
+ "es": "Toledo"
436
+ },
437
+ "meta": {
438
+ "post": "45"
439
+ }
440
+ },
441
+ {
442
+ "code": "V",
443
+ "name": {
444
+ "es": "Valencia"
445
+ },
446
+ "meta": {
447
+ "post": "46"
448
+ }
449
+ },
450
+ {
451
+ "code": "VA",
452
+ "name": {
453
+ "es": "Valladolid"
454
+ },
455
+ "meta": {
456
+ "post": "47"
457
+ }
458
+ },
459
+ {
460
+ "code": "BI",
461
+ "name": {
462
+ "es": "Vizcaya"
463
+ },
464
+ "meta": {
465
+ "post": "48"
466
+ }
467
+ },
468
+ {
469
+ "code": "ZA",
470
+ "name": {
471
+ "es": "Zamora"
472
+ },
473
+ "meta": {
474
+ "post": "49"
475
+ }
476
+ },
477
+ {
478
+ "code": "Z",
479
+ "name": {
480
+ "es": "Zaragoza"
481
+ },
482
+ "meta": {
483
+ "post": "50"
484
+ }
485
+ },
486
+ {
487
+ "code": "CE",
488
+ "name": {
489
+ "es": "Ceuta"
490
+ },
491
+ "meta": {
492
+ "post": "51"
493
+ }
494
+ },
495
+ {
496
+ "code": "ML",
497
+ "name": {
498
+ "es": "Melilla"
499
+ },
500
+ "meta": {
501
+ "post": "52"
502
+ }
503
+ }
504
+ ],
505
+ "currency": "EUR",
506
+ "schemes": [
507
+ {
508
+ "key": "reverse-charge",
509
+ "name": {
510
+ "en": "Reverse Charge",
511
+ "es": "Inversión del sujeto pasivo"
512
+ },
513
+ "categories": [
514
+ "VAT"
515
+ ],
516
+ "note": {
517
+ "key": "legal",
518
+ "src": "reverse-charge",
519
+ "text": "Reverse Charge / Inversión del sujeto pasivo."
520
+ }
521
+ },
522
+ {
523
+ "key": "customer-rates",
524
+ "name": {
525
+ "en": "Customer Country Rates",
526
+ "es": "Tasas del País del Cliente"
527
+ },
528
+ "description": {
529
+ "en": "Use the customers country to determine tax rates."
530
+ }
531
+ },
532
+ {
533
+ "key": "simplified",
534
+ "name": {
535
+ "en": "Simplified tax scheme",
536
+ "es": "Contribuyente en régimen simplificado"
537
+ },
538
+ "note": {
539
+ "key": "legal",
540
+ "src": "simplified",
541
+ "text": "Factura expedida por contibuyente en régimen simplificado."
542
+ }
543
+ },
544
+ {
545
+ "key": "customer-issued",
546
+ "name": {
547
+ "en": "Customer issued invoice",
548
+ "es": "Facturación por el destinatario"
549
+ },
550
+ "note": {
551
+ "key": "legal",
552
+ "src": "customer-issued",
553
+ "text": "Facturación por el destinatario."
554
+ }
555
+ },
556
+ {
557
+ "key": "travel-agency",
558
+ "name": {
559
+ "en": "Special scheme for travel agencies",
560
+ "es": "Régimen especial de las agencias de viajes"
561
+ },
562
+ "note": {
563
+ "key": "legal",
564
+ "src": "travel-agency",
565
+ "text": "Régimen especial de las agencias de viajes."
566
+ }
567
+ },
568
+ {
569
+ "key": "second-hand-goods",
570
+ "name": {
571
+ "en": "Special scheme for second-hand goods",
572
+ "es": "Régimen especial de los bienes usados"
573
+ },
574
+ "note": {
575
+ "key": "legal",
576
+ "src": "second-hand-goods",
577
+ "text": "Régimen especial de los bienes usados."
578
+ }
579
+ },
580
+ {
581
+ "key": "art",
582
+ "name": {
583
+ "en": "Special scheme of works of art",
584
+ "es": "Régimen especial de los objetos de arte"
585
+ },
586
+ "note": {
587
+ "key": "legal",
588
+ "src": "art",
589
+ "text": "Régimen especial de los objetos de arte."
590
+ }
591
+ },
592
+ {
593
+ "key": "antiques",
594
+ "name": {
595
+ "en": "Special scheme of antiques and collectables",
596
+ "es": "Régimen especial de las antigüedades y objetos de colección"
597
+ },
598
+ "note": {
599
+ "key": "legal",
600
+ "src": "antiques",
601
+ "text": "Régimen especial de las antigüedades y objetos de colección."
602
+ }
603
+ },
604
+ {
605
+ "key": "cash-basis",
606
+ "name": {
607
+ "en": "Special scheme on cash basis",
608
+ "es": "Régimen especial del criterio de caja"
609
+ },
610
+ "note": {
611
+ "key": "legal",
612
+ "src": "cash-basis",
613
+ "text": "Régimen especial del criterio de caja."
614
+ }
615
+ }
616
+ ],
617
+ "categories": [
618
+ {
619
+ "code": "VAT",
620
+ "name": {
621
+ "en": "VAT",
622
+ "es": "IVA"
623
+ },
624
+ "desc": {
625
+ "en": "Value Added Tax",
626
+ "es": "Impuesto sobre el Valor Añadido"
627
+ },
628
+ "rates": [
629
+ {
630
+ "key": "zero",
631
+ "name": {
632
+ "en": "Zero Rate",
633
+ "es": "Tipo Zero"
634
+ },
635
+ "values": [
636
+ {
637
+ "percent": "0.0%"
638
+ }
639
+ ]
640
+ },
641
+ {
642
+ "key": "standard",
643
+ "name": {
644
+ "en": "Standard Rate",
645
+ "es": "Tipo General"
646
+ },
647
+ "values": [
648
+ {
649
+ "since": "2012-09-01",
650
+ "percent": "21.0%"
651
+ },
652
+ {
653
+ "since": "2010-07-01",
654
+ "percent": "18.0%"
655
+ },
656
+ {
657
+ "since": "1995-01-01",
658
+ "percent": "16.0%"
659
+ },
660
+ {
661
+ "since": "1993-01-01",
662
+ "percent": "15.0%"
663
+ }
664
+ ]
665
+ },
666
+ {
667
+ "key": "standard+eqs",
668
+ "name": {
669
+ "en": "Standard Rate + Equivalence Surcharge",
670
+ "es": "Tipo General + Recargo de Equivalencia"
671
+ },
672
+ "values": [
673
+ {
674
+ "since": "2012-09-01",
675
+ "percent": "21.0%",
676
+ "surcharge": "5.2%"
677
+ },
678
+ {
679
+ "since": "2010-07-01",
680
+ "percent": "18.0%",
681
+ "surcharge": "4.0%"
682
+ }
683
+ ]
684
+ },
685
+ {
686
+ "key": "reduced",
687
+ "name": {
688
+ "en": "Reduced Rate",
689
+ "es": "Tipo Reducido"
690
+ },
691
+ "values": [
692
+ {
693
+ "since": "2012-09-01",
694
+ "percent": "10.0%"
695
+ },
696
+ {
697
+ "since": "2010-07-01",
698
+ "percent": "8.0%"
699
+ },
700
+ {
701
+ "since": "1995-01-01",
702
+ "percent": "7.0%"
703
+ },
704
+ {
705
+ "since": "1993-01-01",
706
+ "percent": "6.0%"
707
+ }
708
+ ]
709
+ },
710
+ {
711
+ "key": "reduced+eqs",
712
+ "name": {
713
+ "en": "Reduced Rate + Equivalence Surcharge",
714
+ "es": "Tipo Reducido + Recargo de Equivalencia"
715
+ },
716
+ "values": [
717
+ {
718
+ "since": "2012-09-01",
719
+ "percent": "10.0%",
720
+ "surcharge": "1.4%"
721
+ },
722
+ {
723
+ "since": "2010-07-01",
724
+ "percent": "8.0%",
725
+ "surcharge": "1.0%"
726
+ }
727
+ ]
728
+ },
729
+ {
730
+ "key": "super-reduced",
731
+ "name": {
732
+ "en": "Super-Reduced Rate",
733
+ "es": "Tipo Superreducido"
734
+ },
735
+ "values": [
736
+ {
737
+ "since": "1995-01-01",
738
+ "percent": "4.0%"
739
+ },
740
+ {
741
+ "since": "1993-01-01",
742
+ "percent": "3.0%"
743
+ }
744
+ ]
745
+ },
746
+ {
747
+ "key": "super-reduced+eqs",
748
+ "name": {
749
+ "en": "Super-Reduced Rate + Equivalence Surcharge",
750
+ "es": "Tipo Superreducido + Recargo de Equivalencia"
751
+ },
752
+ "values": [
753
+ {
754
+ "since": "1995-01-01",
755
+ "percent": "4.0%",
756
+ "surcharge": "0.5%"
757
+ }
758
+ ]
759
+ }
760
+ ]
761
+ },
762
+ {
763
+ "code": "IRPF",
764
+ "name": {
765
+ "en": "IRPF",
766
+ "es": "IRPF"
767
+ },
768
+ "desc": {
769
+ "en": "Personal income tax.",
770
+ "es": "Impuesto sobre la renta de las personas físicas."
771
+ },
772
+ "retained": true,
773
+ "rates": [
774
+ {
775
+ "key": "pro",
776
+ "name": {
777
+ "en": "Professional Rate",
778
+ "es": "Professionales"
779
+ },
780
+ "values": [
781
+ {
782
+ "since": "2015-07-12",
783
+ "percent": "15.0%"
784
+ },
785
+ {
786
+ "since": "2015-01-01",
787
+ "percent": "19.0%"
788
+ },
789
+ {
790
+ "since": "2012-09-01",
791
+ "percent": "21.0%"
792
+ },
793
+ {
794
+ "since": "2007-01-01",
795
+ "percent": "15.0%"
796
+ }
797
+ ]
798
+ },
799
+ {
800
+ "key": "pro-start",
801
+ "name": {
802
+ "en": "Professional Starting Rate",
803
+ "es": "Professionales Inicio"
804
+ },
805
+ "values": [
806
+ {
807
+ "since": "2007-01-01",
808
+ "percent": "7.0%"
809
+ }
810
+ ]
811
+ },
812
+ {
813
+ "key": "capital",
814
+ "name": {
815
+ "en": "Rental or Interest Capital",
816
+ "es": "Alquileres o Intereses de Capital"
817
+ },
818
+ "values": [
819
+ {
820
+ "since": "2007-01-01",
821
+ "percent": "19.0%"
822
+ }
823
+ ]
824
+ },
825
+ {
826
+ "key": "modules",
827
+ "name": {
828
+ "en": "Modules Rate",
829
+ "es": "Tipo Modulos"
830
+ },
831
+ "values": [
832
+ {
833
+ "since": "2007-01-01",
834
+ "percent": "1.0%"
835
+ }
836
+ ]
837
+ }
838
+ ]
839
+ }
840
+ ]
841
+ }