nordlet 0.5.3 → 0.5.5

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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/lib/nordlet/account/client.rb +125 -0
  3. data/lib/nordlet/agreements/client.rb +49 -0
  4. data/lib/nordlet/assets/client.rb +42 -0
  5. data/lib/nordlet/audit/client.rb +4 -0
  6. data/lib/nordlet/bank/client.rb +218 -0
  7. data/lib/nordlet/billing/client.rb +45 -0
  8. data/lib/nordlet/calendar/client.rb +18 -0
  9. data/lib/nordlet/capture/client.rb +33 -0
  10. data/lib/nordlet/cash/client.rb +36 -0
  11. data/lib/nordlet/catalog/client.rb +77 -0
  12. data/lib/nordlet/consolidation/client.rb +29 -0
  13. data/lib/nordlet/declarations/client.rb +209 -0
  14. data/lib/nordlet/declarations/types/lt_gpm312compute_declarations_response_rows_item.rb +2 -0
  15. data/lib/nordlet/document_series/client.rb +20 -0
  16. data/lib/nordlet/ecommerce/client.rb +41 -0
  17. data/lib/nordlet/files/client.rb +10 -0
  18. data/lib/nordlet/fleet/client.rb +26 -0
  19. data/lib/nordlet/hr/client.rb +93 -0
  20. data/lib/nordlet/inventory/client.rb +91 -0
  21. data/lib/nordlet/leads/client.rb +49 -0
  22. data/lib/nordlet/ledger/client.rb +78 -3
  23. data/lib/nordlet/officers/client.rb +8 -0
  24. data/lib/nordlet/operation_types/client.rb +20 -0
  25. data/lib/nordlet/partners/client.rb +126 -0
  26. data/lib/nordlet/payroll/client.rb +94 -0
  27. data/lib/nordlet/payroll/types/calc_payroll_request.rb +2 -0
  28. data/lib/nordlet/payroll/types/calc_payroll_request_payments_item.rb +15 -0
  29. data/lib/nordlet/payroll/types/calc_payroll_response_components_item.rb +2 -0
  30. data/lib/nordlet/payroll/types/lines_attendance_payroll_response_additions_item.rb +4 -0
  31. data/lib/nordlet/payroll/types/lines_attendance_payroll_response_components_item.rb +2 -0
  32. data/lib/nordlet/payroll/types/payment_types_list_payroll_request.rb +9 -0
  33. data/lib/nordlet/payroll/types/payment_types_list_payroll_response.rb +15 -0
  34. data/lib/nordlet/payroll/types/payment_types_list_payroll_response_rows_item.rb +15 -0
  35. data/lib/nordlet/payroll/types/runs_approve_payroll_response_component_totals_item.rb +2 -0
  36. data/lib/nordlet/payroll/types/runs_create_payroll_request_lines_item_additions_item.rb +4 -0
  37. data/lib/nordlet/payroll/types/runs_create_payroll_response_component_totals_item.rb +2 -0
  38. data/lib/nordlet/payroll/types/runs_create_payroll_response_lines_item_additions_item.rb +4 -0
  39. data/lib/nordlet/payroll/types/runs_create_payroll_response_lines_item_components_item.rb +2 -0
  40. data/lib/nordlet/payroll/types/runs_get_payroll_response_component_totals_item.rb +2 -0
  41. data/lib/nordlet/payroll/types/runs_get_payroll_response_lines_item_additions_item.rb +4 -0
  42. data/lib/nordlet/payroll/types/runs_get_payroll_response_lines_item_components_item.rb +2 -0
  43. data/lib/nordlet/payroll/types/runs_list_payroll_response_rows_item_component_totals_item.rb +2 -0
  44. data/lib/nordlet/payroll/types/runs_reverse_payroll_response_component_totals_item.rb +2 -0
  45. data/lib/nordlet/peppol/client.rb +7 -0
  46. data/lib/nordlet/platform_sellers/client.rb +13 -0
  47. data/lib/nordlet/pos/client.rb +46 -0
  48. data/lib/nordlet/production/client.rb +78 -0
  49. data/lib/nordlet/projects/client.rb +35 -0
  50. data/lib/nordlet/public/client.rb +9 -0
  51. data/lib/nordlet/purchases/client.rb +102 -0
  52. data/lib/nordlet/reference/client.rb +74 -0
  53. data/lib/nordlet/reports/client.rb +108 -0
  54. data/lib/nordlet/sales/client.rb +408 -0
  55. data/lib/nordlet/sales/types/invoices_apply_advance_sales_response.rb +4 -0
  56. data/lib/nordlet/sales/types/invoices_create_sales_request.rb +2 -0
  57. data/lib/nordlet/sales/types/invoices_create_sales_request_locale.rb +15 -0
  58. data/lib/nordlet/sales/types/invoices_create_sales_response.rb +4 -0
  59. data/lib/nordlet/sales/types/invoices_get_sales_response.rb +4 -0
  60. data/lib/nordlet/sales/types/invoices_issue_sales_response.rb +4 -0
  61. data/lib/nordlet/sales/types/invoices_list_sales_response_rows_item.rb +4 -0
  62. data/lib/nordlet/sales/types/invoices_lock_sales_response.rb +4 -0
  63. data/lib/nordlet/sales/types/invoices_unlock_sales_response.rb +4 -0
  64. data/lib/nordlet/sales/types/invoices_update_sales_request.rb +2 -0
  65. data/lib/nordlet/sales/types/invoices_update_sales_request_locale.rb +15 -0
  66. data/lib/nordlet/sales/types/invoices_update_sales_response.rb +4 -0
  67. data/lib/nordlet/sales/types/recurring_invoices_create_sales_request.rb +29 -0
  68. data/lib/nordlet/sales/types/recurring_invoices_create_sales_request_frequency.rb +16 -0
  69. data/lib/nordlet/sales/types/recurring_invoices_create_sales_request_locale.rb +15 -0
  70. data/lib/nordlet/sales/types/recurring_invoices_create_sales_response.rb +51 -0
  71. data/lib/nordlet/sales/types/recurring_invoices_create_sales_response_frequency.rb +16 -0
  72. data/lib/nordlet/sales/types/recurring_invoices_create_sales_response_status.rb +15 -0
  73. data/lib/nordlet/sales/types/recurring_invoices_delete_sales_request.rb +11 -0
  74. data/lib/nordlet/sales/types/recurring_invoices_delete_sales_response.rb +11 -0
  75. data/lib/nordlet/sales/types/recurring_invoices_generate_sales_request.rb +11 -0
  76. data/lib/nordlet/sales/types/recurring_invoices_generate_sales_response.rb +21 -0
  77. data/lib/nordlet/sales/types/recurring_invoices_generate_sales_response_recurring_invoice.rb +51 -0
  78. data/lib/nordlet/sales/types/recurring_invoices_generate_sales_response_recurring_invoice_frequency.rb +16 -0
  79. data/lib/nordlet/sales/types/recurring_invoices_generate_sales_response_recurring_invoice_status.rb +15 -0
  80. data/lib/nordlet/sales/types/recurring_invoices_get_sales_request.rb +11 -0
  81. data/lib/nordlet/sales/types/recurring_invoices_get_sales_response.rb +51 -0
  82. data/lib/nordlet/sales/types/recurring_invoices_get_sales_response_frequency.rb +16 -0
  83. data/lib/nordlet/sales/types/recurring_invoices_get_sales_response_status.rb +15 -0
  84. data/lib/nordlet/sales/types/recurring_invoices_list_sales_request.rb +19 -0
  85. data/lib/nordlet/sales/types/recurring_invoices_list_sales_request_filter_item.rb +15 -0
  86. data/lib/nordlet/sales/types/recurring_invoices_list_sales_request_filter_item_op.rb +18 -0
  87. data/lib/nordlet/sales/types/recurring_invoices_list_sales_request_filter_item_value.rb +19 -0
  88. data/lib/nordlet/sales/types/recurring_invoices_list_sales_request_filter_item_value_three_item.rb +15 -0
  89. data/lib/nordlet/sales/types/recurring_invoices_list_sales_request_sort_item.rb +13 -0
  90. data/lib/nordlet/sales/types/recurring_invoices_list_sales_request_sort_item_dir.rb +14 -0
  91. data/lib/nordlet/sales/types/recurring_invoices_list_sales_response.rb +21 -0
  92. data/lib/nordlet/sales/types/recurring_invoices_list_sales_response_rows_item.rb +51 -0
  93. data/lib/nordlet/sales/types/recurring_invoices_list_sales_response_rows_item_frequency.rb +16 -0
  94. data/lib/nordlet/sales/types/recurring_invoices_list_sales_response_rows_item_status.rb +15 -0
  95. data/lib/nordlet/sales/types/recurring_invoices_run_sales_request.rb +11 -0
  96. data/lib/nordlet/sales/types/recurring_invoices_run_sales_response.rb +13 -0
  97. data/lib/nordlet/sales/types/recurring_invoices_run_sales_response_errors_item.rb +13 -0
  98. data/lib/nordlet/sales/types/recurring_invoices_run_sales_response_generated_item.rb +19 -0
  99. data/lib/nordlet/sales/types/recurring_invoices_update_sales_request.rb +35 -0
  100. data/lib/nordlet/sales/types/recurring_invoices_update_sales_request_frequency.rb +16 -0
  101. data/lib/nordlet/sales/types/recurring_invoices_update_sales_request_locale.rb +15 -0
  102. data/lib/nordlet/sales/types/recurring_invoices_update_sales_request_status.rb +14 -0
  103. data/lib/nordlet/sales/types/recurring_invoices_update_sales_response.rb +51 -0
  104. data/lib/nordlet/sales/types/recurring_invoices_update_sales_response_frequency.rb +16 -0
  105. data/lib/nordlet/sales/types/recurring_invoices_update_sales_response_status.rb +15 -0
  106. data/lib/nordlet/transport/client.rb +20 -0
  107. data/lib/nordlet/version.rb +1 -1
  108. data/lib/nordlet/webhooks/client.rb +20 -0
  109. data/lib/nordlet/webhooks/types/subscriptions_create_webhooks_request_events_item.rb +1 -0
  110. data/lib/nordlet/webhooks/types/subscriptions_update_webhooks_request_events_item.rb +1 -0
  111. data/lib/nordlet.rb +45 -0
  112. data/reference.md +9789 -912
  113. metadata +47 -2
