e-invoice-api 0.11.0 → 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 +9 -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 +721 -120
  7. data/lib/e_invoice_api/models/document_create_from_pdf_response.rb +123 -58
  8. data/lib/e_invoice_api/models/document_response.rb +373 -80
  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 +42 -38
  12. data/lib/e_invoice_api/resources/validate.rb +42 -38
  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 +3085 -702
  17. data/rbi/e_invoice_api/models/document_create_from_pdf_response.rbi +136 -30
  18. data/rbi/e_invoice_api/models/document_response.rbi +1232 -58
  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 +51 -10
  22. data/rbi/e_invoice_api/resources/validate.rbi +51 -10
  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
@@ -13,8 +13,7 @@ module EInvoiceAPI
13
13
  end
14
14
  attr_accessor :allowances
15
15
 
16
- # The amount due of the invoice. Must be positive and rounded to maximum 2
17
- # decimals
16
+ # The amount due for payment. Must be positive and rounded to maximum 2 decimals
18
17
  sig do
19
18
  returns(T.nilable(EInvoiceAPI::DocumentCreate::AmountDue::Variants))
20
19
  end
@@ -25,63 +24,82 @@ module EInvoiceAPI
25
24
  end
26
25
  attr_accessor :attachments
27
26
 
27
+ # The billing address (if different from customer address)
28
28
  sig { returns(T.nilable(String)) }
29
29
  attr_accessor :billing_address
30
30
 
31
+ # The recipient name at the billing address
31
32
  sig { returns(T.nilable(String)) }
32
33
  attr_accessor :billing_address_recipient
33
34
 
34
35
  sig { returns(T.nilable(T::Array[EInvoiceAPI::DocumentCreate::Charge])) }
35
36
  attr_accessor :charges
36
37
 
37
- # Currency of the invoice
38
+ # Currency of the invoice (ISO 4217 currency code)
38
39
  sig { returns(T.nilable(EInvoiceAPI::CurrencyCode::OrSymbol)) }
39
40
  attr_reader :currency
40
41
 
41
42
  sig { params(currency: EInvoiceAPI::CurrencyCode::OrSymbol).void }
42
43
  attr_writer :currency
43
44
 
45
+ # The address of the customer/buyer
44
46
  sig { returns(T.nilable(String)) }
45
47
  attr_accessor :customer_address
46
48
 
49
+ # The recipient name at the customer address
47
50
  sig { returns(T.nilable(String)) }
48
51
  attr_accessor :customer_address_recipient
49
52
 
53
+ # Customer company ID. For Belgium this is the CBE number or their EUID (European
54
+ # Unique Identifier) number. In the Netherlands this is the KVK number.
55
+ sig { returns(T.nilable(String)) }
56
+ attr_accessor :customer_company_id
57
+
58
+ # The email address of the customer
50
59
  sig { returns(T.nilable(String)) }
51
60
  attr_accessor :customer_email
52
61
 
62
+ # The unique identifier for the customer in your system
53
63
  sig { returns(T.nilable(String)) }
54
64
  attr_accessor :customer_id
55
65
 
66
+ # The company name of the customer/buyer
56
67
  sig { returns(T.nilable(String)) }
57
68
  attr_accessor :customer_name
58
69
 
70
+ # Customer tax ID. For Belgium this is the VAT number. Must include the country
71
+ # prefix
59
72
  sig { returns(T.nilable(String)) }
60
73
  attr_accessor :customer_tax_id
61
74
 
75
+ # The direction of the document: INBOUND (purchases) or OUTBOUND (sales)
62
76
  sig { returns(T.nilable(EInvoiceAPI::DocumentDirection::OrSymbol)) }
63
77
  attr_reader :direction
64
78
 
65
79
  sig { params(direction: EInvoiceAPI::DocumentDirection::OrSymbol).void }
66
80
  attr_writer :direction
67
81
 
82
+ # The type of document: INVOICE, CREDIT_NOTE, or DEBIT_NOTE
68
83
  sig { returns(T.nilable(EInvoiceAPI::DocumentType::OrSymbol)) }
69
84
  attr_reader :document_type
70
85
 
71
86
  sig { params(document_type: EInvoiceAPI::DocumentType::OrSymbol).void }
72
87
  attr_writer :document_type
73
88
 
89
+ # The date when payment is due
74
90
  sig { returns(T.nilable(Date)) }
75
91
  attr_accessor :due_date
76
92
 
93
+ # The date when the invoice was issued
77
94
  sig { returns(T.nilable(Date)) }
78
95
  attr_accessor :invoice_date
79
96
 
97
+ # The unique invoice identifier/number
80
98
  sig { returns(T.nilable(String)) }
81
99
  attr_accessor :invoice_id
82
100
 
83
- # The total amount of the invoice (so invoice_total = subtotal + total_tax +
84
- # total_discount). Must be positive and rounded to maximum 2 decimals
101
+ # The total amount of the invoice including tax (invoice_total = subtotal +
102
+ # total_tax + total_discount). Must be positive and rounded to maximum 2 decimals
85
103
  sig do
86
104
  returns(T.nilable(EInvoiceAPI::DocumentCreate::InvoiceTotal::Variants))
87
105
  end
@@ -96,17 +114,19 @@ module EInvoiceAPI
96
114
  end
97
115
  attr_writer :items
98
116
 
117
+ # Additional notes or comments for the invoice
99
118
  sig { returns(T.nilable(String)) }
100
119
  attr_accessor :note
101
120
 
102
121
  sig { returns(T.nilable(T::Array[EInvoiceAPI::PaymentDetailCreate])) }
103
122
  attr_accessor :payment_details
104
123
 
124
+ # The payment terms (e.g., 'Net 30', 'Due on receipt', '2/10 Net 30')
105
125
  sig { returns(T.nilable(String)) }
106
126
  attr_accessor :payment_term
107
127
 
108
- # The previous unpaid balance of the invoice, if any. Must be positive and rounded
109
- # to maximum 2 decimals
128
+ # The previous unpaid balance from prior invoices, if any. Must be positive and
129
+ # rounded to maximum 2 decimals
110
130
  sig do
111
131
  returns(
112
132
  T.nilable(
@@ -116,33 +136,43 @@ module EInvoiceAPI
116
136
  end
117
137
  attr_accessor :previous_unpaid_balance
118
138
 
139
+ # The purchase order reference number
119
140
  sig { returns(T.nilable(String)) }
120
141
  attr_accessor :purchase_order
121
142
 
143
+ # The address where payment should be sent or remitted to
122
144
  sig { returns(T.nilable(String)) }
123
145
  attr_accessor :remittance_address
124
146
 
147
+ # The recipient name at the remittance address
125
148
  sig { returns(T.nilable(String)) }
126
149
  attr_accessor :remittance_address_recipient
127
150
 
151
+ # The address where services were performed or goods were delivered
128
152
  sig { returns(T.nilable(String)) }
129
153
  attr_accessor :service_address
130
154
 
155
+ # The recipient name at the service address
131
156
  sig { returns(T.nilable(String)) }
132
157
  attr_accessor :service_address_recipient
133
158
 
159
+ # The end date of the service period or delivery period
134
160
  sig { returns(T.nilable(Date)) }
135
161
  attr_accessor :service_end_date
136
162
 
163
+ # The start date of the service period or delivery period
137
164
  sig { returns(T.nilable(Date)) }
138
165
  attr_accessor :service_start_date
139
166
 
167
+ # The shipping/delivery address
140
168
  sig { returns(T.nilable(String)) }
141
169
  attr_accessor :shipping_address
142
170
 
171
+ # The recipient name at the shipping address
143
172
  sig { returns(T.nilable(String)) }
144
173
  attr_accessor :shipping_address_recipient
145
174
 
175
+ # The current state of the document: DRAFT, TRANSIT, FAILED, SENT, or RECEIVED
146
176
  sig { returns(T.nilable(EInvoiceAPI::DocumentState::OrSymbol)) }
147
177
  attr_reader :state
148
178
 
@@ -157,7 +187,8 @@ module EInvoiceAPI
157
187
  end
158
188
  attr_accessor :subtotal
159
189
 
160
- # Tax category code of the invoice
190
+ # Tax category code of the invoice (e.g., S for standard rate, Z for zero rate, E
191
+ # for exempt)
161
192
  sig { returns(T.nilable(EInvoiceAPI::DocumentCreate::TaxCode::OrSymbol)) }
162
193
  attr_reader :tax_code
163
194
 
@@ -179,7 +210,8 @@ module EInvoiceAPI
179
210
  end
180
211
  attr_accessor :total_discount
181
212
 
182
- # The total tax of the invoice. Must be positive and rounded to maximum 2 decimals
213
+ # The total tax amount of the invoice. Must be positive and rounded to maximum 2
214
+ # decimals
183
215
  sig do
184
216
  returns(T.nilable(EInvoiceAPI::DocumentCreate::TotalTax::Variants))
185
217
  end
@@ -191,22 +223,33 @@ module EInvoiceAPI
191
223
  sig { returns(T.nilable(EInvoiceAPI::DocumentCreate::Vatex::OrSymbol)) }
192
224
  attr_accessor :vatex
193
225
 
194
- # VAT exemption note of the invoice
226
+ # Textual explanation for VAT exemption
195
227
  sig { returns(T.nilable(String)) }
196
228
  attr_accessor :vatex_note
197
229
 
230
+ # The address of the vendor/seller
198
231
  sig { returns(T.nilable(String)) }
199
232
  attr_accessor :vendor_address
200
233
 
234
+ # The recipient name at the vendor address
201
235
  sig { returns(T.nilable(String)) }
202
236
  attr_accessor :vendor_address_recipient
203
237
 
238
+ # Vendor company ID. For Belgium this is the CBE number or their EUID (European
239
+ # Unique Identifier) number. In the Netherlands this is the KVK number.
240
+ sig { returns(T.nilable(String)) }
241
+ attr_accessor :vendor_company_id
242
+
243
+ # The email address of the vendor
204
244
  sig { returns(T.nilable(String)) }
205
245
  attr_accessor :vendor_email
206
246
 
247
+ # The name of the vendor/seller/supplier
207
248
  sig { returns(T.nilable(String)) }
208
249
  attr_accessor :vendor_name
209
250
 
251
+ # Vendor tax ID. For Belgium this is the VAT number. Must include the country
252
+ # prefix
210
253
  sig { returns(T.nilable(String)) }
211
254
  attr_accessor :vendor_tax_id
212
255
 
@@ -225,6 +268,7 @@ module EInvoiceAPI
225
268
  currency: EInvoiceAPI::CurrencyCode::OrSymbol,
226
269
  customer_address: T.nilable(String),
227
270
  customer_address_recipient: T.nilable(String),
271
+ customer_company_id: T.nilable(String),
228
272
  customer_email: T.nilable(String),
229
273
  customer_id: T.nilable(String),
230
274
  customer_name: T.nilable(String),
@@ -266,6 +310,7 @@ module EInvoiceAPI
266
310
  vatex_note: T.nilable(String),
267
311
  vendor_address: T.nilable(String),
268
312
  vendor_address_recipient: T.nilable(String),
313
+ vendor_company_id: T.nilable(String),
269
314
  vendor_email: T.nilable(String),
270
315
  vendor_name: T.nilable(String),
271
316
  vendor_tax_id: T.nilable(String)
@@ -273,70 +318,109 @@ module EInvoiceAPI
273
318
  end
274
319
  def self.new(
275
320
  allowances: nil,
276
- # The amount due of the invoice. Must be positive and rounded to maximum 2
277
- # decimals
321
+ # The amount due for payment. Must be positive and rounded to maximum 2 decimals
278
322
  amount_due: nil,
279
323
  attachments: nil,
324
+ # The billing address (if different from customer address)
280
325
  billing_address: nil,
326
+ # The recipient name at the billing address
281
327
  billing_address_recipient: nil,
282
328
  charges: nil,
283
- # Currency of the invoice
329
+ # Currency of the invoice (ISO 4217 currency code)
284
330
  currency: nil,
331
+ # The address of the customer/buyer
285
332
  customer_address: nil,
333
+ # The recipient name at the customer address
286
334
  customer_address_recipient: nil,
335
+ # Customer company ID. For Belgium this is the CBE number or their EUID (European
336
+ # Unique Identifier) number. In the Netherlands this is the KVK number.
337
+ customer_company_id: nil,
338
+ # The email address of the customer
287
339
  customer_email: nil,
340
+ # The unique identifier for the customer in your system
288
341
  customer_id: nil,
342
+ # The company name of the customer/buyer
289
343
  customer_name: nil,
344
+ # Customer tax ID. For Belgium this is the VAT number. Must include the country
345
+ # prefix
290
346
  customer_tax_id: nil,
347
+ # The direction of the document: INBOUND (purchases) or OUTBOUND (sales)
291
348
  direction: nil,
349
+ # The type of document: INVOICE, CREDIT_NOTE, or DEBIT_NOTE
292
350
  document_type: nil,
351
+ # The date when payment is due
293
352
  due_date: nil,
353
+ # The date when the invoice was issued
294
354
  invoice_date: nil,
355
+ # The unique invoice identifier/number
295
356
  invoice_id: nil,
296
- # The total amount of the invoice (so invoice_total = subtotal + total_tax +
297
- # total_discount). Must be positive and rounded to maximum 2 decimals
357
+ # The total amount of the invoice including tax (invoice_total = subtotal +
358
+ # total_tax + total_discount). Must be positive and rounded to maximum 2 decimals
298
359
  invoice_total: nil,
299
360
  # At least one line item is required
300
361
  items: nil,
362
+ # Additional notes or comments for the invoice
301
363
  note: nil,
302
364
  payment_details: nil,
365
+ # The payment terms (e.g., 'Net 30', 'Due on receipt', '2/10 Net 30')
303
366
  payment_term: nil,
304
- # The previous unpaid balance of the invoice, if any. Must be positive and rounded
305
- # to maximum 2 decimals
367
+ # The previous unpaid balance from prior invoices, if any. Must be positive and
368
+ # rounded to maximum 2 decimals
306
369
  previous_unpaid_balance: nil,
370
+ # The purchase order reference number
307
371
  purchase_order: nil,
372
+ # The address where payment should be sent or remitted to
308
373
  remittance_address: nil,
374
+ # The recipient name at the remittance address
309
375
  remittance_address_recipient: nil,
376
+ # The address where services were performed or goods were delivered
310
377
  service_address: nil,
378
+ # The recipient name at the service address
311
379
  service_address_recipient: nil,
380
+ # The end date of the service period or delivery period
312
381
  service_end_date: nil,
382
+ # The start date of the service period or delivery period
313
383
  service_start_date: nil,
384
+ # The shipping/delivery address
314
385
  shipping_address: nil,
386
+ # The recipient name at the shipping address
315
387
  shipping_address_recipient: nil,
388
+ # The current state of the document: DRAFT, TRANSIT, FAILED, SENT, or RECEIVED
316
389
  state: nil,
317
390
  # The taxable base of the invoice. Should be the sum of all line items -
318
391
  # allowances (for example commercial discounts) + charges with impact on VAT. Must
319
392
  # be positive and rounded to maximum 2 decimals
320
393
  subtotal: nil,
321
- # Tax category code of the invoice
394
+ # Tax category code of the invoice (e.g., S for standard rate, Z for zero rate, E
395
+ # for exempt)
322
396
  tax_code: nil,
323
397
  tax_details: nil,
324
398
  # The net financial discount/charge of the invoice (non-VAT charges minus non-VAT
325
399
  # allowances). Can be positive (net charge), negative (net discount), or zero.
326
400
  # Must be rounded to maximum 2 decimals
327
401
  total_discount: nil,
328
- # The total tax of the invoice. Must be positive and rounded to maximum 2 decimals
402
+ # The total tax amount of the invoice. Must be positive and rounded to maximum 2
403
+ # decimals
329
404
  total_tax: nil,
330
405
  # VATEX code list for VAT exemption reasons
331
406
  #
332
407
  # Agency: CEF Identifier: vatex
333
408
  vatex: nil,
334
- # VAT exemption note of the invoice
409
+ # Textual explanation for VAT exemption
335
410
  vatex_note: nil,
411
+ # The address of the vendor/seller
336
412
  vendor_address: nil,
413
+ # The recipient name at the vendor address
337
414
  vendor_address_recipient: nil,
415
+ # Vendor company ID. For Belgium this is the CBE number or their EUID (European
416
+ # Unique Identifier) number. In the Netherlands this is the KVK number.
417
+ vendor_company_id: nil,
418
+ # The email address of the vendor
338
419
  vendor_email: nil,
420
+ # The name of the vendor/seller/supplier
339
421
  vendor_name: nil,
422
+ # Vendor tax ID. For Belgium this is the VAT number. Must include the country
423
+ # prefix
340
424
  vendor_tax_id: nil
341
425
  )
342
426
  end
@@ -356,6 +440,7 @@ module EInvoiceAPI
356
440
  currency: EInvoiceAPI::CurrencyCode::OrSymbol,
357
441
  customer_address: T.nilable(String),
358
442
  customer_address_recipient: T.nilable(String),
443
+ customer_company_id: T.nilable(String),
359
444
  customer_email: T.nilable(String),
360
445
  customer_id: T.nilable(String),
361
446
  customer_name: T.nilable(String),
@@ -399,6 +484,7 @@ module EInvoiceAPI
399
484
  vatex_note: T.nilable(String),
400
485
  vendor_address: T.nilable(String),
401
486
  vendor_address_recipient: T.nilable(String),
487
+ vendor_company_id: T.nilable(String),
402
488
  vendor_email: T.nilable(String),
403
489
  vendor_name: T.nilable(String),
404
490
  vendor_tax_id: T.nilable(String)
@@ -437,7 +523,8 @@ module EInvoiceAPI
437
523
  attr_accessor :base_amount
438
524
 
439
525
  # The percentage that may be used, in conjunction with the allowance base amount,
440
- # to calculate the allowance amount. To state 20%, use value 20
526
+ # to calculate the allowance amount. To state 20%, use value 20. Must be rounded
527
+ # to maximum 2 decimals
441
528
  sig do
442
529
  returns(
443
530
  T.nilable(
@@ -451,22 +538,38 @@ module EInvoiceAPI
451
538
  sig { returns(T.nilable(String)) }
452
539
  attr_accessor :reason
453
540
 
454
- # The code for the allowance reason
455
- sig { returns(T.nilable(String)) }
541
+ # Allowance reason codes for invoice discounts and charges
542
+ sig do
543
+ returns(
544
+ T.nilable(
545
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::OrSymbol
546
+ )
547
+ )
548
+ end
456
549
  attr_accessor :reason_code
457
550
 
458
- # Duty or tax or fee category codes (Subset of UNCL5305)
459
- #
460
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
551
+ # The VAT category code that applies to the allowance
461
552
  sig do
462
553
  returns(
463
554
  T.nilable(EInvoiceAPI::DocumentCreate::Allowance::TaxCode::OrSymbol)
464
555
  )
465
556
  end
466
- attr_accessor :tax_code
557
+ attr_reader :tax_code
467
558
 
468
- # The VAT rate, represented as percentage that applies to the allowance
469
- sig { returns(T.nilable(String)) }
559
+ sig do
560
+ params(
561
+ tax_code: EInvoiceAPI::DocumentCreate::Allowance::TaxCode::OrSymbol
562
+ ).void
563
+ end
564
+ attr_writer :tax_code
565
+
566
+ # The VAT rate, represented as percentage that applies to the allowance. Must be
567
+ # rounded to maximum 2 decimals
568
+ sig do
569
+ returns(
570
+ T.nilable(EInvoiceAPI::DocumentCreate::Allowance::TaxRate::Variants)
571
+ )
572
+ end
470
573
  attr_accessor :tax_rate
471
574
 
472
575
  # An allowance is a discount for example for early payment, volume discount, etc.
@@ -485,12 +588,15 @@ module EInvoiceAPI
485
588
  EInvoiceAPI::DocumentCreate::Allowance::MultiplierFactor::Variants
486
589
  ),
487
590
  reason: T.nilable(String),
488
- reason_code: T.nilable(String),
489
- tax_code:
591
+ reason_code:
490
592
  T.nilable(
491
- EInvoiceAPI::DocumentCreate::Allowance::TaxCode::OrSymbol
593
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::OrSymbol
492
594
  ),
493
- tax_rate: T.nilable(String)
595
+ tax_code: EInvoiceAPI::DocumentCreate::Allowance::TaxCode::OrSymbol,
596
+ tax_rate:
597
+ T.nilable(
598
+ EInvoiceAPI::DocumentCreate::Allowance::TaxRate::Variants
599
+ )
494
600
  ).returns(T.attached_class)
495
601
  end
496
602
  def self.new(
@@ -500,17 +606,17 @@ module EInvoiceAPI
500
606
  # to calculate the allowance amount. Must be rounded to maximum 2 decimals
501
607
  base_amount: nil,
502
608
  # The percentage that may be used, in conjunction with the allowance base amount,
503
- # to calculate the allowance amount. To state 20%, use value 20
609
+ # to calculate the allowance amount. To state 20%, use value 20. Must be rounded
610
+ # to maximum 2 decimals
504
611
  multiplier_factor: nil,
505
612
  # The reason for the allowance
506
613
  reason: nil,
507
- # The code for the allowance reason
614
+ # Allowance reason codes for invoice discounts and charges
508
615
  reason_code: nil,
509
- # Duty or tax or fee category codes (Subset of UNCL5305)
510
- #
511
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
616
+ # The VAT category code that applies to the allowance
512
617
  tax_code: nil,
513
- # The VAT rate, represented as percentage that applies to the allowance
618
+ # The VAT rate, represented as percentage that applies to the allowance. Must be
619
+ # rounded to maximum 2 decimals
514
620
  tax_rate: nil
515
621
  )
516
622
  end
@@ -531,12 +637,16 @@ module EInvoiceAPI
531
637
  EInvoiceAPI::DocumentCreate::Allowance::MultiplierFactor::Variants
532
638
  ),
533
639
  reason: T.nilable(String),
534
- reason_code: T.nilable(String),
535
- tax_code:
640
+ reason_code:
536
641
  T.nilable(
537
- EInvoiceAPI::DocumentCreate::Allowance::TaxCode::OrSymbol
642
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::OrSymbol
538
643
  ),
539
- tax_rate: T.nilable(String)
644
+ tax_code:
645
+ EInvoiceAPI::DocumentCreate::Allowance::TaxCode::OrSymbol,
646
+ tax_rate:
647
+ T.nilable(
648
+ EInvoiceAPI::DocumentCreate::Allowance::TaxRate::Variants
649
+ )
540
650
  }
