@hed-hog/finance 0.0.299 → 0.0.301

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/dto/create-bank-account.dto.d.ts +1 -0
  2. package/dist/dto/create-bank-account.dto.d.ts.map +1 -1
  3. package/dist/dto/create-bank-account.dto.js +7 -0
  4. package/dist/dto/create-bank-account.dto.js.map +1 -1
  5. package/dist/dto/update-bank-account.dto.d.ts +1 -0
  6. package/dist/dto/update-bank-account.dto.d.ts.map +1 -1
  7. package/dist/dto/update-bank-account.dto.js +7 -0
  8. package/dist/dto/update-bank-account.dto.js.map +1 -1
  9. package/dist/finance-bank-accounts.controller.d.ts +3 -0
  10. package/dist/finance-bank-accounts.controller.d.ts.map +1 -1
  11. package/dist/finance-data.controller.d.ts +1 -0
  12. package/dist/finance-data.controller.d.ts.map +1 -1
  13. package/dist/finance.contract-activated.subscriber.d.ts +24 -0
  14. package/dist/finance.contract-activated.subscriber.d.ts.map +1 -0
  15. package/dist/finance.contract-activated.subscriber.js +519 -0
  16. package/dist/finance.contract-activated.subscriber.js.map +1 -0
  17. package/dist/finance.contract-activated.subscriber.spec.d.ts +2 -0
  18. package/dist/finance.contract-activated.subscriber.spec.d.ts.map +1 -0
  19. package/dist/finance.contract-activated.subscriber.spec.js +302 -0
  20. package/dist/finance.contract-activated.subscriber.spec.js.map +1 -0
  21. package/dist/finance.module.d.ts.map +1 -1
  22. package/dist/finance.module.js +6 -1
  23. package/dist/finance.module.js.map +1 -1
  24. package/dist/finance.service.d.ts +4 -0
  25. package/dist/finance.service.d.ts.map +1 -1
  26. package/dist/finance.service.js +5 -0
  27. package/dist/finance.service.js.map +1 -1
  28. package/hedhog/data/dashboard.yaml +6 -0
  29. package/hedhog/data/dashboard_component.yaml +72 -17
  30. package/hedhog/data/dashboard_component_role.yaml +30 -0
  31. package/hedhog/data/dashboard_item.yaml +155 -0
  32. package/hedhog/data/dashboard_role.yaml +6 -0
  33. package/hedhog/data/role_menu.yaml +6 -0
  34. package/hedhog/data/role_route.yaml +127 -0
  35. package/hedhog/frontend/app/_components/finance-layout.tsx.ejs +108 -0
  36. package/hedhog/frontend/app/accounts-payable/approvals/page.tsx.ejs +91 -106
  37. package/hedhog/frontend/app/accounts-payable/installments/page.tsx.ejs +1306 -1145
  38. package/hedhog/frontend/app/accounts-receivable/collections-default/page.tsx.ejs +288 -268
  39. package/hedhog/frontend/app/accounts-receivable/installments/page.tsx.ejs +491 -351
  40. package/hedhog/frontend/app/administration/audit-logs/page.tsx.ejs +157 -173
  41. package/hedhog/frontend/app/administration/categories/page.tsx.ejs +44 -62
  42. package/hedhog/frontend/app/administration/cost-centers/page.tsx.ejs +62 -80
  43. package/hedhog/frontend/app/administration/period-close/page.tsx.ejs +151 -170
  44. package/hedhog/frontend/app/cash-and-banks/bank-accounts/page.tsx.ejs +586 -224
  45. package/hedhog/frontend/app/cash-and-banks/bank-reconciliation/page.tsx.ejs +204 -226
  46. package/hedhog/frontend/app/cash-and-banks/statements/page.tsx.ejs +122 -140
  47. package/hedhog/frontend/app/cash-and-banks/transfers/page.tsx.ejs +32 -49
  48. package/hedhog/frontend/app/planning/cash-flow-forecast/page.tsx.ejs +84 -108
  49. package/hedhog/frontend/app/planning/receivables-calendar/page.tsx.ejs +53 -70
  50. package/hedhog/frontend/app/planning/scenarios/page.tsx.ejs +98 -95
  51. package/hedhog/frontend/app/reports/actual-vs-forecast/page.tsx.ejs +100 -125
  52. package/hedhog/frontend/app/reports/aging-default/page.tsx.ejs +77 -105
  53. package/hedhog/frontend/app/reports/cash-position/page.tsx.ejs +99 -134
  54. package/hedhog/frontend/app/reports/overview-results/page.tsx.ejs +147 -182
  55. package/hedhog/frontend/app/reports/top-customers/page.tsx.ejs +49 -61
  56. package/hedhog/frontend/app/reports/top-operational-expenses/page.tsx.ejs +49 -67
  57. package/hedhog/frontend/messages/en.json +224 -70
  58. package/hedhog/frontend/messages/pt.json +224 -70
  59. package/hedhog/frontend/widgets/alerts.tsx.ejs +1 -1
  60. package/hedhog/frontend/widgets/bank-reconciliation-status.tsx.ejs +142 -0
  61. package/hedhog/frontend/widgets/cash-balance-kpi.tsx.ejs +9 -9
  62. package/hedhog/frontend/widgets/cash-flow-chart.tsx.ejs +1 -1
  63. package/hedhog/frontend/widgets/default-kpi.tsx.ejs +9 -9
  64. package/hedhog/frontend/widgets/payable-30d-kpi.tsx.ejs +9 -9
  65. package/hedhog/frontend/widgets/pending-approvals-kpi.tsx.ejs +78 -0
  66. package/hedhog/frontend/widgets/pending-approvals-list.tsx.ejs +147 -0
  67. package/hedhog/frontend/widgets/pending-reconciliation-kpi.tsx.ejs +84 -0
  68. package/hedhog/frontend/widgets/receivable-30d-kpi.tsx.ejs +9 -9
  69. package/hedhog/frontend/widgets/receivable-aging-analysis.tsx.ejs +163 -0
  70. package/hedhog/frontend/widgets/upcoming-payable.tsx.ejs +1 -1
  71. package/hedhog/frontend/widgets/upcoming-receivable.tsx.ejs +1 -1
  72. package/hedhog/table/bank_account.yaml +8 -0
  73. package/package.json +7 -6
  74. package/src/dto/create-bank-account.dto.ts +7 -1
  75. package/src/dto/update-bank-account.dto.ts +7 -1
  76. package/src/finance.contract-activated.subscriber.spec.ts +392 -0
  77. package/src/finance.contract-activated.subscriber.ts +780 -0
  78. package/src/finance.module.ts +6 -1
  79. package/src/finance.service.ts +4 -0
