@fayz-ai/plugin-financial 0.23.4 → 0.24.1
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/dist/components/AccountPicker.d.ts +1 -1
- package/dist/components/AccountPicker.d.ts.map +1 -1
- package/dist/components/BankPicker.d.ts +1 -1
- package/dist/components/BankPicker.d.ts.map +1 -1
- package/dist/components/CancelInvoiceDialog.d.ts +1 -1
- package/dist/components/CancelInvoiceDialog.d.ts.map +1 -1
- package/dist/components/CashSessionHeaderControl.d.ts +2 -2
- package/dist/components/CashSessionHeaderControl.d.ts.map +1 -1
- package/dist/components/CashSessionReviewModal.d.ts.map +1 -1
- package/dist/components/ChartOfAccountsTree.d.ts.map +1 -1
- package/dist/components/ClientAccountModal.d.ts +2 -7
- package/dist/components/ClientAccountModal.d.ts.map +1 -1
- package/dist/components/CnabRemittanceModal.d.ts +4 -3
- package/dist/components/CnabRemittanceModal.d.ts.map +1 -1
- package/dist/components/CommissionFunctionsDialog.d.ts +2 -2
- package/dist/components/CommissionFunctionsDialog.d.ts.map +1 -1
- package/dist/components/CommissionRuleDialog.d.ts +2 -2
- package/dist/components/CommissionRuleDialog.d.ts.map +1 -1
- package/dist/components/FinancialCounterpartySearchSelect.d.ts +1 -1
- package/dist/components/FinancialCounterpartySearchSelect.d.ts.map +1 -1
- package/dist/components/FinancialSettings.d.ts.map +1 -1
- package/dist/components/InstallmentSource.d.ts +1 -1
- package/dist/components/InstallmentSource.d.ts.map +1 -1
- package/dist/components/PaymentFields.d.ts +3 -1
- package/dist/components/PaymentFields.d.ts.map +1 -1
- package/dist/components/PaymentIcons.d.ts +2 -1
- package/dist/components/PaymentIcons.d.ts.map +1 -1
- package/dist/components/PaymentModal.d.ts +1 -1
- package/dist/components/PaymentModal.d.ts.map +1 -1
- package/dist/components/PaymentReceiptModal.d.ts +2 -2
- package/dist/components/PaymentReceiptModal.d.ts.map +1 -1
- package/dist/components/PersonStatementWidget.d.ts +1 -1
- package/dist/components/PersonStatementWidget.d.ts.map +1 -1
- package/dist/components/ReceivePaymentModal.d.ts +2 -8
- package/dist/components/ReceivePaymentModal.d.ts.map +1 -1
- package/dist/components/ReceiveStockDialog.d.ts +1 -1
- package/dist/components/ReceiveStockDialog.d.ts.map +1 -1
- package/dist/components/ReconcileFlow.d.ts +2 -2
- package/dist/components/ReconcileFlow.d.ts.map +1 -1
- package/dist/components/ReconcileModals.d.ts +1 -1
- package/dist/components/ReconcileModals.d.ts.map +1 -1
- package/dist/components/TransferModal.d.ts.map +1 -1
- package/dist/components/financialZoneWidgets.d.ts +4 -0
- package/dist/components/financialZoneWidgets.d.ts.map +1 -0
- package/dist/context.d.ts +2 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/data/registries.d.ts.map +1 -1
- package/dist/index.d.ts +9 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4354 -8609
- package/dist/index.js.map +1 -1
- package/dist/lib/analytics-cards.d.ts +1 -1
- package/dist/lib/analytics-cards.d.ts.map +1 -1
- package/dist/lib/receipt-reading.d.ts +1 -1
- package/dist/lib/receipt-reading.d.ts.map +1 -1
- package/dist/lib/routes.d.ts +1 -3
- package/dist/lib/routes.d.ts.map +1 -1
- package/dist/lib/settings-only.d.ts.map +1 -1
- package/dist/locales/en.d.ts.map +1 -1
- package/dist/locales/pt-BR.d.ts.map +1 -1
- package/dist/migrations/index.d.ts +4 -0
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/settings/CardMachinesSettings.d.ts +8 -0
- package/dist/settings/CardMachinesSettings.d.ts.map +1 -0
- package/dist/settings/v1-settings.d.ts +2 -0
- package/dist/settings/v1-settings.d.ts.map +1 -0
- package/dist/views/CashRegistersView.d.ts.map +1 -1
- package/dist/views/ClientAccountPanel.d.ts.map +1 -1
- package/dist/views/CommissionRulesView.d.ts +1 -1
- package/dist/views/CommissionRulesView.d.ts.map +1 -1
- package/dist/views/CommissionsView.d.ts.map +1 -1
- package/dist/views/FinancialPage.d.ts +2 -2
- package/dist/views/FinancialPage.d.ts.map +1 -1
- package/dist/views/GoalsView.d.ts.map +1 -1
- package/dist/views/InvoiceDetailView.d.ts +1 -1
- package/dist/views/InvoiceDetailView.d.ts.map +1 -1
- package/dist/views/InvoiceFormView.d.ts +1 -1
- package/dist/views/InvoiceFormView.d.ts.map +1 -1
- package/dist/views/InvoiceListView.d.ts +2 -1
- package/dist/views/InvoiceListView.d.ts.map +1 -1
- package/dist/views/ReconciliationView.d.ts.map +1 -1
- package/dist/views/RecurringBillsView.d.ts +1 -1
- package/dist/views/RecurringBillsView.d.ts.map +1 -1
- package/dist/views/StatementsView.d.ts.map +1 -1
- package/dist/views/dashboardWidgets.d.ts +2 -2
- package/dist/views/dashboardWidgets.d.ts.map +1 -1
- package/dist/views/document-memory.d.ts.map +1 -1
- package/dist/views/payable-agent.d.ts +1 -1
- package/dist/views/payable-agent.d.ts.map +1 -1
- package/dist/views/payable-lines.d.ts +0 -2
- package/dist/views/payable-lines.d.ts.map +1 -1
- package/package.json +5 -4
- package/dist/data/index.d.ts +0 -4
- package/dist/data/index.d.ts.map +0 -1
- package/dist/data/match-statement.d.ts +0 -34
- package/dist/data/match-statement.d.ts.map +0 -1
- package/dist/data/mock.d.ts +0 -25
- package/dist/data/mock.d.ts.map +0 -1
- package/dist/data/supabase.d.ts +0 -3
- package/dist/data/supabase.d.ts.map +0 -1
- package/dist/data/tables.d.ts +0 -43
- package/dist/data/tables.d.ts.map +0 -1
- package/dist/data/types.d.ts +0 -327
- package/dist/data/types.d.ts.map +0 -1
- package/dist/lib/accounts.d.ts +0 -16
- package/dist/lib/accounts.d.ts.map +0 -1
- package/dist/lib/chart-tree.d.ts +0 -28
- package/dist/lib/chart-tree.d.ts.map +0 -1
- package/dist/lib/cnab240.d.ts +0 -106
- package/dist/lib/cnab240.d.ts.map +0 -1
- package/dist/lib/fx-auto.d.ts +0 -7
- package/dist/lib/fx-auto.d.ts.map +0 -1
- package/dist/lib/idempotency.d.ts +0 -2
- package/dist/lib/idempotency.d.ts.map +0 -1
- package/dist/lib/invoice-list.d.ts +0 -46
- package/dist/lib/invoice-list.d.ts.map +0 -1
- package/dist/lib/payment-how.d.ts +0 -31
- package/dist/lib/payment-how.d.ts.map +0 -1
- package/dist/lib/reconcile.d.ts +0 -151
- package/dist/lib/reconcile.d.ts.map +0 -1
- package/dist/lib/settlements.d.ts +0 -28
- package/dist/lib/settlements.d.ts.map +0 -1
- package/dist/lib/statement-order.d.ts +0 -4
- package/dist/lib/statement-order.d.ts.map +0 -1
- package/dist/lib/tenant.d.ts +0 -3
- package/dist/lib/tenant.d.ts.map +0 -1
- package/dist/store.d.ts +0 -51
- package/dist/store.d.ts.map +0 -1
- package/dist/types.d.ts +0 -1362
- package/dist/types.d.ts.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AnalyticsCardDef } from '@fayz-ai/core';
|
|
2
2
|
import type { ResolvedFinancialConfig } from '../context';
|
|
3
|
-
import type { FinancialDataProvider } from '
|
|
3
|
+
import type { FinancialDataProvider } from '@fayz-ai/financial/data/provider';
|
|
4
4
|
export declare function buildFinancialAnalyticsCards(config: ResolvedFinancialConfig, provider: FinancialDataProvider): AnalyticsCardDef[];
|
|
5
5
|
//# sourceMappingURL=analytics-cards.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-cards.d.ts","sourceRoot":"","sources":["../../src/lib/analytics-cards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,gBAAgB,EAAqB,MAAM,eAAe,CAAA;AAC5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"analytics-cards.d.ts","sourceRoot":"","sources":["../../src/lib/analytics-cards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,gBAAgB,EAAqB,MAAM,eAAe,CAAA;AAC5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAE7E,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,EAAE,qBAAqB,GAC9B,gBAAgB,EAAE,CA+EpB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ReceiptReading } from '
|
|
1
|
+
import type { ReceiptReading } from '@fayz-ai/financial/domain/reconciliation';
|
|
2
2
|
/** Um leitor de comprovante: recebe o arquivo, devolve o que deu para ler. */
|
|
3
3
|
export type ReceiptReader = (file: File) => Promise<ReceiptReading>;
|
|
4
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipt-reading.d.ts","sourceRoot":"","sources":["../../src/lib/receipt-reading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA0B,MAAM,
|
|
1
|
+
{"version":3,"file":"receipt-reading.d.ts","sourceRoot":"","sources":["../../src/lib/receipt-reading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA0B,MAAM,0CAA0C,CAAA;AAsCtG,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;AAuBnE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAqCjE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,IAAI,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACpI,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACnF,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAChD,GAAG,aAAa,CAShB"}
|
package/dist/lib/routes.d.ts
CHANGED
|
@@ -6,7 +6,5 @@ export declare const COST_CENTERS_ROUTE = "/settings/financial/cost-centers";
|
|
|
6
6
|
* Where other plugins plug into the invoice screen. Props given to a widget:
|
|
7
7
|
* `invoiceId`, `direction` and `cancelled`.
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
10
|
-
readonly headerActions: "financial.invoice.header.actions";
|
|
11
|
-
};
|
|
9
|
+
export { FINANCIAL_INVOICE_ZONES } from '@fayz-ai/financial/views/zones';
|
|
12
10
|
//# sourceMappingURL=routes.d.ts.map
|
package/dist/lib/routes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/lib/routes.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,eAAO,MAAM,cAAc,uBAAuB,CAAA;AAClD,eAAO,MAAM,uBAAuB,0CAA0C,CAAA;AAC9E,eAAO,MAAM,kBAAkB,qCAAqC,CAAA;AAEpE;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/lib/routes.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,eAAO,MAAM,cAAc,uBAAuB,CAAA;AAClD,eAAO,MAAM,uBAAuB,0CAA0C,CAAA;AAC9E,eAAO,MAAM,kBAAkB,qCAAqC,CAAA;AAEpE;;;GAGG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-only.d.ts","sourceRoot":"","sources":["../../src/lib/settings-only.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAGnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"settings-only.d.ts","sourceRoot":"","sources":["../../src/lib/settings-only.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAGnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAyBxD,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,mBAAmB,CAAA;CAC7C;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,CAAC,EAAE,8BAA8B,GACvC,cAAc,CA6ChB"}
|
package/dist/locales/en.d.ts.map
CHANGED
|
@@ -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,
|
|
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,CAq+BrC,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,
|
|
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,CAw+BvC,CAAA"}
|
|
@@ -130,6 +130,10 @@ export declare const MIGRATION_128_A_STOCK_RECEIPT_SHOWS_WHAT_WAS_PAID = "-- ===
|
|
|
130
130
|
export declare const MIGRATION_129_A_BILL_CAN_BE_WRITTEN_IN_ANOTHER_CURRENCY = "-- ============================================================================\n-- 129 \u2014 a bill can be written in another currency\n-- ============================================================================\n-- An invoice took the currency of its order or of its unit, and nothing else.\n-- A house that sells in two currencies writes a bill by hand in either one, so\n-- the door now accepts the choice: `metadata.currency` on creation. An order\n-- still wins \u2014 a bill raised from a sale is in the currency of that sale.\n-- The choice is made once: an issued invoice's currency stays immutable.\n-- Idempotent: CREATE OR REPLACE only.\n\nCREATE OR REPLACE FUNCTION public.trg_plg_financial_invoices_currency()\n RETURNS trigger\n LANGUAGE plpgsql\n SECURITY DEFINER\n SET search_path TO ''\nAS $function$\nDECLARE\n v_asked text := upper(btrim(coalesce(NEW.metadata->>'currency', '')));\nBEGIN\n IF nullif(btrim(coalesce(NEW.currency, '')), '') IS NULL THEN\n IF NEW.order_id IS NOT NULL THEN\n SELECT nullif(btrim(o.currency), '') INTO NEW.currency FROM public.orders o WHERE o.id = NEW.order_id;\n END IF;\n IF NEW.currency IS NULL AND v_asked ~ '^[A-Z]{3}$' THEN\n NEW.currency := v_asked;\n END IF;\n NEW.currency := coalesce(NEW.currency, app.unit_currency(NEW.tenant_id, NEW.unit_id));\n END IF;\n NEW.currency := upper(btrim(NEW.currency));\n IF NEW.fx_rate IS NULL THEN\n NEW.fx_rate := public.plg_financial_fx_rate(\n NEW.tenant_id, NEW.currency, app.unit_currency(NEW.tenant_id, NULL), coalesce(NEW.issue_date, current_date));\n END IF;\n RETURN NEW;\nEND $function$;\n";
|
|
131
131
|
export declare const MIGRATION_130_A_BILL_CAN_BE_TAGGED = "-- ============================================================================\n-- 130 \u2014 a bill can be tagged\n-- ============================================================================\n-- Every record of the core has `tags` since spine 150: how THIS house slices\n-- its records, for a purpose the product did not foresee. Bills were the one\n-- place the operator looked for the tag and did not find it. Same shape as\n-- there \u2014 `text[]` read and written with the row, a GIN index for \"who has\n-- this one\". Tags are not part of what an issued invoice freezes.\n-- Idempotent: IF NOT EXISTS throughout.\n\nALTER TABLE public.plg_financial_invoices\n ADD COLUMN IF NOT EXISTS tags text[] DEFAULT '{}'::text[];\n\nCOMMENT ON COLUMN public.plg_financial_invoices.tags IS 'Free labels the house puts on a bill to slice its own lists.';\n\nCREATE INDEX IF NOT EXISTS plg_financial_invoices_tags_idx\n ON public.plg_financial_invoices USING gin (tags);\n";
|
|
132
132
|
export declare const MIGRATION_131_THE_BILL_FOLLOWS_THE_PRICE_OF_THE_SALE = "-- 131 \u2014 The bill follows the price of the sale.\n--\n-- A receivable is raised when the sale closes, at the total of that instant.\n-- Both bridges (`order_raise_receivable`, `fn_invoice_from_order_internal`) are\n-- idempotent: once the invoice exists they return without looking at the\n-- amount. So a price changed AFTER closing never reached the bill \u2014 a clinic\n-- had an appointment at R$ 700 whose receivable still asked for R$ 140, and\n-- the only symptom was two different numbers on two screens.\n--\n-- The rule, in one place:\n-- * nothing received yet \u2192 the invoice, its lines and its open instalments\n-- take the sale's total;\n-- * something received \u2192 nothing moves. A paid invoice is immutable\n-- (PRD 04, 120); the screens show both numbers and a person decides;\n-- * the sale drops to zero \u2192 the unpaid invoice is cancelled, not left at 0.\n--\n-- The lines follow the model the bill already has. A bill raised here owns a\n-- copy of the sale's lines (010) and that copy is refreshed. A bill ported\n-- from V1 has no lines of its own \u2014 `v_financial_invoice_lines` reads them\n-- from the order \u2014 and it stays that way: giving it a copy would freeze lines\n-- the sync still writes on the order.\n--\n-- Receivables of SELLING orders only. A purchase's bill diverges from its\n-- order on purpose (interest, supplier credit \u2014 120).\n\n-- \u2500\u2500 1. the reconciliation \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nCREATE OR REPLACE FUNCTION public.order_reconcile_receivable_internal(p_order_id uuid)\n RETURNS text\n LANGUAGE plpgsql\n SECURITY DEFINER\n SET search_path TO ''\nAS $$\nDECLARE\n v_order public.orders%ROWTYPE;\n v_invoice public.plg_financial_invoices%ROWTYPE;\n v_total numeric;\n v_paid numeric;\n v_open_sum numeric;\n v_last uuid;\n v_summary text;\n v_own boolean;\nBEGIN\n SELECT * INTO v_order FROM public.orders WHERE id = p_order_id;\n IF NOT FOUND OR NOT (v_order.kind = ANY (public.order_selling_kinds())) THEN\n RETURN 'none';\n END IF;\n\n -- (tenant_id, order_id) is the index; naming the tenant is what uses it.\n SELECT * INTO v_invoice FROM public.plg_financial_invoices\n WHERE tenant_id = v_order.tenant_id AND order_id = p_order_id\n AND cancelled_at IS NULL AND direction = 'receivable'\n ORDER BY created_at LIMIT 1;\n IF NOT FOUND THEN RETURN 'none'; END IF;\n\n -- A sale billed across several live invoices has no single bill that should\n -- carry its whole total. Nobody does this today; deciding it here would be a guess.\n IF (SELECT count(*) FROM public.plg_financial_invoices\n WHERE tenant_id = v_order.tenant_id AND order_id = p_order_id\n AND cancelled_at IS NULL AND direction = 'receivable') > 1 THEN\n RETURN 'none';\n END IF;\n\n v_total := round(coalesce(v_order.total, 0), 2);\n\n SELECT coalesce(sum(b.paid), 0) INTO v_paid\n FROM public.v_financial_installment_balances b WHERE b.invoice_id = v_invoice.id;\n\n v_own := EXISTS (SELECT 1 FROM public.items WHERE invoice_id = v_invoice.id);\n\n IF round(coalesce(v_invoice.total, 0), 2) = v_total THEN\n -- Same amount, but the lines may still be the old ones: a screen that\n -- writes the total and THEN the lines reaches here with the bill already\n -- at the new amount. A line with no live sale line behind it is stale.\n IF v_paid = 0 AND v_own AND (\n (SELECT count(*) FROM public.items WHERE invoice_id = v_invoice.id)\n IS DISTINCT FROM (SELECT count(*) FROM public.items WHERE order_id = p_order_id)\n OR EXISTS (\n SELECT 1 FROM public.items l\n WHERE l.invoice_id = v_invoice.id\n AND NOT EXISTS (\n SELECT 1 FROM public.item_associations a\n JOIN public.items s ON s.id = a.from_item_id\n WHERE a.to_item_id = l.id AND s.order_id = p_order_id AND s.total = l.total))\n ) THEN\n DELETE FROM public.items WHERE invoice_id = v_invoice.id;\n PERFORM public.plg_financial_copy_order_lines_to_invoice(p_order_id, v_invoice.id);\n END IF;\n RETURN 'in_sync';\n END IF;\n\n IF v_paid > 0 THEN RETURN 'kept_paid'; END IF;\n\n IF v_total <= 0 THEN\n UPDATE public.plg_financial_invoices\n SET cancelled_at = now(),\n cancel_reason = coalesce(cancel_reason, 'The sale it was raised from no longer has an amount')\n WHERE id = v_invoice.id;\n RETURN 'amended';\n END IF;\n\n SELECT string_agg(name, ', ' ORDER BY sort_order) INTO v_summary\n FROM public.items WHERE order_id = p_order_id;\n\n UPDATE public.plg_financial_invoices\n SET total = v_total,\n description = coalesce(nullif(v_summary, ''), description)\n WHERE id = v_invoice.id;\n\n -- A stale copy is replaced whole. The copier refuses to run over existing\n -- lines, hence the delete first.\n IF v_own THEN\n DELETE FROM public.items WHERE invoice_id = v_invoice.id;\n PERFORM public.plg_financial_copy_order_lines_to_invoice(p_order_id, v_invoice.id);\n END IF;\n\n -- The open instalments keep their proportions; the last one takes the cents.\n SELECT coalesce(sum(amount), 0) INTO v_open_sum\n FROM public.plg_financial_invoice_installments\n WHERE invoice_id = v_invoice.id AND cancelled_at IS NULL;\n SELECT id INTO v_last FROM public.plg_financial_invoice_installments\n WHERE invoice_id = v_invoice.id AND cancelled_at IS NULL\n ORDER BY number DESC LIMIT 1;\n\n IF v_last IS NULL THEN\n INSERT INTO public.plg_financial_invoice_installments\n (tenant_id, unit_id, invoice_id, number, due_date, amount)\n VALUES (v_invoice.tenant_id, v_invoice.unit_id, v_invoice.id,\n coalesce((SELECT max(number) FROM public.plg_financial_invoice_installments\n WHERE invoice_id = v_invoice.id), 0) + 1,\n current_date, v_total);\n ELSE\n IF v_open_sum > 0 THEN\n UPDATE public.plg_financial_invoice_installments\n SET amount = round(v_total * amount / v_open_sum, 2)\n WHERE invoice_id = v_invoice.id AND cancelled_at IS NULL AND id <> v_last;\n END IF;\n UPDATE public.plg_financial_invoice_installments\n SET amount = v_total - coalesce((\n SELECT sum(amount) FROM public.plg_financial_invoice_installments\n WHERE invoice_id = v_invoice.id AND cancelled_at IS NULL AND id <> v_last), 0)\n WHERE id = v_last;\n END IF;\n\n RETURN 'amended';\nEXCEPTION WHEN OTHERS THEN\n -- A closed period, or any other refusal from the books, never fails the\n -- sale's own write (same rule as raising the receivable, 001). The block\n -- rolls back whatever it had started, so the bill is left whole.\n RAISE WARNING 'order_reconcile_receivable: sale % kept its bill as it was: %', p_order_id, SQLERRM;\n RETURN 'kept_closed';\nEND $$;\n\nCOMMENT ON FUNCTION public.order_reconcile_receivable_internal(uuid) IS\n 'Makes an UNPAID receivable take its sale''s current total, lines and instalments. Returns none | in_sync | amended | kept_paid | kept_closed. A paid invoice is never touched (131).';\n\nREVOKE ALL ON FUNCTION public.order_reconcile_receivable_internal(uuid) FROM PUBLIC, anon, authenticated;\nGRANT EXECUTE ON FUNCTION public.order_reconcile_receivable_internal(uuid) TO service_role;\n\n-- \u2500\u2500 2. the door a screen uses after rewriting the sale's lines \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n-- The trigger below fires on the total; a screen that writes the total and\n-- THEN the lines (the agenda does) calls this once it is done, so the bill's\n-- lines are the final ones.\nCREATE OR REPLACE FUNCTION public.order_reconcile_receivable(p_order_id uuid)\n RETURNS text\n LANGUAGE plpgsql\n SECURITY DEFINER\n SET search_path TO ''\nAS $$\nDECLARE v_tenant uuid;\nBEGIN\n SELECT tenant_id INTO v_tenant FROM public.orders WHERE id = p_order_id;\n IF v_tenant IS NULL OR v_tenant IS DISTINCT FROM app.current_tenant_id() THEN\n RAISE EXCEPTION 'order_reconcile_receivable: forbidden' USING ERRCODE = '42501';\n END IF;\n RETURN public.order_reconcile_receivable_internal(p_order_id);\nEND $$;\n\nCOMMENT ON FUNCTION public.order_reconcile_receivable(uuid) IS\n 'Tenant-checked door to order_reconcile_receivable_internal: it only ever aligns a bill with a sale the caller''s tenant already owns (131).';\n\nREVOKE ALL ON FUNCTION public.order_reconcile_receivable(uuid) FROM PUBLIC, anon;\nGRANT EXECUTE ON FUNCTION public.order_reconcile_receivable(uuid) TO authenticated, service_role;\n\n-- \u2500\u2500 3. the guarantee: any writer of the total, known or future \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nCREATE OR REPLACE FUNCTION public.trg_order_total_reaches_its_invoice()\n RETURNS trigger\n LANGUAGE plpgsql\n SECURITY DEFINER\n SET search_path TO ''\nAS $$\nBEGIN\n PERFORM public.order_reconcile_receivable_internal(NEW.id);\n RETURN NULL;\nEND $$;\n\nDROP TRIGGER IF EXISTS orders_total_reaches_the_invoice ON public.orders;\nCREATE TRIGGER orders_total_reaches_the_invoice\n AFTER UPDATE OF total ON public.orders\n FOR EACH ROW\n WHEN (NEW.total IS DISTINCT FROM OLD.total)\n EXECUTE FUNCTION public.trg_order_total_reaches_its_invoice();\n\n-- \u2500\u2500 4. raising again is the natural repair, and now it repairs the amount \u2500\u2500\u2500\nCREATE OR REPLACE FUNCTION public.order_raise_receivable(p_order_id uuid, p_due_date date DEFAULT NULL::date)\n RETURNS uuid\n LANGUAGE plpgsql\n SECURITY DEFINER\n SET search_path TO ''\nAS $$\nDECLARE\n v_order public.orders%ROWTYPE;\n v_invoice_id uuid;\n v_number text;\n v_summary text;\n v_total numeric;\nBEGIN\n SELECT * INTO v_order FROM public.orders WHERE id = p_order_id;\n IF NOT FOUND THEN RETURN NULL; END IF;\n\n SELECT id INTO v_invoice_id FROM public.plg_financial_invoices\n WHERE order_id = p_order_id AND cancelled_at IS NULL LIMIT 1;\n IF v_invoice_id IS NOT NULL THEN\n -- Re-raising stamps the lines on a bill that has none, as before (010),\n -- and now also repairs the amount.\n PERFORM public.order_reconcile_receivable_internal(p_order_id);\n PERFORM public.plg_financial_copy_order_lines_to_invoice(p_order_id, v_invoice_id);\n RETURN v_invoice_id;\n END IF;\n\n v_total := round(coalesce(v_order.total, 0), 2);\n IF v_total <= 0 THEN RETURN NULL; END IF;\n\n SELECT string_agg(name, ', ' ORDER BY sort_order) INTO v_summary\n FROM public.items WHERE order_id = p_order_id;\n\n v_number := public.plg_financial_next_invoice_number(v_order.tenant_id, 'receivable');\n\n INSERT INTO public.plg_financial_invoices\n (tenant_id, unit_id, direction, counterparty_person_id, order_id, number,\n competence_date, issue_date, total, description, metadata, created_by)\n VALUES\n (v_order.tenant_id, v_order.unit_id, 'receivable', v_order.party_id, p_order_id, v_number,\n coalesce(v_order.created_at::date, current_date), current_date,\n v_total, nullif(v_summary, ''),\n jsonb_build_object('source', 'order_raise_receivable', 'orderKind', v_order.kind),\n auth.uid())\n RETURNING id INTO v_invoice_id;\n\n PERFORM public.plg_financial_copy_order_lines_to_invoice(p_order_id, v_invoice_id);\n\n INSERT INTO public.plg_financial_invoice_installments\n (tenant_id, unit_id, invoice_id, number, due_date, amount)\n VALUES (v_order.tenant_id, v_order.unit_id, v_invoice_id, 1,\n coalesce(p_due_date, current_date), v_total);\n\n UPDATE public.orders SET\n stage = 'invoiced',\n direction = 'credit',\n metadata = coalesce(metadata, '{}'::jsonb)\n || jsonb_build_object('invoiceNumber', v_number, 'installmentCount', 1),\n updated_at = now()\n WHERE id = p_order_id;\n\n RETURN v_invoice_id;\nEND $$;\n\nCREATE OR REPLACE FUNCTION public.fn_invoice_from_order_internal(p_order_id uuid, p_due_date date DEFAULT NULL::date, p_status text DEFAULT NULL::text, p_installments integer DEFAULT 1, p_direction text DEFAULT 'credit'::text)\n RETURNS uuid\n LANGUAGE plpgsql\n SECURITY DEFINER\n SET search_path TO ''\nAS $$\nDECLARE\n v_order public.orders%ROWTYPE;\n v_invoice_id uuid;\n v_dir text;\n v_number text;\n v_summary text;\n v_contact text;\n v_n int := GREATEST(COALESCE(p_installments, 1), 1);\n v_total numeric;\n v_base numeric;\n v_amt numeric;\n v_alloc numeric := 0;\n v_due date;\n v_status text;\n i int;\nBEGIN\n SELECT * INTO v_order FROM public.orders WHERE id = p_order_id;\n IF NOT FOUND THEN RAISE EXCEPTION 'fn_invoice_from_order: order % not found', p_order_id; END IF;\n\n SELECT id INTO v_invoice_id FROM public.plg_financial_invoices\n WHERE order_id = p_order_id AND cancelled_at IS NULL LIMIT 1;\n IF v_invoice_id IS NOT NULL THEN\n -- Idempotent, and the natural repair: an order invoiced before 010 gets its\n -- lines, and one whose price moved since gets its amount (131). The\n -- reconciliation is a no-op on anything but an unpaid receivable.\n PERFORM public.order_reconcile_receivable_internal(p_order_id);\n PERFORM public.plg_financial_copy_order_lines_to_invoice(p_order_id, v_invoice_id);\n RETURN p_order_id;\n END IF;\n IF EXISTS (SELECT 1 FROM public.plg_financial_movements\n WHERE invoice_id = p_order_id AND movement_kind = 'bill'\n AND status <> 'cancelled') THEN\n RETURN p_order_id;\n END IF;\n\n v_dir := CASE WHEN p_direction = 'debit' THEN 'payable' ELSE 'receivable' END;\n v_number := public.plg_financial_next_invoice_number(v_order.tenant_id, v_dir);\n\n SELECT string_agg(name, ', ' ORDER BY sort_order) INTO v_summary\n FROM public.items WHERE order_id = p_order_id;\n SELECT name INTO v_contact FROM public.people WHERE id = v_order.party_id;\n\n v_status := v_order.status;\n IF p_status IS NOT NULL AND EXISTS (\n SELECT 1 FROM public.order_kinds k\n WHERE k.kind = v_order.kind\n AND (k.statuses IS NULL OR p_status = ANY (k.statuses))\n ) THEN\n v_status := p_status;\n END IF;\n\n UPDATE public.orders SET\n status = v_status,\n stage = 'invoiced',\n direction = p_direction,\n metadata = COALESCE(metadata, '{}'::jsonb) || jsonb_build_object(\n 'itemsSummary', COALESCE(v_summary, ''),\n 'contactName', v_contact,\n 'installmentCount', v_n,\n 'quoteNumber', v_order.reference_number,\n 'direction', p_direction,\n 'invoiceNumber', v_number\n ),\n updated_at = now()\n WHERE id = p_order_id;\n\n v_total := round(COALESCE(v_order.total, 0), 2);\n v_due := COALESCE(p_due_date, current_date);\n\n INSERT INTO public.plg_financial_invoices\n (tenant_id, unit_id, direction, counterparty_person_id, order_id, number, competence_date, issue_date,\n total, description, metadata, created_by)\n VALUES\n (v_order.tenant_id, v_order.unit_id, v_dir, v_order.party_id, p_order_id, v_number,\n COALESCE(v_order.created_at::date, current_date), current_date,\n v_total, NULLIF(v_summary, ''),\n jsonb_build_object('source', 'fn_invoice_from_order', 'orderKind', v_order.kind),\n auth.uid())\n RETURNING id INTO v_invoice_id;\n\n PERFORM public.plg_financial_copy_order_lines_to_invoice(p_order_id, v_invoice_id);\n\n v_base := round(v_total / v_n, 2);\n FOR i IN 1..v_n LOOP\n IF i = v_n THEN v_amt := round(v_total - v_alloc, 2);\n ELSE v_amt := v_base; v_alloc := v_alloc + v_base; END IF;\n\n INSERT INTO public.plg_financial_invoice_installments\n (tenant_id, unit_id, invoice_id, number, due_date, amount)\n VALUES (v_order.tenant_id, v_order.unit_id, v_invoice_id, i,\n (v_due + ((i - 1) || ' months')::interval)::date, v_amt);\n END LOOP;\n\n RETURN p_order_id;\nEND $$;\n";
|
|
133
|
+
export declare const MIGRATION_132_THE_STATEMENT_SOURCE_KNOWS_ITS_PROVIDER_ACCOUNT = "-- ---------------------------------------------------------------------------\n-- A statement source knows how its provider names the account.\n-- ---------------------------------------------------------------------------\n-- The V2 pulls Open Finance statements itself (financial-statement-sync), from\n-- the same PlugBank store the V1 reads. Rows there are keyed by an account\n-- hash (and the card's last four). `external_account_ref` was meant for it but\n-- the port filled it with the V1 row reference, and a re-port rewrites it; this\n-- column is the provider's key and nothing else writes it.\n--\n-- Backfilled from the lines already here: every PlugBank line carries the hash\n-- of the account it came from, and each account has exactly one.\n-- ---------------------------------------------------------------------------\n\nALTER TABLE public.plg_financial_account_statement_sources\n ADD COLUMN IF NOT EXISTS provider_account_hash text;\n\nCOMMENT ON COLUMN public.plg_financial_account_statement_sources.provider_account_hash IS\n 'PlugBank/Tecnospeed account_hash (V1: bank_account_openfinance.account_hash). Matches the provider rows to this account.';\n\nUPDATE public.plg_financial_account_statement_sources s\n SET provider_account_hash = h.hash, updated_at = now()\n FROM (\n SELECT l.tenant_id, l.bank_account_id, min(l.raw_payload ->> 'account_hash') AS hash\n FROM public.plg_financial_bank_statement_lines l\n WHERE l.raw_payload ? 'account_hash'\n GROUP BY 1, 2\n HAVING count(DISTINCT l.raw_payload ->> 'account_hash') = 1\n ) h\n WHERE h.tenant_id = s.tenant_id AND h.bank_account_id = s.account_id\n AND s.provider_account_hash IS NULL;\n";
|
|
134
|
+
export declare const MIGRATION_133_REVERSING_A_PAYMENT_RELEASES_ITS_BANK_LINE = "-- 133: reversing a payment also releases its bank-statement evidence. A\n-- reconciled payment that was reversed left its statement line \"conciliada\",\n-- pointing at money that was undone, so the line never came back to be matched\n-- again. The rest of the function is 116's, unchanged (a reversal is never\n-- reversed; reversing twice replays the first reversal).\n\nCREATE OR REPLACE FUNCTION public.financial_reverse_movement(p_movement_id uuid, p_reason text, p_idempotency_key text DEFAULT NULL::text) RETURNS jsonb\n LANGUAGE plpgsql SECURITY DEFINER\n SET search_path TO ''\n AS $$\nDECLARE\n v_tenant uuid := public.plg_financial_require_tenant();\n v_m public.plg_financial_movements%ROWTYPE;\n v_rev uuid;\nBEGIN\n IF nullif(btrim(coalesce(p_reason, '')), '') IS NULL THEN\n RAISE EXCEPTION 'financial_reverse_movement: a reason is required' USING ERRCODE = '22023';\n END IF;\n SELECT * INTO v_m FROM public.plg_financial_movements WHERE id = p_movement_id AND tenant_id = v_tenant;\n IF NOT FOUND THEN\n RAISE EXCEPTION 'financial_reverse_movement: movement % not found', p_movement_id USING ERRCODE = 'P0002';\n END IF;\n PERFORM public.plg_financial_require_permission('financial.edit', v_m.unit_id);\n IF v_m.movement_kind NOT IN ('payment', 'transfer') OR v_m.debit_account_id IS NULL THEN\n RAISE EXCEPTION 'financial_reverse_movement: % is not a money event', p_movement_id USING ERRCODE = '55000';\n END IF;\n IF v_m.reverses_id IS NOT NULL THEN\n RAISE EXCEPTION 'Este lan\u00E7amento j\u00E1 \u00E9 um estorno e n\u00E3o pode ser estornado.' USING ERRCODE = '55000';\n END IF;\n IF v_m.reversed_by_id IS NOT NULL THEN\n RETURN jsonb_build_object('reversal_id', v_m.reversed_by_id, 'movement_id', v_m.id, 'replayed', true);\n END IF;\n IF p_idempotency_key IS NOT NULL THEN\n PERFORM public.plg_financial_claim_idempotency(v_tenant, p_idempotency_key);\n SELECT m.id INTO v_rev FROM public.plg_financial_movements m WHERE m.tenant_id = v_tenant AND m.idempotency_key = p_idempotency_key;\n IF v_rev IS NOT NULL THEN\n RETURN jsonb_build_object('reversal_id', v_rev, 'movement_id', v_m.id, 'replayed', true);\n END IF;\n END IF;\n\n INSERT INTO public.plg_financial_movements\n (tenant_id, unit_id, invoice_id, financial_invoice_id, financial_invoice_installment_id, direction, movement_kind, amount, paid_amount, status,\n due_date, payment_date, installment_number, method, cash_session_id, bank_account_id, reason, notes, metadata,\n idempotency_key, created_by, reverses_id, debit_account_id, credit_account_id)\n VALUES\n (v_m.tenant_id, v_m.unit_id, v_m.invoice_id, v_m.financial_invoice_id, v_m.financial_invoice_installment_id,\n CASE WHEN v_m.direction = 'credit' THEN 'debit' ELSE 'credit' END, v_m.movement_kind, v_m.amount, v_m.amount, 'paid',\n current_date, current_date, v_m.installment_number, v_m.method, v_m.cash_session_id, v_m.bank_account_id, btrim(p_reason),\n 'Estorno de ' || v_m.id::text,\n jsonb_build_object('source', 'financial_reverse_movement', 'reversal_of', v_m.id, 'reason', btrim(p_reason)),\n p_idempotency_key, auth.uid(), v_m.id, v_m.credit_account_id, v_m.debit_account_id)\n RETURNING id INTO v_rev;\n\n UPDATE public.plg_financial_movements SET reversed_by_id = v_rev, reason = coalesce(reason, btrim(p_reason)), updated_at = now()\n WHERE id = v_m.id;\n IF v_m.financial_invoice_installment_id IS NOT NULL THEN PERFORM public.plg_financial_sync_mirror(v_m.financial_invoice_installment_id); END IF;\n\n -- The bank line that proved this payment no longer proves anything: it goes\n -- back to the reconciliation queue instead of pointing at money that left.\n UPDATE public.plg_financial_bank_statement_lines\n SET matched_movement_id = NULL, reconciled_at = NULL\n WHERE tenant_id = v_tenant AND matched_movement_id = v_m.id;\n UPDATE public.plg_financial_movements SET reconciled_at = NULL WHERE id = v_m.id AND reconciled_at IS NOT NULL;\n\n PERFORM public.plg_financial_audit(v_tenant, 'financial.movement.reverse', 'plg_financial_movements', v_m.id::text,\n jsonb_build_object('reversal_id', v_rev, 'amount', v_m.amount, 'reason', btrim(p_reason), 'idempotency_key', p_idempotency_key));\n RETURN jsonb_build_object('reversal_id', v_rev, 'movement_id', v_m.id, 'replayed', false);\nEND $$;\n\n";
|
|
135
|
+
export declare const MIGRATION_134_A_BILL_KNOWS_WHO_FILED_IT = "-- 134: a bill knows who filed it. `plg_financial_invoices.created_by` has been\n-- in the table since the baseline and the screens read it for the record\n-- footer (\"Criado em \u2026 por \u2026\"), but nothing ever wrote it: movements and\n-- allocations stamp their author in a trigger, invoices never got one. Every\n-- bill came out authorless. From now on the signed-in person who inserts the\n-- row is its author; an explicit value (an import, an RPC that knows better)\n-- still wins. Nothing is backfilled \u2014 who filed an old bill is not knowable.\n-- Additive and idempotent.\n\nCREATE OR REPLACE FUNCTION public.trg_plg_financial_invoices_created_by()\nRETURNS trigger\nLANGUAGE plpgsql\nSET search_path TO ''\nAS $$\nBEGIN\n NEW.created_by := coalesce(NEW.created_by, auth.uid());\n RETURN NEW;\nEND $$;\n\nDROP TRIGGER IF EXISTS plg_financial_invoices_created_by ON public.plg_financial_invoices;\nCREATE TRIGGER plg_financial_invoices_created_by\n BEFORE INSERT ON public.plg_financial_invoices\n FOR EACH ROW EXECUTE FUNCTION public.trg_plg_financial_invoices_created_by();\n";
|
|
136
|
+
export declare const MIGRATION_135_A_BILL_AND_ITS_LINES_ARE_WRITTEN_TOGETHER = "-- 135: a bill's lines are written by the server, with the bill's own tenant and\n-- unit, in one statement. The client used to insert them into public.items\n-- itself, stamped with ITS idea of the active tenant; when that lagged behind\n-- the session (a workspace switch), RLS refused the lines, the error was\n-- ignored, and the bill kept its total with no lines. Replacing lines deleted\n-- the old ones first, so a refused insert lost them too. Here the delete and the\n-- insert are one transaction, under the same permission the bill itself needs.\n-- Additive and idempotent.\n\nCREATE OR REPLACE FUNCTION public.financial_set_invoice_lines(p_invoice_id uuid, p_lines jsonb, p_replace boolean DEFAULT false)\nRETURNS jsonb\nLANGUAGE plpgsql SECURITY DEFINER\nSET search_path TO ''\nAS $$\nDECLARE\n v_tenant uuid := public.plg_financial_require_tenant();\n v_invoice public.plg_financial_invoices%ROWTYPE;\n v_out jsonb;\nBEGIN\n SELECT * INTO v_invoice FROM public.plg_financial_invoices WHERE id = p_invoice_id AND tenant_id = v_tenant;\n IF NOT FOUND THEN\n RAISE EXCEPTION 'financial_set_invoice_lines: invoice % not found in this tenant', p_invoice_id USING ERRCODE = 'P0002';\n END IF;\n PERFORM public.plg_financial_require_permission(CASE WHEN p_replace THEN 'financial.edit' ELSE 'financial.create' END, v_invoice.unit_id);\n IF jsonb_typeof(coalesce(p_lines, '[]'::jsonb)) <> 'array' THEN\n RAISE EXCEPTION 'financial_set_invoice_lines: lines must be an array' USING ERRCODE = '22023';\n END IF;\n\n -- Cancelled lines are history: they are never replaced.\n IF p_replace THEN\n DELETE FROM public.items WHERE invoice_id = p_invoice_id AND tenant_id = v_tenant AND cancelled_at IS NULL;\n END IF;\n\n WITH ins AS (\n INSERT INTO public.items (tenant_id, unit_id, invoice_id, name, quantity, unit_price, discount, total, sort_order, metadata)\n SELECT v_tenant, v_invoice.unit_id, p_invoice_id,\n nullif(l ->> 'name', ''),\n coalesce((l ->> 'quantity')::numeric, 1),\n coalesce((l ->> 'unit_price')::numeric, 0),\n coalesce((l ->> 'discount')::numeric, 0),\n coalesce((l ->> 'total')::numeric, 0),\n coalesce((l ->> 'sort_order')::int, (o - 1)::int),\n coalesce(l -> 'metadata', '{}'::jsonb)\n FROM jsonb_array_elements(coalesce(p_lines, '[]'::jsonb)) WITH ORDINALITY AS t(l, o)\n RETURNING id, sort_order\n )\n SELECT coalesce(jsonb_agg(jsonb_build_object('id', id, 'sort_order', sort_order) ORDER BY sort_order), '[]'::jsonb) INTO v_out FROM ins;\n RETURN v_out;\nEND $$;\nREVOKE ALL ON FUNCTION public.financial_set_invoice_lines(uuid, jsonb, boolean) FROM PUBLIC, anon;\nGRANT EXECUTE ON FUNCTION public.financial_set_invoice_lines(uuid, jsonb, boolean) TO authenticated, service_role;\n";
|
|
133
137
|
export declare const MIGRATIONS: Array<{
|
|
134
138
|
id: string;
|
|
135
139
|
sql: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Maquininhas (TEF / POS): how the counter charges a card, and which acquirer
|
|
4
|
+
* each machine belongs to. The acquirer rows are the connectors hub filtered,
|
|
5
|
+
* the same rows and connect journey as the store's Pagamentos.
|
|
6
|
+
*/
|
|
7
|
+
export declare function CardMachinesSettings(): React.JSX.Element;
|
|
8
|
+
//# sourceMappingURL=CardMachinesSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CardMachinesSettings.d.ts","sourceRoot":"","sources":["../../src/settings/CardMachinesSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAoB9B;;;;GAIG;AACH,wBAAgB,oBAAoB,sBAuEnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v1-settings.d.ts","sourceRoot":"","sources":["../../src/settings/v1-settings.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,uBAAuB,6CA8BnC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CashRegistersView.d.ts","sourceRoot":"","sources":["../../src/views/CashRegistersView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"CashRegistersView.d.ts","sourceRoot":"","sources":["../../src/views/CashRegistersView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAimB3D,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,OAAgB,EAAE,GAAE,sBAA2B,qBA8QlF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientAccountPanel.d.ts","sourceRoot":"","sources":["../../src/views/ClientAccountPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AA8BzB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5D;AAcD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAc,GAC1D,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"ClientAccountPanel.d.ts","sourceRoot":"","sources":["../../src/views/ClientAccountPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AA8BzB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5D;AAcD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAc,GAC1D,EAAE,uBAAuB,qBAsUzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommissionRulesView.d.ts","sourceRoot":"","sources":["../../src/views/CommissionRulesView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CommissionRulesView.d.ts","sourceRoot":"","sources":["../../src/views/CommissionRulesView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAoG7E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,qBAAqB,CAAA;CAChC;AAED,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,EAAE,wBAAwB,qBAmTzE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommissionsView.d.ts","sourceRoot":"","sources":["../../src/views/CommissionsView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"CommissionsView.d.ts","sourceRoot":"","sources":["../../src/views/CommissionsView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAuEzB,wBAAgB,eAAe,sBAsP9B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { StoreApi } from 'zustand/vanilla';
|
|
3
3
|
import { type ResolvedFinancialConfig } from '../context';
|
|
4
|
-
import type { FinancialDataProvider } from '
|
|
5
|
-
import type { FinancialUIState } from '
|
|
4
|
+
import type { FinancialDataProvider } from '@fayz-ai/financial/data/provider';
|
|
5
|
+
import type { FinancialUIState } from '@fayz-ai/financial/store';
|
|
6
6
|
import type { PluginRegistryDef } from '@fayz-ai/core';
|
|
7
7
|
export interface ViewIntent {
|
|
8
8
|
view: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FinancialPage.d.ts","sourceRoot":"","sources":["../../src/views/FinancialPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAU/C,OAAO,EAA4B,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"FinancialPage.d.ts","sourceRoot":"","sources":["../../src/views/FinancialPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAU/C,OAAO,EAA4B,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,eAAe,CAAA;AAsBzE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAA;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AA+PD,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IAChF,MAAM,EAAE,uBAAuB,CAAA;IAC/B,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IACjC,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAA;CACjC,qBAuPA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoalsView.d.ts","sourceRoot":"","sources":["../../src/views/GoalsView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"GoalsView.d.ts","sourceRoot":"","sources":["../../src/views/GoalsView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAmCzB,wBAAgB,SAAS,sBAiJxB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { TransactionDirection } from '
|
|
2
|
+
import type { TransactionDirection } from '@fayz-ai/financial/domain/movement';
|
|
3
3
|
export declare function InvoiceDetailView({ invoiceId, direction, onBack, onEdit, backLabel, embedded }: {
|
|
4
4
|
invoiceId: string;
|
|
5
5
|
direction: TransactionDirection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvoiceDetailView.d.ts","sourceRoot":"","sources":["../../src/views/InvoiceDetailView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"InvoiceDetailView.d.ts","sourceRoot":"","sources":["../../src/views/InvoiceDetailView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAqB1D,OAAO,KAAK,EAAqB,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AA2CjG,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;IAC/F,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,oBAAoB,CAAA;IAC/B,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,mFAAmF;IACnF,iFAAiF;IACjF,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;yCACqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,qBAu1BA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvoiceFormView.d.ts","sourceRoot":"","sources":["../../src/views/InvoiceFormView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAkBnE,OAAO,KAAK,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"InvoiceFormView.d.ts","sourceRoot":"","sources":["../../src/views/InvoiceFormView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAkBnE,OAAO,KAAK,EAAE,oBAAoB,EAA0C,MAAM,oCAAoC,CAAA;AAyCtH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AA2FD,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAoB,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;IACrH,SAAS,EAAE,oBAAoB,CAAA;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB,qBA+sDA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { TransactionDirection
|
|
2
|
+
import type { TransactionDirection } from '@fayz-ai/financial/domain/movement';
|
|
3
|
+
import type { InvoiceStatus } from '@fayz-ai/financial/domain/invoice';
|
|
3
4
|
export declare function InvoiceListView({ direction, onNew, onNewReceipt, onEdit }: {
|
|
4
5
|
direction: TransactionDirection;
|
|
5
6
|
onNew?: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvoiceListView.d.ts","sourceRoot":"","sources":["../../src/views/InvoiceListView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAUxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"InvoiceListView.d.ts","sourceRoot":"","sources":["../../src/views/InvoiceListView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAUxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,KAAK,EAAE,aAAa,EAA8B,MAAM,mCAAmC,CAAA;AA8NlG,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;IAC1E,SAAS,EAAE,oBAAoB,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;IAClB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,wFAAwF;IACxF,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,KAAK,IAAI,CAAA;CACtD,qBAuvBA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReconciliationView.d.ts","sourceRoot":"","sources":["../../src/views/ReconciliationView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ReconciliationView.d.ts","sourceRoot":"","sources":["../../src/views/ReconciliationView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAwIxE,wBAAgB,kBAAkB,sBAihBjC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { RecurringBillDirection } from '
|
|
2
|
+
import type { RecurringBillDirection } from '@fayz-ai/financial/domain/recurring-bill';
|
|
3
3
|
import type { ViewIntent } from './FinancialPage';
|
|
4
4
|
export declare function RecurringBillsView({ direction, intent, onNavigate, }: {
|
|
5
5
|
direction: RecurringBillDirection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecurringBillsView.d.ts","sourceRoot":"","sources":["../../src/views/RecurringBillsView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"RecurringBillsView.d.ts","sourceRoot":"","sources":["../../src/views/RecurringBillsView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,KAAK,EAAiB,sBAAsB,EAAkD,MAAM,0CAA0C,CAAA;AAErJ,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAuCjD,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EAAE,MAAM,EAAE,UAAU,GAC9B,EAAE;IACD,SAAS,EAAE,sBAAsB,CAAA;IACjC,MAAM,EAAE,UAAU,CAAA;IAClB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,qBAYA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatementsView.d.ts","sourceRoot":"","sources":["../../src/views/StatementsView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"StatementsView.d.ts","sourceRoot":"","sources":["../../src/views/StatementsView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AA2ExE,wBAAgB,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,qBA8erF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { StoreApi } from 'zustand';
|
|
2
2
|
import type { DashboardWidgetDef } from '@fayz-ai/core';
|
|
3
3
|
import { type ResolvedFinancialConfig } from '../context';
|
|
4
|
-
import type { FinancialDataProvider } from '
|
|
5
|
-
import type { FinancialUIState } from '
|
|
4
|
+
import type { FinancialDataProvider } from '@fayz-ai/financial/data/provider';
|
|
5
|
+
import type { FinancialUIState } from '@fayz-ai/financial/store';
|
|
6
6
|
export declare function createFinancialDashboardWidgets(ctx: {
|
|
7
7
|
config: ResolvedFinancialConfig;
|
|
8
8
|
provider: FinancialDataProvider;
|
|
@@ -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;
|
|
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;AAOvD,OAAO,EAAyG,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAChK,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAsYhE,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-memory.d.ts","sourceRoot":"","sources":["../../src/views/document-memory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"document-memory.d.ts","sourceRoot":"","sources":["../../src/views/document-memory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAexE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2FAA2F;IAC3F,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,eAAe,CAAA;IACpB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AA6CD,mEAAmE;AACnE,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAW3D;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,IAAI,UAAU,GAAG,IAAI,CAElD;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C;AAED,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CA8BhF;AAGD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,eAAe,EACpB,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAClD,IAAI,CAQN"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { type AgentSurfaceTool } from '@fayz-ai/admin';
|
|
3
3
|
import type { ResolvedFinancialConfig } from '../context';
|
|
4
|
-
import type { FinancialDataProvider } from '
|
|
4
|
+
import type { FinancialDataProvider } from '@fayz-ai/financial/data/provider';
|
|
5
5
|
/**
|
|
6
6
|
* O domínio, dito ao modelo uma vez.
|
|
7
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payable-agent.d.ts","sourceRoot":"","sources":["../../src/views/payable-agent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAQL,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"payable-agent.d.ts","sourceRoot":"","sources":["../../src/views/payable-agent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAQL,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AA6B7E;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,QA4CtB,CAAA;AA0LX,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,uBAAuB,CAAA;IAC/B,QAAQ,EAAE,qBAAqB,CAAA;CAChC;AAsUD,kFAAkF;AAClF,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAiHD,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAojB7F;AAkBD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wEAAwE;IACxE,gBAAgB,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,iBAAiB,CAAA;IACjC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B;AAID,+EAA+E;AAC/E,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAuBD,mEAAmE;AACnE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAYzD;AAoTD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;IACrD,MAAM,EAAE,uBAAuB,CAAA;IAC/B,KAAK,EAAE,gBAAgB,CAAA;CACxB,QA+GA;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,gBAAgB,GAAG,KAAK,CAAC,EAAE,CAkB1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payable-lines.d.ts","sourceRoot":"","sources":["../../src/views/payable-lines.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"payable-lines.d.ts","sourceRoot":"","sources":["../../src/views/payable-lines.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAAG,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAEzF;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAuBrF;AAED,2DAA2D;AAC3D,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGvD;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,IAAI,MAAM,CAI9B"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"status": "beta",
|
|
5
5
|
"dependencies": []
|
|
6
6
|
},
|
|
7
|
-
"version": "0.
|
|
7
|
+
"version": "0.24.1",
|
|
8
8
|
"description": "Fayz SDK — plugin-financial plugin",
|
|
9
9
|
"type": "module",
|
|
10
10
|
"sideEffects": false,
|
|
@@ -28,9 +28,10 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@tanstack/react-table": "^8.20.0",
|
|
31
|
-
"@fayz-ai/admin": "^0.
|
|
32
|
-
"@fayz-ai/core": "^0.
|
|
33
|
-
"@fayz-ai/
|
|
31
|
+
"@fayz-ai/admin": "^0.49.0",
|
|
32
|
+
"@fayz-ai/core": "^0.49.0",
|
|
33
|
+
"@fayz-ai/financial": "^0.1.1",
|
|
34
|
+
"@fayz-ai/ui": "^0.49.0"
|
|
34
35
|
},
|
|
35
36
|
"devDependencies": {
|
|
36
37
|
"@types/node": "^20.0.0",
|
package/dist/data/index.d.ts
DELETED
package/dist/data/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,QAAQ,CAAA;AACpD,YAAY,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,QAAQ,CAAA"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { FinancialMovement, ImportedStatementLine, ReconciliationCandidate, Invoice } from '../types';
|
|
2
|
-
/** Abaixo disto a sugestão não aparece: laranja errado custa mais que cinza. */
|
|
3
|
-
export declare const SUGGESTION_FLOOR = 0.62;
|
|
4
|
-
/** Sem acento, sem pontuação, em palavras — é o que torna «Hamilton dos Santos
|
|
5
|
-
* de Almeida» e «Hamilton Santos De Almeida» a mesma pessoa. */
|
|
6
|
-
export declare function nameTokens(text: string | null | undefined): string[];
|
|
7
|
-
/**
|
|
8
|
-
* Quanto do nome aparece na descrição do extrato, 0..1.
|
|
9
|
-
*
|
|
10
|
-
* CONTENÇÃO, não interseção simétrica: a descrição do banco carrega lixo que o
|
|
11
|
-
* nome nunca vai ter («Pix enviado», o número da operação), então dividir pelo
|
|
12
|
-
* total das duas pontas puniria o acerto. A pergunta é «as palavras de quem eu
|
|
13
|
-
* procuro estão aí?».
|
|
14
|
-
*/
|
|
15
|
-
export declare function nameScore(descricao: string, nome: string | null | undefined): number;
|
|
16
|
-
export declare function amountScore(lineAmount: number, movementAmount: number, tolerance?: number): number;
|
|
17
|
-
/** How far a confident name can stretch the amount: interest, a fine, a discount. */
|
|
18
|
-
export declare const NAME_AMOUNT_TOLERANCE = 0.1;
|
|
19
|
-
export declare function dateScore(lineDate: string | undefined, refDate: string | undefined): number;
|
|
20
|
-
export interface MovementContext {
|
|
21
|
-
/** De quem é o lançamento, para o nome entrar na conta. */
|
|
22
|
-
contactName?: string;
|
|
23
|
-
invoice?: Invoice;
|
|
24
|
-
}
|
|
25
|
-
export declare function scorePair(line: Pick<ImportedStatementLine, 'amount' | 'date' | 'direction' | 'description' | 'counterpartyName'>, movement: FinancialMovement, context?: MovementContext): number;
|
|
26
|
-
/**
|
|
27
|
-
* A página inteira de uma vez: cada linha do extrato recebe seus candidatos, e
|
|
28
|
-
* nenhum lançamento é oferecido a duas linhas.
|
|
29
|
-
*
|
|
30
|
-
* Guloso pelo melhor par global — o par mais confiante escolhe primeiro, e o
|
|
31
|
-
* lançamento que ele levou sai do baralho dos outros.
|
|
32
|
-
*/
|
|
33
|
-
export declare function matchStatementLines(lines: ImportedStatementLine[], movements: FinancialMovement[], context?: Map<string, MovementContext>, limitPerLine?: number): Record<string, ReconciliationCandidate[]>;
|
|
34
|
-
//# sourceMappingURL=match-statement.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"match-statement.d.ts","sourceRoot":"","sources":["../../src/data/match-statement.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAE1G,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAcpC;iEACiE;AACjE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAQpE;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAgBpF;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,MAAM,CAMhG;AAED,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,MAAM,CAAA;AAIxC,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI3F;AAED,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,IAAI,CAAC,qBAAqB,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,aAAa,GAAG,kBAAkB,CAAC,EACvG,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,eAAoB,GAC5B,MAAM,CAiBR;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,qBAAqB,EAAE,EAC9B,SAAS,EAAE,iBAAiB,EAAE,EAC9B,OAAO,GAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAa,EACjD,YAAY,SAAI,GACf,MAAM,CAAC,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAqB3C"}
|
package/dist/data/mock.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { FinancialDataProvider } from './types';
|
|
2
|
-
import type { Invoice, InvoiceItem, FinancialMovement, BankAccount, PaymentMethod, RecurringBill } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* Pre-populated store data. Any omitted collection stays empty (except
|
|
5
|
-
* bankAccounts, which fall back to the two default mock accounts when absent).
|
|
6
|
-
* Pass full domain objects — the mock treats them as the existing ledger.
|
|
7
|
-
*/
|
|
8
|
-
export interface MockFinancialSeed {
|
|
9
|
-
bankAccounts?: BankAccount[];
|
|
10
|
-
invoices?: Invoice[];
|
|
11
|
-
invoiceItems?: InvoiceItem[];
|
|
12
|
-
movements?: FinancialMovement[];
|
|
13
|
-
paymentMethods?: PaymentMethod[];
|
|
14
|
-
recurringBills?: RecurringBill[];
|
|
15
|
-
}
|
|
16
|
-
export interface MockFinancialProviderOptions {
|
|
17
|
-
paymentMethodTypes?: Array<{
|
|
18
|
-
name: string;
|
|
19
|
-
transactionType?: string;
|
|
20
|
-
}>;
|
|
21
|
-
/** Pre-seed the in-memory store so the module renders populated (not the empty state). */
|
|
22
|
-
seed?: MockFinancialSeed;
|
|
23
|
-
}
|
|
24
|
-
export declare function createMockFinancialProvider(options?: MockFinancialProviderOptions): FinancialDataProvider;
|
|
25
|
-
//# sourceMappingURL=mock.d.ts.map
|
package/dist/data/mock.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/data/mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,EACV,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EACvC,aAAa,EAQ1B,aAAa,EAEd,MAAM,UAAU,CAAA;AA+IjB;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC/B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;IAChC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,4BAA4B;IAC3C,kBAAkB,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtE,0FAA0F;IAC1F,IAAI,CAAC,EAAE,iBAAiB,CAAA;CACzB;AAED,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,4BAA4B,GAAG,qBAAqB,CA4jCzG"}
|
package/dist/data/supabase.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../src/data/supabase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AA8dpD,wBAAgB,+BAA+B,IAAI,qBAAqB,CA0nGvE"}
|
package/dist/data/tables.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
export declare const T: {
|
|
2
|
-
readonly movements: "plg_financial_movements";
|
|
3
|
-
readonly statementLines: "plg_financial_bank_statement_lines";
|
|
4
|
-
readonly statementAccounts: "v_financial_statement_accounts";
|
|
5
|
-
readonly statementSources: "plg_financial_account_statement_sources";
|
|
6
|
-
readonly allocations: "plg_financial_allocations";
|
|
7
|
-
readonly cashMovements: "v_financial_cash_movements";
|
|
8
|
-
readonly accountBalances: "v_financial_account_balances";
|
|
9
|
-
readonly chartOfAccounts: "plg_financial_chart_of_accounts";
|
|
10
|
-
readonly bankAccounts: "plg_financial_bank_accounts";
|
|
11
|
-
readonly cardBrands: "plg_financial_card_brands";
|
|
12
|
-
readonly costCenters: "plg_financial_cost_centers";
|
|
13
|
-
readonly cashRegisterSessions: "plg_financial_cash_register_sessions";
|
|
14
|
-
readonly paymentMethods: "plg_financial_payment_methods";
|
|
15
|
-
readonly paymentMethodTypes: "plg_financial_payment_method_types";
|
|
16
|
-
readonly notas: "plg_financial_nfe";
|
|
17
|
-
readonly invoiceItems: "plg_financial_invoice_items";
|
|
18
|
-
readonly commissionRules: "plg_financial_commission_rules";
|
|
19
|
-
readonly commissionRuleCriteria: "plg_financial_commission_rule_criteria";
|
|
20
|
-
readonly commissionFunctions: "plg_financial_commission_functions";
|
|
21
|
-
readonly bills: "v_financial_installment_balances";
|
|
22
|
-
/** A fatura com o que já foi pago somado — de onde toda lista de contas lê. */
|
|
23
|
-
readonly invoiceBalances: "v_financial_invoice_balances";
|
|
24
|
-
readonly commissions: "v_financial_commissions";
|
|
25
|
-
readonly commissionGenerations: "plg_financial_commission_generations";
|
|
26
|
-
readonly periods: "plg_financial_periods";
|
|
27
|
-
readonly trialBalance: "v_financial_trial_balance";
|
|
28
|
-
readonly aging: "v_financial_aging";
|
|
29
|
-
readonly agingSummary: "v_financial_aging_summary";
|
|
30
|
-
readonly lineMargin: "v_financial_line_margin";
|
|
31
|
-
readonly marginByMonth: "v_financial_margin_by_month";
|
|
32
|
-
readonly recurringBills: "plg_financial_recurring_bills";
|
|
33
|
-
readonly recurringOccurrences: "plg_financial_recurring_bill_occurrences";
|
|
34
|
-
readonly discountsGiven: "v_financial_discounts_given";
|
|
35
|
-
/** O arquivo de remessa que já saiu para o banco, e o pagamento dentro dele (080). */
|
|
36
|
-
readonly cnabBatches: "plg_financial_cnab_batches";
|
|
37
|
-
readonly cnabItems: "plg_financial_cnab_items";
|
|
38
|
-
/** Para onde o dinheiro SAI — a conta de quem a casa paga, nunca conta do razão (149). */
|
|
39
|
-
readonly payeeAccounts: "payee_accounts";
|
|
40
|
-
/** A empresa pagadora da unidade: é o CNPJ dela que vai no cabeçalho do CNAB. */
|
|
41
|
-
readonly unitCompanies: "v_unit_company_legal_entities";
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=tables.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../src/data/tables.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;IAkCZ,+EAA+E;;;;;;;;;;;;;IAa/E,sFAAsF;;;IAGtF,0FAA0F;;IAE1F,iFAAiF;;CAEzE,CAAA"}
|