Escopo completo de desenvolvimento

Sistema de Gestão para Propriedades Leiteiras

ERP + gestão zootécnica + gestão financeira + planejamento econômico, derivado do modelo de negócio da planilha Evolução anual PNL Atualizada.xlsx e da Especificação Detalhada do Sistema PNL Leite.

Versão 1.0 Data 06/09/2026 Base 19 abas · dezenas de milhares de fórmulas Modelo SaaS multi-tenant / multipropriedade

1

Visão do produto

O sistema não é um controle financeiro com um cadastro de animais anexado, nem uma versão web da planilha. É uma plataforma que conecta decisões zootécnicas ao resultado econômico, no realizado e na projeção.

ANIMAL → REPRODUÇÃO → LACTAÇÃO → PRODUÇÃO → NUTRIÇÃO → CUSTO → RECEITA → RESULTADO → PLANEJAMENTO

As três cadeias causais que o motor de cálculo precisa preservar de ponta a ponta:

REPRODUÇÃO → EVOLUÇÃO DO REBANHO → VACAS EM LACTAÇÃO → CURVA DE LACTAÇÃO → PRODUÇÃO → RECEITA REBANHO → DIETA POR CATEGORIA → DEMANDA DE ALIMENTOS → DEMANDA ANUAL → CUSTO ALIMENTAR → CUSTO DE PRODUÇÃO → DRE REBANHO → CONSUMO DE VOLUMOSO → DEMANDA DE FORRAGEM → PRODUTIVIDADE AGRÍCOLA → NECESSIDADE DE ÁREA → PLANEJAMENTO AGRÍCOLA

O diferencial competitivo está em tornar essas cadeias navegáveis: cair a taxa de prenhez precisa reduzir, automaticamente e de forma rastreável, os partos futuros, as vacas em lactação, a produção, a receita, o fluxo de caixa e o resultado econômico projetado.

5
Dimensões integradas: operação, rebanho, produção/reprodução, financeiro, planejamento
3
Camadas comparáveis: realizado × orçado × projetado
12
Serviços de domínio no motor de cálculo
6
Fases de entrega, da fundação à inteligência

2

Origem: a planilha como modelo de negócio

A planilha é tratada como fonte das regras de negócio e motor de cálculo, não como fonte de layout. Cada aba se converte em um domínio do sistema:

Aba da planilhaIntervaloFórmulasDomínio no sistema
Curva lactação vacasA1:O24~104LactationCurveService — curvas primípara/multípara, pico, persistência
RebanhoA1:Y95~692HerdProjectionService — composição e evolução anual por categoria
Perda de prenhezA1:C7~5ReproductionProjectionService — perdas por faixa gestacional
Dieta mensalA1:DS249~330Nutrição — dietas por lote, mês a mês
Demanda mensalA1:DS406~45.551FeedDemandService — núcleo de consumo mensal por ingrediente
Demanda anualA1:L94~934FeedDemandService — consolidação anual
Gasto anual alimentaçãoA1:K32~190FeedCostService
Necessidade ÁreaA1:L115~997ForageAreaService
Demanda de área forragemA1:R57~289ForageAreaService — consumo MS, produtividade, perdas
Fluxo de caixaA1:AL135~1.211CashFlowService
Custo alimentarA3:U11~114FeedCostService — R$/litro e AV%
Custo ProduçãoA1:E12~11ProductionCostService
Custo RecriaA1:E12~14ProductionCostService — R$/animal/ano por fase
InvestimentosA1:M33~20Investimentos plurianuais
PatrimônioA1:T58~420Ativos, valor atual/inicial/residual, depreciação
Inventário de animaisA1:M12~82Valorização do rebanho por categoria
Referências Custos 2018B1:AA66~26Benchmarks pasto × confinamento (R$/litro)
Análise econômicaA1:D38~33EconomicAnalysisService
DREA1:AB14~37DREService — R$, R$/litro, AV%

