@roadmate-io/qonto-client 0.1.6

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 (114) hide show
  1. package/README.md +146 -0
  2. package/dist/client.d.ts +32 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +61 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/index.d.ts +74 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +119 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/resources/attachments.d.ts +29 -0
  11. package/dist/resources/attachments.d.ts.map +1 -0
  12. package/dist/resources/attachments.js +40 -0
  13. package/dist/resources/attachments.js.map +1 -0
  14. package/dist/resources/bankAccounts.d.ts +71 -0
  15. package/dist/resources/bankAccounts.d.ts.map +1 -0
  16. package/dist/resources/bankAccounts.js +51 -0
  17. package/dist/resources/bankAccounts.js.map +1 -0
  18. package/dist/resources/beneficiaries.d.ts +84 -0
  19. package/dist/resources/beneficiaries.d.ts.map +1 -0
  20. package/dist/resources/beneficiaries.js +58 -0
  21. package/dist/resources/beneficiaries.js.map +1 -0
  22. package/dist/resources/cards.d.ts +186 -0
  23. package/dist/resources/cards.d.ts.map +1 -0
  24. package/dist/resources/cards.js +120 -0
  25. package/dist/resources/cards.js.map +1 -0
  26. package/dist/resources/clientInvoices.d.ts +118 -0
  27. package/dist/resources/clientInvoices.d.ts.map +1 -0
  28. package/dist/resources/clientInvoices.js +101 -0
  29. package/dist/resources/clientInvoices.js.map +1 -0
  30. package/dist/resources/clients.d.ts +128 -0
  31. package/dist/resources/clients.d.ts.map +1 -0
  32. package/dist/resources/clients.js +44 -0
  33. package/dist/resources/clients.js.map +1 -0
  34. package/dist/resources/creditNotes.d.ts +53 -0
  35. package/dist/resources/creditNotes.d.ts.map +1 -0
  36. package/dist/resources/creditNotes.js +31 -0
  37. package/dist/resources/creditNotes.js.map +1 -0
  38. package/dist/resources/insuranceContracts.d.ts +75 -0
  39. package/dist/resources/insuranceContracts.d.ts.map +1 -0
  40. package/dist/resources/insuranceContracts.js +66 -0
  41. package/dist/resources/insuranceContracts.js.map +1 -0
  42. package/dist/resources/internalTransfers.d.ts +33 -0
  43. package/dist/resources/internalTransfers.d.ts.map +1 -0
  44. package/dist/resources/internalTransfers.js +17 -0
  45. package/dist/resources/internalTransfers.js.map +1 -0
  46. package/dist/resources/internationalTransfers.d.ts +127 -0
  47. package/dist/resources/internationalTransfers.d.ts.map +1 -0
  48. package/dist/resources/internationalTransfers.js +73 -0
  49. package/dist/resources/internationalTransfers.js.map +1 -0
  50. package/dist/resources/labels.d.ts +40 -0
  51. package/dist/resources/labels.d.ts.map +1 -0
  52. package/dist/resources/labels.js +32 -0
  53. package/dist/resources/labels.js.map +1 -0
  54. package/dist/resources/memberships.d.ts +20 -0
  55. package/dist/resources/memberships.d.ts.map +1 -0
  56. package/dist/resources/memberships.js +25 -0
  57. package/dist/resources/memberships.js.map +1 -0
  58. package/dist/resources/oauth.d.ts +47 -0
  59. package/dist/resources/oauth.d.ts.map +1 -0
  60. package/dist/resources/oauth.js +38 -0
  61. package/dist/resources/oauth.js.map +1 -0
  62. package/dist/resources/organizations.d.ts +25 -0
  63. package/dist/resources/organizations.d.ts.map +1 -0
  64. package/dist/resources/organizations.js +28 -0
  65. package/dist/resources/organizations.js.map +1 -0
  66. package/dist/resources/paymentLinks.d.ts +97 -0
  67. package/dist/resources/paymentLinks.d.ts.map +1 -0
  68. package/dist/resources/paymentLinks.js +51 -0
  69. package/dist/resources/paymentLinks.js.map +1 -0
  70. package/dist/resources/products.d.ts +73 -0
  71. package/dist/resources/products.d.ts.map +1 -0
  72. package/dist/resources/products.js +41 -0
  73. package/dist/resources/products.js.map +1 -0
  74. package/dist/resources/quotes.d.ts +126 -0
  75. package/dist/resources/quotes.d.ts.map +1 -0
  76. package/dist/resources/quotes.js +48 -0
  77. package/dist/resources/quotes.js.map +1 -0
  78. package/dist/resources/requests.d.ts +94 -0
  79. package/dist/resources/requests.d.ts.map +1 -0
  80. package/dist/resources/requests.js +64 -0
  81. package/dist/resources/requests.js.map +1 -0
  82. package/dist/resources/sepaDirectDebit.d.ts +119 -0
  83. package/dist/resources/sepaDirectDebit.d.ts.map +1 -0
  84. package/dist/resources/sepaDirectDebit.js +70 -0
  85. package/dist/resources/sepaDirectDebit.js.map +1 -0
  86. package/dist/resources/sepaTransfers.d.ts +83 -0
  87. package/dist/resources/sepaTransfers.d.ts.map +1 -0
  88. package/dist/resources/sepaTransfers.js +58 -0
  89. package/dist/resources/sepaTransfers.js.map +1 -0
  90. package/dist/resources/statements.d.ts +45 -0
  91. package/dist/resources/statements.d.ts.map +1 -0
  92. package/dist/resources/statements.js +26 -0
  93. package/dist/resources/statements.js.map +1 -0
  94. package/dist/resources/supplierInvoices.d.ts +96 -0
  95. package/dist/resources/supplierInvoices.d.ts.map +1 -0
  96. package/dist/resources/supplierInvoices.js +63 -0
  97. package/dist/resources/supplierInvoices.js.map +1 -0
  98. package/dist/resources/teams.d.ts +35 -0
  99. package/dist/resources/teams.d.ts.map +1 -0
  100. package/dist/resources/teams.js +26 -0
  101. package/dist/resources/teams.js.map +1 -0
  102. package/dist/resources/transactions.d.ts +29 -0
  103. package/dist/resources/transactions.d.ts.map +1 -0
  104. package/dist/resources/transactions.js +40 -0
  105. package/dist/resources/transactions.js.map +1 -0
  106. package/dist/resources/webhooks.d.ts +65 -0
  107. package/dist/resources/webhooks.d.ts.map +1 -0
  108. package/dist/resources/webhooks.js +49 -0
  109. package/dist/resources/webhooks.js.map +1 -0
  110. package/dist/types/index.d.ts +718 -0
  111. package/dist/types/index.d.ts.map +1 -0
  112. package/dist/types/index.js +4 -0
  113. package/dist/types/index.js.map +1 -0
  114. package/package.json +45 -0
