e-invoice-api 0.10.1 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +2 -2
  4. data/lib/e_invoice_api/models/allowance.rb +42 -14
  5. data/lib/e_invoice_api/models/charge.rb +193 -4
  6. data/lib/e_invoice_api/models/document_create.rb +728 -125
  7. data/lib/e_invoice_api/models/document_create_from_pdf_response.rb +127 -61
  8. data/lib/e_invoice_api/models/document_response.rb +377 -83
  9. data/lib/e_invoice_api/models/me_retrieve_response.rb +21 -7
  10. data/lib/e_invoice_api/models/payment_detail_create.rb +15 -4
  11. data/lib/e_invoice_api/resources/documents.rb +43 -39
  12. data/lib/e_invoice_api/resources/validate.rb +43 -39
  13. data/lib/e_invoice_api/version.rb +1 -1
  14. data/rbi/e_invoice_api/models/allowance.rbi +81 -21
  15. data/rbi/e_invoice_api/models/charge.rbi +202 -5
  16. data/rbi/e_invoice_api/models/document_create.rbi +3094 -708
  17. data/rbi/e_invoice_api/models/document_create_from_pdf_response.rbi +142 -34
  18. data/rbi/e_invoice_api/models/document_response.rbi +1238 -62
  19. data/rbi/e_invoice_api/models/me_retrieve_response.rbi +20 -6
  20. data/rbi/e_invoice_api/models/payment_detail_create.rbi +10 -0
  21. data/rbi/e_invoice_api/resources/documents.rbi +54 -12
  22. data/rbi/e_invoice_api/resources/validate.rbi +54 -12
  23. data/sig/e_invoice_api/models/allowance.rbs +59 -8
  24. data/sig/e_invoice_api/models/charge.rbs +369 -4
  25. data/sig/e_invoice_api/models/document_create.rbs +939 -44
  26. data/sig/e_invoice_api/models/document_create_from_pdf_response.rbs +15 -0
  27. data/sig/e_invoice_api/models/document_response.rbs +443 -12
  28. data/sig/e_invoice_api/models/me_retrieve_response.rbs +5 -0
  29. data/sig/e_invoice_api/resources/documents.rbs +2 -0
  30. data/sig/e_invoice_api/resources/validate.rbs +2 -0
  31. metadata +2 -2
@@ -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
 
@@ -171,14 +202,16 @@ module EInvoiceAPI
171
202
  end
172
203
  attr_accessor :tax_details
173
204
 
174
- # The total financial discount of the invoice (so discounts not subject to VAT).
175
- # Must be positive and rounded to maximum 2 decimals
205
+ # The net financial discount/charge of the invoice (non-VAT charges minus non-VAT
206
+ # allowances). Can be positive (net charge), negative (net discount), or zero.
207
+ # Must be rounded to maximum 2 decimals
176
208
  sig do
177
209
  returns(T.nilable(EInvoiceAPI::DocumentCreate::TotalDiscount::Variants))
178
210
  end
179
211
  attr_accessor :total_discount
180
212
 
181
- # 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
182
215
  sig do
183
216
  returns(T.nilable(EInvoiceAPI::DocumentCreate::TotalTax::Variants))
184
217
  end
@@ -190,22 +223,33 @@ module EInvoiceAPI
190
223
  sig { returns(T.nilable(EInvoiceAPI::DocumentCreate::Vatex::OrSymbol)) }
191
224
  attr_accessor :vatex
192
225
 
193
- # VAT exemption note of the invoice
226
+ # Textual explanation for VAT exemption
194
227
  sig { returns(T.nilable(String)) }
195
228
  attr_accessor :vatex_note
196
229
 
230
+ # The address of the vendor/seller
197
231
  sig { returns(T.nilable(String)) }
198
232
  attr_accessor :vendor_address
199
233
 
234
+ # The recipient name at the vendor address
200
235
  sig { returns(T.nilable(String)) }
201
236
  attr_accessor :vendor_address_recipient
202
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
203
244
  sig { returns(T.nilable(String)) }
204
245
  attr_accessor :vendor_email
205
246
 
247
+ # The name of the vendor/seller/supplier
206
248
  sig { returns(T.nilable(String)) }
207
249
  attr_accessor :vendor_name
208
250
 
251
+ # Vendor tax ID. For Belgium this is the VAT number. Must include the country
252
+ # prefix
209
253
  sig { returns(T.nilable(String)) }
210
254
  attr_accessor :vendor_tax_id
211
255
 
@@ -224,6 +268,7 @@ module EInvoiceAPI
224
268
  currency: EInvoiceAPI::CurrencyCode::OrSymbol,
225
269
  customer_address: T.nilable(String),
226
270
  customer_address_recipient: T.nilable(String),
271
+ customer_company_id: T.nilable(String),
227
272
  customer_email: T.nilable(String),
228
273
  customer_id: T.nilable(String),
229
274
  customer_name: T.nilable(String),
@@ -265,6 +310,7 @@ module EInvoiceAPI
265
310
  vatex_note: T.nilable(String),
266
311
  vendor_address: T.nilable(String),
267
312
  vendor_address_recipient: T.nilable(String),
313
+ vendor_company_id: T.nilable(String),
268
314
  vendor_email: T.nilable(String),
269
315
  vendor_name: T.nilable(String),
270
316
  vendor_tax_id: T.nilable(String)
@@ -272,69 +318,109 @@ module EInvoiceAPI
272
318
  end
