@fayz-ai/plugin-financial 0.17.0 → 0.18.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.
Files changed (58) hide show
  1. package/dist/components/ChartOfAccountsTree.d.ts +1 -1
  2. package/dist/components/ChartOfAccountsTree.d.ts.map +1 -1
  3. package/dist/components/PaymentFields.d.ts +45 -0
  4. package/dist/components/PaymentFields.d.ts.map +1 -0
  5. package/dist/components/PaymentModal.d.ts.map +1 -1
  6. package/dist/components/PaymentReceiptModal.d.ts +25 -0
  7. package/dist/components/PaymentReceiptModal.d.ts.map +1 -0
  8. package/dist/components/ReconcileFlow.d.ts +17 -0
  9. package/dist/components/ReconcileFlow.d.ts.map +1 -0
  10. package/dist/components/ReconcileModals.d.ts +17 -0
  11. package/dist/components/ReconcileModals.d.ts.map +1 -0
  12. package/dist/data/mock.d.ts.map +1 -1
  13. package/dist/data/registries.d.ts +4 -0
  14. package/dist/data/registries.d.ts.map +1 -1
  15. package/dist/data/supabase.d.ts.map +1 -1
  16. package/dist/data/tables.d.ts +4 -0
  17. package/dist/data/tables.d.ts.map +1 -1
  18. package/dist/data/types.d.ts +64 -2
  19. package/dist/data/types.d.ts.map +1 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +7985 -1679
  22. package/dist/index.js.map +1 -1
  23. package/dist/lib/invoice-list.d.ts +4 -1
  24. package/dist/lib/invoice-list.d.ts.map +1 -1
  25. package/dist/lib/payment-how.d.ts +12 -2
  26. package/dist/lib/payment-how.d.ts.map +1 -1
  27. package/dist/lib/receipt-reading.d.ts +37 -0
  28. package/dist/lib/receipt-reading.d.ts.map +1 -0
  29. package/dist/lib/reconcile.d.ts +148 -0
  30. package/dist/lib/reconcile.d.ts.map +1 -0
  31. package/dist/lib/useStockedItemTypes.d.ts +6 -0
  32. package/dist/lib/useStockedItemTypes.d.ts.map +1 -0
  33. package/dist/locales/en.d.ts.map +1 -1
  34. package/dist/locales/pt-BR.d.ts.map +1 -1
  35. package/dist/migrations/index.d.ts +22 -0
  36. package/dist/migrations/index.d.ts.map +1 -1
  37. package/dist/store.d.ts.map +1 -1
  38. package/dist/types.d.ts +259 -2
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/views/CardsView.d.ts.map +1 -1
  41. package/dist/views/FinancialPage.d.ts.map +1 -1
  42. package/dist/views/GapScreens.d.ts +24 -0
  43. package/dist/views/GapScreens.d.ts.map +1 -0
  44. package/dist/views/InvoiceDetailView.d.ts +2 -1
  45. package/dist/views/InvoiceDetailView.d.ts.map +1 -1
  46. package/dist/views/InvoiceFormView.d.ts.map +1 -1
  47. package/dist/views/InvoiceListView.d.ts.map +1 -1
  48. package/dist/views/NotasFiscaisView.d.ts.map +1 -1
  49. package/dist/views/PayablesView.d.ts.map +1 -1
  50. package/dist/views/ReceivablesView.d.ts.map +1 -1
  51. package/dist/views/ReconciliationView.d.ts.map +1 -1
  52. package/dist/views/RecurringBillsView.d.ts.map +1 -1
  53. package/dist/views/StatementsView.d.ts.map +1 -1
  54. package/dist/views/cardChip.d.ts +16 -0
  55. package/dist/views/cardChip.d.ts.map +1 -0
  56. package/dist/views/focusItem.d.ts +4 -0
  57. package/dist/views/focusItem.d.ts.map +1 -0
  58. package/package.json +4 -4
@@ -10,7 +10,10 @@ interface InvoiceItemType {
10
10
  icon?: string;
11
11
  }
12
12
  /** Product and service are catalog-backed choices; Other is always available. */
