e-invoice-api 0.33.0 → 0.34.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 (111) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/e_invoice_api/client.rb +16 -0
  5. data/lib/e_invoice_api/models/conversion/document_create_from_pdf_task.rb +43 -0
  6. data/lib/e_invoice_api/models/conversion/pdf_create_params.rb +22 -0
  7. data/lib/e_invoice_api/models/conversion/pdf_result_params.rb +22 -0
  8. data/lib/e_invoice_api/models/conversion/pdf_retrieve_params.rb +22 -0
  9. data/lib/e_invoice_api/models/document_create.rb +158 -5
  10. data/lib/e_invoice_api/models/document_create_from_pdf_response.rb +108 -5
  11. data/lib/e_invoice_api/models/document_lifecycle_params.rb +20 -0
  12. data/lib/e_invoice_api/models/document_lifecycle_response.rb +134 -0
  13. data/lib/e_invoice_api/models/document_response.rb +112 -7
  14. data/lib/e_invoice_api/models/document_timeline_params.rb +20 -0
  15. data/lib/e_invoice_api/models/document_timeline_response.rb +71 -0
  16. data/lib/e_invoice_api/models/draft_list_params.rb +113 -0
  17. data/lib/e_invoice_api/models/inbound_email_response.rb +129 -0
  18. data/lib/e_invoice_api/models/mailbox_download_attachment_params.rb +26 -0
  19. data/lib/e_invoice_api/models/mailbox_list_params.rb +129 -0
  20. data/lib/e_invoice_api/models/mailbox_reprocess_params.rb +20 -0
  21. data/lib/e_invoice_api/models/mailbox_retrieve_params.rb +20 -0
  22. data/lib/e_invoice_api/models/me_retrieve_response.rb +8 -7
  23. data/lib/e_invoice_api/models/payment_detail_create.rb +4 -2
  24. data/lib/e_invoice_api/models/stats_retrieve_params.rb +55 -0
  25. data/lib/e_invoice_api/models/stats_retrieve_response.rb +141 -0
  26. data/lib/e_invoice_api/models/ubl_document_validation.rb +10 -1
  27. data/lib/e_invoice_api/models/webhook_history_params.rb +20 -0
  28. data/lib/e_invoice_api/models/webhook_history_response.rb +17 -0
  29. data/lib/e_invoice_api/models/webhook_test_params.rb +37 -0
  30. data/lib/e_invoice_api/models/webhook_test_response.rb +35 -0
  31. data/lib/e_invoice_api/models.rb +24 -0
  32. data/lib/e_invoice_api/resources/conversion/pdf.rb +76 -0
  33. data/lib/e_invoice_api/resources/conversion.rb +18 -0
  34. data/lib/e_invoice_api/resources/documents.rb +62 -1
  35. data/lib/e_invoice_api/resources/drafts.rb +55 -0
  36. data/lib/e_invoice_api/resources/mailbox.rb +123 -0
  37. data/lib/e_invoice_api/resources/stats.rb +47 -0
  38. data/lib/e_invoice_api/resources/validate.rb +22 -2
  39. data/lib/e_invoice_api/resources/webhooks.rb +45 -0
  40. data/lib/e_invoice_api/version.rb +1 -1
  41. data/lib/e_invoice_api.rb +25 -0
  42. data/rbi/e_invoice_api/client.rbi +12 -0
  43. data/rbi/e_invoice_api/models/conversion/document_create_from_pdf_task.rbi +108 -0
  44. data/rbi/e_invoice_api/models/conversion/pdf_create_params.rbi +43 -0
  45. data/rbi/e_invoice_api/models/conversion/pdf_result_params.rbi +40 -0
  46. data/rbi/e_invoice_api/models/conversion/pdf_retrieve_params.rbi +40 -0
  47. data/rbi/e_invoice_api/models/document_create.rbi +210 -3
  48. data/rbi/e_invoice_api/models/document_create_from_pdf_response.rbi +124 -3
  49. data/rbi/e_invoice_api/models/document_lifecycle_params.rbi +38 -0
  50. data/rbi/e_invoice_api/models/document_lifecycle_response.rbi +353 -0
  51. data/rbi/e_invoice_api/models/document_response.rbi +130 -5
  52. data/rbi/e_invoice_api/models/document_timeline_params.rbi +38 -0
  53. data/rbi/e_invoice_api/models/document_timeline_response.rbi +168 -0
  54. data/rbi/e_invoice_api/models/draft_list_params.rbi +194 -0
  55. data/rbi/e_invoice_api/models/inbound_email_response.rbi +189 -0
  56. data/rbi/e_invoice_api/models/mailbox_download_attachment_params.rbi +46 -0
  57. data/rbi/e_invoice_api/models/mailbox_list_params.rbi +218 -0
  58. data/rbi/e_invoice_api/models/mailbox_reprocess_params.rbi +41 -0
  59. data/rbi/e_invoice_api/models/mailbox_retrieve_params.rbi +41 -0
  60. data/rbi/e_invoice_api/models/me_retrieve_response.rbi +10 -8
  61. data/rbi/e_invoice_api/models/payment_detail_create.rbi +6 -2
  62. data/rbi/e_invoice_api/models/stats_retrieve_params.rbi +111 -0
  63. data/rbi/e_invoice_api/models/stats_retrieve_response.rbi +251 -0
  64. data/rbi/e_invoice_api/models/ubl_document_validation.rbi +11 -1
  65. data/rbi/e_invoice_api/models/webhook_history_params.rbi +38 -0
  66. data/rbi/e_invoice_api/models/webhook_history_response.rbi +32 -0
  67. data/rbi/e_invoice_api/models/webhook_test_params.rbi +57 -0
  68. data/rbi/e_invoice_api/models/webhook_test_response.rbi +57 -0
  69. data/rbi/e_invoice_api/models.rbi +25 -0
  70. data/rbi/e_invoice_api/resources/conversion/pdf.rbi +44 -0
  71. data/rbi/e_invoice_api/resources/conversion.rbi +15 -0
  72. data/rbi/e_invoice_api/resources/documents.rbi +67 -0
  73. data/rbi/e_invoice_api/resources/drafts.rbi +55 -0
  74. data/rbi/e_invoice_api/resources/mailbox.rbi +93 -0
  75. data/rbi/e_invoice_api/resources/stats.rbi +38 -0
  76. data/rbi/e_invoice_api/resources/validate.rbi +44 -1
  77. data/rbi/e_invoice_api/resources/webhooks.rbi +29 -0
  78. data/sig/e_invoice_api/client.rbs +8 -0
  79. data/sig/e_invoice_api/models/conversion/document_create_from_pdf_task.rbs +45 -0
  80. data/sig/e_invoice_api/models/conversion/pdf_create_params.rbs +26 -0
  81. data/sig/e_invoice_api/models/conversion/pdf_result_params.rbs +25 -0
  82. data/sig/e_invoice_api/models/conversion/pdf_retrieve_params.rbs +25 -0
  83. data/sig/e_invoice_api/models/document_create.rbs +87 -4
  84. data/sig/e_invoice_api/models/document_create_from_pdf_response.rbs +61 -4
  85. data/sig/e_invoice_api/models/document_lifecycle_params.rbs +23 -0
  86. data/sig/e_invoice_api/models/document_lifecycle_response.rbs +151 -0
  87. data/sig/e_invoice_api/models/document_response.rbs +61 -4
  88. data/sig/e_invoice_api/models/document_timeline_params.rbs +23 -0
  89. data/sig/e_invoice_api/models/document_timeline_response.rbs +84 -0
  90. data/sig/e_invoice_api/models/draft_list_params.rbs +112 -0
  91. data/sig/e_invoice_api/models/inbound_email_response.rbs +126 -0
  92. data/sig/e_invoice_api/models/mailbox_download_attachment_params.rbs +28 -0
  93. data/sig/e_invoice_api/models/mailbox_list_params.rbs +112 -0
  94. data/sig/e_invoice_api/models/mailbox_reprocess_params.rbs +24 -0
  95. data/sig/e_invoice_api/models/mailbox_retrieve_params.rbs +24 -0
  96. data/sig/e_invoice_api/models/stats_retrieve_params.rbs +48 -0
  97. data/sig/e_invoice_api/models/stats_retrieve_response.rbs +107 -0
  98. data/sig/e_invoice_api/models/webhook_history_params.rbs +23 -0
  99. data/sig/e_invoice_api/models/webhook_history_response.rbs +13 -0
  100. data/sig/e_invoice_api/models/webhook_test_params.rbs +32 -0
  101. data/sig/e_invoice_api/models/webhook_test_response.rbs +30 -0
  102. data/sig/e_invoice_api/models.rbs +24 -0
  103. data/sig/e_invoice_api/resources/conversion/pdf.rbs +24 -0
  104. data/sig/e_invoice_api/resources/conversion.rbs +9 -0
  105. data/sig/e_invoice_api/resources/documents.rbs +19 -0
  106. data/sig/e_invoice_api/resources/drafts.rbs +20 -0
  107. data/sig/e_invoice_api/resources/mailbox.rbs +36 -0
  108. data/sig/e_invoice_api/resources/stats.rbs +14 -0
  109. data/sig/e_invoice_api/resources/validate.rbs +9 -0
  110. data/sig/e_invoice_api/resources/webhooks.rbs +12 -0
  111. metadata +77 -2