273
319
  def self.new(
274
320
  allowances: nil,
275
- # The amount due of the invoice. Must be positive and rounded to maximum 2
276
- # decimals
321
+ # The amount due for payment. Must be positive and rounded to maximum 2 decimals
277
322
  amount_due: nil,
278
323
  attachments: nil,
324
+ # The billing address (if different from customer address)
279
325
  billing_address: nil,
326
+ # The recipient name at the billing address
280
327
  billing_address_recipient: nil,
281
328
  charges: nil,
282
- # Currency of the invoice
329
+ # Currency of the invoice (ISO 4217 currency code)
283
330
  currency: nil,
331
+ # The address of the customer/buyer
284
332
  customer_address: nil,
333
+ # The recipient name at the customer address
285
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
286
339
  customer_email: nil,
340
+ # The unique identifier for the customer in your system
287
341
  customer_id: nil,
342
+ # The company name of the customer/buyer
288
343
  customer_name: nil,
344
+ # Customer tax ID. For Belgium this is the VAT number. Must include the country
345
+ # prefix
289
346
  customer_tax_id: nil,
347
+ # The direction of the document: INBOUND (purchases) or OUTBOUND (sales)
290
348
  direction: nil,
349
+ # The type of document: INVOICE, CREDIT_NOTE, or DEBIT_NOTE
291
350
  document_type: nil,
351
+ # The date when payment is due
292
352
  due_date: nil,
353
+ # The date when the invoice was issued
293
354
  invoice_date: nil,
355
+ # The unique invoice identifier/number
294
356
  invoice_id: nil,
295
- # The total amount of the invoice (so invoice_total = subtotal + total_tax +
296
- # 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
297
359
  invoice_total: nil,
298
360
  # At least one line item is required
299
361
  items: nil,
362
+ # Additional notes or comments for the invoice
300
363
  note: nil,
301
364
  payment_details: nil,
365
+ # The payment terms (e.g., 'Net 30', 'Due on receipt', '2/10 Net 30')
302
366
  payment_term: nil,
303
- # The previous unpaid balance of the invoice, if any. Must be positive and rounded
304
- # to maximum 2 decimals
367
+ # The previous unpaid balance from prior invoices, if any. Must be positive and
368
+ # rounded to maximum 2 decimals
305
369
  previous_unpaid_balance: nil,
370
+ # The purchase order reference number
306
371
  purchase_order: nil,
372
+ # The address where payment should be sent or remitted to
307
373
  remittance_address: nil,
374
+ # The recipient name at the remittance address
308
375
  remittance_address_recipient: nil,
376
+ # The address where services were performed or goods were delivered
309
377
  service_address: nil,
378
+ # The recipient name at the service address
310
379
  service_address_recipient: nil,
380
+ # The end date of the service period or delivery period
311
381
  service_end_date: nil,
382
+ # The start date of the service period or delivery period
312
383
  service_start_date: nil,
384
+ # The shipping/delivery address
313
385
  shipping_address: nil,
386
+ # The recipient name at the shipping address
314
387
  shipping_address_recipient: nil,
388
+ # The current state of the document: DRAFT, TRANSIT, FAILED, SENT, or RECEIVED
315
389
  state: nil,
316
390
  # The taxable base of the invoice. Should be the sum of all line items -
317
391
  # allowances (for example commercial discounts) + charges with impact on VAT. Must
318
392
  # be positive and rounded to maximum 2 decimals
319
393
  subtotal: nil,
320
- # 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)
321
396
  tax_code: nil,
322
397
  tax_details: nil,
323
- # The total financial discount of the invoice (so discounts not subject to VAT).
324
- # Must be positive and rounded to maximum 2 decimals
398
+ # The net financial discount/charge of the invoice (non-VAT charges minus non-VAT
399
+ # allowances). Can be positive (net charge), negative (net discount), or zero.
400
+ # Must be rounded to maximum 2 decimals
325
401
  total_discount: nil,
326
- # 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
327
404
  total_tax: nil,
328
405
  # VATEX code list for VAT exemption reasons
329
406
  #
330
407
  # Agency: CEF Identifier: vatex
331
408
  vatex: nil,
332
- # VAT exemption note of the invoice
409
+ # Textual explanation for VAT exemption
333
410
  vatex_note: nil,
411
+ # The address of the vendor/seller
334
412
  vendor_address: nil,
413
+ # The recipient name at the vendor address
335
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
336
419
  vendor_email: nil,
420
+ # The name of the vendor/seller/supplier
337
421
  vendor_name: nil,
422
+ # Vendor tax ID. For Belgium this is the VAT number. Must include the country
423
+ # prefix
338
424
  vendor_tax_id: nil
339
425
  )
340
426
  end
@@ -354,6 +440,7 @@ module EInvoiceAPI
354
440
  currency: EInvoiceAPI::CurrencyCode::OrSymbol,
355
441
  customer_address: T.nilable(String),
356
442
  customer_address_recipient: T.nilable(String),
443
+ customer_company_id: T.nilable(String),
357
444
  customer_email: T.nilable(String),
358
445
  customer_id: T.nilable(String),
359
446
  customer_name: T.nilable(String),
@@ -397,6 +484,7 @@ module EInvoiceAPI
397
484
  vatex_note: T.nilable(String),
398
485
  vendor_address: T.nilable(String),
399
486
  vendor_address_recipient: T.nilable(String),
487
+ vendor_company_id: T.nilable(String),
400
488
  vendor_email: T.nilable(String),
401
489
  vendor_name: T.nilable(String),
402
490
  vendor_tax_id: T.nilable(String)
@@ -435,7 +523,8 @@ module EInvoiceAPI
435
523
  attr_accessor :base_amount
436
524
 
437
525
  # The percentage that may be used, in conjunction with the allowance base amount,
438
- # 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
439
528
  sig do
440
529
  returns(
441
530
  T.nilable(
@@ -449,22 +538,38 @@ module EInvoiceAPI
449
538
  sig { returns(T.nilable(String)) }
450
539
  attr_accessor :reason
451
540
 
452
- # The code for the allowance reason
453
- 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
454
549
  attr_accessor :reason_code
455
550
 
456
- # Duty or tax or fee category codes (Subset of UNCL5305)
457
- #
458
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
551
+ # The VAT category code that applies to the allowance
459
552
  sig do
460
553
  returns(
461
554
  T.nilable(EInvoiceAPI::DocumentCreate::Allowance::TaxCode::OrSymbol)
462
555
  )
463
556
  end
464
- attr_accessor :tax_code
557
+ attr_reader :tax_code
465
558
 
466
- # The VAT rate, represented as percentage that applies to the allowance
467
- 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
468
573
  attr_accessor :tax_rate
469
574
 
470
575
  # An allowance is a discount for example for early payment, volume discount, etc.
@@ -483,12 +588,15 @@ module EInvoiceAPI
483
588
  EInvoiceAPI::DocumentCreate::Allowance::MultiplierFactor::Variants
484
589
  ),
485
590
  reason: T.nilable(String),
486
- reason_code: T.nilable(String),
487
- tax_code:
591
+ reason_code:
488
592
  T.nilable(
489
- EInvoiceAPI::DocumentCreate::Allowance::TaxCode::OrSymbol
593
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::OrSymbol
490
594
  ),
491
- 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
+ )
492
600
  ).returns(T.attached_class)
