e-invoice-api 0.10.1 → 0.12.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 (31) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +2 -2
  4. data/lib/e_invoice_api/models/allowance.rb +42 -14
  5. data/lib/e_invoice_api/models/charge.rb +193 -4
  6. data/lib/e_invoice_api/models/document_create.rb +728 -125
  7. data/lib/e_invoice_api/models/document_create_from_pdf_response.rb +127 -61
  8. data/lib/e_invoice_api/models/document_response.rb +377 -83
  9. data/lib/e_invoice_api/models/me_retrieve_response.rb +21 -7
  10. data/lib/e_invoice_api/models/payment_detail_create.rb +15 -4
  11. data/lib/e_invoice_api/resources/documents.rb +43 -39
  12. data/lib/e_invoice_api/resources/validate.rb +43 -39
  13. data/lib/e_invoice_api/version.rb +1 -1
  14. data/rbi/e_invoice_api/models/allowance.rbi +81 -21
  15. data/rbi/e_invoice_api/models/charge.rbi +202 -5
  16. data/rbi/e_invoice_api/models/document_create.rbi +3094 -708
  17. data/rbi/e_invoice_api/models/document_create_from_pdf_response.rbi +142 -34
  18. data/rbi/e_invoice_api/models/document_response.rbi +1238 -62
  19. data/rbi/e_invoice_api/models/me_retrieve_response.rbi +20 -6
  20. data/rbi/e_invoice_api/models/payment_detail_create.rbi +10 -0
  21. data/rbi/e_invoice_api/resources/documents.rbi +54 -12
  22. data/rbi/e_invoice_api/resources/validate.rbi +54 -12
  23. data/sig/e_invoice_api/models/allowance.rbs +59 -8
  24. data/sig/e_invoice_api/models/charge.rbs +369 -4
  25. data/sig/e_invoice_api/models/document_create.rbs +939 -44
  26. data/sig/e_invoice_api/models/document_create_from_pdf_response.rbs +15 -0
  27. data/sig/e_invoice_api/models/document_response.rbs +443 -12
  28. data/sig/e_invoice_api/models/me_retrieve_response.rbs +5 -0
  29. data/sig/e_invoice_api/resources/documents.rbs +2 -0
  30. data/sig/e_invoice_api/resources/validate.rbs +2 -0
  31. metadata +2 -2
@@ -16,8 +16,7 @@ module EInvoiceAPI
16
16
  end
17
17
  attr_accessor :allowances
18
18
 
19
- # The amount due of the invoice. Must be positive and rounded to maximum 2
20
- # decimals
19
+ # The amount due for payment. Must be positive and rounded to maximum 2 decimals
21
20
  sig { returns(T.nilable(String)) }
22
21
  attr_accessor :amount_due
23
22
 
@@ -26,9 +25,11 @@ module EInvoiceAPI
26
25
  end
27
26
  attr_accessor :attachments
28
27
 
28
+ # The billing address (if different from customer address)
29
29
  sig { returns(T.nilable(String)) }
30
30
  attr_accessor :billing_address
31
31
 
32
+ # The recipient name at the billing address
32
33
  sig { returns(T.nilable(String)) }
33
34
  attr_accessor :billing_address_recipient
34
35
 
@@ -37,60 +38,78 @@ module EInvoiceAPI
37
38
  end
38
39
  attr_accessor :charges
39
40
 
40
- # Currency of the invoice
41
+ # Currency of the invoice (ISO 4217 currency code)
41
42
  sig { returns(T.nilable(EInvoiceAPI::CurrencyCode::TaggedSymbol)) }
42
43
  attr_reader :currency
43
44
 
44
45
  sig { params(currency: EInvoiceAPI::CurrencyCode::OrSymbol).void }
45
46
  attr_writer :currency
46
47
 
48
+ # The address of the customer/buyer
47
49
  sig { returns(T.nilable(String)) }
48
50
  attr_accessor :customer_address
49
51
 
52
+ # The recipient name at the customer address
50
53
  sig { returns(T.nilable(String)) }
51
54
  attr_accessor :customer_address_recipient
52
55
 
56
+ # Customer company ID. For Belgium this is the CBE number or their EUID (European
57
+ # Unique Identifier) number. In the Netherlands this is the KVK number.
58
+ sig { returns(T.nilable(String)) }
59
+ attr_accessor :customer_company_id
60
+
61
+ # The email address of the customer
53
62
  sig { returns(T.nilable(String)) }
54
63
  attr_accessor :customer_email
55
64
 
65
+ # The unique identifier for the customer in your system
56
66
  sig { returns(T.nilable(String)) }
57
67
  attr_accessor :customer_id
58
68
 
69
+ # The company name of the customer/buyer
59
70
  sig { returns(T.nilable(String)) }
60
71
  attr_accessor :customer_name
61
72
 
73
+ # Customer tax ID. For Belgium this is the VAT number. Must include the country
74
+ # prefix
62
75
  sig { returns(T.nilable(String)) }
63
76
  attr_accessor :customer_tax_id
64
77
 
78
+ # The direction of the document: INBOUND (purchases) or OUTBOUND (sales)
65
79
  sig { returns(T.nilable(EInvoiceAPI::DocumentDirection::TaggedSymbol)) }
66
80
  attr_reader :direction
67
81
 
68
82
  sig { params(direction: EInvoiceAPI::DocumentDirection::OrSymbol).void }
69
83
  attr_writer :direction
70
84
 
85
+ # The type of document: INVOICE, CREDIT_NOTE, or DEBIT_NOTE
71
86
  sig { returns(T.nilable(EInvoiceAPI::DocumentType::TaggedSymbol)) }
72
87
  attr_reader :document_type
73
88
 
74
89
  sig { params(document_type: EInvoiceAPI::DocumentType::OrSymbol).void }
75
90
  attr_writer :document_type
76
91
 
92
+ # The date when payment is due
77
93
  sig { returns(T.nilable(Date)) }
78
94
  attr_accessor :due_date
79
95
 
96
+ # The date when the invoice was issued
80
97
  sig { returns(T.nilable(Date)) }
81
98
  attr_accessor :invoice_date
82
99
 
100
+ # The unique invoice identifier/number
83
101
  sig { returns(T.nilable(String)) }
84
102
  attr_accessor :invoice_id
85
103
 
86
- # The total amount of the invoice (so invoice_total = subtotal + total_tax +
87
- # total_discount). Must be positive and rounded to maximum 2 decimals
104
+ # The total amount of the invoice including tax (invoice_total = subtotal +
105
+ # total_tax + total_discount). Must be positive and rounded to maximum 2 decimals
88
106
  sig { returns(T.nilable(String)) }
89
107
  attr_accessor :invoice_total
90
108
 
91
109
  sig { returns(T.nilable(T::Array[EInvoiceAPI::DocumentResponse::Item])) }
92
110
  attr_accessor :items
93
111
 
112
+ # Additional notes or comments for the invoice
94
113
  sig { returns(T.nilable(String)) }
95
114
  attr_accessor :note
96
115
 