@@ -34,6 +34,13 @@ module EInvoiceAPI
34
34
  # @return [String, nil]
35
35
  optional :billing_address_recipient, String, nil?: true
36
36
 
37
+ # @!attribute buyer_reference
38
+ # The buyer reference (BT-10), e.g. a cost centre or accounting reference
39
+ # requested by the buyer
40
+ #
41
+ # @return [String, nil]
42
+ optional :buyer_reference, String, nil?: true
43
+
37
44
  # @!attribute charges
38
45
  #
39
46
  # @return [Array<EInvoiceAPI::Models::Charge>, nil]
@@ -88,6 +95,12 @@ module EInvoiceAPI
88
95
  # @return [String, nil]
89
96
  optional :customer_peppol_id, String, nil?: true
90
97
 
98
+ # @!attribute customer_phone
99
+ # The telephone number of the customer contact (BT-57)
100
+ #
101
+ # @return [String, nil]
102
+ optional :customer_phone, String, nil?: true
103
+
91
104
  # @!attribute customer_tax_id
92
105
  # Customer tax ID. For Belgium this is the VAT number. Must include the country
93
106
  # prefix
@@ -170,6 +183,19 @@ module EInvoiceAPI
170
183
  # @return [String, nil]
171
184
  optional :payment_term, String, nil?: true
172
185
 
186
+ # @!attribute preceding_invoice_date
187
+ # The preceding invoice issue date (BT-26)
188
+ #
189
+ # @return [Date, nil]
190
+ optional :preceding_invoice_date, Date, nil?: true
191
+
192
+ # @!attribute preceding_invoice_id
193
+ # The preceding invoice reference (BT-25): the number of the invoice this document
194
+ # corrects, for example the invoice a credit note credits
195
+ #
196
+ # @return [String, nil]
197
+ optional :preceding_invoice_id, String, nil?: true
198
+
173
199
  # @!attribute purchase_order
174
200
  # The purchase order reference number
175
201
  #
@@ -188,6 +214,21 @@ module EInvoiceAPI
188
214
  # @return [String, nil]
189
215
  optional :remittance_address_recipient, String, nil?: true
190
216
 
217
+ # @!attribute rounding_amount
218
+ # The amount added to the invoice total to round the amount for payment (BT-114),
219
+ # for example to whole kronor (amount_due = invoice_total + rounding_amount when
220
+ # nothing is prepaid). Can be negative. Between -5.00 and 5.00, rounded to maximum
221
+ # 2 decimals
222
+ #
223
+ # @return [String, nil]
224
+ optional :rounding_amount, String, nil?: true
225
+
226
+ # @!attribute sales_order
227
+ # The sales order reference (BT-14) assigned by the seller
228
+ #
229
+ # @return [String, nil]
230
+ optional :sales_order, String, nil?: true
231
+
191
232
  # @!attribute service_address