@@ -0,0 +1,6 @@
1
+ - slug: finance-overview
2
+ icon: badge-dollar-sign
3
+ is_template: true
4
+ name:
5
+ en: Finance Overview
6
+ pt: Visão Financeira
@@ -1,7 +1,7 @@
1
1
  - slug: cash-balance-kpi
2
2
  library_slug: finance
3
3
  width: 2
4
- height: 2
4
+ height: 1
5
5
  name:
6
6
  en: Cash Balance
7
7
  pt: Saldo em Caixa
@@ -12,7 +12,7 @@
12
12
  - slug: payable-30d-kpi
13
13
  library_slug: finance
14
14
  width: 2
15
- height: 2
15
+ height: 1
16
16
  name:
17
17
  en: Payables 30 Days
18
18
  pt: A Pagar 30 Dias
@@ -23,7 +23,7 @@
23
23
  - slug: receivable-30d-kpi
24
24
  library_slug: finance
25
25
  width: 2
26
- height: 2
26
+ height: 1
27
27
  name:
28
28
  en: Receivables 30 Days
29
29
  pt: A Receber 30 Dias
@@ -34,54 +34,109 @@
34
34
  - slug: default-kpi
35
35
  library_slug: finance
36
36
  width: 2
37
- height: 2
37
+ height: 1
38
38
  name:
39
39
  en: Default Amount
40
- pt: Inadimplencia
40
+ pt: Inadimplência
41
41
  description:
42
42
  en: Shows the current default amount.