@@ -0,0 +1,718 @@
1
+ /** ISO 8601 date-time string, e.g. "2024-01-15T10:30:00.000Z" */
2
+ export type ISODateTime = string;
3
+ /** ISO 4217 currency code, e.g. "EUR" */
4
+ export type CurrencyCode = string;
5
+ /** UUID v4 string */
6
+ export type UUID = string;
7
+ /** Monetary amount with currency */
8
+ export interface Money {
9
+ /** Amount in cents (e.g. 10050 = €100.50) */
10
+ value: number;
11
+ currency: CurrencyCode;
12
+ }
13
+ /** Postal address */
14
+ export interface Address {
15
+ street_address?: string;
16
+ city?: string;
17
+ zip_code?: string;
18
+ country?: string;
19
+ state?: string;
20
+ }
21
+ /** Bank account identifiers */
22
+ export interface BankAccountDetails {
23
+ iban?: string;
24
+ bic?: string;
25
+ account_number?: string;
26
+ sort_code?: string;
27
+ routing_number?: string;
28
+ }
29
+ /** Pagination metadata returned on list endpoints */
30
+ export interface PaginationMeta {
31
+ current_page: number;
32
+ next_page: number | null;
33
+ prev_page: number | null;
34
+ total_pages: number;
35
+ total_count: number;
36
+ per_page: number;
37
+ }
38
+ /** Generic paginated list response */
39
+ export interface PaginatedResponse<T> {
40
+ data: T[];
41
+ meta: PaginationMeta;
42
+ }
43
+ /** Generic single-resource response */
44
+ export interface SingleResponse<T> {
45
+ data: T;
46
+ }
47
+ /** Standard API error shape */
48
+ export interface ApiError {
49
+ errors: Array<{
50
+ code: string;
51
+ detail: string;
52
+ source?: {
53
+ pointer?: string;
54
+ parameter?: string;
55
+ };
56
+ }>;
57
+ }
58
+ export interface PaginationParams {
59
+ page?: number;
60
+ per_page?: number;
61
+ }
62
+ export interface Organization {
63
+ id: UUID;
64
+ slug: string;
65
+ name: string;
66
+ legal_name: string;
67
+ legal_number: string;
68
+ legal_country: string;
69
+ legal_form?: string;
70
+ address?: Address;
71
+ bank_accounts?: BankAccount[];
72
+ }
73
+ export interface ListOrganizationParams {
74
+ include_external_accounts?: boolean;
75
+ }
76
+ export type BankAccountStatus = "active" | "closed" | "pending";
77
+ export type BankAccountType = "current" | "savings" | "external";
78
+ export interface BankAccount {
79
+ id: UUID;
80
+ slug: string;
81
+ name: string;
82
+ iban: string;
83
+ bic: string;
84
+ currency: CurrencyCode;
85
+ balance: number;
86
+ balance_cents: number;
87
+ authorized_balance: number;
88
+ authorized_balance_cents: number;
89
+ status: BankAccountStatus;
90
+ account_type: BankAccountType;
91
+ updated_at: ISODateTime;
92
+ main: boolean;
93
+ }
94
+ export interface ListBankAccountsParams extends PaginationParams {
95
+ status?: BankAccountStatus;
96
+ }
97
+ export type MembershipRole = "owner" | "admin" | "manager" | "employee" | "accountant";
98
+ export interface Membership {
99
+ id: UUID;
100
+ first_name: string;
101
+ last_name: string;
102
+ email: string;
103
+ role: MembershipRole;
104
+ status: string;
105
+ avatar_url?: string;
106
+ team_id?: UUID;
107
+ created_at: ISODateTime;
108
+ updated_at: ISODateTime;
109
+ }
110
+ export interface ListMembershipsParams extends PaginationParams {
111
+ }
112
+ export interface CreateMembershipBody {
113
+ first_name: string;
114
+ last_name: string;
115
+ email: string;
116
+ role: MembershipRole;
117
+ team_id?: UUID;
118
+ }
119
+ export type TransactionSide = "credit" | "debit";
120
+ export type TransactionStatus = "pending" | "reversed" | "declined" | "completed" | "processing";
121
+ export type TransactionOperationType = "transfer" | "card" | "direct_debit" | "income" | "qonto_fee" | "cheque" | "recall";
122
+ export interface Transaction {
123
+ id: UUID;
124
+ transaction_id: string;
125
+ amount: number;
126
+ amount_cents: number;
127
+ local_amount: number;
128
+ local_amount_cents: number;
129
+ side: TransactionSide;
130
+ operation_type: TransactionOperationType;
131
+ currency: CurrencyCode;
132
+ local_currency: CurrencyCode;
133
+ label: string;
134
+ settled_at?: ISODateTime;
135
+ emitted_at: ISODateTime;
136
+ updated_at: ISODateTime;
137
+ status: TransactionStatus;
138
+ note?: string;
139
+ reference?: string;
140
+ vat_amount?: number;
141
+ vat_amount_cents?: number;
142
+ vat_rate?: number;
143
+ initiator_id?: UUID;
144
+ card_last_four?: string;
145
+ category?: string;
146
+ attachment_ids: UUID[];
147
+ label_ids: UUID[];
148
+ settled_balance: number;
149
+ settled_balance_cents: number;
150
+ attachment_lost: boolean;
151
+ attachment_required: boolean;
152
+ card_last_digits: string;
153
+ cashflow_category: CashflowCategory;
154
+ cashflow_subcategory: CashflowSubcategory;
155
+ subject_type: string;
156
+ transfer: Transfer;
157
+ bank_account_id: string;
158
+ is_external_transaction: boolean;
159
+ income?: Income;
160
+ clean_counterparty_name?: any;
161
+ logo?: Logo;
162
+ created_at?: string;
163
+ }
164
+ export interface Income {
165
+ counterparty_account_number: string;
166
+ counterparty_bank_identifier_format: string;
167
+ counterparty_account_number_format: string;
168
+ counterparty_bank_identifier: string;
169
+ }
170
+ export interface CashflowCategory {
171
+ name: string;
172
+ }
173
+ export interface Logo {
174
+ }
175
+ export interface CashflowSubcategory {
176
+ name: any;
177
+ }
178
+ export interface CashflowCategory {
179
+ name: string;
180
+ }
181
+ export interface Transfer {
182
+ counterparty_account_number: string;
183
+ counterparty_account_number_format: string;
184
+ counterparty_bank_identifier: string;
185
+ counterparty_bank_identifier_format: string;
186
+ }
187
+ export interface ListTransactionsParams extends PaginationParams {
188
+ bank_account_id?: UUID;
189
+ status?: TransactionStatus | TransactionStatus[];
190
+ side?: TransactionSide;
191
+ operation_type?: TransactionOperationType | TransactionOperationType[];
192
+ settled_at_from?: ISODateTime;
193
+ settled_at_to?: ISODateTime;
194
+ emitted_at_from?: ISODateTime;
195
+ emitted_at_to?: ISODateTime;
196
+ sort_by?: string;
197
+ with_attachments?: boolean;
198
+ }
199
+ export type AttachmentType = "invoice" | "receipt" | "other";
200
+ export interface Attachment {
201
+ id: UUID;
202
+ created_at: ISODateTime;
203
+ file_name: string;
204
+ file_size: number;
205
+ file_content_type: string;
206
+ url: string;
207
+ type?: AttachmentType;
208
+ probative_attachment?: {
209
+ status: string;
210
+ reason?: string;
211
+ };
212
+ }
213
+ export interface ListAttachmentsParams extends PaginationParams {
214
+ }
215
+ export interface Statement {
216
+ id: UUID;
217
+ bank_account_id: UUID;
218
+ iban: string;
219
+ period: string;
220
+ url?: string;
221
+ created_at: ISODateTime;
222
+ }
223
+ export interface ListStatementsParams extends PaginationParams {
224
+ bank_account_ids?: UUID[];
225
+ ibans?: string[];
226
+ period_from?: string;
227
+ period_to?: string;
228
+ sort_by?: string;
229
+ }
230
+ export type CardStatus = "live" | "paused" | "stolen" | "lost" | "blocked" | "pending_renewal" | "renewed";
231
+ export type CardType = "virtual" | "physical" | "flash";
232
+ export interface Card {
233
+ id: UUID;
234
+ status: CardStatus;
235
+ card_type: CardType;
236
+ last_four: string;
237
+ expiration_date: string;
238
+ holder_id: UUID;
239
+ holder_name: string;
240
+ bank_account_id: UUID;
241
+ spending_limit?: {
242
+ amount: number;
243
+ period: string;
244
+ };
245
+ atm_daily_limit?: number;
246
+ online_payment: boolean;
247
+ international_payments: boolean;
248
+ nfc: boolean;
249
+ created_at: ISODateTime;
250
+ updated_at: ISODateTime;
251
+ }
252
+ export interface ListCardsParams extends PaginationParams {
253
+ holder_id?: UUID;
254
+ status?: CardStatus;
255
+ card_type?: CardType;
256
+ }
257
+ export interface CreateCardBody {
258
+ card_type: CardType;
259
+ holder_id: UUID;
260
+ bank_account_id: UUID;
261
+ spending_limit?: {
262
+ amount: number;
263
+ period: string;
264
+ };
265
+ online_payment?: boolean;
266
+ international_payments?: boolean;
267
+ nfc?: boolean;
268
+ }
269
+ export interface UpdateCardBody {
270
+ status?: CardStatus;
271
+ spending_limit?: {
272
+ amount: number;
273
+ period: string;
274
+ };
275
+ online_payment?: boolean;
276
+ international_payments?: boolean;
277
+ nfc?: boolean;
278
+ }
279
+ export type TransferStatus = "pending" | "processing" | "completed" | "canceled" | "declined";
280
+ export interface SepaTransfer {
281
+ id: UUID;
282
+ amount: number;
283
+ amount_cents: number;
284
+ currency: CurrencyCode;
285
+ local_amount: number;
286
+ local_amount_cents: number;
287
+ status: TransferStatus;
288
+ reference?: string;
289
+ beneficiary: {
290
+ id: UUID;
291
+ name: string;
292
+ iban: string;
293
+ bic?: string;
294
+ };
295
+ bank_account_id: UUID;
296
+ emitted_at?: ISODateTime;
297
+ settled_at?: ISODateTime;
298
+ created_at: ISODateTime;
299
+ updated_at: ISODateTime;
300
+ }
301
+ export interface CreateSepaTransferBody {
302
+ amount: number;
303
+ currency?: CurrencyCode;
304
+ reference?: string;
305
+ beneficiary_id?: UUID;
306
+ beneficiary?: {
307
+ name: string;
308
+ iban: string;
309
+ bic?: string;
310
+ };
311
+ bank_account_id: UUID;
312
+ scheduled_date?: string;
313
+ }
314
+ export interface ListSepaTransfersParams extends PaginationParams {
315
+ status?: TransferStatus;
316
+ bank_account_id?: UUID;
317
+ sort_by?: string;
318
+ }
319
+ export interface InternalTransfer {
320
+ id: UUID;
321
+ amount: number;
322
+ amount_cents: number;
323
+ currency: CurrencyCode;
324
+ status: TransferStatus;
325
+ debit_bank_account_id: UUID;
326
+ credit_bank_account_id: UUID;
327
+ reference?: string;
328
+ created_at: ISODateTime;
329
+ updated_at: ISODateTime;
330
+ }
331
+ export interface CreateInternalTransferBody {
332
+ amount: number;
333
+ currency?: CurrencyCode;
334
+ debit_bank_account_id: UUID;
335
+ credit_bank_account_id: UUID;
336
+ reference?: string;
337
+ }
338
+ export interface InternationalTransfer {
339
+ id: UUID;
340
+ amount: number;
341
+ currency: CurrencyCode;
342
+ target_currency: CurrencyCode;
343
+ target_amount: number;
344
+ exchange_rate: number;
345
+ status: TransferStatus;
346
+ reference?: string;
347
+ beneficiary: {
348
+ name: string;
349
+ account_number: string;
350
+ routing_number?: string;
351
+ iban?: string;
352
+ bic?: string;
353
+ address?: Address;
354
+ country: string;
355
+ };
356
+ bank_account_id: UUID;
357
+ created_at: ISODateTime;
358
+ updated_at: ISODateTime;
359
+ }
360
+ export interface CreateInternationalTransferBody {
361
+ amount: number;
362
+ currency: CurrencyCode;
363
+ target_currency: CurrencyCode;
364
+ reference?: string;
365
+ bank_account_id: UUID;
366
+ beneficiary: {
367
+ name: string;
368
+ account_number: string;
369
+ routing_number?: string;
370
+ iban?: string;
371
+ bic?: string;
372
+ address?: Address;
373
+ country: string;
374
+ };
375
+ }
376
+ export interface Beneficiary {
377
+ id: UUID;
378
+ name: string;
379
+ iban: string;
380
+ bic?: string;
381
+ currency?: CurrencyCode;
382
+ trusted: boolean;
383
+ created_at: ISODateTime;
384
+ updated_at: ISODateTime;
385
+ }
386
+ export interface CreateBeneficiaryBody {
387
+ name: string;
388
+ iban: string;
389
+ bic?: string;
390
+ currency?: CurrencyCode;
391
+ }
392
+ export interface ListBeneficiariesParams extends PaginationParams {
393
+ trusted?: boolean;
394
+ }
395
+ export type DirectDebitStatus = "pending" | "completed" | "failed" | "canceled";
396
+ export interface SepaDirectDebitMandate {
397
+ id: UUID;
398
+ unique_mandate_reference: string;
399
+ debtor_name: string;
400
+ debtor_iban: string;
401
+ creditor_name: string;
402
+ creditor_identifier: string;
403
+ status: string;
404
+ created_at: ISODateTime;
405
+ updated_at: ISODateTime;
406
+ }
407
+ export interface SepaDirectDebitCollection {
408
+ id: UUID;
409
+ mandate_id: UUID;
410
+ amount: number;
411
+ amount_cents: number;
412
+ currency: CurrencyCode;
413
+ status: DirectDebitStatus;
414
+ reference?: string;
415
+ collection_date: string;
416
+ created_at: ISODateTime;
417
+ updated_at: ISODateTime;
418
+ }
419
+ export interface CreateDirectDebitCollectionBody {
420
+ mandate_id: UUID;
421
+ amount: number;
422
+ currency?: CurrencyCode;
423
+ reference?: string;
424
+ collection_date: string;
425
+ }
426
+ export type PaymentLinkStatus = "active" | "expired" | "completed" | "canceled";
427
+ export interface PaymentLink {
428
+ id: UUID;
429
+ url: string;
430
+ status: PaymentLinkStatus;
431
+ amount: number;
432
+ amount_cents: number;
433
+ currency: CurrencyCode;
434
+ description?: string;
435
+ reference?: string;
436
+ expires_at?: ISODateTime;
437
+ created_at: ISODateTime;
438
+ updated_at: ISODateTime;
439
+ }
440
+ export interface CreatePaymentLinkBody {
441
+ amount: number;
442
+ currency?: CurrencyCode;
443
+ description?: string;
444
+ reference?: string;
445
+ expires_at?: ISODateTime;
446
+ }
447
+ export interface ListPaymentLinksParams extends PaginationParams {
448
+ status?: PaymentLinkStatus;
449
+ }
450
+ export type WebhookStatus = "active" | "inactive";
451
+ export interface Webhook {
452
+ id: UUID;
453
+ url: string;
454
+ status: WebhookStatus;
455
+ secret?: string;
456
+ events: string[];
457
+ created_at: ISODateTime;
458
+ updated_at: ISODateTime;
459
+ }
460
+ export interface CreateWebhookBody {
461
+ url: string;
462
+ events: string[];
463
+ secret?: string;
464
+ }
465
+ export interface UpdateWebhookBody {
466
+ url?: string;
467
+ events?: string[];
468
+ status?: WebhookStatus;
469
+ }
470
+ export interface ListWebhooksParams extends PaginationParams {
471
+ status?: WebhookStatus;
472
+ }
473
+ export type InvoiceStatus = "draft" | "pending" | "paid" | "canceled" | "overdue";
474
+ export interface ClientInvoice {
475
+ id: UUID;
476
+ number: string;
477
+ status: InvoiceStatus;
478
+ client_id: UUID;
479
+ issue_date: string;
480
+ due_date?: string;
481
+ amount: number;
482
+ amount_cents: number;
483
+ currency: CurrencyCode;
484
+ vat_amount?: number;
485
+ vat_rate?: number;
486
+ items: InvoiceItem[];
487
+ pdf_url?: string;
488
+ created_at: ISODateTime;
489
+ updated_at: ISODateTime;
490
+ }
491
+ export interface InvoiceItem {
492
+ id?: UUID;
493
+ title: string;
494
+ description?: string;
495
+ quantity: number;
496
+ unit_price: number;
497
+ vat_rate?: number;
498
+ total_amount: number;
499
+ }
500
+ export interface CreateClientInvoiceBody {
501
+ client_id: UUID;
502
+ issue_date: string;
503
+ due_date?: string;
504
+ currency?: CurrencyCode;
505
+ items: Omit<InvoiceItem, "id" | "total_amount">[];
506
+ vat_rate?: number;
507
+ }
508
+ export interface ListClientInvoicesParams extends PaginationParams {
509
+ status?: InvoiceStatus;
510
+ client_id?: UUID;
511
+ sort_by?: string;
512
+ }
513
+ export interface SupplierInvoice {
514
+ id: UUID;
515
+ status: InvoiceStatus;
516
+ supplier_name: string;
517
+ amount: number;
518
+ amount_cents: number;
519
+ currency: CurrencyCode;
520
+ due_date?: string;
521
+ issue_date?: string;
522
+ reference?: string;
523
+ attachment_id?: UUID;
524
+ created_at: ISODateTime;
525
+ updated_at: ISODateTime;
526
+ }
527
+ export interface CreateSupplierInvoiceBody {
528
+ supplier_name: string;
529
+ amount: number;
530
+ currency?: CurrencyCode;
531
+ due_date?: string;
532
+ issue_date?: string;
533
+ reference?: string;
534
+ attachment_id?: UUID;
535
+ }
536
+ export interface ListSupplierInvoicesParams extends PaginationParams {
537
+ status?: InvoiceStatus;
538
+ }
539
+ export interface CreditNote {
540
+ id: UUID;
541
+ number: string;
542
+ client_id: UUID;
543
+ invoice_id?: UUID;
544
+ amount: number;
545
+ amount_cents: number;
546
+ currency: CurrencyCode;
547
+ issue_date: string;
548
+ status: string;
549
+ pdf_url?: string;
550
+ created_at: ISODateTime;
551
+ updated_at: ISODateTime;
552
+ }
553
+ export interface CreateCreditNoteBody {
554
+ client_id: UUID;
555
+ invoice_id?: UUID;
556
+ amount: number;
557
+ currency?: CurrencyCode;
558
+ issue_date: string;
559
+ }
560
+ export type ClientType = "individual" | "company";
561
+ export interface Client {
562
+ id: UUID;
563
+ name: string;
564
+ type: ClientType;
565
+ email?: string;
566
+ phone?: string;
567
+ vat_number?: string;
568
+ address?: Address;
569
+ billing_address?: Address;
570
+ currency?: CurrencyCode;
571
+ created_at: ISODateTime;
572
+ updated_at: ISODateTime;
573
+ }
574
+ export interface CreateClientBody {
575
+ name: string;
576
+ type: ClientType;
577
+ email?: string;
578
+ phone?: string;
579
+ vat_number?: string;
580
+ address?: Address;
581
+ currency?: CurrencyCode;
582
+ }
583
+ export interface ListClientsParams extends PaginationParams {
584
+ type?: ClientType;
585
+ }
586
+ export interface Product {
587
+ id: UUID;
588
+ name: string;
589
+ description?: string;
590
+ unit_price: number;
591
+ currency: CurrencyCode;
592
+ vat_rate?: number;
593
+ unit?: string;
594
+ created_at: ISODateTime;
595
+ updated_at: ISODateTime;
596
+ }
597
+ export interface CreateProductBody {
598
+ name: string;
599
+ description?: string;
600
+ unit_price: number;
601
+ currency?: CurrencyCode;
602
+ vat_rate?: number;
603
+ unit?: string;
604
+ }
605
+ export type QuoteStatus = "draft" | "pending" | "accepted" | "rejected" | "expired";
606
+ export interface Quote {
607
+ id: UUID;
608
+ number: string;
609
+ status: QuoteStatus;
610
+ client_id: UUID;
611
+ issue_date: string;
612
+ expiry_date?: string;
613
+ amount: number;
614
+ amount_cents: number;
615
+ currency: CurrencyCode;
616
+ items: InvoiceItem[];
617
+ pdf_url?: string;
618
+ created_at: ISODateTime;
619
+ updated_at: ISODateTime;
620
+ }
621
+ export interface CreateQuoteBody {
622
+ client_id: UUID;
623
+ issue_date: string;
624
+ expiry_date?: string;
625
+ currency?: CurrencyCode;
626
+ items: Omit<InvoiceItem, "id" | "total_amount">[];
627
+ }
628
+ export interface ListQuotesParams extends PaginationParams {
629
+ status?: QuoteStatus;
630
+ client_id?: UUID;
631
+ }
632
+ export interface Team {
633
+ id: UUID;
634
+ name: string;
635
+ created_at: ISODateTime;
636
+ updated_at: ISODateTime;
637
+ }
638
+ export interface CreateTeamBody {
639
+ name: string;
640
+ }
641
+ export interface Label {
642
+ id: UUID;
643
+ name: string;
644
+ color?: string;
645
+ parent_id?: UUID;
646
+ created_at: ISODateTime;
647
+ updated_at: ISODateTime;
648
+ }
649
+ export interface CreateLabelBody {
650
+ name: string;
651
+ color?: string;
652
+ parent_id?: UUID;
653
+ }
654
+ export interface InsuranceContract {
655
+ id: UUID;
656
+ status: string;
657
+ insurance_type: string;
658
+ provider: string;
659
+ premium_amount: number;
660
+ currency: CurrencyCode;
661
+ start_date: string;
662
+ end_date?: string;
663
+ created_at: ISODateTime;
664
+ updated_at: ISODateTime;
665
+ }
666
+ export type RequestStatus = "pending" | "approved" | "declined" | "canceled";
667
+ export type RequestType = "transfer" | "card_authorization" | "mileage" | "expense";
668
+ export interface ApprovalRequest {
669
+ id: UUID;
670
+ type: RequestType;
671
+ status: RequestStatus;
672
+ requester_id: UUID;
673
+ approver_id?: UUID;
674
+ amount: number;
675
+ amount_cents: number;
676
+ currency: CurrencyCode;
677
+ note?: string;
678
+ created_at: ISODateTime;
679
+ updated_at: ISODateTime;
680
+ }
681
+ export interface ListRequestsParams extends PaginationParams {
682
+ status?: RequestStatus;
683
+ type?: RequestType;
684
+ }
685
+ export interface ScaChallenge {
686
+ id: UUID;
687
+ status: string;
688
+ expires_at: ISODateTime;
689
+ created_at: ISODateTime;
690
+ }
691
+ export interface OAuthTokenResponse {
692
+ access_token: string;
693
+ token_type: string;
694
+ expires_in: number;
695
+ refresh_token?: string;
696
+ scope?: string;
697
+ }
698
+ export interface OAuthTokenBody {
699
+ grant_type: "authorization_code" | "refresh_token" | "client_credentials";
700
+ code?: string;
701
+ redirect_uri?: string;
702
+ refresh_token?: string;
703
+ client_id: string;
704
+ client_secret: string;
705
+ }
706
+ export interface EInvoice {
707
+ id: UUID;
708
+ status: string;
709
+ format: string;
710
+ file_url?: string;
711
+ created_at: ISODateTime;
712
+ updated_at: ISODateTime;
713
+ }
714
+ export interface EmbedAuthLink {
715
+ url: string;
716
+ expires_at: ISODateTime;
717
+ }
718
+ //# sourceMappingURL=index.d.ts.map