192
233
  # The address where services were performed or goods were delivered
193
234
  #
@@ -251,6 +292,14 @@ module EInvoiceAPI
251
292
  # @return [Symbol, EInvoiceAPI::Models::DocumentCreateFromPdfResponse::TaxCode, nil]
252
293
  optional :tax_code, enum: -> { EInvoiceAPI::Models::DocumentCreateFromPdfResponse::TaxCode }
253
294
 
295
+ # @!attribute tax_currency
296
+ # The VAT accounting currency (BT-6, ISO 4217 currency code), when VAT is
297
+ # accounted in a currency other than the invoice currency. Must differ from
298
+ # currency and requires total_tax_in_tax_currency
299
+ #
300
+ # @return [String, nil]
301
+ optional :tax_currency, String, nil?: true
302
+
254
303
  # @!attribute tax_details
255
304
  #
256
305
  # @return [Array<EInvoiceAPI::Models::DocumentCreateFromPdfResponse::TaxDetail>, nil]
@@ -273,6 +322,13 @@ module EInvoiceAPI
273
322
  # @return [String, nil]
274
323
  optional :total_tax, String, nil?: true
275
324
 
325
+ # @!attribute total_tax_in_tax_currency
326
+ # The total VAT amount in the VAT accounting currency tax_currency (BT-111). Does
327
+ # not add to invoice_total. Requires tax_currency. Rounded to maximum 2 decimals
328
+ #
329
+ # @return [String, nil]
330
+ optional :total_tax_in_tax_currency, String, nil?: true
331
+
276
332
  # @!attribute ubl_document
277
333
  # The UBL document as an XML string
278
334
  #
@@ -324,6 +380,14 @@ module EInvoiceAPI
324
380
  # @return [String, nil]
325
381
  optional :vendor_name, String, nil?: true
326
382
 
383
+ # @!attribute vendor_phone
384
+ # The telephone number of the vendor contact (BT-42). Required when vendor and
385
+ # customer are both in Germany (DE-R-006); it must then hold at least 3 digits
386
+ # (DE-R-027, a warning).
387
+ #
388
+ # @return [String, nil]
389
+ optional :vendor_phone, String, nil?: true
390
+
327
391
  # @!attribute vendor_tax_id
328
392
  # Vendor tax ID. For Belgium this is the VAT number. Must include the country
329
393
  # prefix
@@ -331,7 +395,7 @@ module EInvoiceAPI
331
395
  # @return [String, nil]
332
396
  optional :vendor_tax_id, String, nil?: true
333
397
 
334
- # @!method initialize(allowances: nil, amount_due: nil, attachments: nil, billing_address: nil, billing_address_recipient: nil, charges: nil, currency: nil, customer_address: nil, customer_address_recipient: nil, customer_company_id: nil, customer_email: nil, customer_id: nil, customer_name: nil, customer_peppol_id: nil, customer_tax_id: nil, direction: nil, document_type: nil, due_date: nil, error_message: nil, error_type: nil, invoice_date: nil, invoice_id: nil, invoice_total: nil, items: nil, note: nil, payment_details: nil, payment_term: nil, purchase_order: nil, remittance_address: nil, remittance_address_recipient: nil, service_address: nil, service_address_recipient: nil, service_end_date: nil, service_start_date: nil, shipping_address: nil, shipping_address_recipient: nil, state: nil, subtotal: nil, success: nil, tax_code: nil, tax_details: nil, total_discount: nil, total_tax: nil, ubl_document: nil, vatex: nil, vatex_note: nil, vendor_address: nil, vendor_address_recipient: nil, vendor_company_id: nil, vendor_email: nil, vendor_name: nil, vendor_tax_id: nil)
398
+ # @!method initialize(allowances: nil, amount_due: nil, attachments: nil, billing_address: nil, billing_address_recipient: nil, buyer_reference: nil, charges: nil, currency: nil, customer_address: nil, customer_address_recipient: nil, customer_company_id: nil, customer_email: nil, customer_id: nil, customer_name: nil, customer_peppol_id: nil, customer_phone: nil, customer_tax_id: nil, direction: nil, document_type: nil, due_date: nil, error_message: nil, error_type: nil, invoice_date: nil, invoice_id: nil, invoice_total: nil, items: nil, note: nil, payment_details: nil, payment_term: nil, preceding_invoice_date: nil, preceding_invoice_id: nil, purchase_order: nil, remittance_address: nil, remittance_address_recipient: nil, rounding_amount: nil, sales_order: nil, service_address: nil, service_address_recipient: nil, service_end_date: nil, service_start_date: nil, shipping_address: nil, shipping_address_recipient: nil, state: nil, subtotal: nil, success: nil, tax_code: nil, tax_currency: nil, tax_details: nil, total_discount: nil, total_tax: nil, total_tax_in_tax_currency: nil, ubl_document: nil, vatex: nil, vatex_note: nil, vendor_address: nil, vendor_address_recipient: nil, vendor_company_id: nil, vendor_email: nil, vendor_name: nil, vendor_phone: nil, vendor_tax_id: nil)
335
399
  # Some parameter documentations has been truncated, see
336
400
  # {EInvoiceAPI::Models::DocumentCreateFromPdfResponse} for more details.
337
401
  #
@@ -345,6 +409,8 @@ module EInvoiceAPI
345
409
  #
346
410
  # @param billing_address_recipient [String, nil] The recipient name at the billing address
347
411
  #
412
+ # @param buyer_reference [String, nil] The buyer reference (BT-10), e.g. a cost centre or accounting reference requeste
413
+ #
348
414
  # @param charges [Array<EInvoiceAPI::Models::Charge>, nil]
349
415
  #
350
416
  # @param currency [Symbol, EInvoiceAPI::Models::CurrencyCode] Currency of the invoice (ISO 4217 currency code)