541
651
  )
542
652
  end
@@ -577,7 +687,8 @@ module EInvoiceAPI
577
687
  end
578
688
 
579
689
  # The percentage that may be used, in conjunction with the allowance base amount,
580
- # to calculate the allowance amount. To state 20%, use value 20
690
+ # to calculate the allowance amount. To state 20%, use value 20. Must be rounded
691
+ # to maximum 2 decimals
581
692
  module MultiplierFactor
582
693
  extend EInvoiceAPI::Internal::Type::Union
583
694
 
@@ -594,9 +705,124 @@ module EInvoiceAPI
594
705
  end
595
706
  end
596
707
 
597
- # Duty or tax or fee category codes (Subset of UNCL5305)
598
- #
599
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
708
+ # Allowance reason codes for invoice discounts and charges
709
+ module ReasonCode
710
+ extend EInvoiceAPI::Internal::Type::Enum
711
+
712
+ TaggedSymbol =
713
+ T.type_alias do
714
+ T.all(Symbol, EInvoiceAPI::DocumentCreate::Allowance::ReasonCode)
715
+ end
716
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
717
+
718
+ REASON_CODE_41 =
719
+ T.let(
720
+ :"41",
721
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
722
+ )
723
+ REASON_CODE_42 =
724
+ T.let(
725
+ :"42",
726
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
727
+ )
728
+ REASON_CODE_60 =
729
+ T.let(
730
+ :"60",
731
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
732
+ )
733
+ REASON_CODE_62 =
734
+ T.let(
735
+ :"62",
736
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
737
+ )
738
+ REASON_CODE_63 =
739
+ T.let(
740
+ :"63",
741
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
742
+ )
743
+ REASON_CODE_64 =
744
+ T.let(
745
+ :"64",
746
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
747
+ )
748
+ REASON_CODE_65 =
749
+ T.let(
750
+ :"65",
751
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
752
+ )
753
+ REASON_CODE_66 =
754
+ T.let(
755
+ :"66",
756
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
757
+ )
758
+ REASON_CODE_67 =
759
+ T.let(
760
+ :"67",
761
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
762
+ )
763
+ REASON_CODE_68 =
764
+ T.let(
765
+ :"68",
766
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
767
+ )
768
+ REASON_CODE_70 =
769
+ T.let(
770
+ :"70",
771
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
772
+ )
773
+ REASON_CODE_71 =
774
+ T.let(
775
+ :"71",
776
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
777
+ )
778
+ REASON_CODE_88 =
779
+ T.let(
780
+ :"88",
781
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
782
+ )
783
+ REASON_CODE_95 =
784
+ T.let(
785
+ :"95",
786
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
787
+ )
788
+ REASON_CODE_100 =
789
+ T.let(
790
+ :"100",
791
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
792
+ )
793
+ REASON_CODE_102 =
794
+ T.let(
795
+ :"102",
796
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
797
+ )
798
+ REASON_CODE_103 =
799
+ T.let(
800
+ :"103",
801
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
802
+ )
803
+ REASON_CODE_104 =
804
+ T.let(
805
+ :"104",
806
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
807
+ )
808
+ REASON_CODE_105 =
809
+ T.let(
810
+ :"105",
811
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
812
+ )
813
+
814
+ sig do
815
+ override.returns(
816
+ T::Array[
817
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::TaggedSymbol
818
+ ]
819
+ )
820
+ end
821
+ def self.values
822
+ end
823
+ end
824
+
825
+ # The VAT category code that applies to the allowance
600
826
  module TaxCode
601
827
  extend EInvoiceAPI::Internal::Type::Enum
602
828
 
@@ -667,10 +893,27 @@ module EInvoiceAPI
667
893
  def self.values
668
894
  end
669
895
  end
896
+
897
+ # The VAT rate, represented as percentage that applies to the allowance. Must be
898
+ # rounded to maximum 2 decimals
899
+ module TaxRate
900
+ extend EInvoiceAPI::Internal::Type::Union
901
+
902
+ Variants = T.type_alias { T.any(Float, String) }
903
+
904
+ sig do
905
+ override.returns(
906
+ T::Array[
907
+ EInvoiceAPI::DocumentCreate::Allowance::TaxRate::Variants
908
+ ]
909
+ )
910
+ end
911
+ def self.variants
912
+ end
913
+ end
670
914
  end
671
915
 
672
- # The amount due of the invoice. Must be positive and rounded to maximum 2
673
- # decimals
916
+ # The amount due for payment. Must be positive and rounded to maximum 2 decimals
674
917
  module AmountDue
675
918
  extend EInvoiceAPI::Internal::Type::Union
676
919
 
@@ -726,8 +969,12 @@ module EInvoiceAPI
726
969
  sig { returns(T.nilable(String)) }
727
970
  attr_accessor :reason
728
971
 
729
- # The code for the charge reason
730
- sig { returns(T.nilable(String)) }
972
+ # Charge reason codes for invoice charges and fees
973
+ sig do
974
+ returns(
975
+ T.nilable(EInvoiceAPI::DocumentCreate::Charge::ReasonCode::OrSymbol)
976
+ )
977
+ end
731
978
  attr_accessor :reason_code
732
979
 
733
980
  # Duty or tax or fee category codes (Subset of UNCL5305)
@@ -741,7 +988,11 @@ module EInvoiceAPI
741
988
  attr_accessor :tax_code
742
989
 
743
990
  # The VAT rate, represented as percentage that applies to the charge
744
- sig { returns(T.nilable(String)) }
991
+ sig do
992
+ returns(
993
+ T.nilable(EInvoiceAPI::DocumentCreate::Charge::TaxRate::Variants)
994
+ )
995
+ end
745
996
  attr_accessor :tax_rate
746
997
 
747
998
  # A charge is an additional fee for example for late payment, late delivery, etc.
@@ -758,10 +1009,14 @@ module EInvoiceAPI
758
1009
  EInvoiceAPI::DocumentCreate::Charge::MultiplierFactor::Variants
759
1010
  ),
760
1011
  reason: T.nilable(String),
761
- reason_code: T.nilable(String),
1012
+ reason_code:
1013
+ T.nilable(
1014
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::OrSymbol
1015
+ ),
762
1016
  tax_code:
763
1017
  T.nilable(EInvoiceAPI::DocumentCreate::Charge::TaxCode::OrSymbol),
764
- tax_rate: T.nilable(String)
1018
+ tax_rate:
1019
+ T.nilable(EInvoiceAPI::DocumentCreate::Charge::TaxRate::Variants)
765
1020
  ).returns(T.attached_class)
766
1021
  end
767
1022
  def self.new(
@@ -775,7 +1030,7 @@ module EInvoiceAPI
775
1030
  multiplier_factor: nil,
776
1031
  # The reason for the charge
777
1032
  reason: nil,
778
- # The code for the charge reason
1033
+ # Charge reason codes for invoice charges and fees
779
1034
  reason_code: nil,
780
1035
  # Duty or tax or fee category codes (Subset of UNCL5305)
781
1036
  #
@@ -802,12 +1057,18 @@ module EInvoiceAPI
802
1057
  EInvoiceAPI::DocumentCreate::Charge::MultiplierFactor::Variants
803
1058
  ),
804
1059
  reason: T.nilable(String),
805
- reason_code: T.nilable(String),
1060
+ reason_code:
1061
+ T.nilable(
1062
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::OrSymbol
1063
+ ),
806
1064
  tax_code:
807
1065
  T.nilable(
808
1066
  EInvoiceAPI::DocumentCreate::Charge::TaxCode::OrSymbol
809
1067
  ),
810
- tax_rate: T.nilable(String)
1068
+ tax_rate:
1069
+ T.nilable(
1070
+ EInvoiceAPI::DocumentCreate::Charge::TaxRate::Variants
1071
+ )
811
1072
  }
812
1073
  )
813
1074
  end
@@ -865,733 +1126,2794 @@ module EInvoiceAPI
865
1126
  end
866
1127
  end
867
1128
 
868
- # Duty or tax or fee category codes (Subset of UNCL5305)
869
- #
870
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
871
- module TaxCode
1129
+ # Charge reason codes for invoice charges and fees
1130
+ module ReasonCode
872
1131
  extend EInvoiceAPI::Internal::Type::Enum
873
1132
 
874
1133
  TaggedSymbol =
875
1134
  T.type_alias do
876
- T.all(Symbol, EInvoiceAPI::DocumentCreate::Charge::TaxCode)
1135
+ T.all(Symbol, EInvoiceAPI::DocumentCreate::Charge::ReasonCode)
877
1136
  end
878
1137
  OrSymbol = T.type_alias { T.any(Symbol, String) }
879
1138
 
880
- AE =
1139
+ AA =
881
1140
  T.let(
882
- :AE,
883
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1141
+ :AA,
1142
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
884
1143
  )
885
- E =
1144
+ AAA =
886
1145
  T.let(
887
- :E,
888
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1146
+ :AAA,
1147
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
889
1148
  )
890
- S =
1149
+ AAC =
891
1150
  T.let(
892
- :S,
893
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1151
+ :AAC,
1152
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
894
1153
  )
895
- Z =
1154
+ AAD =
896
1155
  T.let(
897
- :Z,
898
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1156
+ :AAD,
1157
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
899
1158
  )
900
- G =
1159
+ AAE =
901
1160
  T.let(
902
- :G,
903
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1161
+ :AAE,
1162
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
904
1163
  )
905
- O =
1164
+ AAF =
906
1165
  T.let(
907
- :O,
908
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1166
+ :AAF,
1167
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
909
1168
  )