@@ -10,6 +10,15 @@ module Nordlet
10
10
  @client = client
11
11
  end
12
12
 
13
+ # Create an operation type: a `code` with the flags that say what it is for (`isSale`, `isPurchase`, ...), an
14
+ # optional `invoiceType` (`invoice`, `credit_note`, `proforma`, `advance`) and optional account codes. An invoice
15
+ # names it in `operationTypeId`: a sale invoice needs `isSale` and a matching `invoiceType`, a purchase invoice
16
+ # `isPurchase`, and the type's account codes then replace the default posting accounts when the invoice is issued
17
+ # (`sales/invoices/issue`) or registered (`purchases/invoices/register`). `includeInVatRegister: false` keeps the
18
+ # type's invoices out of the Lithuanian i.SAF and FR0600, `includeInSaft: false` out of the SAF-T file. Account
19
+ # codes must exist and be postable and `payerPartnerId` must be an active partner (422 otherwise); a repeated
20
+ # `code` is refused with 409.
21
+ #
13
22
  # @param request_options [Hash]
14
23
  # @param params [Nordlet::OperationTypes::Types::CreateOperationTypesRequest]
15
24
  # @option request_options [String] :base_url
@@ -42,6 +51,9 @@ module Nordlet
42
51
  end
43
52
  end