@@ -363,6 +429,8 @@ module EInvoiceAPI
363
429
  #
364
430
  # @param customer_peppol_id [String, nil] Customer Peppol ID
365
431
  #
432
+ # @param customer_phone [String, nil] The telephone number of the customer contact (BT-57)
433
+ #
366
434
  # @param customer_tax_id [String, nil] Customer tax ID. For Belgium this is the VAT number. Must include the country pr
367
435
  #
368
436
  # @param direction [Symbol, EInvoiceAPI::Models::DocumentDirection] The direction of the document: INBOUND (purchases) or OUTBOUND (sales)
@@ -389,12 +457,20 @@ module EInvoiceAPI
389
457
  #
390
458
  # @param payment_term [String, nil] The payment terms (e.g., 'Net 30', 'Due on receipt', '2/10 Net 30')
391
459
  #
460
+ # @param preceding_invoice_date [Date, nil] The preceding invoice issue date (BT-26)
461
+ #
462
+ # @param preceding_invoice_id [String, nil] The preceding invoice reference (BT-25): the number of the invoice this document
463
+ #
392
464
  # @param purchase_order [String, nil] The purchase order reference number
393
465
  #
394
466
  # @param remittance_address [String, nil] The address where payment should be sent or remitted to
395
467
  #
396
468
  # @param remittance_address_recipient [String, nil] The recipient name at the remittance address
397
469
  #
470
+ # @param rounding_amount [String, nil] The amount added to the invoice total to round the amount for payment (BT-114),
471
+ #
472
+ # @param sales_order [String, nil] The sales order reference (BT-14) assigned by the seller
473
+ #
398
474
  # @param service_address [String, nil] The address where services were performed or goods were delivered
399
475
  #
400
476
  # @param service_address_recipient [String, nil] The recipient name at the service address
@@ -415,12 +491,16 @@ module EInvoiceAPI
415
491
  #
416
492
  # @param tax_code [Symbol, EInvoiceAPI::Models::DocumentCreateFromPdfResponse::TaxCode] Tax category code of the invoice (e.g., S for standard rate, Z for zero rate, E
417
493
  #
494
+ # @param tax_currency [String, nil] The VAT accounting currency (BT-6, ISO 4217 currency code), when VAT is accounte
495
+ #
418
496
  # @param tax_details [Array<EInvoiceAPI::Models::DocumentCreateFromPdfResponse::TaxDetail>, nil]
419
497
  #
420
498
  # @param total_discount [String, nil] The net financial discount/charge of the invoice (non-VAT charges minus non-VAT
421
499
  #
422
500
  # @param total_tax [String, nil] The total tax amount of the invoice. Must be positive and rounded to maximum 2 d
423
501
  #
502
+ # @param total_tax_in_tax_currency [String, nil] The total VAT amount in the VAT accounting currency tax_currency (BT-111). Does
503
+ #
424
504
  # @param ubl_document [String, nil] The UBL document as an XML string
425
505
  #
426
506
  # @param vatex [Symbol, EInvoiceAPI::Models::DocumentCreateFromPdfResponse::Vatex, nil] VATEX code list for VAT exemption reasons
@@ -437,6 +517,8 @@ module EInvoiceAPI
437
517
  #
438
518
  # @param vendor_name [String, nil] The name of the vendor/seller/supplier
439
519
  #
520
+ # @param vendor_phone [String, nil] The telephone number of the vendor contact (BT-42). Required when vendor and cus
521
+ #
440
522
  # @param vendor_tax_id [String, nil] Vendor tax ID. For Belgium this is the VAT number. Must include the country pref
441
523
 
442
524
  class Item < EInvoiceAPI::Internal::Type::BaseModel
@@ -463,8 +545,8 @@ module EInvoiceAPI
463
545
 
464
546
  # @!attribute date
465
547
  #
466
- # @return [nil]
467
- optional :date, NilClass
548
+ # @return [Date, nil]
549
+ optional :date, Date, nil?: true
468
550
 
469
551
  # @!attribute description
470
552
  # The description of the line item.
@@ -480,6 +562,23 @@ module EInvoiceAPI
480
562
  -> { EInvoiceAPI::Internal::Type::ArrayOf[EInvoiceAPI::Models::DocumentCreateFromPdfResponse::Item::ItemAttribute] },
481
563
  nil?: true
482
564
 
565
+ # @!attribute name
566
+ # The item name (BT-153), for example the product name. Written to
567
+ # cac:Item/cbc:Name. When omitted or blank, `description` (BT-154) is used as the
568
+ # item name. A posted line item needs a `name` or a `description`; a line item
569
+ # with neither is rejected with 422.
570
+ #
571
+ # @return [String, nil]
572
+ optional :name, String, nil?: true
573
+
574
+ # @!attribute price_base_quantity
575
+ # The item price base quantity (BT-149). The number of item units to which the
576
+ # unit price applies, for example 100 when the unit price is a price for each 100
577
+ # units. Must be greater than 0. Defaults to 1.
578
+ #
579
+ # @return [String, nil]
580
+ optional :price_base_quantity, String
581
+
483
582
  # @!attribute product_code
484
583
  # The product code of the line item.
485
584
  #
@@ -520,7 +619,7 @@ module EInvoiceAPI
520
619
  # @return [String, nil]
521
620
  optional :unit_price, String, nil?: true
522
621
 
523
- # @!method initialize(allowances: nil, amount: nil, charges: nil, date: nil, description: nil, item_attributes: nil, product_code: nil, quantity: nil, tax: nil, tax_rate: nil, unit: nil, unit_price: nil)
622
+ # @!method initialize(allowances: nil, amount: nil, charges: nil, date: nil, description: nil, item_attributes: nil, name: nil, price_base_quantity: nil, product_code: nil, quantity: nil, tax: nil, tax_rate: nil, unit: nil, unit_price: nil)
524
623
  # Some parameter documentations has been truncated, see
525
624
  # {EInvoiceAPI::Models::DocumentCreateFromPdfResponse::Item} for more details.