@@ -101,41 +120,52 @@ module EInvoiceAPI
101
120
  end
102
121
  attr_accessor :payment_details
103
122
 
123
+ # The payment terms (e.g., 'Net 30', 'Due on receipt', '2/10 Net 30')
104
124
  sig { returns(T.nilable(String)) }
105
125
  attr_accessor :payment_term
106
126
 
107
- # The previous unpaid balance of the invoice, if any. Must be positive and rounded
108
- # to maximum 2 decimals
127
+ # The previous unpaid balance from prior invoices, if any. Must be positive and
128
+ # rounded to maximum 2 decimals
109
129
  sig { returns(T.nilable(String)) }
110
130
  attr_accessor :previous_unpaid_balance
111
131
 
132
+ # The purchase order reference number
112
133
  sig { returns(T.nilable(String)) }
113
134
  attr_accessor :purchase_order
114
135
 
136
+ # The address where payment should be sent or remitted to
115
137
  sig { returns(T.nilable(String)) }
116
138
  attr_accessor :remittance_address
117
139
 
140
+ # The recipient name at the remittance address
118
141
  sig { returns(T.nilable(String)) }
119
142
  attr_accessor :remittance_address_recipient
120
143
 
144
+ # The address where services were performed or goods were delivered
121
145
  sig { returns(T.nilable(String)) }
122
146
  attr_accessor :service_address
123
147
 
148
+ # The recipient name at the service address
124
149
  sig { returns(T.nilable(String)) }
125
150
  attr_accessor :service_address_recipient
126
151
 
152
+ # The end date of the service period or delivery period
127
153
  sig { returns(T.nilable(Date)) }
128
154
  attr_accessor :service_end_date
129
155
 
156
+ # The start date of the service period or delivery period
130
157
  sig { returns(T.nilable(Date)) }
131
158
  attr_accessor :service_start_date
132
159
 
160
+ # The shipping/delivery address
133
161
  sig { returns(T.nilable(String)) }
134
162
  attr_accessor :shipping_address
135
163
 
164
+ # The recipient name at the shipping address
136
165
  sig { returns(T.nilable(String)) }
137
166
  attr_accessor :shipping_address_recipient
138
167
 
168
+ # The current state of the document: DRAFT, TRANSIT, FAILED, SENT, or RECEIVED
139
169
  sig { returns(T.nilable(EInvoiceAPI::DocumentState::TaggedSymbol)) }
140
170
  attr_reader :state
141
171
 
@@ -148,7 +178,8 @@ module EInvoiceAPI
148
178
  sig { returns(T.nilable(String)) }
149
179
  attr_accessor :subtotal
150
180
 
151
- # Tax category code of the invoice
181
+ # Tax category code of the invoice (e.g., S for standard rate, Z for zero rate, E
182
+ # for exempt)
152
183
  sig do
153
184
  returns(T.nilable(EInvoiceAPI::DocumentResponse::TaxCode::TaggedSymbol))
154
185
  end
@@ -164,12 +195,14 @@ module EInvoiceAPI
164
195
  end
165
196
  attr_accessor :tax_details
166
197
 
167
- # The total financial discount of the invoice (so discounts not subject to VAT).
168
- # Must be positive and rounded to maximum 2 decimals
198
+ # The net financial discount/charge of the invoice (non-VAT charges minus non-VAT
199
+ # allowances). Can be positive (net charge), negative (net discount), or zero.
200
+ # Must be rounded to maximum 2 decimals
169
201
  sig { returns(T.nilable(String)) }
170
202
  attr_accessor :total_discount
171
203
 
172
- # The total tax of the invoice. Must be positive and rounded to maximum 2 decimals
204
+ # The total tax amount of the invoice. Must be positive and rounded to maximum 2
205
+ # decimals
173
206
  sig { returns(T.nilable(String)) }
174
207
  attr_accessor :total_tax
175
208
 
@@ -181,22 +214,33 @@ module EInvoiceAPI
181
214
  end
182
215
  attr_accessor :vatex
183
216
 
184
- # VAT exemption note of the invoice
217
+ # Textual explanation for VAT exemption
185
218
  sig { returns(T.nilable(String)) }
186
219
  attr_accessor :vatex_note
187
220
 
221
+ # The address of the vendor/seller
188
222
  sig { returns(T.nilable(String)) }
189
223
  attr_accessor :vendor_address
190
224
 
225
+ # The recipient name at the vendor address
191
226
  sig { returns(T.nilable(String)) }
192
227
  attr_accessor :vendor_address_recipient
193
228
 
229
+ # Vendor company ID. For Belgium this is the CBE number or their EUID (European
230
+ # Unique Identifier) number. In the Netherlands this is the KVK number.
231
+ sig { returns(T.nilable(String)) }
232
+ attr_accessor :vendor_company_id
233
+
234
+ # The email address of the vendor
194
235
  sig { returns(T.nilable(String)) }
195
236
  attr_accessor :vendor_email
196
237
 
238
+ # The name of the vendor/seller/supplier
197
239
  sig { returns(T.nilable(String)) }
198
240
  attr_accessor :vendor_name
199
241
 
242
+ # Vendor tax ID. For Belgium this is the VAT number. Must include the country
243
+ # prefix
200
244
  sig { returns(T.nilable(String)) }
201
245
  attr_accessor :vendor_tax_id
202
246
 
@@ -219,6 +263,7 @@ module EInvoiceAPI
219
263
  currency: EInvoiceAPI::CurrencyCode::OrSymbol,
220
264
  customer_address: T.nilable(String),
221
265
  customer_address_recipient: T.nilable(String),
266
+ customer_company_id: T.nilable(String),
222
267
  customer_email: T.nilable(String),
223
268
  customer_id: T.nilable(String),
224
269
  customer_name: T.nilable(String),
@@ -260,6 +305,7 @@ module EInvoiceAPI
260
305
  vatex_note: T.nilable(String),
261
306
  vendor_address: T.nilable(String),
262
307
  vendor_address_recipient: T.nilable(String),
308
+ vendor_company_id: T.nilable(String),
263
309
  vendor_email: T.nilable(String),
264
310
  vendor_name: T.nilable(String),
265
311
  vendor_tax_id: T.nilable(String)
