@hed-hog/finance 0.0.274 → 0.0.275
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.
- package/README.md +214 -126
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -27,125 +27,123 @@ O módulo financeiro gerencia o ciclo completo da gestão financeira corporativa
|
|
|
27
27
|
|
|
28
28
|
### FinanceAuditLogsController
|
|
29
29
|
|
|
30
|
-
| Método | Path
|
|
31
|
-
|
|
32
|
-
| GET | /finance/audit-logs
|
|
30
|
+
| Método | Path | Auth | Descrição | Parâmetros/Query | Resposta | Erros Comuns |
|
|
31
|
+
|--------|---------------------|------|-------------------------------|-------------------------------------------------------------------------------------------------|---------------------------|-------------------|
|
|
32
|
+
| GET | /finance/audit-logs | Sim | Lista logs de auditoria financeira | Query: `search`, `action`, `entity_table`, `actor_user_id`, `from`, `to`, paginação | Lista paginada de logs | 401 Unauthorized |
|
|
33
33
|
|
|
34
34
|
---
|
|
35
35
|
|
|
36
36
|
### FinanceBankAccountsController
|
|
37
37
|
|
|
38
|
-
| Método | Path | Auth
|
|
39
|
-
|
|
40
|
-
| GET | /finance/bank-accounts | Sim
|
|
41
|
-
| POST | /finance/bank-accounts | Sim
|
|
42
|
-
| PATCH | /finance/bank-accounts/:id | Sim
|
|
43
|
-
| DELETE | /finance/bank-accounts/:id | Sim
|
|
38
|
+
| Método | Path | Auth | Descrição | Parâmetros/Body | Resposta | Erros Comuns |
|
|
39
|
+
|--------|---------------------------|------|-------------------------|-------------------------------------------------------------------------------------------------|--------------------|----------------------|
|
|
40
|
+
| GET | /finance/bank-accounts | Sim | Lista contas bancárias | - | Lista de contas | 401 Unauthorized |
|
|
41
|
+
| POST | /finance/bank-accounts | Sim | Cria nova conta bancária| Body: `{ bank: string; branch?: string; account?: string; type: string; description?: string; initial_balance?: number }` | Conta criada | 400 Validação |
|
|
42
|
+
| PATCH | /finance/bank-accounts/:id | Sim | Atualiza conta bancária | Body: campos opcionais para atualização (bank, branch, account, type, description, status) | Conta atualizada | 400 Validação, 404 |
|
|
43
|
+
| DELETE | /finance/bank-accounts/:id | Sim | Remove conta bancária | - | Confirmação | 404 Not Found |
|
|
44
44
|
|
|
45
45
|
---
|
|
46
46
|
|
|
47
47
|
### FinanceCategoriesController
|
|
48
48
|
|
|
49
|
-
| Método | Path | Auth
|
|
50
|
-
|
|
51
|
-
| GET | /finance/categories | Sim
|
|
52
|
-
| POST | /finance/categories | Sim
|
|
53
|
-
| PATCH | /finance/categories/:id | Sim
|
|
54
|
-
| PATCH | /finance/categories/:id/move | Sim | Move categoria na hierarquia
|
|
55
|
-
| DELETE | /finance/categories/:id | Sim
|
|
49
|
+
| Método | Path | Auth | Descrição | Parâmetros/Body | Resposta | Erros Comuns |
|
|
50
|
+
|--------|---------------------------|------|---------------------------|-------------------------------------------------------------------------------------------------|--------------------|----------------------|
|
|
51
|
+
| GET | /finance/categories | Sim | Lista categorias financeiras | - | Lista de categorias | 401 Unauthorized |
|
|
52
|
+
| POST | /finance/categories | Sim | Cria categoria financeira | Body: `{ name: string; kind: string; parent_id?: number }` | Categoria criada | 400 Validação |
|
|
53
|
+
| PATCH | /finance/categories/:id | Sim | Atualiza categoria financeira | Body: campos opcionais (name, kind, parent_id, status) | Categoria atualizada | 400 Validação, 404 |
|
|
54
|
+
| PATCH | /finance/categories/:id/move | Sim | Move categoria na hierarquia | Body: `{ parent_id?: number; position?: number }` | Categoria movida | 400 Validação, 404 |
|
|
55
|
+
| DELETE | /finance/categories/:id | Sim | Remove categoria financeira | - | Confirmação | 404 Not Found |
|
|
56
56
|
|
|
57
57
|
---
|
|
58
58
|
|
|
59
59
|
### FinanceCollectionsController
|
|
60
60
|
|
|
61
|
-
| Método | Path | Auth
|
|
62
|
-
|
|
63
|
-
| GET | /finance/accounts-receivable/collections-default | Sim
|
|
64
|
-
| POST | /finance/accounts-receivable/collections-default/:personId/send | Sim | Envia mensagem de cobrança para pessoa | Body: `{ message: string
|
|
65
|
-
| POST | /finance/accounts-receivable/collections-default/:personId/agreements | Sim | Registra acordo de cobrança para pessoa | Body: `{ amount: number
|
|
61
|
+
| Método | Path | Auth | Descrição | Parâmetros/Body | Resposta | Erros Comuns |
|
|
62
|
+
|--------|----------------------------------------------------|------|----------------------------------|-------------------------------------------------------------------------------------------------|------------------------|----------------------|
|
|
63
|
+
| GET | /finance/accounts-receivable/collections-default | Sim | Obtém configurações padrão de cobrança | - | Configurações padrão | 401 Unauthorized |
|
|
64
|
+
| POST | /finance/accounts-receivable/collections-default/:personId/send | Sim | Envia mensagem de cobrança para pessoa | Body: `{ message: string; subject?: string }` | Confirmação de envio | 400 Validação, 404 |
|
|
65
|
+
| POST | /finance/accounts-receivable/collections-default/:personId/agreements | Sim | Registra acordo de cobrança para pessoa | Body: `{ amount: number; installments: number; first_due_date: string; notes?: string }` | Acordo registrado | 400 Validação, 404 |
|
|
66
66
|
|
|
67
67
|
---
|
|
68
68
|
|
|
69
69
|
### FinanceCostCentersController
|
|
70
70
|
|
|
71
|
-
| Método | Path | Auth
|
|
72
|
-
|
|
73
|
-
| GET | /finance/cost-centers | Sim
|
|
74
|
-
| POST | /finance/cost-centers | Sim
|
|
75
|
-
| PATCH | /finance/cost-centers/:id | Sim
|
|
76
|
-
| DELETE | /finance/cost-centers/:id | Sim
|
|
71
|
+
| Método | Path | Auth | Descrição | Parâmetros/Body | Resposta | Erros Comuns |
|
|
72
|
+
|--------|---------------------------|------|------------------------|-------------------------------------------------------------------------------------------------|--------------------|----------------------|
|
|
73
|
+
| GET | /finance/cost-centers | Sim | Lista centros de custo | - | Lista de centros | 401 Unauthorized |
|
|
74
|
+
| POST | /finance/cost-centers | Sim | Cria centro de custo | Body: `{ name: string }` | Centro criado | 400 Validação |
|
|
75
|
+
| PATCH | /finance/cost-centers/:id | Sim | Atualiza centro de custo| Body: `{ name?: string; status?: 'active' | 'inactive' }` | Centro atualizado | 400 Validação, 404 |
|
|
76
|
+
| DELETE | /finance/cost-centers/:id | Sim | Remove centro de custo | - | Confirmação | 404 Not Found |
|
|
77
77
|
|
|
78
78
|
---
|
|
79
79
|
|
|
80
80
|
### FinanceDataController
|
|
81
81
|
|
|
82
|
-
| Método | Path | Auth
|
|
83
|
-
|
|
84
|
-
| GET | /finance/data | Sim
|
|
85
|
-
| PATCH | /finance/scenarios/:cenario | Sim | Atualiza configurações do cenário | Body: `{ atrasoMedio: number
|
|
82
|
+
| Método | Path | Auth | Descrição | Parâmetros/Query | Resposta | Erros Comuns |
|
|
83
|
+
|--------|-----------------------|------|-------------------------------|-------------------------------------------------------------------------------------------------|------------------------|----------------------|
|
|
84
|
+
| GET | /finance/data | Sim | Obtém dados financeiros com filtros | Query: `horizonte` (dias), `cenario` (nome do cenário) | Dados financeiros | 401 Unauthorized |
|
|
85
|
+
| PATCH | /finance/scenarios/:cenario | Sim | Atualiza configurações do cenário | Body: `{ atrasoMedio: number; taxaInadimplencia: number; crescimentoReceita: number; setAsDefault?: boolean }` | Cenário atualizado | 400 Validação, 404 |
|
|
86
86
|
|
|
87
87
|
---
|
|
88
88
|
|
|
89
89
|
### FinanceInstallmentsController
|
|
90
90
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
|
94
|
-
|
|
95
|
-
|
|
|
96
|
-
|
|
|
97
|
-
|
|
|
98
|
-
| PATCH | /finance/accounts-payable/installments/:id
|
|
99
|
-
| PATCH | /finance/accounts-payable/installments/:id/
|
|
100
|
-
|
|
|
101
|
-
| PATCH | /finance/accounts-payable/installments/:id/
|
|
102
|
-
|
|
|
103
|
-
|
|
|
104
|
-
| PATCH | /finance/
|
|
105
|
-
|
|
|
106
|
-
|
|
|
107
|
-
|
|
|
108
|
-
|
|
|
109
|
-
|
|
|
110
|
-
|
|
|
111
|
-
| PATCH | /finance/accounts-receivable/installments/:id
|
|
112
|
-
|
|
|
113
|
-
| PATCH | /finance/accounts-receivable/installments/:id/
|
|
114
|
-
|
|
|
115
|
-
|
|
|
116
|
-
|
|
|
117
|
-
| POST | /finance/tags | Sim | Cria tag financeira | Body: `{ name: string, color?: string }` | Tag criada | 400 Validação |
|
|
118
|
-
| POST | /finance/accounts-receivable/installments/extract-from-file | Sim | Extrai dados de título de arquivo | Multipart file + Body: `{ file_id?: number }` | Dados extraídos | 400 Validação |
|
|
91
|
+
| Método | Path | Auth | Descrição | Parâmetros/Body/Query | Resposta | Erros Comuns |
|
|
92
|
+
|--------|-------------------------------------------------------------|------|----------------------------------|-------------------------------------------------------------------------------------------------------|---------------------------|----------------------|
|
|
93
|
+
| GET | /finance/accounts-payable/installments | Sim | Lista parcelas contas a pagar | Query: `status`, paginação | Lista paginada | 401 Unauthorized |
|
|
94
|
+
| GET | /finance/accounts-payable/installments/:id | Sim | Detalha parcela contas a pagar | Path param: `id` | Detalhes da parcela | 404 Not Found |
|
|
95
|
+
| POST | /finance/accounts-payable/installments | Sim | Cria título contas a pagar | Body: `CreateFinancialTitleDto` | Título criado | 400 Validação |
|
|
96
|
+
| PATCH | /finance/accounts-payable/installments/:id | Sim | Atualiza título contas a pagar | Body: `CreateFinancialTitleDto` | Título atualizado | 400 Validação, 404 |
|
|
97
|
+
| PATCH | /finance/accounts-payable/installments/:id/approve | Sim | Aprova título contas a pagar | - | Título aprovado | 404 Not Found |
|
|
98
|
+
| PATCH | /finance/accounts-payable/installments/:id/reject | Sim | Rejeita título contas a pagar | Body: `{ reason?: string }` | Título rejeitado | 400 Validação, 404 |
|
|
99
|
+
| PATCH | /finance/accounts-payable/installments/:id/cancel | Sim | Cancela título contas a pagar | Body: `{ reason?: string }` | Título cancelado | 400 Validação, 404 |
|
|
100
|
+
| POST | /finance/accounts-payable/installments/:id/settlements | Sim | Registra liquidação parcela | Body: `SettleInstallmentDto` | Liquidação registrada | 400 Validação, 404 |
|
|
101
|
+
| PATCH | /finance/accounts-payable/installments/:id/settlements/:settlementId/reverse | Sim | Estorna liquidação parcela | Body: `{ reason?: string; memo?: string }` | Liquidação estornada | 400 Validação, 404 |
|
|
102
|
+
| PATCH | /finance/settlements/:id/reverse | Sim | Estorna liquidação por id | Body: `{ reason?: string; memo?: string }` | Liquidação estornada | 400 Validação, 404 |
|
|
103
|
+
| DELETE | /finance/bank-reconciliations/:id | Sim | Desfaz conciliação bancária | - | Conciliação desfeita | 404 Not Found |
|
|
104
|
+
| PATCH | /finance/accounts-payable/installments/:id/tags | Sim | Atualiza tags da parcela | Body: `{ tag_ids?: number[] }` | Tags atualizadas | 400 Validação, 404 |
|
|
105
|
+
| POST | /finance/accounts-payable/installments/extract-from-file | Sim | Extrai dados de título de arquivo | Multipart file + Body: `{ file_id?: number }` | Dados extraídos | 400 Validação |
|
|
106
|
+
| GET | /finance/accounts-receivable/installments | Sim | Lista parcelas contas a receber | Query: `status`, paginação | Lista paginada | 401 Unauthorized |
|
|
107
|
+
| GET | /finance/accounts-receivable/installments/:id | Sim | Detalha parcela contas a receber | Path param: `id` | Detalhes da parcela | 404 Not Found |
|
|
108
|
+
| POST | /finance/accounts-receivable/installments | Sim | Cria título contas a receber | Body: `CreateFinancialTitleDto` | Título criado | 400 Validação |
|
|
109
|
+
| PATCH | /finance/accounts-receivable/installments/:id | Sim | Atualiza título contas a receber | Body: `CreateFinancialTitleDto` | Título atualizado | 400 Validação, 404 |
|
|
110
|
+
| PATCH | /finance/accounts-receivable/installments/:id/approve | Sim | Aprova título contas a receber | - | Título aprovado | 404 Not Found |
|
|
111
|
+
| PATCH | /finance/accounts-receivable/installments/:id/cancel | Sim | Cancela título contas a receber | Body: `{ reason?: string }` | Título cancelado | 400 Validação, 404 |
|
|
112
|
+
| POST | /finance/accounts-receivable/installments/:id/settlements | Sim | Registra liquidação parcela | Body: `SettleInstallmentDto` | Liquidação registrada | 400 Validação, 404 |
|
|
113
|
+
| PATCH | /finance/accounts-receivable/installments/:id/settlements/:settlementId/reverse | Sim | Estorna liquidação parcela | Body: `{ reason?: string; memo?: string }` | Liquidação estornada | 400 Validação, 404 |
|
|
114
|
+
| PATCH | /finance/accounts-receivable/installments/:id/tags | Sim | Atualiza tags da parcela | Body: `{ tag_ids?: number[] }` | Tags atualizadas | 400 Validação, 404 |
|
|
115
|
+
| POST | /finance/tags | Sim | Cria tag financeira | Body: `{ name: string; color?: string }` | Tag criada | 400 Validação |
|
|
116
|
+
| POST | /finance/accounts-receivable/installments/extract-from-file | Sim | Extrai dados de título de arquivo | Multipart file + Body: `{ file_id?: number }` | Dados extraídos | 400 Validação |
|
|
119
117
|
|
|
120
118
|
---
|
|
121
119
|
|
|
122
120
|
### FinancePeriodCloseController
|
|
123
121
|
|
|
124
|
-
| Método | Path | Auth
|
|
125
|
-
|
|
126
|
-
| GET | /finance/period-close | Sim | Lista fechamentos de períodos
|
|
127
|
-
| POST | /finance/period-close | Sim | Cria fechamento de período
|
|
122
|
+
| Método | Path | Auth | Descrição | Parâmetros/Body | Resposta | Erros Comuns |
|
|
123
|
+
|--------|-------------------|------|---------------------------|-------------------------------------------------------------------------------------------------|--------------------|----------------------|
|
|
124
|
+
| GET | /finance/period-close | Sim | Lista fechamentos de períodos | Query: `search`, `status`, `user`, `from`, `to`, paginação | Lista paginada | 401 Unauthorized |
|
|
125
|
+
| POST | /finance/period-close | Sim | Cria fechamento de período | Body: `{ period_start: string; period_end: string; notes?: string; status?: 'open' | 'closed' }` | Fechamento criado | 400 Validação |
|
|
128
126
|
|
|
129
127
|
---
|
|
130
128
|
|
|
131
129
|
### FinanceStatementsController
|
|
132
130
|
|
|
133
|
-
| Método | Path | Auth
|
|
134
|
-
|
|
135
|
-
| GET | /finance/statements | Sim
|
|
136
|
-
| GET | /finance/bank-reconciliation/summary | Sim | Resumo da conciliação bancária
|
|
137
|
-
| GET | /finance/statements/export | Sim
|
|
138
|
-
| POST | /finance/statements/import | Sim
|
|
139
|
-
| POST | /finance/statements/adjustments | Sim | Cria ajuste em extrato bancário
|
|
131
|
+
| Método | Path | Auth | Descrição | Parâmetros/Query/Body | Resposta | Erros Comuns |
|
|
132
|
+
|--------|-------------------------------|------|-------------------------------|-------------------------------------------------------------------------------------------------------|------------------------|----------------------|
|
|
133
|
+
| GET | /finance/statements | Sim | Lista extratos bancários | Query: `bank_account_id`, `search` | Lista de extratos | 400 BadRequest, 401 |
|
|
134
|
+
| GET | /finance/bank-reconciliation/summary | Sim | Resumo da conciliação bancária | Query: `bank_account_id` (obrigatório) | Resumo da conciliação | 400 BadRequest, 401 |
|
|
135
|
+
| GET | /finance/statements/export | Sim | Exporta extratos em CSV | Query: `bank_account_id` (obrigatório), `search` | CSV para download | 400 BadRequest, 401 |
|
|
136
|
+
| POST | /finance/statements/import | Sim | Importa extrato bancário | Multipart file + Body: `bank_account_id` (obrigatório) | Importação realizada | 400 BadRequest, 401 |
|
|
137
|
+
| POST | /finance/statements/adjustments | Sim | Cria ajuste em extrato bancário | Body: `{ bank_account_id: number; amount: number; date?: string; type: string; description?: string }` | Ajuste criado | 400 Validação, 401 |
|
|
140
138
|
|
|
141
139
|
---
|
|
142
140
|
|
|
143
141
|
### FinanceTransfersController
|
|
144
142
|
|
|
145
|
-
| Método | Path | Auth
|
|
146
|
-
|
|
147
|
-
| GET | /finance/transfers | Sim
|
|
148
|
-
| POST | /finance/transfers | Sim
|
|
143
|
+
| Método | Path | Auth | Descrição | Parâmetros/Query/Body | Resposta | Erros Comuns |
|
|
144
|
+
|--------|-------------------|------|----------------------------|-------------------------------------------------------------------------------------------------------|------------------------|----------------------|
|
|
145
|
+
| GET | /finance/transfers | Sim | Lista transferências | Query: `search`, `bank_account_id` | Lista de transferências | 401 Unauthorized |
|
|
146
|
+
| POST | /finance/transfers | Sim | Cria transferência entre contas | Body: `{ source_account_id: number; destination_account_id: number; date: string; amount: number; description?: string }` | Transferência criada | 400 Validação |
|
|
149
147
|
|
|
150
148
|
---
|
|
151
149
|
|
|
@@ -160,9 +158,7 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
160
158
|
|
|
161
159
|
## 5. Estruturas de request/response
|
|
162
160
|
|
|
163
|
-
###
|
|
164
|
-
|
|
165
|
-
- **CreateBankAccountDto**
|
|
161
|
+
### CreateBankAccountDto
|
|
166
162
|
|
|
167
163
|
```ts
|
|
168
164
|
{
|
|
@@ -175,11 +171,11 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
175
171
|
}
|
|
176
172
|
```
|
|
177
173
|
|
|
178
|
-
|
|
174
|
+
### CreateFinancialTitleDto
|
|
179
175
|
|
|
180
176
|
```ts
|
|
181
177
|
{
|
|
182
|
-
document_number: string; // obrigatório
|
|
178
|
+
document_number: string; // obrigatório, não vazio
|
|
183
179
|
person_id: number; // obrigatório
|
|
184
180
|
competence_date?: string (ISO date);
|
|
185
181
|
issue_date?: string (ISO date);
|
|
@@ -200,7 +196,7 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
200
196
|
}
|
|
201
197
|
```
|
|
202
198
|
|
|
203
|
-
|
|
199
|
+
### SettleInstallmentDto
|
|
204
200
|
|
|
205
201
|
```ts
|
|
206
202
|
{
|
|
@@ -217,7 +213,7 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
217
213
|
}
|
|
218
214
|
```
|
|
219
215
|
|
|
220
|
-
|
|
216
|
+
### CreateBankStatementAdjustmentDto
|
|
221
217
|
|
|
222
218
|
```ts
|
|
223
219
|
{
|
|
@@ -229,7 +225,7 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
229
225
|
}
|
|
230
226
|
```
|
|
231
227
|
|
|
232
|
-
|
|
228
|
+
### CreateTransferDto
|
|
233
229
|
|
|
234
230
|
```ts
|
|
235
231
|
{
|
|
@@ -241,6 +237,126 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
241
237
|
}
|
|
242
238
|
```
|
|
243
239
|
|
|
240
|
+
### CreateFinanceTagDto
|
|
241
|
+
|
|
242
|
+
```ts
|
|
243
|
+
{
|
|
244
|
+
name: string; // obrigatório, string não vazia
|
|
245
|
+
color?: string; // opcional, cor hexadecimal válida
|
|
246
|
+
}
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### CreateFinanceCategoryDto
|
|
250
|
+
|
|
251
|
+
```ts
|
|
252
|
+
{
|
|
253
|
+
name: string; // obrigatório
|
|
254
|
+
kind: string; // obrigatório
|
|
255
|
+
parent_id?: number; // opcional
|
|
256
|
+
}
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### UpdateFinanceCategoryDto
|
|
260
|
+
|
|
261
|
+
```ts
|
|
262
|
+
{
|
|
263
|
+
name?: string;
|
|
264
|
+
kind?: string;
|
|
265
|
+
parent_id?: number;
|
|
266
|
+
status?: 'active' | 'inactive';
|
|
267
|
+
}
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### MoveFinanceCategoryDto
|
|
271
|
+
|
|
272
|
+
```ts
|
|
273
|
+
{
|
|
274
|
+
parent_id?: number;
|
|
275
|
+
position?: number;
|
|
276
|
+
}
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### CreateCostCenterDto
|
|
280
|
+
|
|
281
|
+
```ts
|
|
282
|
+
{
|
|
283
|
+
name: string; // obrigatório
|
|
284
|
+
}
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### UpdateCostCenterDto
|
|
288
|
+
|
|
289
|
+
```ts
|
|
290
|
+
{
|
|
291
|
+
name?: string;
|
|
292
|
+
status?: 'active' | 'inactive';
|
|
293
|
+
}
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### RejectTitleDto
|
|
297
|
+
|
|
298
|
+
```ts
|
|
299
|
+
{
|
|
300
|
+
reason?: string;
|
|
301
|
+
}
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### ReverseSettlementDto
|
|
305
|
+
|
|
306
|
+
```ts
|
|
307
|
+
{
|
|
308
|
+
reason?: string;
|
|
309
|
+
memo?: string;
|
|
310
|
+
}
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### SendCollectionDto
|
|
314
|
+
|
|
315
|
+
```ts
|
|
316
|
+
{
|
|
317
|
+
message: string; // obrigatório, min 5 e max 2000 caracteres
|
|
318
|
+
subject?: string; // opcional, max 255 caracteres
|
|
319
|
+
}
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### RegisterCollectionAgreementDto
|
|
323
|
+
|
|
324
|
+
```ts
|
|
325
|
+
{
|
|
326
|
+
amount: number; // obrigatório, min 0.01
|
|
327
|
+
installments: number; // obrigatório, entre 1 e 120
|
|
328
|
+
first_due_date: string; // obrigatório, ISO date
|
|
329
|
+
notes?: string; // opcional
|
|
330
|
+
}
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### UpdateInstallmentTagsDto
|
|
334
|
+
|
|
335
|
+
```ts
|
|
336
|
+
{
|
|
337
|
+
tag_ids?: number[]; // opcional, array de números únicos e >= 1
|
|
338
|
+
}
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
### CreatePeriodCloseDto
|
|
342
|
+
|
|
343
|
+
```ts
|
|
344
|
+
{
|
|
345
|
+
period_start: string; // obrigatório, ISO date
|
|
346
|
+
period_end: string; // obrigatório, ISO date
|
|
347
|
+
notes?: string; // opcional
|
|
348
|
+
status?: 'open' | 'closed'; // opcional
|
|
349
|
+
}
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
### ExtractFinancialTitleFromFileDto
|
|
353
|
+
|
|
354
|
+
```ts
|
|
355
|
+
{
|
|
356
|
+
file_id?: number; // opcional
|
|
357
|
+
}
|
|
358
|
+
```
|
|
359
|
+
|
|
244
360
|
---
|
|
245
361
|
|
|
246
362
|
## 6. Erros comuns
|
|
@@ -260,13 +376,11 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
260
376
|
- **Finalidade:** Configurações globais financeiras (status, moeda, timezone).
|
|
261
377
|
- **Colunas:**
|
|
262
378
|
- `id` (PK)
|
|
263
|
-
- `code` (string, único)
|
|
264
|
-
- `status` (enum: `active`, `inactive`)
|
|
265
|
-
- `default_currency` (string, ex: `BRL`)
|
|
266
|
-
- `timezone` (string, ex: `America/Sao_Paulo`)
|
|
379
|
+
- `code` (string, único, não nulo)
|
|
380
|
+
- `status` (enum: `active`, `inactive`, default `active`)
|
|
381
|
+
- `default_currency` (string, não nulo, ex: `BRL`)
|
|
382
|
+
- `timezone` (string, não nulo, ex: `America/Sao_Paulo`)
|
|
267
383
|
- `created_at`, `updated_at` (timestamps)
|
|
268
|
-
- **Defaults:** `status = active`
|
|
269
|
-
- **Nulabilidade:** `code`, `default_currency`, `timezone` não nulos
|
|
270
384
|
- **Integridade:** PK em `id`
|
|
271
385
|
- **Indices:** índice único em `code`
|
|
272
386
|
- **Enums:** `status`
|
|
@@ -282,10 +396,8 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
282
396
|
- `code` (string)
|
|
283
397
|
- `name` (string)
|
|
284
398
|
- `kind` (enum: `revenue`, `expense`, `transfer`, `adjustment`, `other`)
|
|
285
|
-
- `status` (enum: `active`, `inactive`)
|
|
399
|
+
- `status` (enum: `active`, `inactive`, default `active`)
|
|
286
400
|
- `created_at`, `updated_at`
|
|
287
|
-
- **Defaults:** `status = active`
|
|
288
|
-
- **Nulabilidade:** `parent_id` nullable
|
|
289
401
|
- **Integridade:** FK para `parent_id`
|
|
290
402
|
- **Indices:** índice em `code`
|
|
291
403
|
- **Enums:** `kind`, `status`
|
|
@@ -299,10 +411,8 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
299
411
|
- `id` (PK)
|
|
300
412
|
- `code` (string)
|
|
301
413
|
- `name` (string)
|
|
302
|
-
- `status` (enum: `active`, `inactive`)
|
|
414
|
+
- `status` (enum: `active`, `inactive`, default `active`)
|
|
303
415
|
- `created_at`, `updated_at`
|
|
304
|
-
- **Defaults:** `status = active`
|
|
305
|
-
- **Nulabilidade:** não nulo
|
|
306
416
|
- **Integridade:** PK em `id`
|
|
307
417
|
- **Indices:** índice em `code`
|
|
308
418
|
- **Enums:** `status`
|
|
@@ -317,10 +427,8 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
317
427
|
- `code` (string)
|
|
318
428
|
- `name` (string)
|
|
319
429
|
- `type` (enum: `pix`, `boleto`, `ted`, `doc`, `card`, `cash`, `other`)
|
|
320
|
-
- `status` (enum: `active`, `inactive`)
|
|
430
|
+
- `status` (enum: `active`, `inactive`, default `active`)
|
|
321
431
|
- `created_at`, `updated_at`
|
|
322
|
-
- **Defaults:** `status = active`
|
|
323
|
-
- **Nulabilidade:** não nulo
|
|
324
432
|
- **Integridade:** PK em `id`
|
|
325
433
|
- **Indices:** índice em `code`
|
|
326
434
|
- **Enums:** `type`, `status`
|
|
@@ -339,10 +447,8 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
339
447
|
- `agency` (string, nullable)
|
|
340
448
|
- `account_number` (string, nullable)
|
|
341
449
|
- `account_type` (enum: `checking`, `savings`, `investment`, `cash`, `other`)
|
|
342
|
-
- `status` (enum: `active`, `inactive`)
|
|
450
|
+
- `status` (enum: `active`, `inactive`, default `active`)
|
|
343
451
|
- `created_at`, `updated_at`
|
|
344
|
-
- **Defaults:** `status = active`
|
|
345
|
-
- **Nulabilidade:** campos bancários nullable
|
|
346
452
|
- **Integridade:** PK em `id`
|
|
347
453
|
- **Indices:** índice em `code`
|
|
348
454
|
- **Enums:** `account_type`, `status`
|
|
@@ -356,7 +462,7 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
356
462
|
- `id` (PK)
|
|
357
463
|
- `person_id` (FK para `person.id`)
|
|
358
464
|
- `title_type` (enum: `payable`, `receivable`)
|
|
359
|
-
- `status` (enum: `draft`, `open`, `partial`, `settled`, `canceled`, `overdue`)
|
|
465
|
+
- `status` (enum: `draft`, `open`, `partial`, `settled`, `canceled`, `overdue`, default `draft`)
|
|
360
466
|
- `document_number` (string, nullable)
|
|
361
467
|
- `description` (string, nullable)
|
|
362
468
|
- `competence_date` (date, nullable)
|
|
@@ -365,8 +471,6 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
365
471
|
- `finance_category_id` (FK para `finance_category.id`, nullable)
|
|
366
472
|
- `created_by_user_id` (FK para `user.id`, nullable)
|
|
367
473
|
- `created_at`, `updated_at`
|
|
368
|
-
- **Defaults:** `status = draft`
|
|
369
|
-
- **Nulabilidade:** campos opcionais nullable
|
|
370
474
|
- **Integridade:** FK para `person`, `finance_category`, `user`
|
|
371
475
|
- **Indices:** índice em `document_number`
|
|
372
476
|
- **Enums:** `title_type`, `status`
|
|
@@ -384,11 +488,9 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
384
488
|
- `due_date` (date)
|
|
385
489
|
- `amount_cents` (integer)
|
|
386
490
|
- `open_amount_cents` (integer)
|
|
387
|
-
- `status` (enum: `open`, `partial`, `settled`, `canceled`, `overdue`)
|
|
491
|
+
- `status` (enum: `open`, `partial`, `settled`, `canceled`, `overdue`, default `open`)
|
|
388
492
|
- `notes` (string, nullable)
|
|
389
493
|
- `created_at`, `updated_at`
|
|
390
|
-
- **Defaults:** `status = open`
|
|
391
|
-
- **Nulabilidade:** `notes` nullable
|
|
392
494
|
- **Integridade:** FK para `financial_title`
|
|
393
495
|
- **Indices:** índice composto em `title_id`, `installment_number`
|
|
394
496
|
- **Enums:** `status`
|
|
@@ -404,15 +506,13 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
404
506
|
- `bank_account_id` (FK para `bank_account.id`, nullable)
|
|
405
507
|
- `payment_method_id` (FK para `payment_method.id`, nullable)
|
|
406
508
|
- `settlement_type` (enum: `payable`, `receivable`, `transfer`, `adjustment`)
|
|
407
|
-
- `status` (enum: `pending`, `confirmed`, `reversed`)
|
|
509
|
+
- `status` (enum: `pending`, `confirmed`, `reversed`, default `pending`)
|
|
408
510
|
- `settled_at` (datetime)
|
|
409
511
|
- `amount_cents` (integer)
|
|
410
512
|
- `description` (string, nullable)
|
|
411
513
|
- `external_reference` (string, nullable)
|
|
412
514
|
- `created_by_user_id` (FK para `user.id`, nullable)
|
|
413
515
|
- `created_at`, `updated_at`
|
|
414
|
-
- **Defaults:** `status = pending`
|
|
415
|
-
- **Nulabilidade:** campos opcionais nullable
|
|
416
516
|
- **Integridade:** FK para `person`, `bank_account`, `payment_method`, `user`
|
|
417
517
|
- **Indices:** índice em `settled_at`
|
|
418
518
|
- **Enums:** `settlement_type`, `status`
|
|
@@ -432,8 +532,6 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
432
532
|
- `imported_at` (datetime)
|
|
433
533
|
- `imported_by_user_id` (FK para `user.id`, nullable)
|
|
434
534
|
- `created_at`, `updated_at`
|
|
435
|
-
- **Defaults:** -
|
|
436
|
-
- **Nulabilidade:** campos opcionais nullable
|
|
437
535
|
- **Integridade:** FK para `bank_account`, `user`
|
|
438
536
|
- **Enums:** `source_type`
|
|
439
537
|
|
|
@@ -450,11 +548,9 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
450
548
|
- `posted_date` (date)
|
|
451
549
|
- `amount_cents` (integer)
|
|
452
550
|
- `description` (string)
|
|
453
|
-
- `status` (enum: `imported`, `pending`, `reconciled`, `reversed`, `adjusted`)
|
|
551
|
+
- `status` (enum: `imported`, `pending`, `reconciled`, `reversed`, `adjusted`, default `imported`)
|
|
454
552
|
- `dedupe_key` (string, único)
|
|
455
553
|
- `created_at`, `updated_at`
|
|
456
|
-
- **Defaults:** `status = imported`
|
|
457
|
-
- **Nulabilidade:** `external_id` nullable
|
|
458
554
|
- **Integridade:** FK para `bank_statement`, `bank_account`
|
|
459
555
|
- **Indices:** índice único em `dedupe_key`
|
|
460
556
|
- **Enums:** `status`
|
|
@@ -468,12 +564,10 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
468
564
|
- `id` (PK)
|
|
469
565
|
- `bank_statement_line_id` (FK para `bank_statement_line.id`, único)
|
|
470
566
|
- `settlement_id` (FK para `settlement.id`, único)
|
|
471
|
-
- `status` (enum: `pending`, `reconciled`, `reversed`, `adjusted`)
|
|
567
|
+
- `status` (enum: `pending`, `reconciled`, `reversed`, `adjusted`, default `pending`)
|
|
472
568
|
- `matched_at` (datetime, nullable)
|
|
473
569
|
- `matched_by_user_id` (FK para `user.id`, nullable)
|
|
474
570
|
- `created_at`, `updated_at`
|
|
475
|
-
- **Defaults:** `status = pending`
|
|
476
|
-
- **Nulabilidade:** `matched_at`, `matched_by_user_id` nullable
|
|
477
571
|
- **Integridade:** FK para `bank_statement_line`, `settlement`, `user`
|
|
478
572
|
- **Indices:** unicidade em `bank_statement_line_id` e `settlement_id`
|
|
479
573
|
- **Enums:** `status`
|
|
@@ -494,8 +588,6 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
494
588
|
- `after_data` (json, nullable)
|
|
495
589
|
- `ip_address` (string, nullable)
|
|
496
590
|
- `created_at`, `updated_at`
|
|
497
|
-
- **Defaults:** -
|
|
498
|
-
- **Nulabilidade:** campos opcionais nullable
|
|
499
591
|
- **Integridade:** FK para `user`
|
|
500
592
|
|
|
501
593
|
---
|
|
@@ -507,13 +599,11 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
507
599
|
- `id` (PK)
|
|
508
600
|
- `period_start` (date)
|
|
509
601
|
- `period_end` (date)
|
|
510
|
-
- `status` (enum: `open`, `closed`)
|
|
602
|
+
- `status` (enum: `open`, `closed`, default `open`)
|
|
511
603
|
- `closed_at` (datetime, nullable)
|
|
512
604
|
- `closed_by_user_id` (FK para `user.id`, nullable)
|
|
513
605
|
- `notes` (string, nullable)
|
|
514
606
|
- `created_at`, `updated_at`
|
|
515
|
-
- **Defaults:** `status = open`
|
|
516
|
-
- **Nulabilidade:** campos opcionais nullable
|
|
517
607
|
- **Integridade:** FK para `user`
|
|
518
608
|
- **Enums:** `status`
|
|
519
609
|
|
|
@@ -525,11 +615,9 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
525
615
|
- **Colunas:**
|
|
526
616
|
- `id` (PK)
|
|
527
617
|
- `name` (string)
|
|
528
|
-
- `status` (enum: `active`, `inactive`)
|
|
529
|
-
- `is_default` (boolean)
|
|
618
|
+
- `status` (enum: `active`, `inactive`, default `active`)
|
|
619
|
+
- `is_default` (boolean, default `false`)
|
|
530
620
|
- `created_at`, `updated_at`
|
|
531
|
-
- **Defaults:** `status = active`, `is_default = false`
|
|
532
|
-
- **Nulabilidade:** não nulo
|
|
533
621
|
- **Enums:** `status`
|
|
534
622
|
|
|
535
623
|
---
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hed-hog/finance",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.275",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"dependencies": {
|
|
@@ -9,14 +9,14 @@
|
|
|
9
9
|
"@nestjs/core": "^11",
|
|
10
10
|
"@nestjs/jwt": "^11",
|
|
11
11
|
"@nestjs/mapped-types": "*",
|
|
12
|
-
"@hed-hog/contact": "0.0.
|
|
12
|
+
"@hed-hog/contact": "0.0.275",
|
|
13
13
|
"@hed-hog/api-prisma": "0.0.5",
|
|
14
|
-
"@hed-hog/api-pagination": "0.0.6",
|
|
15
14
|
"@hed-hog/api": "0.0.4",
|
|
16
|
-
"@hed-hog/
|
|
17
|
-
"@hed-hog/tag": "0.0.274",
|
|
15
|
+
"@hed-hog/tag": "0.0.275",
|
|
18
16
|
"@hed-hog/api-locale": "0.0.13",
|
|
19
|
-
"@hed-hog/core": "0.0.
|
|
17
|
+
"@hed-hog/core": "0.0.275",
|
|
18
|
+
"@hed-hog/api-types": "0.0.1",
|
|
19
|
+
"@hed-hog/api-pagination": "0.0.6"
|
|
20
20
|
},
|
|
21
21
|
"exports": {
|
|
22
22
|
".": {
|