Horizonte do modelo. A planilha projeta em série anual a partir de 2025 (Rebanho, Demanda anual, Fluxo de caixa, Investimentos, Inventário) e em série mensal por lote/ingrediente (Dieta mensal, Demanda mensal, Necessidade de Área). O sistema deve suportar as duas granularidades — mensal como base de cálculo, anual como consolidação — e não apenas a visão anual.

3

Princípios de modelagem (regras invioláveis)

  1. Nunca gravar apenas o estado atual quando o histórico for relevante — categoria, lote, peso, dieta e preço são séries temporais.
  2. Dieta antiga nunca é sobrescrita; alteração cria nova vigência.
  3. Preço histórico nunca é sobrescrito.
  4. DRE histórica não é recalculada com cadastro atual sem versionamento explícito.
  5. Todo lançamento pertence a uma propriedade e a um tenant.
  6. Identificador de animal (brinco) é único dentro da propriedade.
  7. Valores financeiros em NUMERIC/DECIMAL — nunca float.
  8. Toda quantidade carrega unidade explícita (kg, kg MS, litros, ha, t, cabeças).
  9. Datas com timezone correto; competência ≠ caixa.
  10. Simulações são versionadas e imutáveis após cálculo.
  11. Fórmulas ficam em serviços de domínio testáveis — nunca em componentes de tela.
  12. Todo indicador informa período, propriedade e origem (realizado/orçado/projetado).
  13. Realizado e projetado nunca se misturam silenciosamente.
  14. Exclusões são auditáveis: inativação com histórico, não DELETE.
  15. Integridade preservada entre rebanho, produção, nutrição e financeiro.

4

Stack e arquitetura

Frontend

Angular (SPA responsiva), otimizado também para tablet e celular no curral.

DashboardFormuláriosTabelas GráficosFiltrosRelatórios Sem regra de negócio crítica

Backend

Node.js + NestJS, API REST, autenticação JWT com refresh, módulos por domínio e uma camada isolada de motor de cálculo.

RESTJWT + RBACDomain servicesJobs assíncronos

Dados

PostgreSQL normalizado, migrations versionadas desde a primeira (já multi-tenant), NUMERIC para dinheiro, índices por (tenant_id, property_id, data).

PostgreSQLMigrationsSoft delete + auditoria

Infraestrutura

VPS/servidor dedicado, Docker, Nginx como reverse proxy, HTTPS, ambientes de produção e homologação, backups automáticos e storage externo para anexos.

DockerNginxHTTPSBackupHomologação

Camadas

Angular (apresentação) │ HTTP/JSON + JWT NestJS Controllers ──► Guards (tenant, RBAC) ──► DTO/validação │ Domain Services (regra de negócio) ◄──► Calculation Engine (motor de cálculo versionado) │ Repositories / Prisma-TypeORM ──► PostgreSQL │ Jobs (recálculo de cenário, fechamento mensal, alertas, importação)

O motor de cálculo é executado no backend, de forma determinística e reproduzível: dadas as mesmas premissas e a mesma versão de cálculo, o resultado é sempre idêntico.

5

Multi-tenant, propriedades e permissões

TENANT / ORGANIZAÇÃO └── PRODUTOR / EMPRESA └── PROPRIEDADE ├── USUÁRIOS (escopo por propriedade ou organização) └── DADOS OPERACIONAIS

Toda tabela central carrega tenant_id, property_id (quando aplicável), created_at, updated_at, created_by, updated_by e active. O isolamento é garantido por guard de tenant no backend e reforçado no banco (constraints e, opcionalmente, RLS).

Perfis

ProprietárioAdministradorGerente FinanceiroVeterinárioZootecnista NutricionistaReproduçãoOperacional ContadorConsultorSomente leitura

Permissões granulares por recurso e ação (ler, criar, editar, excluir, aprovar, exportar), com vínculo usuário↔propriedade em user_properties. Um usuário pode acessar uma propriedade, várias, ou toda a organização.

6

Modelo de dados — entidades principais