493
601
  end
494
602
  def self.new(
@@ -498,17 +606,17 @@ module EInvoiceAPI
498
606
  # to calculate the allowance amount. Must be rounded to maximum 2 decimals
499
607
  base_amount: nil,
500
608
  # The percentage that may be used, in conjunction with the allowance base amount,
501
- # 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
502
611
  multiplier_factor: nil,
503
612
  # The reason for the allowance
504
613
  reason: nil,
505
- # The code for the allowance reason
614
+ # Allowance reason codes for invoice discounts and charges
506
615
  reason_code: nil,
507
- # Duty or tax or fee category codes (Subset of UNCL5305)
508
- #
509
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
616
+ # The VAT category code that applies to the allowance
510
617
  tax_code: nil,
511
- # 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
512
620
  tax_rate: nil
513
621
  )
514
622
  end
@@ -529,12 +637,16 @@ module EInvoiceAPI
529
637
  EInvoiceAPI::DocumentCreate::Allowance::MultiplierFactor::Variants
530
638
  ),
531
639
  reason: T.nilable(String),
532
- reason_code: T.nilable(String),
533
- tax_code:
640
+ reason_code:
534
641
  T.nilable(
535
- EInvoiceAPI::DocumentCreate::Allowance::TaxCode::OrSymbol
642
+ EInvoiceAPI::DocumentCreate::Allowance::ReasonCode::OrSymbol
536
643
  ),
537
- 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
+ )
538
650
  }
539
651
  )
540
652
  end
@@ -575,7 +687,8 @@ module EInvoiceAPI
575
687
  end
576
688
 
577
689
  # The percentage that may be used, in conjunction with the allowance base amount,
578
- # 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
579
692
  module MultiplierFactor
580
693
  extend EInvoiceAPI::Internal::Type::Union
581
694
 
@@ -592,9 +705,124 @@ module EInvoiceAPI
592
705
  end
593
706
  end
594
707
 
595
- # Duty or tax or fee category codes (Subset of UNCL5305)
596
- #
597
- # 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
598
826
  module TaxCode
599
827
  extend EInvoiceAPI::Internal::Type::Enum
600
828
 
@@ -665,10 +893,27 @@ module EInvoiceAPI
665
893
  def self.values
666
894
  end
667
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
668
914
  end
669
915
 
670
- # The amount due of the invoice. Must be positive and rounded to maximum 2
671
- # decimals
916
+ # The amount due for payment. Must be positive and rounded to maximum 2 decimals
672
917
  module AmountDue
673
918
  extend EInvoiceAPI::Internal::Type::Union
674
919
 
@@ -724,8 +969,12 @@ module EInvoiceAPI
724
969
  sig { returns(T.nilable(String)) }
725
970
  attr_accessor :reason
726
971
 
727
- # The code for the charge reason
728
- 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
729
978
  attr_accessor :reason_code
730
979
 
731
980
  # Duty or tax or fee category codes (Subset of UNCL5305)
@@ -739,7 +988,11 @@ module EInvoiceAPI
739
988
  attr_accessor :tax_code
740
989
 
741
990
  # The VAT rate, represented as percentage that applies to the charge
742
- sig { returns(T.nilable(String)) }
991
+ sig do
992
+ returns(
993
+ T.nilable(EInvoiceAPI::DocumentCreate::Charge::TaxRate::Variants)
994
+ )
995
+ end
743
996
  attr_accessor :tax_rate
744
997
 
745
998
  # A charge is an additional fee for example for late payment, late delivery, etc.
@@ -756,10 +1009,14 @@ module EInvoiceAPI
756
1009
  EInvoiceAPI::DocumentCreate::Charge::MultiplierFactor::Variants
757
1010
  ),
758
1011
  reason: T.nilable(String),
759
- reason_code: T.nilable(String),
1012
+ reason_code:
1013
+ T.nilable(
1014
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::OrSymbol
1015
+ ),
760
1016
  tax_code:
761
1017
  T.nilable(EInvoiceAPI::DocumentCreate::Charge::TaxCode::OrSymbol),
762
- tax_rate: T.nilable(String)
1018
+ tax_rate:
1019
+ T.nilable(EInvoiceAPI::DocumentCreate::Charge::TaxRate::Variants)
763
1020
  ).returns(T.attached_class)
764
1021
  end
765
1022
  def self.new(
@@ -773,7 +1030,7 @@ module EInvoiceAPI
773
1030
  multiplier_factor: nil,
774
1031
  # The reason for the charge
775
1032
  reason: nil,
776
- # The code for the charge reason
1033
+ # Charge reason codes for invoice charges and fees
777
1034
  reason_code: nil,
778
1035
  # Duty or tax or fee category codes (Subset of UNCL5305)
779
1036
  #
@@ -800,12 +1057,18 @@ module EInvoiceAPI
800
1057
  EInvoiceAPI::DocumentCreate::Charge::MultiplierFactor::Variants
801
1058
  ),
802
1059
  reason: T.nilable(String),
803
- reason_code: T.nilable(String),
1060
+ reason_code:
1061
+ T.nilable(
1062
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::OrSymbol
1063
+ ),
804
1064
  tax_code:
805
1065
  T.nilable(
806
1066
  EInvoiceAPI::DocumentCreate::Charge::TaxCode::OrSymbol
807
1067
  ),
808
- tax_rate: T.nilable(String)
1068
+ tax_rate:
1069
+ T.nilable(
1070
+ EInvoiceAPI::DocumentCreate::Charge::TaxRate::Variants
1071
+ )
809
1072
  }
810
1073
  )
811
1074
  end
@@ -863,733 +1126,2794 @@ module EInvoiceAPI
863
1126
  end
864
1127
  end
865
1128
 
866
- # Duty or tax or fee category codes (Subset of UNCL5305)
867
- #
868
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
869
- module TaxCode
1129
+ # Charge reason codes for invoice charges and fees
1130
+ module ReasonCode
870
1131
  extend EInvoiceAPI::Internal::Type::Enum
871
1132
 
872
1133
  TaggedSymbol =
873
1134
  T.type_alias do
874
- T.all(Symbol, EInvoiceAPI::DocumentCreate::Charge::TaxCode)
1135
+ T.all(Symbol, EInvoiceAPI::DocumentCreate::Charge::ReasonCode)
875
1136
  end