910
- K =
1169
+ AAH =
911
1170
  T.let(
912
- :K,
913
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1171
+ :AAH,
1172
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
914
1173
  )
915
- L =
1174
+ AAI =
916
1175
  T.let(
917
- :L,
918
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1176
+ :AAI,
1177
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
919
1178
  )
920
- M =
1179
+ AAS =
921
1180
  T.let(
922
- :M,
923
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1181
+ :AAS,
1182
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
924
1183
  )
925
- B =
1184
+ AAT =
926
1185
  T.let(
927
- :B,
928
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1186
+ :AAT,
1187
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
929
1188
  )
930
-
931
- sig do
932
- override.returns(
933
- T::Array[
934
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
935
- ]
1189
+ AAV =
1190
+ T.let(
1191
+ :AAV,
1192
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
936
1193
  )
937
- end
938
- def self.values
939
- end
940
- end
941
- end
942
-
943
- # The total amount of the invoice (so invoice_total = subtotal + total_tax +
944
- # total_discount). Must be positive and rounded to maximum 2 decimals
945
- module InvoiceTotal
946
- extend EInvoiceAPI::Internal::Type::Union
947
-
948
- Variants = T.type_alias { T.any(Float, String) }
949
-
950
- sig do
951
- override.returns(
952
- T::Array[EInvoiceAPI::DocumentCreate::InvoiceTotal::Variants]
953
- )
954
- end
955
- def self.variants
956
- end
957
- end
958
-
959
- class Item < EInvoiceAPI::Internal::Type::BaseModel
960
- OrHash =
961
- T.type_alias do
962
- T.any(
963
- EInvoiceAPI::DocumentCreate::Item,
964
- EInvoiceAPI::Internal::AnyHash
1194
+ AAY =
1195
+ T.let(
1196
+ :AAY,
1197
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
965
1198
  )
966
- end
967
-
968
- # The allowances of the line item.
969
- sig do
970
- returns(
971
- T.nilable(T::Array[EInvoiceAPI::DocumentCreate::Item::Allowance])
972
- )
973
- end
974
- attr_accessor :allowances
975
-
976
- # The total amount of the line item, exclusive of VAT, after subtracting line
977
- # level allowances and adding line level charges. Must be rounded to maximum 2
978
- # decimals
979
- sig do
980
- returns(
981
- T.nilable(EInvoiceAPI::DocumentCreate::Item::Amount::Variants)
982
- )
983
- end
984
- attr_accessor :amount
985
-
986
- # The charges of the line item.
987
- sig do
988
- returns(
989
- T.nilable(T::Array[EInvoiceAPI::DocumentCreate::Item::Charge])
990
- )
991
- end
992
- attr_accessor :charges
993
-
994
- sig { returns(NilClass) }
995
- attr_accessor :date
996
-
997
- # The description of the line item.
998
- sig { returns(T.nilable(String)) }
999
- attr_accessor :description
1000
-
1001
- # The product code of the line item.
1002
- sig { returns(T.nilable(String)) }
1003
- attr_accessor :product_code
1004
-
1005
- # The quantity of items (goods or services) that is the subject of the line item.
1006
- # Must be rounded to maximum 4 decimals
1007
- sig do
1008
- returns(
1009
- T.nilable(EInvoiceAPI::DocumentCreate::Item::Quantity::Variants)
1010
- )
1011
- end
1012
- attr_accessor :quantity
1013
-
1014
- # The total VAT amount for the line item. Must be rounded to maximum 2 decimals
1015
- sig do
1016
- returns(T.nilable(EInvoiceAPI::DocumentCreate::Item::Tax::Variants))
1017
- end
1018
- attr_accessor :tax
1019
-
1020
- # The VAT rate of the line item expressed as percentage with 2 decimals
1021
- sig { returns(T.nilable(String)) }
1022
- attr_accessor :tax_rate
1023
-
1199
+ AAZ =
1200
+ T.let(
1201
+ :AAZ,
1202
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1203
+ )
1204
+ ABA =
1205
+ T.let(
1206
+ :ABA,
1207
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1208
+ )
1209
+ ABB =
1210
+ T.let(
1211
+ :ABB,
1212
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1213
+ )
1214
+ ABC =
1215
+ T.let(
1216
+ :ABC,
1217
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1218
+ )
1219
+ ABD =
1220
+ T.let(
1221
+ :ABD,
1222
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1223
+ )
1224
+ ABF =
1225
+ T.let(
1226
+ :ABF,
1227
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1228
+ )
1229
+ ABK =
1230
+ T.let(
1231
+ :ABK,
1232
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1233
+ )
1234
+ ABL =
1235
+ T.let(
1236
+ :ABL,
1237
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1238
+ )
1239
+ ABN =
1240
+ T.let(
1241
+ :ABN,
1242
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1243
+ )
1244
+ ABR =
1245
+ T.let(
1246
+ :ABR,
1247
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1248
+ )
1249
+ ABS =
1250
+ T.let(
1251
+ :ABS,
1252
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1253
+ )
1254
+ ABT =
1255
+ T.let(
1256
+ :ABT,
1257
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1258
+ )
1259
+ ABU =
1260
+ T.let(
1261
+ :ABU,
1262
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1263
+ )
1264
+ ACF =
1265
+ T.let(
1266
+ :ACF,
1267
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1268
+ )
1269
+ ACG =
1270
+ T.let(
1271
+ :ACG,
1272
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1273
+ )
1274
+ ACH =
1275
+ T.let(
1276
+ :ACH,
1277
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1278
+ )
1279
+ ACI =
1280
+ T.let(
1281
+ :ACI,
1282
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1283
+ )
1284
+ ACJ =
1285
+ T.let(
1286
+ :ACJ,
1287
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1288
+ )
1289
+ ACK =
1290
+ T.let(
1291
+ :ACK,
1292
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1293
+ )
1294
+ ACL =
1295
+ T.let(
1296
+ :ACL,
1297
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1298
+ )
1299
+ ACM =
1300
+ T.let(
1301
+ :ACM,
1302
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1303
+ )
1304
+ ACS =
1305
+ T.let(
1306
+ :ACS,
1307
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1308
+ )
1309
+ ADC =
1310
+ T.let(
1311
+ :ADC,
1312
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1313
+ )
1314
+ ADE =
1315
+ T.let(
1316
+ :ADE,
1317
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1318
+ )
1319
+ ADJ =
1320
+ T.let(
1321
+ :ADJ,
1322
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1323
+ )
1324
+ ADK =
1325
+ T.let(
1326
+ :ADK,
1327
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1328
+ )
1329
+ ADL =
1330
+ T.let(
1331
+ :ADL,
1332
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1333
+ )
1334
+ ADM =
1335
+ T.let(
1336
+ :ADM,
1337
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1338
+ )
1339
+ ADN =
1340
+ T.let(
1341
+ :ADN,
1342
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1343
+ )
1344
+ ADO =
1345
+ T.let(
1346
+ :ADO,
1347
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1348
+ )
1349
+ ADP =
1350
+ T.let(
1351
+ :ADP,
1352
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1353
+ )
1354
+ ADQ =
1355
+ T.let(
1356
+ :ADQ,
1357
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1358
+ )
1359
+ ADR =
1360
+ T.let(
1361
+ :ADR,
1362
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1363
+ )
1364
+ ADT =
1365
+ T.let(
1366
+ :ADT,
1367
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1368
+ )
1369
+ ADW =
1370
+ T.let(
1371
+ :ADW,
1372
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1373
+ )
1374
+ ADY =
1375
+ T.let(
1376
+ :ADY,
1377
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1378
+ )
1379
+ ADZ =
1380
+ T.let(
1381
+ :ADZ,
1382
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1383
+ )
1384
+ AEA =
1385
+ T.let(
1386
+ :AEA,
1387
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1388
+ )
1389
+ AEB =
1390
+ T.let(
1391
+ :AEB,
1392
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1393
+ )
1394
+ AEC =
1395
+ T.let(
1396
+ :AEC,
1397
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1398
+ )
1399
+ AED =
1400
+ T.let(
1401
+ :AED,
1402
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1403
+ )
1404
+ AEF =
1405
+ T.let(
1406
+ :AEF,
1407
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1408
+ )
1409
+ AEH =
1410
+ T.let(
1411
+ :AEH,
1412
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1413
+ )
1414
+ AEI =
1415
+ T.let(
1416
+ :AEI,
1417
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1418
+ )
1419
+ AEJ =
1420
+ T.let(
1421
+ :AEJ,
1422
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1423
+ )
1424
+ AEK =
1425
+ T.let(
1426
+ :AEK,
1427
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1428
+ )
1429
+ AEL =
1430
+ T.let(
1431
+ :AEL,
1432
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1433
+ )
1434
+ AEM =
1435
+ T.let(
1436
+ :AEM,
1437
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1438
+ )
1439
+ AEN =
1440
+ T.let(
1441
+ :AEN,
1442
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1443
+ )
1444
+ AEO =
1445
+ T.let(
1446
+ :AEO,
1447
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1448
+ )
1449
+ AEP =
1450
+ T.let(
1451
+ :AEP,
1452
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1453
+ )
1454
+ AES =
1455
+ T.let(
1456
+ :AES,
1457
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1458
+ )
1459
+ AET =
1460
+ T.let(
1461
+ :AET,
1462
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1463
+ )
1464
+ AEU =
1465
+ T.let(
1466
+ :AEU,
1467
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1468
+ )
1469
+ AEV =
1470
+ T.let(
1471
+ :AEV,
1472
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1473
+ )
1474
+ AEW =
1475
+ T.let(
1476
+ :AEW,
1477
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1478
+ )
1479
+ AEX =
1480
+ T.let(
1481
+ :AEX,
1482
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1483
+ )
1484
+ AEY =
1485
+ T.let(
1486
+ :AEY,
1487
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1488
+ )
1489
+ AEZ =
1490
+ T.let(
1491
+ :AEZ,
1492
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1493
+ )
1494
+ AJ =
1495
+ T.let(
1496
+ :AJ,
1497
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1498
+ )
1499
+ AU =
1500
+ T.let(
1501
+ :AU,
1502
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1503
+ )
1504
+ CA =
1505
+ T.let(
1506
+ :CA,
1507
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1508
+ )
1509
+ CAB =
1510
+ T.let(
1511
+ :CAB,
1512
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1513
+ )
1514
+ CAD =
1515
+ T.let(
1516
+ :CAD,
1517
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1518
+ )
1519
+ CAE =
1520
+ T.let(
1521
+ :CAE,
1522
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1523
+ )
1524
+ CAF =
1525
+ T.let(
1526
+ :CAF,
1527
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1528
+ )
1529
+ CAI =
1530
+ T.let(
1531
+ :CAI,
1532
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1533
+ )
1534
+ CAJ =
1535
+ T.let(
1536
+ :CAJ,
1537
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1538
+ )
1539
+ CAK =
1540
+ T.let(
1541
+ :CAK,
1542
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1543
+ )
1544
+ CAL =
1545
+ T.let(
1546
+ :CAL,
1547
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1548
+ )
1549
+ CAM =
1550
+ T.let(
1551
+ :CAM,
1552
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1553
+ )
1554
+ CAN =
1555
+ T.let(
1556
+ :CAN,
1557
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1558
+ )
1559
+ CAO =
1560
+ T.let(
1561
+ :CAO,
1562
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1563
+ )
1564
+ CAP =
1565
+ T.let(
1566
+ :CAP,
1567
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1568
+ )
1569
+ CAQ =
1570
+ T.let(
1571
+ :CAQ,
1572
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1573
+ )
1574
+ CAR =
1575
+ T.let(
1576
+ :CAR,
1577
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1578
+ )
1579
+ CAS =
1580
+ T.let(
1581
+ :CAS,
1582
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1583
+ )
1584
+ CAT =
1585
+ T.let(
1586
+ :CAT,
1587
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1588
+ )
1589
+ CAU =
1590
+ T.let(
1591
+ :CAU,
1592
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1593
+ )
1594
+ CAV =
1595
+ T.let(
1596
+ :CAV,
1597
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1598
+ )
1599
+ CAW =
1600
+ T.let(
1601
+ :CAW,
1602
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1603
+ )
1604
+ CAX =
1605
+ T.let(
1606
+ :CAX,
1607
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1608
+ )
1609
+ CAY =
1610
+ T.let(
1611
+ :CAY,
1612
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1613
+ )
1614
+ CAZ =
1615
+ T.let(
1616
+ :CAZ,
1617
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1618
+ )
1619
+ CD =
1620
+ T.let(
1621
+ :CD,
1622
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1623
+ )
1624
+ CG =
1625
+ T.let(
1626
+ :CG,
1627
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1628
+ )
1629
+ CS =
1630
+ T.let(
1631
+ :CS,
1632
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1633
+ )
1634
+ CT =
1635
+ T.let(
1636
+ :CT,
1637
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1638
+ )
1639
+ DAB =
1640
+ T.let(
1641
+ :DAB,
1642
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1643
+ )
1644
+ DAC =
1645
+ T.let(
1646
+ :DAC,
1647
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1648
+ )
1649
+ DAD =
1650
+ T.let(
1651
+ :DAD,
1652
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1653
+ )
1654
+ DAF =
1655
+ T.let(
1656
+ :DAF,
1657
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1658
+ )
1659
+ DAG =
1660
+ T.let(
1661
+ :DAG,
1662
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1663
+ )
1664
+ DAH =
1665
+ T.let(
1666
+ :DAH,
1667
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1668
+ )
1669
+ DAI =
1670
+ T.let(
1671
+ :DAI,
1672
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1673
+ )
1674
+ DAJ =
1675
+ T.let(
1676
+ :DAJ,
1677
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1678
+ )
1679
+ DAK =
1680
+ T.let(
1681
+ :DAK,
1682
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1683
+ )
1684
+ DAL =
1685
+ T.let(
1686
+ :DAL,
1687
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1688
+ )
1689
+ DAM =
1690
+ T.let(
1691
+ :DAM,
1692
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1693
+ )
1694
+ DAN =
1695
+ T.let(
1696
+ :DAN,
1697
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1698
+ )
1699
+ DAO =
1700
+ T.let(
1701
+ :DAO,
1702
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1703
+ )
1704
+ DAP =
1705
+ T.let(
1706
+ :DAP,
1707
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1708
+ )
1709
+ DAQ =
1710
+ T.let(
1711
+ :DAQ,
1712
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1713
+ )
1714
+ DL =
1715
+ T.let(
1716
+ :DL,
1717
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1718
+ )
1719
+ EG =
1720
+ T.let(
1721
+ :EG,
1722
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1723
+ )
1724
+ EP =
1725
+ T.let(
1726
+ :EP,
1727
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1728
+ )
1729
+ ER =
1730
+ T.let(
1731
+ :ER,
1732
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1733
+ )
1734
+ FAA =
1735
+ T.let(
1736
+ :FAA,
1737
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1738
+ )
1739
+ FAB =
1740
+ T.let(
1741
+ :FAB,
1742
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1743
+ )
1744
+ FAC =
1745
+ T.let(
1746
+ :FAC,
1747
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1748
+ )
1749
+ FC =
1750
+ T.let(
1751
+ :FC,
1752
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1753
+ )
1754
+ FH =
1755
+ T.let(
1756
+ :FH,
1757
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1758
+ )
1759
+ FI =
1760
+ T.let(
1761
+ :FI,
1762
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1763
+ )
1764
+ GAA =
1765
+ T.let(
1766
+ :GAA,
1767
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1768
+ )
1769
+ HAA =
1770
+ T.let(
1771
+ :HAA,
1772
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1773
+ )
1774
+ HD =
1775
+ T.let(
1776
+ :HD,
1777
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1778
+ )
1779
+ HH =
1780
+ T.let(
1781
+ :HH,
1782
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1783
+ )
1784
+ IAA =
1785
+ T.let(
1786
+ :IAA,
1787
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1788
+ )
1789
+ IAB =
1790
+ T.let(
1791
+ :IAB,
1792
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1793
+ )
1794
+ ID =
1795
+ T.let(
1796
+ :ID,
1797
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1798
+ )
1799
+ IF =
1800
+ T.let(
1801
+ :IF,
1802
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1803
+ )
1804
+ IR =
1805
+ T.let(
1806
+ :IR,
1807
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1808
+ )
1809
+ IS =
1810
+ T.let(
1811
+ :IS,
1812
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1813
+ )
1814
+ KO =
1815
+ T.let(
1816
+ :KO,
1817
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1818
+ )
1819
+ L1 =
1820
+ T.let(
1821
+ :L1,
1822
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1823
+ )
1824
+ LA =
1825
+ T.let(
1826
+ :LA,
1827
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1828
+ )
1829
+ LAA =
1830
+ T.let(
1831
+ :LAA,
1832
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1833
+ )
1834
+ LAB =
1835
+ T.let(
1836
+ :LAB,
1837
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1838
+ )
1839
+ LF =
1840
+ T.let(
1841
+ :LF,
1842
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1843
+ )
1844
+ MAE =
1845
+ T.let(
1846
+ :MAE,
1847
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1848
+ )
1849
+ MI =
1850
+ T.let(
1851
+ :MI,
1852
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1853
+ )
1854
+ ML =
1855
+ T.let(
1856
+ :ML,
1857
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1858
+ )
1859
+ NAA =
1860
+ T.let(
1861
+ :NAA,
1862
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1863
+ )
1864
+ OA =
1865
+ T.let(
1866
+ :OA,
1867
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1868
+ )
1869
+ PA =
1870
+ T.let(
1871
+ :PA,
1872
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1873
+ )
1874
+ PAA =
1875
+ T.let(
1876
+ :PAA,
1877
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1878
+ )
1879
+ PC =
1880
+ T.let(
1881
+ :PC,
1882
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1883
+ )
1884
+ PL =
1885
+ T.let(
1886
+ :PL,
1887
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1888
+ )
1889
+ PRV =
1890
+ T.let(
1891
+ :PRV,
1892
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1893
+ )
1894
+ RAB =
1895
+ T.let(
1896
+ :RAB,
1897
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1898
+ )
1899
+ RAC =
1900
+ T.let(
1901
+ :RAC,
1902
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1903
+ )
1904
+ RAD =
1905
+ T.let(
1906
+ :RAD,
1907
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1908
+ )
1909
+ RAF =
1910
+ T.let(
1911
+ :RAF,
1912
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1913
+ )
1914
+ RE =
1915
+ T.let(
1916
+ :RE,
1917
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1918
+ )
1919
+ RF =
1920
+ T.let(
1921
+ :RF,
1922
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1923
+ )
1924
+ RH =
1925
+ T.let(
1926
+ :RH,
1927
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1928
+ )
1929
+ RV =
1930
+ T.let(
1931
+ :RV,
1932
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1933
+ )
1934
+ SA =
1935
+ T.let(
1936
+ :SA,
1937
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1938
+ )
1939
+ SAA =
1940
+ T.let(
1941
+ :SAA,
1942
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1943
+ )
1944
+ SAD =
1945
+ T.let(
1946
+ :SAD,
1947
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1948
+ )
1949
+ SAE =
1950
+ T.let(
1951
+ :SAE,
1952
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1953
+ )
1954
+ SAI =
1955
+ T.let(
1956
+ :SAI,
1957
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1958
+ )
1959
+ SG =
1960
+ T.let(
1961
+ :SG,
1962
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1963
+ )
1964
+ SH =
1965
+ T.let(
1966
+ :SH,
1967
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1968
+ )
1969
+ SM =
1970
+ T.let(
1971
+ :SM,
1972
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1973
+ )
1974
+ SU =
1975
+ T.let(
1976
+ :SU,
1977
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1978
+ )
1979
+ TAB =
1980
+ T.let(
1981
+ :TAB,
1982
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1983
+ )
1984
+ TAC =
1985
+ T.let(
1986
+ :TAC,
1987
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1988
+ )
1989
+ TT =
1990
+ T.let(
1991
+ :TT,
1992
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1993
+ )
1994
+ TV =
1995
+ T.let(
1996
+ :TV,
1997
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
1998
+ )
1999
+ V1 =
2000
+ T.let(
2001
+ :V1,
2002
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
2003
+ )
2004
+ V2 =
2005
+ T.let(
2006
+ :V2,
2007
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
2008
+ )
2009
+ WH =
2010
+ T.let(
2011
+ :WH,
2012
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
2013
+ )
2014
+ XAA =
2015
+ T.let(
2016
+ :XAA,
2017
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
2018
+ )
2019
+ YY =
2020
+ T.let(
2021
+ :YY,
2022
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
2023
+ )
2024
+ ZZZ =
2025
+ T.let(
2026
+ :ZZZ,
2027
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
2028
+ )
2029
+
2030
+ sig do
2031
+ override.returns(
2032
+ T::Array[
2033
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
2034
+ ]
2035
+ )
2036
+ end
2037
+ def self.values
2038
+ end
2039
+ end
2040
+
2041
+ # Duty or tax or fee category codes (Subset of UNCL5305)
2042
+ #
2043
+ # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
2044
+ module TaxCode
2045
+ extend EInvoiceAPI::Internal::Type::Enum
2046
+
2047
+ TaggedSymbol =
2048
+ T.type_alias do
2049
+ T.all(Symbol, EInvoiceAPI::DocumentCreate::Charge::TaxCode)
2050
+ end
2051
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2052
+
2053
+ AE =
2054
+ T.let(
2055
+ :AE,
2056
+ EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
2057
+ )
2058
+ E =
2059
+ T.let(
2060
+ :E,
2061
+ EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
2062
+ )
2063
+ S =
2064
+ T.let(
2065
+ :S,
2066
+ EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
2067
+ )
2068
+ Z =
2069
+ T.let(
2070
+ :Z,
2071
+ EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
2072
+ )
2073
+ G =
2074
+ T.let(
2075
+ :G,
2076
+ EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
2077
+ )
2078
+ O =
2079
+ T.let(
2080
+ :O,
2081
+ EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
2082
+ )
2083
+ K =
2084
+ T.let(
2085
+ :K,
2086
+ EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
2087
+ )
2088
+ L =
2089
+ T.let(
2090
+ :L,
2091
+ EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
2092
+ )
2093
+ M =
2094
+ T.let(
2095
+ :M,
2096
+ EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
2097
+ )
2098
+ B =
2099
+ T.let(
2100
+ :B,
2101
+ EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
2102
+ )
2103
+
2104
+ sig do
2105
+ override.returns(
2106
+ T::Array[
2107
+ EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
2108
+ ]
2109
+ )
2110
+ end
2111
+ def self.values
2112
+ end
2113
+ end
2114
+
2115
+ # The VAT rate, represented as percentage that applies to the charge
2116
+ module TaxRate
2117
+ extend EInvoiceAPI::Internal::Type::Union
2118
+
2119
+ Variants = T.type_alias { T.any(Float, String) }
2120
+
2121
+ sig do
2122
+ override.returns(
2123
+ T::Array[EInvoiceAPI::DocumentCreate::Charge::TaxRate::Variants]
2124
+ )
2125
+ end
2126
+ def self.variants
2127
+ end
2128
+ end
2129
+ end
2130
+
2131
+ # The total amount of the invoice including tax (invoice_total = subtotal +
2132
+ # total_tax + total_discount). Must be positive and rounded to maximum 2 decimals
2133
+ module InvoiceTotal
2134
+ extend EInvoiceAPI::Internal::Type::Union
2135
+
2136
+ Variants = T.type_alias { T.any(Float, String) }
2137
+
2138
+ sig do
2139
+ override.returns(
2140
+ T::Array[EInvoiceAPI::DocumentCreate::InvoiceTotal::Variants]
2141
+ )
2142
+ end
2143
+ def self.variants
2144
+ end
2145
+ end
2146
+
2147
+ class Item < EInvoiceAPI::Internal::Type::BaseModel
2148
+ OrHash =
2149
+ T.type_alias do
2150
+ T.any(
2151
+ EInvoiceAPI::DocumentCreate::Item,
2152
+ EInvoiceAPI::Internal::AnyHash
2153
+ )
2154
+ end
2155
+
2156
+ # The allowances of the line item.
2157
+ sig do
2158
+ returns(
2159
+ T.nilable(T::Array[EInvoiceAPI::DocumentCreate::Item::Allowance])
2160
+ )
2161
+ end
2162
+ attr_accessor :allowances
2163
+
2164
+ # The invoice line net amount (BT-131), exclusive of VAT, inclusive of line level
2165
+ # allowances and charges. Calculated as: ((unit_price / price_base_quantity) \*
2166
+ # quantity) - allowances + charges. Must be rounded to maximum 2 decimals
2167
+ sig do
2168
+ returns(
2169
+ T.nilable(EInvoiceAPI::DocumentCreate::Item::Amount::Variants)
2170
+ )
2171
+ end
2172
+ attr_accessor :amount
2173
+
2174
+ # The charges of the line item.
2175
+ sig do
2176
+ returns(
2177
+ T.nilable(T::Array[EInvoiceAPI::DocumentCreate::Item::Charge])
2178
+ )
2179
+ end
2180
+ attr_accessor :charges
2181
+
2182
+ sig { returns(NilClass) }
2183
+ attr_accessor :date
2184
+
2185
+ # The description of the line item.
2186
+ sig { returns(T.nilable(String)) }
2187
+ attr_accessor :description
2188
+
2189
+ # The item price base quantity (BT-149). The number of item units to which the
2190
+ # price applies. Defaults to 1. Must be rounded to maximum 4 decimals
2191
+ sig do
2192
+ returns(
2193
+ T.nilable(
2194
+ EInvoiceAPI::DocumentCreate::Item::PriceBaseQuantity::Variants
2195
+ )
2196
+ )
2197
+ end
2198
+ attr_accessor :price_base_quantity
2199
+
2200
+ # The product code of the line item.
2201
+ sig { returns(T.nilable(String)) }
2202
+ attr_accessor :product_code
2203
+
2204
+ # The quantity of items (goods or services) that is the subject of the line item.
2205
+ # Must be rounded to maximum 4 decimals
2206
+ sig do
2207
+ returns(
2208
+ T.nilable(EInvoiceAPI::DocumentCreate::Item::Quantity::Variants)
2209
+ )
2210
+ end
2211
+ attr_accessor :quantity
2212
+
2213
+ # The total VAT amount for the line item. Must be rounded to maximum 2 decimals
2214
+ sig do
2215
+ returns(T.nilable(EInvoiceAPI::DocumentCreate::Item::Tax::Variants))
2216
+ end
2217
+ attr_accessor :tax
2218
+
2219
+ # The VAT rate of the line item expressed as percentage with 2 decimals
2220
+ sig do
2221
+ returns(
2222
+ T.nilable(EInvoiceAPI::DocumentCreate::Item::TaxRate::Variants)
2223
+ )
2224
+ end
2225
+ attr_accessor :tax_rate
2226
+
1024
2227
  # Unit of Measure Codes from UNECERec20 used in Peppol BIS Billing 3.0.
1025
2228
  sig { returns(T.nilable(EInvoiceAPI::UnitOfMeasureCode::OrSymbol)) }
1026
2229
  attr_accessor :unit
1027
2230
 
1028
- # The unit price of the line item. Must be rounded to maximum 2 decimals
1029
- sig do
1030
- returns(
1031
- T.nilable(EInvoiceAPI::DocumentCreate::Item::UnitPrice::Variants)
1032
- )
1033
- end
1034
- attr_accessor :unit_price
2231
+ # The item net price (BT-146). The price of an item, exclusive of VAT, after
2232
+ # subtracting item price discount. Must be rounded to maximum 4 decimals
2233
+ sig do
2234
+ returns(
2235
+ T.nilable(EInvoiceAPI::DocumentCreate::Item::UnitPrice::Variants)
2236
+ )
2237
+ end
2238
+ attr_accessor :unit_price
2239
+
2240
+ sig do
2241
+ params(
2242
+ allowances:
2243
+ T.nilable(
2244
+ T::Array[EInvoiceAPI::DocumentCreate::Item::Allowance::OrHash]
2245
+ ),
2246
+ amount:
2247
+ T.nilable(EInvoiceAPI::DocumentCreate::Item::Amount::Variants),
2248
+ charges:
2249
+ T.nilable(
2250
+ T::Array[EInvoiceAPI::DocumentCreate::Item::Charge::OrHash]
2251
+ ),
2252
+ date: NilClass,
2253
+ description: T.nilable(String),
2254
+ price_base_quantity:
2255
+ T.nilable(
2256
+ EInvoiceAPI::DocumentCreate::Item::PriceBaseQuantity::Variants
2257
+ ),
2258
+ product_code: T.nilable(String),
2259
+ quantity:
2260
+ T.nilable(EInvoiceAPI::DocumentCreate::Item::Quantity::Variants),
2261
+ tax: T.nilable(EInvoiceAPI::DocumentCreate::Item::Tax::Variants),
2262
+ tax_rate:
2263
+ T.nilable(EInvoiceAPI::DocumentCreate::Item::TaxRate::Variants),
2264
+ unit: T.nilable(EInvoiceAPI::UnitOfMeasureCode::OrSymbol),
2265
+ unit_price:
2266
+ T.nilable(EInvoiceAPI::DocumentCreate::Item::UnitPrice::Variants)
2267
+ ).returns(T.attached_class)
2268
+ end
2269
+ def self.new(
2270
+ # The allowances of the line item.
2271
+ allowances: nil,
2272
+ # The invoice line net amount (BT-131), exclusive of VAT, inclusive of line level
2273
+ # allowances and charges. Calculated as: ((unit_price / price_base_quantity) \*
2274
+ # quantity) - allowances + charges. Must be rounded to maximum 2 decimals
2275
+ amount: nil,
2276
+ # The charges of the line item.
2277
+ charges: nil,
2278
+ date: nil,
2279
+ # The description of the line item.
2280
+ description: nil,
2281
+ # The item price base quantity (BT-149). The number of item units to which the
2282
+ # price applies. Defaults to 1. Must be rounded to maximum 4 decimals
2283
+ price_base_quantity: nil,
2284
+ # The product code of the line item.
2285
+ product_code: nil,
2286
+ # The quantity of items (goods or services) that is the subject of the line item.
2287
+ # Must be rounded to maximum 4 decimals
2288
+ quantity: nil,
2289
+ # The total VAT amount for the line item. Must be rounded to maximum 2 decimals
2290
+ tax: nil,
2291
+ # The VAT rate of the line item expressed as percentage with 2 decimals
2292
+ tax_rate: nil,
2293
+ # Unit of Measure Codes from UNECERec20 used in Peppol BIS Billing 3.0.
2294
+ unit: nil,
2295
+ # The item net price (BT-146). The price of an item, exclusive of VAT, after
2296
+ # subtracting item price discount. Must be rounded to maximum 4 decimals
2297
+ unit_price: nil
2298
+ )
2299
+ end
2300
+
2301
+ sig do
2302
+ override.returns(
2303
+ {
2304
+ allowances:
2305
+ T.nilable(
2306
+ T::Array[EInvoiceAPI::DocumentCreate::Item::Allowance]
2307
+ ),
2308
+ amount:
2309
+ T.nilable(EInvoiceAPI::DocumentCreate::Item::Amount::Variants),
2310
+ charges:
2311
+ T.nilable(T::Array[EInvoiceAPI::DocumentCreate::Item::Charge]),
2312
+ date: NilClass,
2313
+ description: T.nilable(String),
2314
+ price_base_quantity:
2315
+ T.nilable(
2316
+ EInvoiceAPI::DocumentCreate::Item::PriceBaseQuantity::Variants
2317
+ ),
2318
+ product_code: T.nilable(String),
2319
+ quantity:
2320
+ T.nilable(
2321
+ EInvoiceAPI::DocumentCreate::Item::Quantity::Variants
2322
+ ),
2323
+ tax: T.nilable(EInvoiceAPI::DocumentCreate::Item::Tax::Variants),
2324
+ tax_rate:
2325
+ T.nilable(EInvoiceAPI::DocumentCreate::Item::TaxRate::Variants),
2326
+ unit: T.nilable(EInvoiceAPI::UnitOfMeasureCode::OrSymbol),
2327
+ unit_price:
2328
+ T.nilable(
2329
+ EInvoiceAPI::DocumentCreate::Item::UnitPrice::Variants
2330
+ )
2331
+ }
2332
+ )
2333
+ end
2334
+ def to_hash
2335
+ end
2336
+
2337
+ class Allowance < EInvoiceAPI::Internal::Type::BaseModel
2338
+ OrHash =
2339
+ T.type_alias do
2340
+ T.any(
2341
+ EInvoiceAPI::DocumentCreate::Item::Allowance,
2342
+ EInvoiceAPI::Internal::AnyHash
2343
+ )
2344
+ end
2345
+
2346
+ # The allowance amount, without VAT. Must be rounded to maximum 2 decimals
2347
+ sig do
2348
+ returns(
2349
+ T.nilable(
2350
+ EInvoiceAPI::DocumentCreate::Item::Allowance::Amount::Variants
2351
+ )
2352
+ )
2353
+ end
2354
+ attr_accessor :amount
2355
+
2356
+ # The base amount that may be used, in conjunction with the allowance percentage,
2357
+ # to calculate the allowance amount. Must be rounded to maximum 2 decimals
2358
+ sig do
2359
+ returns(
2360
+ T.nilable(
2361
+ EInvoiceAPI::DocumentCreate::Item::Allowance::BaseAmount::Variants
2362
+ )
2363
+ )
2364
+ end
2365
+ attr_accessor :base_amount
2366
+
2367
+ # The percentage that may be used, in conjunction with the allowance base amount,
2368
+ # to calculate the allowance amount. To state 20%, use value 20. Must be rounded
2369
+ # to maximum 2 decimals
2370
+ sig do
2371
+ returns(
2372
+ T.nilable(
2373
+ EInvoiceAPI::DocumentCreate::Item::Allowance::MultiplierFactor::Variants
2374
+ )
2375
+ )
2376
+ end
2377
+ attr_accessor :multiplier_factor
2378
+
2379
+ # The reason for the allowance
2380
+ sig { returns(T.nilable(String)) }
2381
+ attr_accessor :reason
2382
+
2383
+ # Allowance reason codes for invoice discounts and charges
2384
+ sig do
2385
+ returns(
2386
+ T.nilable(
2387
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::OrSymbol
2388
+ )
2389
+ )
2390
+ end
2391
+ attr_accessor :reason_code
2392
+
2393
+ # The VAT category code that applies to the allowance
2394
+ sig do
2395
+ returns(
2396
+ T.nilable(
2397
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::OrSymbol
2398
+ )
2399
+ )
2400
+ end
2401
+ attr_reader :tax_code
2402
+
2403
+ sig do
2404
+ params(
2405
+ tax_code:
2406
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::OrSymbol
2407
+ ).void
2408
+ end
2409
+ attr_writer :tax_code
2410
+
2411
+ # The VAT rate, represented as percentage that applies to the allowance. Must be
2412
+ # rounded to maximum 2 decimals
2413
+ sig do
2414
+ returns(
2415
+ T.nilable(
2416
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxRate::Variants
2417
+ )
2418
+ )
2419
+ end
2420
+ attr_accessor :tax_rate
2421
+
2422
+ # An allowance is a discount for example for early payment, volume discount, etc.
2423
+ sig do
2424
+ params(
2425
+ amount:
2426
+ T.nilable(
2427
+ EInvoiceAPI::DocumentCreate::Item::Allowance::Amount::Variants
2428
+ ),
2429
+ base_amount:
2430
+ T.nilable(
2431
+ EInvoiceAPI::DocumentCreate::Item::Allowance::BaseAmount::Variants
2432
+ ),
2433
+ multiplier_factor:
2434
+ T.nilable(
2435
+ EInvoiceAPI::DocumentCreate::Item::Allowance::MultiplierFactor::Variants
2436
+ ),
2437
+ reason: T.nilable(String),
2438
+ reason_code:
2439
+ T.nilable(
2440
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::OrSymbol
2441
+ ),
2442
+ tax_code:
2443
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::OrSymbol,
2444
+ tax_rate:
2445
+ T.nilable(
2446
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxRate::Variants
2447
+ )
2448
+ ).returns(T.attached_class)
2449
+ end
2450
+ def self.new(
2451
+ # The allowance amount, without VAT. Must be rounded to maximum 2 decimals
2452
+ amount: nil,
2453
+ # The base amount that may be used, in conjunction with the allowance percentage,
2454
+ # to calculate the allowance amount. Must be rounded to maximum 2 decimals
2455
+ base_amount: nil,
2456
+ # The percentage that may be used, in conjunction with the allowance base amount,
2457
+ # to calculate the allowance amount. To state 20%, use value 20. Must be rounded
2458
+ # to maximum 2 decimals
2459
+ multiplier_factor: nil,
2460
+ # The reason for the allowance
2461
+ reason: nil,
2462
+ # Allowance reason codes for invoice discounts and charges
2463
+ reason_code: nil,
2464
+ # The VAT category code that applies to the allowance
2465
+ tax_code: nil,
2466
+ # The VAT rate, represented as percentage that applies to the allowance. Must be
2467
+ # rounded to maximum 2 decimals
2468
+ tax_rate: nil
2469
+ )
2470
+ end
2471
+
2472
+ sig do
2473
+ override.returns(
2474
+ {
2475
+ amount:
2476
+ T.nilable(
2477
+ EInvoiceAPI::DocumentCreate::Item::Allowance::Amount::Variants
2478
+ ),
2479
+ base_amount:
2480
+ T.nilable(
2481
+ EInvoiceAPI::DocumentCreate::Item::Allowance::BaseAmount::Variants
2482
+ ),
2483
+ multiplier_factor:
2484
+ T.nilable(
2485
+ EInvoiceAPI::DocumentCreate::Item::Allowance::MultiplierFactor::Variants
2486
+ ),
2487
+ reason: T.nilable(String),
2488
+ reason_code:
2489
+ T.nilable(
2490
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::OrSymbol
2491
+ ),
2492
+ tax_code:
2493
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::OrSymbol,
2494
+ tax_rate:
2495
+ T.nilable(
2496
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxRate::Variants
2497
+ )
2498
+ }
2499
+ )
2500
+ end
2501
+ def to_hash
2502
+ end
2503
+
2504
+ # The allowance amount, without VAT. Must be rounded to maximum 2 decimals
2505
+ module Amount
2506
+ extend EInvoiceAPI::Internal::Type::Union
2507
+
2508
+ Variants = T.type_alias { T.any(Float, String) }
2509
+
2510
+ sig do
2511
+ override.returns(
2512
+ T::Array[
2513
+ EInvoiceAPI::DocumentCreate::Item::Allowance::Amount::Variants
2514
+ ]
2515
+ )
2516
+ end
2517
+ def self.variants
2518
+ end
2519
+ end
2520
+
2521
+ # The base amount that may be used, in conjunction with the allowance percentage,
2522
+ # to calculate the allowance amount. Must be rounded to maximum 2 decimals
2523
+ module BaseAmount
2524
+ extend EInvoiceAPI::Internal::Type::Union
2525
+
2526
+ Variants = T.type_alias { T.any(Float, String) }
2527
+
2528
+ sig do
2529
+ override.returns(
2530
+ T::Array[
2531
+ EInvoiceAPI::DocumentCreate::Item::Allowance::BaseAmount::Variants
2532
+ ]
2533
+ )
2534
+ end
2535
+ def self.variants
2536
+ end
2537
+ end
2538
+
2539
+ # The percentage that may be used, in conjunction with the allowance base amount,
2540
+ # to calculate the allowance amount. To state 20%, use value 20. Must be rounded
2541
+ # to maximum 2 decimals
2542
+ module MultiplierFactor
2543
+ extend EInvoiceAPI::Internal::Type::Union
2544
+
2545
+ Variants = T.type_alias { T.any(Float, String) }
2546
+
2547
+ sig do
2548
+ override.returns(
2549
+ T::Array[
2550
+ EInvoiceAPI::DocumentCreate::Item::Allowance::MultiplierFactor::Variants
2551
+ ]
2552
+ )
2553
+ end
2554
+ def self.variants
2555
+ end
2556
+ end
2557
+
2558
+ # Allowance reason codes for invoice discounts and charges
2559
+ module ReasonCode
2560
+ extend EInvoiceAPI::Internal::Type::Enum
2561
+
2562
+ TaggedSymbol =
2563
+ T.type_alias do
2564
+ T.all(
2565
+ Symbol,
2566
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode
2567
+ )
2568
+ end
2569
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2570
+
2571
+ REASON_CODE_41 =
2572
+ T.let(
2573
+ :"41",
2574
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2575
+ )
2576
+ REASON_CODE_42 =
2577
+ T.let(
2578
+ :"42",
2579
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2580
+ )
2581
+ REASON_CODE_60 =
2582
+ T.let(
2583
+ :"60",
2584
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2585
+ )
2586
+ REASON_CODE_62 =
2587
+ T.let(
2588
+ :"62",
2589
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2590
+ )
2591
+ REASON_CODE_63 =
2592
+ T.let(
2593
+ :"63",
2594
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2595
+ )
2596
+ REASON_CODE_64 =
2597
+ T.let(
2598
+ :"64",
2599
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2600
+ )
2601
+ REASON_CODE_65 =
2602
+ T.let(
2603
+ :"65",
2604
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2605
+ )
2606
+ REASON_CODE_66 =
2607
+ T.let(
2608
+ :"66",
2609
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2610
+ )
2611
+ REASON_CODE_67 =
2612
+ T.let(
2613
+ :"67",
2614
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2615
+ )
2616
+ REASON_CODE_68 =
2617
+ T.let(
2618
+ :"68",
2619
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2620
+ )
2621
+ REASON_CODE_70 =
2622
+ T.let(
2623
+ :"70",
2624
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2625
+ )
2626
+ REASON_CODE_71 =
2627
+ T.let(
2628
+ :"71",
2629
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2630
+ )
2631
+ REASON_CODE_88 =
2632
+ T.let(
2633
+ :"88",
2634
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2635
+ )
2636
+ REASON_CODE_95 =
2637
+ T.let(
2638
+ :"95",
2639
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2640
+ )
2641
+ REASON_CODE_100 =
2642
+ T.let(
2643
+ :"100",
2644
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2645
+ )
2646
+ REASON_CODE_102 =
2647
+ T.let(
2648
+ :"102",
2649
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2650
+ )
2651
+ REASON_CODE_103 =
2652
+ T.let(
2653
+ :"103",
2654
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2655
+ )
2656
+ REASON_CODE_104 =
2657
+ T.let(
2658
+ :"104",
2659
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2660
+ )
2661
+ REASON_CODE_105 =
2662
+ T.let(
2663
+ :"105",
2664
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2665
+ )
2666
+
2667
+ sig do
2668
+ override.returns(
2669
+ T::Array[
2670
+ EInvoiceAPI::DocumentCreate::Item::Allowance::ReasonCode::TaggedSymbol
2671
+ ]
2672
+ )
2673
+ end
2674
+ def self.values
2675
+ end
2676
+ end
2677
+
2678
+ # The VAT category code that applies to the allowance
2679
+ module TaxCode
2680
+ extend EInvoiceAPI::Internal::Type::Enum
2681
+
2682
+ TaggedSymbol =
2683
+ T.type_alias do
2684
+ T.all(
2685
+ Symbol,
2686
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode
2687
+ )
2688
+ end
2689
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2690
+
2691
+ AE =
2692
+ T.let(
2693
+ :AE,
2694
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
2695
+ )
2696
+ E =
2697
+ T.let(
2698
+ :E,
2699
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
2700
+ )
2701
+ S =
2702
+ T.let(
2703
+ :S,
2704
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
2705
+ )
2706
+ Z =
2707
+ T.let(
2708
+ :Z,
2709
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
2710
+ )
2711
+ G =
2712
+ T.let(
2713
+ :G,
2714
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
2715
+ )
2716
+ O =
2717
+ T.let(
2718
+ :O,
2719
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
2720
+ )
2721
+ K =
2722
+ T.let(
2723
+ :K,
2724
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
2725
+ )
2726
+ L =
2727
+ T.let(
2728
+ :L,
2729
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
2730
+ )
2731
+ M =
2732
+ T.let(
2733
+ :M,
2734
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
2735
+ )
2736
+ B =
2737
+ T.let(
2738
+ :B,
2739
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
2740
+ )
2741
+
2742
+ sig do
2743
+ override.returns(
2744
+ T::Array[
2745
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
2746
+ ]
2747
+ )
2748
+ end
2749
+ def self.values
2750
+ end
2751
+ end
2752
+
2753
+ # The VAT rate, represented as percentage that applies to the allowance. Must be
2754
+ # rounded to maximum 2 decimals
2755
+ module TaxRate
2756
+ extend EInvoiceAPI::Internal::Type::Union
2757
+
2758
+ Variants = T.type_alias { T.any(Float, String) }
2759
+
2760
+ sig do
2761
+ override.returns(
2762
+ T::Array[
2763
+ EInvoiceAPI::DocumentCreate::Item::Allowance::TaxRate::Variants
2764
+ ]
2765
+ )
2766
+ end
2767
+ def self.variants
2768
+ end
2769
+ end
2770
+ end
2771
+
2772
+ # The invoice line net amount (BT-131), exclusive of VAT, inclusive of line level
2773
+ # allowances and charges. Calculated as: ((unit_price / price_base_quantity) \*
2774
+ # quantity) - allowances + charges. Must be rounded to maximum 2 decimals
2775
+ module Amount
2776
+ extend EInvoiceAPI::Internal::Type::Union
2777
+
2778
+ Variants = T.type_alias { T.any(Float, String) }
2779
+
2780
+ sig do
2781
+ override.returns(
2782
+ T::Array[EInvoiceAPI::DocumentCreate::Item::Amount::Variants]
2783
+ )
2784
+ end
2785
+ def self.variants
2786
+ end
2787
+ end
2788
+
2789
+ class Charge < EInvoiceAPI::Internal::Type::BaseModel
2790
+ OrHash =
2791
+ T.type_alias do
2792
+ T.any(
2793
+ EInvoiceAPI::DocumentCreate::Item::Charge,
2794
+ EInvoiceAPI::Internal::AnyHash
2795
+ )
2796
+ end
2797
+
2798
+ # The charge amount, without VAT. Must be rounded to maximum 2 decimals
2799
+ sig do
2800
+ returns(
2801
+ T.nilable(
2802
+ EInvoiceAPI::DocumentCreate::Item::Charge::Amount::Variants
2803
+ )
2804
+ )
2805
+ end
2806
+ attr_accessor :amount
2807
+
2808
+ # The base amount that may be used, in conjunction with the charge percentage, to
2809
+ # calculate the charge amount. Must be rounded to maximum 2 decimals
2810
+ sig do
2811
+ returns(
2812
+ T.nilable(
2813
+ EInvoiceAPI::DocumentCreate::Item::Charge::BaseAmount::Variants
2814
+ )
2815
+ )
2816
+ end
2817
+ attr_accessor :base_amount
2818
+
2819
+ # The percentage that may be used, in conjunction with the charge base amount, to
2820
+ # calculate the charge amount. To state 20%, use value 20
2821
+ sig do
2822
+ returns(
2823
+ T.nilable(
2824
+ EInvoiceAPI::DocumentCreate::Item::Charge::MultiplierFactor::Variants
2825
+ )
2826
+ )
2827
+ end
2828
+ attr_accessor :multiplier_factor
1035
2829
 
1036
- sig do
1037
- params(
1038
- allowances:
2830
+ # The reason for the charge
2831
+ sig { returns(T.nilable(String)) }
2832
+ attr_accessor :reason
2833
+
2834
+ # Charge reason codes for invoice charges and fees
2835
+ sig do
2836
+ returns(
1039
2837
  T.nilable(
1040
- T::Array[EInvoiceAPI::DocumentCreate::Item::Allowance::OrHash]
1041
- ),
1042
- amount:
1043
- T.nilable(EInvoiceAPI::DocumentCreate::Item::Amount::Variants),
1044
- charges:
2838
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::OrSymbol
2839
+ )
2840
+ )
2841
+ end
2842
+ attr_accessor :reason_code
2843
+
2844
+ # Duty or tax or fee category codes (Subset of UNCL5305)
2845
+ #
2846
+ # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
2847
+ sig do
2848
+ returns(
1045
2849
  T.nilable(
1046
- T::Array[EInvoiceAPI::DocumentCreate::Item::Charge::OrHash]
1047
- ),
1048
- date: NilClass,
1049
- description: T.nilable(String),
1050
- product_code: T.nilable(String),
1051
- quantity:
1052
- T.nilable(EInvoiceAPI::DocumentCreate::Item::Quantity::Variants),
1053
- tax: T.nilable(EInvoiceAPI::DocumentCreate::Item::Tax::Variants),
1054
- tax_rate: T.nilable(String),
1055
- unit: T.nilable(EInvoiceAPI::UnitOfMeasureCode::OrSymbol),
1056
- unit_price:
1057
- T.nilable(EInvoiceAPI::DocumentCreate::Item::UnitPrice::Variants)
1058
- ).returns(T.attached_class)
1059
- end
1060
- def self.new(
1061
- # The allowances of the line item.
1062
- allowances: nil,
1063
- # The total amount of the line item, exclusive of VAT, after subtracting line
1064
- # level allowances and adding line level charges. Must be rounded to maximum 2
1065
- # decimals
1066
- amount: nil,
1067
- # The charges of the line item.
1068
- charges: nil,
1069
- date: nil,
1070
- # The description of the line item.
1071
- description: nil,
1072
- # The product code of the line item.
1073
- product_code: nil,
1074
- # The quantity of items (goods or services) that is the subject of the line item.
1075
- # Must be rounded to maximum 4 decimals
1076
- quantity: nil,
1077
- # The total VAT amount for the line item. Must be rounded to maximum 2 decimals
1078
- tax: nil,
1079
- # The VAT rate of the line item expressed as percentage with 2 decimals
1080
- tax_rate: nil,
1081
- # Unit of Measure Codes from UNECERec20 used in Peppol BIS Billing 3.0.
1082
- unit: nil,
1083
- # The unit price of the line item. Must be rounded to maximum 2 decimals
1084
- unit_price: nil
1085
- )
1086
- end
2850
+ EInvoiceAPI::DocumentCreate::Item::Charge::TaxCode::OrSymbol
2851
+ )
2852
+ )
2853
+ end
2854
+ attr_accessor :tax_code
1087
2855
 