BlocoTabelas
Núcleotenants, users, roles, permissions, user_properties, properties
Rebanhoanimals, animal_categories, animal_category_history, animal_lots, animal_lot_history, animal_weight_history, breeds
Reproduçãoreproductive_events, inseminations, pregnancies, calvings, calves
Produçãolactations, milk_production, milk_sales, milk_quality_tests
Nutriçãoingredients, diets, diet_items, stock_items, stock_movements
Agrícolafields, crops, forage_production
Financeirosuppliers, customers, chart_of_accounts, cost_centers, financial_transactions, bank_accounts
Capitalassets, investments, financing_contracts, financing_installments
Planejamentoscenarios, scenario_assumptions, scenario_results, calculation_versions
Suporteattachments, notifications, audit_logs, import_batches

Cerca de 45 tabelas no núcleo, mais tabelas auxiliares de domínio (protocolos, sêmen, técnicos, parâmetros de qualidade, feriados de cálculo).

7

Módulo — Cadastros básicos

Propriedade

Nome, nome fantasia, CNPJ/CPF, endereço, município/UF, área total, área produtiva, área de pastagem, área de silagem, capacidade, sistema de produção, número de ordenhas/dia, observações.

Fornecedores

Razão social, nome fantasia, CPF/CNPJ, contato, telefone, e-mail, categoria, dados bancários, condições de pagamento, ativo/inativo.

Clientes / compradores

Laticínio, cooperativa, comprador de animais e outros, com condições comerciais e histórico de preço.

Plano de contas

Grupo, categoria, subcategoria, natureza, classificação DRE, centro de custo, fixo/variável, direto/indireto — base para DRE e custo de produção calculados, não digitados.

8

Módulo — Rebanho

Cadastro individual com genealogia (mãe/pai), origem, entrada, categoria, lote, status reprodutivo e produtivo, número de lactação, peso e saída (venda, morte, descarte) com motivo e valor.

Categorias: BezerraBezerroNovilha Novilha inseminadaNovilha prenheVaca seca Vaca em lactaçãoVaca descarteTouro

Cada mudança de categoria, lote e peso gera registro histórico com start_date/end_date, permitindo reconstruir a composição do rebanho em qualquer data passada — requisito da aba Rebanho.

Indicadores

Total do rebanho · vacas adultas · em lactação · secas · novilhas · bezerras · taxa de reposição · taxa de descarte · mortalidade · idade média · idade ao primeiro parto · distribuição por ordem de lactação.

9

Módulo — Reprodução

Eventos reais alimentam os mesmos índices que servem de premissa às projeções: o realizado calibra o projetado.

Eventos: cio · liberação para IA · inseminação artificial · monta · protocolo hormonal · diagnóstico de gestação · confirmação · perda de prenhez · aborto · parto · secagem.

Perda de prenhez por faixa (modelo da planilha)

FaixaPerda no período% do total de perdas
Até 60 dias15,6%64,5%
Até 70 dias1,9%7,9%
Até 100 dias1,7%7,0%
Até o parto5,0%20,7%
Total24,2%100%

Esses percentuais são premissas editáveis por cenário e, no realizado, calculados a partir dos eventos.

Indicadores

Taxa de serviço · taxa de concepção · taxa de prenhez · serviços por concepção · dias em aberto · intervalo entre partos · perdas gestacionais · taxa de aborto · vacas elegíveis · vazias · prenhes · previsão de partos.

Alertas

Diagnóstico pendente · retorno de cio · animal acima do período voluntário de espera · parto próximo · secagem próxima · gestação sem confirmação.

10

Módulo — Partos e bezerros

calvings: ordem do parto, tipo, dificuldade, número de crias, retenção de placenta, complicações. calves: peso ao nascimento, sexo, colostro (data, quantidade, qualidade), desmame (data e peso).

Indicadores: peso ao nascimento · mortalidade de bezerras · idade ao desmame · peso ao desmame · ganho médio diário. Alimentam diretamente o custo de recria e a projeção de reposição.

11

Módulo — Lactação

A aba Curva lactação vacas vira motor de acompanhamento produtivo, com curvas distintas para primíparas e multíparas e comparação entre curva real e curva esperada.