@@ -268,68 +314,108 @@ module EInvoiceAPI
268
314
  def self.new(
269
315
  id:,
270
316
  allowances: nil,
271
- # The amount due of the invoice. Must be positive and rounded to maximum 2
272
- # decimals
317
+ # The amount due for payment. Must be positive and rounded to maximum 2 decimals
273
318
  amount_due: nil,
274
319
  attachments: nil,
320
+ # The billing address (if different from customer address)
275
321
  billing_address: nil,
322
+ # The recipient name at the billing address
276
323
  billing_address_recipient: nil,
277
324
  charges: nil,
278
- # Currency of the invoice
325
+ # Currency of the invoice (ISO 4217 currency code)
279
326
  currency: nil,
327
+ # The address of the customer/buyer
280
328
  customer_address: nil,
329
+ # The recipient name at the customer address
281
330
  customer_address_recipient: nil,
331
+ # Customer company ID. For Belgium this is the CBE number or their EUID (European
332
+ # Unique Identifier) number. In the Netherlands this is the KVK number.
333
+ customer_company_id: nil,
334
+ # The email address of the customer
282
335
  customer_email: nil,
336
+ # The unique identifier for the customer in your system
283
337
  customer_id: nil,
338
+ # The company name of the customer/buyer
284
339
  customer_name: nil,
340
+ # Customer tax ID. For Belgium this is the VAT number. Must include the country
341
+ # prefix
285
342
  customer_tax_id: nil,
343
+ # The direction of the document: INBOUND (purchases) or OUTBOUND (sales)
286
344
  direction: nil,
345
+ # The type of document: INVOICE, CREDIT_NOTE, or DEBIT_NOTE
287
346
  document_type: nil,
347
+ # The date when payment is due
288
348
  due_date: nil,
349
+ # The date when the invoice was issued
289
350
  invoice_date: nil,
351
+ # The unique invoice identifier/number
290
352
  invoice_id: nil,
291
- # The total amount of the invoice (so invoice_total = subtotal + total_tax +
292
- # total_discount). Must be positive and rounded to maximum 2 decimals
353
+ # The total amount of the invoice including tax (invoice_total = subtotal +
354
+ # total_tax + total_discount). Must be positive and rounded to maximum 2 decimals
293
355
  invoice_total: nil,
294
356
  items: nil,
357
+ # Additional notes or comments for the invoice
295
358
  note: nil,
296
359
  payment_details: nil,
360
+ # The payment terms (e.g., 'Net 30', 'Due on receipt', '2/10 Net 30')
297
361
  payment_term: nil,
298
- # The previous unpaid balance of the invoice, if any. Must be positive and rounded
299
- # to maximum 2 decimals
362
+ # The previous unpaid balance from prior invoices, if any. Must be positive and
363
+ # rounded to maximum 2 decimals
300
364
  previous_unpaid_balance: nil,
365
+ # The purchase order reference number
301
366
  purchase_order: nil,
367
+ # The address where payment should be sent or remitted to
302
368
  remittance_address: nil,
369
+ # The recipient name at the remittance address
303
370
  remittance_address_recipient: nil,
371
+ # The address where services were performed or goods were delivered
304
372
  service_address: nil,
373
+ # The recipient name at the service address
305
374
  service_address_recipient: nil,
375
+ # The end date of the service period or delivery period
306
376
  service_end_date: nil,
377
+ # The start date of the service period or delivery period
307
378
  service_start_date: nil,
379
+ # The shipping/delivery address
308
380
  shipping_address: nil,
381
+ # The recipient name at the shipping address
309
382
  shipping_address_recipient: nil,
383
+ # The current state of the document: DRAFT, TRANSIT, FAILED, SENT, or RECEIVED
310
384
  state: nil,
311
385
  # The taxable base of the invoice. Should be the sum of all line items -
312
386
  # allowances (for example commercial discounts) + charges with impact on VAT. Must
313
387
  # be positive and rounded to maximum 2 decimals
314
388
  subtotal: nil,
315
- # Tax category code of the invoice
389
+ # Tax category code of the invoice (e.g., S for standard rate, Z for zero rate, E
390
+ # for exempt)
316
391
  tax_code: nil,
317
392
  tax_details: nil,
318
- # The total financial discount of the invoice (so discounts not subject to VAT).
319
- # Must be positive and rounded to maximum 2 decimals
393
+ # The net financial discount/charge of the invoice (non-VAT charges minus non-VAT
394
+ # allowances). Can be positive (net charge), negative (net discount), or zero.
395
+ # Must be rounded to maximum 2 decimals
320
396
  total_discount: nil,
321
- # The total tax of the invoice. Must be positive and rounded to maximum 2 decimals
397
+ # The total tax amount of the invoice. Must be positive and rounded to maximum 2
398
+ # decimals
322
399
  total_tax: nil,
323
400
  # VATEX code list for VAT exemption reasons
324
401
  #
325
402
  # Agency: CEF Identifier: vatex
326
403
  vatex: nil,
327
- # VAT exemption note of the invoice
404
+ # Textual explanation for VAT exemption
328
405
  vatex_note: nil,
406
+ # The address of the vendor/seller
329
407
  vendor_address: nil,
408
+ # The recipient name at the vendor address
330
409
  vendor_address_recipient: nil,
410
+ # Vendor company ID. For Belgium this is the CBE number or their EUID (European
411
+ # Unique Identifier) number. In the Netherlands this is the KVK number.
412
+ vendor_company_id: nil,
413
+ # The email address of the vendor
331
414
  vendor_email: nil,
415
+ # The name of the vendor/seller/supplier
332
416
  vendor_name: nil,
417
+ # Vendor tax ID. For Belgium this is the VAT number. Must include the country
418
+ # prefix
333
419
  vendor_tax_id: nil
334
420
  )
335
421
  end
@@ -349,6 +435,7 @@ module EInvoiceAPI
349
435
  currency: EInvoiceAPI::CurrencyCode::TaggedSymbol,
350
436
  customer_address: T.nilable(String),
351
437
  customer_address_recipient: T.nilable(String),
438
+ customer_company_id: T.nilable(String),
352
439
  customer_email: T.nilable(String),
353
440
  customer_id: T.nilable(String),
354
441
  customer_name: T.nilable(String),
@@ -386,6 +473,7 @@ module EInvoiceAPI
386
473
  vatex_note: T.nilable(String),
387
474
  vendor_address: T.nilable(String),
388
475
  vendor_address_recipient: T.nilable(String),
476
+ vendor_company_id: T.nilable(String),
389
477
  vendor_email: T.nilable(String),
390
478
  vendor_name: T.nilable(String),
391
479
  vendor_tax_id: T.nilable(String)
@@ -414,7 +502,8 @@ module EInvoiceAPI
414
502
  attr_accessor :base_amount
415
503
 
416
504
  # The percentage that may be used, in conjunction with the allowance base amount,
417
- # to calculate the allowance amount. To state 20%, use value 20
505
+ # to calculate the allowance amount. To state 20%, use value 20. Must be rounded
506
+ # to maximum 2 decimals
418
507
  sig { returns(T.nilable(String)) }
419
508
  attr_accessor :multiplier_factor
420
509
 
@@ -422,13 +511,17 @@ module EInvoiceAPI
422
511
  sig { returns(T.nilable(String)) }
423
512
  attr_accessor :reason
424
513
 
425
- # The code for the allowance reason
426
- sig { returns(T.nilable(String)) }
514
+ # Allowance reason codes for invoice discounts and charges
515
+ sig do
516
+ returns(
517
+ T.nilable(
518
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
519
+ )
520
+ )
521
+ end
427
522
  attr_accessor :reason_code
428
523
 
429
- # Duty or tax or fee category codes (Subset of UNCL5305)
430
- #
431
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
524
+ # The VAT category code that applies to the allowance
432
525
  sig do