13
- export declare function availableInvoiceItemTypes<T extends InvoiceItemType>(itemTypes: T[], lookupKinds: Iterable<string>, otherLabel: string): T[];
13
+ export declare function availableInvoiceItemTypes<T extends InvoiceItemType>(itemTypes: T[], lookupKinds: Iterable<string>, otherLabel: string,
14
+ /** A tela fala `debit`, a recorrência fala `payable` — as duas são conta a
15
+ * PAGAR. Ausente mantém o comportamento antigo. */
16
+ direction?: 'debit' | 'credit' | 'payable' | 'receivable'): T[];
14
17
  export interface CounterpartyAccountingPolicy {
15
18
  defaultAccountId?: string;
16
19
  defaultCostCenterId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"invoice-list.d.ts","sourceRoot":"","sources":["../../src/lib/invoice-list.ts"],"names":[],"mappings":"AAAA,UAAU,wBAAwB;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAClC;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,iFAAiF;AACjF,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,eAAe,EACjE,SAAS,EAAE,CAAC,EAAE,EACd,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC7B,UAAU,EAAE,MAAM,GACjB,CAAC,EAAE,CASL;AAED,MAAM,WAAW,4BAA4B;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,aAAa,EAAE,OAAO,CAAA;IACtB,qBAAqB,EAAE,OAAO,CAAA;CAC/B;AAcD,6EAA6E;AAC7E,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,OAAO,GAAG,4BAA4B,CAyC9F;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,4BAA4B,EACpC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,4BAA4B,CAO9B;AAED;gFACgF;AAChF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,wBAAwB,EAAE,EAAE,OAAO,SAAI,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBxG"}
1
+ {"version":3,"file":"invoice-list.d.ts","sourceRoot":"","sources":["../../src/lib/invoice-list.ts"],"names":[],"mappings":"AAAA,UAAU,wBAAwB;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAClC;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAuBD,iFAAiF;AACjF,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,eAAe,EACjE,SAAS,EAAE,CAAC,EAAE,EACd,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC7B,UAAU,EAAE,MAAM;AAClB;oDACoD;AACpD,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,GACxD,CAAC,EAAE,CAWL;AAED,MAAM,WAAW,4BAA4B;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,aAAa,EAAE,OAAO,CAAA;IACtB,qBAAqB,EAAE,OAAO,CAAA;CAC/B;AAcD,6EAA6E;AAC7E,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,OAAO,GAAG,4BAA4B,CAyC9F;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,4BAA4B,EACpC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,4BAA4B,CAO9B;AAED;gFACgF;AAChF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,wBAAwB,EAAE,EAAE,OAAO,SAAI,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBxG"}
@@ -4,6 +4,14 @@ export interface PaymentHow {
4
4
  method?: string;
5
5
  /** Where the money left from (payable) or landed (receivable). */
6
6
  account?: BankAccount;
7
+ /**
8
+ * A ESPÉCIE da forma — `cash`, `pix`, `credit_card`…
9
+ *
10
+ * O nome já vinha; a espécie é o que permite DESENHAR a forma em vez de
11
+ * escrevê-la. Uma linha de parcela tem espaço para um ícone e não para
12
+ * "Cartão de crédito · Mercado Pago Vini [Brisah]".
13
+ */
14
+ typeKind?: string;
7
15
  }
8
16
  /**
9
17
  * The account a payment moved through. `bank_account_id` is null whenever the
@@ -12,10 +20,12 @@ export interface PaymentHow {
12
20
  * credit to the holder, a receivable the mirror image.
13
21
  */
14
22
  export declare function paymentHolderId(p: FinancialMovement): string | undefined;