ParâmetroValor de referência da planilha
Pico de produção — primíparas30 L/dia
Pico de produção — multíparas45 L/dia
Dias para o pico75 dias
Persistência (declínio pós-pico)−0,08 por período
Participação de primíparas no rebanho30%
produção_dia(DEL) = pico × f_ascendente(DEL) , DEL ≤ dias_pico produção_dia(DEL) = pico × (1 + persistência)^((DEL − dias_pico)/30) , DEL > dias_pico produção_rebanho = Σ (primíparas × curva_primípara) + (multíparas × curva_multípara)

Indicadores: produção/vaca/dia · por lote · total · DEL médio · pico · dias até o pico · persistência · produção acumulada · produção 305 dias · primíparas × multíparas.

12

Módulo — Produção e venda de leite

Registro de ordenha (por ordenha, por vaca ou por lote, conforme a realidade da fazenda) e venda com composição completa de preço: preço bruto, bonificações, penalizações, frete, impostos, preço líquido, valor bruto e líquido, data de pagamento.

Qualidade

Gordura · proteína · CCS · CBT · lactose · ureia · crioscopia e demais parâmetros do laticínio, ligados às bonificações do contrato.

preço_líquido/L = preço_bruto + bonificações − penalizações − frete − impostos receita_leite = litros_vendidos × preço_líquido/L receita/vaca = receita_leite / vacas_em_lactação receita/hectare = receita_leite / área_utilizada

13

Módulo — Nutrição e dietas

Representa as abas Dieta mensal, Demanda mensal, Demanda anual, Gasto anual alimentação e Custo alimentar — o maior volume de fórmulas da planilha (~46 mil células).

ingredients: nome, categoria, unidade, matéria seca, PB, NDT, energia, custo padrão, fornecedor padrão. diets: nome, categoria animal, lote, vigência. diet_items: kg/animal/dia, kg MS, custo unitário, custo diário.

demanda_diária_ingrediente = kg_animal_dia × nº_animais_do_lote demanda_mensal = demanda_diária × dias_do_mês demanda_anual = Σ demanda_mensal custo_diário_dieta = Σ (quantidade × custo_unitário) custo_alimentar/litro = custo_alimentar_vacas_em_produção / litros_produzidos

Vigência obrigatória. Dietas são versionadas por período. Alterar a dieta de hoje jamais recalcula o consumo e o custo dos meses já fechados.

14

Módulo — Estoque

stock_items com estoque mínimo, atual e custo médio; stock_movements com entrada, saída e ajuste, quantidade, custo, fornecedor, documento, lote, validade e destino.

O consumo previsto pela dieta pode gerar baixa automática ou estimada, com conciliação posterior contra a compra real.

Alertas: estoque mínimo · dias de estoque · previsão de ruptura · validade · necessidade de compra.

15

Módulo — Área, forragem e agricultura

Representa Necessidade Área e Demanda de área forragem. Parâmetros da planilha incluem consumo de volumoso por vaca (8,5 kg MS/dia), consumo de recria, concentrado de recria (1,8 kg) e produtividade de silagem de milho (13,5 a 14,4 t MS/ha, evoluindo ao longo dos anos).

necessidade_forragem = consumo_diário_MS × nº_animais × período área_necessária = necessidade_total / (produtividade_esperada_t_ha × (1 − perdas)) déficit = necessidade_total − produção_estimada

fields (talhões), crops (plantio, colheita prevista/realizada, produtividade prevista/real, área plantada) e forage_production (cultura, área, toneladas, MS, custo, silo/destino).

Exemplo de alerta: “Demanda projetada de silagem superior à produção estimada em 210 toneladas.”

16

Módulo — Financeiro

financial_transactions unifica contas a pagar e a receber, com competência e caixa separadas, rateio por centro de custo e vínculo opcional a animal, lote ou cultura — o que permite custo por atividade sem lançamento duplicado.

Campos: tipo, competência, emissão, vencimento, pagamento, categoria/subcategoria, fornecedor/cliente, descrição, documento, valor, valor pago, desconto, juros, multa, forma de pagamento, conta bancária, centro de custo, vínculos operacionais, status, recorrência, anexos.

Status: PrevistoAberto Parcialmente pagoPagoVencido Cancelado