1088
- sig do
1089
- override.returns(
1090
- {
1091
- allowances:
2856
+ # The VAT rate, represented as percentage that applies to the charge
2857
+ sig do
2858
+ returns(
2859
+ T.nilable(
2860
+ EInvoiceAPI::DocumentCreate::Item::Charge::TaxRate::Variants
2861
+ )
2862
+ )
2863
+ end
2864
+ attr_accessor :tax_rate
2865
+
2866
+ # A charge is an additional fee for example for late payment, late delivery, etc.
2867
+ sig do
2868
+ params(
2869
+ amount:
1092
2870
  T.nilable(
1093
- T::Array[EInvoiceAPI::DocumentCreate::Item::Allowance]
2871
+ EInvoiceAPI::DocumentCreate::Item::Charge::Amount::Variants
1094
2872
  ),
1095
- amount:
1096
- T.nilable(EInvoiceAPI::DocumentCreate::Item::Amount::Variants),
1097
- charges:
1098
- T.nilable(T::Array[EInvoiceAPI::DocumentCreate::Item::Charge]),
1099
- date: NilClass,
1100
- description: T.nilable(String),
1101
- product_code: T.nilable(String),
1102
- quantity:
2873
+ base_amount:
1103
2874
  T.nilable(
1104
- EInvoiceAPI::DocumentCreate::Item::Quantity::Variants
2875
+ EInvoiceAPI::DocumentCreate::Item::Charge::BaseAmount::Variants
1105
2876
  ),
1106
- tax: T.nilable(EInvoiceAPI::DocumentCreate::Item::Tax::Variants),
1107
- tax_rate: T.nilable(String),
1108
- unit: T.nilable(EInvoiceAPI::UnitOfMeasureCode::OrSymbol),
1109
- unit_price:
2877
+ multiplier_factor:
1110
2878
  T.nilable(
1111
- EInvoiceAPI::DocumentCreate::Item::UnitPrice::Variants
2879
+ EInvoiceAPI::DocumentCreate::Item::Charge::MultiplierFactor::Variants
2880
+ ),
2881
+ reason: T.nilable(String),
2882
+ reason_code:
2883
+ T.nilable(
2884
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::OrSymbol
2885
+ ),
2886
+ tax_code:
2887
+ T.nilable(
2888
+ EInvoiceAPI::DocumentCreate::Item::Charge::TaxCode::OrSymbol
2889
+ ),
2890
+ tax_rate:
2891
+ T.nilable(
2892
+ EInvoiceAPI::DocumentCreate::Item::Charge::TaxRate::Variants
1112
2893
  )
1113
- }
2894
+ ).returns(T.attached_class)
2895
+ end
2896
+ def self.new(
2897
+ # The charge amount, without VAT. Must be rounded to maximum 2 decimals
2898
+ amount: nil,
2899
+ # The base amount that may be used, in conjunction with the charge percentage, to
2900
+ # calculate the charge amount. Must be rounded to maximum 2 decimals
2901
+ base_amount: nil,
2902
+ # The percentage that may be used, in conjunction with the charge base amount, to
2903
+ # calculate the charge amount. To state 20%, use value 20
2904
+ multiplier_factor: nil,
2905
+ # The reason for the charge
2906
+ reason: nil,
2907
+ # Charge reason codes for invoice charges and fees
2908
+ reason_code: nil,
2909
+ # Duty or tax or fee category codes (Subset of UNCL5305)
2910
+ #
2911
+ # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
2912
+ tax_code: nil,
2913
+ # The VAT rate, represented as percentage that applies to the charge
2914
+ tax_rate: nil
1114
2915
  )
1115
- end
1116
- def to_hash
1117
- end
2916
+ end
1118
2917
 
1119
- class Allowance < EInvoiceAPI::Internal::Type::BaseModel
1120
- OrHash =
1121
- T.type_alias do
1122
- T.any(
1123
- EInvoiceAPI::DocumentCreate::Item::Allowance,
1124
- EInvoiceAPI::Internal::AnyHash
2918
+ sig do
2919
+ override.returns(
2920
+ {
2921
+ amount:
2922
+ T.nilable(
2923
+ EInvoiceAPI::DocumentCreate::Item::Charge::Amount::Variants
2924
+ ),
2925
+ base_amount:
2926
+ T.nilable(
2927
+ EInvoiceAPI::DocumentCreate::Item::Charge::BaseAmount::Variants
2928
+ ),
2929
+ multiplier_factor:
2930
+ T.nilable(
2931
+ EInvoiceAPI::DocumentCreate::Item::Charge::MultiplierFactor::Variants
2932
+ ),
2933
+ reason: T.nilable(String),
2934
+ reason_code:
2935
+ T.nilable(
2936
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::OrSymbol
2937
+ ),
2938
+ tax_code:
2939
+ T.nilable(
2940
+ EInvoiceAPI::DocumentCreate::Item::Charge::TaxCode::OrSymbol
2941
+ ),
2942
+ tax_rate:
2943
+ T.nilable(
2944
+ EInvoiceAPI::DocumentCreate::Item::Charge::TaxRate::Variants
2945
+ )
2946
+ }
2947
+ )
2948
+ end
2949
+ def to_hash
2950
+ end
2951
+
2952
+ # The charge amount, without VAT. Must be rounded to maximum 2 decimals
2953
+ module Amount
2954
+ extend EInvoiceAPI::Internal::Type::Union
2955
+
2956
+ Variants = T.type_alias { T.any(Float, String) }
2957
+
2958
+ sig do
2959
+ override.returns(
2960
+ T::Array[
2961
+ EInvoiceAPI::DocumentCreate::Item::Charge::Amount::Variants
2962
+ ]
2963
+ )
2964
+ end
2965
+ def self.variants
2966
+ end
2967
+ end
2968
+
2969
+ # The base amount that may be used, in conjunction with the charge percentage, to
2970
+ # calculate the charge amount. Must be rounded to maximum 2 decimals
2971
+ module BaseAmount
2972
+ extend EInvoiceAPI::Internal::Type::Union
2973
+
2974
+ Variants = T.type_alias { T.any(Float, String) }
2975
+
2976
+ sig do
2977
+ override.returns(
2978
+ T::Array[
2979
+ EInvoiceAPI::DocumentCreate::Item::Charge::BaseAmount::Variants
2980
+ ]
2981
+ )
2982
+ end
2983
+ def self.variants
2984
+ end
2985
+ end
2986
+
2987
+ # The percentage that may be used, in conjunction with the charge base amount, to
2988
+ # calculate the charge amount. To state 20%, use value 20
2989
+ module MultiplierFactor
2990
+ extend EInvoiceAPI::Internal::Type::Union
2991
+
2992
+ Variants = T.type_alias { T.any(Float, String) }
2993
+
2994
+ sig do
2995
+ override.returns(
2996
+ T::Array[
2997
+ EInvoiceAPI::DocumentCreate::Item::Charge::MultiplierFactor::Variants
2998
+ ]
2999
+ )
3000
+ end
3001
+ def self.variants
3002
+ end
3003
+ end
3004
+
3005
+ # Charge reason codes for invoice charges and fees
3006
+ module ReasonCode
3007
+ extend EInvoiceAPI::Internal::Type::Enum
3008
+
3009
+ TaggedSymbol =
3010
+ T.type_alias do
3011
+ T.all(
3012
+ Symbol,
3013
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode
3014
+ )
3015
+ end
3016
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3017
+
3018
+ AA =
3019
+ T.let(
3020
+ :AA,
3021
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3022
+ )
3023
+ AAA =
3024
+ T.let(
3025
+ :AAA,
3026
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3027
+ )
3028
+ AAC =
3029
+ T.let(
3030
+ :AAC,
3031
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3032
+ )
3033
+ AAD =
3034
+ T.let(
3035
+ :AAD,
3036
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3037
+ )
3038
+ AAE =
3039
+ T.let(
3040
+ :AAE,
3041
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3042
+ )
3043
+ AAF =
3044
+ T.let(
3045
+ :AAF,
3046
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3047
+ )
3048
+ AAH =
3049
+ T.let(
3050
+ :AAH,
3051
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3052
+ )
3053
+ AAI =
3054
+ T.let(
3055
+ :AAI,
3056
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3057
+ )
3058
+ AAS =
3059
+ T.let(
3060
+ :AAS,
3061
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3062
+ )
3063
+ AAT =
3064
+ T.let(
3065
+ :AAT,
3066
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3067
+ )
3068
+ AAV =
3069
+ T.let(
3070
+ :AAV,
3071
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3072
+ )
3073
+ AAY =
3074
+ T.let(
3075
+ :AAY,
3076
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3077
+ )
3078
+ AAZ =
3079
+ T.let(
3080
+ :AAZ,
3081
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3082
+ )
3083
+ ABA =
3084
+ T.let(
3085
+ :ABA,
3086
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3087
+ )
3088
+ ABB =
3089
+ T.let(
3090
+ :ABB,
3091
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3092
+ )
3093
+ ABC =
3094
+ T.let(
3095
+ :ABC,
3096
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3097
+ )
3098
+ ABD =
3099
+ T.let(
3100
+ :ABD,
3101
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3102
+ )
3103
+ ABF =
3104
+ T.let(
3105
+ :ABF,
3106
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3107
+ )
3108
+ ABK =
3109
+ T.let(
3110
+ :ABK,
3111
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3112
+ )
3113
+ ABL =
3114
+ T.let(
3115
+ :ABL,
3116
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3117
+ )
3118
+ ABN =
3119
+ T.let(
3120
+ :ABN,
3121
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3122
+ )
3123
+ ABR =
3124
+ T.let(
3125
+ :ABR,
3126
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3127
+ )
3128
+ ABS =
3129
+ T.let(
3130
+ :ABS,
3131
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3132
+ )
3133
+ ABT =
3134
+ T.let(
3135
+ :ABT,
3136
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3137
+ )
3138
+ ABU =
3139
+ T.let(
3140
+ :ABU,
3141
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3142
+ )
3143
+ ACF =
3144
+ T.let(
3145
+ :ACF,
3146
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3147
+ )
3148
+ ACG =
3149
+ T.let(
3150
+ :ACG,
3151
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3152
+ )
3153
+ ACH =
3154
+ T.let(
3155
+ :ACH,
3156
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3157
+ )
3158
+ ACI =
3159
+ T.let(
3160
+ :ACI,
3161
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3162
+ )
3163
+ ACJ =
3164
+ T.let(
3165
+ :ACJ,
3166
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3167
+ )
3168
+ ACK =
3169
+ T.let(
3170
+ :ACK,
3171
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3172
+ )
3173
+ ACL =
3174
+ T.let(
3175
+ :ACL,
3176
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3177
+ )
3178
+ ACM =
3179
+ T.let(
3180
+ :ACM,
3181
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3182
+ )
3183
+ ACS =
3184
+ T.let(
3185
+ :ACS,
3186
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3187
+ )
3188
+ ADC =
3189
+ T.let(
3190
+ :ADC,
3191
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3192
+ )
3193
+ ADE =
3194
+ T.let(
3195
+ :ADE,
3196
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3197
+ )
3198
+ ADJ =
3199
+ T.let(
3200
+ :ADJ,
3201
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3202
+ )
3203
+ ADK =
3204
+ T.let(
3205
+ :ADK,
3206
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3207
+ )
3208
+ ADL =
3209
+ T.let(
3210
+ :ADL,
3211
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3212
+ )
3213
+ ADM =
3214
+ T.let(
3215
+ :ADM,
3216
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3217
+ )
3218
+ ADN =
3219
+ T.let(
3220
+ :ADN,
3221
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3222
+ )
3223
+ ADO =
3224
+ T.let(
3225
+ :ADO,
3226
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3227
+ )
3228
+ ADP =
3229
+ T.let(
3230
+ :ADP,
3231
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3232
+ )
3233
+ ADQ =
3234
+ T.let(
3235
+ :ADQ,
3236
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3237
+ )
3238
+ ADR =
3239
+ T.let(
3240
+ :ADR,
3241
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3242
+ )
3243
+ ADT =
3244
+ T.let(
3245
+ :ADT,
3246
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3247
+ )
3248
+ ADW =
3249
+ T.let(
3250
+ :ADW,
3251
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3252
+ )
3253
+ ADY =
3254
+ T.let(
3255
+ :ADY,
3256
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3257
+ )
3258
+ ADZ =
3259
+ T.let(
3260
+ :ADZ,
3261
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3262
+ )
3263
+ AEA =
3264
+ T.let(
3265
+ :AEA,
3266
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3267
+ )
3268
+ AEB =
3269
+ T.let(
3270
+ :AEB,
3271
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3272
+ )
3273
+ AEC =
3274
+ T.let(
3275
+ :AEC,
3276
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3277
+ )
3278
+ AED =
3279
+ T.let(
3280
+ :AED,
3281
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3282
+ )
3283
+ AEF =
3284
+ T.let(
3285
+ :AEF,
3286
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3287
+ )
3288
+ AEH =
3289
+ T.let(
3290
+ :AEH,
3291
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3292
+ )
3293
+ AEI =
3294
+ T.let(
3295
+ :AEI,
3296
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3297
+ )
3298
+ AEJ =
3299
+ T.let(
3300
+ :AEJ,
3301
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3302
+ )
3303
+ AEK =
3304
+ T.let(
3305
+ :AEK,
3306
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3307
+ )
3308
+ AEL =
3309
+ T.let(
3310
+ :AEL,
3311
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3312
+ )
3313
+ AEM =
3314
+ T.let(
3315
+ :AEM,
3316
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3317
+ )
3318
+ AEN =
3319
+ T.let(
3320
+ :AEN,
3321
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3322
+ )
3323
+ AEO =
3324
+ T.let(
3325
+ :AEO,
3326
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3327
+ )
3328
+ AEP =
3329
+ T.let(
3330
+ :AEP,
3331
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3332
+ )
3333
+ AES =
3334
+ T.let(
3335
+ :AES,
3336
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3337
+ )
3338
+ AET =
3339
+ T.let(
3340
+ :AET,
3341
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3342
+ )
3343
+ AEU =
3344
+ T.let(
3345
+ :AEU,
3346
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3347
+ )
3348
+ AEV =
3349
+ T.let(
3350
+ :AEV,
3351
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3352
+ )
3353
+ AEW =
3354
+ T.let(
3355
+ :AEW,
3356
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3357
+ )
3358
+ AEX =
3359
+ T.let(
3360
+ :AEX,
3361
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3362
+ )
3363
+ AEY =
3364
+ T.let(
3365
+ :AEY,
3366
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3367
+ )
3368
+ AEZ =
3369
+ T.let(
3370
+ :AEZ,
3371
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3372
+ )
3373
+ AJ =
3374
+ T.let(
3375
+ :AJ,
3376
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3377
+ )
3378
+ AU =
3379
+ T.let(
3380
+ :AU,
3381
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3382
+ )
3383
+ CA =
3384
+ T.let(
3385
+ :CA,
3386
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3387
+ )
3388
+ CAB =
3389
+ T.let(
3390
+ :CAB,
3391
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3392
+ )
3393
+ CAD =
3394
+ T.let(
3395
+ :CAD,
3396
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3397
+ )
3398
+ CAE =
3399
+ T.let(
3400
+ :CAE,
3401
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3402
+ )
3403
+ CAF =
3404
+ T.let(
3405
+ :CAF,
3406
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3407
+ )
3408
+ CAI =
3409
+ T.let(
3410
+ :CAI,
3411
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3412
+ )
3413
+ CAJ =
3414
+ T.let(
3415
+ :CAJ,
3416
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3417
+ )
3418
+ CAK =
3419
+ T.let(
3420
+ :CAK,
3421
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3422
+ )
3423
+ CAL =
3424
+ T.let(
3425
+ :CAL,
3426
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3427
+ )
3428
+ CAM =
3429
+ T.let(
3430
+ :CAM,
3431
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3432
+ )
3433
+ CAN =
3434
+ T.let(
3435
+ :CAN,
3436
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3437
+ )
3438
+ CAO =
3439
+ T.let(
3440
+ :CAO,
3441
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3442
+ )
3443
+ CAP =
3444
+ T.let(
3445
+ :CAP,
3446
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3447
+ )
3448
+ CAQ =
3449
+ T.let(
3450
+ :CAQ,
3451
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3452
+ )
3453
+ CAR =
3454
+ T.let(
3455
+ :CAR,
3456
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3457
+ )
3458
+ CAS =
3459
+ T.let(
3460
+ :CAS,
3461
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3462
+ )
3463
+ CAT =
3464
+ T.let(
3465
+ :CAT,
3466
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3467
+ )
3468
+ CAU =
3469
+ T.let(
3470
+ :CAU,
3471
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3472
+ )
3473
+ CAV =
3474
+ T.let(
3475
+ :CAV,
3476
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3477
+ )
3478
+ CAW =
3479
+ T.let(
3480
+ :CAW,
3481
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3482
+ )
3483
+ CAX =
3484
+ T.let(
3485
+ :CAX,
3486
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3487
+ )
3488
+ CAY =
3489
+ T.let(
3490
+ :CAY,
3491
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3492
+ )
3493
+ CAZ =
3494
+ T.let(
3495
+ :CAZ,
3496
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3497
+ )
3498
+ CD =
3499
+ T.let(
3500
+ :CD,
3501
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3502
+ )
3503
+ CG =
3504
+ T.let(
3505
+ :CG,
3506
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3507
+ )
3508
+ CS =
3509
+ T.let(
3510
+ :CS,
3511
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3512
+ )
3513
+ CT =
3514
+ T.let(
3515
+ :CT,
3516
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3517
+ )
3518
+ DAB =
3519
+ T.let(
3520
+ :DAB,
3521
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3522
+ )
3523
+ DAC =
3524
+ T.let(
3525
+ :DAC,
3526
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3527
+ )
3528
+ DAD =
3529
+ T.let(
3530
+ :DAD,
3531
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3532
+ )
3533
+ DAF =
3534
+ T.let(
3535
+ :DAF,
3536
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3537
+ )
3538
+ DAG =
3539
+ T.let(
3540
+ :DAG,
3541
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3542
+ )
3543
+ DAH =
3544
+ T.let(
3545
+ :DAH,
3546
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3547
+ )
3548
+ DAI =
3549
+ T.let(
3550
+ :DAI,
3551
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3552
+ )
3553
+ DAJ =
3554
+ T.let(
3555
+ :DAJ,
3556
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3557
+ )
3558
+ DAK =
3559
+ T.let(
3560
+ :DAK,
3561
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3562
+ )
3563
+ DAL =
3564
+ T.let(
3565
+ :DAL,
3566
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3567
+ )
3568
+ DAM =
3569
+ T.let(
3570
+ :DAM,
3571
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3572
+ )
3573
+ DAN =
3574
+ T.let(
3575
+ :DAN,
3576
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3577
+ )
3578
+ DAO =
3579
+ T.let(
3580
+ :DAO,
3581
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3582
+ )
3583
+ DAP =
3584
+ T.let(
3585
+ :DAP,
3586
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3587
+ )
3588
+ DAQ =
3589
+ T.let(
3590
+ :DAQ,
3591
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3592
+ )
3593
+ DL =
3594
+ T.let(
3595
+ :DL,
3596
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3597
+ )
3598
+ EG =
3599
+ T.let(
3600
+ :EG,
3601
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3602
+ )
3603
+ EP =
3604
+ T.let(
3605
+ :EP,
3606
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3607
+ )
3608
+ ER =
3609
+ T.let(
3610
+ :ER,
3611
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3612
+ )
3613
+ FAA =
3614
+ T.let(
3615
+ :FAA,
3616
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3617
+ )
3618
+ FAB =
3619
+ T.let(
3620
+ :FAB,
3621
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3622
+ )
3623
+ FAC =
3624
+ T.let(
3625
+ :FAC,
3626
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3627
+ )
3628
+ FC =
3629
+ T.let(
3630
+ :FC,
3631
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3632
+ )
3633
+ FH =
3634
+ T.let(
3635
+ :FH,
3636
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3637
+ )
3638
+ FI =
3639
+ T.let(
3640
+ :FI,
3641
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3642
+ )
3643
+ GAA =
3644
+ T.let(
3645
+ :GAA,
3646
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3647
+ )
3648
+ HAA =
3649
+ T.let(
3650
+ :HAA,
3651
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3652
+ )
3653
+ HD =
3654
+ T.let(
3655
+ :HD,
3656
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3657
+ )
3658
+ HH =
3659
+ T.let(
3660
+ :HH,
3661
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3662
+ )
3663
+ IAA =
3664
+ T.let(
3665
+ :IAA,
3666
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3667
+ )
3668
+ IAB =
3669
+ T.let(
3670
+ :IAB,
3671
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1125
3672
  )
1126
- end
1127
-
1128
- # The allowance amount, without VAT. Must be rounded to maximum 2 decimals
1129
- sig do
1130
- returns(
1131
- T.nilable(
1132
- EInvoiceAPI::DocumentCreate::Item::Allowance::Amount::Variants
3673
+ ID =
3674
+ T.let(
3675
+ :ID,
3676
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1133
3677
  )
1134
- )
1135
- end
1136
- attr_accessor :amount
1137
-
1138
- # The base amount that may be used, in conjunction with the allowance percentage,
1139
- # to calculate the allowance amount. Must be rounded to maximum 2 decimals
1140
- sig do
1141
- returns(
1142
- T.nilable(
1143
- EInvoiceAPI::DocumentCreate::Item::Allowance::BaseAmount::Variants
3678
+ IF =
3679
+ T.let(
3680
+ :IF,
3681
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1144
3682
  )
1145
- )
1146
- end
1147
- attr_accessor :base_amount
1148
-
1149
- # The percentage that may be used, in conjunction with the allowance base amount,
1150
- # to calculate the allowance amount. To state 20%, use value 20
1151
- sig do
1152
- returns(
1153
- T.nilable(
1154
- EInvoiceAPI::DocumentCreate::Item::Allowance::MultiplierFactor::Variants
3683
+ IR =
3684
+ T.let(
3685
+ :IR,
3686
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1155
3687
  )
1156
- )
1157
- end
1158
- attr_accessor :multiplier_factor
1159
-
1160
- # The reason for the allowance
1161
- sig { returns(T.nilable(String)) }
1162
- attr_accessor :reason
1163
-
1164
- # The code for the allowance reason
1165
- sig { returns(T.nilable(String)) }
1166
- attr_accessor :reason_code
1167
-
1168
- # Duty or tax or fee category codes (Subset of UNCL5305)
1169
- #
1170
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
1171
- sig do
1172
- returns(
1173
- T.nilable(
1174
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::OrSymbol
3688
+ IS =
3689
+ T.let(
3690
+ :IS,
3691
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1175
3692
  )
1176
- )
1177
- end
1178
- attr_accessor :tax_code
1179
-
1180
- # The VAT rate, represented as percentage that applies to the allowance
1181
- sig { returns(T.nilable(String)) }
1182
- attr_accessor :tax_rate
1183
-
1184
- # An allowance is a discount for example for early payment, volume discount, etc.
1185
- sig do
1186
- params(
1187
- amount:
1188
- T.nilable(
1189
- EInvoiceAPI::DocumentCreate::Item::Allowance::Amount::Variants
1190
- ),
1191
- base_amount:
1192
- T.nilable(
1193
- EInvoiceAPI::DocumentCreate::Item::Allowance::BaseAmount::Variants
1194
- ),
1195
- multiplier_factor:
1196
- T.nilable(
1197
- EInvoiceAPI::DocumentCreate::Item::Allowance::MultiplierFactor::Variants
1198
- ),
1199
- reason: T.nilable(String),
1200
- reason_code: T.nilable(String),
1201
- tax_code:
1202
- T.nilable(
1203
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::OrSymbol
1204
- ),
1205
- tax_rate: T.nilable(String)
1206
- ).returns(T.attached_class)
1207
- end
1208
- def self.new(
1209
- # The allowance amount, without VAT. Must be rounded to maximum 2 decimals
1210
- amount: nil,
1211
- # The base amount that may be used, in conjunction with the allowance percentage,
1212
- # to calculate the allowance amount. Must be rounded to maximum 2 decimals
1213
- base_amount: nil,
1214
- # The percentage that may be used, in conjunction with the allowance base amount,
1215
- # to calculate the allowance amount. To state 20%, use value 20
1216
- multiplier_factor: nil,
1217
- # The reason for the allowance
1218
- reason: nil,
1219
- # The code for the allowance reason
1220
- reason_code: nil,
1221
- # Duty or tax or fee category codes (Subset of UNCL5305)
1222
- #
1223
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
1224
- tax_code: nil,
1225
- # The VAT rate, represented as percentage that applies to the allowance
1226
- tax_rate: nil
1227
- )
1228
- end
1229
-
1230
- sig do
1231
- override.returns(
1232
- {
1233
- amount:
1234
- T.nilable(
1235
- EInvoiceAPI::DocumentCreate::Item::Allowance::Amount::Variants
1236
- ),
1237
- base_amount:
1238
- T.nilable(
1239
- EInvoiceAPI::DocumentCreate::Item::Allowance::BaseAmount::Variants
1240
- ),
1241
- multiplier_factor:
1242
- T.nilable(
1243
- EInvoiceAPI::DocumentCreate::Item::Allowance::MultiplierFactor::Variants
1244
- ),
1245
- reason: T.nilable(String),
1246
- reason_code: T.nilable(String),
1247
- tax_code:
1248
- T.nilable(
1249
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::OrSymbol
1250
- ),
1251
- tax_rate: T.nilable(String)
1252
- }
1253
- )
1254
- end
1255
- def to_hash
1256
- end
1257
-
1258
- # The allowance amount, without VAT. Must be rounded to maximum 2 decimals
1259
- module Amount
1260
- extend EInvoiceAPI::Internal::Type::Union
1261
-
1262
- Variants = T.type_alias { T.any(Float, String) }
1263
-
1264
- sig do
1265
- override.returns(
1266
- T::Array[
1267
- EInvoiceAPI::DocumentCreate::Item::Allowance::Amount::Variants
1268
- ]
3693
+ KO =
3694
+ T.let(
3695
+ :KO,
3696
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1269
3697
  )
1270
- end
1271
- def self.variants
1272
- end
1273
- end
1274
-
1275
- # The base amount that may be used, in conjunction with the allowance percentage,
1276
- # to calculate the allowance amount. Must be rounded to maximum 2 decimals
1277
- module BaseAmount
1278
- extend EInvoiceAPI::Internal::Type::Union
1279
-
1280
- Variants = T.type_alias { T.any(Float, String) }
1281
-
1282
- sig do
1283
- override.returns(
1284
- T::Array[
1285
- EInvoiceAPI::DocumentCreate::Item::Allowance::BaseAmount::Variants
1286
- ]
3698
+ L1 =
3699
+ T.let(
3700
+ :L1,
3701
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1287
3702
  )
1288
- end
1289
- def self.variants
1290
- end
1291
- end
1292
-
1293
- # The percentage that may be used, in conjunction with the allowance base amount,
1294
- # to calculate the allowance amount. To state 20%, use value 20
1295
- module MultiplierFactor
1296
- extend EInvoiceAPI::Internal::Type::Union
1297
-
1298
- Variants = T.type_alias { T.any(Float, String) }
1299
-
1300
- sig do
1301
- override.returns(
1302
- T::Array[
1303
- EInvoiceAPI::DocumentCreate::Item::Allowance::MultiplierFactor::Variants
1304
- ]
3703
+ LA =
3704
+ T.let(
3705
+ :LA,
3706
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1305
3707
  )
1306
- end
1307
- def self.variants
1308
- end
1309
- end
1310
-
1311
- # Duty or tax or fee category codes (Subset of UNCL5305)
1312
- #
1313
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
1314
- module TaxCode
1315
- extend EInvoiceAPI::Internal::Type::Enum
1316
-
1317
- TaggedSymbol =
1318
- T.type_alias do
1319
- T.all(
1320
- Symbol,
1321
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode
1322
- )
1323
- end
1324
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1325
-
1326
- AE =
3708
+ LAA =
1327
3709
  T.let(
1328
- :AE,
1329
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3710
+ :LAA,
3711
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1330
3712
  )
1331
- E =
3713
+ LAB =
1332
3714
  T.let(
1333
- :E,
1334
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3715
+ :LAB,
3716
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1335
3717
  )
1336
- S =
3718
+ LF =
1337
3719
  T.let(
1338
- :S,
1339
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3720
+ :LF,
3721
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1340
3722
  )
1341
- Z =
3723
+ MAE =
1342
3724
  T.let(
1343
- :Z,
1344
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3725
+ :MAE,
3726
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1345
3727
  )
1346
- G =
3728
+ MI =
1347
3729
  T.let(
1348
- :G,
1349
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3730
+ :MI,
3731
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1350
3732
  )
1351
- O =
3733
+ ML =
1352
3734
  T.let(
1353
- :O,
1354
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3735
+ :ML,
3736
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1355
3737
  )
1356
- K =
3738
+ NAA =
1357
3739
  T.let(
1358
- :K,
1359
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3740
+ :NAA,
3741
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1360
3742
  )
1361
- L =
3743
+ OA =
1362
3744
  T.let(
1363
- :L,
1364
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3745
+ :OA,
3746
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1365
3747
  )
1366
- M =
3748
+ PA =
3749
+ T.let(
3750
+ :PA,
3751
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3752
+ )
3753
+ PAA =
3754
+ T.let(
3755
+ :PAA,
3756
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3757
+ )
3758
+ PC =
3759
+ T.let(
3760
+ :PC,
3761
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3762
+ )
3763
+ PL =
3764
+ T.let(
3765
+ :PL,
3766
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3767
+ )
3768
+ PRV =
3769
+ T.let(
3770
+ :PRV,
3771
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3772
+ )
3773
+ RAB =
3774
+ T.let(
3775
+ :RAB,
3776
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3777
+ )
3778
+ RAC =
3779
+ T.let(
3780
+ :RAC,
3781
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3782
+ )
3783
+ RAD =
3784
+ T.let(
3785
+ :RAD,
3786
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3787
+ )
3788
+ RAF =
3789
+ T.let(
3790
+ :RAF,
3791
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3792
+ )
3793
+ RE =
3794
+ T.let(
3795
+ :RE,
3796
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3797
+ )
3798
+ RF =
3799
+ T.let(
3800
+ :RF,
3801
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3802
+ )
3803
+ RH =
3804
+ T.let(
3805
+ :RH,
3806
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3807
+ )
3808
+ RV =
3809
+ T.let(
3810
+ :RV,
3811
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3812
+ )
3813
+ SA =
3814
+ T.let(
3815
+ :SA,
3816
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3817
+ )
3818
+ SAA =
3819
+ T.let(
3820
+ :SAA,
3821
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3822
+ )
3823
+ SAD =
3824
+ T.let(
3825
+ :SAD,
3826
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3827
+ )
3828
+ SAE =
3829
+ T.let(
3830
+ :SAE,
3831
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3832
+ )
3833
+ SAI =
3834
+ T.let(
3835
+ :SAI,
3836
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3837
+ )
3838
+ SG =
3839
+ T.let(
3840
+ :SG,
3841
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3842
+ )
3843
+ SH =
3844
+ T.let(
3845
+ :SH,
3846
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3847
+ )
3848
+ SM =
3849
+ T.let(
3850
+ :SM,
3851
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3852
+ )
3853
+ SU =
3854
+ T.let(
3855
+ :SU,
3856
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
3857
+ )
3858
+ TAB =
1367
3859
  T.let(
1368
- :M,
1369
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3860
+ :TAB,
3861
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1370
3862
  )
1371
- B =
3863
+ TAC =
1372
3864
  T.let(
1373
- :B,
1374
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3865
+ :TAC,
3866
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1375
3867
  )
1376
-
1377
- sig do
1378
- override.returns(
1379
- T::Array[
1380
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
1381
- ]
3868
+ TT =
3869
+ T.let(
3870
+ :TT,
3871
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1382
3872
  )
1383
- end
1384
- def self.values
1385
- end
1386
- end
1387
- end
1388
-
1389
- # The total amount of the line item, exclusive of VAT, after subtracting line
1390
- # level allowances and adding line level charges. Must be rounded to maximum 2
1391
- # decimals
1392
- module Amount
1393
- extend EInvoiceAPI::Internal::Type::Union
1394
-
1395
- Variants = T.type_alias { T.any(Float, String) }
1396
-
1397
- sig do
1398
- override.returns(
1399
- T::Array[EInvoiceAPI::DocumentCreate::Item::Amount::Variants]
1400
- )
1401
- end
1402
- def self.variants
1403
- end
1404
- end
1405
-
1406
- class Charge < EInvoiceAPI::Internal::Type::BaseModel
1407
- OrHash =
1408
- T.type_alias do
1409
- T.any(
1410
- EInvoiceAPI::DocumentCreate::Item::Charge,
1411
- EInvoiceAPI::Internal::AnyHash
3873
+ TV =
3874
+ T.let(
3875
+ :TV,
3876
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1412
3877
  )
1413
- end
1414
-
1415
- # The charge amount, without VAT. Must be rounded to maximum 2 decimals
1416
- sig do
1417
- returns(
1418
- T.nilable(
1419
- EInvoiceAPI::DocumentCreate::Item::Charge::Amount::Variants
3878
+ V1 =
3879
+ T.let(
3880
+ :V1,
3881
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1420
3882
  )
1421
- )
1422
- end
1423
- attr_accessor :amount
1424
-
1425
- # The base amount that may be used, in conjunction with the charge percentage, to
1426
- # calculate the charge amount. Must be rounded to maximum 2 decimals
1427
- sig do
1428
- returns(
1429
- T.nilable(
1430
- EInvoiceAPI::DocumentCreate::Item::Charge::BaseAmount::Variants
3883
+ V2 =
3884
+ T.let(
3885
+ :V2,
3886
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1431
3887
  )
1432
- )
1433
- end
1434
- attr_accessor :base_amount
1435
-
1436
- # The percentage that may be used, in conjunction with the charge base amount, to
1437
- # calculate the charge amount. To state 20%, use value 20
1438
- sig do
1439
- returns(
1440
- T.nilable(
1441
- EInvoiceAPI::DocumentCreate::Item::Charge::MultiplierFactor::Variants
3888
+ WH =
3889
+ T.let(
3890
+ :WH,
3891
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1442
3892
  )
1443
- )
1444
- end
1445
- attr_accessor :multiplier_factor
1446
-
1447
- # The reason for the charge
1448
- sig { returns(T.nilable(String)) }
1449
- attr_accessor :reason
1450
-
1451
- # The code for the charge reason
1452
- sig { returns(T.nilable(String)) }
1453
- attr_accessor :reason_code
1454
-
1455
- # Duty or tax or fee category codes (Subset of UNCL5305)
1456
- #
1457
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
1458
- sig do
1459
- returns(
1460
- T.nilable(
1461
- EInvoiceAPI::DocumentCreate::Item::Charge::TaxCode::OrSymbol
3893
+ XAA =
3894
+ T.let(
3895
+ :XAA,
3896
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1462
3897
  )
1463
- )
1464
- end
1465
- attr_accessor :tax_code
1466
-
1467
- # The VAT rate, represented as percentage that applies to the charge
1468
- sig { returns(T.nilable(String)) }
1469
- attr_accessor :tax_rate
1470
-
1471
- # A charge is an additional fee for example for late payment, late delivery, etc.
1472
- sig do
1473
- params(
1474
- amount:
1475
- T.nilable(
1476
- EInvoiceAPI::DocumentCreate::Item::Charge::Amount::Variants
1477
- ),
1478
- base_amount:
1479
- T.nilable(
1480
- EInvoiceAPI::DocumentCreate::Item::Charge::BaseAmount::Variants
1481
- ),
1482
- multiplier_factor:
1483
- T.nilable(
1484
- EInvoiceAPI::DocumentCreate::Item::Charge::MultiplierFactor::Variants
1485
- ),
1486
- reason: T.nilable(String),
1487
- reason_code: T.nilable(String),
1488
- tax_code:
1489
- T.nilable(
1490
- EInvoiceAPI::DocumentCreate::Item::Charge::TaxCode::OrSymbol
1491
- ),
1492
- tax_rate: T.nilable(String)
1493
- ).returns(T.attached_class)
1494
- end
1495
- def self.new(
1496
- # The charge amount, without VAT. Must be rounded to maximum 2 decimals
1497
- amount: nil,
1498
- # The base amount that may be used, in conjunction with the charge percentage, to
1499
- # calculate the charge amount. Must be rounded to maximum 2 decimals
1500
- base_amount: nil,
1501
- # The percentage that may be used, in conjunction with the charge base amount, to
1502
- # calculate the charge amount. To state 20%, use value 20
1503
- multiplier_factor: nil,
1504
- # The reason for the charge
1505
- reason: nil,
1506
- # The code for the charge reason
1507
- reason_code: nil,
1508
- # Duty or tax or fee category codes (Subset of UNCL5305)
1509
- #
1510
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
1511
- tax_code: nil,
1512
- # The VAT rate, represented as percentage that applies to the charge
1513
- tax_rate: nil
1514
- )
1515
- end
1516
-
1517
- sig do
1518
- override.returns(
1519
- {
1520
- amount:
1521
- T.nilable(
1522
- EInvoiceAPI::DocumentCreate::Item::Charge::Amount::Variants
1523
- ),
1524
- base_amount:
1525
- T.nilable(
1526
- EInvoiceAPI::DocumentCreate::Item::Charge::BaseAmount::Variants
1527
- ),
1528
- multiplier_factor:
1529
- T.nilable(
1530
- EInvoiceAPI::DocumentCreate::Item::Charge::MultiplierFactor::Variants
1531
- ),
1532
- reason: T.nilable(String),
1533
- reason_code: T.nilable(String),
1534
- tax_code:
1535
- T.nilable(
1536
- EInvoiceAPI::DocumentCreate::Item::Charge::TaxCode::OrSymbol
1537
- ),
1538
- tax_rate: T.nilable(String)
1539
- }
1540
- )
1541
- end
1542
- def to_hash
1543
- end
1544
-
1545
- # The charge amount, without VAT. Must be rounded to maximum 2 decimals
1546
- module Amount
1547
- extend EInvoiceAPI::Internal::Type::Union
1548
-
1549
- Variants = T.type_alias { T.any(Float, String) }
1550
-
1551
- sig do
1552
- override.returns(
1553
- T::Array[
1554
- EInvoiceAPI::DocumentCreate::Item::Charge::Amount::Variants
1555
- ]
3898
+ YY =
3899
+ T.let(
3900
+ :YY,
3901
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1556
3902
  )
1557
- end
1558
- def self.variants
1559
- end
1560
- end
1561
-
1562
- # The base amount that may be used, in conjunction with the charge percentage, to
1563
- # calculate the charge amount. Must be rounded to maximum 2 decimals
1564
- module BaseAmount
1565
- extend EInvoiceAPI::Internal::Type::Union
1566
-
1567
- Variants = T.type_alias { T.any(Float, String) }
1568
-
1569
- sig do
1570
- override.returns(
1571
- T::Array[
1572
- EInvoiceAPI::DocumentCreate::Item::Charge::BaseAmount::Variants
1573
- ]
3903
+ ZZZ =
3904
+ T.let(
3905
+ :ZZZ,
3906
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1574
3907
  )
1575
- end
1576
- def self.variants
1577
- end
1578
- end
1579
-
1580
- # The percentage that may be used, in conjunction with the charge base amount, to
1581
- # calculate the charge amount. To state 20%, use value 20
1582
- module MultiplierFactor
1583
- extend EInvoiceAPI::Internal::Type::Union
1584
-
1585
- Variants = T.type_alias { T.any(Float, String) }
1586
3908
 
1587
3909
  sig do
1588
3910
  override.returns(
1589
3911
  T::Array[
1590
- EInvoiceAPI::DocumentCreate::Item::Charge::MultiplierFactor::Variants
3912
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1591
3913
  ]
1592
3914
  )
1593
3915
  end
1594
- def self.variants
3916
+ def self.values
1595
3917
  end
1596
3918
  end
1597
3919
 
@@ -1671,6 +3993,41 @@ module EInvoiceAPI
1671
3993
  def self.values
1672
3994
  end
1673
3995
  end
3996
+
3997
+ # The VAT rate, represented as percentage that applies to the charge
3998
+ module TaxRate
3999
+ extend EInvoiceAPI::Internal::Type::Union
4000
+
4001
+ Variants = T.type_alias { T.any(Float, String) }
4002
+
4003
+ sig do
4004
+ override.returns(
4005
+ T::Array[
4006
+ EInvoiceAPI::DocumentCreate::Item::Charge::TaxRate::Variants
4007
+ ]
4008
+ )
4009
+ end
4010
+ def self.variants
4011
+ end
4012
+ end
4013
+ end
4014
+
4015
+ # The item price base quantity (BT-149). The number of item units to which the
4016
+ # price applies. Defaults to 1. Must be rounded to maximum 4 decimals
4017
+ module PriceBaseQuantity
4018
+ extend EInvoiceAPI::Internal::Type::Union
4019
+
4020
+ Variants = T.type_alias { T.any(Float, String) }
4021
+
4022
+ sig do
4023
+ override.returns(
4024
+ T::Array[
4025
+ EInvoiceAPI::DocumentCreate::Item::PriceBaseQuantity::Variants
4026
+ ]
4027
+ )
4028
+ end
4029
+ def self.variants
4030
+ end
1674
4031
  end
1675
4032
 
1676
4033
  # The quantity of items (goods or services) that is the subject of the line item.
@@ -1704,7 +4061,23 @@ module EInvoiceAPI
1704
4061
  end
1705
4062
  end
1706
4063
 
1707
- # The unit price of the line item. Must be rounded to maximum 2 decimals
4064
+ # The VAT rate of the line item expressed as percentage with 2 decimals
4065
+ module TaxRate
4066
+ extend EInvoiceAPI::Internal::Type::Union
4067
+
4068
+ Variants = T.type_alias { T.any(Float, String) }
4069
+
4070
+ sig do
4071
+ override.returns(
4072
+ T::Array[EInvoiceAPI::DocumentCreate::Item::TaxRate::Variants]
4073
+ )
4074
+ end
4075
+ def self.variants
4076
+ end
4077
+ end
4078
+
4079
+ # The item net price (BT-146). The price of an item, exclusive of VAT, after
4080
+ # subtracting item price discount. Must be rounded to maximum 4 decimals
1708
4081
  module UnitPrice
1709
4082
  extend EInvoiceAPI::Internal::Type::Union
1710
4083
 
@@ -1720,8 +4093,8 @@ module EInvoiceAPI
1720
4093
  end
1721
4094
  end
1722
4095
 
1723
- # The previous unpaid balance of the invoice, if any. Must be positive and rounded
1724
- # to maximum 2 decimals
4096
+ # The previous unpaid balance from prior invoices, if any. Must be positive and
4097
+ # rounded to maximum 2 decimals
1725
4098
  module PreviousUnpaidBalance
1726
4099
  extend EInvoiceAPI::Internal::Type::Union
1727
4100
 
@@ -1755,7 +4128,8 @@ module EInvoiceAPI
1755
4128
  end
1756
4129
  end
1757
4130
 
1758
- # Tax category code of the invoice
4131
+ # Tax category code of the invoice (e.g., S for standard rate, Z for zero rate, E
4132
+ # for exempt)
1759
4133
  module TaxCode
1760
4134
  extend EInvoiceAPI::Internal::Type::Enum
1761
4135
 
@@ -1792,6 +4166,7 @@ module EInvoiceAPI
1792
4166
  )
1793
4167
  end
1794
4168
 
4169
+ # The tax amount for this tax category. Must be rounded to maximum 2 decimals
1795
4170
  sig do
1796
4171
  returns(
1797
4172
  T.nilable(EInvoiceAPI::DocumentCreate::TaxDetail::Amount::Variants)
@@ -1799,6 +4174,7 @@ module EInvoiceAPI
1799
4174
  end
1800
4175
  attr_accessor :amount
1801
4176
 
4177
+ # The tax rate as a percentage (e.g., '21.00', '6.00', '0.00')
1802
4178
  sig { returns(T.nilable(String)) }
1803
4179
  attr_accessor :rate
1804
4180
 
@@ -1811,7 +4187,12 @@ module EInvoiceAPI
1811
4187
  rate: T.nilable(String)
1812
4188
  ).returns(T.attached_class)
1813
4189
  end
1814
- def self.new(amount: nil, rate: nil)
4190
+ def self.new(
4191
+ # The tax amount for this tax category. Must be rounded to maximum 2 decimals
4192
+ amount: nil,
4193
+ # The tax rate as a percentage (e.g., '21.00', '6.00', '0.00')
4194
+ rate: nil
4195
+ )
1815
4196
  end
1816
4197
 
1817
4198
  sig do
@@ -1828,6 +4209,7 @@ module EInvoiceAPI
1828
4209
  def to_hash
1829
4210
  end
1830
4211
 
4212
+ # The tax amount for this tax category. Must be rounded to maximum 2 decimals
1831
4213
  module Amount
1832
4214
  extend EInvoiceAPI::Internal::Type::Union
1833
4215
 
@@ -1860,7 +4242,8 @@ module EInvoiceAPI
1860
4242
  end
1861
4243
  end
1862
4244
 
1863
- # The total tax of the invoice. Must be positive and rounded to maximum 2 decimals
4245
+ # The total tax amount of the invoice. Must be positive and rounded to maximum 2
4246
+ # decimals
1864
4247
  module TotalTax
1865
4248
  extend EInvoiceAPI::Internal::Type::Union
1866
4249