433
526
  returns(
434
527
  T.nilable(
@@ -436,9 +529,18 @@ module EInvoiceAPI
436
529
  )
437
530
  )
438
531
  end
439
- attr_accessor :tax_code
532
+ attr_reader :tax_code
440
533
 
441
- # The VAT rate, represented as percentage that applies to the allowance
534
+ sig do
535
+ params(
536
+ tax_code:
537
+ EInvoiceAPI::DocumentResponse::Allowance::TaxCode::OrSymbol
538
+ ).void
539
+ end
540
+ attr_writer :tax_code
541
+
542
+ # The VAT rate, represented as percentage that applies to the allowance. Must be
543
+ # rounded to maximum 2 decimals
442
544
  sig { returns(T.nilable(String)) }
443
545
  attr_accessor :tax_rate
444
546
 
@@ -448,11 +550,12 @@ module EInvoiceAPI
448
550
  base_amount: T.nilable(String),
449
551
  multiplier_factor: T.nilable(String),
450
552
  reason: T.nilable(String),
451
- reason_code: T.nilable(String),
452
- tax_code:
553
+ reason_code:
453
554
  T.nilable(
454
- EInvoiceAPI::DocumentResponse::Allowance::TaxCode::OrSymbol
555
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::OrSymbol
455
556
  ),
557
+ tax_code:
558
+ EInvoiceAPI::DocumentResponse::Allowance::TaxCode::OrSymbol,
456
559
  tax_rate: T.nilable(String)
457
560
  ).returns(T.attached_class)
458
561
  end
@@ -463,17 +566,17 @@ module EInvoiceAPI
463
566
  # to calculate the allowance amount. Must be rounded to maximum 2 decimals
464
567
  base_amount: nil,
465
568
  # The percentage that may be used, in conjunction with the allowance base amount,
466
- # to calculate the allowance amount. To state 20%, use value 20
569
+ # to calculate the allowance amount. To state 20%, use value 20. Must be rounded
570
+ # to maximum 2 decimals
467
571
  multiplier_factor: nil,
468
572
  # The reason for the allowance
469
573
  reason: nil,
470
- # The code for the allowance reason
574
+ # Allowance reason codes for invoice discounts and charges
471
575
  reason_code: nil,
472
- # Duty or tax or fee category codes (Subset of UNCL5305)
473
- #
474
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
576
+ # The VAT category code that applies to the allowance
475
577
  tax_code: nil,
476
- # The VAT rate, represented as percentage that applies to the allowance
578
+ # The VAT rate, represented as percentage that applies to the allowance. Must be
579
+ # rounded to maximum 2 decimals
477
580
  tax_rate: nil
478
581
  )
479
582
  end
@@ -485,11 +588,12 @@ module EInvoiceAPI
485
588
  base_amount: T.nilable(String),
486
589
  multiplier_factor: T.nilable(String),
487
590
  reason: T.nilable(String),
488
- reason_code: T.nilable(String),
489
- tax_code:
591
+ reason_code:
490
592
  T.nilable(
491
- EInvoiceAPI::DocumentResponse::Allowance::TaxCode::TaggedSymbol
593
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
492
594
  ),
595
+ tax_code:
596
+ EInvoiceAPI::DocumentResponse::Allowance::TaxCode::TaggedSymbol,
493
597
  tax_rate: T.nilable(String)
494
598
  }
495
599
  )
@@ -497,9 +601,127 @@ module EInvoiceAPI
497
601
  def to_hash
498
602
  end
499
603
 
500
- # Duty or tax or fee category codes (Subset of UNCL5305)
501
- #
502
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
604
+ # Allowance reason codes for invoice discounts and charges
605
+ module ReasonCode
606
+ extend EInvoiceAPI::Internal::Type::Enum
607
+
608
+ TaggedSymbol =
609
+ T.type_alias do
610
+ T.all(
611
+ Symbol,
612
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode
613
+ )
614
+ end
615
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
616
+
617
+ REASON_CODE_41 =
618
+ T.let(
619
+ :"41",
620
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
621
+ )
622
+ REASON_CODE_42 =
623
+ T.let(
624
+ :"42",
625
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
626
+ )
627
+ REASON_CODE_60 =
628
+ T.let(
629
+ :"60",
630
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
631
+ )
632
+ REASON_CODE_62 =
633
+ T.let(
634
+ :"62",
635
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
636
+ )
637
+ REASON_CODE_63 =
638
+ T.let(
639
+ :"63",
640
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
641
+ )
642
+ REASON_CODE_64 =
643
+ T.let(
644
+ :"64",
645
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
646
+ )
647
+ REASON_CODE_65 =
648
+ T.let(
649
+ :"65",
650
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
651
+ )
652
+ REASON_CODE_66 =
653
+ T.let(
654
+ :"66",
655
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
656
+ )
657
+ REASON_CODE_67 =
658
+ T.let(
659
+ :"67",
660
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
661
+ )
662
+ REASON_CODE_68 =
663
+ T.let(
664
+ :"68",
665
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
666
+ )
667
+ REASON_CODE_70 =
668
+ T.let(
669
+ :"70",
670
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
671
+ )
672
+ REASON_CODE_71 =
673
+ T.let(
674
+ :"71",
675
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
676
+ )
677
+ REASON_CODE_88 =
678
+ T.let(
679
+ :"88",
680
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
681
+ )
682
+ REASON_CODE_95 =
683
+ T.let(
684
+ :"95",
685
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
686
+ )
687
+ REASON_CODE_100 =
688
+ T.let(
689
+ :"100",
690
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
691
+ )
692
+ REASON_CODE_102 =
693
+ T.let(
694
+ :"102",
695
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
696
+ )
697
+ REASON_CODE_103 =
698
+ T.let(
699
+ :"103",
700
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
701
+ )
702
+ REASON_CODE_104 =
703
+ T.let(
704
+ :"104",
705
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
706
+ )
707
+ REASON_CODE_105 =
708
+ T.let(
709
+ :"105",
710
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
711
+ )
712
+
713
+ sig do
714
+ override.returns(
715
+ T::Array[
716
+ EInvoiceAPI::DocumentResponse::Allowance::ReasonCode::TaggedSymbol
717
+ ]
718
+ )
719
+ end
720
+ def self.values
721
+ end
722
+ end
723
+
724
+ # The VAT category code that applies to the allowance
503
725
  module TaxCode
504
726
  extend EInvoiceAPI::Internal::Type::Enum
505
727
 
@@ -599,8 +821,14 @@ module EInvoiceAPI
599
821
  sig { returns(T.nilable(String)) }
600
822
  attr_accessor :reason
601
823
 
602
- # The code for the charge reason
603
- sig { returns(T.nilable(String)) }
824
+ # Charge reason codes for invoice charges and fees
825
+ sig do
826
+ returns(
827
+ T.nilable(
828
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
829
+ )
830
+ )
831
+ end
604
832
  attr_accessor :reason_code
605
833
 
606
834
  # Duty or tax or fee category codes (Subset of UNCL5305)
@@ -625,7 +853,10 @@ module EInvoiceAPI
625
853
  base_amount: T.nilable(String),