Recursos: contas a pagar e a receber, fluxo de caixa (realizado e projetado), competência × caixa, recorrências, anexos, conciliação bancária, filtros e exportação.

17

Módulo — DRE e custo de produção

A DRE é calculada a partir do plano de contas e dos lançamentos, nunca digitada.

RECEITA OPERACIONAL BRUTA (ROB) (−) Deduções / impostos (=) RECEITA OPERACIONAL LÍQUIDA (ROL) (−) Custo dos produtos / produção (CPV) (=) LUCRO BRUTO (−) Despesas operacionais (=) EBITDA (−) Depreciação / amortização (=) EBIT (−) Resultado financeiro (+) Outras receitas (−) Outras despesas (=) RESULTADO DO PERÍODO

Cada linha exibe: R$, R$/litro, % da receita (AV), orçamento, realizado, variação R$ e variação %. Filtros por mês, trimestre, ano, propriedade, centro de custo e consolidado.

Custo de produção

Custo operacional efetivo · custo operacional total · custo total · variável · fixo · alimentar · mão de obra · reprodução · sanidade · energia · manutenção · administrativo · depreciação · custo financeiro.

Indicadores: R$/litro · R$/vaca · R$/vaca em lactação · R$/hectare · % da receita. A aba Referências Custos 2018 vira base de benchmark (pasto × confinamento) para comparação.

18

Módulo — Custo de recria

Cálculo por categoria e fase, com acúmulo até o primeiro parto.

FaseComponentes de custo
Nascimento ao desmameLeite/sucedâneo, concentrado, sanidade, mão de obra, instalações, mortalidade
Desmame à puberdadeConcentrado, volumoso, sanidade, mão de obra, instalações
Puberdade à primeira IAVolumoso, concentrado, reprodução, mão de obra
IA à prenhezReprodução (sêmen, protocolos, serviços por concepção), alimentação
Prenhez ao primeiro partoAlimentação, sanidade, mão de obra, instalações

Resultados: custo da novilha ao primeiro parto · custo por dia · custo por fase · idade ao primeiro parto · capital imobilizado na recria. Referência da planilha: concentrado a R$ 4.361,75/animal/ano, ~60,7% do custo de recria.

19

Módulo — Patrimônio e inventário de animais

assets: categoria, descrição, data e valor de aquisição, valor atual, valor residual, vida útil em meses, método e início da depreciação, status. Categorias: terra, benfeitorias, instalações, ordenha, resfriamento, máquinas, tratores, implementos, veículos, equipamentos, culturas permanentes, outros.

A depreciação gerencial alimenta automaticamente a DRE e a análise econômica.

Inventário de animais

Ligado ao rebanho real, com valorização por categoria, valor individual, preço médio ou valor de mercado. Referências da planilha: bezerras 0–1 ano (150 kg, R$ 1.700), novilhas 1–2 anos (300 kg, R$ 3.000), novilhas acima de 2 anos (420 kg, R$ 5.000). Apresenta quantidade, valor unitário, valor total e evolução patrimonial do rebanho ano a ano.

20

Módulo — Investimentos e financiamentos

Investimentos

Descrição, categoria, data prevista e realizada, valor previsto e realizado, fornecedor, forma de pagamento, financiamento associado, vida útil, impacto esperado, status.

IdeiaPlanejadoAprovado ContratadoExecutandoConcluído Cancelado

Financiamentos

financing_contracts: banco, linha, contrato, valor original, contratação, taxa, indexador, carência, periodicidade, nº de parcelas, vencimento final, saldo devedor, finalidade. financing_installments: número, vencimento, principal, juros, encargos, total, pagamento, status.

Integração: parcelas → contas a pagar → fluxo de caixa, com separação entre amortização de principal e despesa financeira para análise gerencial.

21

Módulo — Análise econômica

Painel derivado da aba Análise econômica, cruzando patrimônio, resultado e escala produtiva.