44
53
 
54
+ # Change an operation type's fields; omitted ones keep their value. A `code` already used by another type is
55
+ # refused with 409, a body without changes with 400.
56
+ #
45
57
  # @param request_options [Hash]
46
58
  # @param params [Nordlet::OperationTypes::Types::UpdateOperationTypesRequest]
47
59
  # @option request_options [String] :base_url
@@ -74,6 +86,8 @@ module Nordlet
74
86
  end
75
87
  end
76
88
 
89
+ # Read one operation type.
90
+ #
77
91
  # @param request_options [Hash]
78
92
  # @param params [Nordlet::OperationTypes::Types::GetOperationTypesRequest]
79
93
  # @option request_options [String] :base_url
@@ -106,6 +120,9 @@ module Nordlet
106
120
  end
107
121
  end
108
122
 
123
+ # Delete an operation type that no sale invoice, purchase invoice or document series refers to. Otherwise the call
124
+ # is refused with 409; deactivate the type with `operation-types/update` instead.
125
+ #
109
126
  # @param request_options [Hash]
110
127
  # @param params [Nordlet::OperationTypes::Types::DeleteOperationTypesRequest]
111
128
  # @option request_options [String] :base_url
@@ -138,6 +155,9 @@ module Nordlet
138
155
  end
139
156
  end
140
157
 
158
+ # List operation types. Filterable by `code`, `name`, `isSale`, `isPurchase` and `isActive`; sortable by `code`,
159
+ # `name`, `sortOrder` and `createdAt`.
160
+ #
141
161
  # @param request_options [Hash]
142
162
  # @param params [Nordlet::OperationTypes::Types::ListOperationTypesRequest]
143
163
  # @option request_options [String] :base_url
@@ -10,6 +10,8 @@ module Nordlet
10
10
  @client = client
11
11
  end
12
12
 
13
+ # Adds an address of type billing, shipping, registered or other to the partner in `partnerId`.
14
+ #
13
15
  # @param request_options [Hash]
14
16
  # @param params [Nordlet::Partners::Types::AddressesCreatePartnersRequest]
15
17
  # @option request_options [String] :base_url
@@ -42,6 +44,8 @@ module Nordlet
42
44
  end
43
45
  end
44
46
 
47
+ # Changes the given fields of a partner address.
48
+ #
45
49
  # @param request_options [Hash]
46
50
  # @param params [Nordlet::Partners::Types::AddressesUpdatePartnersRequest]
47
51
  # @option request_options [String] :base_url
@@ -74,6 +78,8 @@ module Nordlet
74
78
  end
75
79
  end
76
80
 
81
+ # Deletes a partner address.
82
+ #
77
83
  # @param request_options [Hash]
78
84
  # @param params [Nordlet::Partners::Types::AddressesDeletePartnersRequest]
79
85
  # @option request_options [String] :base_url
@@ -106,6 +112,8 @@ module Nordlet
106
112
  end
107
113
  end
108
114
 
115
+ # Lists partner addresses; filterable by `partnerId`, `type` and `city`, sortable by `createdAt`.
116
+ #
109
117
  # @param request_options [Hash]
110
118
  # @param params [Nordlet::Partners::Types::AddressesListPartnersRequest]
111
119
  # @option request_options [String] :base_url
@@ -138,6 +146,8 @@ module Nordlet
138
146
  end
139
147
  end
140
148
 
149
+ # Adds a contact person to the partner in `partnerId`.
150
+ #
141
151
  # @param request_options [Hash]
142
152
  # @param params [Nordlet::Partners::Types::ContactsCreatePartnersRequest]
143
153
  # @option request_options [String] :base_url
@@ -170,6 +180,8 @@ module Nordlet
170
180
  end
171
181
  end
172
182
 
183
+ # Changes the given fields of a partner contact.
184
+ #
173
185
  # @param request_options [Hash]
174
186
  # @param params [Nordlet::Partners::Types::ContactsUpdatePartnersRequest]
175
187
  # @option request_options [String] :base_url
@@ -202,6 +214,8 @@ module Nordlet
202
214
  end
203
215
  end
204
216
 
217
+ # Deletes a partner contact.
218
+ #
205
219
  # @param request_options [Hash]
206
220
  # @param params [Nordlet::Partners::Types::ContactsDeletePartnersRequest]
207
221
  # @option request_options [String] :base_url
@@ -234,6 +248,8 @@ module Nordlet
234
248
  end
235
249
  end
236
250
 
251
+ # Lists partner contacts; filterable by `partnerId`, `name` and `email`, sortable by `createdAt`.
252
+ #
237
253
  # @param request_options [Hash]
238
254
  # @param params [Nordlet::Partners::Types::ContactsListPartnersRequest]
239
255
  # @option request_options [String] :base_url
@@ -266,6 +282,10 @@ module Nordlet
266
282
  end
267
283
  end
268
284
 
285
+ # Adds a bank account to the partner in `partnerId`. The IBAN is stored without spaces in upper case; an IBAN the
286
+ # partner already has is refused with 409. With `isDefault` true the partner's other accounts lose their default
287
+ # mark.
288
+ #
269
289
  # @param request_options [Hash]
