@rippling/rippling-sdk 0.2.0-alpha.106 → 0.2.0-alpha.108

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 (110) hide show
  1. package/client.d.mts +7 -1
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts +7 -1
  4. package/client.d.ts.map +1 -1
  5. package/client.js +7 -1
  6. package/client.js.map +1 -1
  7. package/client.mjs +7 -1
  8. package/client.mjs.map +1 -1
  9. package/package.json +1 -1
  10. package/resources/card-transactions.d.mts +579 -0
  11. package/resources/card-transactions.d.mts.map +1 -0
  12. package/resources/card-transactions.d.ts +579 -0
  13. package/resources/card-transactions.d.ts.map +1 -0
  14. package/resources/card-transactions.js +116 -0
  15. package/resources/card-transactions.js.map +1 -0
  16. package/resources/card-transactions.mjs +112 -0
  17. package/resources/card-transactions.mjs.map +1 -0
  18. package/resources/custom-settings.d.mts +1 -1
  19. package/resources/custom-settings.d.ts +1 -1
  20. package/resources/custom-settings.js +1 -1
  21. package/resources/custom-settings.mjs +1 -1
  22. package/resources/earning-types.d.mts +50 -10
  23. package/resources/earning-types.d.mts.map +1 -1
  24. package/resources/earning-types.d.ts +50 -10
  25. package/resources/earning-types.d.ts.map +1 -1
  26. package/resources/earning-types.js +21 -2
  27. package/resources/earning-types.js.map +1 -1
  28. package/resources/earning-types.mjs +21 -2
  29. package/resources/earning-types.mjs.map +1 -1
  30. package/resources/hires.d.mts +0 -5
  31. package/resources/hires.d.mts.map +1 -1
  32. package/resources/hires.d.ts +0 -5
  33. package/resources/hires.d.ts.map +1 -1
  34. package/resources/hires.js +0 -1
  35. package/resources/hires.js.map +1 -1
  36. package/resources/hires.mjs +0 -1
  37. package/resources/hires.mjs.map +1 -1
  38. package/resources/index.d.mts +3 -1
  39. package/resources/index.d.mts.map +1 -1
  40. package/resources/index.d.ts +3 -1
  41. package/resources/index.d.ts.map +1 -1
  42. package/resources/index.js +8 -4
  43. package/resources/index.js.map +1 -1
  44. package/resources/index.mjs +3 -1
  45. package/resources/index.mjs.map +1 -1
  46. package/resources/payroll-payment-mode-changes.d.mts +66 -18
  47. package/resources/payroll-payment-mode-changes.d.mts.map +1 -1
  48. package/resources/payroll-payment-mode-changes.d.ts +66 -18
  49. package/resources/payroll-payment-mode-changes.d.ts.map +1 -1
  50. package/resources/payroll-payment-mode-changes.js +16 -4
  51. package/resources/payroll-payment-mode-changes.js.map +1 -1
  52. package/resources/payroll-payment-mode-changes.mjs +16 -4
  53. package/resources/payroll-payment-mode-changes.mjs.map +1 -1
  54. package/resources/reimbursements.d.mts +954 -0
  55. package/resources/reimbursements.d.mts.map +1 -0
  56. package/resources/reimbursements.d.ts +954 -0
  57. package/resources/reimbursements.d.ts.map +1 -0
  58. package/resources/reimbursements.js +140 -0
  59. package/resources/reimbursements.js.map +1 -0
  60. package/resources/reimbursements.mjs +136 -0
  61. package/resources/reimbursements.mjs.map +1 -0
  62. package/resources/workflows/executions.d.mts +153 -0
  63. package/resources/workflows/executions.d.mts.map +1 -0
  64. package/resources/workflows/executions.d.ts +153 -0
  65. package/resources/workflows/executions.d.ts.map +1 -0
  66. package/resources/workflows/executions.js +74 -0
  67. package/resources/workflows/executions.js.map +1 -0
  68. package/resources/workflows/executions.mjs +70 -0
  69. package/resources/workflows/executions.mjs.map +1 -0
  70. package/resources/workflows/index.d.mts +3 -0
  71. package/resources/workflows/index.d.mts.map +1 -0
  72. package/resources/workflows/index.d.ts +3 -0
  73. package/resources/workflows/index.d.ts.map +1 -0
  74. package/resources/workflows/index.js +9 -0
  75. package/resources/workflows/index.js.map +1 -0
  76. package/resources/workflows/index.mjs +4 -0
  77. package/resources/workflows/index.mjs.map +1 -0
  78. package/resources/workflows/workflows.d.mts +977 -0
  79. package/resources/workflows/workflows.d.mts.map +1 -0
  80. package/resources/workflows/workflows.d.ts +977 -0
  81. package/resources/workflows/workflows.d.ts.map +1 -0
  82. package/resources/workflows/workflows.js +246 -0
  83. package/resources/workflows/workflows.js.map +1 -0
  84. package/resources/workflows/workflows.mjs +241 -0
  85. package/resources/workflows/workflows.mjs.map +1 -0
  86. package/resources/workflows.d.mts +1 -957
  87. package/resources/workflows.d.mts.map +1 -1
  88. package/resources/workflows.d.ts +1 -957
  89. package/resources/workflows.d.ts.map +1 -1
  90. package/resources/workflows.js +2 -234
  91. package/resources/workflows.js.map +1 -1
  92. package/resources/workflows.mjs +1 -232
  93. package/resources/workflows.mjs.map +1 -1
  94. package/src/client.ts +46 -12
  95. package/src/resources/card-transactions.ts +718 -0
  96. package/src/resources/custom-settings.ts +1 -1
  97. package/src/resources/earning-types.ts +52 -10
  98. package/src/resources/hires.ts +0 -6
  99. package/src/resources/index.ts +15 -1
  100. package/src/resources/payroll-payment-mode-changes.ts +79 -18
  101. package/src/resources/reimbursements.ts +1157 -0
  102. package/src/resources/workflows/executions.ts +191 -0
  103. package/src/resources/workflows/index.ts +15 -0
  104. package/src/resources/workflows/workflows.ts +1661 -0
  105. package/src/resources/workflows.ts +1 -1622
  106. package/src/version.ts +1 -1
  107. package/version.d.mts +1 -1
  108. package/version.d.ts +1 -1
  109. package/version.js +1 -1
  110. package/version.mjs +1 -1
