Files
SGF/docs/SGF_INVOICE_MATCHING_PROGRESS.md
T
2026-11-04 09:37:20 +02:00

5.3 KiB

Quantidades para conferência da factura — 03/11/2026

SGF-INVOICE-MATCHING-PROGRESS-QA-v1 acrescenta a leitura das quantidades por linha no percurso de factura de fornecedor: encomendado, aceite, devolvido, estornado, aceite líquido, facturado/validado, em documentos pendentes e restante para conferir.

Comportamento

A indicação usa as quantidades físicas originais, as correcções já calculadas pelos serviços nativos e duas consultas agregadas por linha para recepções e facturas. A quantidade disponível é o menor valor entre encomendado e aceite líquido, deduzido apenas do validado, com mínimo zero. Divergência entre validado e origem é visível separadamente.

Pendentes não reservam quantidade. Uma factura pendente acima do restante recebe uma indicação de divergência, sem ser eliminada, alterada ou considerada validada. A permissão de conferência distinta permanece a original: não é promessa de que a validação nativa vá aceitar o documento. Nenhuma quantidade é escolhida ou preenchida automaticamente.

O formulário apresenta o restante junto à linha escolhida e continua a exigir os dados e fundamento do documento. Preparação, validação, consumo orçamental, versões e idempotência permanecem nos serviços anteriores. Não há nova reserva, factura, obrigação, pagamento, movimento ou lançamento automático.

O estado da ordem é observado uma vez para o detalhe e para a sua revisão, antes de acrescentar as capacidades de interface; a chamada repetida foi removida. A definição do estado e os blocos preview/confirm mantêm-se iguais. A equivalência da revisão foi conferida contra esse estado original. O histórico da factura passa também a ignorar respostas atrasadas de páginas anteriormente pedidas.

O novo detalhe fica desligado por omissão em receipt_qa.invoice_progress_enabled; reutiliza os direitos e isolamento da consulta de facturas, sem direitos novos.

Provas sem repetir comandos financeiros

Consolidação técnica: 47 verificações, sendo14 de origem disponível,16 do caso parcial já concluído,11 de lógica da interface e seis da demonstração.

Foram criadas aplicações de leitura novas sobre dois livros QA existentes, sem repetir emissão, recepção, facturas, validações ou reconhecimento:

  • invoice-progress-read-e286efd6035f reutiliza ce4c9bef1a51: ordem/aceitação1UN, nenhuma factura; restante1000milésimos.
  • invoice-progress-read-34534a38acd7 reutiliza da77bb730751: facturas40+60 validadas, restante zero, documento70 ainda pendente e700milésimos visíveis separadamente.

Os conjuntos de tabelas e sequências de ambos os livros ficaram integralmente iguais antes/depois. Inclui recusas para Compras/Armazém, ordem estrangeira/desconhecida, unidade diferente e contexto antigo; modo desligado e equivalência da revisão. Os limites aritméticos com devolução/estorno e tecto da ordem foram ensaiados sem executar novas correcções físicas.

A interface simulada comprova três casas decimais exactas, recusa de valores fora da representação inteira segura, diferença explícita, aviso apenas para pendentes, ausência de reserva implícita/preenchimento automático, ligação ao módulo efectivo e abertura apenas GET. Uma resposta atrasada do histórico deixa de substituir a página mais recentemente solicitada.

Verificação final: sintaxe de sete ficheiros PHP e nove JavaScript aprovada; git diff --check sem erros de espaços. Inventário/matriz actualizados: seis módulos,13 etapas,89 fontes, zero ciclos obrigatórios e138 critérios documentais conferidos. Estes totais não são validação operacional dos módulos completos.

Demonstração e preservação

Nova composição 9ec0a8e493ea, 8081 — Finanças, sem requisições/facturas principais iniciais. Conserva o percurso, anexos, histórico detalhado e atalhos anteriores. Probes de leitura preservaram os dados de requisição/factura/auditoria e concessões seleccionados; os módulos estáticos servidos coincidem com o código por SHA.

8080 e anteriores, seis registos protegidos, cache bloqueada, provas válidas e trabalho alheio preservados. Nenhuma migração/concessão real, activação de Compras, publicação, aceitação ou checkpoint.

Limitações

A leitura agregada nova não elimina a materialização do estado completo de dependências para a revisão da ordem. A lista de facturas e as verificações de capacidade continuam a ter os limites anteriores; retirar a observação duplicada não comprova ganho de tempo/memória ou capacidade de implantação. Não foram repetidas medições de1000/5000/10000 ou ensaiados índices nesta entrega.

Os livros usados têm uma linha de ordem e os casos de facturação existentes. As fronteiras de devoluções/estornos são verificações aritméticas; as suites físicas completas mantêm a sua evidência própria. Não se introduz rejeição/correcção de factura ou nota de crédito. O DOM simulado não é revisão visual/acessibilidade no navegador. Não foi repetida a via bloqueada de navegador nem o build React/Vite inalterado: verificaram-se os módulos ES estáticos afectados. Visual, carga sustentada, instalação e capacidade de implantação continuam pendentes.