270
290
  # @param params [Nordlet::Partners::Types::BankAccountsCreatePartnersRequest]
271
291
  # @option request_options [String] :base_url
@@ -298,6 +318,10 @@ module Nordlet
298
318
  end
299
319
  end
300
320
 
321
+ # Changes the given fields of a partner bank account. A new IBAN is stored without spaces in upper case and is
322
+ # refused with 409 when the partner already has it; when the account is the default after the change, the
323
+ # partner's other accounts lose their default mark.
324
+ #
301
325
  # @param request_options [Hash]
302
326
  # @param params [Nordlet::Partners::Types::BankAccountsUpdatePartnersRequest]
303
327
  # @option request_options [String] :base_url
@@ -330,6 +354,8 @@ module Nordlet
330
354
  end
331
355
  end
332
356
 
357
+ # Deletes a partner bank account.
358
+ #
333
359
  # @param request_options [Hash]
334
360
  # @param params [Nordlet::Partners::Types::BankAccountsDeletePartnersRequest]
335
361
  # @option request_options [String] :base_url
@@ -362,6 +388,8 @@ module Nordlet
362
388
  end
363
389
  end
364
390
 
391
+ # Lists partner bank accounts; filterable by `partnerId` and `iban`, sortable by `createdAt`.
392
+ #
365
393
  # @param request_options [Hash]
366
394
  # @param params [Nordlet::Partners::Types::BankAccountsListPartnersRequest]
367
395
  # @option request_options [String] :base_url
@@ -394,6 +422,9 @@ module Nordlet
394
422
  end
395
423
  end
396
424
 
425
+ # Lists the files attached to a partner, newest first. `partners/create` attaches one with `documentRef`, and
426
+ # `leads/convert` moves the lead's files here.
427
+ #
397
428
  # @param request_options [Hash]
398
429
  # @param params [Nordlet::Partners::Types::FilesListPartnersRequest]
399
430
  # @option request_options [String] :base_url
@@ -426,6 +457,13 @@ module Nordlet
426
457
  end
427
458
  end
428
459
 
460
+ # Runs the selection of the daily debt-reminder job for this company as of the company's current date and returns
461
+ # what it would send, without sending or recording anything. A partner is included when it has `autoDebtReminder`,
462
+ # is active, has an e-mail address, got no reminder in the last 7 days and has issued invoices or advance invoices
463
+ # past their due date with an unpaid remainder; the interest per invoice is the remainder times the partner's
464
+ # `lateInterestPercent` times the days late over 365, and the totals are per currency. Sent reminders are listed
465
+ # by `partners/debt-reminders/list`.
466
+ #
429
467
  # @param request_options [Hash]
430
468
  # @param params [Nordlet::Partners::Types::DebtRemindersPreviewPartnersRequest]
431
469
  # @option request_options [String] :base_url
@@ -458,6 +496,9 @@ module Nordlet
458
496
  end
459
497
  end
460
498
 
499
+ # Lists the debt reminders the daily job has sent, one row per partner and currency with the ids of the invoices
500
+ # it covered; filterable by `partnerId`, sortable by `sentAt`.
501
+ #
461
502
  # @param request_options [Hash]
462
503
  # @param params [Nordlet::Partners::Types::DebtRemindersListPartnersRequest]
463
504
  # @option request_options [String] :base_url
@@ -490,6 +531,14 @@ module Nordlet
490
531
  end
491
532
  end
492
533
 
534
+ # Checks a VAT number against VIES, either a free `vatCode` or the VAT code of the partner in `partnerId` (exactly
535
+ # one of the two); a code without an EU country prefix and 2 to 12 alphanumeric characters is refused with 422, as
536
+ # is a partner without a VAT code, and a VIES outage answers 503. With a partner the outcome is written to it
537
+ # (`vatValid`, `vatValidatedAt`): an invalid number or a VIES name that shares no word with the partner's name
538
+ # opens or refreshes the partner's VAT review (`vat_review.opened`), a VIES failure opens one with reason
539
+ # `service_error`, and a valid matching number resolves the open review as `revalidated` (`vat_review.resolved`).
540
+ # Reviews are listed and closed with `partners/vat-reviews/list` and `partners/vat-reviews/resolve`.
541
+ #
493
542
  # @param request_options [Hash]
494
543
  # @param params [Nordlet::Partners::Types::ValidateVatPartnersRequest]
495
544
  # @option request_options [String] :base_url
@@ -522,6 +571,9 @@ module Nordlet
522
571
  end
523
572
  end
524
573
 
574
+ # Lists the VAT reviews opened by VIES checks of partners' VAT codes, with reason `invalid`, `name_mismatch` or
575
+ # `service_error`; filterable by `partnerId`, `status` and `reason`, sortable by `createdAt`.
576
+ #
525
577
  # @param request_options [Hash]
526
578
  # @param params [Nordlet::Partners::Types::VatReviewsListPartnersRequest]
527
579
  # @option request_options [String] :base_url
@@ -554,6 +606,11 @@ module Nordlet
554
606
  end
555
607
  end
556
608
 
609
+ # Closes an open VAT review as `confirmed_valid`, `confirmed_invalid` or `dismissed`, with an optional note. The
610
+ # first two also set the partner's `vatValid` and stamp `vatValidatedAt` when the partner still carries the
611
+ # reviewed VAT code; `dismissed` leaves the partner unchanged. A review that is already resolved answers 409;
612
+ # emits `vat_review.resolved`.
613
+ #
557
614
  # @param request_options [Hash]
558
615
  # @param params [Nordlet::Partners::Types::VatReviewsResolvePartnersRequest]
559
616
  # @option request_options [String] :base_url