15
- export declare function describePayment(p: FinancialMovement, ctx: {
23
+ /** O que é preciso saber para traduzir um pagamento em palavras. */
24
+ export interface DescribePaymentContext {
16
25
  paymentMethods: PaymentMethod[];
17
26
  paymentMethodTypes: PaymentMethodType[];
18
27
  accountsById: Map<string, BankAccount>;
19
28
  t: (key: string) => string;
20
- }): PaymentHow;
29
+ }
30
+ export declare function describePayment(p: FinancialMovement, ctx: DescribePaymentContext): PaymentHow;
21
31
  //# sourceMappingURL=payment-how.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"payment-how.d.ts","sourceRoot":"","sources":["../../src/lib/payment-how.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEhG,MAAM,WAAW,UAAU;IACzB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAGxE;AAED,wBAAgB,eAAe,CAC7B,CAAC,EAAE,iBAAiB,EACpB,GAAG,EAAE;IACH,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;IACvC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACtC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;CAC3B,GACA,UAAU,CAaZ"}
1
+ {"version":3,"file":"payment-how.d.ts","sourceRoot":"","sources":["../../src/lib/payment-how.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEhG,MAAM,WAAW,UAAU;IACzB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAGxE;AAED,oEAAoE;AACpE,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;IACvC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACtC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;CAC3B;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,sBAAsB,GAAG,UAAU,CAa7F"}
@@ -0,0 +1,37 @@
1
+ import type { ReceiptReading } from '../types';
2
+ /** Um leitor de comprovante: recebe o arquivo, devolve o que deu para ler. */
3
+ export type ReceiptReader = (file: File) => Promise<ReceiptReading>;
4
+ /**
5
+ * O que o modelo respondeu, virado em dado com que a tela sabe lidar.
6
+ *
7
+ * Exportado porque é onde os defeitos aparecem — um modelo que devolve
8
+ * `"12,50"` ou envolve tudo numa cerca não pode quebrar a leitura, e isso se
9
+ * prova sem rede.
10
+ */
11
+ export declare function parseReceiptReply(content: string): ReceiptReading;
12
+ /**
13
+ * O leitor de verdade, montado sobre o agente do projeto.
14
+ *
15
+ * Devolve `null` quando o app não tem agente configurado — a tela usa isso para
16
+ * não oferecer um botão que não funciona (`VITE_FAYZ_AGENT_KEY` ausente é a
17
+ * causa de todo FAB morto da frota).
18
+ */
19
+ export declare function createAgentReceiptReader(deps: {
20
+ chat: (input: {
21
+ message: string;
22
+ inlineFiles: Array<{
23
+ name: string;
24
+ mime: string;
25
+ data: string;
26
+ }>;
27
+ }) => Promise<{
28
+ content: string;
29
+ }>;
30
+ toInlineFile: (file: File) => Promise<{
31
+ name: string;
32
+ mime: string;
33
+ data: string;
34
+ }>;
35
+ shrinkForVision?: (file: File) => Promise<File>;
36
+ }): ReceiptReader;
37
+ //# sourceMappingURL=receipt-reading.d.ts.map
@@ -0,0 +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,UAAU,CAAA;AAsCtE,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"}
@@ -0,0 +1,148 @@
1
+ import type { CreateInvoiceInput, FinancialMovement, ReconcileAdjustment, ReconcileAsBillInput, ReconcileBillItemInput, ReconcilePaymentInput, ReconciliationCandidate, TransactionDirection } from '../types';
2
+ /** A linha do extrato reduzida ao que a conciliação precisa saber dela. */
3
+ export interface ReconcileLine {
4
+ id: string;
5
+ amount: number;
6
+ date: string;
7
+ direction: TransactionDirection;
8
+ description?: string;
9
+ bankAccountId?: string;
10
+ externalSource: string;
11
+ }
12
+ /** A soma dos itens, arredondada como o dinheiro é arredondado. */
13
+ export declare function sumItems(items: ReconcileBillItemInput[] | undefined): number;
14
+ /**
15
+ * Os itens fecham com o extrato?
16
+ *
17
+ * O extrato é a fonte da verdade do valor — o papel pode estar torto, rasgado
18
+ * ou ser de outra compra. Quando a soma não bate, a resposta certa não é
19
+ * escolher um dos dois em silêncio: é dizer de quanto é a diferença e deixar a
20
+ * pessoa decidir. Devolve a mensagem que bloqueia, ou `null` quando fecha.
21
+ */
22
+ export declare function itemsMismatch(items: ReconcileBillItemInput[] | undefined, lineAmount: number, fmt: (n: number) => string): string | null;
23
+ /**
24
+ * A conta que a linha do extrato evidencia, pronta para `createInvoice`.
25
+ *
26
+ * A direção NÃO é uma escolha: uma saída no banco é uma conta a pagar e uma
27
+ * entrada é uma conta a receber. O V1 oferece um seletor D/C aqui, e ele só
28
+ * serve para criar um lançamento que contradiz o extrato que o gerou.
29
+ */
30
+ export declare function buildBillInvoice(line: ReconcileLine, input: ReconcileAsBillInput): CreateInvoiceInput;
31
+ /** O texto que o V1 põe na observação do pagamento nascido de uma conciliação. */
32
+ export declare function reconciliationPaymentNote(line: ReconcileLine): string;
33
+ /**
34
+ * O que `payMovement` recebe quando quem quita é a LINHA DO EXTRATO.
35
+ *
36
+ * O extrato responde as três perguntas do pagamento antes de alguém abrir a
37
+ * boca: QUANDO (a data da linha), ONDE (a conta do extrato) e QUANTO. E a
38
+ * FORMA não é uma quarta pergunta — a forma é o próprio extrato. O V1 grava
39
+ * esse pagamento com `Forma Pgto. N/A` justamente por isso, e o `p_method` da
40
+ * `financial_receive_payment` cai para `other` sozinho quando ninguém manda um.
41
+ *
42
+ * Por isso não existe um passo perguntando forma e conta: seria pedir o que a
43
+ * fonte já respondeu, e toda resposta divergente seria uma invenção sobre um
44
+ * dinheiro que já andou.
45
+ *
46
+ * `payment` continua existindo para quem chama a porta por fora com um
47
+ * pagamento diferente do que o extrato conta — a tela nunca manda um.
48
+ */
49
+ export declare function buildPayment(line: ReconcileLine, movementId: string, amount: number, payment: ReconcilePaymentInput | undefined, notes?: string): {
50
+ movementId: string;
51
+ amount: number;
52
+ paymentDate: string;
53
+ paymentMethodId: string | undefined;
54
+ paymentMethodTypeId: string | undefined;
55
+ bankAccountId: string | undefined;
56
+ cashSessionId: string | undefined;
57
+ cardBrand: string | undefined;
58
+ cardInstallments: number | undefined;
59
+ notes: string;
60
+ };
61
+ /**
62
+ * Juros e multa custam dinheiro; desconto devolve. A conta do ajuste anda no
63
+ * sentido de quem PAGA a diferença — numa conta a pagar, juros é mais despesa
64
+ * e desconto é uma receita que compensa.
65
+ */
66
+ export declare function adjustmentDirection(billDirection: TransactionDirection, type: ReconcileAdjustment['type']): TransactionDirection;
67
+ /** O ajuste com sinal: o quanto ele empurra o total para cima (+) ou para baixo (−). */
68
+ export declare function signedAdjustment(adj: ReconcileAdjustment): number;
69
+ /**
70
+ * A diferença que os ajustes precisam explicar entre o extrato e a conta.
71
+ *
72
+ * Positiva = o banco tirou MAIS do que a conta pedia (juros, multa). Negativa =
73
+ * tirou menos (desconto).
74
+ */
75
+ export declare function adjustmentGap(lineAmount: number, billOpenAmount: number): number;
76
+ /** Os ajustes explicam a diferença? Devolve o que falta dizer, ou `null`. */
77
+ export declare function adjustmentsMismatch(adjustments: ReconcileAdjustment[] | undefined, gap: number, fmt: (n: number) => string): string | null;
78
+ /** Um candidato depois de resolvido: a conta, e o que conciliar com ela FAZ. */
79
+ export interface ResolvedCandidate {
80
+ candidate: ReconciliationCandidate;
81
+ /**
82
+ * `settle` — a conta está em aberto e conciliar a quita.
83
+ * `link_only` — ela já foi paga na mão; conciliar só amarra a linha, porque
84
+ * criar um segundo pagamento dobraria o dinheiro.
85
+ */
86
+ mode: 'settle' | 'link_only';
87
+ /** Quanto ainda falta pagar (0 numa conta já quitada). */
88
+ openAmount: number;
89
+ }
90
+ /**
91
+ * O V1 separa `link` de `link_paid`, e a diferença é dinheiro: vincular uma
92
+ * conta JÁ PAGA como se estivesse aberta cria um segundo pagamento e o mês
93
+ * fecha com o dobro. A lista aqui diz, por candidato, qual dos dois é.
94
+ *
95
+ * E tira o duplicado: uma conta paga volta da busca duas vezes — a parcela e o
96
+ * pagamento dela —, e duas linhas idênticas na tela são duas chances de
97
+ * escolher a errada.
98
+ */
99
+ export declare function resolveCandidates(candidates: ReconciliationCandidate[]): ResolvedCandidate[];
100
+ /** O texto do ajuste, para a descrição do lançamento que ele gera. */
101
+ export declare function adjustmentDescription(adj: ReconcileAdjustment): string;
102
+ /** O mínimo do provider que a conciliação usa. Ver `data/types.ts`. */
103
+ export interface ReconcileCapableProvider {
104
+ createInvoice(input: CreateInvoiceInput): Promise<{
105
+ id: string;
106
+ }>;
107
+ getMovements(query: {
108
+ invoiceId?: string;
109
+ }): Promise<{
110
+ data: FinancialMovement[];
111
+ }>;
112
+ payMovement(input: ReturnType<typeof buildPayment> & {
113
+ metadata?: Record<string, unknown>;
114
+ }): Promise<FinancialMovement>;
115
+ reconcileMovement(input: {
116
+ bankMovementId: string;
117
+ matchedMovementId?: string;
118
+ }): Promise<void>;
119
+ }
120
+ /**
121
+ * «Lançar como conta» — a conta nasce classificada, é quitada e a linha do
122
+ * extrato passa a ser a prova dela.
123
+ *
124
+ * Quitar é obrigatório e não é detalhe: com a evidência fora do razão
125
+ * (migration 112), uma linha marcada como conciliada SEM contrapartida deixa o
126
+ * dinheiro no banco e fora do livro, e o extrato para de bater em silêncio.
127
+ */
128
+ export declare function runReconcileAsBill(provider: ReconcileCapableProvider, line: ReconcileLine, input: ReconcileAsBillInput): Promise<{
129
+ invoiceId: string;
130
+ }>;
131
+ /**
132
+ * «Vincular» — a conta já existe. Em aberto, conciliar a QUITA; já paga,
133
+ * conciliar só amarra.
134
+ *
135
+ * Os ajustes não entram no pagamento: `financial_receive_payment` recusa pagar
136
+ * mais que o saldo em aberto (23514), e recusa com razão — uma parcela de 100
137
+ * nunca foi de 112. Cada ajuste vira um lançamento próprio, classificado,
138
+ * quitado na mesma data e contra a mesma conta.
139
+ */
140
+ export declare function runReconcileLink(provider: ReconcileCapableProvider, line: ReconcileLine, target: {
141
+ movementId: string;
142
+ mode: 'settle' | 'link_only';
143
+ openAmount: number;
144
+ }, options?: {
145
+ payment?: ReconcilePaymentInput;
146
+ adjustments?: ReconcileAdjustment[];
147
+ }): Promise<void>;
148
+ //# sourceMappingURL=reconcile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../src/lib/reconcile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { EntityLookupMap } from '@fayz-ai/admin';
2
+ /** Os tipos que este documento pode oferecer de fato — os de catálogo vazio saem. */
3
+ export declare function useStockedItemTypes<T extends {
4
+ value: string;
5
+ }>(itemTypes: T[], entityLookups: EntityLookupMap): T[];
6
+ //# sourceMappingURL=useStockedItemTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStockedItemTypes.d.ts","sourceRoot":"","sources":["../../src/lib/useStockedItemTypes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AA+BrD,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAC7D,SAAS,EAAE,CAAC,EAAE,EACd,aAAa,EAAE,eAAe,GAC7B,CAAC,EAAE,CAoCL"}
@@ -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,CA0oBrC,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,CA21BrC,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,CA6oBvC,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,CA81BvC,CAAA"}