876
1137
  OrSymbol = T.type_alias { T.any(Symbol, String) }
877
1138
 
878
- AE =
1139
+ AA =
879
1140
  T.let(
880
- :AE,
881
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1141
+ :AA,
1142
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
882
1143
  )
883
- E =
1144
+ AAA =
884
1145
  T.let(
885
- :E,
886
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1146
+ :AAA,
1147
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
887
1148
  )
888
- S =
1149
+ AAC =
889
1150
  T.let(
890
- :S,
891
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1151
+ :AAC,
1152
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
892
1153
  )
893
- Z =
1154
+ AAD =
894
1155
  T.let(
895
- :Z,
896
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1156
+ :AAD,
1157
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
897
1158
  )
898
- G =
1159
+ AAE =
899
1160
  T.let(
900
- :G,
901
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1161
+ :AAE,
1162
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
902
1163
  )
903
- O =
1164
+ AAF =
904
1165
  T.let(
905
- :O,
906
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1166
+ :AAF,
1167
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
907
1168
  )
908
- K =
1169
+ AAH =
909
1170
  T.let(
910
- :K,
911
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1171
+ :AAH,
1172
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
912
1173
  )
913
- L =
1174
+ AAI =
914
1175
  T.let(
915
- :L,
916
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1176
+ :AAI,
1177
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
917
1178
  )
918
- M =
1179
+ AAS =
919
1180
  T.let(
920
- :M,
921
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1181
+ :AAS,
1182
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
922
1183
  )
923
- B =
1184
+ AAT =
924
1185
  T.let(
925
- :B,
926
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
1186
+ :AAT,
1187
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
927
1188
  )