@@ -586,6 +643,14 @@ module Nordlet
586
643
  end
587
644
  end
588
645
 
646
+ # Creates a partner. `groupId`, `statusId` and `priceListId` must belong to the company; without
647
+ # `legalCountryClass` the class is derived from the address country (`lt`, `eu` or `non_eu`); `documentRef`
648
+ # attaches an uploaded file that is not yet linked to a record; a `code` already used by a live partner of the
649
+ # company is refused with 409. A `vatCode` is checked against VIES at once and the result stored on the partner:
650
+ # an invalid number, a VIES name that shares no word with the partner's name, or a VIES failure opens a VAT review
651
+ # (`vat_review.opened`), while a code that is not an EU VAT number is stored unchecked (see
652
+ # `partners/validate-vat`).
653
+ #
589
654
  # @param request_options [Hash]
590
655
  # @param params [Nordlet::Partners::Types::CreatePartnersRequest]
591
656
  # @option request_options [String] :base_url
@@ -618,6 +683,10 @@ module Nordlet
618
683
  end
619
684
  end
620
685
 
686
+ # Returns the live partner matched by `code`, then `vatCode`, then `email` (at least one is required), or creates
687
+ # one from the body with the same validation and VIES check as `partners/create`; `created` says which happened. A
688
+ # creation that loses a race on the partner code returns the partner the other call created.
689
+ #
621
690
  # @param request_options [Hash]
622
691
  # @param params [Nordlet::Partners::Types::FindOrCreatePartnersRequest]
623
692
  # @option request_options [String] :base_url
@@ -650,6 +719,8 @@ module Nordlet
650
719
  end
651
720
  end
652
721
 
722
+ # Returns one partner; a deleted partner answers 404.
723
+ #
653
724
  # @param request_options [Hash]
654
725
  # @param params [Nordlet::Partners::Types::GetPartnersRequest]
655
726
  # @option request_options [String] :base_url
@@ -682,6 +753,12 @@ module Nordlet
682
753
  end
683
754
  end
684
755
 
756
+ # Changes the given fields of a partner; the clearable fields accept null. A new address country re-derives
757
+ # `legalCountryClass` unless the class is given, and a `code` already used by another live partner of the company
758
+ # is refused with 409. A changed `vatCode` resets the VIES result and is checked at once as in `partners/create`;
759
+ # a removed code, or one that is not an EU VAT number, resolves the partner's open VAT review as `superseded`
760
+ # (`vat_review.resolved`).
761
+ #
685
762
  # @param request_options [Hash]
686
763
  # @param params [Nordlet::Partners::Types::UpdatePartnersRequest]
687
764
  # @option request_options [String] :base_url
@@ -714,6 +791,8 @@ module Nordlet
714
791
  end
715
792
  end
716
793
 
794
+ # Marks a partner as deleted; it no longer appears in lists or lookups.
795
+ #
717
796
  # @param request_options [Hash]
718
797
  # @param params [Nordlet::Partners::Types::DeletePartnersRequest]
719
798
  # @option request_options [String] :base_url
@@ -746,6 +825,13 @@ module Nordlet
746
825
  end
747
826
  end
748
827
 
828
+ # Moves every row that references the duplicate `sourceId` through a foreign key to partners (looked up in the
829
+ # database catalogue, within the company) to `targetId`, then marks the source partner as deleted; `moved` lists
830
+ # the tables, columns and row counts. Merging a partner into itself is 422, and when both partners hold the same
831
+ # unique entry (for example the same IBAN or item supplier row) the merge is refused with 409 until it is removed
832
+ # from one of them. When the kept partner has an open VAT review, the duplicate's open review is resolved as
833
+ # `superseded` (`vat_review.resolved`).
834
+ #
749
835
  # @param request_options [Hash]
750
836
  # @param params [Nordlet::Partners::Types::MergePartnersRequest]
751
837
  # @option request_options [String] :base_url
@@ -814,6 +900,10 @@ module Nordlet
814
900
  end
815
901
  end
816
902
 
903
+ # Lists live partners; filterable by `name`, `code`, `vatCode`, `email`, `type`, `isCustomer`, `isSupplier`,
904
+ # `isActive`, `legalCountryClass`, `isEmployee`, `groupId`, `statusId` and `nextCallDate`, sortable by `name`,
905
+ # `code`, `createdAt`, `nextCallDate` and `rating`.
906
+ #
817
907
  # @param request_options [Hash]
818
908
  # @param params [Nordlet::Partners::Types::ListPartnersRequest]
819
909
  # @option request_options [String] :base_url
@@ -846,6 +936,8 @@ module Nordlet
846
936
  end
847
937
  end
848
938
 
939
+ # Creates a partner group; a `code` already used by a group of the company is refused with 409.
940
+ #
849
941
  # @param request_options [Hash]
850
942
  # @param params [Nordlet::Partners::Types::GroupsCreatePartnersRequest]
851
943
  # @option request_options [String] :base_url
@@ -878,6 +970,9 @@ module Nordlet
878
970
  end
879
971
  end
880
972
 
973
+ # Changes the code or name of a partner group; a code already used by another group of the company is refused with
974
+ # 409.
975
+ #
881
976
  # @param request_options [Hash]
882
977
  # @param params [Nordlet::Partners::Types::GroupsUpdatePartnersRequest]
883
978
  # @option request_options [String] :base_url
@@ -910,6 +1005,8 @@ module Nordlet
910
1005
  end
911
1006
  end
912
1007
 
1008
+ # Deletes a partner group; a group still assigned to a live partner is refused with 409.
1009
+ #
913
1010
  # @param request_options [Hash]
914
1011
  # @param params [Nordlet::Partners::Types::GroupsDeletePartnersRequest]
