Carregando…
Dashboard
Visão geral das suas finanças
Total gasto
R$ 0,00
todos os cartões
Limite disponível
R$ 0,00
0% livre
A receber (empréstimos)
R$ 0,00
0 em aberto
Lançamentos
0
registros
Gastos por cartão
Distribuição do total gasto
Limite por cartão
Utilizado vs disponível
Limite dos cartões
Detalhamento de uso por cartão
CartãoGastoLimiteDisponívelUso
Últimos lançamentos
5 registros mais recentes
Selecionar cartão
Dados da compra
Parcelado

Nenhum lançamento ainda.

Meus cartões

Edite nome, limite, ou exclua cartões. Clique em Salvar após editar.

Novo empréstimo

Nenhum empréstimo registrado.

Conexão Supabase

Encontre as credenciais em supabase.com → projeto → Settings → API. São salvas no navegador.

A anon key é segura para uso no frontend.

SQL para criar as tabelas

Rode este script no Supabase → SQL Editor antes de usar:

create table if not exists cartoes (
  id         uuid default gen_random_uuid() primary key,
  nome       text unique not null,
  limite     numeric default 0,
  icone      text default 'ti-credit-card',
  logo_url   text,
  criado_em  timestamptz default now()
);
alter table cartoes add column if not exists logo_url text;
create table if not exists gastos (
  id         uuid default gen_random_uuid() primary key,
  cartao     text not null,
  data       date not null,
  mes_ref    text not null,
  valor      numeric not null,
  descricao  text,
  parcelado  boolean default false,
  parcelas   int default 1,
  criado_em  timestamptz default now()
);
create table if not exists emprestimos (
  id         uuid default gen_random_uuid() primary key,
  nome       text not null,
  data       date not null,
  valor      numeric not null,
  observacao text,
  criado_em  timestamptz default now()
);
create table if not exists pagamentos_emprestimo (
  id             uuid default gen_random_uuid() primary key,
  emprestimo_id  uuid references emprestimos(id) on delete cascade,
  data           date not null,
  valor          numeric not null,
  observacao     text,
  criado_em      timestamptz default now()
);
create table if not exists gastos_fixos (
  id          bigint primary key,
  descricao   text not null,
  valor       numeric not null,
  vencimento  text,
  criado_em   timestamptz default now()
);
alter table gastos_fixos disable row level security;
create table if not exists terceiros (
  id          bigint primary key,
  nome        text not null,
  descricao   text,
  valor       numeric(12,2) not null,
  parcelado   boolean default false,
  parcelas    int default 1,
  mes_inicio  text,
  cartao      text,
  criado_em   timestamptz default now()
);

create table if not exists fin_estado (
  chave  text primary key,
  valor  text not null
);
create table if not exists poupanca (
  id         uuid default gen_random_uuid() primary key,
  tipo       text not null,
  data       date not null,
  pessoa     text not null,
  valor      numeric not null,
  descricao  text,
  criado_em  timestamptz default now()
);
create table if not exists poupanca_devolucoes (
  id           uuid default gen_random_uuid() primary key,
  poupanca_id  uuid references poupanca(id) on delete cascade,
  data         date not null,
  pessoa       text,
  valor        numeric not null,
  criado_em    timestamptz default now()
);

-- Desabilitar RLS (app pessoal sem autenticação)
alter table cartoes               disable row level security;
alter table gastos                disable row level security;
alter table emprestimos           disable row level security;
alter table pagamentos_emprestimo disable row level security;
alter table terceiros             disable row level security;
alter table fin_estado            disable row level security;
alter table poupanca              disable row level security;
alter table poupanca_devolucoes   disable row level security;
SQL de migração — tabela já existente

Se a tabela gastos já existia, rode este script no Supabase SQL Editor:

alter table gastos add column if not exists mes_ref text;
update gastos set mes_ref = to_char(data, 'YYYY-MM') where mes_ref is null;

-- Se gastos_fixos já existia com uuid, recriar com bigint:
drop table if exists gastos_fixos;
create table gastos_fixos (
  id          bigint primary key,
  descricao   text not null,
  valor       numeric not null,
  vencimento  text,
  criado_em   timestamptz default now()
);
alter table gastos_fixos disable row level security;

-- Se a tabela terceiros nao existir ainda (despesas de terceiros nao salvam):
create table if not exists terceiros (
  id          bigint primary key,
  nome        text not null,
  descricao   text,
  valor       numeric(12,2) not null,
  parcelado   boolean default false,
  parcelas    int default 1,
  mes_inicio  text,
  cartao      text,
  criado_em   timestamptz default now()
);
alter table terceiros disable row level security;
Gastos fixos
Contas recorrentes independente de cartão

Nenhum gasto fixo cadastrado.

Gastos por cartão no mês
Lançamentos registrados para o mês selecionado

Nenhum lançamento neste mês.

Saldo do mês
R$ 0,00
Tudo certo!
Salário R$ 0,00
Gastos fixosR$ 0,00
CartõesR$ 0,00
Total despesasR$ 0,00
Despesas de terceiros

Registro para conhecimento — não entra no saldo.

Saldo da poupança
R$ 0,00
Total entradas
R$ 0,00
Total saídas
R$ 0,00
Devolvido
R$ 0,00
Novo registro

Nenhum registro ainda.

Adicione entradas e saídas acima.