mintly-lib 2.14.0-preview → 2.15.0-preview

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.
@@ -11,6 +11,19 @@ export interface ExpensesQuery {
11
11
  channel?: MovementChannel.DineIn | MovementChannel.Delivery;
12
12
  }
13
13
  export type ExpenseItemKind = 'category' | 'platformFee';
14
+ /** Subitem de uma categoria (fatia 7): uma subcategoria, ou "Sem subitem" (`key: 'none'`). */
15
+ export interface ExpenseSubitem {
16
+ key: string;
17
+ subcategoryId: string | null;
18
+ /** Nome atual da subcategoria (mesmo inativa); "Sem subitem". */
19
+ name: string;
20
+ amount: number;
21
+ previous: number;
22
+ average3: number | null;
23
+ deltaPrevious: number | null;
24
+ deltaAverage3: number | null;
25
+ anomaly: boolean;
26
+ }
14
27
  /** Linha de "Para onde está indo seu dinheiro": categoria ou taxa de uma conta de plataforma. */
15
28
  export interface ExpenseItem {
16
29
  /** categoryId, ou `platformFee:<accountId>`. */
@@ -27,6 +40,17 @@ export interface ExpenseItem {
27
40
  deltaPrevious: number | null;
28
41
  deltaAverage3: number | null;
29
42
  pctOfRevenue: number | null;
43
+ /** [] quando a categoria não tem lançamento com subcategoria na janela; taxa → []. */
44
+ subitems: ExpenseSubitem[];
45
+ /** Selo "alerta": a categoria inteira ou algum subitem dela é atípico no mês. */
46
+ hasAnomaly: boolean;
47
+ /** 6 meses, do mais antigo ao mês de referência (gráfico "Por categoria"). */
48
+ history: {
49
+ month: string;
50
+ amount: number;
51
+ }[];
52
+ /** Projeção do mês atual; null em mês fechado. */
53
+ projected: number | null;
30
54
  }
31
55
  export interface ExpensesTotal {
32
56
  current: number;
@@ -41,8 +65,36 @@ export interface ExpensesPlatformFee {
41
65
  deltaPrevious: number | null;
42
66
  /** Σ receita bruta de canal efetivo delivery no mês. */
43
67
  deliveryRevenue: number;
68
+ /** Taxa / Σ receita bruta das contas de plataforma (a taxa e a venda que a gerou no mesmo denominador). */
44
69
  pctOfDelivery: number | null;
45
70
  }
71
+ /** Gasto atípico do mês ("Fique de olho"). Regra em `ExpensesReport.anomalyRule`. */
72
+ export interface ExpenseAnomaly {
73
+ /** `ExpenseItem.key` da categoria. */
74
+ itemKey: string;
75
+ categoryId: string | null;
76
+ categoryName: string;
77
+ subcategoryId: string | null;
78
+ /** `ExpenseSubitem.key`; null = a categoria inteira foi avaliada (sem subitens). */
79
+ subitemKey: string | null;
80
+ name: string;
81
+ amount: number;
82
+ average3: number;
83
+ excess: number;
84
+ pctAbove: number;
85
+ }
86
+ /** Projeção linear do mês atual: total até hoje × daysInMonth / elapsedDays. */
87
+ export interface ExpensesProjection {
88
+ total: number;
89
+ elapsedDays: number;
90
+ daysInMonth: number;
91
+ }
92
+ /** Critério de anomalia (N4 — palpite, ainda não validado pelo negócio). */
93
+ export interface ExpensesAnomalyRule {
94
+ minPctAbove: number;
95
+ minExcess: number;
96
+ minHistoryMonths: number;
97
+ }
46
98
  export interface ExpensesReport {
47
99
  referenceMonth: string;
48
100
  previousMonth: string;
@@ -82,5 +134,10 @@ export interface ExpensesReport {
82
134
  month: string;
83
135
  total: number;
84
136
  }[];
137
+ /** Maior excedente primeiro. Só o mês de referência. */
138
+ anomalies: ExpenseAnomaly[];
139
+ /** Só quando o mês de referência é o mês atual. */
140
+ projection: ExpensesProjection | null;
141
+ anomalyRule: ExpensesAnomalyRule;
85
142
  }
86
143
  //# sourceMappingURL=expenses-response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expenses-response.d.ts","sourceRoot":"","sources":["../../../../src/core/data/reports/expenses-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAA;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAE7E;;;;GAIG;AAEH,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAA;CAC5D;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,aAAa,CAAA;AAExD,iGAAiG;AACjG,MAAM,WAAW,WAAW;IAC1B,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,eAAe,CAAA;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;IAC/B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9C,KAAK,EAAE,aAAa,CAAA;IACpB,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;IAC1F,SAAS,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACzG,WAAW,EAAE,mBAAmB,CAAA;IAChC,8CAA8C;IAC9C,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9D,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,gFAAgF;IAChF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,oDAAoD;IACpD,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC5C"}
1
+ {"version":3,"file":"expenses-response.d.ts","sourceRoot":"","sources":["../../../../src/core/data/reports/expenses-response.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mintly-lib",
3
- "version": "2.14.0-preview",
3
+ "version": "2.15.0-preview",
4
4
  "description": "Mintly Library",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",