@@ -0,0 +1,1157 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import * as BusinessPartnersAPI from './business-partners';
5
+ import { APIPromise } from '../core/api-promise';
6
+ import { PageCursorURL, PagePromise } from '../core/pagination';
7
+ import { RequestOptions } from '../internal/request-options';
8
+ import { path } from '../internal/utils/path';
9
+
10
+ export class Reimbursements extends APIResource {
11
+ /**
12
+ * A list of reimbursements.
13
+ *
14
+ * - Requires: `Internal Testing`
15
+ * - Filterable fields: `worker_id`, `transaction_date`, `entity_id`, `vendor_id`,
16
+ * `category_id`
17
+ * - Sortable fields: `id`, `created_at`, `updated_at`, `transaction_date`
18
+ *
19
+ * @example HTTP
20
+ * Representative request and response shapes.
21
+ * ```
22
+ * GET /reimbursements/?filter=filter&order_by=order_by&limit=50&cursor=cursor HTTP/1.1
23
+ * Host: rest.ripplingapis.com
24
+ * Accept: application/json
25
+ * Rippling-Api-Version: 2024-08-01
26
+ *
27
+ * HTTP/1.1 200 OK
28
+ * Content-Type: application/json
29
+ *
30
+ * {
31
+ * "__meta": {
32
+ * "redacted_fields": [
33
+ * {
34
+ * "name": "date_of_birth",
35
+ * "reason": "Insufficient entitlements"
36
+ * }
37
+ * ]
38
+ * },
39
+ * "results": [
40
+ * {
41
+ * "id": "string",
42
+ * "created_at": "string",
43
+ * "updated_at": "string",
44
+ * "worker_id": "string",
45
+ * "company_amount": {
46
+ * "currency_type": "string",
47
+ * "value": "string"
48
+ * },
49
+ * "merchant_amount": {
50
+ * "currency_type": "string",
51
+ * "value": "string"
52
+ * },
53
+ * "transaction_date": "string",
54
+ * "accounting_date": "string",
55
+ * "gl_sync_state": "NOT_FINALIZED",
56
+ * "approval_status": "DRAFT",
57
+ * "entity_id": "string",
58
+ * "vendor": {
59
+ * "id": "string",
60
+ * "name": "string"
61
+ * },
62
+ * "gl_vendor": {
63
+ * "id": "string",
64
+ * "name": "string",
65
+ * "gl_vendor_id": "string"
66
+ * },
67
+ * "memo": "string",
68
+ * "receipt": "string",
69
+ * "attachments": [
70
+ * "string"
71
+ * ],
72
+ * "line_items": [
73
+ * {}
74
+ * ],
75
+ * "transaction_type": "REIMBURSEMENT",
76
+ * "payout_amount": {
77
+ * "currency_type": "string",
78
+ * "value": "string"
79
+ * },
80
+ * "payout_method": "NOT_SET",
81
+ * "payout_date": "string",
82
+ * "distance": 0,
83
+ * "mileage_rate": {
84
+ * "id": "string",
85
+ * "name": "string",
86
+ * "rate": {},
87
+ * "units": "km"
88
+ * },
89
+ * "start_address": "string",
90
+ * "end_address": "string",
91
+ * "trip_start_date": "string",
92
+ * "trip_end_date": "string",
93
+ * "per_diem_rate": {
94
+ * "id": "string",
95
+ * "destination_name": "string",
96
+ * "country": "string",
97
+ * "currency": "string"
98
+ * },
99
+ * "per_diem_line_items": [
100
+ * {}
101
+ * ]
102
+ * }
103
+ * ],
104
+ * "next_link": "string"
105
+ * }
106
+ * ```
107
+ */
108
+ list(
109
+ query: ReimbursementListParams | null | undefined = {},
110
+ options?: RequestOptions,
111
+ ): PagePromise<ReimbursementListResponsesPageCursorURL, ReimbursementListResponse> {
112
+ return this._client.getAPIList('/reimbursements/', PageCursorURL<ReimbursementListResponse>, {
113
+ query,
114
+ ...options,
115
+ });
116
+ }
117
+
118
+ /**
119
+ * Retrieve a specific reimbursement
120
+ *
121
+ * @example HTTP
122
+ * Representative request and response shapes.
123
+ * ```
124
+ * GET /reimbursements/{id}/ HTTP/1.1
125
+ * Host: rest.ripplingapis.com
126
+ * Accept: application/json
127
+ * Rippling-Api-Version: 2024-08-01
128
+ *
129
+ * HTTP/1.1 200 OK
130
+ * Content-Type: application/json
131
+ *
132
+ * {
133
+ * "__meta": {
134
+ * "redacted_fields": [
135
+ * {}
136
+ * ]
137
+ * }
138
+ * }
139
+ * ```
140
+ */
141
+ retrieve(id: string, options?: RequestOptions): APIPromise<ReimbursementRetrieveResponse> {
142
+ return this._client.get(path`/reimbursements/${id}/`, options);
143
+ }
144
+ }
145
+
146
+ export type ReimbursementListResponsesPageCursorURL = PageCursorURL<ReimbursementListResponse>;
147
+
148
+ /**
149
+ * A Spend reimbursement the caller can see.
150
+ *
151
+ * A reimbursement is an expense the worker paid and the company pays back. Mileage and per diem
152
+ * use the same resource, with transaction_type MILEAGE_REIMBURSEMENT or PER_DIEM_REIMBURSEMENT.
153
+ * Retrieve returns one by ID. A reimbursement the caller cannot see returns 404, the same as one
154
+ * that does not exist.
155
+ */
156
+ export interface ReimbursementListResponse {
157
+ /**
158
+ * Identifier field
159
+ */
160
+ id: string;
161
+
162
+ /**
163
+ * Record creation date
164
+ */
165
+ created_at: string;
166
+
167
+ /**
168
+ * Record update date
169
+ */
170
+ updated_at: string;
171
+
172
+ /**
173
+ * Date the transaction is booked in the accounting system, as an ISO 8601 date
174
+ * (YYYY-MM-DD).
175
+ */
176
+ accounting_date?: string;
177
+
178
+ /**
179
+ * Approval status of the transaction. `DRAFT`: not submitted for approval.
180
+ * `PENDING`: awaiting required information or submission before approval.
181
+ * `REQUESTED`: submitted and awaiting approval. `APPROVED`: approved. `REJECTED`:
182
+ * rejected. `FINALIZED`: finalized for payment. `ACTIONED`: payment or
183
+ * reimbursement completed. `CANCELLED`: cancelled. `FAILED`: payment failed. Null
184
+ * for card authorizations.
185
+ */
186
+ approval_status?:
187
+ | 'DRAFT'
188
+ | 'PENDING'
189
+ | 'REQUESTED'
190
+ | 'APPROVED'
191
+ | 'REJECTED'
192
+ | 'FINALIZED'
193
+ | 'ACTIONED'
194
+ | 'CANCELLED'
195
+ | 'FAILED';
196
+
197
+ /**
198
+ * URLs of other attached files.
199
+ */
200
+ attachments?: Array<string>;
201
+
202
+ /**
203
+ * Amount in the company's headquarters currency. The `value` is a decimal string.
204
+ */
205
+ company_amount?: ReimbursementListResponse.CompanyAmount;
206
+
207
+ /**
208
+ * Trip length in mileage_rate.units. Null except on mileage reimbursements.
209
+ */
210
+ distance?: number;
211
+
212
+ /**
213
+ * Mileage end address. Null when the trip has no end address.
214
+ */
215
+ end_address?: string;
216
+
217
+ /**
218
+ * ID of the legal entity the transaction belongs to. Use it with
219
+ * `/company-legal-entities/{id}/`.
220
+ */
221
+ entity_id?: string;
222
+
223
+ /**
224
+ * State of the sync to the accounting system. `NOT_FINALIZED`: not ready for
225
+ * accounting review. `FOR_REVIEW`: ready for accounting review. `PENDING_SYNC`:
226
+ * sync is in progress. `SYNCED`: synced to the accounting system. `ERROR`: sync
227
+ * failed. `DO_NOT_SYNC`: marked to be excluded from sync. `EXPORTED`: exported for
228
+ * accounting. `NOT_SYNCABLE`: this record cannot be synced. `AUTO_SYNC`: ready to
229
+ * be synced automatically. Null when no sync state is set.
230
+ */
231
+ gl_sync_state?:
232
+ | 'NOT_FINALIZED'
233
+ | 'FOR_REVIEW'
234
+ | 'PENDING_SYNC'
235
+ | 'SYNCED'
236
+ | 'ERROR'
237
+ | 'DO_NOT_SYNC'
238
+ | 'EXPORTED'
239
+ | 'NOT_SYNCABLE'
240
+ | 'AUTO_SYNC';
241
+
242
+ /**
243
+ * Vendor in the connected accounting system.
244
+ */
245
+ gl_vendor?: ReimbursementListResponse.GlVendor;
246
+
247
+ /**
248
+ * Category splits of the transaction amount.
249
+ */
250
+ line_items?: Array<ReimbursementListResponse.LineItem>;
251
+
252
+ /**
253
+ * Memo entered on the transaction.
254
+ */
255
+ memo?: string;
256
+
257
+ /**
258
+ * Amount charged by the merchant, in the merchant currency. The `value` is a
259
+ * decimal string.
260
+ */
261
+ merchant_amount?: ReimbursementListResponse.MerchantAmount;
262
+
263
+ /**
264
+ * Company mileage rate. Null except on mileage reimbursements.
265
+ */
266
+ mileage_rate?: ReimbursementListResponse.MileageRate;
267
+
268
+ /**
269
+ * Amount credited to the worker. The `value` is a decimal string.
270
+ */
271
+ payout_amount?: ReimbursementListResponse.PayoutAmount;
272
+
273
+ /**
274
+ * Date the worker is paid, as an ISO 8601 date (YYYY-MM-DD). Null before a run is
275
+ * assigned.
276
+ */
277
+ payout_date?: string;
278
+
279
+ /**
280
+ * How the worker is paid. `NOT_SET`: no payout run is assigned. `US_PAYROLL`:
281
+ * assigned to a US payroll run. `GLOBAL_PAYROLL`: assigned to a global payroll
282
+ * run. `DIRECT_DEPOSIT`: assigned to a direct deposit run. `EOR`: assigned to an
283
+ * employer-of-record payroll run. `MANUAL`: marked paid outside a run. If a payout
284
+ * method override is set, it is returned.
285
+ */
286
+ payout_method?: 'NOT_SET' | 'GLOBAL_PAYROLL' | 'US_PAYROLL' | 'DIRECT_DEPOSIT' | 'EOR' | 'MANUAL';
287
+
288
+ /**
289
+ * Per diem sub-rate rows. Null except on per diem reimbursements.
290
+ */
291
+ per_diem_line_items?: Array<ReimbursementListResponse.PerDiemLineItem>;
292
+
293
+ /**
294
+ * Per diem rate for the trip. Null except on per diem reimbursements.
295
+ */
296
+ per_diem_rate?: ReimbursementListResponse.PerDiemRate;
297
+
298
+ /**
299
+ * URL of the receipt file.
300
+ */
301
+ receipt?: string;
302
+
303
+ /**
304
+ * Mileage start address. Null when the trip has no start address.
305
+ */
306
+ start_address?: string;
307
+
308
+ /**
309
+ * When the purchase or authorization happened, as an ISO 8601 date-time in UTC.
310
+ */
311
+ transaction_date?: string;
312
+
313
+ /**
314
+ * `REIMBURSEMENT`: an expense the worker paid and the company pays back.
315
+ * `MILEAGE_REIMBURSEMENT`: payback for distance driven. `PER_DIEM_REIMBURSEMENT`:
316
+ * payback for a daily travel allowance. This decides which mileage or per diem
317
+ * fields are set.
318
+ */
319
+ transaction_type?: 'REIMBURSEMENT' | 'MILEAGE_REIMBURSEMENT' | 'PER_DIEM_REIMBURSEMENT';
320
+
321
+ /**
322
+ * Per diem trip end date, as an ISO 8601 date (YYYY-MM-DD). Null except on per
323
+ * diem reimbursements.
324
+ */
325
+ trip_end_date?: string;
326
+
327
+ /**
328
+ * Per diem trip start date, as an ISO 8601 date (YYYY-MM-DD). Null except on per
329
+ * diem reimbursements.
330
+ */
331
+ trip_start_date?: string;
332
+
333
+ /**
334
+ * Vendor the purchase was made from.
335
+ */
336
+ vendor?: ReimbursementListResponse.Vendor;
337
+
338
+ /**
339
+ * ID of the worker who made the transaction. Use it with `/workers/{id}/`.
340
+ */
341
+ worker_id?: string;
342
+ }
343
+
344
+ export namespace ReimbursementListResponse {
345
+ /**
346
+ * Amount in the company's headquarters currency. The `value` is a decimal string.
347
+ */
348
+ export interface CompanyAmount {
349
+ /**
350
+ * The currency type, ex: USD, EUR, etc.
351
+ */
352
+ currency_type?: string;
353
+
354
+ /**
355
+ * The decimal amount for the currency.
356
+ */
357
+ value?: number;
358
+ }
359
+
360
+ /**
361
+ * Vendor in the connected accounting system.
362
+ */
363
+ export interface GlVendor {
364
+ /**
365
+ * ID of the accounting vendor in Rippling.
366
+ */
367
+ id?: string;
368
+
369
+ /**
370
+ * ID of the vendor in the accounting system.
371
+ */
372
+ gl_vendor_id?: string;
373
+
374
+ /**
375
+ * Name of the vendor in the accounting system.
376
+ */
377
+ name?: string;
378
+ }
379
+
380
+ export interface LineItem {
381
+ /**
382
+ * Amount of this split, in the merchant currency. The `value` is a decimal string.
383
+ */
384
+ amount?: LineItem.Amount;
385
+
386
+ /**
387
+ * ID of the Spend category assigned to this split. No public API is currently
388
+ * available to retrieve this category; its name is in `category_name`.
389
+ */
390
+ category_id?: string;
391
+
392
+ /**
393
+ * Name of the spend category.
394
+ */
395
+ category_name?: string;
396
+
397
+ /**
398
+ * Selected dimension values, keyed by dimension ID. Includes department and work
399
+ * location.
400
+ */
401
+ dimension_choices?: { [key: string]: LineItem.DimensionChoices };
402
+
403
+ /**
404
+ * Whether this split is billed to `gl_customer` in the accounting system.
405
+ * `BILLABLE` means it is billed, `NOT_BILLABLE` means it is not. Null when not
406
+ * set.
407
+ */
408
+ gl_billable?: 'BILLABLE' | 'NOT_BILLABLE';
409
+
410
+ /**
411
+ * ID of the customer record in the connected accounting integration. No public
412
+ * Rippling API is currently available to retrieve this accounting customer.
413
+ */
414
+ gl_customer?: string;
415
+
416
+ /**
417
+ * Memo entered on this split.
418
+ */
419
+ memo?: string;
420
+ }
421
+
422
+ export namespace LineItem {
423
+ /**
424
+ * Amount of this split, in the merchant currency. The `value` is a decimal string.
425
+ */
426
+ export interface Amount {
427
+ /**
428
+ * The currency type, ex: USD, EUR, etc.
429
+ */
430
+ currency_type?: string;
431
+
432
+ /**
433
+ * The decimal amount for the currency.
434
+ */
435
+ value?: number;
436
+ }
437
+
438
+ export interface DimensionChoices {
439
+ /**
440
+ * Name of the dimension, such as Department.
441
+ */
442
+ dimension_name?: string;
443
+
444
+ /**
445
+ * Display name of the selected dimension value.
446
+ */
447
+ label?: string;
448
+
449
+ /**
450
+ * ID of the selected dimension value.
451
+ */
452
+ value?: string;
453
+ }
454
+ }
455
+
456
+ /**
457
+ * Amount charged by the merchant, in the merchant currency. The `value` is a
458
+ * decimal string.
459
+ */
460
+ export interface MerchantAmount {
461
+ /**
462
+ * The currency type, ex: USD, EUR, etc.
463
+ */
464
+ currency_type?: string;
465
+
466
+ /**
467
+ * The decimal amount for the currency.
468
+ */
469
+ value?: number;
470
+ }
471
+
472
+ /**
473
+ * Company mileage rate. Null except on mileage reimbursements.
474
+ */
475
+ export interface MileageRate {
476
+ /**
477
+ * Company mileage rate ID.
478
+ */
479
+ id?: string;
480
+
481
+ /**
482
+ * Company-defined label for this mileage rate, such as the rate used for a country
483
+ * or vehicle type.
484
+ */
485
+ name?: string;
486
+
487
+ /**
488
+ * Amount per distance unit. The `value` is a decimal string.
489
+ */
490
+ rate?: MileageRate.Rate;
491
+
492
+ /**
493
+ * Distance unit, mi or km.
494
+ */
495
+ units?: 'km' | 'mi';
496
+ }
497
+
498
+ export namespace MileageRate {
499
+ /**
500
+ * Amount per distance unit. The `value` is a decimal string.
501
+ */
502
+ export interface Rate {
503
+ /**
504
+ * The currency type, ex: USD, EUR, etc.
505
+ */
506
+ currency_type?: string;
507
+
508
+ /**
509
+ * The decimal amount for the currency.
510
+ */
511
+ value?: number;
512
+ }
513
+ }
514
+
515
+ /**
516
+ * Amount credited to the worker. The `value` is a decimal string.
517
+ */
518
+ export interface PayoutAmount {
519
+ /**
520
+ * The currency type, ex: USD, EUR, etc.
521
+ */
522
+ currency_type?: string;
523
+
524
+ /**
525
+ * The decimal amount for the currency.
526
+ */
527
+ value?: number;
528
+ }
529
+
530
+ export interface PerDiemLineItem {
531
+ /**
532
+ * Sub-rate amount for one unit. The `value` is a decimal string.
533
+ */
534
+ amount?: PerDiemLineItem.Amount;
535
+
536
+ /**
537
+ * amount times count. The `value` is a decimal string. Negative when line_type is
538
+ * EXCLUDE.
539
+ */
540
+ calculated_amount?: PerDiemLineItem.CalculatedAmount;
541
+
542
+ /**
543
+ * How many units.
544
+ */
545
+ count?: number;
546
+
547
+ /**
548
+ * Sub-rate label.
549
+ */
550
+ label?: string;
551
+
552
+ /**
553
+ * `INCLUDE`: this row is added to the reimbursement. `EXCLUDE`: this row is
554
+ * subtracted. `calculated_amount.value` is negative when excluded.
555
+ */
556
+ line_type?: 'INCLUDE' | 'EXCLUDE';
557
+
558
+ /**
559
+ * Per diem sub-rate ID.
560
+ */
561
+ sub_rate_id?: string;
562
+
563
+ /**
564
+ * `FULL_DAY`: the full daily allowance. `MEALS`: the meals portion of the daily
565
+ * allowance. `OTHERS`: an allowance that is not the full day or meals.
566
+ */
567
+ sub_rate_type?: 'FULL_DAY' | 'MEALS' | 'OTHERS';
568
+ }
569
+
570
+ export namespace PerDiemLineItem {
571
+ /**
572
+ * Sub-rate amount for one unit. The `value` is a decimal string.
573
+ */
574
+ export interface Amount {
575
+ /**
576
+ * The currency type, ex: USD, EUR, etc.
577
+ */
578
+ currency_type?: string;
579
+
580
+ /**
581
+ * The decimal amount for the currency.
582
+ */
583
+ value?: number;
584
+ }
585
+
586
+ /**
587
+ * amount times count. The `value` is a decimal string. Negative when line_type is
588
+ * EXCLUDE.
589
+ */
590
+ export interface CalculatedAmount {
591
+ /**
592
+ * The currency type, ex: USD, EUR, etc.
593
+ */
594
+ currency_type?: string;
595
+
596
+ /**
597
+ * The decimal amount for the currency.
598
+ */
599
+ value?: number;
600
+ }
601
+ }
602
+
603
+ /**
604
+ * Per diem rate for the trip. Null except on per diem reimbursements.
605
+ */
606
+ export interface PerDiemRate {
607
+ /**
608
+ * Per diem rate ID.
609
+ */
610
+ id?: string;
611
+
612
+ /**
613
+ * Country this per diem rate applies to, as an ISO 3166-1 alpha-2 code. Example:
614
+ * US.
615
+ */
616
+ country?: string;
617
+
618
+ /**
619
+ * Currency of the per diem rate, as an ISO 4217 code. Example: USD.
620
+ */
621
+ currency?: string;
622
+
623
+ /**
624
+ * Place this per diem rate applies to, such as a city.
625
+ */
626
+ destination_name?: string;
627
+ }
628
+
629
+ /**
630
+ * Vendor the purchase was made from.
631
+ */
632
+ export interface Vendor {
633
+ /**
634
+ * ID of the vendor.
635
+ */
636
+ id?: string;
637
+
638
+ /**
639
+ * Name of the vendor.
640
+ */
641
+ name?: string;
642
+ }
643
+ }
644
+
645
+ /**
646
+ * Meta information for the response.
647
+ */
648
+ export interface ReimbursementRetrieveResponse extends BusinessPartnersAPI.Meta {
649
+ /**
650
+ * Identifier field
651
+ */
652
+ id: string;
653
+
654
+ /**
655
+ * Record creation date
656
+ */
657
+ created_at: string;
658
+
659
+ /**
660
+ * Record update date
661
+ */
662
+ updated_at: string;
663
+
664
+ /**
665
+ * Date the transaction is booked in the accounting system, as an ISO 8601 date
666
+ * (YYYY-MM-DD).
667
+ */
668
+ accounting_date?: string;
669
+
670
+ /**
671
+ * Approval status of the transaction. `DRAFT`: not submitted for approval.
672
+ * `PENDING`: awaiting required information or submission before approval.
673
+ * `REQUESTED`: submitted and awaiting approval. `APPROVED`: approved. `REJECTED`:
674
+ * rejected. `FINALIZED`: finalized for payment. `ACTIONED`: payment or
675
+ * reimbursement completed. `CANCELLED`: cancelled. `FAILED`: payment failed. Null
676
+ * for card authorizations.
677
+ */
678
+ approval_status?:
679
+ | 'DRAFT'
680
+ | 'PENDING'
681
+ | 'REQUESTED'
682
+ | 'APPROVED'
683
+ | 'REJECTED'
684
+ | 'FINALIZED'
685
+ | 'ACTIONED'
686
+ | 'CANCELLED'
687
+ | 'FAILED';
688
+
689
+ /**
690
+ * URLs of other attached files.
691
+ */
692
+ attachments?: Array<string>;
693
+
694
+ /**
695
+ * Amount in the company's headquarters currency. The `value` is a decimal string.
696
+ */
697
+ company_amount?: ReimbursementRetrieveResponse.CompanyAmount;
698
+
699
+ /**
700
+ * Trip length in mileage_rate.units. Null except on mileage reimbursements.
701
+ */
702
+ distance?: number;
703
+
704
+ /**
705
+ * Mileage end address. Null when the trip has no end address.
706
+ */
707
+ end_address?: string;
708
+
709
+ /**
710
+ * ID of the legal entity the transaction belongs to. Use it with
711
+ * `/company-legal-entities/{id}/`.
712
+ */
713
+ entity_id?: string;
714
+
715
+ /**
716
+ * State of the sync to the accounting system. `NOT_FINALIZED`: not ready for
717
+ * accounting review. `FOR_REVIEW`: ready for accounting review. `PENDING_SYNC`:
718
+ * sync is in progress. `SYNCED`: synced to the accounting system. `ERROR`: sync
719
+ * failed. `DO_NOT_SYNC`: marked to be excluded from sync. `EXPORTED`: exported for
720
+ * accounting. `NOT_SYNCABLE`: this record cannot be synced. `AUTO_SYNC`: ready to
721
+ * be synced automatically. Null when no sync state is set.
722
+ */
723
+ gl_sync_state?:
724
+ | 'NOT_FINALIZED'
725
+ | 'FOR_REVIEW'
726
+ | 'PENDING_SYNC'
727
+ | 'SYNCED'
728
+ | 'ERROR'
729
+ | 'DO_NOT_SYNC'
730
+ | 'EXPORTED'
731
+ | 'NOT_SYNCABLE'
732
+ | 'AUTO_SYNC';
733
+
734
+ /**
735
+ * Vendor in the connected accounting system.
736
+ */
737
+ gl_vendor?: ReimbursementRetrieveResponse.GlVendor;
738
+
739
+ /**
740
+ * Category splits of the transaction amount.
741
+ */
742
+ line_items?: Array<ReimbursementRetrieveResponse.LineItem>;
743
+
744
+ /**
745
+ * Memo entered on the transaction.
746
+ */
747
+ memo?: string;
748
+
749
+ /**
750
+ * Amount charged by the merchant, in the merchant currency. The `value` is a
751
+ * decimal string.
752
+ */
753
+ merchant_amount?: ReimbursementRetrieveResponse.MerchantAmount;
754
+
755
+ /**
756
+ * Company mileage rate. Null except on mileage reimbursements.
757
+ */
758
+ mileage_rate?: ReimbursementRetrieveResponse.MileageRate;
759
+
760
+ /**
761
+ * Amount credited to the worker. The `value` is a decimal string.
762
+ */
763
+ payout_amount?: ReimbursementRetrieveResponse.PayoutAmount;
764
+
765
+ /**
766
+ * Date the worker is paid, as an ISO 8601 date (YYYY-MM-DD). Null before a run is
767
+ * assigned.
768
+ */
769
+ payout_date?: string;
770
+
771
+ /**
772
+ * How the worker is paid. `NOT_SET`: no payout run is assigned. `US_PAYROLL`:
773
+ * assigned to a US payroll run. `GLOBAL_PAYROLL`: assigned to a global payroll
774
+ * run. `DIRECT_DEPOSIT`: assigned to a direct deposit run. `EOR`: assigned to an
775
+ * employer-of-record payroll run. `MANUAL`: marked paid outside a run. If a payout
776
+ * method override is set, it is returned.
777
+ */
778
+ payout_method?: 'NOT_SET' | 'GLOBAL_PAYROLL' | 'US_PAYROLL' | 'DIRECT_DEPOSIT' | 'EOR' | 'MANUAL';
779
+
780
+ /**
781
+ * Per diem sub-rate rows. Null except on per diem reimbursements.
782
+ */
783
+ per_diem_line_items?: Array<ReimbursementRetrieveResponse.PerDiemLineItem>;
784
+
785
+ /**
786
+ * Per diem rate for the trip. Null except on per diem reimbursements.
787
+ */
788
+ per_diem_rate?: ReimbursementRetrieveResponse.PerDiemRate;
789
+
790
+ /**
791
+ * URL of the receipt file.
792
+ */
793
+ receipt?: string;
794
+
795
+ /**
796
+ * Mileage start address. Null when the trip has no start address.
797
+ */
798
+ start_address?: string;
799
+
800
+ /**
801
+ * When the purchase or authorization happened, as an ISO 8601 date-time in UTC.
802
+ */
803
+ transaction_date?: string;
804
+
805
+ /**
806
+ * `REIMBURSEMENT`: an expense the worker paid and the company pays back.
807
+ * `MILEAGE_REIMBURSEMENT`: payback for distance driven. `PER_DIEM_REIMBURSEMENT`:
808
+ * payback for a daily travel allowance. This decides which mileage or per diem
809
+ * fields are set.
810
+ */
811
+ transaction_type?: 'REIMBURSEMENT' | 'MILEAGE_REIMBURSEMENT' | 'PER_DIEM_REIMBURSEMENT';
812
+
813
+ /**
814
+ * Per diem trip end date, as an ISO 8601 date (YYYY-MM-DD). Null except on per
815
+ * diem reimbursements.
816
+ */
817
+ trip_end_date?: string;
818
+
819
+ /**
820
+ * Per diem trip start date, as an ISO 8601 date (YYYY-MM-DD). Null except on per
821
+ * diem reimbursements.
822
+ */
823
+ trip_start_date?: string;
824
+
825
+ /**
826
+ * Vendor the purchase was made from.
827
+ */
828
+ vendor?: ReimbursementRetrieveResponse.Vendor;
829
+
830
+ /**
831
+ * ID of the worker who made the transaction. Use it with `/workers/{id}/`.
832
+ */
833
+ worker_id?: string;
834
+ }
835
+
836
+ export namespace ReimbursementRetrieveResponse {
837
+ /**
838
+ * Amount in the company's headquarters currency. The `value` is a decimal string.
839
+ */
840
+ export interface CompanyAmount {
841
+ /**
842
+ * The currency type, ex: USD, EUR, etc.
843
+ */
844
+ currency_type?: string;
845
+
846
+ /**
847
+ * The decimal amount for the currency.
848
+ */
849
+ value?: number;
850
+ }
851
+
852
+ /**
853
+ * Vendor in the connected accounting system.
854
+ */
855
+ export interface GlVendor {
856
+ /**
857
+ * ID of the accounting vendor in Rippling.
858
+ */
859
+ id?: string;
860
+
861
+ /**
862
+ * ID of the vendor in the accounting system.
863
+ */
864
+ gl_vendor_id?: string;
865
+
866
+ /**
867
+ * Name of the vendor in the accounting system.
868
+ */
869
+ name?: string;
870
+ }
871
+
872
+ export interface LineItem {
873
+ /**
874
+ * Amount of this split, in the merchant currency. The `value` is a decimal string.
875
+ */
876
+ amount?: LineItem.Amount;
877
+
878
+ /**
879
+ * ID of the Spend category assigned to this split. No public API is currently
880
+ * available to retrieve this category; its name is in `category_name`.
881
+ */
882
+ category_id?: string;
883
+
884
+ /**
885
+ * Name of the spend category.
886
+ */
887
+ category_name?: string;
888
+
889
+ /**
890
+ * Selected dimension values, keyed by dimension ID. Includes department and work
891
+ * location.
892
+ */
893
+ dimension_choices?: { [key: string]: LineItem.DimensionChoices };
894
+
895
+ /**
896
+ * Whether this split is billed to `gl_customer` in the accounting system.
897
+ * `BILLABLE` means it is billed, `NOT_BILLABLE` means it is not. Null when not
898
+ * set.
899
+ */
900
+ gl_billable?: 'BILLABLE' | 'NOT_BILLABLE';
901
+
902
+ /**
903
+ * ID of the customer record in the connected accounting integration. No public
904
+ * Rippling API is currently available to retrieve this accounting customer.
905
+ */
906
+ gl_customer?: string;
907
+
908
+ /**
909
+ * Memo entered on this split.
910
+ */
911
+ memo?: string;
912
+ }
913
+
914
+ export namespace LineItem {
915
+ /**
916
+ * Amount of this split, in the merchant currency. The `value` is a decimal string.
917
+ */
918
+ export interface Amount {
919
+ /**
920
+ * The currency type, ex: USD, EUR, etc.
921
+ */
922
+ currency_type?: string;
923
+
924
+ /**
925
+ * The decimal amount for the currency.
926
+ */
927
+ value?: number;
928
+ }
929
+
930
+ export interface DimensionChoices {
931
+ /**
932
+ * Name of the dimension, such as Department.
933
+ */
934
+ dimension_name?: string;
935
+
936
+ /**
937
+ * Display name of the selected dimension value.
938
+ */
939
+ label?: string;
940
+
941
+ /**
942
+ * ID of the selected dimension value.
943
+ */
944
+ value?: string;
945
+ }
946
+ }
947
+
948
+ /**
949
+ * Amount charged by the merchant, in the merchant currency. The `value` is a
950
+ * decimal string.
951
+ */
952
+ export interface MerchantAmount {
953
+ /**
954
+ * The currency type, ex: USD, EUR, etc.
955
+ */
956
+ currency_type?: string;
957
+
958
+ /**
959
+ * The decimal amount for the currency.
960
+ */
961
+ value?: number;
962
+ }
963
+
964
+ /**
965
+ * Company mileage rate. Null except on mileage reimbursements.
966
+ */
967
+ export interface MileageRate {
968
+ /**
969
+ * Company mileage rate ID.
970
+ */
971
+ id?: string;
972
+
973
+ /**
974
+ * Company-defined label for this mileage rate, such as the rate used for a country
975
+ * or vehicle type.
976
+ */
977
+ name?: string;
978
+
979
+ /**
980
+ * Amount per distance unit. The `value` is a decimal string.
981
+ */
982
+ rate?: MileageRate.Rate;
983
+
984
+ /**
985
+ * Distance unit, mi or km.
986
+ */
987
+ units?: 'km' | 'mi';
988
+ }
989
+
990
+ export namespace MileageRate {
991
+ /**
992
+ * Amount per distance unit. The `value` is a decimal string.
993
+ */
994
+ export interface Rate {
995
+ /**
996
+ * The currency type, ex: USD, EUR, etc.
997
+ */
998
+ currency_type?: string;
999
+
1000
+ /**
1001
+ * The decimal amount for the currency.
1002
+ */
1003
+ value?: number;
1004
+ }
1005
+ }
1006
+
1007
+ /**
1008
+ * Amount credited to the worker. The `value` is a decimal string.
1009
+ */
1010
+ export interface PayoutAmount {
1011
+ /**
1012
+ * The currency type, ex: USD, EUR, etc.
1013
+ */
1014
+ currency_type?: string;
1015
+
1016
+ /**
1017
+ * The decimal amount for the currency.
1018
+ */
1019
+ value?: number;
1020
+ }
1021
+
1022
+ export interface PerDiemLineItem {
1023
+ /**
1024
+ * Sub-rate amount for one unit. The `value` is a decimal string.
1025
+ */
1026
+ amount?: PerDiemLineItem.Amount;
1027
+
1028
+ /**
1029
+ * amount times count. The `value` is a decimal string. Negative when line_type is
1030
+ * EXCLUDE.
1031
+ */
1032
+ calculated_amount?: PerDiemLineItem.CalculatedAmount;
1033
+
1034
+ /**
1035
+ * How many units.
1036
+ */
1037
+ count?: number;
1038
+
1039
+ /**
1040
+ * Sub-rate label.
1041
+ */
1042
+ label?: string;
1043
+
1044
+ /**
1045
+ * `INCLUDE`: this row is added to the reimbursement. `EXCLUDE`: this row is
1046
+ * subtracted. `calculated_amount.value` is negative when excluded.
1047
+ */
1048
+ line_type?: 'INCLUDE' | 'EXCLUDE';
1049
+
1050
+ /**
1051
+ * Per diem sub-rate ID.
1052
+ */
1053
+ sub_rate_id?: string;
1054
+
1055
+ /**
1056
+ * `FULL_DAY`: the full daily allowance. `MEALS`: the meals portion of the daily
1057
+ * allowance. `OTHERS`: an allowance that is not the full day or meals.
1058
+ */
1059
+ sub_rate_type?: 'FULL_DAY' | 'MEALS' | 'OTHERS';
1060
+ }
1061
+
1062
+ export namespace PerDiemLineItem {
1063
+ /**
1064
+ * Sub-rate amount for one unit. The `value` is a decimal string.
1065
+ */
1066
+ export interface Amount {
1067
+ /**
1068
+ * The currency type, ex: USD, EUR, etc.
1069
+ */
1070
+ currency_type?: string;
1071
+
1072
+ /**
1073
+ * The decimal amount for the currency.
1074
+ */
1075
+ value?: number;
1076
+ }
1077
+
1078
+ /**
1079
+ * amount times count. The `value` is a decimal string. Negative when line_type is
1080
+ * EXCLUDE.
1081
+ */
1082
+ export interface CalculatedAmount {
1083
+ /**
1084
+ * The currency type, ex: USD, EUR, etc.
1085
+ */
1086
+ currency_type?: string;
1087
+
1088
+ /**
1089
+ * The decimal amount for the currency.
1090
+ */
1091
+ value?: number;
1092
+ }
1093
+ }
1094
+
1095
+ /**
1096
+ * Per diem rate for the trip. Null except on per diem reimbursements.
1097
+ */
1098
+ export interface PerDiemRate {
1099
+ /**
1100
+ * Per diem rate ID.
1101
+ */
1102
+ id?: string;
1103
+
1104
+ /**
1105
+ * Country this per diem rate applies to, as an ISO 3166-1 alpha-2 code. Example:
1106
+ * US.
1107
+ */
1108
+ country?: string;
1109
+
1110
+ /**
1111
+ * Currency of the per diem rate, as an ISO 4217 code. Example: USD.
1112
+ */
1113
+ currency?: string;
1114
+
1115
+ /**
1116
+ * Place this per diem rate applies to, such as a city.
1117
+ */
1118
+ destination_name?: string;
1119
+ }
1120
+
1121
+ /**
1122
+ * Vendor the purchase was made from.
1123
+ */
1124
+ export interface Vendor {
1125
+ /**
1126
+ * ID of the vendor.
1127
+ */
1128
+ id?: string;
1129
+
1130
+ /**
1131
+ * Name of the vendor.
1132
+ */
1133
+ name?: string;
1134
+ }
1135
+ }
1136
+
1137
+ export interface ReimbursementListParams {
1138
+ cursor?: string;
1139
+
1140
+ filter?: string;
1141
+
1142
+ /**
1143
+ * The maximum number of results to return. Defaults to 50. Maximum is 100.
1144
+ */
1145
+ limit?: number;
1146
+
1147
+ order_by?: string;
1148
+ }
1149
+
1150
+ export declare namespace Reimbursements {
1151
+ export {
1152
+ type ReimbursementListResponse as ReimbursementListResponse,
1153
+ type ReimbursementRetrieveResponse as ReimbursementRetrieveResponse,
1154
+ type ReimbursementListResponsesPageCursorURL as ReimbursementListResponsesPageCursorURL,
1155
+ type ReimbursementListParams as ReimbursementListParams,
1156
+ };
1157
+ }