626
854
  multiplier_factor: T.nilable(String),
627
855
  reason: T.nilable(String),
628
- reason_code: T.nilable(String),
856
+ reason_code:
857
+ T.nilable(
858
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::OrSymbol
859
+ ),
629
860
  tax_code:
630
861
  T.nilable(
631
862
  EInvoiceAPI::DocumentResponse::Charge::TaxCode::OrSymbol
@@ -644,7 +875,7 @@ module EInvoiceAPI
644
875
  multiplier_factor: nil,
645
876
  # The reason for the charge
646
877
  reason: nil,
647
- # The code for the charge reason
878
+ # Charge reason codes for invoice charges and fees
648
879
  reason_code: nil,
649
880
  # Duty or tax or fee category codes (Subset of UNCL5305)
650
881
  #
@@ -662,7 +893,10 @@ module EInvoiceAPI
662
893
  base_amount: T.nilable(String),
663
894
  multiplier_factor: T.nilable(String),
664
895
  reason: T.nilable(String),
665
- reason_code: T.nilable(String),
896
+ reason_code:
897
+ T.nilable(
898
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
899
+ ),
666
900
  tax_code:
667
901
  T.nilable(
668
902
  EInvoiceAPI::DocumentResponse::Charge::TaxCode::TaggedSymbol
@@ -674,6 +908,918 @@ module EInvoiceAPI
674
908
  def to_hash
675
909
  end
676
910
 
911
+ # Charge reason codes for invoice charges and fees
912
+ module ReasonCode
913
+ extend EInvoiceAPI::Internal::Type::Enum
914
+
915
+ TaggedSymbol =
916
+ T.type_alias do
917
+ T.all(Symbol, EInvoiceAPI::DocumentResponse::Charge::ReasonCode)
918
+ end
919
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
920
+
921
+ AA =
922
+ T.let(
923
+ :AA,
924
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
925
+ )
926
+ AAA =
927
+ T.let(
928
+ :AAA,
929
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
930
+ )
931
+ AAC =
932
+ T.let(
933
+ :AAC,
934
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
935
+ )
936
+ AAD =
937
+ T.let(
938
+ :AAD,
939
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
940
+ )
941
+ AAE =
942
+ T.let(
943
+ :AAE,
944
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
945
+ )
946
+ AAF =
947
+ T.let(
948
+ :AAF,
949
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
950
+ )
951
+ AAH =
952
+ T.let(
953
+ :AAH,
954
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
955
+ )
956
+ AAI =
957
+ T.let(
958
+ :AAI,
959
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
960
+ )
961
+ AAS =
962
+ T.let(
963
+ :AAS,
964
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
965
+ )
966
+ AAT =
967
+ T.let(
968
+ :AAT,
969
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
970
+ )
971
+ AAV =
972
+ T.let(
973
+ :AAV,
974
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
975
+ )
976
+ AAY =
977
+ T.let(
978
+ :AAY,
979
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
980
+ )
981
+ AAZ =
982
+ T.let(
983
+ :AAZ,
984
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
985
+ )
986
+ ABA =
987
+ T.let(
988
+ :ABA,
989
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
990
+ )
991
+ ABB =
992
+ T.let(
993
+ :ABB,
994
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
995
+ )
996
+ ABC =
997
+ T.let(
998
+ :ABC,
999
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1000
+ )
1001
+ ABD =
1002
+ T.let(
1003
+ :ABD,
1004
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1005
+ )
1006
+ ABF =
1007
+ T.let(
1008
+ :ABF,
1009
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1010
+ )
1011
+ ABK =
1012
+ T.let(
1013
+ :ABK,
1014
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1015
+ )
1016
+ ABL =
1017
+ T.let(
1018
+ :ABL,
1019
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1020
+ )
1021
+ ABN =
1022
+ T.let(
1023
+ :ABN,
1024
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1025
+ )
1026
+ ABR =
1027
+ T.let(
1028
+ :ABR,
1029
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1030
+ )
1031
+ ABS =
1032
+ T.let(
1033
+ :ABS,
1034
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1035
+ )
1036
+ ABT =
1037
+ T.let(
1038
+ :ABT,
1039
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1040
+ )
1041
+ ABU =
1042
+ T.let(
1043
+ :ABU,
1044
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1045
+ )
1046
+ ACF =
1047
+ T.let(
1048
+ :ACF,
1049
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1050
+ )
1051
+ ACG =
1052
+ T.let(
1053
+ :ACG,
1054
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1055
+ )
1056
+ ACH =
1057
+ T.let(
1058
+ :ACH,
1059
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1060
+ )
1061
+ ACI =
1062
+ T.let(
1063
+ :ACI,
1064
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1065
+ )
1066
+ ACJ =
1067
+ T.let(
1068
+ :ACJ,
1069
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1070
+ )
1071
+ ACK =
1072
+ T.let(
1073
+ :ACK,
1074
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1075
+ )
1076
+ ACL =
1077
+ T.let(
1078
+ :ACL,
1079
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1080
+ )
1081
+ ACM =
1082
+ T.let(
1083
+ :ACM,
1084
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1085
+ )
1086
+ ACS =
1087
+ T.let(
1088
+ :ACS,
1089
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1090
+ )
1091
+ ADC =
1092
+ T.let(
1093
+ :ADC,
1094
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1095
+ )
1096
+ ADE =
1097
+ T.let(
1098
+ :ADE,
1099
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1100
+ )
1101
+ ADJ =
1102
+ T.let(
1103
+ :ADJ,
1104
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1105
+ )
1106
+ ADK =
1107
+ T.let(
1108
+ :ADK,
1109
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1110
+ )
1111
+ ADL =
1112
+ T.let(
1113
+ :ADL,
1114
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1115
+ )
1116
+ ADM =
1117
+ T.let(
1118
+ :ADM,
1119
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1120
+ )
1121
+ ADN =
1122
+ T.let(
1123
+ :ADN,
1124
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1125
+ )
1126
+ ADO =
1127
+ T.let(
1128
+ :ADO,
1129
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1130
+ )
1131
+ ADP =
1132
+ T.let(
1133
+ :ADP,
1134
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1135
+ )
1136
+ ADQ =
1137
+ T.let(
1138
+ :ADQ,
1139
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1140
+ )
1141
+ ADR =
1142
+ T.let(
1143
+ :ADR,
1144
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1145
+ )
1146
+ ADT =
1147
+ T.let(
1148
+ :ADT,
1149
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1150
+ )
1151
+ ADW =
1152
+ T.let(
1153
+ :ADW,
1154
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1155
+ )
1156
+ ADY =
1157
+ T.let(
1158
+ :ADY,
1159
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1160
+ )
1161
+ ADZ =
1162
+ T.let(
1163
+ :ADZ,
1164
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1165
+ )
1166
+ AEA =
1167
+ T.let(
1168
+ :AEA,
1169
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1170
+ )
1171
+ AEB =
1172
+ T.let(
1173
+ :AEB,
1174
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1175
+ )
1176
+ AEC =
1177
+ T.let(
1178
+ :AEC,
1179
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1180
+ )
1181
+ AED =
1182
+ T.let(
1183
+ :AED,
1184
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1185
+ )
1186
+ AEF =
1187
+ T.let(
1188
+ :AEF,
1189
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1190
+ )
1191
+ AEH =
1192
+ T.let(
1193
+ :AEH,
1194
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1195
+ )
1196
+ AEI =
1197
+ T.let(
1198
+ :AEI,
1199
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1200
+ )
1201
+ AEJ =
1202
+ T.let(
1203
+ :AEJ,
1204
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1205
+ )
1206
+ AEK =
1207
+ T.let(
1208
+ :AEK,
1209
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1210
+ )
1211
+ AEL =
1212
+ T.let(
1213
+ :AEL,
1214
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1215
+ )
1216
+ AEM =
1217
+ T.let(
1218
+ :AEM,
1219
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1220
+ )
1221
+ AEN =
1222
+ T.let(
1223
+ :AEN,
1224
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1225
+ )
1226
+ AEO =
1227
+ T.let(
1228
+ :AEO,
1229
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1230
+ )
1231
+ AEP =
1232
+ T.let(
1233
+ :AEP,
1234
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1235
+ )
1236
+ AES =
1237
+ T.let(
1238
+ :AES,
1239
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1240
+ )
1241
+ AET =
1242
+ T.let(
1243
+ :AET,
1244
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1245
+ )
1246
+ AEU =
1247
+ T.let(
1248
+ :AEU,
1249
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1250
+ )
1251
+ AEV =
1252
+ T.let(
1253
+ :AEV,
1254
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1255
+ )
1256
+ AEW =
1257
+ T.let(
1258
+ :AEW,
1259
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1260
+ )
1261
+ AEX =
1262
+ T.let(
1263
+ :AEX,
1264
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1265
+ )
1266
+ AEY =
1267
+ T.let(
1268
+ :AEY,
1269
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1270
+ )
1271
+ AEZ =
1272
+ T.let(
1273
+ :AEZ,
1274
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1275
+ )
1276
+ AJ =
1277
+ T.let(
1278
+ :AJ,
1279
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1280
+ )
1281
+ AU =
1282
+ T.let(
1283
+ :AU,
1284
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1285
+ )
1286
+ CA =
1287
+ T.let(
1288
+ :CA,
1289
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1290
+ )
1291
+ CAB =
1292
+ T.let(
1293
+ :CAB,
1294
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1295
+ )
1296
+ CAD =
1297
+ T.let(
1298
+ :CAD,
1299
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1300
+ )
1301
+ CAE =
1302
+ T.let(
1303
+ :CAE,
1304
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1305
+ )
1306
+ CAF =
1307
+ T.let(
1308
+ :CAF,
1309
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1310
+ )
1311
+ CAI =
1312
+ T.let(
1313
+ :CAI,
1314
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1315
+ )
1316
+ CAJ =
1317
+ T.let(
1318
+ :CAJ,
1319
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1320
+ )
1321
+ CAK =
1322
+ T.let(
1323
+ :CAK,
1324
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1325
+ )
1326
+ CAL =
1327
+ T.let(
1328
+ :CAL,
1329
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1330
+ )
1331
+ CAM =
1332
+ T.let(
1333
+ :CAM,
1334
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1335
+ )
1336
+ CAN =
1337
+ T.let(
1338
+ :CAN,
1339
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1340
+ )
1341
+ CAO =
1342
+ T.let(
1343
+ :CAO,
1344
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1345
+ )
1346
+ CAP =
1347
+ T.let(
1348
+ :CAP,
1349
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1350
+ )
1351
+ CAQ =
1352
+ T.let(
1353
+ :CAQ,
1354
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1355
+ )
1356
+ CAR =
1357
+ T.let(
1358
+ :CAR,
1359
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1360
+ )
1361
+ CAS =
1362
+ T.let(
1363
+ :CAS,
1364
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1365
+ )
1366
+ CAT =
1367
+ T.let(
1368
+ :CAT,
1369
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1370
+ )
1371
+ CAU =
1372
+ T.let(
1373
+ :CAU,
1374
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1375
+ )
1376
+ CAV =
1377
+ T.let(
1378
+ :CAV,
1379
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1380
+ )
1381
+ CAW =
1382
+ T.let(
1383
+ :CAW,
1384
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1385
+ )
1386
+ CAX =
1387
+ T.let(
1388
+ :CAX,
1389
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1390
+ )
1391
+ CAY =
1392
+ T.let(
1393
+ :CAY,
1394
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1395
+ )
1396
+ CAZ =
1397
+ T.let(
1398
+ :CAZ,
1399
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1400
+ )
1401
+ CD =
1402
+ T.let(
1403
+ :CD,
1404
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1405
+ )
1406
+ CG =
1407
+ T.let(
1408
+ :CG,
1409
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1410
+ )
1411
+ CS =
1412
+ T.let(
1413
+ :CS,
1414
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1415
+ )
1416
+ CT =
1417
+ T.let(
1418
+ :CT,
1419
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1420
+ )
1421
+ DAB =
1422
+ T.let(
1423
+ :DAB,
1424
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1425
+ )
1426
+ DAC =
1427
+ T.let(
1428
+ :DAC,
1429
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1430
+ )
1431
+ DAD =
1432
+ T.let(
1433
+ :DAD,
1434
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1435
+ )
1436
+ DAF =
1437
+ T.let(
1438
+ :DAF,
1439
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1440
+ )
1441
+ DAG =
1442
+ T.let(
1443
+ :DAG,
1444
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1445
+ )
1446
+ DAH =
1447
+ T.let(
1448
+ :DAH,
1449
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1450
+ )
1451
+ DAI =
1452
+ T.let(
1453
+ :DAI,
1454
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1455
+ )
1456
+ DAJ =
1457
+ T.let(
1458
+ :DAJ,
1459
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1460
+ )
1461
+ DAK =
1462
+ T.let(
1463
+ :DAK,
1464
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1465
+ )
1466
+ DAL =
1467
+ T.let(
1468
+ :DAL,
1469
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1470
+ )
1471
+ DAM =
1472
+ T.let(
1473
+ :DAM,
1474
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1475
+ )
1476
+ DAN =
1477
+ T.let(
1478
+ :DAN,
1479
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1480
+ )
1481
+ DAO =
1482
+ T.let(
1483
+ :DAO,
1484
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1485
+ )
1486
+ DAP =
1487
+ T.let(
1488
+ :DAP,
1489
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1490
+ )
1491
+ DAQ =
1492
+ T.let(
1493
+ :DAQ,
1494
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1495
+ )
1496
+ DL =
1497
+ T.let(
1498
+ :DL,
1499
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1500
+ )
1501
+ EG =
1502
+ T.let(
1503
+ :EG,
1504
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1505
+ )
1506
+ EP =
1507
+ T.let(
1508
+ :EP,
1509
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1510
+ )
1511
+ ER =
1512
+ T.let(
1513
+ :ER,
1514
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1515
+ )
1516
+ FAA =
1517
+ T.let(
1518
+ :FAA,
1519
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1520
+ )
1521
+ FAB =
1522
+ T.let(
1523
+ :FAB,
1524
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1525
+ )
1526
+ FAC =
1527
+ T.let(
1528
+ :FAC,
1529
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1530
+ )
1531
+ FC =
1532
+ T.let(
1533
+ :FC,
1534
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1535
+ )
1536
+ FH =
1537
+ T.let(
1538
+ :FH,
1539
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1540
+ )
1541
+ FI =
1542
+ T.let(
1543
+ :FI,
1544
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1545
+ )
1546
+ GAA =
1547
+ T.let(
1548
+ :GAA,
1549
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1550
+ )
1551
+ HAA =
1552
+ T.let(
1553
+ :HAA,
1554
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1555
+ )
1556
+ HD =
1557
+ T.let(
1558
+ :HD,
1559
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1560
+ )
1561
+ HH =
1562
+ T.let(
1563
+ :HH,
1564
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1565
+ )
1566
+ IAA =
1567
+ T.let(
1568
+ :IAA,
1569
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1570
+ )
1571
+ IAB =
1572
+ T.let(
1573
+ :IAB,
1574
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1575
+ )
1576
+ ID =
1577
+ T.let(
1578
+ :ID,
1579
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1580
+ )
1581
+ IF =
1582
+ T.let(
1583
+ :IF,
1584
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1585
+ )
1586
+ IR =
1587
+ T.let(
1588
+ :IR,
1589
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1590
+ )
1591
+ IS =
1592
+ T.let(
1593
+ :IS,
1594
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1595
+ )
1596
+ KO =
1597
+ T.let(
1598
+ :KO,
1599
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1600
+ )
1601
+ L1 =
1602
+ T.let(
1603
+ :L1,
1604
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1605
+ )
1606
+ LA =
1607
+ T.let(
1608
+ :LA,
1609
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1610
+ )
1611
+ LAA =
1612
+ T.let(
1613
+ :LAA,
1614
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1615
+ )
1616
+ LAB =
1617
+ T.let(
1618
+ :LAB,
1619
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1620
+ )
1621
+ LF =
1622
+ T.let(
1623
+ :LF,
1624
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1625
+ )
1626
+ MAE =
1627
+ T.let(
1628
+ :MAE,
1629
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1630
+ )
1631
+ MI =
1632
+ T.let(
1633
+ :MI,
1634
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1635
+ )
1636
+ ML =
1637
+ T.let(
1638
+ :ML,
1639
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1640
+ )
1641
+ NAA =
1642
+ T.let(
1643
+ :NAA,
1644
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1645
+ )
1646
+ OA =
1647
+ T.let(
1648
+ :OA,
1649
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1650
+ )
1651
+ PA =
1652
+ T.let(
1653
+ :PA,
1654
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1655
+ )
1656
+ PAA =
1657
+ T.let(
1658
+ :PAA,
1659
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1660
+ )
1661
+ PC =
1662
+ T.let(
1663
+ :PC,
1664
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1665
+ )
1666
+ PL =
1667
+ T.let(
1668
+ :PL,
1669
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1670
+ )
1671
+ PRV =
1672
+ T.let(
1673
+ :PRV,
1674
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1675
+ )
1676
+ RAB =
1677
+ T.let(
1678
+ :RAB,
1679
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1680
+ )
1681
+ RAC =
1682
+ T.let(
1683
+ :RAC,
1684
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1685
+ )
1686
+ RAD =
1687
+ T.let(
1688
+ :RAD,
1689
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1690
+ )
1691
+ RAF =
1692
+ T.let(
1693
+ :RAF,
1694
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1695
+ )
1696
+ RE =
1697
+ T.let(
1698
+ :RE,
1699
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1700
+ )
1701
+ RF =
1702
+ T.let(
1703
+ :RF,
1704
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1705
+ )
1706
+ RH =
1707
+ T.let(
1708
+ :RH,
1709
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1710
+ )
1711
+ RV =
1712
+ T.let(
1713
+ :RV,
1714
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1715
+ )
1716
+ SA =
1717
+ T.let(
1718
+ :SA,
1719
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1720
+ )
1721
+ SAA =
1722
+ T.let(
1723
+ :SAA,
1724
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1725
+ )
1726
+ SAD =
1727
+ T.let(
1728
+ :SAD,
1729
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1730
+ )
1731
+ SAE =
1732
+ T.let(
1733
+ :SAE,
1734
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1735
+ )
1736
+ SAI =
1737
+ T.let(
1738
+ :SAI,
1739
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1740
+ )
1741
+ SG =
1742
+ T.let(
1743
+ :SG,
1744
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1745
+ )
1746
+ SH =
1747
+ T.let(
1748
+ :SH,
1749
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1750
+ )
1751
+ SM =
1752
+ T.let(
1753
+ :SM,
1754
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1755
+ )
1756
+ SU =
1757
+ T.let(
1758
+ :SU,
1759
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1760
+ )
1761
+ TAB =
1762
+ T.let(
1763
+ :TAB,
1764
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1765
+ )
1766
+ TAC =
1767
+ T.let(
1768
+ :TAC,
1769
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1770
+ )
1771
+ TT =
1772
+ T.let(
1773
+ :TT,
1774
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1775
+ )
1776
+ TV =
1777
+ T.let(
1778
+ :TV,
1779
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1780
+ )
1781
+ V1 =
1782
+ T.let(
1783
+ :V1,
1784
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1785
+ )
1786
+ V2 =
1787
+ T.let(
1788
+ :V2,
1789
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1790
+ )
1791
+ WH =
1792
+ T.let(
1793
+ :WH,
1794
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1795
+ )
1796
+ XAA =
1797
+ T.let(
1798
+ :XAA,
1799
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1800
+ )
1801
+ YY =
1802
+ T.let(
1803
+ :YY,
1804
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1805
+ )
1806
+ ZZZ =
1807
+ T.let(
1808
+ :ZZZ,
1809
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1810
+ )
1811
+
1812
+ sig do
1813
+ override.returns(
1814
+ T::Array[
1815
+ EInvoiceAPI::DocumentResponse::Charge::ReasonCode::TaggedSymbol
1816
+ ]
1817
+ )
1818
+ end
1819
+ def self.values
1820
+ end
1821
+ end
1822
+
677
1823
  # Duty or tax or fee category codes (Subset of UNCL5305)
678
1824
  #
679
1825
  # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
@@ -762,9 +1908,9 @@ module EInvoiceAPI
762
1908
  sig { returns(T.nilable(T::Array[EInvoiceAPI::Allowance])) }
763
1909
  attr_accessor :allowances
764
1910
 
765
- # The total amount of the line item, exclusive of VAT, after subtracting line
766
- # level allowances and adding line level charges. Must be rounded to maximum 2
767
- # decimals
1911
+ # The invoice line net amount (BT-131), exclusive of VAT, inclusive of line level
1912
+ # allowances and charges. Calculated as: ((unit_price / price_base_quantity) \*
1913
+ # quantity) - allowances + charges. Must be rounded to maximum 2 decimals
768
1914
  sig { returns(T.nilable(String)) }
769
1915
  attr_accessor :amount
770
1916
 
@@ -779,6 +1925,11 @@ module EInvoiceAPI
779
1925
  sig { returns(T.nilable(String)) }
780
1926
  attr_accessor :description
781
1927
 
1928
+ # The item price base quantity (BT-149). The number of item units to which the
1929
+ # price applies. Defaults to 1. Must be rounded to maximum 4 decimals
1930
+ sig { returns(T.nilable(String)) }
1931
+ attr_accessor :price_base_quantity
1932
+
782
1933
  # The product code of the line item.
783
1934
  sig { returns(T.nilable(String)) }
784
1935
  attr_accessor :product_code
@@ -800,7 +1951,8 @@ module EInvoiceAPI
800
1951
  sig { returns(T.nilable(EInvoiceAPI::UnitOfMeasureCode::TaggedSymbol)) }
801
1952
  attr_accessor :unit
802
1953
 
803
- # The unit price of the line item. Must be rounded to maximum 2 decimals
1954
+ # The item net price (BT-146). The price of an item, exclusive of VAT, after
1955
+ # subtracting item price discount. Must be rounded to maximum 4 decimals
804
1956
  sig { returns(T.nilable(String)) }
805
1957
  attr_accessor :unit_price
806
1958
 
@@ -811,6 +1963,7 @@ module EInvoiceAPI
811
1963
  charges: T.nilable(T::Array[EInvoiceAPI::Charge::OrHash]),
812
1964
  date: NilClass,
813
1965
  description: T.nilable(String),
1966
+ price_base_quantity: T.nilable(String),
814
1967
  product_code: T.nilable(String),
815
1968
  quantity: T.nilable(String),
816
1969
  tax: T.nilable(String),
@@ -822,15 +1975,18 @@ module EInvoiceAPI
822
1975
  def self.new(
823
1976
  # The allowances of the line item.
824
1977
  allowances: nil,
825
- # The total amount of the line item, exclusive of VAT, after subtracting line
826
- # level allowances and adding line level charges. Must be rounded to maximum 2
827
- # decimals
1978
+ # The invoice line net amount (BT-131), exclusive of VAT, inclusive of line level
1979
+ # allowances and charges. Calculated as: ((unit_price / price_base_quantity) \*
1980
+ # quantity) - allowances + charges. Must be rounded to maximum 2 decimals
828
1981
  amount: nil,
829
1982
  # The charges of the line item.
830
1983
  charges: nil,
831
1984
  date: nil,
832
1985
  # The description of the line item.
833
1986
  description: nil,
1987
+ # The item price base quantity (BT-149). The number of item units to which the
1988
+ # price applies. Defaults to 1. Must be rounded to maximum 4 decimals
1989
+ price_base_quantity: nil,
834
1990
  # The product code of the line item.
835
1991
  product_code: nil,
836
1992
  # The quantity of items (goods or services) that is the subject of the line item.
@@ -842,7 +1998,8 @@ module EInvoiceAPI
842
1998
  tax_rate: nil,
843
1999
  # Unit of Measure Codes from UNECERec20 used in Peppol BIS Billing 3.0.
844
2000
  unit: nil,
845
- # The unit price of the line item. Must be rounded to maximum 2 decimals
2001
+ # The item net price (BT-146). The price of an item, exclusive of VAT, after
2002
+ # subtracting item price discount. Must be rounded to maximum 4 decimals
846
2003
  unit_price: nil
847
2004
  )
848
2005
  end
@@ -855,6 +2012,7 @@ module EInvoiceAPI
855
2012
  charges: T.nilable(T::Array[EInvoiceAPI::Charge]),
856
2013
  date: NilClass,
857
2014
  description: T.nilable(String),
2015
+ price_base_quantity: T.nilable(String),
858
2016
  product_code: T.nilable(String),
859
2017
  quantity: T.nilable(String),
860
2018
  tax: T.nilable(String),
@@ -877,15 +2035,20 @@ module EInvoiceAPI
877
2035
  )
878
2036
  end
879
2037
 
2038
+ # Bank account number (for non-IBAN accounts)
880
2039
  sig { returns(T.nilable(String)) }
881
2040
  attr_accessor :bank_account_number
882
2041
 
2042
+ # International Bank Account Number for payment transfers
883
2043
  sig { returns(T.nilable(String)) }
884
2044
  attr_accessor :iban
885
2045
 
2046
+ # Structured payment reference or communication (e.g., structured communication
2047
+ # for Belgian bank transfers)
886
2048
  sig { returns(T.nilable(String)) }
887
2049
  attr_accessor :payment_reference
888
2050
 
2051
+ # SWIFT/BIC code of the bank
889
2052
  sig { returns(T.nilable(String)) }
890
2053
  attr_accessor :swift
891
2054
 
@@ -898,9 +2061,14 @@ module EInvoiceAPI
898
2061
  ).returns(T.attached_class)