GrupoIndicadores
RentabilidadeMargem bruta · margem operacional · EBITDA · EBIT · lucro/prejuízo · margem por litro
RetornoRetorno sobre ativos (ROA) · retorno sobre patrimônio (ROE) · capital investido · giro do ativo
EficiênciaReceita por hectare · receita por vaca · custo por litro · produtividade da terra · produtividade da mão de obra
RiscoPonto de equilíbrio (litros e R$) · sensibilidade ao preço do leite e ao custo da dieta

22

Módulo — Simulador PNL Diferencial

O coração do produto: reproduz e supera o que a planilha faz hoje, com cenários versionados e comparáveis.

Cenários: BaseConservador OtimistaPersonalizado

Premissas parametrizáveis

Número inicial de animais · produção média · curva de lactação · taxa de serviço · taxa de concepção · taxa de prenhez · perda de prenhez · descarte · mortalidade · idade ao primeiro parto · preço do leite · dieta · preço dos ingredientes · inflação · produtividade agrícola · área · investimentos · custos fixos · mão de obra.

Saídas do recálculo

Evolução do rebanho · vacas em lactação · produção · receita · consumo · custo alimentar · necessidade de área · custo de produção · investimentos · fluxo de caixa · DRE · patrimônio · indicadores econômicos — em série mensal e anual.

Versionamento obrigatório. Cada simulação gera uma versão imutável (scenario_results + calculation_versions). Alterar uma premissa cria nova versão; jamais destrói a anterior. Comparação lado a lado entre versões e entre cenários.

23

Motor de cálculo

Regras complexas nunca ficam no frontend. Serviços de domínio isolados, puros e testáveis:

ServiçoResponsabilidadeEntradas principais
HerdProjectionServiceEvolução do rebanho por categoria, mês a mêsInventário inicial, partos, mortalidade, descarte, reposição
ReproductionProjectionServicePrenhezes e partos futurosTaxa de serviço, concepção, perda de prenhez, IPP
LactationCurveServiceProdução por vaca e por rebanhoPico, dias ao pico, persistência, % primíparas, DEL
FeedDemandServiceDemanda de ingredientes mensal e anualDietas vigentes, composição do rebanho, dias do mês
FeedCostServiceCusto alimentar total, por litro e AV%Demanda, preços de ingredientes, inflação
ForageAreaServiceNecessidade de forragem e de áreaConsumo MS, rebanho, produtividade, perdas
MilkRevenueServiceReceita do leiteLitros, preço, bonificações, penalizações
ProductionCostServiceCusto de produção e de recriaLançamentos, rateios, depreciação, mão de obra
CashFlowServiceFluxo de caixa realizado e projetadoTransações, parcelas, investimentos, receitas
DREServiceDRE em R$, R$/litro e AV%Plano de contas, lançamentos, litros do período
EconomicAnalysisServiceIndicadores econômicos e de retornoDRE, patrimônio, área, rebanho
ScenarioServiceOrquestração, versionamento e comparaçãoPremissas do cenário, versão de cálculo

Documentação de fórmulas

Cada fórmula relevante da planilha é catalogada individualmente com: nome · descrição · entradas · saída · unidade · periodicidade · dependências · regra · exemplo numérico · teste unitário. Esse catálogo é entregável do projeto e serve de contrato entre o consultor técnico e o desenvolvimento.

24

Dashboard principal e alertas

Produção

Produção hoje · produção do mês · litros/vaca/dia · vacas em lactação · DEL médio · tendência.

Reprodução

Taxa de prenhez · concepção · serviço · vacas vazias · prenhezes · partos próximos · diagnósticos pendentes.

Financeiro

Receita · despesas · saldo · contas a pagar · a receber · EBITDA · custo/litro · margem/litro.

Nutrição

Custo alimentar/dia · custo alimentar/litro · estoque de ração · estoque de silagem · dias de estoque.

Central de alertas

Contas vencidas · estoque crítico · vacas para diagnóstico · vacas para secagem · partos previstos · animais sem produção registrada · desvio de produção frente à curva esperada · déficit de forragem projetado.

25

Relatórios

