@fayz-ai/plugin-financial 0.1.6 → 0.2.0

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 (50) hide show
  1. package/dist/FinancialContext.d.ts +2 -0
  2. package/dist/FinancialContext.d.ts.map +1 -1
  3. package/dist/FinancialPage.d.ts.map +1 -1
  4. package/dist/data/index.d.ts +1 -0
  5. package/dist/data/index.d.ts.map +1 -1
  6. package/dist/data/mock.d.ts +15 -0
  7. package/dist/data/mock.d.ts.map +1 -1
  8. package/dist/data/supabase.d.ts.map +1 -1
  9. package/dist/data/types.d.ts +2 -1
  10. package/dist/data/types.d.ts.map +1 -1
  11. package/dist/index.cjs +1531 -201
  12. package/dist/index.cjs.map +1 -1
  13. package/dist/index.d.ts +13 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1393 -80
  16. package/dist/index.js.map +1 -1
  17. package/dist/locales/en.d.ts.map +1 -1
  18. package/dist/locales/pt-BR.d.ts.map +1 -1
  19. package/dist/quick-add.d.ts +13 -0
  20. package/dist/quick-add.d.ts.map +1 -0
  21. package/dist/store.d.ts +3 -1
  22. package/dist/store.d.ts.map +1 -1
  23. package/dist/types.d.ts +42 -0
  24. package/dist/types.d.ts.map +1 -1
  25. package/dist/views/CardsView.d.ts.map +1 -1
  26. package/dist/views/InvoiceListView.d.ts.map +1 -1
  27. package/dist/views/QuickTransactionForm.d.ts +16 -0
  28. package/dist/views/QuickTransactionForm.d.ts.map +1 -0
  29. package/dist/views/SummaryView.d.ts +5 -4
  30. package/dist/views/SummaryView.d.ts.map +1 -1
  31. package/dist/views/dashboardWidgets.d.ts.map +1 -1
  32. package/package.json +4 -7
  33. package/src/FinancialContext.tsx +2 -0
  34. package/src/FinancialPage.tsx +86 -7
  35. package/src/data/capability.test.ts +45 -0
  36. package/src/data/index.ts +1 -0
  37. package/src/data/mock.ts +50 -10
  38. package/src/data/supabase.ts +46 -3
  39. package/src/data/types.ts +2 -1
  40. package/src/index.ts +24 -4
  41. package/src/locales/en.ts +75 -0
  42. package/src/locales/pt-BR.ts +75 -0
  43. package/src/quick-add.ts +58 -0
  44. package/src/store.ts +88 -0
  45. package/src/types.ts +45 -0
  46. package/src/views/CardsView.tsx +186 -50
  47. package/src/views/InvoiceListView.tsx +60 -3
  48. package/src/views/QuickTransactionForm.tsx +537 -0
  49. package/src/views/SummaryView.tsx +197 -6
  50. package/src/views/dashboardWidgets.tsx +251 -5
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqZrC,CAAA"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgerC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"pt-BR.d.ts","sourceRoot":"","sources":["../../src/locales/pt-BR.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqZvC,CAAA"}
1
+ {"version":3,"file":"pt-BR.d.ts","sourceRoot":"","sources":["../../src/locales/pt-BR.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgevC,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { QuickTransactionType } from './types';
2
+ export interface QuickAddRequest {
3
+ type: QuickTransactionType;
4
+ /** Foreground the receipt/attachment step + auto-open the picker. */
5
+ receipt: boolean;
6
+ }
7
+ /** Fire a quick-add request from anywhere. Default = an expense. */
8
+ export declare function openQuickAdd(type?: QuickTransactionType, receipt?: boolean): void;
9
+ /** Read + clear the pending request (one-shot). */
10
+ export declare function consumeQuickAdd(): QuickAddRequest | null;
11
+ /** React binding — returns the pending request (null when none). */
12
+ export declare function usePendingQuickAdd(): QuickAddRequest | null;
13
+ //# sourceMappingURL=quick-add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quick-add.d.ts","sourceRoot":"","sources":["../src/quick-add.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEnD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,oBAAoB,CAAA;IAC1B,qEAAqE;IACrE,OAAO,EAAE,OAAO,CAAA;CACjB;AASD,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,IAAI,GAAE,oBAAgC,EAAE,OAAO,UAAQ,GAAG,IAAI,CAG1F;AAED,mDAAmD;AACnD,wBAAgB,eAAe,IAAI,eAAe,GAAG,IAAI,CAIxD;AAaD,oEAAoE;AACpE,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAE3D"}
package/dist/store.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type StoreApi } from 'zustand/vanilla';
2
2
  import type { FinancialDataProvider } from './data/types';
3
- import type { Invoice, FinancialMovement, BankAccount, CashSession, PaymentMethod, PaymentMethodType, CardTransaction, FinancialSummary, StatementResult, InvoiceQuery, StatementQuery, CreateInvoiceInput, PayMovementInput, CreateTransferInput, OpenCashSessionInput, CloseCashSessionInput, DateRange } from './types';
3
+ import type { Invoice, FinancialMovement, BankAccount, CashSession, PaymentMethod, PaymentMethodType, CardTransaction, FinancialSummary, StatementResult, InvoiceQuery, StatementQuery, CreateInvoiceInput, PayMovementInput, CreateTransferInput, OpenCashSessionInput, CloseCashSessionInput, QuickTransactionInput, DateRange } from './types';
4
4
  export interface FinancialUIState {
5
5
  invoices: Invoice[];
6
6
  invoicesTotal: number;
@@ -30,6 +30,8 @@ export interface FinancialUIState {
30
30
  fetchStatement(query: StatementQuery): Promise<void>;
31
31
  fetchCardTransactions(dateRange?: DateRange): Promise<void>;
32
32
  createInvoice(input: CreateInvoiceInput): Promise<Invoice>;
33
+ /** FAY-1225 "log money in a few taps": one call → the right provider plumbing + full surface refresh. */
34
+ createQuickTransaction(input: QuickTransactionInput): Promise<void>;
33
35
  payMovement(input: PayMovementInput): Promise<void>;
34
36
  createTransfer(input: CreateTransferInput): Promise<void>;
35
37
  cancelInvoice(invoiceId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,KAAK,EACV,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EACpD,aAAa,EAAE,iBAAiB,EAAE,eAAe,EACjD,gBAAgB,EAAE,eAAe,EACjC,YAAY,EAAiB,cAAc,EAC3C,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EACzD,oBAAoB,EAAE,qBAAqB,EAC3C,SAAS,EACV,MAAM,SAAS,CAAA;AAMhB,MAAM,WAAW,gBAAgB;IAE/B,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,YAAY,CAAA;IAE1B,SAAS,EAAE,iBAAiB,EAAE,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,OAAO,CAAA;IAEzB,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAE5B,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAE5B,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;IAEvC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAChC,cAAc,EAAE,OAAO,CAAA;IAEvB,SAAS,EAAE,eAAe,GAAG,IAAI,CAAA;IACjC,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAA;IAErC,gBAAgB,EAAE,eAAe,EAAE,CAAA;IACnC,YAAY,EAAE,OAAO,CAAA;IAGrB,YAAY,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,qBAAqB,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3D,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAClE,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;CACrE;AAMD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CA4KhG"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,KAAK,EACV,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EACpD,aAAa,EAAE,iBAAiB,EAAE,eAAe,EACjD,gBAAgB,EAAE,eAAe,EACjC,YAAY,EAAiB,cAAc,EAC3C,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EACzD,oBAAoB,EAAE,qBAAqB,EAC3C,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;AAMhB,MAAM,WAAW,gBAAgB;IAE/B,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,YAAY,CAAA;IAE1B,SAAS,EAAE,iBAAiB,EAAE,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,OAAO,CAAA;IAEzB,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAE5B,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAE5B,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;IAEvC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAChC,cAAc,EAAE,OAAO,CAAA;IAEvB,SAAS,EAAE,eAAe,GAAG,IAAI,CAAA;IACjC,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAA;IAErC,gBAAgB,EAAE,eAAe,EAAE,CAAA;IACnC,YAAY,EAAE,OAAO,CAAA;IAGrB,YAAY,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,qBAAqB,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3D,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,yGAAyG;IACzG,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnE,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAClE,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;CACrE;AAMD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAiQhG"}
package/dist/types.d.ts CHANGED
@@ -167,6 +167,15 @@ export interface ChartOfAccountsNode {
167
167
  tenantId: string;
168
168
  createdAt: string;
169
169
  }
170
+ export interface CostCenter {
171
+ id: string;
172
+ code: string;
173
+ name: string;
174
+ isActive: boolean;
175
+ tenantId: string;
176
+ createdAt: string;
177
+ updatedAt: string;
178
+ }
170
179
  export interface CardTransaction {
171
180
  id: string;
172
181
  movementId: string;
@@ -267,6 +276,8 @@ export interface InvoiceQuery {
267
276
  direction?: TransactionDirection;
268
277
  status?: InvoiceStatus | InvoiceStatus[];
269
278
  contactId?: string;
279
+ accountId?: string;
280
+ costCenterId?: string;
270
281
  dateRange?: DateRange;
271
282
  search?: string;
272
283
  page?: number;
@@ -294,6 +305,37 @@ export interface CreateTransferInput {
294
305
  date: string;
295
306
  notes?: string;
296
307
  }
308
+ /**
309
+ * "Log money in a few taps" (FAY-1225). A single-transaction quick-add that the
310
+ * store expands into the right provider calls: expense/income → createInvoice
311
+ * (+ payMovement when marked paid); transfer → createTransfer. Keeps the
312
+ * Mobills-style form dumb — it only collects fields, the store does the plumbing.
313
+ */
314
+ export type QuickTransactionType = 'expense' | 'income' | 'transfer';
315
+ export interface QuickTransactionInput {
316
+ type: QuickTransactionType;
317
+ /** Positive amount in the account currency */
318
+ amount: number;
319
+ /** YYYY-MM-DD */
320
+ date: string;
321
+ /** When true, the movement is settled immediately (creates a paid cash event). */
322
+ paid: boolean;
323
+ description?: string;
324
+ /** Chart-of-accounts / cost-center id (category chip) */
325
+ categoryId?: string;
326
+ /** expense/income: bank account or card. transfer: source account. */
327
+ bankAccountId?: string;
328
+ /** transfer: destination account */
329
+ toAccountId?: string;
330
+ /** Marks the transaction as recurring (stored in metadata; UI affordance). */
331
+ recurring?: boolean;
332
+ /**
333
+ * FAY-1226 "snap a receipt": a captured/attached receipt image as a data URL
334
+ * (mock mode has no Supabase bucket). Persisted on the created invoice's
335
+ * metadata so the transaction feed can show a 📎 indicator + preview.
336
+ */
337
+ receiptUrl?: string;
338
+ }
297
339
  export interface TransferResult {
298
340
  /** Shared correlation id stored in both legs' metadata */
299
341
  transferId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardsView.d.ts","sourceRoot":"","sources":["../../src/views/CardsView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAMxC,wBAAgB,SAAS,sBAmExB"}
1
+ {"version":3,"file":"CardsView.d.ts","sourceRoot":"","sources":["../../src/views/CardsView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAsB3D,wBAAgB,SAAS,sBA2LxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"InvoiceListView.d.ts","sourceRoot":"","sources":["../../src/views/InvoiceListView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAQ3D,OAAO,KAAK,EAAE,oBAAoB,EAA0B,MAAM,UAAU,CAAA;AA2E5E,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAC5D,SAAS,EAAE,oBAAoB,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;IAClB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B,qBAyFA"}
1
+ {"version":3,"file":"InvoiceListView.d.ts","sourceRoot":"","sources":["../../src/views/InvoiceListView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAQ3D,OAAO,KAAK,EAAE,oBAAoB,EAA2D,MAAM,UAAU,CAAA;AA2E7G,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAC5D,SAAS,EAAE,oBAAoB,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;IAClB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B,qBAkJA"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import type { QuickTransactionType } from '../types';
3
+ export declare function QuickTransactionForm({ open, onOpenChange, defaultType, defaultAccountId, focusReceipt }: {
4
+ open: boolean;
5
+ onOpenChange: (open: boolean) => void;
6
+ defaultType?: QuickTransactionType;
7
+ /** Preselect an account (e.g. opening from a specific card tile → log an expense against it). */
8
+ defaultAccountId?: string;
9
+ /**
10
+ * FAY-1226 "snap a receipt": open with the attachment step foregrounded — a
11
+ * prominent capture card at the top of the sheet + auto-open the image picker
12
+ * (mobile offers the camera). Used by the "Enviar recibo" entry point.
13
+ */
14
+ focusReceipt?: boolean;
15
+ }): React.JSX.Element;
16
+ //# sourceMappingURL=QuickTransactionForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuickTransactionForm.d.ts","sourceRoot":"","sources":["../../src/views/QuickTransactionForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAUnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAoIpD,wBAAgB,oBAAoB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAuB,EAAE,gBAAgB,EAAE,YAAoB,EAAE,EAAE;IAC5H,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,iGAAiG;IACjG,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,qBA8XA"}
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  /**
3
- * Financial summary. KPIs, cash-flow chart, breakdown, overdue alerts and the
4
- * recent-transactions table are registered dashboard widgets (see
5
- * ./dashboardWidgets), rendered through the shared DashboardCanvas; the
6
- * total-balance KPI also surfaces on the global app home.
3
+ * Financial summary. On desktop (md+) it renders the rich multi-column dashboard
4
+ * (KPI cards + Fluxo de Caixa chart + breakdown + overdue alerts + recent-
5
+ * transactions table) via the shared DashboardCanvas. On mobile (<md) it swaps
6
+ * to a Mobills-grade experience: a compact KPI strip over a date-grouped
7
+ * transaction list. The two paths share the same store — no forked screen.
7
8
  */
8
9
  export declare function SummaryView(): React.JSX.Element;
9
10
  //# sourceMappingURL=SummaryView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SummaryView.d.ts","sourceRoot":"","sources":["../../src/views/SummaryView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;GAKG;AACH,wBAAgB,WAAW,sBAE1B"}
1
+ {"version":3,"file":"SummaryView.d.ts","sourceRoot":"","sources":["../../src/views/SummaryView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAUjD;;;;;;GAMG;AACH,wBAAgB,WAAW,sBAgB1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboardWidgets.d.ts","sourceRoot":"","sources":["../../src/views/dashboardWidgets.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAMvD,OAAO,EAAmF,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AACnJ,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAuJhD,wBAAgB,+BAA+B,CAAC,GAAG,EAAE;IACnD,MAAM,EAAE,uBAAuB,CAAA;IAC/B,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;CAClC,GAAG,kBAAkB,EAAE,CAuBvB"}
1
+ {"version":3,"file":"dashboardWidgets.d.ts","sourceRoot":"","sources":["../../src/views/dashboardWidgets.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAMvD,OAAO,EAAyG,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AACzK,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAgYhD,wBAAgB,+BAA+B,CAAC,GAAG,EAAE;IACnD,MAAM,EAAE,uBAAuB,CAAA;IAC/B,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;CAClC,GAAG,kBAAkB,EAAE,CAoCvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fayz-ai/plugin-financial",
3
- "version": "0.1.6",
3
+ "version": "0.2.0",
4
4
  "description": "Fayz SDK — plugin-financial plugin",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -26,9 +26,9 @@
26
26
  "lucide-react": "^0.400.0",
27
27
  "zustand": "^4.5.0",
28
28
  "@tanstack/react-table": "^8.20.0",
29
- "@fayz-ai/core": "^0.5.0",
30
- "@fayz-ai/ui": "^0.5.0",
31
- "@fayz-ai/saas": "^0.5.0"
29
+ "@fayz-ai/ui": "^0.6.6",
30
+ "@fayz-ai/saas": "^0.6.6",
31
+ "@fayz-ai/core": "^0.6.6"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/react": "^18.3.0",
@@ -45,9 +45,6 @@
45
45
  "fayz-plugin",
46
46
  "fayz-sdk"
47
47
  ],
48
- "publishConfig": {
49
- "access": "public"
50
- },
51
48
  "scripts": {
52
49
  "build": "tsup && tsc --emitDeclarationOnly --declaration --declarationMap --noEmit false",
53
50
  "dev": "tsup --watch",
@@ -28,6 +28,8 @@ export interface LocationOption {
28
28
 
29
29
  export interface ResolvedFinancialConfig {
30
30
  modules: FinancialModules
31
+ /** Show the plugin's own quick-add header buttons / FAB. Opt-in (default false). */
32
+ quickAdd: boolean
31
33
  labels: FinancialPluginLabels
32
34
  currency: FinancialCurrency
33
35
  itemTypes: ItemTypeOption[]
@@ -1,4 +1,4 @@
1
- import React, { useState, useCallback, useMemo } from 'react'
1
+ import React, { useState, useCallback, useMemo, useEffect } from 'react'
2
2
  import type { StoreApi } from 'zustand/vanilla'
3
3
  import { useTranslation } from '@fayz-ai/core'
4
4
  import { ModulePage, PageTransition, type ModuleNavItem } from '@fayz-ai/ui'
@@ -8,6 +8,11 @@ import type { FinancialUIState } from './store'
8
8
  import type { PluginRegistryDef, PluginQuickAction } from '@fayz-ai/core'
9
9
  import { useModuleNavigation, ModuleActionBar, parseViewId, PluginSettingsPanel } from '@fayz-ai/saas'
10
10
  import { SummaryView } from './views/SummaryView'
11
+ import { QuickTransactionForm } from './views/QuickTransactionForm'
12
+ import { usePendingQuickAdd, consumeQuickAdd } from './quick-add'
13
+ import type { QuickTransactionType } from './types'
14
+ import { Plus } from 'lucide-react'
15
+ import { Button } from '@fayz-ai/ui'
11
16
  import { PayablesView } from './views/PayablesView'
12
17
  import { ReceivablesView } from './views/ReceivablesView'
13
18
  import { CashRegistersView } from './views/CashRegistersView'
@@ -160,12 +165,58 @@ export function FinancialPage({ config, provider, store, registries }: {
160
165
  try { return localStorage.getItem('saas-core:financial-onboarded') === 'true' } catch { return false }
161
166
  })
162
167
 
168
+ // Skip the welcome wizard when the provider already has transactions — a user
169
+ // (or a seeded demo/dogfood provider) with existing data should land on the
170
+ // populated Summary, not a "let's get started" flow.
171
+ useEffect(() => {
172
+ if (onboardingComplete) return
173
+ let cancelled = false
174
+ void provider.getMovements({ pageSize: 1 })
175
+ .then((res) => { if (!cancelled && res.total > 0) setOnboardingComplete(true) })
176
+ .catch(() => { /* leave onboarding as-is on error */ })
177
+ return () => { cancelled = true }
178
+ }, [onboardingComplete, provider])
179
+
163
180
  const t = useTranslation()
164
181
  const intent = parseIntent(view)
165
182
  const isSettings = view === 'settings'
166
183
  const nav = buildNav(config, view, navigate, t)
167
184
 
185
+ // FAY-1225 "log money in a few taps": a reachable quick-add that opens the
186
+ // Mobills-grade transaction sheet (default = expense). Prominent primary
187
+ // button on desktop + a thumb-reachable FAB on mobile.
188
+ const [quickAddOpen, setQuickAddOpen] = useState(false)
189
+ const [quickAddType, setQuickAddType] = useState<QuickTransactionType>('expense')
190
+ // FAY-1226 "snap a receipt": when true, the sheet foregrounds the attachment
191
+ // step + auto-opens the camera/gallery picker.
192
+ const [quickAddReceipt, setQuickAddReceipt] = useState(false)
193
+ const openQuickAdd = useCallback((type: QuickTransactionType = 'expense') => {
194
+ setQuickAddType(type)
195
+ setQuickAddReceipt(false)
196
+ setQuickAddOpen(true)
197
+ }, [])
198
+
199
+ // FAY-1242: open the sheet on a global quick-add request (the app shell's
200
+ // elevated center "+" button). One-shot — consumed so it never re-fires.
201
+ const pendingQuickAdd = usePendingQuickAdd()
202
+ useEffect(() => {
203
+ if (!pendingQuickAdd) return
204
+ const req = consumeQuickAdd()
205
+ if (!req) return
206
+ setQuickAddType(req.type)
207
+ setQuickAddReceipt(req.receipt)
208
+ setQuickAddOpen(true)
209
+ }, [pendingQuickAdd])
210
+
211
+ // One-primary-action rule (FAY-1247): each module surfaces exactly ONE primary
212
+ // add affordance and config picks its face — never both. When quickAdd is the
213
+ // primary action (B2C, e.g. norman), suppress the ERP "+ New" menu here so the
214
+ // header shows only the quick-add "Nova transação" button. Payables are still
215
+ // covered: the quick-add sheet's "Pago: Não" creates an unpaid conta a pagar.
216
+ // When quickAdd is off (ERP default, beauty) this returns the payable/receivable/
217
+ // cash actions and no quick-add buttons render — exactly today's behavior.
168
218
  const quickActions = useMemo<PluginQuickAction[]>(() => {
219
+ if (config.quickAdd) return []
169
220
  const actions: PluginQuickAction[] = []
170
221
  if (config.modules.payables) {
171
222
  actions.push({
@@ -195,7 +246,7 @@ export function FinancialPage({ config, provider, store, registries }: {
195
246
  })
196
247
  }
197
248
  return actions
198
- }, [config.modules])
249
+ }, [config.modules, config.quickAdd])
199
250
 
200
251
  function handleOnboardingComplete() {
201
252
  setOnboardingComplete(true)
@@ -262,14 +313,42 @@ export function FinancialPage({ config, provider, store, registries }: {
262
313
  viewKey={view}
263
314
  direction={direction}
264
315
  headerAction={
265
- <ModuleActionBar
266
- quickActions={quickActions}
267
- settingsPath={registries && registries.length > 0 ? '/settings/financial' : undefined}
268
- settingsLabel={t('financial.settingsPage.title')}
269
- />
316
+ <div className="flex items-center gap-2">
317
+ {config.quickAdd && (
318
+ // One-primary-action rule (FAY-1247): quick-add is the single primary
319
+ // add affordance in B2C mode. The receipt entry point lives inside the
320
+ // sheet's "Fotografar ou anexar recibo" attachment step, so no separate
321
+ // "Enviar recibo" button is needed here.
322
+ <Button
323
+ size="sm"
324
+ className="hidden md:inline-flex"
325
+ onClick={() => openQuickAdd('expense')}
326
+ >
327
+ <Plus className="h-4 w-4" />
328
+ {t('financial.quickTx.newTransaction')}
329
+ </Button>
330
+ )}
331
+ <ModuleActionBar
332
+ quickActions={quickActions}
333
+ settingsPath={registries && registries.length > 0 ? '/settings/financial' : undefined}
334
+ settingsLabel={t('financial.settingsPage.title')}
335
+ />
336
+ </div>
270
337
  }
271
338
  >
272
339
  {renderView()}
340
+
341
+ {/* FAY-1242: the mobile quick-add + receipt FAB stack was removed — the
342
+ app shell's elevated center "+" bottom-nav button now owns global
343
+ quick-add (via openQuickAdd), and receipts stay reachable through the
344
+ form's Anexo step. Desktop keeps its header buttons above. */}
345
+
346
+ <QuickTransactionForm
347
+ open={quickAddOpen}
348
+ onOpenChange={setQuickAddOpen}
349
+ defaultType={quickAddType}
350
+ focusReceipt={quickAddReceipt}
351
+ />
273
352
  </ModulePage>
274
353
  </FinancialContextProvider>
275
354
  )
@@ -25,6 +25,51 @@ describe('plugin-financial · invoice/movement slice (mock provider)', () => {
25
25
  const movs = await provider.getMovements({ direction: 'credit' })
26
26
  expect(movs.data.some((m) => m.invoiceId === invoice.id && m.amount === 300)).toBe(true)
27
27
  })
28
+
29
+ it('filters invoices by item account and cost center assignments', async () => {
30
+ const provider = createMockFinancialProvider()
31
+ const target = await provider.createInvoice({
32
+ direction: 'debit',
33
+ invoiceDate: '2026-06-01',
34
+ contactName: 'Supplier A',
35
+ items: [{
36
+ itemKind: 'other',
37
+ description: 'Supplies',
38
+ quantity: 1,
39
+ unitPrice: 120,
40
+ accountId: 'coa-expenses',
41
+ costCenterId: 'cc-salon',
42
+ }],
43
+ installments: [
44
+ { direction: 'debit', movementKind: 'bill', amount: 120, dueDate: '2026-06-10', installmentNumber: 1 },
45
+ ],
46
+ })
47
+ await provider.createInvoice({
48
+ direction: 'debit',
49
+ invoiceDate: '2026-06-01',
50
+ contactName: 'Supplier B',
51
+ items: [{
52
+ itemKind: 'other',
53
+ description: 'Marketing',
54
+ quantity: 1,
55
+ unitPrice: 80,
56
+ accountId: 'coa-marketing',
57
+ costCenterId: 'cc-marketing',
58
+ }],
59
+ installments: [
60
+ { direction: 'debit', movementKind: 'bill', amount: 80, dueDate: '2026-06-10', installmentNumber: 1 },
61
+ ],
62
+ })
63
+
64
+ const byAccount = await provider.getInvoices({ direction: 'debit', accountId: 'coa-expenses' })
65
+ expect(byAccount.data.map((invoice) => invoice.id)).toEqual([target.id])
66
+
67
+ const byCostCenter = await provider.getInvoices({ direction: 'debit', costCenterId: 'cc-salon' })
68
+ expect(byCostCenter.data.map((invoice) => invoice.id)).toEqual([target.id])
69
+
70
+ const byBoth = await provider.getInvoices({ direction: 'debit', accountId: 'coa-expenses', costCenterId: 'cc-marketing' })
71
+ expect(byBoth.data).toHaveLength(0)
72
+ })
28
73
  })
29
74
 
30
75
  describe('plugin-financial · ⚖️ reconciliation capability (mock provider)', () => {
package/src/data/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export type { FinancialDataProvider } from './types'
2
2
  export { createMockFinancialProvider } from './mock'
3
+ export type { MockFinancialSeed, MockFinancialProviderOptions } from './mock'
package/src/data/mock.ts CHANGED
@@ -2,7 +2,7 @@ import type { FinancialDataProvider } from './types'
2
2
  import type {
3
3
  Invoice, InvoiceItem, FinancialMovement, BankAccount,
4
4
  CashSession, PaymentMethod, PaymentMethodType, ChartOfAccountsNode,
5
- CardTransaction,
5
+ CostCenter, CardTransaction,
6
6
  CreateInvoiceInput, PayMovementInput, CreateTransferInput, TransferResult,
7
7
  OpenCashSessionInput, CloseCashSessionInput, CreateBankAccountInput,
8
8
  InvoiceQuery, MovementQuery, StatementQuery,
@@ -62,13 +62,15 @@ interface MockStore {
62
62
  paymentMethods: PaymentMethod[]
63
63
  paymentMethodTypes: PaymentMethodType[]
64
64
  chartOfAccounts: ChartOfAccountsNode[]
65
+ costCenters: CostCenter[]
65
66
  cardTransactions: CardTransaction[]
66
67
  }
67
68
 
68
- function createStore(seedPaymentMethodTypes?: Array<{ name: string; transactionType?: string }>): MockStore {
69
+ function createStore(options?: MockFinancialProviderOptions): MockStore {
69
70
  const tenantId = 'mock-tenant'
71
+ const seed = options?.seed
70
72
 
71
- const defaultPMTypes: PaymentMethodType[] = (seedPaymentMethodTypes ?? [
73
+ const defaultPMTypes: PaymentMethodType[] = (options?.paymentMethodTypes ?? [
72
74
  { name: 'Cash', transactionType: 'cash' },
73
75
  { name: 'Credit Card', transactionType: 'credit_card' },
74
76
  { name: 'Debit Card', transactionType: 'debit_card' },
@@ -109,14 +111,18 @@ function createStore(seedPaymentMethodTypes?: Array<{ name: string; transactionT
109
111
  }
110
112
 
111
113
  return {
112
- invoices: [],
113
- invoiceItems: [],
114
- movements: [],
115
- bankAccounts: [cashAccount, bankAccount],
114
+ // Seeded data (when provided) makes the module render as if the user already
115
+ // has accounts + transactions — a populated Summary/Statements instead of the
116
+ // empty onboarding state. Seed arrays are copied so the caller's data is not mutated.
117
+ invoices: seed?.invoices ? [...seed.invoices] : [],
118
+ invoiceItems: seed?.invoiceItems ? [...seed.invoiceItems] : [],
119
+ movements: seed?.movements ? [...seed.movements] : [],
120
+ bankAccounts: seed?.bankAccounts ? [...seed.bankAccounts] : [cashAccount, bankAccount],
116
121
  cashSessions: [],
117
- paymentMethods: [],
122
+ paymentMethods: seed?.paymentMethods ? [...seed.paymentMethods] : [],
118
123
  paymentMethodTypes: defaultPMTypes,
119
124
  chartOfAccounts: [],
125
+ costCenters: [],
120
126
  cardTransactions: [],
121
127
  }
122
128
  }
@@ -125,12 +131,27 @@ function createStore(seedPaymentMethodTypes?: Array<{ name: string; transactionT
125
131
  // Mock provider factory
126
132
  // ---------------------------------------------------------------------------
127
133
 
134
+ /**
135
+ * Pre-populated store data. Any omitted collection stays empty (except
136
+ * bankAccounts, which fall back to the two default mock accounts when absent).
137
+ * Pass full domain objects — the mock treats them as the existing ledger.
138
+ */
139
+ export interface MockFinancialSeed {
140
+ bankAccounts?: BankAccount[]
141
+ invoices?: Invoice[]
142
+ invoiceItems?: InvoiceItem[]
143
+ movements?: FinancialMovement[]
144
+ paymentMethods?: PaymentMethod[]
145
+ }
146
+
128
147
  export interface MockFinancialProviderOptions {
129
148
  paymentMethodTypes?: Array<{ name: string; transactionType?: string }>
149
+ /** Pre-seed the in-memory store so the module renders populated (not the empty state). */
150
+ seed?: MockFinancialSeed
130
151
  }
131
152
 
132
153
  export function createMockFinancialProvider(options?: MockFinancialProviderOptions): FinancialDataProvider {
133
- const store = createStore(options?.paymentMethodTypes)
154
+ const store = createStore(options)
134
155
  const tenantId = 'mock-tenant'
135
156
 
136
157
  function recalcInvoiceStatus(invoice: Invoice): void {
@@ -154,6 +175,14 @@ export function createMockFinancialProvider(options?: MockFinancialProviderOptio
154
175
  if (query.direction) results = results.filter((i) => i.direction === query.direction)
155
176
  if (query.status) results = results.filter((i) => matchesStatus(i.status, query.status as InvoiceStatus | InvoiceStatus[]))
156
177
  if (query.contactId) results = results.filter((i) => i.contactId === query.contactId)
178
+ if (query.accountId) {
179
+ const invoiceIds = new Set(store.invoiceItems.filter((item) => item.accountId === query.accountId).map((item) => item.invoiceId))
180
+ results = results.filter((invoice) => invoiceIds.has(invoice.id))
181
+ }
182
+ if (query.costCenterId) {
183
+ const invoiceIds = new Set(store.invoiceItems.filter((item) => item.costCenterId === query.costCenterId).map((item) => item.invoiceId))
184
+ results = results.filter((invoice) => invoiceIds.has(invoice.id))
185
+ }
157
186
  if (query.dateRange) results = results.filter((i) => matchesDateRange(i.invoiceDate, query.dateRange))
158
187
  if (query.search) {
159
188
  const s = query.search.toLowerCase()
@@ -511,6 +540,10 @@ export function createMockFinancialProvider(options?: MockFinancialProviderOptio
511
540
  return store.chartOfAccounts.filter((n) => n.isActive)
512
541
  },
513
542
 
543
+ async getCostCenters(): Promise<CostCenter[]> {
544
+ return store.costCenters.filter((c) => c.isActive)
545
+ },
546
+
514
547
  // --- Card Transactions ---
515
548
  async getCardTransactions(dateRange?: DateRange): Promise<CardTransaction[]> {
516
549
  let results = [...store.cardTransactions]
@@ -627,7 +660,14 @@ export function createMockFinancialProvider(options?: MockFinancialProviderOptio
627
660
  )
628
661
 
629
662
  const todayStr = today()
630
- const monthStart = todayStr.slice(0, 7) + '-01'
663
+ // "Monthly" cash flow uses a trailing 30-day window (rolling month), not
664
+ // calendar month-to-date. Month-to-date collapses to near-empty in the
665
+ // first days of a month — on the 1st it's a single day — so the cash-flow
666
+ // chart and Fluxo Mensal KPI read empty even with a full month of realized
667
+ // activity. A rolling window stays representative on every day of the month.
668
+ const monthAgo = new Date()
669
+ monthAgo.setDate(monthAgo.getDate() - 30)
670
+ const monthStart = monthAgo.toISOString().slice(0, 10)
631
671
  const monthEnd = todayStr
632
672
 
633
673
  const monthMovements = store.movements.filter((m) =>