526
625
  #
@@ -530,12 +629,16 @@ module EInvoiceAPI
530
629
  #
531
630
  # @param charges [Array<EInvoiceAPI::Models::Charge>, nil] The charges of the line item.
532
631
  #
533
- # @param date [nil]
632
+ # @param date [Date, nil]
534
633
  #
535
634
  # @param description [String, nil] The description of the line item.
536
635
  #
537
636
  # @param item_attributes [Array<EInvoiceAPI::Models::DocumentCreateFromPdfResponse::Item::ItemAttribute>, nil] Item-level attributes (BG-32) from cac:AdditionalItemProperty.
538
637
  #
638
+ # @param name [String, nil] The item name (BT-153), for example the product name. Written to cac:Item/cbc:Na
639
+ #
640
+ # @param price_base_quantity [String] The item price base quantity (BT-149). The number of item units to which the uni
641
+ #
539
642
  # @param product_code [String, nil] The product code of the line item.
540
643
  #
541
644
  # @param quantity [String, nil] The quantity of items (goods or services) that is the subject of the line item.
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EInvoiceAPI
4
+ module Models
5
+ # @see EInvoiceAPI::Resources::Documents#lifecycle
6
+ class DocumentLifecycleParams < EInvoiceAPI::Internal::Type::BaseModel
7
+ extend EInvoiceAPI::Internal::Type::RequestParameters::Converter
8
+ include EInvoiceAPI::Internal::Type::RequestParameters
9
+
10
+ # @!attribute document_id
11
+ #
12
+ # @return [String]
13
+ required :document_id, String
14
+
15
+ # @!method initialize(document_id:, request_options: {})
16
+ # @param document_id [String]
17
+ # @param request_options [EInvoiceAPI::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,134 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EInvoiceAPI
4
+ module Models
5
+ # @see EInvoiceAPI::Resources::Documents#lifecycle
6
+ class DocumentLifecycleResponse < EInvoiceAPI::Internal::Type::BaseModel
7
+ # @!attribute document_id
8
+ #
9
+ # @return [String]
10
+ required :document_id, String
11
+
12
+ # @!attribute events
13
+ #
14
+ # @return [Array<EInvoiceAPI::Models::DocumentLifecycleResponse::Event>]
15
+ required :events,
16
+ -> { EInvoiceAPI::Internal::Type::ArrayOf[EInvoiceAPI::Models::DocumentLifecycleResponse::Event] }
17
+
18
+ # @!method initialize(document_id:, events:)
19
+ # @param document_id [String]
20
+ # @param events [Array<EInvoiceAPI::Models::DocumentLifecycleResponse::Event>]
21
+
22
+ class Event < EInvoiceAPI::Internal::Type::BaseModel
23
+ # @!attribute canonical_status
24
+ #
25
+ # @return [Symbol, EInvoiceAPI::Models::DocumentLifecycleResponse::Event::CanonicalStatus, nil]
26
+ required :canonical_status,
27
+ enum: -> { EInvoiceAPI::Models::DocumentLifecycleResponse::Event::CanonicalStatus },
28
+ nil?: true
29
+
30
+ # @!attribute direction
31
+ #
32
+ # @return [Symbol, EInvoiceAPI::Models::DocumentLifecycleResponse::Event::Direction]
33
+ required :direction, enum: -> { EInvoiceAPI::Models::DocumentLifecycleResponse::Event::Direction }
34
+
35
+ # @!attribute level
36
+ #
37
+ # @return [Symbol, EInvoiceAPI::Models::DocumentLifecycleResponse::Event::Level]
38
+ required :level, enum: -> { EInvoiceAPI::Models::DocumentLifecycleResponse::Event::Level }
39
+
40
+ # @!attribute native_code
41
+ #
42
+ # @return [String, nil]
43
+ required :native_code, String, nil?: true
44
+
45
+ # @!attribute occurred_at
46
+ #
47
+ # @return [Time]
48
+ required :occurred_at, Time
49
+
50
+ # @!attribute reason
51
+ #
52
+ # @return [String, nil]
53
+ required :reason, String, nil?: true
54
+
55
+ # @!attribute reason_code
56
+ #
57
+ # @return [String, nil]
58
+ required :reason_code, String, nil?: true
59
+
60
+ # @!attribute source
61
+ #
62
+ # @return [Symbol, EInvoiceAPI::Models::DocumentLifecycleResponse::Event::Source]
63
+ required :source, enum: -> { EInvoiceAPI::Models::DocumentLifecycleResponse::Event::Source }
64
+
65
+ # @!method initialize(canonical_status:, direction:, level:, native_code:, occurred_at:, reason:, reason_code:, source:)
66
+ # @param canonical_status [Symbol, EInvoiceAPI::Models::DocumentLifecycleResponse::Event::CanonicalStatus, nil]
67
+ # @param direction [Symbol, EInvoiceAPI::Models::DocumentLifecycleResponse::Event::Direction]
68
+ # @param level [Symbol, EInvoiceAPI::Models::DocumentLifecycleResponse::Event::Level]
69
+ # @param native_code [String, nil]
70
+ # @param occurred_at [Time]
71
+ # @param reason [String, nil]
72
+ # @param reason_code [String, nil]
73
+ # @param source [Symbol, EInvoiceAPI::Models::DocumentLifecycleResponse::Event::Source]
74
+
75
+ # @see EInvoiceAPI::Models::DocumentLifecycleResponse::Event#canonical_status
76
+ module CanonicalStatus
77
+ extend EInvoiceAPI::Internal::Type::Enum
78
+
79
+ DEPOSITED = :deposited
80
+ EMITTED = :emitted
81
+ DELIVERED = :delivered
82
+ REJECTED = :rejected
83
+ ACKNOWLEDGED = :acknowledged
84
+ APPROVED = :approved
85
+ PARTIALLY_APPROVED = :partially_approved
86
+ DISPUTED = :disputed
87
+ ON_HOLD = :on_hold
88
+ REFUSED = :refused
89
+ PAYMENT_SENT = :payment_sent
90
+ PAID = :paid
91
+
92
+ # @!method self.values
93
+ # @return [Array<Symbol>]
94
+ end
95
+
96
+ # @see EInvoiceAPI::Models::DocumentLifecycleResponse::Event#direction
97
+ module Direction
98
+ extend EInvoiceAPI::Internal::Type::Enum
99
+
100
+ IN = :in
101
+ OUT = :out
102
+
103
+ # @!method self.values
104
+ # @return [Array<Symbol>]
105
+ end
106
+
107
+ # @see EInvoiceAPI::Models::DocumentLifecycleResponse::Event#level
108
+ module Level
109
+ extend EInvoiceAPI::Internal::Type::Enum
110
+
111
+ TRANSPORT = :transport
112
+ BUSINESS = :business
113
+
114
+ # @!method self.values
115
+ # @return [Array<Symbol>]
116
+ end
117
+
118
+ # @see EInvoiceAPI::Models::DocumentLifecycleResponse::Event#source
119
+ module Source
120
+ extend EInvoiceAPI::Internal::Type::Enum
121
+
122
+ PEPPOL_MLR = :"peppol:mlr"
123
+ PEPPOL_MLS = :"peppol:mls"
124
+ PEPPOL_IMR = :"peppol:imr"
125
+ FR_SUPERPDP = :"fr:superpdp"
126
+ LOCAL = :local
127
+
128
+ # @!method self.values
129
+ # @return [Array<Symbol>]
130
+ end
131
+ end
132
+ end
133
+ end
134
+ end
@@ -46,6 +46,13 @@ module EInvoiceAPI
46
46
  # @return [String, nil]
