Files
SGF/docs/SGF_CASH_DELIVERY.md
2026-11-11 09:00:17 +02:00

6.9 KiB

Caixa QA integrada na8085 —10/11/2026

Bloco SGF-CASH-QA-v1 expressamente autorizado pelo utilizador e entregue na mesma instalação. Financeiro → Recebimentos e Caixa → Caixa — abertura, despesas e fecho QA, ou /finance/cash após escolha de função. Oficinas → Financeiro tem continuação explícita para o módulo Financeiro. Mantém navegação horizontal/dropdowns e guardas de contexto; sem novas demonstrações, bases, portas ou dependência do SGC.

Os quatro direitos aprovados foram concedidos exactamente aos perfis existentes: cash.view13/14/15/16/17; cash.prepare13; cash.review14; cash.close14. Oito concessões em cada uma das duas bases QA existentes, empresa2/unidade2. Sem novas pessoas/perfis, roles PostgreSQL, funções nativas ou acessos reais/PUBLIC. Configuração desligada por omissão fora da instalação seleccionada.

Percurso concluído e conservado

Passo Preparação Conferência Saldo QA
Abertura explícita0 Financeiro13 Financeiro14 0MZN
Custódia fictícia1000, recebimento existente escolhido e meio Numerário declarado Financeiro13 Financeiro14 1000MZN
Despesa fictícia50 com beneficiário/descrição/comprovativo Financeiro13 Financeiro14 950MZN
Contagem950 e fecho Contagem13 Revisão e fecho14 950MZN, fechado

Nove eventos append-only na8085. O recebimento é o da factura-recibo nova, efectivamente confirmado/afectado anteriormente; Caixa não emite outro documento, não recebe de novo, não altera a dívida nem presume numerário a partir da factura. A declaração de custódia é própria, explícita e fundamentada. Nenhum dinheiro real foi movimentado.

No mesmo diário, Contabilidade15 prepara e aplica, Contabilidade16 revê individualmente: reclassificação1000 D QA-CAIXA/C QA-LIQUIDACAO-CLIENTE e despesa50 D QA-DESPESA-CAIXA/C QA-CAIXA. A origem da liquidez tem de estar contabilizada antes da reclassificação. A conta de liquidez QA não representa uma conta bancária real. Contagem e fecho não lançam automaticamente. A instalação termina com 27 lançamentos equilibrados, incluindo apenas esses dois novos factos.

Fecho de Caixa recusa movimentos por valorizar, contagem divergente/antiga, decisões pendentes, autoridade revogada ou origem revertida. Divergência fica preservada; revisão pode recusar para permitir nova contagem, sem ajuste automático. O livro fechado não reabre. Uma reversão posterior da origem é bloqueio de conferência, sem retirar numerário ou devolver dinheiro por arrasto.

Consulta, prévia e recuperação

Extracto por datas/tipo e páginas25/100 na SQL; abertura/entradas/despesas/fecho do intervalo em leitura consistente. O filtro por tipo limita o histórico, não altera o resumo global da Caixa. Contagem não é movimento. Antes da abertura e quando a origem está bloqueada, o ecrã identifica o estado em vez de fabricar um saldo real.

Todas as decisões exigem fundamento, prévia revertida e confirmação com nova validação de identidade/contexto/permissões/versão/origem. A transacção mantém autoridade e bloqueio de empresa; escritor, recibo e auditoria são atómicos no host. Datas de classificação/despesa/contagem não podem anteceder as suas origens. Só valores exactos do recorte aprovado são admitidos.

Uma referência por confirmação recupera o recibo histórico, mesmo noutra sessão da mesma pessoa/contexto autorizado, sem executar de novo. Referências próprias ficam no histórico; a consulta não concede poderes de escrita. Formulários/prévia e resultado incerto ficam protegidos; não há limpeza de cache ou armazenamento de credenciais no cliente.

Provas

  • 23 verificações dirigidas, todas revertidas na regressão existente: abertura, revisão própria/acesso indevido recusados, origem estrangeira, saldo, versão antiga, revogação, falha depois do writer e recuperação, duplicação, divergência, origem revertida, fecho sem diário recusado, duas valorizações e conservação dos documentos/efeitos financeiros. receipt-composition-b4093c6f6707/single-integration/20261110-175251-07723b42/cash-result.json.
  • Concorrência entre dois processos apenas na regressão: segunda confirmação503 durante o bloqueio da empresa, depois409 por versão antiga; uma classificação e recuperação da primeira chave. cash-concurrency/result.json. O ensaio conserva uma abertura/classificação1000 nessa regressão, sem a apresentar como o livro concluído da8085; não repetir a preparação nem a prova positiva inicial por rotina.
  • Sete verificações adicionais de leitura/fronteiras, após a prova concorrente: SQL25/100, intervalo posterior com abertura1000, tipo sem alterar saldo, data incompatível e empresa alheia recusadas, ciclo incompleto sem fecho. single-integration/20261110-175845-a7f3eb7b/cash-read-boundaries.json na regressão.
  • 21 controlos HTTP na8085: nove decisões com recuperação, declaração1000 sem outra factura/recibo, despesa50, contagem950, fecho prematuro recusado, extracto, consulta sem escrita403, recuperação noutra sessão e diário27 equilibrado. As duas páginas do diário contêm25+2 registos únicos; tamanho da página não é o total. cash-http-20261110.json.
  • Oito verificações de período na8085: 38 factos/zero pendentes, fecho/repetição e recusas em rollback, sem reabertura; período de apresentação mantém-se aberto. single-integration/20261110-180324-fe0a46fd/period-cash-result.json.
  • 14 verificações DOM→HTTP de consulta/recuperação: Caixa fechada950, nove eventos, comandos bloqueados, filtros por tipo/data, saldo transportado e recibo recuperado, zero POSTs de confirmação. cash-dom-http-20261110.json. Não é revisão visual de navegador.
  • Comparação SELECT-only com backup privado anterior a Caixa:25 lançamentos, clientes, facturas, movimentos físicos, registos/efeitos de recebíveis e binding original byte a byte intactos. single-integration/20261110-180329-e03178dc/cash-preservation.json. Backup/dumps e dados privados fora do repositório; nenhuma aceitação/checkpoint Git presumida.

Build privado e verificações de sintaxe aprovados; assets anteriores retidos. Provas válidas dos restantes módulos reutilizadas, sem repetir comandos de Compras, documentos ou associações. Os seis registos protegidos e a cache bloqueada não foram alvo.

Limites

Um livro/uma origem fictícia1000, despesa50, MZN e período QA seleccionados, com duas contas artificiais novas. Não é operação geral de Caixa de uma empresa. Sem bancos/POS/câmbio/transferências externas, fiscalidade certificada, salários, dinheiro/acessos reais, ajuste automático ou reabertura. Sem publicação, candidata de Compras, SGC, novas demonstrações, aceitação ou capacidade de implantação presumida.

Revisão visual continua separada e a via de navegador bloqueada não foi repetida. Carga sustentada, armazenamento/retensão, conformidade real e implantação exigem evidência própria.