e-invoice-api 0.11.0 → 0.12.0

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