47
47
  optional :billing_address_recipient, String, nil?: true
48
48
 
49
+ # @!attribute buyer_reference
50
+ # The buyer reference (BT-10), e.g. a cost centre or accounting reference
51
+ # requested by the buyer
52
+ #
53
+ # @return [String, nil]
54
+ optional :buyer_reference, String, nil?: true
55
+
49
56
  # @!attribute charges
50
57
  #
51
58
  # @return [Array<EInvoiceAPI::Models::DocumentResponse::Charge>, nil]
@@ -102,6 +109,12 @@ module EInvoiceAPI
102
109
  # @return [String, nil]
103
110
  optional :customer_peppol_id, String, nil?: true
104
111
 
112
+ # @!attribute customer_phone
113
+ # The telephone number of the customer contact (BT-57)
114
+ #
115
+ # @return [String, nil]
116
+ optional :customer_phone, String, nil?: true
117
+
105
118
  # @!attribute customer_tax_id
106
119
  # Customer tax ID. For Belgium this is the VAT number. Must include the country
107
120
  # prefix
@@ -172,6 +185,19 @@ module EInvoiceAPI
172
185
  # @return [String, nil]
173
186
  optional :payment_term, String, nil?: true
174
187
 
188
+ # @!attribute preceding_invoice_date
189
+ # The preceding invoice issue date (BT-26)
190
+ #
191
+ # @return [Date, nil]
192
+ optional :preceding_invoice_date, Date, nil?: true
193
+
194
+ # @!attribute preceding_invoice_id
195
+ # The preceding invoice reference (BT-25): the number of the invoice this document
196
+ # corrects, for example the invoice a credit note credits
197
+ #
198
+ # @return [String, nil]
199
+ optional :preceding_invoice_id, String, nil?: true
200
+
175
201
  # @!attribute purchase_order
176
202
  # The purchase order reference number
177
203
  #
@@ -190,6 +216,21 @@ module EInvoiceAPI
190
216
  # @return [String, nil]
191
217
  optional :remittance_address_recipient, String, nil?: true
192
218
 
219
+ # @!attribute rounding_amount
220
+ # The amount added to the invoice total to round the amount for payment (BT-114),
221
+ # for example to whole kronor (amount_due = invoice_total + rounding_amount when
222
+ # nothing is prepaid). Can be negative. Between -5.00 and 5.00, rounded to maximum
223
+ # 2 decimals
224
+ #
225
+ # @return [String, nil]
226
+ optional :rounding_amount, String, nil?: true
227
+
228
+ # @!attribute sales_order
229
+ # The sales order reference (BT-14) assigned by the seller
230
+ #
231
+ # @return [String, nil]
232
+ optional :sales_order, String, nil?: true
233
+
193
234
  # @!attribute service_address
194
235
  # The address where services were performed or goods were delivered
195
236
  #
@@ -247,6 +288,14 @@ module EInvoiceAPI
247
288
  # @return [Symbol, EInvoiceAPI::Models::DocumentResponse::TaxCode, nil]
248
289
  optional :tax_code, enum: -> { EInvoiceAPI::DocumentResponse::TaxCode }
249
290
 
291
+ # @!attribute tax_currency
292
+ # The VAT accounting currency (BT-6, ISO 4217 currency code), when VAT is
293
+ # accounted in a currency other than the invoice currency. Must differ from
294
+ # currency and requires total_tax_in_tax_currency
295
+ #
296
+ # @return [String, nil]
297
+ optional :tax_currency, String, nil?: true
298
+
250
299
  # @!attribute tax_details
251
300
  #
252
301
  # @return [Array<EInvoiceAPI::Models::DocumentResponse::TaxDetail>, nil]
@@ -269,6 +318,13 @@ module EInvoiceAPI
269
318
  # @return [String, nil]
270
319
  optional :total_tax, String, nil?: true
271
320
 
321
+ # @!attribute total_tax_in_tax_currency
322
+ # The total VAT amount in the VAT accounting currency tax_currency (BT-111). Does
323
+ # not add to invoice_total. Requires tax_currency. Rounded to maximum 2 decimals
324
+ #
325
+ # @return [String, nil]
326
+ optional :total_tax_in_tax_currency, String, nil?: true
327
+
272
328
  # @!attribute vatex
273
329
  # VATEX code list for VAT exemption reasons
274
330
  #