43
- pt: Mostra o valor atual de inadimplencia.
43
+ pt: Mostra o valor atual de inadimplência.
44
+
45
+ - slug: pending-approvals-kpi
46
+ library_slug: finance
47
+ width: 2
48
+ height: 1
49
+ name:
50
+ en: Pending Approvals KPI
51
+ pt: KPI de Aprovações Pendentes
52
+ description:
53
+ en: Shows the current pending approval queue and total value awaiting review.
54
+ pt: Mostra a fila atual de aprovações pendentes e o valor total aguardando análise.
55
+
56
+ - slug: pending-reconciliation-kpi
57
+ library_slug: finance
58
+ width: 2
59
+ height: 1
60
+ name:
61
+ en: Pending Reconciliation KPI
62
+ pt: KPI de Conciliação Pendente
63
+ description:
64
+ en: Shows the volume of bank statements still pending reconciliation.
65
+ pt: Mostra o volume de extratos bancários ainda pendentes de conciliação.
44
66
 
45
67
  - slug: cash-flow-chart
46
68
  library_slug: finance
47
69
  width: 6
48
- height: 5
70
+ height: 6
49
71
  name:
50
72
  en: Cash Flow Chart
51
- pt: Grafico de Fluxo de Caixa
73
+ pt: Gráfico de Fluxo de Caixa
52
74
  description:
53
75
  en: Compares predicted and realized cash flow.
54
76
  pt: Compara o fluxo de caixa previsto e realizado.
55
77
 
56
78
  - slug: financial-alerts
57
79
  library_slug: finance
58
- width: 3
59
- height: 4
80
+ width: 6
81
+ height: 3
60
82
  name:
61
83
  en: Financial Alerts
62
84
  pt: Alertas Financeiros
63
85
  description:
64
86
  en: Highlights overdue items, pending reconciliation and open period.
65
- pt: Destaca titulos vencidos, conciliacao pendente e periodo aberto.
87
+ pt: Destaca títulos vencidos, conciliação pendente e período aberto.
88
+
89
+ - slug: bank-reconciliation-status
90
+ library_slug: finance
91
+ width: 6
92
+ height: 3
93
+ name:
94
+ en: Bank Reconciliation Status
95
+ pt: Status de Conciliação Bancária
96
+ description:
97
+ en: Summarizes pending reconciliation and cash differences across bank accounts.
98
+ pt: Resume conciliações pendentes e diferenças de saldo entre as contas bancárias.
66
99
 
67
100
  - slug: upcoming-payable
68
101
  library_slug: finance
69
- width: 3
102
+ width: 4
70
103
  height: 4
71
104
  name:
72
105
  en: Upcoming Payables
73
- pt: Proximos A Pagar
106
+ pt: Próximos A Pagar
74
107
  description:
75
108
  en: Lists upcoming payable due dates.
76
- pt: Lista os proximos vencimentos a pagar.
109
+ pt: Lista os próximos vencimentos a pagar.
77
110
 
78
111
  - slug: upcoming-receivable
79
112
  library_slug: finance
80
- width: 3
113
+ width: 4
81
114
  height: 4
82
115
  name:
83
116
  en: Upcoming Receivables
84
- pt: Proximos A Receber
117
+ pt: Próximos A Receber
85
118
  description:
86
119
  en: Lists upcoming receivable due dates.
87
- pt: Lista os proximos vencimentos a receber.
120
+ pt: Lista os próximos vencimentos a receber.
121
+
122
+ - slug: pending-approvals-list
123
+ library_slug: finance
124
+ width: 4
125
+ height: 4
126
+ name:
127
+ en: Pending Approvals List
128
+ pt: Lista de Aprovações Pendentes
129
+ description:
130
+ en: Shows the most recent financial approvals waiting for action.
131
+ pt: Mostra as aprovações financeiras mais recentes aguardando ação.
132
+
133
+ - slug: receivable-aging-analysis
134
+ library_slug: finance
135
+ width: 12
136
+ height: 3
137
+ name:
138
+ en: Receivable Aging Analysis
139
+ pt: Análise de Aging do Recebível
140
+ description:
141
+ en: Breaks down overdue receivables by aging range.
142
+ pt: Detalha os recebíveis em atraso por faixa de vencimento.
@@ -43,6 +43,36 @@
43
43
  - component_id:
