@conflict-hq/ezacto-client 0.1.1 → 0.1.3

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.
@@ -10,6 +10,10 @@ export type Attachment = {
10
10
  "uploaded_by_user_id": number | null;
11
11
  "created_at": string;
12
12
  "updated_at": string;
13
+ "through"?: string | null;
14
+ };
15
+ export type RecurringAttachmentThroughInput = {
16
+ "through": string | null;
13
17
  };
14
18
  export type AttachmentEnvelope = {
15
19
  "data": Attachment;
@@ -19,6 +23,225 @@ export type AttachmentListEnvelope = {
19
23
  "data": Array<Attachment>;
20
24
  "links": Links;
21
25
  };
26
+ export type PaymentActualsEnvelope = {
27
+ "data": {
28
+ "month": string;
29
+ "currency": string;
30
+ "completed": boolean;
31
+ "people": Array<{
32
+ "user_id": number;
33
+ "name": string;
34
+ "entries": Array<{
35
+ "entry_id": number;
36
+ "project_id": number;
37
+ "project_name": string;
38
+ "spent_date": string;
39
+ "rounded_seconds": number;
40
+ "cost_rate_cents": number | null;
41
+ "selected_seconds": number;
42
+ }>;
43
+ }>;
44
+ };
45
+ };
46
+ export type ConfirmPaymentActuals = {
47
+ "id": string;
48
+ "user_id": number;
49
+ "month": string;
50
+ "expected_version": number;
51
+ "currency": string;
52
+ "entries": Array<{
53
+ "entry_id": number;
54
+ "project_id": number;
55
+ "project_name": string;
56
+ "spent_date": string;
57
+ "rounded_seconds": number;
58
+ "cost_rate_cents": number | null;
59
+ "selected_seconds": number;
60
+ }>;
61
+ "note": string;
62
+ };
63
+ export type StaffPaymentProviderCommand = {
64
+ "id": string;
65
+ "user_id": number | null;
66
+ "expected_version": number;
67
+ "provider": "wise" | "deel" | null;
68
+ "note": string;
69
+ };
70
+ export type StaffPaymentProviderEvent = {
71
+ "id": string;
72
+ "user_id": number | null;
73
+ "expected_version": number;
74
+ "provider": "wise" | "deel" | null;
75
+ "note": string;
76
+ "version": number;
77
+ "actor_id": number;
78
+ "actor_name": string;
79
+ "recorded_at": string;
80
+ "request_id": string;
81
+ };
82
+ export type StaffPaymentProviderSettings = {
83
+ "default_provider": "wise" | "deel";
84
+ "version": number;
85
+ "events": Array<StaffPaymentProviderEvent>;
86
+ };
87
+ export type StaffPaymentCommand = {
88
+ "id": string;
89
+ "user_id": number;
90
+ "month": string;
91
+ "expected_version": number;
92
+ "kind": "amount" | "payment" | "void" | "opening" | "reopen" | "note";
93
+ "amount_cents": number | null;
94
+ "currency": string | null;
95
+ "paid_on": string | null;
96
+ "due_on": string | null;
97
+ "reference": string;
98
+ "note": string;
99
+ "payment_id": string | null;
100
+ "source": "wise" | "deel" | "historical";
101
+ };
102
+ export type StaffPaymentEvent = {
103
+ "id": string;
104
+ "user_id": number;
105
+ "month": string;
106
+ "expected_version": number;
107
+ "kind": "amount" | "payment" | "void" | "opening" | "reopen" | "note";
108
+ "amount_cents": number | null;
109
+ "currency": string | null;
110
+ "paid_on": string | null;
111
+ "due_on": string | null;
112
+ "reference": string;
113
+ "note": string;
114
+ "payment_id": string | null;
115
+ "source": "wise" | "deel" | "historical";
116
+ "version": number;
117
+ "actor_id": number;
118
+ "actor_name": string;
119
+ "recorded_at": string;
120
+ "request_id": string;
121
+ };
122
+ export type StaffPaymentRow = {
123
+ "user_id": number;
124
+ "name": string;
125
+ "active": boolean;
126
+ "wise_ready": boolean;
127
+ "deel_ready": boolean;
128
+ "payout_provider": "wise" | "deel";
129
+ "provider_override": "wise" | "deel" | null;
130
+ "provider_version": number;
131
+ "month": string;
132
+ "version": number;
133
+ "amount_cents": number | null;
134
+ "currency": string | null;
135
+ "has_hours": boolean;
136
+ "amount_basis": "ledger" | "contractor_cost";
137
+ "paid_cents": number;
138
+ "balance_cents": number | null;
139
+ "reserved_cents": number;
140
+ "available_cents": number | null;
141
+ "due_on": string | null;
142
+ "settled_through": string | null;
143
+ "status": "in_progress" | "pending" | "partial" | "paid" | "settled";
144
+ "overdue": boolean;
145
+ "events": Array<StaffPaymentEvent>;
146
+ };
147
+ export type StaffPaymentReport = {
148
+ "month": string;
149
+ "as_of": string;
150
+ "rows": Array<StaffPaymentRow>;
151
+ "provider_settings": StaffPaymentProviderSettings;
152
+ };
153
+ export type StaffPaymentReportEnvelope = {
154
+ "data": StaffPaymentReport;
155
+ };
156
+ export type PaymentSelection = {
157
+ "user_id": number;
158
+ "month": string;
159
+ "amount_cents": number;
160
+ "expected_version": number;
161
+ };
162
+ export type PaymentRunCommand = {
163
+ "id": string;
164
+ "name": string;
165
+ "source_currency": string;
166
+ "scheduled_at": string;
167
+ "timezone": string;
168
+ "items": Array<PaymentSelection>;
169
+ };
170
+ export type PaymentQuote = {
171
+ "id": string;
172
+ "profile_id": string;
173
+ "recipient_id": string;
174
+ "recipient_name": string;
175
+ "source_currency": string;
176
+ "target_currency": string;
177
+ "target_cents": number;
178
+ "source_cents": number;
179
+ "fee_cents": number;
180
+ "rate": number;
181
+ "expires_at": string;
182
+ "estimated_arrival": string | null;
183
+ };
184
+ export type PaymentDestination = {
185
+ "id": number;
186
+ "external_id": string;
187
+ "kind": "account" | "contact";
188
+ };
189
+ export type PaymentItem = {
190
+ "user_id": number;
191
+ "month": string;
192
+ "amount_cents": number;
193
+ "expected_version": number;
194
+ "id": string;
195
+ "run_id": string;
196
+ "name": string;
197
+ "currency": string;
198
+ "destination": PaymentDestination;
199
+ "quote": PaymentQuote;
200
+ "execution_quote": PaymentQuote | null;
201
+ "max_source_cents": number;
202
+ "state": "draft" | "queued" | "creating" | "funding" | "processing" | "paid" | "failed" | "attention" | "cancelled";
203
+ "transfer_id": string | null;
204
+ "provider_status": string | null;
205
+ "failure": string | null;
206
+ "attempts": number;
207
+ "next_attempt_at": string;
208
+ "updated_at": string;
209
+ "version": number;
210
+ "lease_token": string | null;
211
+ "lease_until": string | null;
212
+ };
213
+ export type PaymentRun = {
214
+ "id": string;
215
+ "name": string;
216
+ "source_currency": string;
217
+ "scheduled_at": string;
218
+ "timezone": string;
219
+ "state": "draft" | "approved" | "cancelled";
220
+ "actor_id": number;
221
+ "approved_by": number | null;
222
+ "created_at": string;
223
+ "approved_at": string | null;
224
+ "request_id": string;
225
+ "items": Array<PaymentItem>;
226
+ };
227
+ export type PaymentRunApproval = {
228
+ "limits": Array<{
229
+ "item_id": string;
230
+ "max_source_cents": number;
231
+ }>;
232
+ };
233
+ export type PaymentRunEnvelope = {
234
+ "data": PaymentRun;
235
+ };
236
+ export type PaymentRunReport = {
237
+ "from": string;
238
+ "to": string;
239
+ "ledgers": Array<StaffPaymentReport>;
240
+ "runs": Array<PaymentRun>;
241
+ };
242
+ export type PaymentRunReportEnvelope = {
243
+ "data": PaymentRunReport;
244
+ };
22
245
  export type InvoiceReminderPolicy = {
23
246
  "first_after_days": number;
24
247
  "every_days": number;
@@ -100,6 +323,7 @@ export type EmailLog = {
100
323
  "from": EmailRecipient | null;
101
324
  "reply_to": Array<EmailRecipient>;
102
325
  "to": Array<EmailRecipient>;
326
+ "cc": Array<EmailRecipient>;
103
327
  "template": string;
104
328
  "subject": string;
105
329
  "provider": string | null;
@@ -257,12 +481,105 @@ export type QuickBooksAuthorizeEnvelope = {
257
481
  "authorize_url": string;
258
482
  };
259
483
  };
484
+ export type WiseConnection = {
485
+ "profile_id": string;
486
+ "profile_name": string | null;
487
+ "payable_recipients": number;
488
+ "webhooks_verifiable": boolean;
489
+ };
490
+ export type WiseRecipient = {
491
+ "id": string;
492
+ "holder_name": string | null;
493
+ "currency": string;
494
+ "type": string;
495
+ "masked_summary": string | null;
496
+ "email": string | null;
497
+ };
498
+ export type WiseStatusEnvelope = {
499
+ "data": {
500
+ "configured": boolean;
501
+ "connection": WiseConnection | null;
502
+ };
503
+ };
504
+ export type WiseRecipientListEnvelope = {
505
+ "data": Array<WiseRecipient>;
506
+ };
507
+ export type WiseOnboardInput = {
508
+ "user_id": number;
509
+ "email": string;
510
+ "legal_name": string;
511
+ "currency": string;
512
+ };
513
+ export type WiseDestinationEnvelope = {
514
+ "data": {
515
+ "configured": boolean;
516
+ "destination": {
517
+ "id": number;
518
+ "kind": "account" | "contact";
519
+ "linked_at": string;
520
+ "linked_by_user_id": number;
521
+ "verified_at": string | null;
522
+ } | null;
523
+ };
524
+ };
525
+ export type WiseProposal = {
526
+ "user_id": number;
527
+ "name": string;
528
+ "payroll_email": string | null;
529
+ "matches": Array<WiseRecipient>;
530
+ };
531
+ export type WiseProposalListEnvelope = {
532
+ "data": Array<WiseProposal>;
533
+ };
534
+ export type WiseContactInput = {
535
+ "user_id": number;
536
+ "identifier": string;
537
+ "currency": string;
538
+ };
539
+ export type WiseContactEnvelope = {
540
+ "data": {
541
+ "user_id": number;
542
+ "contact": {
543
+ "id": string;
544
+ "name": string | null;
545
+ };
546
+ };
547
+ };
548
+ export type WiseLinkInput = {
549
+ "user_id": number;
550
+ "recipient_id": string;
551
+ };
552
+ export type WiseLinkEnvelope = {
553
+ "data": {
554
+ "user_id": number;
555
+ "recipient": WiseRecipient;
556
+ };
557
+ };
260
558
  export type QuickBooksConnectionEnvelope = {
261
559
  "data": QuickBooksConnection | null;
262
560
  };
263
561
  export type QuickBooksSettingsInput = {
264
562
  "allow_online_payment": boolean;
265
563
  };
564
+ export type InvoiceQuickBooksEnvelope = {
565
+ "data": {
566
+ "connected": boolean;
567
+ "invoice": {
568
+ "quickbooks_id": string;
569
+ "mirrored_at": string;
570
+ } | null;
571
+ "payments": Array<{
572
+ "payment_id": number;
573
+ "quickbooks_id": string;
574
+ "mirrored_at": string;
575
+ }>;
576
+ "last_outcome": {
577
+ "kind": "created" | "updated" | "adopted" | "linked" | "refused" | "failed";
578
+ "reason": string | null;
579
+ "at": string;
580
+ } | null;
581
+ };
582
+ };
266
583
  export type SenderEvidenceRefreshInput = {
267
584
  "expected_evidence_version": number;
268
585
  };
@@ -290,10 +607,16 @@ export type OutboxAggregate = {
290
607
  "id": number;
291
608
  "sequence": number;
292
609
  };
610
+ export type ActivityLogActor = {
611
+ "type": "user" | "contact" | "system";
612
+ "id": number | null;
613
+ "name": string | null;
614
+ };
293
615
  export type ActivityLog = {
294
616
  "event_id": string;
295
617
  "event_type": string;
296
618
  "aggregate": OutboxAggregate;
619
+ "actor": ActivityLogActor | null;
297
620
  "payload": {
298
621
  [key: string]: unknown;
299
622
  };
@@ -589,6 +912,10 @@ export type TeamRateInput = {
589
912
  "amount_cents": number;
590
913
  "start_date": string | null;
591
914
  };
915
+ export type TeamRateRemovalInput = {
916
+ "expected_version": number;
917
+ "kind": "billable" | "cost";
918
+ };
592
919
  export type TeamCommandReceipt = {
593
920
  "target_user_id": number;
594
921
  "version": number;
@@ -667,6 +994,7 @@ export type TimeEntry = {
667
994
  "updated_at": string;
668
995
  };
669
996
  export type TimeEntryInput = {
997
+ "user_id"?: number;
670
998
  "project_id": number;
671
999
  "task_id": number;
672
1000
  "spent_date"?: string;
@@ -729,6 +1057,30 @@ export type TimeEntryNoteSettingsEnvelope = {
729
1057
  "data": TimeEntryNoteSettings;
730
1058
  "links": Links;
731
1059
  };
1060
+ export type Profile = {
1061
+ "user_id": number;
1062
+ "first_name"?: string;
1063
+ "last_name"?: string;
1064
+ "email"?: string | null;
1065
+ "timezone": string;
1066
+ "invoice_copy_to_self"?: boolean;
1067
+ };
1068
+ export type ProfilePatch = {
1069
+ "timezone"?: string;
1070
+ "invoice_copy_to_self"?: boolean;
1071
+ };
1072
+ export type ProfileEnvelope = {
1073
+ "data": Profile;
1074
+ "links": Links;
1075
+ };
1076
+ export type AccountDeletionRequest = {
1077
+ "user_id": number;
1078
+ "requested_at": string;
1079
+ };
1080
+ export type AccountDeletionRequestEnvelope = {
1081
+ "data": AccountDeletionRequest;
1082
+ "links": Links;
1083
+ };
732
1084
  export type TimeEntryOption = {
733
1085
  "project_id": number;
734
1086
  "task_id": number;
@@ -1118,12 +1470,44 @@ export type EstimateConversionEnvelope = {
1118
1470
  "links": Links;
1119
1471
  };
1120
1472
  export type InvoiceGenerationInput = {
1473
+ "kind"?: "tracked";
1121
1474
  "client_id": number;
1122
- "from": string;
1475
+ "from"?: string | null;
1123
1476
  "to": string;
1124
1477
  "project_ids": Array<number>;
1125
1478
  "time_summary_type": "project" | "task" | "people" | "detailed" | null;
1126
1479
  "expense_summary_type": "project" | "category" | "people" | "detailed" | null;
1480
+ } | {
1481
+ "kind": "free_form";
1482
+ "client_id": number;
1483
+ } | {
1484
+ "kind": "banded";
1485
+ "client_id": number;
1486
+ "from"?: string | null;
1487
+ "to": string;
1488
+ "project_ids": Array<number>;
1489
+ "line_items": Array<{
1490
+ "kind": string;
1491
+ "description"?: string | null;
1492
+ "quantity": number;
1493
+ "unit_price_cents": number;
1494
+ "project_id"?: number | null;
1495
+ }>;
1496
+ "claim_mode": "all" | "ceiling";
1497
+ "claim_ceiling_seconds"?: number | null;
1498
+ "claim_ceiling_cents"?: number | null;
1499
+ "overage_summary_type"?: "project" | "task" | "people" | "detailed" | null;
1500
+ };
1501
+ export type InvoiceBandClaim = {
1502
+ "claimed_entry_count": number;
1503
+ "claimed_seconds": number;
1504
+ "billed_entry_count": number;
1505
+ "billed_seconds": number;
1506
+ };
1507
+ export type InvoiceGenerationEnvelope = {
1508
+ "data": Invoice;
1509
+ "band"?: InvoiceBandClaim;
1510
+ "links": Links;
1127
1511
  };
1128
1512
  export type InvoiceCommandSnapshot = {
1129
1513
  "id": number;
@@ -1215,6 +1599,7 @@ export type InvoiceMessage = {
1215
1599
  "sent_from": string | null;
1216
1600
  "sent_from_email": string | null;
1217
1601
  "recipients": Array<InvoiceRecipient>;
1602
+ "cc": Array<InvoiceRecipient>;
1218
1603
  "subject": string | null;
1219
1604
  "body": string | null;
1220
1605
  "attach_pdf": boolean;
@@ -1259,10 +1644,126 @@ export type InvoiceTransitionInput = {
1259
1644
  export type InvoiceEmailDeliveryInput = {
1260
1645
  "expected_version": number;
1261
1646
  "recipients": Array<InvoiceRecipient>;
1647
+ "cc"?: Array<InvoiceRecipient>;
1648
+ "subject"?: string;
1649
+ "message"?: string;
1650
+ "send_me_a_copy"?: boolean;
1262
1651
  "sender_identity_id"?: number;
1263
1652
  "template_version"?: number;
1264
1653
  "confirmed": true;
1265
1654
  };
1655
+ export type InvoiceEmailPreviewInput = {
1656
+ "expected_version"?: number;
1657
+ "recipients": Array<InvoiceRecipient>;
1658
+ "cc"?: Array<InvoiceRecipient>;
1659
+ "subject"?: string;
1660
+ "message"?: string;
1661
+ "send_me_a_copy"?: boolean;
1662
+ "sender_identity_id"?: number;
1663
+ "template_version"?: number;
1664
+ "attach_pdf"?: boolean;
1665
+ "attach_files"?: boolean;
1666
+ "append_pdfs"?: boolean;
1667
+ "attach_journal"?: "detailed" | "summary" | false;
1668
+ "journal_formats"?: JournalFormats;
1669
+ };
1670
+ export type InvoiceEmailPreviewAttachment = {
1671
+ "kind": "invoice" | "journal" | "file";
1672
+ "filename": string;
1673
+ "content_type": string;
1674
+ "byte_size": number;
1675
+ "appended": Array<string>;
1676
+ "not_appended": "encrypted" | "unreadable" | "empty" | "too_large" | null;
1677
+ };
1678
+ export type InvoiceEmailPreviewEnvelope = {
1679
+ "data": {
1680
+ "invoice_id": number;
1681
+ "from": InvoiceRecipient;
1682
+ "reply_to": string | null;
1683
+ "to": Array<InvoiceRecipient>;
1684
+ "cc": Array<InvoiceRecipient>;
1685
+ "send_me_a_copy": boolean;
1686
+ "subject": string;
1687
+ "text": string;
1688
+ "html": string | null;
1689
+ "attachments": Array<InvoiceEmailPreviewAttachment>;
1690
+ };
1691
+ "links": {
1692
+ "document": string;
1693
+ };
1694
+ };
1695
+ export type InvoiceEmailPreviewSentEnvelope = {
1696
+ "data": {
1697
+ "invoice_id": number;
1698
+ "delivery_id": number;
1699
+ "to": Array<InvoiceRecipient>;
1700
+ "subject": string;
1701
+ };
1702
+ };
1703
+ export type InvoiceEmailDefaultsEnvelope = {
1704
+ "data": {
1705
+ "invoice_id": number;
1706
+ "client_id": number;
1707
+ "company_name": string;
1708
+ "client_name": string;
1709
+ "template_version": number;
1710
+ "subject": string;
1711
+ "message": string;
1712
+ "to": Array<InvoiceRecipient>;
1713
+ "cc": Array<InvoiceRecipient>;
1714
+ "recipients_source": "client" | "contacts";
1715
+ "always_cc": Array<InvoiceRecipient>;
1716
+ "sender": {
1717
+ "name": string;
1718
+ "email": string | null;
1719
+ };
1720
+ "send_me_a_copy": boolean;
1721
+ "delivery": {
1722
+ "available": boolean;
1723
+ "code": string | null;
1724
+ "message": string | null;
1725
+ };
1726
+ };
1727
+ };
1728
+ export type InvoiceRecipientLists = {
1729
+ "to": Array<InvoiceRecipient>;
1730
+ "cc": Array<InvoiceRecipient>;
1731
+ };
1732
+ export type ClientInvoiceSendingEnvelope = {
1733
+ "data": {
1734
+ "client_id": number;
1735
+ "recipients": InvoiceRecipientLists | null;
1736
+ "contacts": InvoiceRecipientLists;
1737
+ "attach_pdf": boolean | null;
1738
+ "append_pdfs": boolean | null;
1739
+ "attach_files": boolean | null;
1740
+ "attach_journal": "detailed" | "summary" | boolean | null;
1741
+ "journal_formats": JournalFormats | null;
1742
+ "organization": {
1743
+ "attach_pdf": boolean;
1744
+ "append_pdfs": boolean;
1745
+ "attach_files": boolean;
1746
+ "attach_journal": "detailed" | "summary" | boolean;
1747
+ "journal_formats": JournalFormats;
1748
+ };
1749
+ };
1750
+ };
1751
+ export type ClientInvoiceSendingInput = {
1752
+ "recipients"?: InvoiceRecipientLists | null;
1753
+ "attach_pdf"?: boolean | null;
1754
+ "append_pdfs"?: boolean | null;
1755
+ "attach_files"?: boolean | null;
1756
+ "attach_journal"?: "detailed" | "summary" | false | null;
1757
+ "journal_formats"?: JournalFormats | null;
1758
+ };
1759
+ export type OrganizationInvoiceSendingEnvelope = {
1760
+ "data": {
1761
+ "always_cc": Array<InvoiceRecipient>;
1762
+ };
1763
+ };
1764
+ export type OrganizationInvoiceSendingInput = {
1765
+ "always_cc": Array<InvoiceRecipient>;
1766
+ };
1266
1767
  export type InvoicePayment = {
1267
1768
  "id": number;
1268
1769
  "invoice_id": number;
@@ -1514,6 +2015,13 @@ export type RecurringInvoice = {
1514
2015
  "next_issue_on": string;
1515
2016
  "amount_config": RecurringAmountConfig;
1516
2017
  "can_draw_from_retainer_id": number | null;
2018
+ "claims_project_ids": Array<number> | null;
2019
+ "claim_mode": "all" | "ceiling";
2020
+ "claim_ceiling_seconds": number | null;
2021
+ "claim_ceiling_cents": number | null;
2022
+ "claim_scope": "billable" | "tracked";
2023
+ "cost_alert_basis_points": number | null;
2024
+ "purchase_order": string | null;
1517
2025
  "created_at": string;
1518
2026
  "updated_at": string;
1519
2027
  };
@@ -1539,6 +2047,33 @@ export type RecurringInvoicePage = {
1539
2047
  "links": PageLinks;
1540
2048
  "page": PageMetadata;
1541
2049
  };
2050
+ export type BandClaimBackfillInput = {
2051
+ "invoice_ids": Array<number>;
2052
+ "project_ids"?: Array<number>;
2053
+ "apply"?: boolean;
2054
+ };
2055
+ export type BandClaimBackfillLine = {
2056
+ "invoice_id": number;
2057
+ "number": string;
2058
+ "issue_date": string;
2059
+ "state": string;
2060
+ "amount_cents": number;
2061
+ "entry_count": number;
2062
+ "seconds": number;
2063
+ "billable_value_cents": number;
2064
+ "entries_without_billable_rate": number;
2065
+ "foregone_billable_cents": number;
2066
+ };
2067
+ export type BandClaimBackfill = {
2068
+ "run_id": string;
2069
+ "applied": boolean;
2070
+ "invoices": Array<BandClaimBackfillLine>;
2071
+ "remaining_entry_count": number;
2072
+ "remaining_seconds": number;
2073
+ };
2074
+ export type BandClaimBackfillEnvelope = {
2075
+ "data": BandClaimBackfill;
2076
+ };
1542
2077
  export type RecurringInvoiceInput = {
1543
2078
  "client_id": number;
1544
2079
  "subject_template": string;
@@ -1548,6 +2083,13 @@ export type RecurringInvoiceInput = {
1548
2083
  "next_issue_on": string;
1549
2084
  "amount_config": RecurringAmountConfig;
1550
2085
  "can_draw_from_retainer_id"?: number | null;
2086
+ "claims_project_ids"?: Array<number> | null;
2087
+ "claim_mode"?: "all" | "ceiling";
2088
+ "claim_ceiling_seconds"?: number | null;
2089
+ "claim_ceiling_cents"?: number | null;
2090
+ "claim_scope"?: "billable" | "tracked";
2091
+ "cost_alert_basis_points"?: number | null;
2092
+ "purchase_order"?: string | null;
1551
2093
  };
1552
2094
  export type MyHoursProject = {
1553
2095
  "project_id": number;
@@ -1595,8 +2137,12 @@ export type DetailedTimeRow = {
1595
2137
  "time_entry_count": number;
1596
2138
  "billable_amount_cents"?: number | null;
1597
2139
  "entries_without_billable_rate": number;
2140
+ "claimed": boolean;
1598
2141
  "time_entry_id"?: number;
2142
+ "invoice_id"?: number | null;
2143
+ "invoice_number"?: string | null;
1599
2144
  "notes"?: string | null;
2145
+ "project_active"?: boolean;
1600
2146
  };
1601
2147
  export type DetailedTimeCurrencyTotal = {
1602
2148
  "currency": string;
@@ -1608,13 +2154,20 @@ export type DetailedTimeReport = {
1608
2154
  "to": string;
1609
2155
  "client_id": number | null;
1610
2156
  "project_id": number | null;
1611
- "hours": "all" | "billable" | "non_billable" | "uninvoiced";
2157
+ "task_id": number | null;
2158
+ "user_id": number | null;
2159
+ "role_id": number | null;
2160
+ "tag_id": number | null;
2161
+ "invoice_state": "all" | "invoiced" | "uninvoiced";
2162
+ "hours": "all" | "billable" | "non_billable" | "uninvoiced" | "claimed" | "unclaimed";
1612
2163
  "grain": "day" | "entry";
1613
2164
  "active_projects_only": boolean;
1614
2165
  "seconds": number;
1615
2166
  "rounded_seconds": number;
1616
2167
  "billable_seconds": number;
1617
2168
  "uninvoiced_billable_seconds": number;
2169
+ "claimed_seconds": number;
2170
+ "unclaimed_seconds": number;
1618
2171
  "time_entry_count": number;
1619
2172
  "currencies": Array<DetailedTimeCurrencyTotal>;
1620
2173
  "rows": Array<DetailedTimeRow>;
@@ -1623,6 +2176,27 @@ export type DetailedTimeReportEnvelope = {
1623
2176
  "data": DetailedTimeReport;
1624
2177
  "links": Links;
1625
2178
  };
2179
+ export type ReportTimeActionInput = {
2180
+ "command_id": string;
2181
+ "action": "mark_invoiced" | "mark_uninvoiced" | "move";
2182
+ "entry_ids": Array<number>;
2183
+ "confirmed": true;
2184
+ "invoice_id"?: number;
2185
+ "project_id"?: number;
2186
+ "task_id"?: number;
2187
+ };
2188
+ export type ReportTimeAction = {
2189
+ "command_id": string;
2190
+ "action": "mark_invoiced" | "mark_uninvoiced" | "move";
2191
+ "requested": number;
2192
+ "changed_entry_ids": Array<number>;
2193
+ "ineligible_entry_ids": Array<number>;
2194
+ "replayed": boolean;
2195
+ };
2196
+ export type ReportTimeActionEnvelope = {
2197
+ "data": ReportTimeAction;
2198
+ "links": Links;
2199
+ };
1626
2200
  export type TimeReportAmount = {
1627
2201
  "currency": string;
1628
2202
  "billable_cents": number;
@@ -1685,6 +2259,7 @@ export type TimeReportTeammateRow = {
1685
2259
  export type TimeReport = {
1686
2260
  "from": string;
1687
2261
  "to": string;
2262
+ "fixed_fee_included": boolean;
1688
2263
  "totals": TimeReportTotals;
1689
2264
  "clients": Array<TimeReportClientRow>;
1690
2265
  "projects": Array<TimeReportProjectRow>;
@@ -1732,7 +2307,11 @@ export type ContractorCostRow = {
1732
2307
  "is_contractor": boolean;
1733
2308
  "currency": string;
1734
2309
  "rounded_seconds": number;
2310
+ "utilization_ppm": number | null;
1735
2311
  "cost_cents": number | null;
2312
+ "cost_rate_cents": number | null;
2313
+ "cost_rate_is_mixed": boolean;
2314
+ "entry_count": number;
1736
2315
  "entries_without_rate": number;
1737
2316
  };
1738
2317
  export type ContractorCostReport = {
@@ -1744,73 +2323,364 @@ export type ContractorCostReportEnvelope = {
1744
2323
  "data": ContractorCostReport;
1745
2324
  "links": Links;
1746
2325
  };
1747
- export type DetailedExpenseRow = {
1748
- "expense_id": number;
1749
- "spent_date": string;
2326
+ export type InvoicedReportTotal = {
2327
+ "currency": string;
2328
+ "invoice_count": number;
2329
+ "invoiced_cents"?: number;
2330
+ "paid_cents"?: number;
2331
+ "balance_cents"?: number;
2332
+ };
2333
+ export type InvoicedReportRow = {
2334
+ "invoice_id": number;
2335
+ "number": string;
2336
+ "state": "draft" | "open" | "paid" | "closed";
2337
+ "close_reason": "cancelled" | "written_off" | "source_closed" | null;
2338
+ "issue_date": string;
2339
+ "due_date": string;
1750
2340
  "client_id": number;
1751
2341
  "client_name": string;
1752
- "project_id": number;
1753
- "project_name": string;
1754
- "project_code": string;
1755
- "category_id": number;
1756
- "category_name": string;
1757
- "user_id": number;
1758
- "user_name": string;
1759
- "notes": string | null;
1760
- "units": number | null;
1761
- "billable": boolean;
1762
- "reimbursable": boolean;
1763
- "invoice_id": number | null;
2342
+ "subject": string | null;
1764
2343
  "currency": string;
1765
- "total_cost_cents"?: number;
2344
+ "invoiced_cents"?: number;
2345
+ "paid_cents"?: number;
2346
+ "balance_cents"?: number;
1766
2347
  };
1767
- export type DetailedExpenseTotal = {
2348
+ export type InvoicedReport = {
2349
+ "from": string;
2350
+ "to": string;
2351
+ "client_id": number | null;
2352
+ "status": "draft" | "open" | "paid" | "closed" | null;
2353
+ "totals": Array<InvoicedReportTotal>;
2354
+ "rows": Array<InvoicedReportRow>;
2355
+ };
2356
+ export type InvoicedReportEnvelope = {
2357
+ "data": InvoicedReport;
2358
+ "links": Links;
2359
+ };
2360
+ export type PaymentsReceivedReportTotal = {
1768
2361
  "currency": string;
1769
- "expense_count": number;
1770
- "total_cost_cents"?: number;
2362
+ "payment_count": number;
2363
+ "payment_cents"?: number;
1771
2364
  };
1772
- export type DetailedExpenseReport = {
2365
+ export type PaymentReceivedReportRow = {
2366
+ "payment_id": number;
2367
+ "payment_date": string;
2368
+ "invoice_id": number;
2369
+ "invoice_number": string;
2370
+ "client_id": number;
2371
+ "client_name": string;
2372
+ "currency": string;
2373
+ "provider": string;
2374
+ "invoice_total_cents"?: number;
2375
+ "payment_cents"?: number;
2376
+ };
2377
+ export type PaymentsReceivedReport = {
1773
2378
  "from": string;
1774
2379
  "to": string;
1775
2380
  "client_id": number | null;
1776
- "project_id": number | null;
1777
- "billable_only": boolean;
1778
- "totals": Array<DetailedExpenseTotal>;
1779
- "rows": Array<DetailedExpenseRow>;
2381
+ "totals": Array<PaymentsReceivedReportTotal>;
2382
+ "rows": Array<PaymentReceivedReportRow>;
1780
2383
  };
1781
- export type DetailedExpenseReportEnvelope = {
1782
- "data": DetailedExpenseReport;
2384
+ export type PaymentsReceivedReportEnvelope = {
2385
+ "data": PaymentsReceivedReport;
1783
2386
  "links": Links;
1784
2387
  };
1785
- export type ProfitabilityRow = {
1786
- "project_id": number;
1787
- "project_name": string;
1788
- "project_code": string;
2388
+ export type ReceivablesReportTotal = {
2389
+ "currency": string;
2390
+ "invoice_count": number;
2391
+ "invoiced_cents"?: number;
2392
+ "outstanding_cents"?: number;
2393
+ "not_due_cents"?: number;
2394
+ "days_1_to_30_cents"?: number;
2395
+ "days_31_to_60_cents"?: number;
2396
+ "days_61_to_90_cents"?: number;
2397
+ "days_90_plus_cents"?: number;
2398
+ };
2399
+ export type ReceivablesReportRow = {
1789
2400
  "client_id": number;
1790
2401
  "client_name": string;
1791
2402
  "currency": string;
1792
- "rounded_seconds": number;
1793
- "revenue_cents": number | null;
1794
- "cost_cents": number | null;
1795
- "profit_cents": number | null;
1796
- "entries_without_billable_rate": number;
1797
- "entries_without_cost_rate": number;
2403
+ "invoice_count": number;
2404
+ "invoiced_cents"?: number;
2405
+ "outstanding_cents"?: number;
2406
+ "not_due_cents"?: number;
2407
+ "days_1_to_30_cents"?: number;
2408
+ "days_31_to_60_cents"?: number;
2409
+ "days_61_to_90_cents"?: number;
2410
+ "days_90_plus_cents"?: number;
2411
+ };
2412
+ export type ReceivablesReport = {
2413
+ "as_of": string;
2414
+ "client_id": number | null;
2415
+ "totals": Array<ReceivablesReportTotal>;
2416
+ "rows": Array<ReceivablesReportRow>;
2417
+ };
2418
+ export type ReceivablesReportEnvelope = {
2419
+ "data": ReceivablesReport;
2420
+ "links": Links;
2421
+ };
2422
+ export type ReportDefinitionPresentation = {
2423
+ "result": "summary" | "detailed";
2424
+ "grouped": boolean;
2425
+ "include_zero_values": boolean;
2426
+ };
2427
+ export type SavedReportInput = {
2428
+ "name": string;
2429
+ "fields": Array<{
2430
+ [key: string]: unknown;
2431
+ }>;
2432
+ "metrics": Array<string>;
2433
+ "filters": Array<{
2434
+ [key: string]: unknown;
2435
+ }>;
2436
+ "group_by": {
2437
+ [key: string]: unknown;
2438
+ } | null;
2439
+ "presentation": ReportDefinitionPresentation;
2440
+ };
2441
+ export type SavedReportUpdate = {
2442
+ "version": number;
2443
+ "name"?: string;
2444
+ "fields"?: Array<{
2445
+ [key: string]: unknown;
2446
+ }>;
2447
+ "metrics"?: Array<string>;
2448
+ "filters"?: Array<{
2449
+ [key: string]: unknown;
2450
+ }>;
2451
+ "group_by"?: {
2452
+ [key: string]: unknown;
2453
+ } | null;
2454
+ "presentation"?: ReportDefinitionPresentation;
2455
+ };
2456
+ export type SavedReport = {
2457
+ "id": string;
2458
+ "name": string;
2459
+ "version": number;
2460
+ "fields": Array<{
2461
+ [key: string]: unknown;
2462
+ }>;
2463
+ "metrics": Array<string>;
2464
+ "filters": Array<{
2465
+ [key: string]: unknown;
2466
+ }>;
2467
+ "group_by": {
2468
+ [key: string]: unknown;
2469
+ } | null;
2470
+ "presentation": ReportDefinitionPresentation;
2471
+ "owner": {
2472
+ [key: string]: unknown;
2473
+ };
2474
+ "is_custom": boolean;
2475
+ "pinned": boolean;
2476
+ "shared": boolean;
2477
+ "created_at": string;
2478
+ "updated_at": string;
2479
+ };
2480
+ export type SavedReportEnvelope = {
2481
+ "data": SavedReport;
2482
+ "links": Links;
2483
+ };
2484
+ export type SavedReportListEnvelope = {
2485
+ "data": Array<SavedReport>;
2486
+ };
2487
+ export type ReportRunnerResult = {
2488
+ "definitionId": string;
2489
+ "definitionVersion": number;
2490
+ "state": "ready" | "empty" | "too_many_rows";
2491
+ "rows": Array<{
2492
+ [key: string]: unknown;
2493
+ }>;
2494
+ };
2495
+ export type ReportRunnerEnvelope = {
2496
+ "data": ReportRunnerResult;
2497
+ "links": Links;
2498
+ };
2499
+ export type ReportDefinitionRegistry = {
2500
+ "fields": Array<{
2501
+ [key: string]: unknown;
2502
+ }>;
2503
+ "metrics": Array<{
2504
+ [key: string]: unknown;
2505
+ }>;
2506
+ };
2507
+ export type ReportDefinitionRegistryEnvelope = {
2508
+ "data": ReportDefinitionRegistry;
2509
+ "links": Links;
2510
+ };
2511
+ export type DetailedExpenseRow = {
2512
+ "expense_id": number;
2513
+ "spent_date": string;
2514
+ "client_id": number;
2515
+ "client_name": string;
2516
+ "project_id": number;
2517
+ "project_name": string;
2518
+ "project_code": string;
2519
+ "category_id": number;
2520
+ "category_name": string;
2521
+ "user_id": number;
2522
+ "user_name": string;
2523
+ "notes": string | null;
2524
+ "units": number | null;
2525
+ "billable": boolean;
2526
+ "reimbursable": boolean;
2527
+ "invoice_id": number | null;
2528
+ "currency": string;
2529
+ "total_cost_cents"?: number;
2530
+ };
2531
+ export type DetailedExpenseTotal = {
2532
+ "currency": string;
2533
+ "expense_count": number;
2534
+ "total_cost_cents"?: number;
2535
+ };
2536
+ export type DetailedExpenseReport = {
2537
+ "from": string;
2538
+ "to": string;
2539
+ "client_id": number | null;
2540
+ "project_id": number | null;
2541
+ "category_id": number | null;
2542
+ "user_id": number | null;
2543
+ "billable": boolean | null;
2544
+ "reimbursable": boolean | null;
2545
+ "invoice_state": "all" | "invoiced" | "uninvoiced";
2546
+ "active_projects_only": boolean;
2547
+ "totals": Array<DetailedExpenseTotal>;
2548
+ "rows": Array<DetailedExpenseRow>;
2549
+ };
2550
+ export type DetailedExpenseReportEnvelope = {
2551
+ "data": DetailedExpenseReport;
2552
+ "links": Links;
2553
+ };
2554
+ export type MonthEndItem = {
2555
+ "subject_type": string;
2556
+ "subject_id": number;
2557
+ "description": string;
2558
+ "amount_cents": number | null;
2559
+ "currency": string | null;
2560
+ "target": string | null;
2561
+ "brand_name": string | null;
2562
+ "cost_cents": number | null;
2563
+ "margin_cents": number | null;
2564
+ };
2565
+ export type MonthEndExclusion = {
2566
+ "invoice_id": number;
2567
+ "number": string;
2568
+ "reason": string;
2569
+ };
2570
+ export type MonthEndManifest = {
2571
+ "period_start": string;
2572
+ "period_end": string;
2573
+ "items": Array<MonthEndItem>;
2574
+ "excluded": Array<MonthEndExclusion>;
2575
+ };
2576
+ export type MonthEndManifestEnvelope = {
2577
+ "data": MonthEndManifest;
2578
+ "links": Links;
2579
+ };
2580
+ export type BandedMonthRow = {
2581
+ "period_start": string;
2582
+ "period_end": string;
2583
+ "project_id": number;
2584
+ "project_name": string;
2585
+ "client_id": number;
2586
+ "client_name": string;
2587
+ "currency": string;
2588
+ "rounded_seconds": number;
2589
+ "billable_value_cents": number | null;
2590
+ "cost_value_cents": number | null;
2591
+ "entries_without_billable_rate": number;
2592
+ "entries_without_cost_rate": number;
2593
+ "claimed_in_other_currency": number;
2594
+ "billed_cents": number | null;
2595
+ "foregone_cents": number | null;
2596
+ "cost_ratio_basis_points": number | null;
2597
+ "cost_alert_basis_points": number;
2598
+ "cost_ratio_state": "within" | "over" | "unpriced" | "unbilled";
2599
+ };
2600
+ export type BandedMonthReport = {
2601
+ "from": string;
2602
+ "to": string;
2603
+ "rows": Array<BandedMonthRow>;
2604
+ };
2605
+ export type BandedMonthReportEnvelope = {
2606
+ "data": BandedMonthReport;
2607
+ "links": Links;
2608
+ };
2609
+ export type BandCostAlert = {
2610
+ "basis_points": number;
2611
+ };
2612
+ export type BandCostAlertEnvelope = {
2613
+ "data": BandCostAlert;
2614
+ };
2615
+ export type BandCostAlertInput = {
2616
+ "basis_points": number;
2617
+ };
2618
+ export type ProfitabilityRow = {
2619
+ "project_id": number;
2620
+ "project_name": string;
2621
+ "project_code": string;
2622
+ "client_id": number;
2623
+ "client_name": string;
2624
+ "currency": string;
2625
+ "rounded_seconds": number;
2626
+ "revenue_cents": number | null;
2627
+ "cost_cents": number | null;
2628
+ "profit_cents": number | null;
2629
+ "return_on_cost_ppm": number | null;
2630
+ "revenue_fee_cents": number;
2631
+ "fees_included_in_delivery_cost_cents": number;
2632
+ "entries_without_billable_rate": number;
2633
+ "entries_without_cost_rate": number;
1798
2634
  };
1799
2635
  export type ProfitabilityTotals = {
1800
2636
  "rounded_seconds": number;
1801
2637
  "revenue_cents": number | null;
1802
2638
  "cost_cents": number | null;
1803
2639
  "profit_cents": number | null;
2640
+ "return_on_cost_ppm": number | null;
2641
+ "revenue_fee_cents": number;
2642
+ "fees_included_in_delivery_cost_cents": number;
1804
2643
  "entries_without_billable_rate": number;
1805
2644
  "entries_without_cost_rate": number;
1806
2645
  "projects_not_converted": number;
1807
2646
  };
2647
+ export type ProfitabilityDimensionRow = {
2648
+ "dimension_id": number;
2649
+ "dimension_name": string;
2650
+ "currency": string;
2651
+ "rounded_seconds": number;
2652
+ "revenue_cents": number | null;
2653
+ "cost_cents": number | null;
2654
+ "profit_cents": number | null;
2655
+ "return_on_cost_ppm": number | null;
2656
+ "revenue_fee_cents": number;
2657
+ "fees_included_in_delivery_cost_cents": number;
2658
+ "entries_without_billable_rate": number;
2659
+ "entries_without_cost_rate": number;
2660
+ "included_in_headline": boolean;
2661
+ };
2662
+ export type ProfitabilityTrendRow = (ProfitabilityDimensionRow) & ({
2663
+ "period_start": string;
2664
+ "period_end": string;
2665
+ "current": boolean;
2666
+ });
2667
+ export type ProfitabilityFilters = {
2668
+ "project_status": "all" | "active" | "archived";
2669
+ "billing_method": "non_billable" | "time_materials" | "fixed_fee" | null;
2670
+ "manager_id": number | null;
2671
+ "tag_id": number | null;
2672
+ };
1808
2673
  export type ProfitabilityReport = {
1809
2674
  "from": string;
1810
2675
  "to": string;
1811
2676
  "organization_currency": string;
1812
2677
  "rows": Array<ProfitabilityRow>;
2678
+ "clients": Array<ProfitabilityDimensionRow>;
2679
+ "teammates": Array<ProfitabilityDimensionRow>;
2680
+ "tasks": Array<ProfitabilityDimensionRow>;
2681
+ "trend": Array<ProfitabilityTrendRow>;
1813
2682
  "totals": ProfitabilityTotals;
2683
+ "filters": ProfitabilityFilters;
1814
2684
  "previous_from": string;
1815
2685
  "previous_to": string;
1816
2686
  "previous_totals": ProfitabilityTotals;
@@ -1917,6 +2787,15 @@ export type ModuleListEnvelope = {
1917
2787
  "data": Array<ModuleState>;
1918
2788
  "links": Links;
1919
2789
  };
2790
+ export type SignInMethodState = {
2791
+ "method": "password" | "magic_link" | "google" | "github" | "apple";
2792
+ "configured": boolean;
2793
+ "enabled": boolean;
2794
+ };
2795
+ export type SignInMethodListEnvelope = {
2796
+ "data": Array<SignInMethodState>;
2797
+ "links": Links;
2798
+ };
1920
2799
  export type SsoDomain = {
1921
2800
  "id": number;
1922
2801
  "domain": string;
@@ -2010,6 +2889,132 @@ export type InvoicePaymentLinkEnvelope = {
2010
2889
  "url": string;
2011
2890
  };
2012
2891
  };
2892
+ export type IncompleteRecurringInvoiceListEnvelope = {
2893
+ "data": Array<{
2894
+ "id": number;
2895
+ "harvest_id": number;
2896
+ "client_id": number;
2897
+ "client_name": string;
2898
+ "invoice_count": number;
2899
+ "created_at": string;
2900
+ "updated_at": string;
2901
+ }>;
2902
+ };
2903
+ export type RecurringInvoiceCompletionEnvelope = {
2904
+ "data": {
2905
+ "id": number;
2906
+ "completed": boolean;
2907
+ };
2908
+ };
2909
+ export type InvoiceThankYouPreferenceEnvelope = {
2910
+ "data": {
2911
+ "invoice_id": number;
2912
+ "auto_thank_you": boolean;
2913
+ "organization_auto_thank_you": boolean;
2914
+ "effective": boolean;
2915
+ };
2916
+ };
2917
+ export type OrganizationInvoiceThankYouEnvelope = {
2918
+ "data": {
2919
+ "auto_thank_you": boolean;
2920
+ };
2921
+ };
2922
+ export type ReminderPolicy = {
2923
+ "first_after_days": number;
2924
+ "every_days": number;
2925
+ };
2926
+ export type InvoiceReminderPreferenceInput = {
2927
+ "reminders": boolean | null;
2928
+ };
2929
+ export type InvoiceReminderPreferenceEnvelope = {
2930
+ "data": {
2931
+ "invoice_id": number;
2932
+ "reminders": boolean | null;
2933
+ "organization_reminder_policy": ReminderPolicy | null;
2934
+ "effective": boolean;
2935
+ "next_reminder_at": string | null;
2936
+ };
2937
+ };
2938
+ export type OrganizationInvoiceRemindersInput = {
2939
+ "reminder_policy": ReminderPolicy | null;
2940
+ };
2941
+ export type OrganizationInvoiceRemindersEnvelope = {
2942
+ "data": {
2943
+ "reminder_policy": ReminderPolicy | null;
2944
+ "applied_to_open_invoices"?: number;
2945
+ };
2946
+ };
2947
+ export type JournalFormats = Array<"pdf" | "csv" | "xlsx">;
2948
+ export type InvoiceDocumentPreferenceInput = {
2949
+ "attach_pdf"?: boolean | null;
2950
+ "attach_files"?: boolean | null;
2951
+ "append_pdfs"?: boolean | null;
2952
+ "attach_journal"?: "detailed" | "summary" | false | null;
2953
+ "journal_formats"?: JournalFormats | null;
2954
+ };
2955
+ export type OrganizationInvoiceDocumentsInput = {
2956
+ "attach_pdf"?: boolean;
2957
+ "attach_files"?: boolean;
2958
+ "append_pdfs"?: boolean;
2959
+ "attach_journal"?: "detailed" | "summary" | false;
2960
+ "journal_formats"?: JournalFormats;
2961
+ };
2962
+ export type InvoiceDefaults = {
2963
+ "company_name": string;
2964
+ "company_address": string | null;
2965
+ "notes": string | null;
2966
+ "subject": string | null;
2967
+ };
2968
+ export type InvoiceDefaultsEnvelope = {
2969
+ "data": InvoiceDefaults;
2970
+ "links": Links;
2971
+ };
2972
+ export type InvoiceDefaultsInput = {
2973
+ "company_name"?: string;
2974
+ "company_address"?: string | null;
2975
+ "notes"?: string | null;
2976
+ "subject"?: string | null;
2977
+ };
2978
+ export type InvoiceDocumentPreferenceEnvelope = {
2979
+ "data": {
2980
+ "invoice_id": number;
2981
+ "attach_pdf": boolean;
2982
+ "client_attach_pdf": boolean | null;
2983
+ "organization_attach_pdf": boolean;
2984
+ "effective": boolean;
2985
+ "attach_files": boolean;
2986
+ "client_attach_files": boolean | null;
2987
+ "organization_attach_files": boolean;
2988
+ "effective_files": boolean;
2989
+ "append_pdfs": boolean | null;
2990
+ "client_append_pdfs": boolean | null;
2991
+ "organization_append_pdfs": boolean;
2992
+ "effective_append_pdfs": boolean;
2993
+ "attach_journal": "detailed" | "summary" | boolean;
2994
+ "client_attach_journal": "detailed" | "summary" | boolean | null;
2995
+ "organization_attach_journal": "detailed" | "summary" | boolean;
2996
+ "effective_journal": "detailed" | "summary" | boolean;
2997
+ "journal_formats": JournalFormats | null;
2998
+ "client_journal_formats": JournalFormats | null;
2999
+ "organization_journal_formats": JournalFormats;
3000
+ "effective_journal_formats": JournalFormats;
3001
+ };
3002
+ };
3003
+ export type OrganizationInvoiceDocumentsEnvelope = {
3004
+ "data": {
3005
+ "attach_pdf": boolean;
3006
+ "attach_files": boolean;
3007
+ "append_pdfs": boolean;
3008
+ "attach_journal": "detailed" | "summary" | boolean;
3009
+ "journal_formats": JournalFormats;
3010
+ };
3011
+ };
3012
+ export type ReleasedTimeEnvelope = {
3013
+ "data": {
3014
+ "invoice_id": number;
3015
+ "released": number;
3016
+ };
3017
+ };
2013
3018
  export type PayoutAccount = {
2014
3019
  "id": number;
2015
3020
  "user_id": number;
@@ -2056,6 +3061,25 @@ export type TwoFactorEnrolmentEnvelope = {
2056
3061
  export type TwoFactorCodeInput = {
2057
3062
  "code": string;
2058
3063
  };
3064
+ export type TwoFactorChallengeIssued = {
3065
+ "status": "two_factor_required";
3066
+ "challenge": string;
3067
+ "expires_at": string;
3068
+ };
3069
+ export type TwoFactorChallengeInput = {
3070
+ "code": string;
3071
+ "challenge"?: string;
3072
+ };
3073
+ export type TwoFactorChallengeAccepted = {
3074
+ "status": "authenticated";
3075
+ };
3076
+ export type TwoFactorChallengeAcceptedEnvelope = {
3077
+ "data": TwoFactorChallengeAccepted;
3078
+ };
3079
+ export type SignInResult = AuthPrincipal | TwoFactorChallengeIssued;
3080
+ export type SignInResultEnvelope = {
3081
+ "data": SignInResult;
3082
+ };
2059
3083
  export type UserEmailInput = {
2060
3084
  "email": string;
2061
3085
  };
@@ -2101,7 +3125,12 @@ export declare class EzactoClient {
2101
3125
  body: PasswordSignInInput;
2102
3126
  signal?: AbortSignal;
2103
3127
  headers?: HeadersInit;
2104
- }): Promise<AuthPrincipalEnvelope>;
3128
+ }): Promise<SignInResultEnvelope>;
3129
+ completeTwoFactorChallenge(args: {
3130
+ body: TwoFactorChallengeInput;
3131
+ signal?: AbortSignal;
3132
+ headers?: HeadersInit;
3133
+ }): Promise<TwoFactorChallengeAcceptedEnvelope>;
2105
3134
  requestPasswordReset(args: {
2106
3135
  body: EmailInput;
2107
3136
  signal?: AbortSignal;
@@ -2245,6 +3274,19 @@ export declare class EzactoClient {
2245
3274
  signal?: AbortSignal;
2246
3275
  headers?: HeadersInit;
2247
3276
  }): Promise<ApiTokenEnvelope>;
3277
+ getProfile(args?: {
3278
+ signal?: AbortSignal;
3279
+ headers?: HeadersInit;
3280
+ }): Promise<ProfileEnvelope>;
3281
+ updateProfile(args: {
3282
+ body: ProfilePatch;
3283
+ signal?: AbortSignal;
3284
+ headers?: HeadersInit;
3285
+ }): Promise<ProfileEnvelope>;
3286
+ requestAccountDeletion(args?: {
3287
+ signal?: AbortSignal;
3288
+ headers?: HeadersInit;
3289
+ }): Promise<AccountDeletionRequestEnvelope>;
2248
3290
  listClients(args?: {
2249
3291
  query?: {
2250
3292
  "cursor"?: string;
@@ -2592,6 +3634,9 @@ export declare class EzactoClient {
2592
3634
  headers?: HeadersInit;
2593
3635
  }): Promise<TimeEntryNoteSettingsEnvelope>;
2594
3636
  listTimeEntryOptions(args?: {
3637
+ query?: {
3638
+ "user_id"?: number;
3639
+ };
2595
3640
  signal?: AbortSignal;
2596
3641
  headers?: HeadersInit;
2597
3642
  }): Promise<TimeEntryOptionListEnvelope>;
@@ -2807,6 +3852,8 @@ export declare class EzactoClient {
2807
3852
  "cursor"?: string;
2808
3853
  "per_page"?: number;
2809
3854
  "state"?: string;
3855
+ "client_id"?: string;
3856
+ "number"?: string;
2810
3857
  };
2811
3858
  signal?: AbortSignal;
2812
3859
  headers?: HeadersInit;
@@ -2853,7 +3900,7 @@ export declare class EzactoClient {
2853
3900
  body: InvoiceGenerationInput;
2854
3901
  signal?: AbortSignal;
2855
3902
  headers?: HeadersInit;
2856
- }): Promise<InvoiceEnvelope>;
3903
+ }): Promise<InvoiceGenerationEnvelope>;
2857
3904
  updateInvoice(args: {
2858
3905
  "id": number;
2859
3906
  "Idempotency-Key": string;
@@ -2910,6 +3957,26 @@ export declare class EzactoClient {
2910
3957
  signal?: AbortSignal;
2911
3958
  headers?: HeadersInit;
2912
3959
  }): Promise<InvoiceCommandEnvelope>;
3960
+ previewInvoiceEmail(args: {
3961
+ "id": number;
3962
+ body: InvoiceEmailPreviewInput;
3963
+ signal?: AbortSignal;
3964
+ headers?: HeadersInit;
3965
+ }): Promise<InvoiceEmailPreviewEnvelope>;
3966
+ downloadInvoiceEmailPreviewDocument(args: {
3967
+ "id": number;
3968
+ query?: {
3969
+ "append_pdfs"?: "true" | "false";
3970
+ };
3971
+ signal?: AbortSignal;
3972
+ headers?: HeadersInit;
3973
+ }): Promise<ArrayBuffer>;
3974
+ sendInvoiceEmailPreview(args: {
3975
+ "id": number;
3976
+ body: InvoiceEmailPreviewInput;
3977
+ signal?: AbortSignal;
3978
+ headers?: HeadersInit;
3979
+ }): Promise<InvoiceEmailPreviewSentEnvelope>;
2913
3980
  listInvoicePayments(args: {
2914
3981
  "id": number;
2915
3982
  signal?: AbortSignal;
@@ -2942,6 +4009,7 @@ export declare class EzactoClient {
2942
4009
  query?: {
2943
4010
  "cursor"?: string;
2944
4011
  "per_page"?: number;
4012
+ "client_id"?: string;
2945
4013
  };
2946
4014
  signal?: AbortSignal;
2947
4015
  headers?: HeadersInit;
@@ -3012,6 +4080,13 @@ export declare class EzactoClient {
3012
4080
  signal?: AbortSignal;
3013
4081
  headers?: HeadersInit;
3014
4082
  }): Promise<void>;
4083
+ backfillRecurringInvoiceClaims(args: {
4084
+ "id": number;
4085
+ "Idempotency-Key": string;
4086
+ body: BandClaimBackfillInput;
4087
+ signal?: AbortSignal;
4088
+ headers?: HeadersInit;
4089
+ }): Promise<BandClaimBackfillEnvelope>;
3015
4090
  generateRecurringInvoice(args: {
3016
4091
  "id": number;
3017
4092
  "Idempotency-Key": string;
@@ -3138,6 +4213,149 @@ export declare class EzactoClient {
3138
4213
  signal?: AbortSignal;
3139
4214
  headers?: HeadersInit;
3140
4215
  }): Promise<ArrayBuffer>;
4216
+ setRecurringInvoiceAttachmentThrough(args: {
4217
+ "recurringInvoiceId": number;
4218
+ "attachmentId": number;
4219
+ body: RecurringAttachmentThroughInput;
4220
+ signal?: AbortSignal;
4221
+ headers?: HeadersInit;
4222
+ }): Promise<AttachmentEnvelope>;
4223
+ removeRecurringInvoiceAttachment(args: {
4224
+ "recurringInvoiceId": number;
4225
+ "attachmentId": number;
4226
+ signal?: AbortSignal;
4227
+ headers?: HeadersInit;
4228
+ }): Promise<void>;
4229
+ getPaymentActuals(args?: {
4230
+ query?: {
4231
+ "month"?: string;
4232
+ };
4233
+ signal?: AbortSignal;
4234
+ headers?: HeadersInit;
4235
+ }): Promise<PaymentActualsEnvelope>;
4236
+ confirmPaymentActuals(args: {
4237
+ body: ConfirmPaymentActuals;
4238
+ signal?: AbortSignal;
4239
+ headers?: HeadersInit;
4240
+ }): Promise<void>;
4241
+ configureStaffPaymentProvider(args: {
4242
+ body: StaffPaymentProviderCommand;
4243
+ signal?: AbortSignal;
4244
+ headers?: HeadersInit;
4245
+ }): Promise<void>;
4246
+ getStaffPaymentReport(args?: {
4247
+ query?: {
4248
+ "month"?: string;
4249
+ };
4250
+ signal?: AbortSignal;
4251
+ headers?: HeadersInit;
4252
+ }): Promise<StaffPaymentReportEnvelope>;
4253
+ recordStaffPaymentEvent(args: {
4254
+ body: StaffPaymentCommand;
4255
+ signal?: AbortSignal;
4256
+ headers?: HeadersInit;
4257
+ }): Promise<void>;
4258
+ getPaymentRunReport(args?: {
4259
+ query?: {
4260
+ "from"?: string;
4261
+ "to"?: string;
4262
+ };
4263
+ signal?: AbortSignal;
4264
+ headers?: HeadersInit;
4265
+ }): Promise<PaymentRunReportEnvelope>;
4266
+ previewPaymentRun(args: {
4267
+ body: PaymentRunCommand;
4268
+ signal?: AbortSignal;
4269
+ headers?: HeadersInit;
4270
+ }): Promise<PaymentRunEnvelope>;
4271
+ approvePaymentRun(args: {
4272
+ "id": string;
4273
+ body: PaymentRunApproval;
4274
+ signal?: AbortSignal;
4275
+ headers?: HeadersInit;
4276
+ }): Promise<PaymentRunEnvelope>;
4277
+ cancelPaymentRun(args: {
4278
+ "id": string;
4279
+ signal?: AbortSignal;
4280
+ headers?: HeadersInit;
4281
+ }): Promise<PaymentRunEnvelope>;
4282
+ reconcilePaymentRunItem(args: {
4283
+ "id": string;
4284
+ "itemId": string;
4285
+ signal?: AbortSignal;
4286
+ headers?: HeadersInit;
4287
+ }): Promise<PaymentRunEnvelope>;
4288
+ getReportDefinitionRegistry(args?: {
4289
+ signal?: AbortSignal;
4290
+ headers?: HeadersInit;
4291
+ }): Promise<ReportDefinitionRegistryEnvelope>;
4292
+ listSavedReports(args?: {
4293
+ query?: {
4294
+ "view"?: "all" | "yours" | "shared";
4295
+ "q"?: string;
4296
+ "custom_only"?: boolean;
4297
+ };
4298
+ signal?: AbortSignal;
4299
+ headers?: HeadersInit;
4300
+ }): Promise<SavedReportListEnvelope>;
4301
+ createSavedReport(args: {
4302
+ body: SavedReportInput;
4303
+ signal?: AbortSignal;
4304
+ headers?: HeadersInit;
4305
+ }): Promise<SavedReportEnvelope>;
4306
+ previewReportDefinition(args: {
4307
+ body: SavedReportInput;
4308
+ signal?: AbortSignal;
4309
+ headers?: HeadersInit;
4310
+ }): Promise<ReportRunnerEnvelope>;
4311
+ getSavedReport(args: {
4312
+ "reportId": string;
4313
+ signal?: AbortSignal;
4314
+ headers?: HeadersInit;
4315
+ }): Promise<SavedReportEnvelope>;
4316
+ updateSavedReport(args: {
4317
+ "reportId": string;
4318
+ body: SavedReportUpdate;
4319
+ signal?: AbortSignal;
4320
+ headers?: HeadersInit;
4321
+ }): Promise<SavedReportEnvelope>;
4322
+ deleteSavedReport(args: {
4323
+ "reportId": string;
4324
+ signal?: AbortSignal;
4325
+ headers?: HeadersInit;
4326
+ }): Promise<void>;
4327
+ duplicateSavedReport(args: {
4328
+ "reportId": string;
4329
+ signal?: AbortSignal;
4330
+ headers?: HeadersInit;
4331
+ }): Promise<SavedReportEnvelope>;
4332
+ pinSavedReport(args: {
4333
+ "reportId": string;
4334
+ signal?: AbortSignal;
4335
+ headers?: HeadersInit;
4336
+ }): Promise<void>;
4337
+ unpinSavedReport(args: {
4338
+ "reportId": string;
4339
+ signal?: AbortSignal;
4340
+ headers?: HeadersInit;
4341
+ }): Promise<void>;
4342
+ shareSavedReport(args: {
4343
+ "reportId": string;
4344
+ "userId": number;
4345
+ signal?: AbortSignal;
4346
+ headers?: HeadersInit;
4347
+ }): Promise<void>;
4348
+ unshareSavedReport(args: {
4349
+ "reportId": string;
4350
+ "userId": number;
4351
+ signal?: AbortSignal;
4352
+ headers?: HeadersInit;
4353
+ }): Promise<void>;
4354
+ runSavedReport(args: {
4355
+ "reportId": string;
4356
+ signal?: AbortSignal;
4357
+ headers?: HeadersInit;
4358
+ }): Promise<ReportRunnerEnvelope>;
3141
4359
  getMyHoursReport(args: {
3142
4360
  query: {
3143
4361
  "from": string;
@@ -3151,10 +4369,38 @@ export declare class EzactoClient {
3151
4369
  query: {
3152
4370
  "from": string;
3153
4371
  "to": string;
4372
+ "include_fixed_fee"?: boolean;
3154
4373
  };
3155
4374
  signal?: AbortSignal;
3156
4375
  headers?: HeadersInit;
3157
4376
  }): Promise<TimeReportEnvelope>;
4377
+ getInvoicedReport(args: {
4378
+ query: {
4379
+ "from": string;
4380
+ "to": string;
4381
+ "client_id"?: number;
4382
+ "status"?: "draft" | "open" | "paid" | "closed";
4383
+ };
4384
+ signal?: AbortSignal;
4385
+ headers?: HeadersInit;
4386
+ }): Promise<InvoicedReportEnvelope>;
4387
+ getPaymentsReceivedReport(args: {
4388
+ query: {
4389
+ "from": string;
4390
+ "to": string;
4391
+ "client_id"?: number;
4392
+ };
4393
+ signal?: AbortSignal;
4394
+ headers?: HeadersInit;
4395
+ }): Promise<PaymentsReceivedReportEnvelope>;
4396
+ getReceivablesReport(args: {
4397
+ query: {
4398
+ "as_of": string;
4399
+ "client_id"?: number;
4400
+ };
4401
+ signal?: AbortSignal;
4402
+ headers?: HeadersInit;
4403
+ }): Promise<ReceivablesReportEnvelope>;
3158
4404
  getContractorCostReport(args: {
3159
4405
  query: {
3160
4406
  "from": string;
@@ -3163,10 +4409,39 @@ export declare class EzactoClient {
3163
4409
  signal?: AbortSignal;
3164
4410
  headers?: HeadersInit;
3165
4411
  }): Promise<ContractorCostReportEnvelope>;
4412
+ getMonthEndManifest(args: {
4413
+ query: {
4414
+ "from": string;
4415
+ "to": string;
4416
+ };
4417
+ signal?: AbortSignal;
4418
+ headers?: HeadersInit;
4419
+ }): Promise<MonthEndManifestEnvelope>;
4420
+ getBandedMonthReport(args: {
4421
+ query: {
4422
+ "from": string;
4423
+ "to": string;
4424
+ };
4425
+ signal?: AbortSignal;
4426
+ headers?: HeadersInit;
4427
+ }): Promise<BandedMonthReportEnvelope>;
4428
+ getBandCostAlert(args?: {
4429
+ signal?: AbortSignal;
4430
+ headers?: HeadersInit;
4431
+ }): Promise<BandCostAlertEnvelope>;
4432
+ setBandCostAlert(args: {
4433
+ body: BandCostAlertInput;
4434
+ signal?: AbortSignal;
4435
+ headers?: HeadersInit;
4436
+ }): Promise<BandCostAlertEnvelope>;
3166
4437
  getProfitabilityReport(args: {
3167
4438
  query: {
3168
4439
  "from": string;
3169
4440
  "to": string;
4441
+ "project_status"?: "all" | "active" | "archived";
4442
+ "billing_method"?: "non_billable" | "time_materials" | "fixed_fee";
4443
+ "manager_id"?: number;
4444
+ "tag_id"?: number;
3170
4445
  };
3171
4446
  signal?: AbortSignal;
3172
4447
  headers?: HeadersInit;
@@ -3177,7 +4452,12 @@ export declare class EzactoClient {
3177
4452
  "to": string;
3178
4453
  "client_id"?: number;
3179
4454
  "project_id"?: number;
3180
- "billable_only"?: boolean;
4455
+ "category_id"?: number;
4456
+ "user_id"?: number;
4457
+ "billable"?: boolean;
4458
+ "reimbursable"?: boolean;
4459
+ "invoice_state"?: "all" | "invoiced" | "uninvoiced";
4460
+ "active_projects_only"?: boolean;
3181
4461
  };
3182
4462
  signal?: AbortSignal;
3183
4463
  headers?: HeadersInit;
@@ -3194,17 +4474,64 @@ export declare class EzactoClient {
3194
4474
  }): Promise<UninvoicedReportEnvelope>;
3195
4475
  getDetailedTimeReport(args: {
3196
4476
  query: {
4477
+ "self"?: boolean;
4478
+ "include_fixed_fee"?: boolean;
4479
+ "direct_client_only"?: boolean;
4480
+ "contractors_only"?: boolean;
4481
+ "currency"?: string;
4482
+ "project_status"?: "all" | "active" | "archived";
4483
+ "billing_method"?: "non_billable" | "time_materials" | "fixed_fee";
4484
+ "manager_id"?: number;
3197
4485
  "from": string;
3198
4486
  "to": string;
3199
4487
  "client_id"?: number;
3200
4488
  "project_id"?: number;
3201
- "hours"?: "all" | "billable" | "non_billable" | "uninvoiced";
4489
+ "task_id"?: number;
4490
+ "user_id"?: number;
4491
+ "role_id"?: number;
4492
+ "tag_id"?: number;
4493
+ "hours"?: "all" | "billable" | "non_billable" | "uninvoiced" | "claimed" | "unclaimed";
3202
4494
  "grain"?: "day" | "entry";
4495
+ "audience"?: "internal" | "client";
4496
+ "invoice_state"?: "all" | "invoiced" | "uninvoiced";
3203
4497
  "active_projects_only"?: boolean;
3204
4498
  };
3205
4499
  signal?: AbortSignal;
3206
4500
  headers?: HeadersInit;
3207
4501
  }): Promise<DetailedTimeReportEnvelope>;
4502
+ downloadDetailedTimeReport(args: {
4503
+ query: {
4504
+ "self"?: boolean;
4505
+ "include_fixed_fee"?: boolean;
4506
+ "direct_client_only"?: boolean;
4507
+ "contractors_only"?: boolean;
4508
+ "currency"?: string;
4509
+ "project_status"?: "all" | "active" | "archived";
4510
+ "billing_method"?: "non_billable" | "time_materials" | "fixed_fee";
4511
+ "manager_id"?: number;
4512
+ "from": string;
4513
+ "to": string;
4514
+ "client_id"?: number;
4515
+ "project_id"?: number;
4516
+ "task_id"?: number;
4517
+ "user_id"?: number;
4518
+ "role_id"?: number;
4519
+ "tag_id"?: number;
4520
+ "hours"?: "all" | "billable" | "non_billable" | "uninvoiced" | "claimed" | "unclaimed";
4521
+ "grain"?: "day" | "entry";
4522
+ "audience"?: "internal" | "client";
4523
+ "invoice_state"?: "all" | "invoiced" | "uninvoiced";
4524
+ "active_projects_only"?: boolean;
4525
+ "format": "pdf" | "csv" | "xlsx";
4526
+ };
4527
+ signal?: AbortSignal;
4528
+ headers?: HeadersInit;
4529
+ }): Promise<ArrayBuffer>;
4530
+ executeDetailedTimeAction(args: {
4531
+ body: ReportTimeActionInput;
4532
+ signal?: AbortSignal;
4533
+ headers?: HeadersInit;
4534
+ }): Promise<ReportTimeActionEnvelope>;
3208
4535
  getClientRollupReport(args: {
3209
4536
  "clientId": number;
3210
4537
  query: {
@@ -3241,6 +4568,16 @@ export declare class EzactoClient {
3241
4568
  signal?: AbortSignal;
3242
4569
  headers?: HeadersInit;
3243
4570
  }): Promise<ModuleListEnvelope>;
4571
+ listSignInMethods(args?: {
4572
+ signal?: AbortSignal;
4573
+ headers?: HeadersInit;
4574
+ }): Promise<SignInMethodListEnvelope>;
4575
+ updateSignInMethod(args: {
4576
+ "method": string;
4577
+ body: ModulePatch;
4578
+ signal?: AbortSignal;
4579
+ headers?: HeadersInit;
4580
+ }): Promise<SignInMethodListEnvelope>;
3244
4581
  getBackupStatus(args?: {
3245
4582
  signal?: AbortSignal;
3246
4583
  headers?: HeadersInit;
@@ -3262,6 +4599,58 @@ export declare class EzactoClient {
3262
4599
  signal?: AbortSignal;
3263
4600
  headers?: HeadersInit;
3264
4601
  }): Promise<void>;
4602
+ getInvoiceQuickBooks(args: {
4603
+ "id": number;
4604
+ signal?: AbortSignal;
4605
+ headers?: HeadersInit;
4606
+ }): Promise<InvoiceQuickBooksEnvelope>;
4607
+ syncInvoiceQuickBooks(args: {
4608
+ "id": number;
4609
+ signal?: AbortSignal;
4610
+ headers?: HeadersInit;
4611
+ }): Promise<InvoiceQuickBooksEnvelope>;
4612
+ getWiseConnection(args?: {
4613
+ signal?: AbortSignal;
4614
+ headers?: HeadersInit;
4615
+ }): Promise<WiseStatusEnvelope>;
4616
+ listWiseRecipients(args?: {
4617
+ signal?: AbortSignal;
4618
+ headers?: HeadersInit;
4619
+ }): Promise<WiseRecipientListEnvelope>;
4620
+ onboardWiseRecipient(args: {
4621
+ body: WiseOnboardInput;
4622
+ signal?: AbortSignal;
4623
+ headers?: HeadersInit;
4624
+ }): Promise<WiseLinkEnvelope>;
4625
+ listWisePayoutProposals(args?: {
4626
+ signal?: AbortSignal;
4627
+ headers?: HeadersInit;
4628
+ }): Promise<WiseProposalListEnvelope>;
4629
+ getWisePayoutDestination(args: {
4630
+ "userId": number;
4631
+ signal?: AbortSignal;
4632
+ headers?: HeadersInit;
4633
+ }): Promise<WiseDestinationEnvelope>;
4634
+ removeWisePayoutDestination(args: {
4635
+ "userId": number;
4636
+ signal?: AbortSignal;
4637
+ headers?: HeadersInit;
4638
+ }): Promise<void>;
4639
+ shareWiseProfile(args: {
4640
+ body: WiseContactInput;
4641
+ signal?: AbortSignal;
4642
+ headers?: HeadersInit;
4643
+ }): Promise<WiseContactEnvelope>;
4644
+ linkWiseRecipient(args: {
4645
+ body: WiseLinkInput;
4646
+ signal?: AbortSignal;
4647
+ headers?: HeadersInit;
4648
+ }): Promise<WiseLinkEnvelope>;
4649
+ unlinkWiseRecipient(args: {
4650
+ "accountId": number;
4651
+ signal?: AbortSignal;
4652
+ headers?: HeadersInit;
4653
+ }): Promise<void>;
3265
4654
  listSsoProvisioningDomains(args?: {
3266
4655
  signal?: AbortSignal;
3267
4656
  headers?: HeadersInit;
@@ -3312,6 +4701,121 @@ export declare class EzactoClient {
3312
4701
  signal?: AbortSignal;
3313
4702
  headers?: HeadersInit;
3314
4703
  }): Promise<InvoicePaymentLinkEnvelope>;
4704
+ releaseInvoicedTime(args: {
4705
+ "id": number;
4706
+ signal?: AbortSignal;
4707
+ headers?: HeadersInit;
4708
+ }): Promise<ReleasedTimeEnvelope>;
4709
+ getInvoiceDocumentPreference(args: {
4710
+ "id": number;
4711
+ signal?: AbortSignal;
4712
+ headers?: HeadersInit;
4713
+ }): Promise<InvoiceDocumentPreferenceEnvelope>;
4714
+ setInvoiceDocumentPreference(args: {
4715
+ "id": number;
4716
+ body: InvoiceDocumentPreferenceInput;
4717
+ signal?: AbortSignal;
4718
+ headers?: HeadersInit;
4719
+ }): Promise<InvoiceDocumentPreferenceEnvelope>;
4720
+ getInvoiceEmailDefaults(args: {
4721
+ "id": number;
4722
+ signal?: AbortSignal;
4723
+ headers?: HeadersInit;
4724
+ }): Promise<InvoiceEmailDefaultsEnvelope>;
4725
+ getClientInvoiceSending(args: {
4726
+ "id": number;
4727
+ signal?: AbortSignal;
4728
+ headers?: HeadersInit;
4729
+ }): Promise<ClientInvoiceSendingEnvelope>;
4730
+ setClientInvoiceSending(args: {
4731
+ "id": number;
4732
+ body: ClientInvoiceSendingInput;
4733
+ signal?: AbortSignal;
4734
+ headers?: HeadersInit;
4735
+ }): Promise<ClientInvoiceSendingEnvelope>;
4736
+ getOrganizationInvoiceSending(args?: {
4737
+ signal?: AbortSignal;
4738
+ headers?: HeadersInit;
4739
+ }): Promise<OrganizationInvoiceSendingEnvelope>;
4740
+ setOrganizationInvoiceSending(args: {
4741
+ body: OrganizationInvoiceSendingInput;
4742
+ signal?: AbortSignal;
4743
+ headers?: HeadersInit;
4744
+ }): Promise<OrganizationInvoiceSendingEnvelope>;
4745
+ getOrganizationInvoiceDocuments(args?: {
4746
+ signal?: AbortSignal;
4747
+ headers?: HeadersInit;
4748
+ }): Promise<OrganizationInvoiceDocumentsEnvelope>;
4749
+ setOrganizationInvoiceDocuments(args: {
4750
+ body: OrganizationInvoiceDocumentsInput;
4751
+ signal?: AbortSignal;
4752
+ headers?: HeadersInit;
4753
+ }): Promise<OrganizationInvoiceDocumentsEnvelope>;
4754
+ downloadInvoiceHoursReport(args: {
4755
+ "id": number;
4756
+ query: {
4757
+ "format": "pdf" | "csv" | "xlsx";
4758
+ "detail"?: "detailed" | "summary";
4759
+ };
4760
+ signal?: AbortSignal;
4761
+ headers?: HeadersInit;
4762
+ }): Promise<ArrayBuffer>;
4763
+ getInvoiceDefaults(args?: {
4764
+ signal?: AbortSignal;
4765
+ headers?: HeadersInit;
4766
+ }): Promise<InvoiceDefaultsEnvelope>;
4767
+ updateInvoiceDefaults(args: {
4768
+ body: InvoiceDefaultsInput;
4769
+ signal?: AbortSignal;
4770
+ headers?: HeadersInit;
4771
+ }): Promise<InvoiceDefaultsEnvelope>;
4772
+ getInvoiceThankYouPreference(args: {
4773
+ "id": number;
4774
+ signal?: AbortSignal;
4775
+ headers?: HeadersInit;
4776
+ }): Promise<InvoiceThankYouPreferenceEnvelope>;
4777
+ setInvoiceThankYouPreference(args: {
4778
+ "id": number;
4779
+ signal?: AbortSignal;
4780
+ headers?: HeadersInit;
4781
+ }): Promise<InvoiceThankYouPreferenceEnvelope>;
4782
+ getOrganizationInvoiceThankYou(args?: {
4783
+ signal?: AbortSignal;
4784
+ headers?: HeadersInit;
4785
+ }): Promise<OrganizationInvoiceThankYouEnvelope>;
4786
+ setOrganizationInvoiceThankYou(args?: {
4787
+ signal?: AbortSignal;
4788
+ headers?: HeadersInit;
4789
+ }): Promise<OrganizationInvoiceThankYouEnvelope>;
4790
+ getOrganizationInvoiceReminders(args?: {
4791
+ signal?: AbortSignal;
4792
+ headers?: HeadersInit;
4793
+ }): Promise<OrganizationInvoiceRemindersEnvelope>;
4794
+ setOrganizationInvoiceReminders(args: {
4795
+ body: OrganizationInvoiceRemindersInput;
4796
+ signal?: AbortSignal;
4797
+ headers?: HeadersInit;
4798
+ }): Promise<OrganizationInvoiceRemindersEnvelope>;
4799
+ getInvoiceReminderPreference(args: {
4800
+ "id": number;
4801
+ signal?: AbortSignal;
4802
+ headers?: HeadersInit;
4803
+ }): Promise<InvoiceReminderPreferenceEnvelope>;
4804
+ setInvoiceReminderPreference(args: {
4805
+ "id": number;
4806
+ body: InvoiceReminderPreferenceInput;
4807
+ signal?: AbortSignal;
4808
+ headers?: HeadersInit;
4809
+ }): Promise<InvoiceReminderPreferenceEnvelope>;
4810
+ listIncompleteRecurringInvoices(args?: {
4811
+ signal?: AbortSignal;
4812
+ headers?: HeadersInit;
4813
+ }): Promise<IncompleteRecurringInvoiceListEnvelope>;
4814
+ completeRecurringInvoiceDefinition(args: {
4815
+ "id": number;
4816
+ signal?: AbortSignal;
4817
+ headers?: HeadersInit;
4818
+ }): Promise<RecurringInvoiceCompletionEnvelope>;
3315
4819
  listPayoutAccounts(args: {
3316
4820
  "id": number;
3317
4821
  signal?: AbortSignal;
@@ -3419,6 +4923,14 @@ export declare class EzactoClient {
3419
4923
  signal?: AbortSignal;
3420
4924
  headers?: HeadersInit;
3421
4925
  }): Promise<TeamCommandReceiptEnvelope>;
4926
+ removeTeamPersonRate(args: {
4927
+ "id": number;
4928
+ "rateId": number;
4929
+ "Idempotency-Key": string;
4930
+ body: TeamRateRemovalInput;
4931
+ signal?: AbortSignal;
4932
+ headers?: HeadersInit;
4933
+ }): Promise<TeamCommandReceiptEnvelope>;
3422
4934
  listClientAncestors(args: {
3423
4935
  "id": number;
3424
4936
  signal?: AbortSignal;