@@ -314,6 +370,14 @@ module EInvoiceAPI
314
370
  # @return [String, nil]
315
371
  optional :vendor_name, String, nil?: true
316
372
 
373
+ # @!attribute vendor_phone
374
+ # The telephone number of the vendor contact (BT-42). Required when vendor and
375
+ # customer are both in Germany (DE-R-006); it must then hold at least 3 digits
376
+ # (DE-R-027, a warning).
377
+ #
378
+ # @return [String, nil]
379
+ optional :vendor_phone, String, nil?: true
380
+
317
381
  # @!attribute vendor_tax_id
318
382
  # Vendor tax ID. For Belgium this is the VAT number. Must include the country
319
383
  # prefix
@@ -321,7 +385,7 @@ module EInvoiceAPI
321
385
  # @return [String, nil]
322
386
  optional :vendor_tax_id, String, nil?: true
323
387
 
324
- # @!method initialize(id:, created_at:, allowances: nil, amount_due: nil, attachments: nil, billing_address: nil, billing_address_recipient: nil, charges: nil, currency: nil, customer_address: nil, customer_address_recipient: nil, customer_company_id: nil, customer_email: nil, customer_id: nil, customer_name: nil, customer_peppol_id: nil, customer_tax_id: nil, direction: nil, document_type: nil, due_date: nil, invoice_date: nil, invoice_id: nil, invoice_total: nil, items: nil, note: nil, payment_details: nil, payment_term: nil, purchase_order: nil, remittance_address: nil, remittance_address_recipient: nil, service_address: nil, service_address_recipient: nil, service_end_date: nil, service_start_date: nil, shipping_address: nil, shipping_address_recipient: nil, state: nil, subtotal: nil, tax_code: nil, tax_details: nil, total_discount: nil, total_tax: nil, vatex: nil, vatex_note: nil, vendor_address: nil, vendor_address_recipient: nil, vendor_company_id: nil, vendor_email: nil, vendor_name: nil, vendor_tax_id: nil)
388
+ # @!method initialize(id:, created_at:, allowances: nil, amount_due: nil, attachments: nil, billing_address: nil, billing_address_recipient: nil, buyer_reference: nil, charges: nil, currency: nil, customer_address: nil, customer_address_recipient: nil, customer_company_id: nil, customer_email: nil, customer_id: nil, customer_name: nil, customer_peppol_id: nil, customer_phone: nil, customer_tax_id: nil, direction: nil, document_type: nil, due_date: nil, invoice_date: nil, invoice_id: nil, invoice_total: nil, items: nil, note: nil, payment_details: nil, payment_term: nil, preceding_invoice_date: nil, preceding_invoice_id: nil, purchase_order: nil, remittance_address: nil, remittance_address_recipient: nil, rounding_amount: nil, sales_order: nil, service_address: nil, service_address_recipient: nil, service_end_date: nil, service_start_date: nil, shipping_address: nil, shipping_address_recipient: nil, state: nil, subtotal: nil, tax_code: nil, tax_currency: nil, tax_details: nil, total_discount: nil, total_tax: nil, total_tax_in_tax_currency: nil, vatex: nil, vatex_note: nil, vendor_address: nil, vendor_address_recipient: nil, vendor_company_id: nil, vendor_email: nil, vendor_name: nil, vendor_phone: nil, vendor_tax_id: nil)
325
389
  # Some parameter documentations has been truncated, see
326
390
  # {EInvoiceAPI::Models::DocumentResponse} for more details.
327
391
  #
@@ -339,6 +403,8 @@ module EInvoiceAPI
339
403
  #
340
404
  # @param billing_address_recipient [String, nil] The recipient name at the billing address
341
405
  #
406
+ # @param buyer_reference [String, nil] The buyer reference (BT-10), e.g. a cost centre or accounting reference requeste
407
+ #
342
408
  # @param charges [Array<EInvoiceAPI::Models::DocumentResponse::Charge>, nil]
343
409
  #
344
410
  # @param currency [Symbol, EInvoiceAPI::Models::CurrencyCode] Currency of the invoice (ISO 4217 currency code)
@@ -357,6 +423,8 @@ module EInvoiceAPI
357
423
  #
358
424
  # @param customer_peppol_id [String, nil] Customer Peppol ID
359
425
  #
426
+ # @param customer_phone [String, nil] The telephone number of the customer contact (BT-57)
427
+ #
360
428
  # @param customer_tax_id [String, nil] Customer tax ID. For Belgium this is the VAT number. Must include the country pr
361
429
  #
362
430
  # @param direction [Symbol, EInvoiceAPI::Models::DocumentDirection] The direction of the document: INBOUND (purchases) or OUTBOUND (sales)
@@ -379,12 +447,20 @@ module EInvoiceAPI
379
447
  #
380
448
  # @param payment_term [String, nil] The payment terms (e.g., 'Net 30', 'Due on receipt', '2/10 Net 30')
381
449
  #
450
+ # @param preceding_invoice_date [Date, nil] The preceding invoice issue date (BT-26)
451
+ #
452
+ # @param preceding_invoice_id [String, nil] The preceding invoice reference (BT-25): the number of the invoice this document
453
+ #
382
454
  # @param purchase_order [String, nil] The purchase order reference number
383
455
  #
384
456
  # @param remittance_address [String, nil] The address where payment should be sent or remitted to
385
457
  #
386
458
  # @param remittance_address_recipient [String, nil] The recipient name at the remittance address
387
459
  #
460
+ # @param rounding_amount [String, nil] The amount added to the invoice total to round the amount for payment (BT-114),
461
+ #
462
+ # @param sales_order [String, nil] The sales order reference (BT-14) assigned by the seller
463
+ #
388
464
  # @param service_address [String, nil] The address where services were performed or goods were delivered
389
465
  #
390
466
  # @param service_address_recipient [String, nil] The recipient name at the service address
@@ -403,12 +479,16 @@ module EInvoiceAPI
403
479
  #
404
480
  # @param tax_code [Symbol, EInvoiceAPI::Models::DocumentResponse::TaxCode] Tax category code of the invoice (e.g., S for standard rate, Z for zero rate, E