928
-
929
- sig do
930
- override.returns(
931
- T::Array[
932
- EInvoiceAPI::DocumentCreate::Charge::TaxCode::TaggedSymbol
933
- ]
1189
+ AAV =
1190
+ T.let(
1191
+ :AAV,
1192
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
934
1193
  )
935
- end
936
- def self.values
937
- end
938
- end
939
- end
940
-
941
- # The total amount of the invoice (so invoice_total = subtotal + total_tax +
942
- # total_discount). Must be positive and rounded to maximum 2 decimals
943
- module InvoiceTotal
944
- extend EInvoiceAPI::Internal::Type::Union
945
-
946
- Variants = T.type_alias { T.any(Float, String) }
947
-
948
- sig do
949
- override.returns(
950
- T::Array[EInvoiceAPI::DocumentCreate::InvoiceTotal::Variants]
951
- )
952
- end
953
- def self.variants
954
- end
955
- end
956
-
957
- class Item < EInvoiceAPI::Internal::Type::BaseModel
958
- OrHash =
959
- T.type_alias do
960
- T.any(
961
- EInvoiceAPI::DocumentCreate::Item,
962
- EInvoiceAPI::Internal::AnyHash
1194
+ AAY =
1195
+ T.let(
1196
+ :AAY,
1197
+ EInvoiceAPI::DocumentCreate::Charge::ReasonCode::TaggedSymbol
963
1198
  )
964
- end
965
-
966
- # The allowances of the line item.
967
- sig do
968
- returns(
969
- T.nilable(T::Array[EInvoiceAPI::DocumentCreate::Item::Allowance])
970
- )
971
- end
972
- attr_accessor :allowances
973
-
974
- # The total amount of the line item, exclusive of VAT, after subtracting line
975
- # level allowances and adding line level charges. Must be rounded to maximum 2
976
- # decimals
977
- sig do
978
- returns(
979
- T.nilable(EInvoiceAPI::DocumentCreate::Item::Amount::Variants)
980
- )
981
- end
982
- attr_accessor :amount
983
-
984
- # The charges of the line item.
985
- sig do
986
- returns(
987
- T.nilable(T::Array[EInvoiceAPI::DocumentCreate::Item::Charge])
988
- )
989
- end
990
- attr_accessor :charges
991
-
992
- sig { returns(NilClass) }
993
- attr_accessor :date
994
-
995
- # The description of the line item.
996
- sig { returns(T.nilable(String)) }
997
- attr_accessor :description
998
-
999
- # The product code of the line item.
1000
- sig { returns(T.nilable(String)) }
1001
- attr_accessor :product_code
1002
-
1003
- # The quantity of items (goods or services) that is the subject of the line item.
1004
- # Must be rounded to maximum 4 decimals
1005
- sig do
1006
- returns(
1007
- T.nilable(EInvoiceAPI::DocumentCreate::Item::Quantity::Variants)
1008
- )
1009
- end
1010
- attr_accessor :quantity
1011
-
1012
- # The total VAT amount for the line item. Must be rounded to maximum 2 decimals
1013
- sig do
1014
- returns(T.nilable(EInvoiceAPI::DocumentCreate::Item::Tax::Variants))
1015
- end
1016
- attr_accessor :tax
1017
-
1018
- # The VAT rate of the line item expressed as percentage with 2 decimals
1019
- sig { returns(T.nilable(String)) }
1020
- attr_accessor :tax_rate
1021
-
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
+
1022
2227
  # Unit of Measure Codes from UNECERec20 used in Peppol BIS Billing 3.0.
1023
2228
  sig { returns(T.nilable(EInvoiceAPI::UnitOfMeasureCode::OrSymbol)) }
1024
2229
  attr_accessor :unit
1025
2230
 
1026
- # The unit price of the line item. Must be rounded to maximum 2 decimals
1027
- sig do
1028
- returns(
1029
- T.nilable(EInvoiceAPI::DocumentCreate::Item::UnitPrice::Variants)
1030
- )
1031
- end
1032
- 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
1033
2829
 
1034
- sig do
1035
- params(
1036
- 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(
1037
2837
  T.nilable(
1038
- T::Array[EInvoiceAPI::DocumentCreate::Item::Allowance::OrHash]
1039
- ),
1040
- amount:
1041
- T.nilable(EInvoiceAPI::DocumentCreate::Item::Amount::Variants),
1042
- 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(
1043
2849
  T.nilable(
1044
- T::Array[EInvoiceAPI::DocumentCreate::Item::Charge::OrHash]
1045
- ),
1046
- date: NilClass,
1047
- description: T.nilable(String),
1048
- product_code: T.nilable(String),
1049
- quantity:
1050
- T.nilable(EInvoiceAPI::DocumentCreate::Item::Quantity::Variants),
1051
- tax: T.nilable(EInvoiceAPI::DocumentCreate::Item::Tax::Variants),
1052
- tax_rate: T.nilable(String),
1053
- unit: T.nilable(EInvoiceAPI::UnitOfMeasureCode::OrSymbol),
1054
- unit_price:
1055
- T.nilable(EInvoiceAPI::DocumentCreate::Item::UnitPrice::Variants)
1056
- ).returns(T.attached_class)
1057
- end
1058
- def self.new(
1059
- # The allowances of the line item.
1060
- allowances: nil,
1061
- # The total amount of the line item, exclusive of VAT, after subtracting line
1062
- # level allowances and adding line level charges. Must be rounded to maximum 2
1063
- # decimals
1064
- amount: nil,
1065
- # The charges of the line item.
1066
- charges: nil,
1067
- date: nil,
1068
- # The description of the line item.
1069
- description: nil,
1070
- # The product code of the line item.
1071
- product_code: nil,
1072
- # The quantity of items (goods or services) that is the subject of the line item.
1073
- # Must be rounded to maximum 4 decimals
1074
- quantity: nil,
1075
- # The total VAT amount for the line item. Must be rounded to maximum 2 decimals
1076
- tax: nil,
1077
- # The VAT rate of the line item expressed as percentage with 2 decimals
1078
- tax_rate: nil,
1079
- # Unit of Measure Codes from UNECERec20 used in Peppol BIS Billing 3.0.
1080
- unit: nil,
1081
- # The unit price of the line item. Must be rounded to maximum 2 decimals
1082
- unit_price: nil
1083
- )
1084
- end
2850
+ EInvoiceAPI::DocumentCreate::Item::Charge::TaxCode::OrSymbol
2851
+ )
2852
+ )
2853
+ end
2854
+ attr_accessor :tax_code
1085
2855
 
1086
- sig do
1087
- override.returns(
1088
- {
1089
- 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:
1090
2870
  T.nilable(
1091
- T::Array[EInvoiceAPI::DocumentCreate::Item::Allowance]
2871
+ EInvoiceAPI::DocumentCreate::Item::Charge::Amount::Variants
1092
2872
  ),
1093
- amount:
1094
- T.nilable(EInvoiceAPI::DocumentCreate::Item::Amount::Variants),
1095
- charges:
1096
- T.nilable(T::Array[EInvoiceAPI::DocumentCreate::Item::Charge]),
1097
- date: NilClass,
1098
- description: T.nilable(String),
1099
- product_code: T.nilable(String),
1100
- quantity:
2873
+ base_amount:
1101
2874
  T.nilable(
1102
- EInvoiceAPI::DocumentCreate::Item::Quantity::Variants
2875
+ EInvoiceAPI::DocumentCreate::Item::Charge::BaseAmount::Variants
1103
2876
  ),
1104
- tax: T.nilable(EInvoiceAPI::DocumentCreate::Item::Tax::Variants),
1105
- tax_rate: T.nilable(String),
1106
- unit: T.nilable(EInvoiceAPI::UnitOfMeasureCode::OrSymbol),
1107
- unit_price:
2877
+ multiplier_factor:
1108
2878
  T.nilable(
1109
- 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
1110
2893
  )
1111
- }
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
1112
2915
  )
1113
- end
1114
- def to_hash
1115
- end
2916
+ end
1116
2917
 
1117
- class Allowance < EInvoiceAPI::Internal::Type::BaseModel
1118
- OrHash =
1119
- T.type_alias do
1120
- T.any(
1121
- EInvoiceAPI::DocumentCreate::Item::Allowance,
1122
- 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
1123
3672
  )
1124
- end
1125
-
1126
- # The allowance amount, without VAT. Must be rounded to maximum 2 decimals
1127
- sig do
1128
- returns(
1129
- T.nilable(
1130
- EInvoiceAPI::DocumentCreate::Item::Allowance::Amount::Variants
3673
+ ID =
3674
+ T.let(
3675
+ :ID,
3676
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1131
3677
  )
1132
- )
1133
- end
1134
- attr_accessor :amount
1135
-
1136
- # The base amount that may be used, in conjunction with the allowance percentage,
1137
- # to calculate the allowance amount. Must be rounded to maximum 2 decimals
1138
- sig do
1139
- returns(
1140
- T.nilable(
1141
- EInvoiceAPI::DocumentCreate::Item::Allowance::BaseAmount::Variants
3678
+ IF =
3679
+ T.let(
3680
+ :IF,
3681
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1142
3682
  )
1143
- )
1144
- end
1145
- attr_accessor :base_amount
1146
-
1147
- # The percentage that may be used, in conjunction with the allowance base amount,
1148
- # to calculate the allowance amount. To state 20%, use value 20
1149
- sig do
1150
- returns(
1151
- T.nilable(
1152
- EInvoiceAPI::DocumentCreate::Item::Allowance::MultiplierFactor::Variants
3683
+ IR =
3684
+ T.let(
3685
+ :IR,
3686
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1153
3687
  )
1154
- )
1155
- end
1156
- attr_accessor :multiplier_factor
1157
-
1158
- # The reason for the allowance
1159
- sig { returns(T.nilable(String)) }
1160
- attr_accessor :reason
1161
-
1162
- # The code for the allowance reason
1163
- sig { returns(T.nilable(String)) }
1164
- attr_accessor :reason_code
1165
-
1166
- # Duty or tax or fee category codes (Subset of UNCL5305)
1167
- #
1168
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
1169
- sig do
1170
- returns(
1171
- T.nilable(
1172
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::OrSymbol
3688
+ IS =
3689
+ T.let(
3690
+ :IS,
3691
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1173
3692
  )
1174
- )
1175
- end
1176
- attr_accessor :tax_code
1177
-
1178
- # The VAT rate, represented as percentage that applies to the allowance
1179
- sig { returns(T.nilable(String)) }
1180
- attr_accessor :tax_rate
1181
-
1182
- # An allowance is a discount for example for early payment, volume discount, etc.
1183
- sig do
1184
- params(
1185
- amount:
1186
- T.nilable(
1187
- EInvoiceAPI::DocumentCreate::Item::Allowance::Amount::Variants
1188
- ),
1189
- base_amount:
1190
- T.nilable(
1191
- EInvoiceAPI::DocumentCreate::Item::Allowance::BaseAmount::Variants
1192
- ),
1193
- multiplier_factor:
1194
- T.nilable(
1195
- EInvoiceAPI::DocumentCreate::Item::Allowance::MultiplierFactor::Variants
1196
- ),
1197
- reason: T.nilable(String),
1198
- reason_code: T.nilable(String),
1199
- tax_code:
1200
- T.nilable(
1201
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::OrSymbol
1202
- ),
1203
- tax_rate: T.nilable(String)
1204
- ).returns(T.attached_class)
1205
- end
1206
- def self.new(
1207
- # The allowance amount, without VAT. Must be rounded to maximum 2 decimals
1208
- amount: nil,
1209
- # The base amount that may be used, in conjunction with the allowance percentage,
1210
- # to calculate the allowance amount. Must be rounded to maximum 2 decimals
1211
- base_amount: nil,
1212
- # The percentage that may be used, in conjunction with the allowance base amount,
1213
- # to calculate the allowance amount. To state 20%, use value 20
1214
- multiplier_factor: nil,
1215
- # The reason for the allowance
1216
- reason: nil,
1217
- # The code for the allowance reason
1218
- reason_code: nil,
1219
- # Duty or tax or fee category codes (Subset of UNCL5305)
1220
- #
1221
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
1222
- tax_code: nil,
1223
- # The VAT rate, represented as percentage that applies to the allowance
1224
- tax_rate: nil
1225
- )
1226
- end
1227
-
1228
- sig do
1229
- override.returns(
1230
- {
1231
- amount:
1232
- T.nilable(
1233
- EInvoiceAPI::DocumentCreate::Item::Allowance::Amount::Variants
1234
- ),
1235
- base_amount:
1236
- T.nilable(
1237
- EInvoiceAPI::DocumentCreate::Item::Allowance::BaseAmount::Variants
1238
- ),
1239
- multiplier_factor:
1240
- T.nilable(
1241
- EInvoiceAPI::DocumentCreate::Item::Allowance::MultiplierFactor::Variants
1242
- ),
1243
- reason: T.nilable(String),
1244
- reason_code: T.nilable(String),
1245
- tax_code:
1246
- T.nilable(
1247
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::OrSymbol
1248
- ),
1249
- tax_rate: T.nilable(String)
1250
- }
1251
- )
1252
- end
1253
- def to_hash
1254
- end
1255
-
1256
- # The allowance amount, without VAT. Must be rounded to maximum 2 decimals
1257
- module Amount
1258
- extend EInvoiceAPI::Internal::Type::Union
1259
-
1260
- Variants = T.type_alias { T.any(Float, String) }
1261
-
1262
- sig do
1263
- override.returns(
1264
- T::Array[
1265
- EInvoiceAPI::DocumentCreate::Item::Allowance::Amount::Variants
1266
- ]
3693
+ KO =
3694
+ T.let(
3695
+ :KO,
3696
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1267
3697
  )
1268
- end
1269
- def self.variants
1270
- end
1271
- end
1272
-
1273
- # The base amount that may be used, in conjunction with the allowance percentage,
1274
- # to calculate the allowance amount. Must be rounded to maximum 2 decimals
1275
- module BaseAmount
1276
- extend EInvoiceAPI::Internal::Type::Union
1277
-
1278
- Variants = T.type_alias { T.any(Float, String) }
1279
-
1280
- sig do
1281
- override.returns(
1282
- T::Array[
1283
- EInvoiceAPI::DocumentCreate::Item::Allowance::BaseAmount::Variants
1284
- ]
3698
+ L1 =
3699
+ T.let(
3700
+ :L1,
3701
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1285
3702
  )
1286
- end
1287
- def self.variants
1288
- end
1289
- end
1290
-
1291
- # The percentage that may be used, in conjunction with the allowance base amount,
1292
- # to calculate the allowance amount. To state 20%, use value 20
1293
- module MultiplierFactor
1294
- extend EInvoiceAPI::Internal::Type::Union
1295
-
1296
- Variants = T.type_alias { T.any(Float, String) }
1297
-
1298
- sig do
1299
- override.returns(
1300
- T::Array[
1301
- EInvoiceAPI::DocumentCreate::Item::Allowance::MultiplierFactor::Variants
1302
- ]
3703
+ LA =
3704
+ T.let(
3705
+ :LA,
3706
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1303
3707
  )
1304
- end
1305
- def self.variants
1306
- end
1307
- end
1308
-
1309
- # Duty or tax or fee category codes (Subset of UNCL5305)
1310
- #
1311
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
1312
- module TaxCode
1313
- extend EInvoiceAPI::Internal::Type::Enum
1314
-
1315
- TaggedSymbol =
1316
- T.type_alias do
1317
- T.all(
1318
- Symbol,
1319
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode
1320
- )
1321
- end
1322
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1323
-
1324
- AE =
3708
+ LAA =
1325
3709
  T.let(
1326
- :AE,
1327
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3710
+ :LAA,
3711
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1328
3712
  )
1329
- E =
3713
+ LAB =
1330
3714
  T.let(
1331
- :E,
1332
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3715
+ :LAB,
3716
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1333
3717
  )
1334
- S =
3718
+ LF =
1335
3719
  T.let(
1336
- :S,
1337
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3720
+ :LF,
3721
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1338
3722
  )
1339
- Z =
3723
+ MAE =
1340
3724
  T.let(
1341
- :Z,
1342
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3725
+ :MAE,
3726
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1343
3727
  )
1344
- G =
3728
+ MI =
1345
3729
  T.let(
1346
- :G,
1347
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3730
+ :MI,
3731
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1348
3732
  )
1349
- O =
3733
+ ML =
1350
3734
  T.let(
1351
- :O,
1352
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3735
+ :ML,
3736
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1353
3737
  )
1354
- K =
3738
+ NAA =
1355
3739
  T.let(
1356
- :K,
1357
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3740
+ :NAA,
3741
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1358
3742
  )
1359
- L =
3743
+ OA =
1360
3744
  T.let(
1361
- :L,
1362
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3745
+ :OA,
3746
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1363
3747
  )
1364
- 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 =
1365
3859
  T.let(
1366
- :M,
1367
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3860
+ :TAB,
3861
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1368
3862
  )
1369
- B =
3863
+ TAC =
1370
3864
  T.let(
1371
- :B,
1372
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
3865
+ :TAC,
3866
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1373
3867
  )
1374
-
1375
- sig do
1376
- override.returns(
1377
- T::Array[
1378
- EInvoiceAPI::DocumentCreate::Item::Allowance::TaxCode::TaggedSymbol
1379
- ]
3868
+ TT =
3869
+ T.let(
3870
+ :TT,
3871
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1380
3872
  )
1381
- end
1382
- def self.values
1383
- end
1384
- end
1385
- end
1386
-
1387
- # The total amount of the line item, exclusive of VAT, after subtracting line
1388
- # level allowances and adding line level charges. Must be rounded to maximum 2
1389
- # decimals
1390
- module Amount
1391
- extend EInvoiceAPI::Internal::Type::Union
1392
-
1393
- Variants = T.type_alias { T.any(Float, String) }
1394
-
1395
- sig do
1396
- override.returns(
1397
- T::Array[EInvoiceAPI::DocumentCreate::Item::Amount::Variants]
1398
- )
1399
- end
1400
- def self.variants
1401
- end
1402
- end
1403
-
1404
- class Charge < EInvoiceAPI::Internal::Type::BaseModel
1405
- OrHash =
1406
- T.type_alias do
1407
- T.any(
1408
- EInvoiceAPI::DocumentCreate::Item::Charge,
1409
- EInvoiceAPI::Internal::AnyHash
3873
+ TV =
3874
+ T.let(
3875
+ :TV,
3876
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1410
3877
  )
1411
- end
1412
-
1413
- # The charge amount, without VAT. Must be rounded to maximum 2 decimals
1414
- sig do
1415
- returns(
1416
- T.nilable(
1417
- EInvoiceAPI::DocumentCreate::Item::Charge::Amount::Variants
3878
+ V1 =
3879
+ T.let(
3880
+ :V1,
3881
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1418
3882
  )
1419
- )
1420
- end
1421
- attr_accessor :amount
1422
-
1423
- # The base amount that may be used, in conjunction with the charge percentage, to
1424
- # calculate the charge amount. Must be rounded to maximum 2 decimals
1425
- sig do
1426
- returns(
1427
- T.nilable(
1428
- EInvoiceAPI::DocumentCreate::Item::Charge::BaseAmount::Variants
3883
+ V2 =
3884
+ T.let(
3885
+ :V2,
3886
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1429
3887
  )
1430
- )
1431
- end
1432
- attr_accessor :base_amount
1433
-
1434
- # The percentage that may be used, in conjunction with the charge base amount, to
1435
- # calculate the charge amount. To state 20%, use value 20
1436
- sig do
1437
- returns(
1438
- T.nilable(
1439
- EInvoiceAPI::DocumentCreate::Item::Charge::MultiplierFactor::Variants
3888
+ WH =
3889
+ T.let(
3890
+ :WH,
3891
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1440
3892
  )
1441
- )
1442
- end
1443
- attr_accessor :multiplier_factor
1444
-
1445
- # The reason for the charge
1446
- sig { returns(T.nilable(String)) }
1447
- attr_accessor :reason
1448
-
1449
- # The code for the charge reason
1450
- sig { returns(T.nilable(String)) }
1451
- attr_accessor :reason_code
1452
-
1453
- # Duty or tax or fee category codes (Subset of UNCL5305)
1454
- #
1455
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
1456
- sig do
1457
- returns(
1458
- T.nilable(
1459
- EInvoiceAPI::DocumentCreate::Item::Charge::TaxCode::OrSymbol
3893
+ XAA =
3894
+ T.let(
3895
+ :XAA,
3896
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1460
3897
  )
1461
- )
1462
- end
1463
- attr_accessor :tax_code
1464
-
1465
- # The VAT rate, represented as percentage that applies to the charge
1466
- sig { returns(T.nilable(String)) }
1467
- attr_accessor :tax_rate
1468
-
1469
- # A charge is an additional fee for example for late payment, late delivery, etc.
1470
- sig do
1471
- params(
1472
- amount:
1473
- T.nilable(
1474
- EInvoiceAPI::DocumentCreate::Item::Charge::Amount::Variants
1475
- ),
1476
- base_amount:
1477
- T.nilable(
1478
- EInvoiceAPI::DocumentCreate::Item::Charge::BaseAmount::Variants
1479
- ),
1480
- multiplier_factor:
1481
- T.nilable(
1482
- EInvoiceAPI::DocumentCreate::Item::Charge::MultiplierFactor::Variants
1483
- ),
1484
- reason: T.nilable(String),
1485
- reason_code: T.nilable(String),
1486
- tax_code:
1487
- T.nilable(
1488
- EInvoiceAPI::DocumentCreate::Item::Charge::TaxCode::OrSymbol
1489
- ),
1490
- tax_rate: T.nilable(String)
1491
- ).returns(T.attached_class)
1492
- end
1493
- def self.new(
1494
- # The charge amount, without VAT. Must be rounded to maximum 2 decimals
1495
- amount: nil,
1496
- # The base amount that may be used, in conjunction with the charge percentage, to
1497
- # calculate the charge amount. Must be rounded to maximum 2 decimals
1498
- base_amount: nil,
1499
- # The percentage that may be used, in conjunction with the charge base amount, to
1500
- # calculate the charge amount. To state 20%, use value 20
1501
- multiplier_factor: nil,
1502
- # The reason for the charge
1503
- reason: nil,
1504
- # The code for the charge reason
1505
- reason_code: nil,
1506
- # Duty or tax or fee category codes (Subset of UNCL5305)
1507
- #
1508
- # Agency: UN/CEFACT Version: D.16B Subset: OpenPEPPOL
1509
- tax_code: nil,
1510
- # The VAT rate, represented as percentage that applies to the charge
1511
- tax_rate: nil
1512
- )
1513
- end
1514
-
1515
- sig do
1516
- override.returns(
1517
- {
1518
- amount:
1519
- T.nilable(
1520
- EInvoiceAPI::DocumentCreate::Item::Charge::Amount::Variants
1521
- ),
1522
- base_amount:
1523
- T.nilable(
1524
- EInvoiceAPI::DocumentCreate::Item::Charge::BaseAmount::Variants
1525
- ),
1526
- multiplier_factor:
1527
- T.nilable(
1528
- EInvoiceAPI::DocumentCreate::Item::Charge::MultiplierFactor::Variants
1529
- ),
1530
- reason: T.nilable(String),
1531
- reason_code: T.nilable(String),
1532
- tax_code:
1533
- T.nilable(
1534
- EInvoiceAPI::DocumentCreate::Item::Charge::TaxCode::OrSymbol
1535
- ),
1536
- tax_rate: T.nilable(String)
1537
- }
1538
- )
1539
- end
1540
- def to_hash
1541
- end
1542
-
1543
- # The charge amount, without VAT. Must be rounded to maximum 2 decimals
1544
- module Amount
1545
- extend EInvoiceAPI::Internal::Type::Union
1546
-
1547
- Variants = T.type_alias { T.any(Float, String) }
1548
-
1549
- sig do
1550
- override.returns(
1551
- T::Array[
1552
- EInvoiceAPI::DocumentCreate::Item::Charge::Amount::Variants
1553
- ]
3898
+ YY =
3899
+ T.let(
3900
+ :YY,
3901
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1554
3902
  )
1555
- end
1556
- def self.variants
1557
- end
1558
- end
1559
-
1560
- # The base amount that may be used, in conjunction with the charge percentage, to
1561
- # calculate the charge amount. Must be rounded to maximum 2 decimals
1562
- module BaseAmount
1563
- extend EInvoiceAPI::Internal::Type::Union
1564
-
1565
- Variants = T.type_alias { T.any(Float, String) }
1566
-
1567
- sig do
1568
- override.returns(
1569
- T::Array[
1570
- EInvoiceAPI::DocumentCreate::Item::Charge::BaseAmount::Variants
1571
- ]
3903
+ ZZZ =
3904
+ T.let(
3905
+ :ZZZ,
3906
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1572
3907
  )
1573
- end
1574
- def self.variants
1575
- end
1576
- end
1577
-
1578
- # The percentage that may be used, in conjunction with the charge base amount, to
1579
- # calculate the charge amount. To state 20%, use value 20
1580
- module MultiplierFactor
1581
- extend EInvoiceAPI::Internal::Type::Union
1582
-
1583
- Variants = T.type_alias { T.any(Float, String) }
1584
3908
 
1585
3909
  sig do
1586
3910
  override.returns(
1587
3911
  T::Array[
1588
- EInvoiceAPI::DocumentCreate::Item::Charge::MultiplierFactor::Variants
3912
+ EInvoiceAPI::DocumentCreate::Item::Charge::ReasonCode::TaggedSymbol
1589
3913
  ]
1590
3914
  )
1591
3915
  end
1592
- def self.variants
3916
+ def self.values
1593
3917
  end
1594
3918
  end
1595
3919
 
@@ -1669,6 +3993,41 @@ module EInvoiceAPI
1669
3993
  def self.values
1670
3994
  end
1671
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
1672
4031
  end
1673
4032
 
1674
4033
  # The quantity of items (goods or services) that is the subject of the line item.
@@ -1702,7 +4061,23 @@ module EInvoiceAPI
1702
4061
  end
1703
4062
  end
1704
4063
 
1705
- # 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
1706
4081
  module UnitPrice
1707
4082
  extend EInvoiceAPI::Internal::Type::Union
1708
4083
 
@@ -1718,8 +4093,8 @@ module EInvoiceAPI
1718
4093
  end
1719
4094
  end
1720
4095
 
1721
- # The previous unpaid balance of the invoice, if any. Must be positive and rounded
1722
- # to maximum 2 decimals
4096
+ # The previous unpaid balance from prior invoices, if any. Must be positive and
4097
+ # rounded to maximum 2 decimals
1723
4098
  module PreviousUnpaidBalance
1724
4099
  extend EInvoiceAPI::Internal::Type::Union
1725
4100
 
@@ -1753,7 +4128,8 @@ module EInvoiceAPI
1753
4128
  end
1754
4129
  end
1755
4130
 
1756
- # 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)
1757
4133
  module TaxCode
1758
4134
  extend EInvoiceAPI::Internal::Type::Enum
1759
4135
 
@@ -1790,6 +4166,7 @@ module EInvoiceAPI
1790
4166
  )
1791
4167
  end
1792
4168
 
4169
+ # The tax amount for this tax category. Must be rounded to maximum 2 decimals
1793
4170
  sig do
1794
4171
  returns(
1795
4172
  T.nilable(EInvoiceAPI::DocumentCreate::TaxDetail::Amount::Variants)
@@ -1797,6 +4174,7 @@ module EInvoiceAPI
1797
4174
  end
1798
4175
  attr_accessor :amount
1799
4176
 
4177
+ # The tax rate as a percentage (e.g., '21.00', '6.00', '0.00')
1800
4178
  sig { returns(T.nilable(String)) }
1801
4179
  attr_accessor :rate
1802
4180
 
@@ -1809,7 +4187,12 @@ module EInvoiceAPI
1809
4187
  rate: T.nilable(String)
1810
4188
  ).returns(T.attached_class)
1811
4189
  end
1812
- 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
+ )
1813
4196
  end
1814
4197
 
1815
4198
  sig do
@@ -1826,6 +4209,7 @@ module EInvoiceAPI
1826
4209
  def to_hash
1827
4210
  end
1828
4211
 
4212
+ # The tax amount for this tax category. Must be rounded to maximum 2 decimals
1829
4213
  module Amount
1830
4214
  extend EInvoiceAPI::Internal::Type::Union
1831
4215
 
@@ -1841,8 +4225,9 @@ module EInvoiceAPI
1841
4225
  end
1842
4226
  end
1843
4227
 
1844
- # The total financial discount of the invoice (so discounts not subject to VAT).
1845
- # Must be positive and rounded to maximum 2 decimals
4228
+ # The net financial discount/charge of the invoice (non-VAT charges minus non-VAT
4229
+ # allowances). Can be positive (net charge), negative (net discount), or zero.
4230
+ # Must be rounded to maximum 2 decimals
1846
4231
  module TotalDiscount
1847
4232
  extend EInvoiceAPI::Internal::Type::Union
1848
4233
 
@@ -1857,7 +4242,8 @@ module EInvoiceAPI
1857
4242
  end
1858
4243
  end
1859
4244
 
1860
- # 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
1861
4247
  module TotalTax
1862
4248
  extend EInvoiceAPI::Internal::Type::Union
1863
4249