Evolução do rebanho · inventário · reprodução · prenhez · partos · lactação · produção · qualidade do leite · dieta · consumo · estoque · custo alimentar · custo de produção · custo de recria · despesas por fornecedor · despesas por categoria · fluxo de caixa · DRE · patrimônio · investimentos · financiamentos · análise econômica · realizado × orçamento · comparativo de cenários.

Exportação: PDF, Excel e CSV, com cabeçalho de propriedade, período e origem dos dados.

26

Auditoria e segurança

audit_log: usuário, data/hora, entidade, id da entidade, ação, valor anterior, valor novo, IP, dispositivo.

Informações financeiras e zootécnicas relevantes não são excluídas definitivamente — usa-se cancelamento/inativação com histórico. Complementam a segurança: senhas com hash forte, política de sessão e refresh token, rate limiting, validação de entrada em todos os endpoints, backup diário com teste de restauração e LGPD (dados de pessoas físicas em fornecedores, clientes e usuários).

27

Migração e importação da planilha

  1. Propriedades
  2. Plano de contas
  3. Fornecedores e clientes
  4. Lançamentos históricos
  5. Premissas (reprodução, curva, dieta, preços, produtividade)
  6. Inventário de animais
  7. Patrimônio
  8. Projeções, quando necessário

import_batches registra arquivo, data, usuário, linhas lidas, linhas importadas, erros e status, com relatório de rejeições e possibilidade de reprocessar apenas as linhas com erro.

28

API — endpoints principais

POST /auth/login GET /properties GET /users GET /animals GET /animals/:id GET /animals/:id/history POST /reproduction/events GET /pregnancies POST /calvings GET /lactations POST /milk-production POST /milk-sales GET /diets GET /ingredients GET /feed-demand GET /stock POST /stock/movements GET /fields GET /crops POST /financial/transactions GET /financial/payables GET /financial/receivables GET /cash-flow GET /dre GET /assets GET /investments GET /financings POST /scenarios POST /scenarios/:id/calculate GET /scenarios/:id/results GET /dashboard GET /reports

Padrões: versionamento /api/v1, paginação e filtros consistentes, documentação OpenAPI/Swagger, respostas de erro padronizadas e cabeçalho de tenant/propriedade resolvido pelo token. A API já nasce preparada para integração futura com equipamentos de ordenha, ERPs, bancos, laticínios e aplicativos móveis.

29

Fases e cronograma

Sequência recomendada, com entregas utilizáveis ao fim de cada fase. As durações são estimativas de referência para um time enxuto (1 backend, 1 frontend, apoio de consultoria zootécnica/econômica) e devem ser confirmadas no planejamento detalhado.

FaseConteúdoEntrega ao produtorEstimativa
1 — FundaçãoAutenticação, multi-tenant, propriedades, usuários, permissões, fornecedores, plano de contas, centros de custo, auditoria, infraestruturaBase do sistema no ar em homologação4–6 semanas
2 — FinanceiroLançamentos, contas a pagar e a receber, fluxo de caixa, DRE, custo/litro, dashboard financeiro, importação de históricoSubstitui as planilhas financeiras6–8 semanas
3 — RebanhoAnimais, lotes, categorias, históricos, reprodução, partos, lactações, produção de leite, venda e qualidadeSubstitui o controle zootécnico8–10 semanas
4 — NutriçãoIngredientes, dietas versionadas, demanda mensal e anual, estoque, custo alimentarCusto alimentar/litro automático5–7 semanas
5 — PlanejamentoEvolução do rebanho, demanda de alimento, área e forragem, projeções, patrimônio, investimentos, financiamentos, Simulador PNL versionadoSubstitui integralmente a planilha8–12 semanas
6 — InteligênciaAlertas, comparativos realizado × orçado × projetado, tendências, análise de desvios, recomendações, IAGestão por exceção6–8 semanas

Etapa 0 — Engenharia reversa da planilha. Antes de implementar integralmente o simulador (fase 5), executar uma segunda rodada de análise aba a aba: identificar células de entrada e calculadas, mapear fórmulas e referências cruzadas, classificar unidade e periodicidade, documentar cada regra, escrever a fórmula equivalente no backend, criar o teste unitário e validar o resultado contra o Excel. Estimativa: 2–3 semanas, executada em paralelo às fases 2 e 3.