405
481
  #
482
+ # @param tax_currency [String, nil] The VAT accounting currency (BT-6, ISO 4217 currency code), when VAT is accounte
483
+ #
406
484
  # @param tax_details [Array<EInvoiceAPI::Models::DocumentResponse::TaxDetail>, nil]
407
485
  #
408
486
  # @param total_discount [String, nil] The net financial discount/charge of the invoice (non-VAT charges minus non-VAT
409
487
  #
410
488
  # @param total_tax [String, nil] The total tax amount of the invoice. Must be positive and rounded to maximum 2 d
411
489
  #
490
+ # @param total_tax_in_tax_currency [String, nil] The total VAT amount in the VAT accounting currency tax_currency (BT-111). Does
491
+ #
412
492
  # @param vatex [Symbol, EInvoiceAPI::Models::DocumentResponse::Vatex, nil] VATEX code list for VAT exemption reasons
413
493
  #
414
494
  # @param vatex_note [String, nil] Textual explanation for VAT exemption
@@ -423,6 +503,8 @@ module EInvoiceAPI
423
503
  #
424
504
  # @param vendor_name [String, nil] The name of the vendor/seller/supplier
425
505
  #
506
+ # @param vendor_phone [String, nil] The telephone number of the vendor contact (BT-42). Required when vendor and cus
507
+ #
426
508
  # @param vendor_tax_id [String, nil] Vendor tax ID. For Belgium this is the VAT number. Must include the country pref
427
509
 
428
510
  class Allowance < EInvoiceAPI::Internal::Type::BaseModel
@@ -844,8 +926,8 @@ module EInvoiceAPI
844
926
 
845
927
  # @!attribute date
846
928
  #
847
- # @return [nil]
848
- optional :date, NilClass
929
+ # @return [Date, nil]
930
+ optional :date, Date, nil?: true
849
931
 
850
932
  # @!attribute description
851
933
  # The description of the line item.
@@ -863,6 +945,23 @@ module EInvoiceAPI
863
945
  },
864
946
  nil?: true
865
947
 
948
+ # @!attribute name
949
+ # The item name (BT-153), for example the product name. Written to
950
+ # cac:Item/cbc:Name. When omitted or blank, `description` (BT-154) is used as the
951
+ # item name. A posted line item needs a `name` or a `description`; a line item
952
+ # with neither is rejected with 422.
953
+ #
954
+ # @return [String, nil]
955
+ optional :name, String, nil?: true
956
+
957
+ # @!attribute price_base_quantity
958
+ # The item price base quantity (BT-149). The number of item units to which the
959
+ # unit price applies, for example 100 when the unit price is a price for each 100
960
+ # units. Must be greater than 0. Defaults to 1.
961
+ #
962
+ # @return [String, nil]
963
+ optional :price_base_quantity, String
964
+
866
965
  # @!attribute product_code
867
966
  # The product code of the line item.
868
967
  #
@@ -903,7 +1002,7 @@ module EInvoiceAPI
903
1002
  # @return [String, nil]
904
1003
  optional :unit_price, String, nil?: true
905
1004
 
906
- # @!method initialize(allowances: nil, amount: nil, charges: nil, date: nil, description: nil, item_attributes: nil, product_code: nil, quantity: nil, tax: nil, tax_rate: nil, unit: nil, unit_price: nil)
1005
+ # @!method initialize(allowances: nil, amount: nil, charges: nil, date: nil, description: nil, item_attributes: nil, name: nil, price_base_quantity: nil, product_code: nil, quantity: nil, tax: nil, tax_rate: nil, unit: nil, unit_price: nil)
907
1006
  # Some parameter documentations has been truncated, see
908
1007
  # {EInvoiceAPI::Models::DocumentResponse::Item} for more details.
909
1008
  #
@@ -913,12 +1012,16 @@ module EInvoiceAPI
913
1012
  #
914
1013
  # @param charges [Array<EInvoiceAPI::Models::Charge>, nil] The charges of the line item.
915
1014
  #
916
- # @param date [nil]
1015
+ # @param date [Date, nil]
917
1016
  #
918
1017
  # @param description [String, nil] The description of the line item.
919
1018
  #
920
1019
  # @param item_attributes [Array<EInvoiceAPI::Models::DocumentResponse::Item::ItemAttribute>, nil] Item-level attributes (BG-32) from cac:AdditionalItemProperty.
921
1020
  #
1021
+ # @param name [String, nil] The item name (BT-153), for example the product name. Written to cac:Item/cbc:Na
1022
+ #
1023
+ # @param price_base_quantity [String] The item price base quantity (BT-149). The number of item units to which the uni
1024
+ #
922
1025
  # @param product_code [String, nil] The product code of the line item.
923
1026
  #
924
1027
  # @param quantity [String, nil] The quantity of items (goods or services) that is the subject of the line item.
@@ -975,7 +1078,9 @@ module EInvoiceAPI
975
1078
  optional :payment_reference, String, nil?: true
976
1079
 
977
1080
  # @!attribute swift
978
- # SWIFT/BIC code of the bank
1081
+ # The payment service provider identifier (BT-86): the BIC of the payee's bank, or
1082
+ # `SE:BANKGIRO` / `SE:PLUSGIRO` when `bank_account_number` is a Swedish bankgiro
1083
+ # or plusgiro number.
979
1084
  #
980
1085
  # @return [String, nil]
981
1086
  optional :swift, String, nil?: true
@@ -990,7 +1095,7 @@ module EInvoiceAPI
990
1095
  #
991
1096
  # @param payment_reference [String, nil] Structured payment reference or communication (e.g., structured communication fo
992
1097
  #
993
- # @param swift [String, nil] SWIFT/BIC code of the bank
1098
+ # @param swift [String, nil] The payment service provider identifier (BT-86): the BIC of the payee's bank, or
994
1099
  end
995
1100
 
996
1101
  # Tax category code of the invoice (e.g., S for standard rate, Z for zero rate, E