915
1012
  # @option request_options [String] :base_url
@@ -942,6 +1039,8 @@ module Nordlet
942
1039
  end
943
1040
  end
944
1041
 
1042
+ # Lists the company's partner groups ordered by code.
1043
+ #
945
1044
  # @param request_options [Hash]
946
1045
  # @param params [Nordlet::Partners::Types::GroupsListPartnersRequest]
947
1046
  # @option request_options [String] :base_url
@@ -974,6 +1073,9 @@ module Nordlet
974
1073
  end
975
1074
  end
976
1075
 
1076
+ # Creates a partner status with a `sortOrder`; a `code` already used by a status of the company is refused with
1077
+ # 409.
1078
+ #
977
1079
  # @param request_options [Hash]
978
1080
  # @param params [Nordlet::Partners::Types::StatusesCreatePartnersRequest]
979
1081
  # @option request_options [String] :base_url
@@ -1006,6 +1108,9 @@ module Nordlet
1006
1108
  end
1007
1109
  end
1008
1110
 
1111
+ # Changes the code, name or sort order of a partner status; a code already used by another status of the company
1112
+ # is refused with 409.
1113
+ #
1009
1114
  # @param request_options [Hash]
1010
1115
  # @param params [Nordlet::Partners::Types::StatusesUpdatePartnersRequest]
1011
1116
  # @option request_options [String] :base_url
@@ -1038,6 +1143,8 @@ module Nordlet
1038
1143
  end
1039
1144
  end
1040
1145
 
1146
+ # Deletes a partner status; a status still assigned to a live partner is refused with 409.
1147
+ #
1041
1148
  # @param request_options [Hash]
1042
1149
  # @param params [Nordlet::Partners::Types::StatusesDeletePartnersRequest]
1043
1150
  # @option request_options [String] :base_url
@@ -1070,6 +1177,8 @@ module Nordlet
1070
1177
  end
1071
1178
  end
1072
1179
 
1180
+ # Lists the company's partner statuses ordered by sort order, then code.
1181
+ #
1073
1182
  # @param request_options [Hash]
1074
1183
  # @param params [Nordlet::Partners::Types::StatusesListPartnersRequest]
1075
1184
  # @option request_options [String] :base_url
@@ -1102,6 +1211,10 @@ module Nordlet
1102
1211
  end
1103
1212
  end
1104
1213
 
1214
+ # Records an inquiry in status `new`, from a partner (`partnerId`) or from a contact given by `contactName` or
1215
+ # `contactEmail`; without any of the three it is refused with 422. `assignedUserId` must be a member of the
1216
+ # company. Emits `partner_inquiry.created`.
1217
+ #
1105
1218
  # @param request_options [Hash]
1106
1219
  # @param params [Nordlet::Partners::Types::InquiriesCreatePartnersRequest]
1107
1220
  # @option request_options [String] :base_url
@@ -1134,6 +1247,9 @@ module Nordlet
1134
1247
  end
1135
1248
  end
1136
1249
 
1250
+ # Changes the given fields of an inquiry; `partnerId` and `assignedUserId` accept null. Setting `status` to
1251
+ # `closed` stamps `closedAt`, and moving a closed inquiry to another status clears it.
1252
+ #
1137
1253
  # @param request_options [Hash]
1138
1254
  # @param params [Nordlet::Partners::Types::InquiriesUpdatePartnersRequest]
1139
1255
  # @option request_options [String] :base_url
@@ -1166,6 +1282,8 @@ module Nordlet
1166
1282
  end
1167
1283
  end
1168
1284
 
1285
+ # Returns one inquiry with the name of its partner.
1286
+ #
1169
1287
  # @param request_options [Hash]
1170
1288
  # @param params [Nordlet::Partners::Types::InquiriesGetPartnersRequest]
1171
1289
  # @option request_options [String] :base_url
@@ -1198,6 +1316,9 @@ module Nordlet
1198
1316
  end
1199
1317
  end
1200
1318
 
1319
+ # Lists inquiries with their partner names; filterable by `status`, `channel`, `partnerId`, `assignedUserId` and
1320
+ # `subject`, sortable by `createdAt` and `updatedAt`.
1321
+ #
1201
1322
  # @param request_options [Hash]
1202
1323
  # @param params [Nordlet::Partners::Types::InquiriesListPartnersRequest]
1203
1324
  # @option request_options [String] :base_url
@@ -1230,6 +1351,11 @@ module Nordlet
1230
1351
  end
1231
1352
  end
1232
1353
 
1354
+ # Compares a partner's open receivables plus an optional `additionalAmount` with its `creditLimit`. The open
1355
+ # receivables are the unpaid remainder of the partner's issued invoices, advance invoices and credit notes (credit
1356
+ # notes negative), converted to the company's base currency at each invoice's `fxRate`. Without a credit limit
1357
+ # `available` is null and `exceeded` is false.
1358
+ #
1233
1359
  # @param request_options [Hash]
1234
1360
  # @param params [Nordlet::Partners::Types::CreditCheckPartnersRequest]
1235
1361
  # @option request_options [String] :base_url
@@ -10,6 +10,8 @@ module Nordlet
10
10
  @client = client
11
11
  end
12
12
 
13
+ # Creates a department with a code and a name; answers 409 when the code already exists.
14
+ #
13
15
  # @param request_options [Hash]
14
16
  # @param params [Nordlet::Payroll::Types::DepartmentsCreatePayrollRequest]
15
17
  # @option request_options [String] :base_url
@@ -42,6 +44,8 @@ module Nordlet
42
44
  end
43
45
  end
44
46
 