30

Entregáveis

Produto

  • Aplicação Angular responsiva
  • API NestJS documentada (OpenAPI)
  • Banco PostgreSQL com migrations versionadas
  • Ambientes de produção e homologação em Docker

Documentação

  • Catálogo de fórmulas (regra, exemplo, teste)
  • Dicionário de dados e diagrama ER
  • Manual do usuário por perfil
  • Runbook de operação e backup

Qualidade

  • Testes unitários dos serviços de cálculo
  • Testes de integração das rotas críticas
  • Planilha de validação sistema × Excel
  • Relatório de aceite por fase

Implantação

  • Migração dos dados históricos
  • Treinamento por perfil de usuário
  • Período de acompanhamento assistido
  • Plano de suporte e evolução

31

Qualidade e critério de validação

O critério objetivo de aceite do motor de cálculo:

MESMAS PREMISSAS NO EXCEL → RESULTADO EXCEL MESMAS PREMISSAS NO SISTEMA → RESULTADO SISTEMA Os resultados devem coincidir dentro da tolerância definida.

Sugestão de tolerância: diferença relativa ≤ 0,5% em indicadores agregados (produção anual, custo alimentar, DRE, fluxo de caixa) e ≤ 0,1% em cálculos determinísticos diretos (demanda de ingrediente, área necessária). Divergências acima da tolerância são investigadas e resultam em correção do sistema ou em correção documentada da planilha — em alguns casos a planilha contém erros que o sistema não deve reproduzir.

Cobertura mínima recomendada: 80% de testes unitários nos serviços do motor de cálculo, 100% das fórmulas do catálogo com pelo menos um caso de teste com valores reais.

32

Infraestrutura e deploy

ItemDefinição
HospedagemVPS/servidor dedicado, Linux
ContainerizaçãoDocker Compose (API, front, PostgreSQL, worker de jobs)
ProxyNginx com HTTPS (Let's Encrypt), HSTS e headers de segurança
AmbientesProdução e homologação isolados, com dados anonimizados em homologação
BackupsDump diário do PostgreSQL, retenção escalonada, teste periódico de restauração
AnexosStorage externo (S3-compatível) com URLs assinadas
ObservabilidadeLogs estruturados, monitoramento de disponibilidade e alertas de erro
CI/CDBuild, testes e deploy automatizados por ambiente

33

Riscos e premissas

RiscoImpactoMitigação
Fórmulas da planilha com regra implícita ou inconsistenteAlto — resultado divergenteEtapa 0 de engenharia reversa com validação assistida pelo autor da planilha
Volume de cálculo do simulador (séries mensais por ingrediente e lote)Médio — desempenhoCálculo assíncrono em worker, resultados materializados e versionados
Qualidade e disciplina do dado de campoAlto — indicadores incorretosValidações na entrada, alertas de dado faltante, app otimizado para uso no curral
Escopo do simulador crescer durante a fase 5Médio — prazoCatálogo de fórmulas fechado antes de iniciar a fase
Migração de histórico incompletaMédio — comparativosImportação em lotes com relatório de rejeição e reprocesso

Premissas do escopo

  • A planilha permanece disponível como fonte de verdade durante toda a engenharia reversa.
  • Há um interlocutor técnico (zootecnista/consultor) para validar regras e resultados.
  • O produtor-piloto fornece dados reais para validação em homologação.
  • Idioma: português do Brasil; moeda: real; unidades do sistema métrico.

34

Fora de escopo desta fase

  • Emissão de documentos fiscais (NF-e, NFP-e) e integração contábil fiscal.
  • Folha de pagamento e gestão de RH.
  • Integração automática com coletores de ordenha, balanças e colares — a API é preparada, a integração é projeto próprio.
  • Aplicativo móvel nativo (a aplicação web é responsiva e utilizável em tablet/celular).
  • Open Finance e conciliação bancária automática por API bancária (a conciliação é por importação de extrato).
  • Módulo de IA generativa e recomendações — previsto para a fase 6, com escopo definido separadamente.