Produto Territorial

Territorial Invoices

O sistema que roda o faturamento da Territorial: apontamento de horas em calendário, contratos com matemática de cobrança determinística e faturas geradas em minutos.

1/2Dashboard: horas, receita, distribuição diária por cliente e alertas

A Territorial fatura vários clientes sob tipos de contrato diferentes todo mês. Esta plataforma interna registra horas em um calendário de arrastar-e-criar, consolida as horas por contrato e marco e gera um lote completo de faturas com PDFs. O fechamento que levava uma tarde hoje leva menos de quinze minutos.

Em resumo

  • Horas são registradas em um calendário como se cria um evento no Google Calendar: arrastar, redimensionar, mover
  • Três tipos de contrato com matemática de cobrança pura e testável: por hora, por hora com base fixa, e por hora com crédito rotativo
  • Faturas em rascunho são projeções ao vivo; faturas emitidas são snapshots imutáveis com câmbio congelado e PDFs A4
  • Um servidor MCP permite que o Territorial Assistant registre lançamentos de horas automaticamente a partir da minha atividade

O problema

Faturar consultoria é simples até deixar de ser: um cliente por hora simples, outro em retainer com hora extra, um terceiro com base que rola horas não usadas para frente, todos em moedas diferentes, todos precisando de um documento com cara de definitivo. Eu queria que o mês inteiro fechasse em minutos e que os números fossem reproduzíveis.

O que faz

Clientes, contratos, projetos e marcos formam o modelo; lançamentos de horas se ligam a um projeto e marco e herdam a taxa do contrato. O calendário é o caminho rápido para registrar, com filtros por cliente, projeto e marco e cores por projeto. Quando um período fecha, o sistema calcula as horas faturáveis de cada contrato: por hora simples cobra o trabalhado; com base cobra o piso mais as extras à sua própria taxa; com rollover cobra a base, difere o excedente para um buffer de um ciclo e usa o crédito trazido para cobrir déficits antes de expirá-lo. Cada regra é uma função pura com exemplos resolvidos na documentação e nos testes.

Faturas começam como rascunhos projetados ao vivo dos lançamentos e se tornam imutáveis ao serem emitidas, com linhas, totais e câmbio congelados. PDFs são renderizados com Playwright a partir do mesmo HTML que a aplicação mostra, em inglês ou português, com endereços estruturados de emissor e cliente e instruções de pagamento por moeda. Um dashboard mostra horas, receita, distribuição por cliente e alertas de lançamentos órfãos e risco de horas base.

Automação e integração fiscal

Com o tempo fiquei preguiçoso para apontar, então hoje o Territorial Assistant propõe lançamentos a partir do histórico git, transcrições do Claude Code e atividade de janelas e os registra aqui por um endpoint MCP com token de acesso pessoal, com o mesmo modelo de papéis da aplicação web. A integração fiscal com a NF-e está em andamento: hoje a plataforma prepara tudo o que o sistema fiscal pede, de modo que emitir a nota vira uma tarefa de copiar e colar em vez de reconstrução.

A stack é um monorepo pnpm com uma API Fastify (validação Zod, Prisma, PostgreSQL) e um frontend Next.js App Router que mantém toda a lógica de negócio no servidor.

Mais projetos

Todos os projetos