Criar transação
create_transactionCria uma transação (EXPENSE/INCOME/TRANSFER). Requer accountId ou cardId. Se a transação vai ser considerada paga agora (isPaid não-false e sem scheduledDate futura), valida saldo suficiente na conta (EXPENSE/TRANSFER) ou limite disponível no cartão (EXPENSE) e retorna 400 se faltar — para permitir saldo negativo use confirm_new_transaction. scheduledDate no futuro agenda a transação sem tocar saldo/limite até ser confirmada depois (confirm_pending_transaction). installments > 1 divide amount em parcelas iguais e cria as ocorrências futuras automaticamente. category 'INVESTMENT' + EXPENSE/INCOME atualiza o valor/custo de um Equity (cria um novo via ticker/exchange se não existir nenhum, ou usa/cria um 'Investimentos Gerais' default). Para TRANSFER com goalId, incrementa o progresso da meta. Dispara recálculo de projeções e insights (best-effort) e um alerta de orçamento (push) se estourar categoria.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"type": "<type>",
"amount": "<amount>",
"description": "<description>",
"date": "<date>"
},
"name": "create_transaction"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Data ISO ou dd/mm/yyyy (normalizada automaticamente) | |
| type | Yes | ||
| amount | Yes | Valor total da transação — se installments > 1, é o valor total, dividido igualmente entre as parcelas | |
| cardId | No | Cartão usado (só para EXPENSE). Obrigatório se accountId não for informado | |
| goalId | No | Meta financeira vinculada — só tem efeito (incrementa progresso) quando type é TRANSFER | |
| isPaid | No | Default: calculado a partir de date/scheduledDate (passado/hoje = true). Force false para lançar como pendente mesmo com data passada | |
| nature | No | PERSONAL, PROFESSIONAL, MIXED ou BUSINESS. Default: PERSONAL | |
| shares | No | Quantidade de cotas/ações da operação de investimento, se aplicável | |
| ticker | No | Ticker do ativo (ex: PETR4) — usado só quando categoryId aponta pra categoria 'INVESTMENT', pra achar/criar o Equity correspondente | |
| agentId | No | Contato/agente (Agent) vinculado à transação | |
| equityId | No | Investimento (Equity) a atualizar diretamente, alternativa a ticker/exchange | |
| exchange | No | Bolsa do ativo, usado junto com ticker ao criar um novo Equity | |
| paidDate | No | Data ISO em que foi efetivamente paga, se diferente de date | |
| accountId | No | Conta debitada/creditada. Obrigatório se cardId não for informado | |
| categoryId | No | Id da Category do usuário | |
| description | Yes | Descrição/título da transação | |
| costCenterId | No | Centro de custo vinculado | |
| installments | No | Número de parcelas (>1 gera parcelas futuras adicionais, tipicamente usado com cardId) | |
| scheduledDate | No | Data ISO futura — agenda a transação como pendente sem afetar saldo/limite até ser confirmada | |
| destinationAccountId | No | Obrigatório para TRANSFER — conta de destino |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| card | No | ||
| date | No | ||
| tags | No | ||
| type | No | ||
| agent | No | ||
| amount | No | ||
| cardId | No | ||
| goalId | No | ||
| isPaid | No | ||
| nature | No | ||
| userId | No | ||
| account | No | ||
| agentId | No | ||
| category | No | ||
| equityId | No | ||
| paidDate | No | ||
| accountId | No | ||
| createdAt | No | ||
| updatedAt | No | ||
| categoryId | No | ||
| costCenter | No | ||
| externalId | No | ||
| description | No | ||
| costCenterId | No | ||
| categoryModel | No | ||
| scheduledDate | No | ||
| totalInstallments | No | ||
| billReminderSentAt | No | ||
| currentInstallment | No | ||
| destinationAccount | No | ||
| destinationAccountId | No | ||
| recurringTransactionId | No |