Jefacil Jefacil

O módulo financeiro cobre:

  • Contas a pagar (fornecedor cobrou, tem que pagar).
  • Contas a receber (cliente te deve).
  • Fluxo de caixa (agregação por dia/semana/mês).
  • Conciliação bancária (OFX/CSV, veja guia dedicado).

Auto-geração

O sistema preenche essas contas automaticamente em dois momentos:

Compra recebida → conta a pagar

Quando você recebe uma Compra (módulo Compras) com status RECEIVED, o sistema cria uma AccountPayable vinculada:

  • Categoria “Compras” (criada na primeira vez, reutilizada depois).
  • Fornecedor da compra.
  • Valor = total da compra.
  • Vencimento = 30 dias após recebimento (editável depois).

Parcelar a conta a pagar

No momento de receber a compra, você escolhe se quer dividir o valor em N parcelas (1 a 36):

  • Quantidade de parcelas — default 1 (à vista).
  • Primeiro vencimento — default hoje, editável.
  • Intervalo entre parcelas — default 30 dias.

O total é dividido igualmente; o centavo residual fica na última parcela. Cada parcela é uma AccountPayable separada, com vencimento escalonado e descrição "NF X/N".

Importar NF-e do fornecedor

Em vez de digitar a compra à mão, você pode subir o XML da NF-e que o fornecedor te mandou:

  1. Compras → Importar NF-e e selecione o arquivo .xml.
  2. O Jefacil identifica o fornecedor pelo CNPJ do emitente (cria fornecedor draft se ainda não existir — você completa endereço/IE depois).
  3. Mapeia cada item por SKU (campo cProd da nota). Itens cujo SKU não está cadastrado aparecem como não mapeados no resultado — você cadastra os produtos faltantes e reimporta.
  4. Cria a Compra com status PENDING. Você revisa, ajusta o que precisar, e clica em Receber pra dar entrada de estoque + gerar a(s) conta(s) a pagar (ver parcelamento acima).

Se nenhum item da nota bater com o seu cadastro, o import é abortado com a lista do que faltou — o Jefacil não cria Compra incompleta. Se os produtos batem mas não estão vinculados à loja ativa, mesmo erro: vincule pelo Catálogo e tente de novo.

Venda fiado → conta a receber

Quando um operador registra venda com pagamento FIADO, o sistema cria uma AccountReceivable:

  • Categoria “Vendas a Prazo”.
  • Cliente da venda.
  • Valor = soma dos pagamentos fiado.
  • Vencimento = 30 dias (ou N parcelas escalonadas se configurado — veja Limite de crédito e parcelamento).

Ambas podem ser criadas manualmente também.

Categorias

Financeiro → Categorias — CRUD de categorias de RECEITA e DESPESA. O tenant começa com algumas sugeridas (Aluguel, Energia, Salários, Vendas a Prazo, Vendas à Vista). Você adiciona/remove conforme quiser.

Cada conta é obrigada a ter uma categoria. O relatório de DRE agrupa por categoria.

Pagamentos parciais

Uma conta a pagar de R$1.000 pode ser quitada em várias parcelas:

  1. Pagar R$300paid_amount: 300, status: PENDING.
  2. Pagar + R$500paid_amount: 800, status: PENDING.
  3. Pagar + R$200paid_amount: 1000, status: PAID, paid_at: hoje.

Funciona igual em receber. O status vira PAID automaticamente quando paid_amount >= amount - 0.001.

OVERDUE

O sistema não tem um status OVERDUE no banco — ele é computado. Uma conta aparece como vencida quando:

status = PENDING AND due_date < hoje

Isso mantém o schema simples e evita ter que “virar” status toda noite via cron.

Cancelamento

  • Cancelar a conta = status CANCELED. Não volta pra PENDING.
  • Cancelar a venda/compra origem = sistema automaticamente cancela a conta atrelada que ainda estava PENDING (parcelas já pagas não são tocadas).

Fluxo de caixa

Financeiro → Fluxo de caixa. Agrupa:

  • Entradas (AccountReceivable PAID no período + vendas à vista do PDV)
  • Saídas (AccountPayable PAID no período + sangrias do caixa)
  • Saldo = entradas − saídas

Gráfico CSS-only por dia/semana/mês. Pra análise mais profunda, veja Relatórios → DRE.