47
+ # Lists the company's departments ordered by code.
48
+ #
45
49
  # @param request_options [Hash]
46
50
  # @param params [Nordlet::Payroll::Types::DepartmentsListPayrollRequest]
47
51
  # @option request_options [String] :base_url
@@ -74,6 +78,9 @@ module Nordlet
74
78
  end
75
79
  end
76
80
 
81
+ # Creates a work schedule with a code, a name and `hoursPerWeek` (default 40); answers 409 when the code already
82
+ # exists.
83
+ #
77
84
  # @param request_options [Hash]
78
85
  # @param params [Nordlet::Payroll::Types::SchedulesCreatePayrollRequest]
79
86
  # @option request_options [String] :base_url
@@ -106,6 +113,8 @@ module Nordlet
106
113
  end
107
114
  end
108
115
 
116
+ # Lists the company's work schedules ordered by code.
117
+ #
109
118
  # @param request_options [Hash]
110
119
  # @param params [Nordlet::Payroll::Types::SchedulesListPayrollRequest]
111
120
  # @option request_options [String] :base_url
@@ -138,6 +147,49 @@ module Nordlet
138
147
  end
139
148
  end
140
149
 
150
+ # Reads the payment types of the company country's payroll engine, each with the labels of the taxes,
151
+ # contributions and reporting lines it is subject to (`applies`), and the default type an untyped payment falls
152
+ # under. These codes are what `payroll/calc` and the additions of `payroll/runs/create` accept as `paymentType`.
153
+ # Answers 422 when Nordlet has no payroll engine for the company's country.
154
+ #
155
+ # @param request_options [Hash]
156
+ # @param params [Nordlet::Payroll::Types::PaymentTypesListPayrollRequest]
157
+ # @option request_options [String] :base_url
158
+ # @option request_options [Hash{String => Object}] :additional_headers
159
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
160
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
161
+ # @option request_options [Integer] :timeout_in_seconds
162
+ #
163
+ # @return [Nordlet::Payroll::Types::PaymentTypesListPayrollResponse]
164
+ def payment_types_list(request_options: {}, **params)
165
+ params = Nordlet::Internal::Types::Utils.normalize_keys(params)
166
+ request = Nordlet::Internal::JSON::Request.new(
167
+ base_url: request_options[:base_url],
168
+ method: "POST",
169
+ path: "v1/payroll/payment-types/list",
170
+ body: Nordlet::Payroll::Types::PaymentTypesListPayrollRequest.new(params).to_h,
171
+ request_options: request_options
172
+ )
173
+ begin
174
+ response = @client.send(request)
175
+ rescue Net::HTTPRequestTimeout
176
+ raise Nordlet::Errors::TimeoutError
177
+ end
178
+ code = response.code.to_i
179
+ if code.between?(200, 299)
180
+ Nordlet::Payroll::Types::PaymentTypesListPayrollResponse.load(response.body)
181
+ else
182
+ error_class = Nordlet::Errors::ResponseError.subclass_for_code(code)
183
+ raise error_class.new(response.body, code: code)
184
+ end
185
+ end
186
+
187
+ # Runs the company country's payroll engine once on a taxable base at a date, with the employee settings given in
188
+ # the body instead of an employee record, and returns the allowance, income tax, contributions, components and
189
+ # net; nothing is saved. `payments` passes typed payments to the engine; each `paymentType` must be a code from
190
+ # `payroll/payment-types/list` (422 otherwise). Answers 422 when Nordlet has no payroll engine for the company's
191
+ # country.
192
+ #
141
193
  # @param request_options [Hash]
142
194
  # @param params [Nordlet::Payroll::Types::CalcPayrollRequest]
143
195
  # @option request_options [String] :base_url
@@ -170,6 +222,18 @@ module Nordlet
170
222
  end
171
223
  end
172
224
 
225
+ # Creates a draft payroll run for a month, computing each line with the company country's payroll engine, the
226
+ # employee's approved runs of the year so far and of the two previous years, the month's timesheet and `payDate`
227
+ # (default the last day of the month). Without `lines`, every active employee whose contract covers the month gets
228
+ # a line: the gross is the contract's monthly salary reduced to the paid working days of the contract and the
229
+ # timesheet, unless `grossOverrides` sets it; the per diems of approved business trips ending in the month are
230
+ # added untaxed and the trips linked to the run; for a Lithuanian company the car benefit in kind
231
+ # (`includeNatura`) and the compensation for unused leave of a contract ending in the month are added. With
232
+ # `lines`, only the given employees are computed with their gross, additions and deductions; a taxable addition
233
+ # may carry a `paymentType` from `payroll/payment-types/list` and `hours`. Answers 422 when the country has no
234
+ # engine, an employee is given twice, has two contracts in the month, has no contract and no gross, or is paid by
235
+ # the hour or day without a gross; 409 when a run for the month already exists or the accounting period is locked.
236
+ #
173
237
  # @param request_options [Hash]
174
238
  # @param params [Nordlet::Payroll::Types::RunsCreatePayrollRequest]
175
239
  # @option request_options [String] :base_url
@@ -202,6 +266,8 @@ module Nordlet
202
266
  end
203
267
  end
204
268
 
269
+ # Reads a payroll run with its lines.
270
+ #
205
271
  # @param request_options [Hash]
206
272
  # @param params [Nordlet::Payroll::Types::RunsGetPayrollRequest]
207
273
  # @option request_options [String] :base_url
@@ -234,6 +300,9 @@ module Nordlet
234
300
  end
235
301
  end
236
302
 
303
+ # Lists payroll runs without their lines; filterable by `status`, `year` and `month`, sortable by `createdAt`,
304
+ # `year` and `month`.
305
+ #
237
306
  # @param request_options [Hash]