899
2062
  end
900
2063
  def self.new(
2064
+ # Bank account number (for non-IBAN accounts)
901
2065
  bank_account_number: nil,
2066
+ # International Bank Account Number for payment transfers
902
2067
  iban: nil,
2068
+ # Structured payment reference or communication (e.g., structured communication
2069
+ # for Belgian bank transfers)
903
2070
  payment_reference: nil,
2071
+ # SWIFT/BIC code of the bank
904
2072
  swift: nil
905
2073
  )
906
2074
  end
@@ -919,7 +2087,8 @@ module EInvoiceAPI
919
2087
  end
920
2088
  end
921
2089
 
922
- # Tax category code of the invoice
2090
+ # Tax category code of the invoice (e.g., S for standard rate, Z for zero rate, E
2091
+ # for exempt)
923
2092
  module TaxCode
924
2093
  extend EInvoiceAPI::Internal::Type::Enum
925
2094
 
@@ -956,9 +2125,11 @@ module EInvoiceAPI
956
2125
  )
957
2126
  end
958
2127
 
2128
+ # The tax amount for this tax category. Must be rounded to maximum 2 decimals
959
2129
  sig { returns(T.nilable(String)) }
960
2130
  attr_accessor :amount
961
2131
 
2132
+ # The tax rate as a percentage (e.g., '21.00', '6.00', '0.00')
962
2133
  sig { returns(T.nilable(String)) }
963
2134
  attr_accessor :rate
964
2135
 
@@ -967,7 +2138,12 @@ module EInvoiceAPI
967
2138
  T.attached_class
968
2139
  )
969
2140
  end
970
- def self.new(amount: nil, rate: nil)
2141
+ def self.new(
2142
+ # The tax amount for this tax category. Must be rounded to maximum 2 decimals
2143
+ amount: nil,
2144
+ # The tax rate as a percentage (e.g., '21.00', '6.00', '0.00')
2145
+ rate: nil
2146
+ )
971
2147
  end
972
2148
 
973
2149
  sig do