plugin-financial
Beta@fayz-ai/plugin-financial
Most vertical SaaS bolts on finance as an afterthought: a "total" field, a spreadsheet export, and a prayer. plugin-financial makes money a first-class part of the app. It models the full order-to-cash loop — receivables, payables, cash registers, statements, card reconciliation, and commission rules — as composable modules you toggle per business.
Visão geral
Núcleo financeiro: contas a pagar e a receber, caixas, extratos, comissões, cartões e conciliação bancária. Monta a página /financial, widgets de dashboard e um widget de extrato por pessoa (zona person.detail.financial). Os módulos payables, receivables, cashRegisters, statements, commissions, cards e reconciliation (opt-in, exige um conector bancário) são ligáveis por config.
Sobre dados, as faturas são orders (saas_core.orders, kind='invoice_payable'/invoice_receivable'), enquanto o razão financeiro vive em financial_movements. O plugin acrescenta em public tabelas como payment_methods, payment_method_types, bank_accounts, cash_register_sessions, chart_of_accounts, card_brands e cost_centers — onze migrations cobrindo plano de contas, bandeiras de cartão, order-to-cash, RLS, conciliação e split de pagamento. Provider Supabase com fallback mock.
Para IA, expõe getRevenue, createInvoice e listPayables. Status beta / capability parcial.
Quando usar
- Controlar fluxo de caixa, contas a pagar e a receber.
- Emitir e acompanhar faturas ligadas a contatos.
- Conciliar extrato bancário com um conector — módulo opt-in.
Ficha técnica
| Pacote | @fayz-ai/plugin-financial |
|---|---|
| Versão | 0.2.0 |
| Status | beta |
| Capability | Capability parcial |
| Canal stable | ^0.2.0 |
| Migrations | 11 migration(s) |
| Factory | createFinancialPlugin() |
Modelo de dados
| Tabela | Colunas-chave |
|---|---|
plg_financial_payment_method_types | name, transaction_type, is_active, allowed_account_types |
plg_financial_payment_methods | name, payment_method_type_id, is_active, discount_mode, discount_value, interest_mode |
plg_financial_bank_accounts | name, account_type, bank_name, account_number, agency_number, current_balance |
plg_financial_cash_register_sessions | bank_account_id, status, opened_at, opened_by_user_id, opened_by_name, opening_balance |
plg_financial_movements | invoice_id, direction, movement_kind, amount, paid_amount, status |
plg_financial_chart_of_accounts | code, name, node_type, parent_id, is_active |
plg_financial_cost_centers | code, name, is_active |
plg_financial_card_brands | name, is_active |
sequences | kind, current_value |
Convenção plg_ + tenant_id + RLS. Modelo de dados.
Tools de IA
| id | modo | descrição |
|---|---|---|
financial.get-revenue | read | Returns revenue for the business in a given period. |
financial.create-invoice | persist | Creates a new invoice/payable for a contact. |
financial.list-payables | read | Lists outstanding payables/bills. |
Ferramentas que um agente pode chamar contra o seu app. Seu app como camada de dados.
Integrações
Sem conector hospedado — provedores externos entram via connector spine. Veja o catálogo de integrações.
.md desta ficha (em plugins/plugin-financial.md) é o contrato agent-consumable — modelo de dados, tools e integrações num só arquivo que uma IA lê direto. Preview O comando fayz skill add plugin-financial chega em breve para instalar isso como skill. Veja Skills.Integrar
Adicione o plugin em surfaces.admin.plugins do app.manifest.json do seu app e rode o doctor para validar:
{
"surfaces": {
"admin": {
"plugins": [
{ "id": "financial", "enabled": true }
]
}
}
}npx fayz doctorO fayz doctor confere o manifesto contra o catálogo do SDK. Veja Configuração para o passo a passo completo.