44
44
  where:
45
45
  slug: upcoming-receivable
46
+ role_id:
47
+ where:
48
+ slug: admin-finance
49
+ - component_id:
50
+ where:
51
+ slug: pending-approvals-kpi
52
+ role_id:
53
+ where:
54
+ slug: admin-finance
55
+ - component_id:
56
+ where:
57
+ slug: pending-reconciliation-kpi
58
+ role_id:
59
+ where:
60
+ slug: admin-finance
61
+ - component_id:
62
+ where:
63
+ slug: bank-reconciliation-status
64
+ role_id:
65
+ where:
66
+ slug: admin-finance
67
+ - component_id:
68
+ where:
69
+ slug: pending-approvals-list
70
+ role_id:
71
+ where:
72
+ slug: admin-finance
73
+ - component_id:
74
+ where:
75
+ slug: receivable-aging-analysis
46
76
  role_id:
47
77
  where:
48
78
  slug: admin-finance
@@ -0,0 +1,155 @@
1
+ - component_id:
2
+ where:
3
+ slug: cash-balance-kpi
4
+ library_slug: finance
5
+ dashboard_id:
6
+ where:
7
+ slug: finance-overview
8
+ width: 2
9
+ height: 1
10
+ x_axis: 0
11
+ y_axis: 0
12
+
13
+ - component_id:
14
+ where:
15
+ slug: payable-30d-kpi
16
+ library_slug: finance
17
+ dashboard_id:
18
+ where:
19
+ slug: finance-overview
20
+ width: 2
21
+ height: 1
22
+ x_axis: 2
23
+ y_axis: 0
24
+
25
+ - component_id:
26
+ where:
27
+ slug: receivable-30d-kpi
28
+ library_slug: finance
29
+ dashboard_id:
30
+ where:
31
+ slug: finance-overview
32
+ width: 2
33
+ height: 1
34
+ x_axis: 4
35
+ y_axis: 0
36
+
37
+ - component_id:
38
+ where:
39
+ slug: default-kpi
40
+ library_slug: finance
41
+ dashboard_id:
42
+ where:
43
+ slug: finance-overview
44
+ width: 2
45
+ height: 1
46
+ x_axis: 6
47
+ y_axis: 0
48
+
49
+ - component_id:
50
+ where:
51
+ slug: pending-approvals-kpi
52
+ library_slug: finance
53
+ dashboard_id:
54
+ where:
55
+ slug: finance-overview
56
+ width: 2
57
+ height: 1
58
+ x_axis: 8
59
+ y_axis: 0
60
+
61
+ - component_id:
62
+ where:
63
+ slug: pending-reconciliation-kpi
64
+ library_slug: finance
65
+ dashboard_id:
66
+ where:
67
+ slug: finance-overview
68
+ width: 2
69
+ height: 1
70
+ x_axis: 10
71
+ y_axis: 0
72
+
73
+ - component_id:
74
+ where:
75
+ slug: cash-flow-chart
76
+ library_slug: finance
77
+ dashboard_id:
78
+ where:
79
+ slug: finance-overview
80
+ width: 6
81
+ height: 6
82
+ x_axis: 0
83
+ y_axis: 1
84
+
85
+ - component_id:
86
+ where:
87
+ slug: financial-alerts
88
+ library_slug: finance
89
+ dashboard_id:
90
+ where:
91
+ slug: finance-overview
92
+ width: 6
93
+ height: 3
94
+ x_axis: 6
95
+ y_axis: 1
96
+
97
+ - component_id:
98
+ where:
99
+ slug: bank-reconciliation-status
100
+ library_slug: finance
101
+ dashboard_id:
102
+ where:
103
+ slug: finance-overview
104
+ width: 6
105
+ height: 3
106
+ x_axis: 6
107
+ y_axis: 4
108
+
109
+ - component_id:
110
+ where:
111
+ slug: upcoming-payable
112
+ library_slug: finance
113
+ dashboard_id:
114
+ where:
115
+ slug: finance-overview
116
+ width: 4
117
+ height: 4
118
+ x_axis: 0
119
+ y_axis: 7
120
+
121
+ - component_id:
122
+ where:
123
+ slug: upcoming-receivable
124
+ library_slug: finance
125
+ dashboard_id:
126
+ where:
127
+ slug: finance-overview
128
+ width: 4
129
+ height: 4
130
+ x_axis: 4
131
+ y_axis: 7
132
+
133
+ - component_id:
134
+ where:
135
+ slug: pending-approvals-list
136
+ library_slug: finance
137
+ dashboard_id:
138
+ where:
139
+ slug: finance-overview
140
+ width: 4
141
+ height: 4
142
+ x_axis: 8
143
+ y_axis: 7
144
+
145
+ - component_id:
146
+ where:
147
+ slug: receivable-aging-analysis
148
+ library_slug: finance
149
+ dashboard_id:
150
+ where:
151
+ slug: finance-overview
152
+ width: 12
153
+ height: 3
154
+ x_axis: 0
155
+ y_axis: 11
@@ -0,0 +1,6 @@
1
+ - dashboard_id:
2
+ where:
3
+ slug: finance-overview
4
+ role_id:
5
+ where:
6
+ slug: admin-finance
@@ -0,0 +1,6 @@
1
+ - role_id:
2
+ where:
3
+ slug: admin-finance
4
+ menu_id:
5
+ where:
6
+ slug: /
@@ -0,0 +1,127 @@
1
+ - role_id:
2
+ where:
3
+ slug: admin-finance
4
+ route_id:
5
+ where:
6
+ url: /dashboard-core/home
7
+ method: GET
8
+
9
+ - role_id:
10
+ where:
11
+ slug: admin-finance
12
+ route_id:
13
+ where:
14
+ url: /dashboard-core/access/:slug
15
+ method: GET
16
+
17
+ - role_id:
18
+ where:
19
+ slug: admin-finance
20
+ route_id:
21
+ where:
22
+ url: /dashboard-core/user-dashboards
23
+ method: GET
24
+
25
+ - role_id:
26
+ where:
27
+ slug: admin-finance
28
+ route_id:
29
+ where:
30
+ url: /dashboard-core/templates
31
+ method: GET
32
+
33
+ - role_id:
34
+ where:
35
+ slug: admin-finance
36
+ route_id:
37
+ where:
38
+ url: /dashboard-core/dashboard
39
+ method: POST
40
+
41
+ - role_id:
42
+ where:
43
+ slug: admin-finance
44
+ route_id:
45
+ where:
46
+ url: /dashboard-core/dashboard/:slug
47
+ method: PATCH
48
+
49
+ - role_id:
50
+ where:
51
+ slug: admin-finance
52
+ route_id:
53
+ where:
54
+ url: /dashboard-core/dashboard/:slug/home
55
+ method: POST
56
+
57
+ - role_id:
58
+ where:
59
+ slug: admin-finance
60
+ route_id:
61
+ where:
62
+ url: /dashboard-core/dashboard/:slug
63
+ method: DELETE
64
+
65
+ - role_id:
66
+ where:
67
+ slug: admin-finance
68
+ route_id:
69
+ where:
70
+ url: /dashboard-core/dashboard/:slug/shares
71
+ method: GET
72
+
73
+ - role_id:
74
+ where:
75
+ slug: admin-finance
76
+ route_id:
77
+ where:
78
+ url: /dashboard-core/dashboard/:slug/share
79
+ method: POST
80
+
81
+ - role_id:
82
+ where:
83
+ slug: admin-finance
84
+ route_id:
85
+ where:
86
+ url: /dashboard-core/dashboard/:slug/share/:sharedUserId
87
+ method: DELETE
88
+
89
+ - role_id:
90
+ where:
91
+ slug: admin-finance
92
+ route_id:
93
+ where:
94
+ url: /dashboard-core/shareable-users/:slug
95
+ method: GET
96
+
97
+ - role_id:
98
+ where:
99
+ slug: admin-finance
100
+ route_id:
101
+ where:
102
+ url: /dashboard-core/layout/:slug
103
+ method: GET
104
+
105
+ - role_id:
106
+ where:
107
+ slug: admin-finance
108
+ route_id:
109
+ where:
110
+ url: /dashboard-core/layout/:slug
111
+ method: POST
112
+
113
+ - role_id:
114
+ where:
115
+ slug: admin-finance
116
+ route_id:
117
+ where:
118
+ url: /dashboard-core/widget/:slug
119
+ method: POST
120
+
121
+ - role_id:
122
+ where:
123
+ slug: admin-finance
124
+ route_id:
125
+ where:
126
+ url: /dashboard-core/widget/:slug/:widgetId
127
+ method: DELETE
@@ -0,0 +1,108 @@
1
+ 'use client';
2
+
3
+ import {
4
+ Card,
5
+ CardContent,
6
+ CardDescription,
7
+ CardHeader,
8
+ CardTitle,
9
+ } from '@/components/ui/card';
10
+ import { cn } from '@/lib/utils';
11
+ import type { ReactNode } from 'react';
12
+
13
+ type FinancePageSectionProps = {
14
+ title?: ReactNode;
15
+ description?: ReactNode;
16
+ actions?: ReactNode;
17
+ children: ReactNode;
18
+ className?: string;
19
+ contentClassName?: string;
20
+ };
21
+
22
+ export function FinancePageSection({
23
+ title,
24
+ description,
25
+ actions,
26
+ children,
27
+ className,
28
+ contentClassName,
29
+ }: FinancePageSectionProps) {
30
+ const hasHeader = title || description || actions;
31
+
32
+ return (
33
+ <Card
34
+ className={cn(
35
+ 'overflow-hidden border-border/60 py-0 shadow-sm',
36
+ className
37
+ )}
38
+ >
39
+ {hasHeader ? (
40
+ <CardHeader className="flex flex-col gap-3 border-b border-border/50 px-5 py-4 sm:flex-row sm:items-start sm:justify-between">
41
+ <div className="space-y-1">
42
+ {title ? (
43
+ <CardTitle className="text-base">{title}</CardTitle>
44
+ ) : null}
45
+ {description ? (
46
+ <CardDescription>{description}</CardDescription>
47
+ ) : null}
48
+ </div>
49
+ {actions ? <div className="shrink-0">{actions}</div> : null}
50
+ </CardHeader>
51
+ ) : null}
52
+ <CardContent className={cn('p-0', contentClassName)}>
53
+ {children}
54
+ </CardContent>
55
+ </Card>
56
+ );
57
+ }
58
+
59
+ type FinanceSheetBodyProps = {
60
+ children: ReactNode;
61
+ className?: string;
62
+ };
63
+
64
+ export function FinanceSheetBody({
65
+ children,
66
+ className,
67
+ }: FinanceSheetBodyProps) {
68
+ return (
69
+ <div
70
+ className={cn(
71
+ 'flex-1 space-y-5 overflow-y-auto px-4 py-4 sm:px-6 sm:py-5',
72
+ className
73
+ )}
74
+ >
75
+ {children}
76
+ </div>
77
+ );
78
+ }
79
+
80
+ type FinanceSheetSectionProps = {
81
+ title: ReactNode;
82
+ description?: ReactNode;
83
+ children: ReactNode;
84
+ className?: string;
85
+ contentClassName?: string;
86
+ };
87
+
88
+ export function FinanceSheetSection({
89
+ title,
90
+ description,
91
+ children,
92
+ className,
93
+ contentClassName,
94
+ }: FinanceSheetSectionProps) {
95
+ return (
96
+ <section className={cn('', className)}>
97
+ <div className="mb-4 space-y-1">
98
+ <h3 className="text-sm font-semibold text-foreground">{title}</h3>
99
+ {description ? (
100
+ <p className="text-sm leading-relaxed text-muted-foreground">
101
+ {description}
102
+ </p>
103
+ ) : null}
104
+ </div>
105
+ <div className={cn('space-y-4', contentClassName)}>{children}</div>
106
+ </section>
107
+ );
108
+ }