@hed-hog/finance 0.0.274 → 0.0.276
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 +228 -126
- package/dist/dto/create-bank-reconciliation.dto.d.ts +8 -0
- package/dist/dto/create-bank-reconciliation.dto.d.ts.map +1 -0
- package/dist/dto/create-bank-reconciliation.dto.js +43 -0
- package/dist/dto/create-bank-reconciliation.dto.js.map +1 -0
- package/dist/finance-data.controller.d.ts +2 -0
- package/dist/finance-data.controller.d.ts.map +1 -1
- package/dist/finance-statements.controller.d.ts +42 -0
- package/dist/finance-statements.controller.d.ts.map +1 -1
- package/dist/finance-statements.controller.js +13 -0
- package/dist/finance-statements.controller.js.map +1 -1
- package/dist/finance.service.d.ts +44 -0
- package/dist/finance.service.d.ts.map +1 -1
- package/dist/finance.service.js +98 -9
- package/dist/finance.service.js.map +1 -1
- package/hedhog/data/route.yaml +9 -0
- package/hedhog/frontend/app/_components/person-field-with-create.tsx.ejs +126 -126
- package/hedhog/frontend/app/accounts-payable/approvals/page.tsx.ejs +373 -373
- package/hedhog/frontend/app/accounts-payable/installments/[id]/page.tsx.ejs +1270 -1270
- package/hedhog/frontend/app/accounts-receivable/installments/[id]/page.tsx.ejs +982 -982
- package/hedhog/frontend/app/cash-and-banks/bank-accounts/page.tsx.ejs +686 -686
- package/hedhog/frontend/app/cash-and-banks/bank-reconciliation/page.tsx.ejs +152 -32
- package/hedhog/frontend/app/cash-and-banks/statements/page.tsx.ejs +986 -986
- package/hedhog/frontend/app/cash-and-banks/transfers/page.tsx.ejs +492 -492
- package/hedhog/frontend/app/page.tsx.ejs +372 -372
- package/hedhog/frontend/app/planning/cash-flow-forecast/page.tsx.ejs +329 -329
- package/hedhog/frontend/app/planning/receivables-calendar/page.tsx.ejs +227 -227
- package/hedhog/frontend/app/planning/scenarios/page.tsx.ejs +408 -408
- package/hedhog/frontend/messages/en.json +15 -5
- package/hedhog/frontend/messages/pt.json +15 -5
- package/package.json +7 -7
- package/src/dto/create-bank-reconciliation.dto.ts +24 -0
- package/src/finance-statements.controller.ts +14 -0
- package/src/finance.module.ts +43 -43
- package/src/finance.service.ts +118 -0
- package/src/index.ts +14 -14
- package/dist/finance.controller.d.ts +0 -276
- package/dist/finance.controller.d.ts.map +0 -1
- package/dist/finance.controller.js +0 -110
- package/dist/finance.controller.js.map +0 -1
package/README.md
CHANGED
|
@@ -27,125 +27,124 @@ 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: `{ bank?: string; branch?: string; account?: string; type?: string; description?: string; status?: 'active' | 'inactive' }` | 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: `{ name?: string; kind?: string; parent_id?: number; status?: 'active' | 'inactive' }` | 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
|
-
| GET | /finance/
|
|
96
|
-
|
|
|
97
|
-
|
|
|
98
|
-
| PATCH | /finance/accounts-payable/installments/:id
|
|
99
|
-
| PATCH | /finance/accounts-payable/installments/:id/
|
|
100
|
-
| PATCH | /finance/accounts-payable/installments/:id/
|
|
101
|
-
|
|
|
102
|
-
|
|
|
103
|
-
| PATCH | /finance/
|
|
104
|
-
|
|
|
105
|
-
|
|
|
106
|
-
|
|
|
107
|
-
|
|
|
108
|
-
| GET | /finance/accounts-receivable/installments
|
|
109
|
-
|
|
|
110
|
-
|
|
|
111
|
-
| PATCH | /finance/accounts-receivable/installments/:id
|
|
112
|
-
| PATCH | /finance/accounts-receivable/installments/:id/
|
|
113
|
-
|
|
|
114
|
-
|
|
|
115
|
-
| PATCH | /finance/accounts-receivable/installments/:id/
|
|
116
|
-
|
|
|
117
|
-
| POST | /finance/
|
|
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
|
+
| GET | /finance/titles/:id/settlements-history | Sim | Histórico de liquidações do título| Path param: `id` | Histórico de liquidações | 404 Not Found |
|
|
96
|
+
| POST | /finance/accounts-payable/installments | Sim | Cria título contas a pagar | Body: `CreateFinancialTitleDto` | Título criado | 400 Validação |
|
|
97
|
+
| PATCH | /finance/accounts-payable/installments/:id | Sim | Atualiza título contas a pagar | Body: `CreateFinancialTitleDto` | Título atualizado | 400 Validação, 404 |
|
|
98
|
+
| PATCH | /finance/accounts-payable/installments/:id/approve | Sim | Aprova título contas a pagar | - | Título aprovado | 404 Not Found |
|
|
99
|
+
| PATCH | /finance/accounts-payable/installments/:id/reject | Sim | Rejeita título contas a pagar | Body: `{ reason?: string }` | Título rejeitado | 400 Validação, 404 |
|
|
100
|
+
| PATCH | /finance/accounts-payable/installments/:id/cancel | Sim | Cancela título contas a pagar | Body: `{ reason?: string }` | Título cancelado | 400 Validação, 404 |
|
|
101
|
+
| POST | /finance/accounts-payable/installments/:id/settlements | Sim | Registra liquidação parcela | Body: `SettleInstallmentDto` | Liquidação registrada | 400 Validação, 404 |
|
|
102
|
+
| 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 |
|
|
103
|
+
| PATCH | /finance/settlements/:id/reverse | Sim | Estorna liquidação por id | Body: `{ reason?: string; memo?: string }` | Liquidação estornada | 400 Validação, 404 |
|
|
104
|
+
| DELETE | /finance/bank-reconciliations/:id | Sim | Desfaz conciliação bancária | - | Conciliação desfeita | 404 Not Found |
|
|
105
|
+
| PATCH | /finance/accounts-payable/installments/:id/tags | Sim | Atualiza tags da parcela | Body: `{ tag_ids?: number[] }` | Tags atualizadas | 400 Validação, 404 |
|
|
106
|
+
| 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 |
|
|
107
|
+
| GET | /finance/accounts-receivable/installments | Sim | Lista parcelas contas a receber | Query: `status`, paginação | Lista paginada | 401 Unauthorized |
|
|
108
|
+
| GET | /finance/accounts-receivable/installments/:id | Sim | Detalha parcela contas a receber | Path param: `id` | Detalhes da parcela | 404 Not Found |
|
|
109
|
+
| POST | /finance/accounts-receivable/installments | Sim | Cria título contas a receber | Body: `CreateFinancialTitleDto` | Título criado | 400 Validação |
|
|
110
|
+
| PATCH | /finance/accounts-receivable/installments/:id | Sim | Atualiza título contas a receber | Body: `CreateFinancialTitleDto` | Título atualizado | 400 Validação, 404 |
|
|
111
|
+
| PATCH | /finance/accounts-receivable/installments/:id/approve | Sim | Aprova título contas a receber | - | Título aprovado | 404 Not Found |
|
|
112
|
+
| PATCH | /finance/accounts-receivable/installments/:id/cancel | Sim | Cancela título contas a receber | Body: `{ reason?: string }` | Título cancelado | 400 Validação, 404 |
|
|
113
|
+
| POST | /finance/accounts-receivable/installments/:id/settlements | Sim | Registra liquidação parcela | Body: `SettleInstallmentDto` | Liquidação registrada | 400 Validação, 404 |
|
|
114
|
+
| 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 |
|
|
115
|
+
| PATCH | /finance/accounts-receivable/installments/:id/tags | Sim | Atualiza tags da parcela | Body: `{ tag_ids?: number[] }` | Tags atualizadas | 400 Validação, 404 |
|
|
116
|
+
| POST | /finance/tags | Sim | Cria tag financeira | Body: `{ name: string; color?: string }` | Tag criada | 400 Validação |
|
|
117
|
+
| 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
118
|
|
|
120
119
|
---
|
|
121
120
|
|
|
122
121
|
### FinancePeriodCloseController
|
|
123
122
|
|
|
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
|
|
123
|
+
| Método | Path | Auth | Descrição | Parâmetros/Body | Resposta | Erros Comuns |
|
|
124
|
+
|--------|-------------------|------|---------------------------|-------------------------------------------------------------------------------------------------|--------------------|----------------------|
|
|
125
|
+
| GET | /finance/period-close | Sim | Lista fechamentos de períodos | Query: `search`, `status`, `user`, `from`, `to`, paginação | Lista paginada | 401 Unauthorized |
|
|
126
|
+
| 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
127
|
|
|
129
128
|
---
|
|
130
129
|
|
|
131
130
|
### FinanceStatementsController
|
|
132
131
|
|
|
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
|
|
132
|
+
| Método | Path | Auth | Descrição | Parâmetros/Query/Body | Resposta | Erros Comuns |
|
|
133
|
+
|--------|-------------------------------|------|-------------------------------|-------------------------------------------------------------------------------------------------------|------------------------|----------------------|
|
|
134
|
+
| GET | /finance/statements | Sim | Lista extratos bancários | Query: `bank_account_id`, `search` | Lista de extratos | 400 BadRequest, 401 |
|
|
135
|
+
| 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 |
|
|
136
|
+
| GET | /finance/statements/export | Sim | Exporta extratos em CSV | Query: `bank_account_id` (obrigatório), `search` | CSV para download | 400 BadRequest, 401 |
|
|
137
|
+
| POST | /finance/statements/import | Sim | Importa extrato bancário | Multipart file + Body: `bank_account_id` (obrigatório) | Importação realizada | 400 BadRequest, 401 |
|
|
138
|
+
| 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
139
|
|
|
141
140
|
---
|
|
142
141
|
|
|
143
142
|
### FinanceTransfersController
|
|
144
143
|
|
|
145
|
-
| Método | Path | Auth
|
|
146
|
-
|
|
147
|
-
| GET | /finance/transfers | Sim
|
|
148
|
-
| POST | /finance/transfers | Sim
|
|
144
|
+
| Método | Path | Auth | Descrição | Parâmetros/Query/Body | Resposta | Erros Comuns |
|
|
145
|
+
|--------|-------------------|------|----------------------------|-------------------------------------------------------------------------------------------------------|------------------------|----------------------|
|
|
146
|
+
| GET | /finance/transfers | Sim | Lista transferências | Query: `search`, `bank_account_id` | Lista de transferências | 401 Unauthorized |
|
|
147
|
+
| 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
148
|
|
|
150
149
|
---
|
|
151
150
|
|
|
@@ -160,9 +159,7 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
160
159
|
|
|
161
160
|
## 5. Estruturas de request/response
|
|
162
161
|
|
|
163
|
-
###
|
|
164
|
-
|
|
165
|
-
- **CreateBankAccountDto**
|
|
162
|
+
### CreateBankAccountDto
|
|
166
163
|
|
|
167
164
|
```ts
|
|
168
165
|
{
|
|
@@ -175,11 +172,24 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
175
172
|
}
|
|
176
173
|
```
|
|
177
174
|
|
|
178
|
-
|
|
175
|
+
### UpdateBankAccountDto
|
|
179
176
|
|
|
180
177
|
```ts
|
|
181
178
|
{
|
|
182
|
-
|
|
179
|
+
bank?: string;
|
|
180
|
+
branch?: string;
|
|
181
|
+
account?: string;
|
|
182
|
+
type?: string;
|
|
183
|
+
description?: string;
|
|
184
|
+
status?: 'active' | 'inactive';
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### CreateFinancialTitleDto
|
|
189
|
+
|
|
190
|
+
```ts
|
|
191
|
+
{
|
|
192
|
+
document_number: string; // obrigatório, não vazio
|
|
183
193
|
person_id: number; // obrigatório
|
|
184
194
|
competence_date?: string (ISO date);
|
|
185
195
|
issue_date?: string (ISO date);
|
|
@@ -200,7 +210,7 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
200
210
|
}
|
|
201
211
|
```
|
|
202
212
|
|
|
203
|
-
|
|
213
|
+
### SettleInstallmentDto
|
|
204
214
|
|
|
205
215
|
```ts
|
|
206
216
|
{
|
|
@@ -217,7 +227,24 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
217
227
|
}
|
|
218
228
|
```
|
|
219
229
|
|
|
220
|
-
|
|
230
|
+
### RejectTitleDto
|
|
231
|
+
|
|
232
|
+
```ts
|
|
233
|
+
{
|
|
234
|
+
reason?: string;
|
|
235
|
+
}
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### ReverseSettlementDto
|
|
239
|
+
|
|
240
|
+
```ts
|
|
241
|
+
{
|
|
242
|
+
reason?: string;
|
|
243
|
+
memo?: string;
|
|
244
|
+
}
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### CreateBankStatementAdjustmentDto
|
|
221
248
|
|
|
222
249
|
```ts
|
|
223
250
|
{
|
|
@@ -229,7 +256,7 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
229
256
|
}
|
|
230
257
|
```
|
|
231
258
|
|
|
232
|
-
|
|
259
|
+
### CreateTransferDto
|
|
233
260
|
|
|
234
261
|
```ts
|
|
235
262
|
{
|
|
@@ -241,6 +268,109 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
241
268
|
}
|
|
242
269
|
```
|
|
243
270
|
|
|
271
|
+
### CreateFinanceTagDto
|
|
272
|
+
|
|
273
|
+
```ts
|
|
274
|
+
{
|
|
275
|
+
name: string; // obrigatório, string não vazia
|
|
276
|
+
color?: string; // opcional, cor hexadecimal válida
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### CreateFinanceCategoryDto
|
|
281
|
+
|
|
282
|
+
```ts
|
|
283
|
+
{
|
|
284
|
+
name: string; // obrigatório
|
|
285
|
+
kind: string; // obrigatório
|
|
286
|
+
parent_id?: number; // opcional
|
|
287
|
+
}
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### UpdateFinanceCategoryDto
|
|
291
|
+
|
|
292
|
+
```ts
|
|
293
|
+
{
|
|
294
|
+
name?: string;
|
|
295
|
+
kind?: string;
|
|
296
|
+
parent_id?: number;
|
|
297
|
+
status?: 'active' | 'inactive';
|
|
298
|
+
}
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### MoveFinanceCategoryDto
|
|
302
|
+
|
|
303
|
+
```ts
|
|
304
|
+
{
|
|
305
|
+
parent_id?: number;
|
|
306
|
+
position?: number;
|
|
307
|
+
}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### CreateCostCenterDto
|
|
311
|
+
|
|
312
|
+
```ts
|
|
313
|
+
{
|
|
314
|
+
name: string; // obrigatório
|
|
315
|
+
}
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### UpdateCostCenterDto
|
|
319
|
+
|
|
320
|
+
```ts
|
|
321
|
+
{
|
|
322
|
+
name?: string;
|
|
323
|
+
status?: 'active' | 'inactive';
|
|
324
|
+
}
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### SendCollectionDto
|
|
328
|
+
|
|
329
|
+
```ts
|
|
330
|
+
{
|
|
331
|
+
message: string; // obrigatório, min 5 e max 2000 caracteres
|
|
332
|
+
subject?: string; // opcional, max 255 caracteres
|
|
333
|
+
}
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
### RegisterCollectionAgreementDto
|
|
337
|
+
|
|
338
|
+
```ts
|
|
339
|
+
{
|
|
340
|
+
amount: number; // obrigatório, min 0.01
|
|
341
|
+
installments: number; // obrigatório, entre 1 e 120
|
|
342
|
+
first_due_date: string; // obrigatório, ISO date
|
|
343
|
+
notes?: string; // opcional
|
|
344
|
+
}
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### UpdateInstallmentTagsDto
|
|
348
|
+
|
|
349
|
+
```ts
|
|
350
|
+
{
|
|
351
|
+
tag_ids?: number[]; // opcional, array de números únicos e >= 1
|
|
352
|
+
}
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### CreatePeriodCloseDto
|
|
356
|
+
|
|
357
|
+
```ts
|
|
358
|
+
{
|
|
359
|
+
period_start: string; // obrigatório, ISO date
|
|
360
|
+
period_end: string; // obrigatório, ISO date
|
|
361
|
+
notes?: string; // opcional
|
|
362
|
+
status?: 'open' | 'closed'; // opcional
|
|
363
|
+
}
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
### ExtractFinancialTitleFromFileDto
|
|
367
|
+
|
|
368
|
+
```ts
|
|
369
|
+
{
|
|
370
|
+
file_id?: number; // opcional
|
|
371
|
+
}
|
|
372
|
+
```
|
|
373
|
+
|
|
244
374
|
---
|
|
245
375
|
|
|
246
376
|
## 6. Erros comuns
|
|
@@ -260,13 +390,11 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
260
390
|
- **Finalidade:** Configurações globais financeiras (status, moeda, timezone).
|
|
261
391
|
- **Colunas:**
|
|
262
392
|
- `id` (PK)
|
|
263
|
-
- `code` (string, único)
|
|
264
|
-
- `status` (enum: `active`, `inactive`)
|
|
265
|
-
- `default_currency` (string, ex: `BRL`)
|
|
266
|
-
- `timezone` (string, ex: `America/Sao_Paulo`)
|
|
393
|
+
- `code` (string, único, não nulo)
|
|
394
|
+
- `status` (enum: `active`, `inactive`, default `active`)
|
|
395
|
+
- `default_currency` (string, não nulo, ex: `BRL`)
|
|
396
|
+
- `timezone` (string, não nulo, ex: `America/Sao_Paulo`)
|
|
267
397
|
- `created_at`, `updated_at` (timestamps)
|
|
268
|
-
- **Defaults:** `status = active`
|
|
269
|
-
- **Nulabilidade:** `code`, `default_currency`, `timezone` não nulos
|
|
270
398
|
- **Integridade:** PK em `id`
|
|
271
399
|
- **Indices:** índice único em `code`
|
|
272
400
|
- **Enums:** `status`
|
|
@@ -282,10 +410,8 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
282
410
|
- `code` (string)
|
|
283
411
|
- `name` (string)
|
|
284
412
|
- `kind` (enum: `revenue`, `expense`, `transfer`, `adjustment`, `other`)
|
|
285
|
-
- `status` (enum: `active`, `inactive`)
|
|
413
|
+
- `status` (enum: `active`, `inactive`, default `active`)
|
|
286
414
|
- `created_at`, `updated_at`
|
|
287
|
-
- **Defaults:** `status = active`
|
|
288
|
-
- **Nulabilidade:** `parent_id` nullable
|
|
289
415
|
- **Integridade:** FK para `parent_id`
|
|
290
416
|
- **Indices:** índice em `code`
|
|
291
417
|
- **Enums:** `kind`, `status`
|
|
@@ -299,10 +425,8 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
299
425
|
- `id` (PK)
|
|
300
426
|
- `code` (string)
|
|
301
427
|
- `name` (string)
|
|
302
|
-
- `status` (enum: `active`, `inactive`)
|
|
428
|
+
- `status` (enum: `active`, `inactive`, default `active`)
|
|
303
429
|
- `created_at`, `updated_at`
|
|
304
|
-
- **Defaults:** `status = active`
|
|
305
|
-
- **Nulabilidade:** não nulo
|
|
306
430
|
- **Integridade:** PK em `id`
|
|
307
431
|
- **Indices:** índice em `code`
|
|
308
432
|
- **Enums:** `status`
|
|
@@ -317,10 +441,8 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
317
441
|
- `code` (string)
|
|
318
442
|
- `name` (string)
|
|
319
443
|
- `type` (enum: `pix`, `boleto`, `ted`, `doc`, `card`, `cash`, `other`)
|
|
320
|
-
- `status` (enum: `active`, `inactive`)
|
|
444
|
+
- `status` (enum: `active`, `inactive`, default `active`)
|
|
321
445
|
- `created_at`, `updated_at`
|
|
322
|
-
- **Defaults:** `status = active`
|
|
323
|
-
- **Nulabilidade:** não nulo
|
|
324
446
|
- **Integridade:** PK em `id`
|
|
325
447
|
- **Indices:** índice em `code`
|
|
326
448
|
- **Enums:** `type`, `status`
|
|
@@ -339,10 +461,8 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
339
461
|
- `agency` (string, nullable)
|
|
340
462
|
- `account_number` (string, nullable)
|
|
341
463
|
- `account_type` (enum: `checking`, `savings`, `investment`, `cash`, `other`)
|
|
342
|
-
- `status` (enum: `active`, `inactive`)
|
|
464
|
+
- `status` (enum: `active`, `inactive`, default `active`)
|
|
343
465
|
- `created_at`, `updated_at`
|
|
344
|
-
- **Defaults:** `status = active`
|
|
345
|
-
- **Nulabilidade:** campos bancários nullable
|
|
346
466
|
- **Integridade:** PK em `id`
|
|
347
467
|
- **Indices:** índice em `code`
|
|
348
468
|
- **Enums:** `account_type`, `status`
|
|
@@ -356,7 +476,7 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
356
476
|
- `id` (PK)
|
|
357
477
|
- `person_id` (FK para `person.id`)
|
|
358
478
|
- `title_type` (enum: `payable`, `receivable`)
|
|
359
|
-
- `status` (enum: `draft`, `open`, `partial`, `settled`, `canceled`, `overdue`)
|
|
479
|
+
- `status` (enum: `draft`, `open`, `partial`, `settled`, `canceled`, `overdue`, default `draft`)
|
|
360
480
|
- `document_number` (string, nullable)
|
|
361
481
|
- `description` (string, nullable)
|
|
362
482
|
- `competence_date` (date, nullable)
|
|
@@ -365,8 +485,6 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
365
485
|
- `finance_category_id` (FK para `finance_category.id`, nullable)
|
|
366
486
|
- `created_by_user_id` (FK para `user.id`, nullable)
|
|
367
487
|
- `created_at`, `updated_at`
|
|
368
|
-
- **Defaults:** `status = draft`
|
|
369
|
-
- **Nulabilidade:** campos opcionais nullable
|
|
370
488
|
- **Integridade:** FK para `person`, `finance_category`, `user`
|
|
371
489
|
- **Indices:** índice em `document_number`
|
|
372
490
|
- **Enums:** `title_type`, `status`
|
|
@@ -384,11 +502,9 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
384
502
|
- `due_date` (date)
|
|
385
503
|
- `amount_cents` (integer)
|
|
386
504
|
- `open_amount_cents` (integer)
|
|
387
|
-
- `status` (enum: `open`, `partial`, `settled`, `canceled`, `overdue`)
|
|
505
|
+
- `status` (enum: `open`, `partial`, `settled`, `canceled`, `overdue`, default `open`)
|
|
388
506
|
- `notes` (string, nullable)
|
|
389
507
|
- `created_at`, `updated_at`
|
|
390
|
-
- **Defaults:** `status = open`
|
|
391
|
-
- **Nulabilidade:** `notes` nullable
|
|
392
508
|
- **Integridade:** FK para `financial_title`
|
|
393
509
|
- **Indices:** índice composto em `title_id`, `installment_number`
|
|
394
510
|
- **Enums:** `status`
|
|
@@ -404,15 +520,13 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
404
520
|
- `bank_account_id` (FK para `bank_account.id`, nullable)
|
|
405
521
|
- `payment_method_id` (FK para `payment_method.id`, nullable)
|
|
406
522
|
- `settlement_type` (enum: `payable`, `receivable`, `transfer`, `adjustment`)
|
|
407
|
-
- `status` (enum: `pending`, `confirmed`, `reversed`)
|
|
523
|
+
- `status` (enum: `pending`, `confirmed`, `reversed`, default `pending`)
|
|
408
524
|
- `settled_at` (datetime)
|
|
409
525
|
- `amount_cents` (integer)
|
|
410
526
|
- `description` (string, nullable)
|
|
411
527
|
- `external_reference` (string, nullable)
|
|
412
528
|
- `created_by_user_id` (FK para `user.id`, nullable)
|
|
413
529
|
- `created_at`, `updated_at`
|
|
414
|
-
- **Defaults:** `status = pending`
|
|
415
|
-
- **Nulabilidade:** campos opcionais nullable
|
|
416
530
|
- **Integridade:** FK para `person`, `bank_account`, `payment_method`, `user`
|
|
417
531
|
- **Indices:** índice em `settled_at`
|
|
418
532
|
- **Enums:** `settlement_type`, `status`
|
|
@@ -432,8 +546,6 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
432
546
|
- `imported_at` (datetime)
|
|
433
547
|
- `imported_by_user_id` (FK para `user.id`, nullable)
|
|
434
548
|
- `created_at`, `updated_at`
|
|
435
|
-
- **Defaults:** -
|
|
436
|
-
- **Nulabilidade:** campos opcionais nullable
|
|
437
549
|
- **Integridade:** FK para `bank_account`, `user`
|
|
438
550
|
- **Enums:** `source_type`
|
|
439
551
|
|
|
@@ -450,11 +562,9 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
450
562
|
- `posted_date` (date)
|
|
451
563
|
- `amount_cents` (integer)
|
|
452
564
|
- `description` (string)
|
|
453
|
-
- `status` (enum: `imported`, `pending`, `reconciled`, `reversed`, `adjusted`)
|
|
565
|
+
- `status` (enum: `imported`, `pending`, `reconciled`, `reversed`, `adjusted`, default `imported`)
|
|
454
566
|
- `dedupe_key` (string, único)
|
|
455
567
|
- `created_at`, `updated_at`
|
|
456
|
-
- **Defaults:** `status = imported`
|
|
457
|
-
- **Nulabilidade:** `external_id` nullable
|
|
458
568
|
- **Integridade:** FK para `bank_statement`, `bank_account`
|
|
459
569
|
- **Indices:** índice único em `dedupe_key`
|
|
460
570
|
- **Enums:** `status`
|
|
@@ -468,12 +578,10 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
468
578
|
- `id` (PK)
|
|
469
579
|
- `bank_statement_line_id` (FK para `bank_statement_line.id`, único)
|
|
470
580
|
- `settlement_id` (FK para `settlement.id`, único)
|
|
471
|
-
- `status` (enum: `pending`, `reconciled`, `reversed`, `adjusted`)
|
|
581
|
+
- `status` (enum: `pending`, `reconciled`, `reversed`, `adjusted`, default `pending`)
|
|
472
582
|
- `matched_at` (datetime, nullable)
|
|
473
583
|
- `matched_by_user_id` (FK para `user.id`, nullable)
|
|
474
584
|
- `created_at`, `updated_at`
|
|
475
|
-
- **Defaults:** `status = pending`
|
|
476
|
-
- **Nulabilidade:** `matched_at`, `matched_by_user_id` nullable
|
|
477
585
|
- **Integridade:** FK para `bank_statement_line`, `settlement`, `user`
|
|
478
586
|
- **Indices:** unicidade em `bank_statement_line_id` e `settlement_id`
|
|
479
587
|
- **Enums:** `status`
|
|
@@ -494,8 +602,6 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
494
602
|
- `after_data` (json, nullable)
|
|
495
603
|
- `ip_address` (string, nullable)
|
|
496
604
|
- `created_at`, `updated_at`
|
|
497
|
-
- **Defaults:** -
|
|
498
|
-
- **Nulabilidade:** campos opcionais nullable
|
|
499
605
|
- **Integridade:** FK para `user`
|
|
500
606
|
|
|
501
607
|
---
|
|
@@ -507,13 +613,11 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
507
613
|
- `id` (PK)
|
|
508
614
|
- `period_start` (date)
|
|
509
615
|
- `period_end` (date)
|
|
510
|
-
- `status` (enum: `open`, `closed`)
|
|
616
|
+
- `status` (enum: `open`, `closed`, default `open`)
|
|
511
617
|
- `closed_at` (datetime, nullable)
|
|
512
618
|
- `closed_by_user_id` (FK para `user.id`, nullable)
|
|
513
619
|
- `notes` (string, nullable)
|
|
514
620
|
- `created_at`, `updated_at`
|
|
515
|
-
- **Defaults:** `status = open`
|
|
516
|
-
- **Nulabilidade:** campos opcionais nullable
|
|
517
621
|
- **Integridade:** FK para `user`
|
|
518
622
|
- **Enums:** `status`
|
|
519
623
|
|
|
@@ -525,11 +629,9 @@ Endpoints para contas a pagar e receber, títulos, parcelas, liquidações, esto
|
|
|
525
629
|
- **Colunas:**
|
|
526
630
|
- `id` (PK)
|
|
527
631
|
- `name` (string)
|
|
528
|
-
- `status` (enum: `active`, `inactive`)
|
|
529
|
-
- `is_default` (boolean)
|
|
632
|
+
- `status` (enum: `active`, `inactive`, default `active`)
|
|
633
|
+
- `is_default` (boolean, default `false`)
|
|
530
634
|
- `created_at`, `updated_at`
|
|
531
|
-
- **Defaults:** `status = active`, `is_default = false`
|
|
532
|
-
- **Nulabilidade:** não nulo
|
|
533
635
|
- **Enums:** `status`
|
|
534
636
|
|
|
535
637
|
---
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-bank-reconciliation.dto.d.ts","sourceRoot":"","sources":["../../src/dto/create-bank-reconciliation.dto.ts"],"names":[],"mappings":"AAGA,qBAAa,2BAA2B;IAGtC,QAAQ,EAAE,MAAM,CAAC;IAIjB,cAAc,EAAE,MAAM,CAAC;IAIvB,sBAAsB,EAAE,MAAM,CAAC;IAI/B,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|