238
307
  # @param params [Nordlet::Payroll::Types::RunsListPayrollRequest]
239
308
  # @option request_options [String] :base_url
@@ -301,6 +370,16 @@ module Nordlet
301
370
  end
302
371
  end
303
372
 
373
+ # Posts the run's journal entry dated the last day of the month and sets the status to `approved`: the wage
374
+ # expense (net pay, income tax, employee contributions and deductions) and the employer contributions are debited;
375
+ # the net payable, the income tax, the social contributions (on one account, or split between the employee and
376
+ # employer accounts when their codes differ) and the deductions are credited. The accounts default to the payroll
377
+ # accounts of the company's chart template; each can be given per call. Answers 409 when the run is not a draft or
378
+ # the accounting period is locked, 422 when the run has no lines or nothing to post, and emits
379
+ # `payroll_run.approved`. For an Irish company with the automation of the `ie-payroll-withholding` deadline
380
+ # switched on, the month's payroll submission is sent at once and a failure is added to the run's `warnings`. Undo
381
+ # with `payroll/runs/reverse`, pay with `payroll/payments/export`.
382
+ #
304
383
  # @param request_options [Hash]
305
384
  # @param params [Nordlet::Payroll::Types::RunsApprovePayrollRequest]
306
385
  # @option request_options [String] :base_url
@@ -333,6 +412,11 @@ module Nordlet
333
412
  end
334
413
  end
335
414
 
415
+ # Posts a journal entry dated the last day of the month that mirrors the run's entry (debits and credits swapped),
416
+ # sets the status to `reversed` with the reason, and releases the business trips the run paid so the next run
417
+ # picks them up again. Answers 409 when the run is not approved, when part of it is matched to bank payments
418
+ # (`paidAmount`, unmatch them first) or when the accounting period is locked. Emits `payroll_run.reversed`.
419
+ #
336
420
  # @param request_options [Hash]
337
421
  # @param params [Nordlet::Payroll::Types::RunsReversePayrollRequest]
338
422
  # @option request_options [String] :base_url
@@ -365,6 +449,9 @@ module Nordlet
365
449
  end
366
450
  end
367
451
 
452
+ # Deletes a draft run with its lines and releases the business trips linked to it; answers 409 when the run is not
453
+ # a draft. An approved run is undone with `payroll/runs/reverse`.
454
+ #
368
455
  # @param request_options [Hash]
369
456
  # @param params [Nordlet::Payroll::Types::RunsCancelPayrollRequest]
370
457
  # @option request_options [String] :base_url
@@ -397,6 +484,13 @@ module Nordlet
397
484
  end
398
485
  end
399
486
 
487
+ # Builds a SEPA credit transfer file (pain.001.001.03) for an approved run: one transfer from the chosen bank
488
+ # account to each employee's IBAN for the line's net when it is positive, with a remittance text in `locale`
489
+ # (default the locale of the calling user) and the run period, executed on `executionDate` (default the company's
490
+ # current date). Answers 409 when the run is not approved, and 422 when the bank account has no IBAN or is not in
491
+ # the company's base currency, an employee has no IBAN (`hr/employees/update`) or no line has a positive net. The
492
+ # file is returned in `xml`; nothing is sent to the bank.
493
+ #
400
494
  # @param request_options [Hash]
401
495
  # @param params [Nordlet::Payroll::Types::PaymentsExportPayrollRequest]
402
496
  # @option request_options [String] :base_url
@@ -19,6 +19,8 @@ module Nordlet
19
19
  field :benefit_in_kind, -> { String }, optional: true, nullable: false, api_name: "benefitInKind"
20
20
 
21
21
  field :options, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false
22
+
23
+ field :payments, -> { Internal::Types::Array[Nordlet::Payroll::Types::CalcPayrollRequestPaymentsItem] }, optional: true, nullable: false
22
24
  end
23
25
  end
24
26
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nordlet
4
+ module Payroll
5
+ module Types
6
+ class CalcPayrollRequestPaymentsItem < Internal::Types::Model
7
+ field :payment_type, -> { String }, optional: false, nullable: false, api_name: "paymentType"
8
+
9
+ field :amount, -> { String }, optional: false, nullable: false
10
+
11
+ field :hours, -> { String }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
@@ -13,6 +13,8 @@ module Nordlet
13
13
  field :rate, -> { String }, optional: true, nullable: false
14
14
 
15
15
  field :base, -> { String }, optional: true, nullable: false
16
+
17
+ field :payment_type, -> { String }, optional: true, nullable: false, api_name: "paymentType"
16
18
  end
17
19
  end
18
20
  end
@@ -9,6 +9,10 @@ module Nordlet
9
9
  field :amount, -> { String }, optional: false, nullable: false
10
10
 
11
11
  field :taxable, -> { Internal::Types::Boolean }, optional: false, nullable: false
12
+
13
+ field :payment_type, -> { String }, optional: true, nullable: false, api_name: "paymentType"
14
+
15
+ field :hours, -> { String }, optional: true, nullable: false
12
16
  end
13
17
  end
14
18
  end
@@ -13,6 +13,8 @@ module Nordlet
13
13
  field :rate, -> { String }, optional: true, nullable: false
14
14
 
15
15
  field :base, -> { String }, optional: true, nullable: false
16
+
17
+ field :payment_type, -> { String }, optional: true, nullable: false, api_name: "paymentType"
16
18
  end
17
19
  end
18
20
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nordlet
4
+ module Payroll
5
+ module Types
6
+ class PaymentTypesListPayrollRequest < Internal::Types::Model; end
7
+ end
8
+ end
9
+ end