Contrato vigente · revisão consolidada
Produto e primeira versão
SaaS de compras e controle de gastos para médias empresas brasileiras, com compras indiretas e insumos de produção desde a v1. O ciclo utilizável inclui demanda, aprovação, cotação, pedido oficial Nexio, recebimento/aceite, conferência de nota e integração com ERP. IA será consultiva: recomenda quando e de quem comprar, explica limitações e registra decisão humana.
Este documento fixa contratos mínimos entre módulos. Não especifica integralmente telas ou endpoints de Requisição, Cotação, Pedido, Contrato, Recebimento e Nota/Conferência. Esses seis módulos ainda precisam de suas especificações transacionais completas e implementação.
Começar com importação validada de cadastros, orçamento e demanda, configuração guiada por empresa e política simples de aprovação. Governança avançada é progressiva; controles explicitamente habilitados continuam obrigatórios. O piloto deve medir tempo até primeira compra, esforço de cadastro, taxa de devolução por configuração e fechamento do ciclo com ERP.
Contrato vigente · revisão consolidada
Responsabilidade pelos dados
| Dado / fato | Responsável | Integração mínima |
|---|---|---|
| Tenant, identidade interna, catálogo de papéis/permissões | GrydAuth | Nexio usa teto de permissão vigente; concessões e alçadas por empresa são do Nexio. |
| Empresas, estabelecimentos, contas contábeis e cadastros existentes no cliente | Sistema mestre escolhido por entidade no onboarding; normalmente ERP | Mapeamento externo obrigatório, versão e fonte. Nexio valida e mantém projeção; não aceitar dois escritores silenciosos do mesmo campo. |
| Catálogo de compras, qualificação, ofertas e cotação | Nexio, com vínculos para material/fornecedor ERP | Separar identidade compartilhada de atributos fiscais/contábeis dominados pelo ERP. Promoção de novo cadastro tem confirmação de vínculo. |
| Orçamento autorizado e consumo de compras | Valor autorizado importado ou aprovado no Nexio; razão gerencial Nexio | Não replicar reserva integral no ERP como outro saldo independente sem regra de reconciliação. Contabilidade oficial permanece no ERP. |
| Demanda de produção, estoque, consumo, BOM/MRP | ERP ou planejamento externo | Feed ou importação validada com fonte, versão e horário. Nexio não explode BOM nem mantém estoque contábil. |
| Pedido oficial e alterações | Nexio | Emissão e revisão efetiva no Nexio; ERP recebe/aplica a revisão. Documento externo vinculado não substitui o pedido oficial silenciosamente. |
| Recebimento físico e aceite | Nexio ou fonte operacional explicitamente configurada por fluxo | Um fato tem uma identidade; reimportação e confirmação no outro sistema não criam segundo recebimento. Manter origem e responsável. |
| Nota fiscal, tributos, contabilização, estoque e pagamento | ERP/fiscal | Nexio importa documento e status para conferência e ajuste gerencial; não emite parecer tributário ou baixa pagamento por ACK de integração. |
Contrato vigente · revisão consolidada
Identidades e referências externas
Raiz, linha e fatia têm IDs estáveis e independentes: documentId, lineId, allocationId. Reordenar não troca identidade. Remover preserva a linha histórica; reinserir outro item cria nova linha. Dividir/combinar cria novas identidades e relações de origem, sem reaproveitar ID de conteúdo incompatível.
| Contrato | Campos mínimos / restrições |
|---|---|
| ExternalReference | tenantId, sourceSystem, sourceCompany, entityType, externalId, nexioEntityId, sourceVersion, observedAt. Chave única (tenantId, sourceSystem, sourceCompany, entityType, externalId); escopo global usa valor explícito, nunca nulo permissivo. |
| DocumentRevision | documentId, revisionId, revisionNumber, expectedVersion, relevantContentHash, createdAt/by, reason, effectiveAt?. Conteúdo aprovado imutável. Separar candidateRevisionId e effectiveRevisionId. |
| LineSnapshot | lineId, revisionId, item/offer/price revisions, descrição, quantidade original, unidade, base, fatores em ambas as direções, preço, componentes, moeda, taxa, datas, destino, rateio e evidências. |
| BusinessOperation | tenantId, operationId, operationType, payloadHash, state, result, correlationId, causationId. Chave estável por ato externo ou comando do cliente. Mesmo ID/conteúdo devolve resultado; mesmo ID/conteúdo diferente é conflito. |
| TraceAllocation | id, sourceDocumentId/revisionId/lineId/allocationId, targetDocumentId/revisionId/lineId/allocationId, quantityOriginal, uomId, conversionSnapshot, amount, operationId. Suporta N:M com parcela explícita. |
| DeliverySchedule | scheduleId, lineId, revisionId, quantity, neededAt, originalPromisedAt, currentPromisedAt, changeReason, sourceRef. Recebimentos vinculam parcelas à programação. |
Mapear referência externa uma vez; conflito de mapeamento é pendência humana, não upsert arbitrário. Atualização compara versão e rejeita mensagem atrasada ou fora de ordem. Integração sem versão fornece chave de evento estável e política de reconciliação por fonte. Todo join, chave de dedupe e consulta aplica tenant e empresa; supplierId restringe portal, sem depender do id informado pelo cliente.
Contrato vigente · revisão consolidada
Ciclo e rastreabilidade mínima
| Transição | Contrato necessário |
|---|---|
| Demanda → requisição | Origem, data necessária, quantidade, restrições e versão da fonte. Demanda externa repetida não duplica requisição. |
| Requisição → aprovação | Snapshot de revisão, valor autorizado, rateio, política, evidências e autoridade. Último voto e desfecho financeiro são atômicos. |
| Requisição → cotação | N linhas e parcelas de origem; preservar solicitações agregadas e empresas envolvidas. Não perder demanda remanescente ao cotar parcialmente. |
| Cotação → adjudicação → pedidos | Guardar todas as propostas, alternativas, não cotadas, retiradas, revisões e motivos de escolha. Divisão entre fornecedores gera pedidos/linhas com quantidades rastreáveis; soma adjudicada não excede quantidade autorizada sem alteração. |
| Pedido → entregas / aceites | Programações estáveis e parcelas recebidas, aceitas e rejeitadas, com data e autor. Divergência abre pendência; fato físico não desaparece. |
| Recebimento / aceite → nota | N:M entre linhas de nota e fatos aceitos, com quantidade/valor associado. Impedir dupla conferência além da parcela disponível; diferença ajusta o Actual referenciado. |
| Cancelamento / devolução / crédito | Vínculo explícito à parcela original. Cancelar saldo aberto não estorna entrega; devolução não reabre demanda automaticamente. Reposição, encerramento e crédito são desfechos distintos. |
Contrato vigente · revisão consolidada
Pedido oficial e integração ERP
O Nexio numera, aprova e emite o pedido oficial, incluindo destinatário fiscal, revisão e conteúdo enviado ao fornecedor. O ERP recebe a mesma revisão, com referência e identidade da operação. Falha do ERP deixa pendência de integração, sem apagar pedido já emitido. Se o cliente exigir aplicação prévia como pré-condição de emissão, isso precisa ser uma política explícita antes da primeira emissão e não uma suposição do adaptador.
| Estado de integração | O que comprova |
|---|---|
| PendingSend | Intenção durável gravada junto da versão efetiva. |
| Sent | Transporte aceitou a mensagem; não comprova aplicação. |
| Received | ERP reconheceu a operação e sua identidade. |
| Applied | ERP confirmou aplicação da revisão e devolveu referência/versão, com data. |
| Rejected | ERP recusou com motivo estruturado e possibilidade de correção/reprocessamento. |
| ReconciliationRequired | Resultado incerto, referência conflitante, timeout após possível aplicação ou versão divergente; consultar antes de repetir. |
Preservar histórico de tentativas e acknowledgements, sem regredir estado por resposta atrasada. Envio de revisão n+1 depende da aplicação ou resolução explícita da n quando o destino exige sequência. Dedupe no ERP usa chave de origem; sem suporte, o adaptador precisa consultar resultado e encaminhar ambiguidades, sem prometer exactly-once.
Alteração de pedido circula como revisão candidata. A efetiva continua exigível, recebe entregas e conserva obrigação. Na efetivação da alteração, reavaliar controles e aplicar apenas delta líquido de valor/quantidade/data por parcela, com reclassificações quando necessário. Rejeitar candidata mantém versão anterior. Retorno do ERP não edita conteúdo aprovado silenciosamente.
Compra centralizada pode ter uma negociação comum, mas gera pedidos separados por destinatário fiscal. Rateio é sempre dentro da Company do pedido. Transferência intercompany física/contábil exige processo ERP e referências próprias.
Contrato vigente · revisão consolidada
Razão, datas e conservação
Regras canônicas em Orçamento, Fluxo de Aprovação, Moeda e Unidade de Medida. Novos compromissos sem verba em escopo controlado são impedidos; RequireApproval precisa da aprovação correspondente; autoridade ausente não cria alçada.
Necessidade planejada, entrega prometida, recebimento/aceite, período de prestação e contabilização são fatos distintos. Nota não substitui data de recebimento. Nota mais cara ajusta o Actual correspondente; não liquida de novo Obligation já recebida e não usa Adjustment para aumentar orçamento.
postingGroupId identifica a operação e entryOrdinal cada entrada. Liquidação e reversão apontam a entrada e a parcela; backfill, reorçamento e virada transferem por pares balanceados. A soma econômica consolidada é conservada nas reclassificações. Somente mudanças de valor econômico ou verba autorizada alteram os totais respectivos.
Último voto sem verba: guardar voto e Returned com motivo na mesma transação, sem Approved nem lançamento adicional. Falha técnica reverte tudo. Alteração de política ou cadastro não reescreve fatos; qualquer reclassificação registra origem, antes/depois e justificativa.
Fechamento impede novas intenções no período fechado, mas fatos tardios continuam registráveis: período aberto com competência original referenciada quando a janela de lançamento tardio encerrou. CancelOpen não extingue obrigação jurídica vigente. Reconciliação deve explicar diferenças entre razão gerencial, documento fiscal e contabilidade ERP.
Contrato vigente · revisão consolidada
Materiais, serviços, assinaturas e contratos
| Tipo | Contrato mínimo |
|---|---|
| Material / insumo | Quantidade e unidade, qualidade/especificação, MOQ, múltiplo, lead time, programação e recebimento parcial. Lote/série/certificado quando exigidos vêm do sistema operacional, sem criar estoque no Nexio. |
| Serviço por medição | Período, unidade ou marco, quantidade/valor medido, responsável pelo aceite e evidência. Actual nasce do aceite/período prestado, não de uma entrega física fictícia. Limites acumulados impedem medir duas vezes a mesma parcela. |
| Assinatura recorrente | Vigência, recorrência, janela de renovação/cancelamento, quantidade de licenças, moeda, reajuste e período de serviço. Cada ocorrência tem ID estável; job repetido não gera cobrança/obrigação duplicada. |
| Contrato com mínimo obrigatório | Na ativação efetiva, Obligation do mínimo por programação/competência. Liberações liquidam/transferem esse saldo para pedidos; não somam o mínimo outra vez. Obrigação não consumida permanece até extinção válida. |
| Contrato sem mínimo | Teto comercial é visibilidade. Obrigações nas liberações efetivas, com controle de saldo contratual e orçamento. |
| Compra de produção | Depende de demanda, estoque disponível/reservado, ordens abertas e planejamento externos atualizados. Sem integração automatizada, importação validada e datada é o mínimo operacional. |
MRP, estoque e custeio industrial continuam externos. A v1 deve aceitar a demanda e programação desses sistemas e informar pedidos, confirmações e recebimentos com identidade consistente. O cliente precisa conhecer o atraso da sincronização; não apresentar saldo de estoque importado como disponibilidade em tempo real.
Contrato vigente · revisão consolidada
Dados mínimos para recomendação
| Dado | Origem / informação necessária |
|---|---|
| Demanda futura | Quantidade, data, prioridade, versão do plano, fonte, responsável e intervalo de incerteza quando existir. |
| Estoque externo | Disponível, reservado, em inspeção/bloqueado, trânsito e estoque de segurança, unidade/local e instante da observação. Definir se ordens abertas já estão incluídas para não somar duas vezes. |
| Consumo | Série por período, sazonalidade conhecida, rupturas e substituições; ausência de consumo por falta de estoque não é demanda zero. |
| Fornecimento | Promessas originais/renegociadas, lead time observado, OTIF com abertas vencidas, devoluções, rejeições e tamanho da amostra. |
| Alternativas comerciais | Todas as propostas, perdedoras, NotQuoted, prazo, validade, quantidade, MOQ, múltiplo, embalagem, capacidade declarada, condições e restrições. |
| Custo total | Preço, frete, seguro, tributos não recuperáveis confirmados, câmbio, embalagem/ferramental, armazenagem/financiamento e custo de atraso quando estimados com método explícito. Não tratar custo evitado estimado como economia realizada. |
| Restrições | Orçamento, aprovação, fornecedores qualificados, item substituto permitido, contrato, capacidade, prazo, risco, empresa e local. |
| Resultado | O que foi comprado, quando, quantidade, custo efetivo, prazo/qualidade real, estoque/ruptura informado, cancelamento e razões humanas. |
Contrato vigente · revisão consolidada
Explicação, decisão humana e avaliação
Cada Recommendation registra id, instante, empresas/escopo autorizados, tipo (quando/de quem), alternativas elegíveis, versão de regra/modelo/prompt, objetivo, restrições, estimativas, unidades/moedas e evidenceSnapshotId. O snapshot referencia cada fonte, versão, observedAt, período de validade, transformações e lacunas. Dados fornecidos por terceiros são conteúdo, nunca instrução para executar ação.
A explicação apresenta por que uma alternativa atende melhor ao objetivo e quais fatores mudariam o resultado. Fornecedor de R$ 1.050 pode superar o de R$ 1.000 se frete e atraso estimados forem menores; mostrar as parcelas, hipótese de atraso e incerteza, sem esconder o preço maior. Recomendação nunca dispensa alçada ou controle.
Compra antecipada exige demanda, posição de estoque, trânsito, prazo e custo de manter capital/estoque suficientemente atuais. Sem isso, devolver InsufficientData ou recomendação limitada ao que os dados sustentam, listando dados ausentes/vencidos; não inventar data ótima nem confiança numérica sem avaliação. Limiares de atualidade variam por fonte e caso de uso, definidos com o cliente.
Registrar HumanDecision com recomendação/revisão, autor autorizado, opção escolhida, aceitação/rejeição/alteração, motivo e data. Emitir pedido continua sendo ação humana autorizada nos controles normais. Resultados posteriores se ligam à decisão, sem mudar retroativamente a recomendação.
Avaliar contra baseline explícito (por exemplo, menor custo elegível e política atual), com separação temporal de treino/avaliação, prevenção de vazamento de resultados futuros e métricas de custo total observado, prazo, ruptura e adoção. Usar replay histórico e modo sombra antes de orientar operação; aceitar recomendação não prova benefício causal. Monitorar cobertura, erro e degradação por segmento, com opção de desligar recomendações sem interromper compras.
Preparar identidades, snapshots e resultados agora. Feature store, banco vetorial, treinamento próprio, agentes autônomos e infraestrutura dedicada podem esperar evidência de volume e ganho. Não há autorização para IA comprar ou aprovar sozinha.
Contrato vigente · revisão consolidada
Contratos de execução e recuperação
Chamadas obrigatórias na transação; eventos em memória após o commit produtor; reações essenciais com outbox do produtor e inbox do consumidor. Tabela/migração pertence ao contexto, mecanismo à plataforma. Arquivos exigem versão imutável, veredito e download dos mesmos bytes; desfecho GrydFiles/Nexio atômico exige DbConnection e DbTransaction compartilhadas.
A implementação deve verificar a composição de API, Portal, Worker e Migrator por execução. Todo comando de worker deve declarar tenant/empresa e credencial de serviço; testes de revogação e limpeza de contexto são requisitos pendentes. Migração cobre todos os módulos usados, com trava exclusiva, versões compatíveis, retomada e restore ensaiado. Operadores têm fila de pendências, retry idempotente, reconciliação e trilha.
Definir RPO/RTO, retenção e responsáveis no onboarding operacional e medir restauração antes do piloto. Distinguir restauração técnica do banco de reconciliação de efeitos já enviados ao fornecedor/ERP. Não declarar prontidão com base somente em testes de estrutura.
Contrato vigente · revisão consolidada
Cenários obrigatórios de aceitação
| Cenário | Resultado esperado |
|---|---|
| Duas aprovações disputam R$ 100 no mesmo pai | Uma consome; a outra preserva voto em Returned por falta de verba. Travas cobrem ambos os filhos e o pai. |
| Retry após commit sem resposta | Mesma operação retorna resultado original, sem novo grupo/entrada, pedido, recebimento ou envio lógico. |
| 100 un requisitadas; 60 compradas; 55 recebidas | Commitment 400 + Obligation 55 + Actual 605 = 1.060 no exemplo de Orçamento. Encerrar remanescentes reduz somente as parcelas abertas. |
| Duas propostas vencedoras parciais | TraceAllocation preserva quantidades adjudicadas, fornecedores e demanda remanescente, sem repetir a totalidade em cada pedido. |
| Devolução parcial e nota mais cara | Reverter parcela recebida efetivamente devolvida; ajuste de nota referencia Actual correto; não aumenta verba. |
| Alteração de pedido em aprovação | Versão anterior recebe entregas e mantém obrigação; aprovação da candidata aplica delta apenas uma vez. |
| Mudança de fornecedor ou política com total igual | Reavaliar conteúdo material e versão da política; não preservar assinatura apenas porque o valor não aumentou. |
| Compra centralizada e multimoeda | Separar destinatários fiscais; rateio em sua empresa; taxas e casas por moeda; nenhum saldo corporativo agrega moedas sem conversão explícita. |
| Virada e realizado tardio | Transportar saldos abertos por pares; entrega posterior liquida imputação vigente, preservando competência original. |
| Serviço e assinatura | Medição/ocorrência com período e ID; repetição não duplica Actual ou mínimo contratual. |
| Ana aprova na Fábrica, solicita na Distribuidora | Mesmo token não autoriza aprovação na Distribuidora; ausência de concessão bloqueia operação. |
| Fornecedor abre anexo próprio após envio | Consulta disponível com vínculo de leitura vigente; anexo concorrente inacessível. |
| Upload sobrescrito após scan / queda de worker | Download mantém bytes examinados; lease recupera processamento, sem referência parcial. |
| Recomendação com estoque vencido | Limitação explícita/InsufficientData para data de compra; nenhuma precisão ou decisão automática inventada. |
Estes são requisitos para testes de domínio, integração e operação quando os módulos existirem. Verificação numérica dos exemplos e links nesta revisão documental não equivale à implementação desses cenários.
Contrato vigente · revisão consolidada
Ordem de implementação e hipóteses
- Antes das transações: identidades/revisões/parcelas, autoridade empresarial, arredondamento, razão e coordenação explícita. Publicar contratos e dependências da plataforma.
- Primeiro ciclo utilizável: importação, demanda, aprovação, cotação, pedido, recebimento/aceite e nota/ERP, com pendências e reconciliação. Validar direto e indireto no mesmo piloto.
- Antes do primeiro cliente: isolamento real, restore, migração, retries, revogação, arquivos e observabilidade demonstrados; configuração guiada com responsáveis.
- Antes da IA: cobertura/qualidade de dados e resultados, baseline e avaliação temporal. Começar por recomendação explicável em modo sombra.
Hipóteses ainda sem validação: disposição a pagar, ganho de produtividade, esforço de implantação e manutenção de cadastros, cobertura de ERP e benefício da recomendação. Preservar monolito e quatro perfis; não adicionar infraestrutura física ou de ML para compensar ausência de evidência de produto.