Files
SGF/docs/SERVICE_INVOICE_CALCULATION_SPEC.md
T
nala f8d57b52aa Preserva classificacao contabilistica aceite e bases locais
Regista aceitacao funcional do primeiro incremento PGC-NIRF e preserva as dependencias documentais e tecnicas existentes. A validacao do calculo fiscal continua separada e pendente. Sem credenciais, bases operacionais ou publicacao.
2026-10-26 13:47:11 +02:00

33 KiB
Raw Blame History

Primeiro cálculo de factura de serviço — especificação e incremento delimitado

Data da revisão e consulta das fontes: 26 de Outubro de 2026 (Africa/Johannesburg).

Actualização posterior autorizada pelo utilizador: implementação delimitada do cálculo sobre preço sem imposto, com provas sintéticas isoladas. Não autoriza configuração fiscal real, novas concessões ou operações fictícias da Tempo Lda. Preservar preparação documental, pré-visualização, B1 e checkpoints 8fcd52c, ca13acb, 26b80df, incluindo alterações posteriores. Não reabrir aceitações.

Política operacional aprovada para este incremento

Separação expressamente confirmada pelo utilizador: classificação contabilística da mercadoria/serviço orienta as contas; enquadramento fiscal da operação determina o tratamento de IVA e a taxa aplicável, incluindo taxas diferentes em serviços abrangidos. São associações distintas. Não deduzir a taxa da conta contabilística, da classificação contabilística ou do simples facto de se tratar de serviço; não presumir 16% para tudo. Este incremento não implementa contas/lançamentos nem automatiza a classificação fiscal. A taxa de ensaio provém exclusivamente do perfil sintético identificado.

Versão imutável SGF-SERVICE-NET-VAT-TRUNCATE2-v1. Esta orientação posterior prevalece sobre as propostas anteriores de âmbito/reconciliação desta especificação. A matriz abaixo continua a distinguir conhecimento fiscal documentado de política de produto.

  • Uma linha, quantidade positiva, preço não negativo, moeda explícita e modo added. Incluído, múltiplas linhas, negativos, descontos, retenções, câmbio, adiantamentos e correcções ficam excluídos.
  • B = q × p; IVA_exacto = B × taxa_percent × 0,01, em aritmética exacta, sem float ou truncagem intermédia.
  • IVA_documental_proposto = truncate(IVA_exacto, 2) para valores não negativos; diferença_descartada = IVA_exacto − IVA_documental_proposto. Todas as grandezas ficam preservadas, incluindo quando o IVA proposto é 0,00.
  • Se B for exactamente representável a duas casas, total_documental_proposto = B + IVA_documental_proposto, apresentado a duas casas. Caso contrário, conservar B, IVA exacto, IVA truncado e diferença; total proposto fica nulo e a representação da base/total pendente. Não truncar B nem criar ajustes.
  • A truncagem é decisão operacional expressa do utilizador, não obrigação legal comprovada. Não altera a regra exacta reutilizada do portal nem fotografias B1. HALF_UP/HALF_EVEN permanecem apenas ensaios históricos de comparação.
  • Perfil de ensaio identificado por unidade, nome e versão imutável; definição conserva moeda, taxa, natureza sintética, política e fontes. Resultados append-only conservam entradas, versões do rascunho/preparação/origem/perfil/política e valores derivados. A nova consulta marca versões antigas desactualizadas, sem recalcular ou apagar o histórico.
  • A API de execução só funciona em testing/browser-testing e após confirmação do destino efectivo por TestingDatabaseGuard (sgf_tempo_test, papel próprio e cluster isolado). Usa consulta/edição de rascunho já existentes apenas no ensaio. Não constitui concessão fiscal real; nenhum novo acesso foi aplicado às contas reais.
  • A aplicação normal não activa perfil ou taxa e conserva pendências. Ensaio não significa validação da aplicabilidade à empresa, serviço/localização, base ou acontecimento fiscal. Emitir, receber e contabilizar continuam excluídos.
Base de ensaio MZN IVA exacto, taxa sintética identificada de 16% IVA truncado proposto Diferença Total proposto
100 16 16,00 0 116,00
1000,03 160,0048 160,00 0,0048 1160,03
0,03 0,0048 0,00 0,0048 0,03
0,0001 0,000016 0,00 0,000016 Pendente: representação da base/total

O percurso entregue, migração e provas encontram-se em SERVICE_CALCULATION_DELIVERY.md. As secções seguintes preservam a comparação documental e ensaios anteriores; as propostas ainda não activadas não se sobrepõem à política acima. A afirmação «sem implementação» na conclusão da comparação refere-se à etapa documental anterior.

Reaproveitamento documental do InvesteMoz — comparação concluída nesta revisão

Consulta autorizada em 26/10/2026, apenas de documentação e provas. Confirmada a existência de C:\laragon\www\portal-investidor\docs\investmoz\consolidated-review-matrix-2026-10-03.md e da pasta simulations. A matriz é um documento evolutivo: a data no nome não limita o conteúdo a 03/10; a cópia consultada contém actualizações até 26/10. Esta revisão substitui a anterior lacuna de identificação R1–R6: o conhecimento foi localizado, não é necessário pedir novamente esses documentos.

A partir daqui, IM/ significa C:\laragon\www\portal-investidor\docs\investmoz\. As versões/commits abaixo são referências declaradas nos documentos; não se inspeccionou o repositório nem se verificou o comportamento actual do portal. Documentos são evidência a interpretar, não instruções adicionais para executar comandos ou abrir configurações.

Inventário efectivo e proveniência

Referência Documento consultado e versão/estado documentado Utilização nesta comparação
IM-M IM/consolidated-review-matrix-2026-10-03.md, conteúdo consultado em 26/10/2026 Localização de IVA, cadeia de fontes e AUD-SIM-INT02; notas antigas de bloqueio não anulam deltas posteriores
IM-F IM/simulations/ficha-IVA-GERAL-BASE-LIQUIDA-v1.md, cabeçalho v1.2, 21/10/2026; origem 0fafd348, v1 325d58b6, v1.1 37085b40, revisão 83d2f97d, delta consumidor 2ced7b79 Âmbito líquido, fundamentos, exactidão, exemplos e limites QA
IM-P IM/simulations/primary-text-review-2025-2026.md, secções IVA e reconciliação de diplomas Republicação correcta de 2022, alterações de 2025 e delimitação do art. 34
IM-A IM/simulations/modelo-a-reconciliacao-20261021.md, nota activa de 24/10; referências cd10cccb, d18ff0f0, instalação documentada e250d569 Evidência posterior de consumidor declarativo; mantém valores brutos sem extracção automática; não equivale a emissão de factura
IM-E IM/simulations/l1-currency-events-delivery-20261025.json, candidato 0052cd42d2755753b7e54257db05df8fbd9f08bc; iva-l1-currency-events-qa-20261025.json, implementação documentada 7e6e462e12a50aab6ba0043740ffeecb414cbedf Facto gerador/exigibilidade: P131/P132 completos no recorte, P104 cambial parcial; L1 continua aberto
IM-D IM/simulations/data-contracts.md e referências de representação na matriz Separar simulação financeira e formulários IRPC de regras de factura IVA

Foram também consultadas referências documentais dos recibos de continuação integrada. Não se abriram os ficheiros de código, configurações ou saídas privadas que esses documentos mencionam. Não se executaram os testes neles descritos.

Matriz de regras, provas e adequação ao SGF

Regra Origem/versão Fonte, vigência e condições Provas existentes documentadas Classificação e reaproveitamento Pendência efectiva para SGF
Base tributável IM-F v1.2, IM-P CIVA republicado pela Lei 13/2016, art. 15(1), especiais 15(2), inclusões 15(5), exclusões condicionais 15(6), PDF 13–14; início 01/01/2017, alterações confrontadas com 2022/2025 Base 100 → imposto 16; base 105 após componentes condicionais → 16,8 Fundamentada, adaptação de caso pendente. Reutilizar contraprestação e condições; orçamento, rótulo de serviço ou q×p não provam base legal Confirmar que o serviço pontual SGF corresponde à base líquida proposta, sem componentes especiais
Taxa geral e vigência IM-F/IM-P; decisão de proveniência documentada em 08/10 Lei 22/2022 republicada, art. 17(1), PDF 3, BR 2252-(27); art. 6 da lei, PDF 4: 01/01/2023. Lei 10/2025, vigente desde 01/01/2026, não inclui arts. 15/17 na lista de alterações Perfil QA IVA-GERAL-BASE-LIQUIDA: 16 percent, moeda MZN, contexto declarado internal_general_net, cobertura técnica 2026 Regra geral fundamentada; simulação demonstrada. Reutilizar cadeia documental e taxa exacta sob o âmbito aplicável, não as imagens como fonte Confirmar regime, incidência, localização e tratamento da operação/empresa; não presumir taxa geral para toda operação
Âmbito do serviço IM-F CIVA arts. 1(1)a, 2(1)a, 4(1), 6(3) e excepções; não generalizar art. 6(1), relativo a bens, aos serviços Exclusões expressas: isenções, taxas reduzidas, importações, digital/não residentes, dedução/reembolso Fundamentada com classificação pendente. Reutilizar perguntas e fronteiras, não classificação automática pelo perfil do cliente Identificar serviço e localização concretos; dimensão, nome e NUIT não demonstram regime
Data fiscal IM-F + IM-E de 25/10 CIVA art. 17(2); facto gerador art. 7, PDF 8; exigibilidade art. 8, PDF 9. Cadeia 2022/2025 documentada sem alteração destes artigos IM-E: 9 ramos P131 e 5 tratamentos P132; serviço concluído e cobrança antecipada distinguidos; factura pontual/tardia/ausente, pagamentos e resto pendente. 19 testes frontend, 1 teste API/65 asserções, prova Edge de recuperação, reportados no recibo Fundamentada e ensaiada no recorte. Reutilizar distinção acontecimento/exigibilidade e casos, não data da consulta, vencimento ou B1 como substituto Aplicar ramo ao serviço SGF e identificar os dados que o comprovam; não implementar todos os 14 ramos neste primeiro incremento
Precisão IM-F v1.2 e provas QA Decimal/racional exacto; taxa em percent distinta de fracção; not_applied, sem arredondamento automático 0,03×16%=0,0048; 9007199254740993,0003×16%=1441151880758558,880048; zero explícito distinto de ausente Orientação técnica já estabelecida e demonstrada. Reutilizar os casos e representação exacta, sem copiar código nem reabrir este princípio Limites técnicos do SGF e tratamento de capacidade; o caso grande é prova do portal e não alarga os limites de entrada de A
Arredondamento do cálculo líquido IM-F v1.2 Nenhuma quantização é aplicada nesse percurso; duas casas monetárias não obrigam a arredondar o resultado exacto 0,0048 preservado, não convertido em 0,00; persistência/relatório conservam resultado Reutilizável no mesmo âmbito. Retirar a ausência de política genérica como bloqueio ao cálculo exacto líquido; não escolher HALF_UP/HALF_EVEN Uma exigência futura de formato/consumidor requer fundamento próprio, sem alterar o valor exacto
Preço com imposto incluído IM-F/IM-P/IM-A CIVA art. 34, Lei 10/2025, PDF 14: extracção com divisor 116 e arredondamento à unidade mais próxima nesse contexto O percurso líquido exclui extracção; Modelo A preserva bruto sem calcular a base; não foi demonstrada emissão SGF Regra identificada, adequação pendente. Reutilizar fonte e delimitação, não transpor genericamente o arredondamento para toda factura Conferir âmbito do art. 34 no consumidor de factura pretendido, unidade, sequência e empates aplicáveis; identidade algébrica não resolve isso
Apresentação e reconciliação IM-F, IM-A, IM-D e matriz CIVA art. 27(5)c/d distingue preço líquido/base, taxa e imposto. RIVA art. 9(1)b do exemplar de 2008 trata cheque/vale, não arredondamento universal. M20/M22 são representações IRPC QA preserva valor/moeda/contexto e fotografia; exemplos artificiais de centésimos mostram conflitos, não normas Princípios reutilizáveis; adaptações declarativas não aplicáveis à factura. Separar cálculo, apresentação e emissão Determinar apenas a representação exigida para o consumidor futuro; não arredondar para imitar formulário fiscal
Historial e limites das provas IM-F revisões e IM-E Regra/entradas/contexto versionados, relatório preservado; simulação sobre enquadramento declarado IM-F: 6 testes/86 asserções de governação; delta 8 testes/75 asserções e 2 frontend; rota QA 1 teste/17 asserções; exemplo Edge 1000,03 → 160,0048 recuperado com hash igual Evidência técnica reportada, não homologação jurídica. Reutilizar requisitos de rastreabilidade e casos sintéticos, preservando B1 do SGF Não transferir papéis, bypass RLS de QA, credenciais, contas ou estado de activação do portal. Testes de política não provam isolamento RLS

A aceitação documental de uma fonte no portal não é parecer jurídico nem aprovação automática para emitir no SGF. As provas acima são as reportadas nas versões identificadas, não uma nova execução nem conferência independente do estado actual. A cobertura QA de 01/01–31/12/2026 não é caducidade legal da taxa em 31/12/2026. O trabalho recente de IRPC e os formatos M20/M22 não constituem fundamento de arredondamento IVA.

Exemplares e integridade

Verificados por leitura os SHA-256 das cópias em IM/simulations/source-archive/; coincidem com os registados na ficha. O cotejo de artigos/páginas acima é reaproveitado da leitura documental do portal: não se apresenta como nova leitura jurídica integral dos PDFs nesta revisão.

Exemplar SHA-256 confirmado
Lei-13-2016-CIVA-BR-156-10-suplemento.pdf B90DC7C14ECEA2E378C4A62E8E5A47D54A5644C457BAEB8B8053B92FD2A5710B
Lei-22-2022-IVA-republicada-BR-250-2-suplemento.pdf EA1B0DC6F5CF6E595F6D9A19E7042F398999E0087CAEF1785F6E8FAC571B5F53
BR-248-I-Suplemento-1-2025.pdf CCF2A8DEECA820F2DD076B4B2141B1EFE3F6A806568C3A587CA59A8E92F4C251

Não houve nova pesquisa na Internet: as fontes e provas disponíveis permitem reduzir as lacunas antes de qualquer pesquisa adicional.

1. Caso mínimo proposto

Um serviço pontual, uma linha, uma moeda documental explicitamente escolhida, uma quantidade positiva, preço não negativo, um tratamento tributado e uma taxa positiva aplicável à data fiscal de referência aprovada. A especificação contempla os dois modos existentes: imposto incluído e acrescido. A proposta pequena da secção 8 começa pelo acrescido sobre base líquida; incluído permanece pendente até à adequação específica do art. 34, sem eliminar o modo existente. «Por definir» mantém pendência.

Sem descontos, adiantamentos, retenções, encargos adicionais, câmbio, múltiplas taxas, facturação parcial, correcções ou cálculos de recebimentos. Isenção, não sujeição e taxa zero não serão representadas como uma taxa positiva em falta: precisam de tratamento/fundamento próprios e ficam fora desta primeira implementação proposta. O enquadramento real ainda não está aprovado.

Uma linha reduz o primeiro incremento, mas não dispensa escolher e registar uma política por linha ou por documento. Nessa situação os resultados coincidem; não inferir daí equivalência quando se acrescentarem linhas. O exemplo de três linhas abaixo serve só para fechar essa decisão e impedir uma expansão silenciosa.

Continuar a mostrar RASCUNHO — SEM VALIDADE FISCAL. Um cálculo matematicamente completo não cria número fiscal, emissão, recebimento ou lançamento, nem altera a confirmação interna B1.

2. O que está confirmado e o que não está

Estado Conteúdo
Base existente a preservar Quantidades/preços como cadeias decimais, até 16 algarismos inteiros/8 decimais; aritmética exacta; modos por definir/incluído/acrescido; moeda não presumida; contexto, permissões, versões e fotografias imutáveis
Decisão expressa para esta especificação Caso simples, distinção entre cálculo/arredondamento/apresentação, exemplos sintéticos, bloqueio por regras em falta e separação de numeração/emissão
Proposta técnica a aprovar Uma linha e uma taxa positiva; cálculo racional exacto; percurso líquido sem arredondamento; ensaios de quantização separados do perfil real; cálculo derivado de rascunho sem actualização retroactiva
Informação em falta Regime da empresa, natureza/localização da operação, tratamento, taxa/vigência aplicáveis, data fiscal de referência, moeda e responsável pela validação; regra específica de extracção/apresentação apenas quando o respectivo consumidor a exigir
Não aprovado Aplicar automaticamente 16% à Tempo Lda ou a qualquer serviço; presumir isenção/taxa zero; considerar verificada fiscalmente uma fórmula só porque fecha aritmeticamente

3. Fontes oficiais: reconciliação com a documentação do portal

A pesquisa pública anterior encontrou a primeira publicação de 2022. Correcção desta revisão: não a usar como exemplar normativo; IM-P identifica que foi dada sem efeito e substituída pela republicação no 2.º suplemento do BR 250, de 28/12/2022, 18 páginas. A cópia arquivada e o hash acima substituem aquela referência como fundamento. Não é necessário voltar a pedir o articulado de 2025: está identificado e cotejado em IM-P/IM-F.

Fonte oficial / exemplar reutilizado Regra documentada e vigência Limite / acção restante
INM — Lei 13/2016, republicação CIVA, arquivo identificado acima Arts. 1/2/4/6 incidência e serviços; 7/8 acontecimentos; 15 base; 17(2) taxa na exigibilidade; 27(5)c/d componentes documentais. Início 01/01/2017, ler com alterações posteriores Aplicabilidade à operação concreta, não nova descoberta dos artigos
INM — Lei 22/2022 republicada, suplemento 2, arquivo identificado acima Art. 17(1): 16%; art. 6 da lei: início 01/01/2023 Taxa geral fundamentada; não configura automaticamente a Tempo Lda
BR 248, suplemento 1, 29/12/2025, exemplar arquivado acima; IM-P/IM-F Lei 10/2025, PDF 12–15, início 01/01/2026; art. 34 PDF 14 sobre extracção; arts. 15/17 não incluídos na lista de alterações Confirmar adequação do art. 34 ao consumidor incluído pretendido; não presumir vigência única de todas as leis do mesmo boletim
Decreto 7/2008, BR-16-I-Serie-2008-04-16.pdf, referenciado em IM-F RIVA arts. 4/5: base/operação versus imposto devido após deduções; art. 9(1)b: meio de pagamento por cheque/vale, exemplar histórico Não transpor esse arredondamento para cálculo líquido ou para toda factura
Comunicação governamental de 30/09/2026, já registada em IM-F Anúncio de alterações regulamentares; articulado publicado/eficácia por disposição não demonstrados nessa evidência Pesquisar só quando uma disposição puder afectar o consumidor delimitado; não bloquear genericamente o cálculo líquido exacto

As rectificações de 2017 e a referência a Decreto 8/2017/BR 50 de 30/03/2017 estão já sinalizadas no dossier; não repetir a busca no BR 54 incorrectamente associado. Correspondência de disposição e consolidação regulamentar permanecem pontuais quando relevantes, não prova de inexistência de conhecimento. Não se afirma consolidação integral de toda a legislação até hoje.

4. Entradas e perfil de cálculo proposto

Reutilizar IDs/versões de empresa, unidade, cliente, prestação e rascunho, linhas/preparação e moeda. Não duplicar cadastros ou alterar preços guardados. O perfil de regra, se futuramente aprovado, identifica:

  • Regime e tratamento da operação, com prova de aplicabilidade.
  • Taxa exacta e unidade explícita: percentagem e fracção são distintas; 10% corresponde exactamente a 0,10, sem float.
  • Data fiscal de referência, regra que a determina e intervalo de vigência sem sobreposição/ambiguidade.
  • Moeda e modo incluído/acrescido. Para o percurso líquido, arredondamento not_applied e reconciliação exacta B* + I* = T*. Escala/pontos/método de quantização só para o consumidor específico fundamentado.
  • Identidade/versão do perfil, fontes, responsável/estado de validação e âmbito da empresa/operação.

Os exemplos usam UT, unidade monetária fictícia de ensaio, não um código ISO nem a moeda da Tempo Lda. Duas casas e taxas de 10%/20% são parâmetros artificiais do ensaio, não configuração real. Uma taxa de 16% observada nas imagens não activa qualquer perfil.

5. Fórmulas exactas, anteriores a qualquer arredondamento

Definir q quantidade, p preço unitário proposto e r taxa em fracção exacta. B*, I*, T* são valores matemáticos anteriores à quantização, não montantes emitidos.

Modo Fórmulas
Imposto acrescido B* = q × p; I* = B* × r; T* = B* + I*
Imposto incluído T* = q × p; B* = T* / (1 + r); I* = T* − B* (equivalente a T* × r / (1 + r))
Por definir / tratamento desconhecido Não escolher fórmula fiscal. Conservar apenas a aritmética provisória já existente e pendências

Estas identidades matemáticas não provam que q × p seja a base legal da operação. Só se usam quando o perfil fiscal aprovado confirmar que esse caso simples corresponde ao valor relevante, sem componentes adicionais. Um preço incluído desconhecido não é «base sem imposto».

Precisão de cálculo

Princípio existente, reforçado pelas provas do portal: multiplicação decimal exacta e fracções racionais exactas quando a divisão não terminar, reutilizando Brick\Math já instalado, sem novas dependências. Não truncar uma divisão a 8/12 casas e voltar a usá-la como valor exacto. Os limites de entrada de A não são uma regra de arredondamento monetário; produtos/divisões podem exigir mais casas.

Conservar entradas canónicas e, se necessário para rastreio, numerador/denominador dos resultados exactos. Decimal de uma fracção periódica mostrado ao utilizador deve ser marcado como aproximação e nunca realimentar o cálculo. Definir limites técnicos de tamanho/execução antes da implementação, sem transformar um erro de capacidade em arredondamento silencioso.

Arredondamento / quantização

Definir explicitamente Q(s,m,x): escala monetária s, método m, valor exacto x. Aplicar apenas nos pontos aprovados. A apresentação com duas casas não autoriza quantizar todos os passos a duas casas.

Parâmetro exclusivo de ensaio, não norma fiscal nem preferência de produto: s=2, m=HALF_UP para valores não negativos. HALF_EVEN e políticas por linha/documento servem para demonstrar diferenças; a regra real exige fundamento fiscal aplicável, começando pela comparação com o material do portal. Não suportar valores negativos neste incremento; correcções exigem âmbito próprio.

Ensaios de reconciliação para uma linha — não adoptar como perfil fiscal

As duas políticas seguintes ficam preservadas apenas como hipóteses de ensaio que expõem diferenças. Não são a proposta actual para o percurso líquido, que conserva B*, I* e T* exactos com not_applied; não se pede aprovação por preferência entre métodos:

  • Acrescido: B = Q(B*); I = Q(I*); T = B + I. A diferença T − Q(T*), se existir, deve ser registada/explicada; não substituir silenciosamente o total por outro cálculo.
  • Incluído: preservar a âncora bruta T = Q(T*); calcular I = Q(I*); obter B = T − I. Registar explicitamente delta_base = B − Q(B*). Esta política de base por diferença evita inventar um desconto, mas precisa de aprovação fiscal; não a apresentar como simples arredondamento independente da base.

Invariantes a verificar no perfil aprovado: mesma moeda, B + I = T, reprodutibilidade e explicação das diferenças face aos valores exactos. Se a norma exigir outra âncora/sequência, substituir o perfil proposto por essa regra antes de implementar. Não exigir simultaneamente invariantes incompatíveis nem esconder o conflito.

Para múltiplas linhas, somar resultados quantizados por linha pode diferir de quantizar uma soma exacta. Se a política for por documento, falta definir a afectação dos resíduos às linhas e o critério determinístico. Isso não entra implicitamente no primeiro caso de uma linha. Nenhum «ajuste» sem identidade/regra, alteração de taxa ou conta transitória para fazer coincidir totais.

Apresentação

Separar valores exactos, componentes quantizadas e formatação (casas/separadores/língua/moeda). Não analisar novamente texto formatado para calcular. Continuar a distinguir cálculo matemático, validação fiscal e emissão. Mesmo com perfil aprovado, nesta fase o documento é rascunho; total calculado sob perfil não significa dívida emitida ou autorização de emissão.

6. Exemplos sintéticos e resultados esperados

Perfil fictício ENSAIO-UT-HU2, não activável na Tempo Lda; escalas/taxas/âmbitos temporais abaixo são apenas dados de teste. Nenhuma inserção nas bases foi realizada.

Caso Entradas Resultado exacto Resultado esperado sob o perfil de ensaio
A — acrescido q=2,5, p=80, r=10% B*=200, I*=20, T*=220 B=200,00, I=20,00, T=220,00 UT
B — incluído q=2, p=55, r=10% T*=110, B*=100, I*=10 B=100,00, I=10,00, T=110,00 UT
C — empate de arredondamento, acrescido q=1, p=0,05, r=10% B*=0,05, I*=0,005, T*=0,055 HALF_UP: B=0,05, I=0,01, T=0,06. HALF_EVEN, como alternativa de comparação: I=0,00, T=0,05. Não intercambiáveis
D — incluído com reconciliação q=1, p=0,03, r=20% T*=0,03, B*=0,025=1/40, I*=0,005=1/200 Hipótese incluído de ensaio: T=0,03, I=0,01, B=0,02 UT; delta_base=-0,01. Arredondar B* e I* independentemente daria 0,03+0,01=0,04, incompatível com o bruto de 0,03; não ocultar a diferença
E — quantidade fraccionada e preço muito pequeno q=1,25, p=0,00000001, acrescido, r=10% B*=0,0000000125, I*=0,00000000125, T*=0,00000001375 À escala fictícia 2, todos quantizam para 0,00. Preservar os positivos exactos; decidir se a política real permite ou bloqueia essa situação, sem elevar artificialmente preço/total
F — preço explicitamente zero q=1, p=0, acrescido, perfil e taxa conhecidos B*=I*=T*=0 0,00 sob regra completa; não demonstra que qualquer serviço gratuito tenha esse tratamento fiscal
G — taxa/tratamento em falta, mesmo com preço zero q=1, p=0 ou 80, sem perfil fiscal completo Apenas a aritmética provisória é conhecida Imposto/total fiscal não apurados; pendência e cálculo não validado. Não usar zero para suprir informação fiscal

Comparação por linha/documento, fora do caso mínimo: três linhas de base exacta 0,05, cada uma com taxa artificial de 10%. HALF_UP por linha: imposto 0,01 × 3 = 0,03, base 0,15, total 0,18. Por documento: imposto Q(0,015)=0,02, total 0,17. Diferença 0,01; bloquear a extensão a múltiplas linhas enquanto a política e a distribuição não estiverem aprovadas.

Vigência fictícia: perfil A válido de 01/01/2030 a 30/06/2030, perfil B desde 01/07/2030, para a mesma operação artificial. Na data fiscal de referência 30/06 seleccionar A; em 01/07 seleccionar B. Data desconhecida, lacuna ou sobreposição ⇒ pendência, sem escolher «a taxa mais recente». Estas datas não representam alteração legal real.

Casos recusados/pendentes adicionais: moeda ausente ou diferente no mesmo cálculo; preço com precisão excedente; quantidade não positiva; modo por definir; regra expirada/sem fonte ou sem validação; rascunho/contexto desactualizados; discrepância de reconciliação; leitura de empresa/unidade alheia. Manter a recusa e o motivo sem gravar resultados parciais como válidos.

7. Estados e comportamento quando faltar regra

Proposta de distinção, sem novos estados de emissão:

  1. Pendente de dados/regra: lista precisa do que falta; imposto/base fiscal/total não apurados conforme dependências. A aritmética provisória existente pode continuar visível, claramente separada.
  2. Simulação sintética: fórmula/perfil de ensaio explícitos e isolados em testes; nunca valida a empresa real.
  3. Calculado sob perfil aprovado: só depois de entradas, aplicabilidade, vigência, moeda e política completas, com resultado reconciliado. Ainda não significa documento emitido nem validação automática de todas as obrigações fiscais.
  4. Conflito/fora do âmbito/falha técnica: não há resultado validado; preservar entradas e última versão identificada sem a apresentar como actual. Falha técnica não é isenção, pendência resolvida ou taxa zero.

Sem regime, tratamento, taxa, data/vigência ou moeda aplicáveis: não calcular imposto por omissão e não marcar validado. No percurso de base líquida exacta, not_applied é explícito: a ausência de política genérica de arredondamento não impede esse cálculo. Se faltar uma regra específica exigida para extracção do incluído ou para o consumidor monetário, manter pendente esse resultado/consumidor, sem invalidar silenciosamente valores exactos já determinados. Dar origem e próxima acção: completar dados, obter fonte vigente, confirmar enquadramento ou aprovar a política. Alterar dados/regra invalida a actualidade do cálculo, sem mudar silenciosamente resultados já consultados.

8. Pequena proposta de implementação futura

Depois da aprovação do incremento, começar pelo percurso de base líquida, uma linha e moeda explícita, sem arredondamento automático. Acrescentar um calculador determinístico do caso de uma linha, reutilizando o rascunho e uma versão explícita de perfil. Não construir já um motor fiscal geral ou editor de taxas arbitrárias. Se faltar validação real, só poderá existir ensaio sintético isolado autorizado; não activar regras incompletas na Tempo Lda.

Resultado derivado proposto: IDs/versões de origem, modo, perfil/fontes/vigência, data de referência, moeda/escala, entradas exactas, resultados exactos, política/pontos de quantização, componentes reconciliadas, resíduos explícitos e estado/pendências. Definir conservação/versionamento desse resultado no delta futuro; não o inserir no JSON de uma fotografia B1 existente.

Integração mínima na pré-visualização: manter aviso de rascunho, mostrar o perfil e distinção entre valores exactos/calculados/por validar, sem número ou emissão. A leitura continua sem resolver pendências por si só. Os antigos rascunhos com modo desconhecido não são reinterpretados automaticamente; a activação futura deve ser explícita e versionada. Configurar apresentação não concede gerir regras fiscais ou aprovar cálculos; acessos concretos terão aprovação própria se necessários.

Provas a exigir futuramente no recorte aprovado: casos exactos reutilizados IM-F, casos A/F/G, moeda desconhecida, datas de vigência, perfil sem validação, versão/contexto, isolamento, reprodutibilidade, reconciliação e permanência das fotografias B1/preparação histórica. Prova visual só em instância isolada com sgf_tempo_test; nenhuma operação real ou fixture na Tempo Lda. Nesta etapa não foram implementados ou executados testes do sistema.

9. Decisões realmente restantes

Escolhas de produto: aprovar o primeiro incremento pequeno de cálculo exacto sobre base líquida, uma linha, mantendo incluído visível mas pendente de adequação normativa; indicar a moeda concreta (MZN é a cobertura documentada do portal, não um valor a presumir no SGF) e os actores autorizados. Se o objectivo exigir incluído já no primeiro incremento, resolver antes o ponto fiscal específico abaixo. Nenhuma concessão é inferida dos direitos de pré-visualização.

Validação fiscal da operação: identificar regime, serviço/localização e tratamento aplicáveis à empresa, confirmar que a contraprestação simples constitui a base do art. 15 e determinar o acontecimento/exigibilidade pelos arts. 7/8. A cadeia documental da taxa geral de 16% desde 2023 já foi encontrada; resta a sua aplicabilidade ao caso, não escolher de novo uma taxa por preferência.

Incluído e consumidores futuros: verificar a adequação do art. 34 à factura pretendida e, se aplicável, unidade, sequência e tratamento de empates com fundamento. Só depois definir extracção/reconciliação/apresentação. HALF_UP/HALF_EVEN e formatos M20/M22 não substituem essa validação. Procurar alterações regulamentares apenas para a disposição/consumidor que possa ser afectado, reutilizando o dossier e os exemplares já identificados.

Não voltam a aprovação valores exactos, ausência de truncagem silenciosa, desconhecido diferente de zero ou história preservada. Não é necessário pedir de novo R1–R6. Nenhuma regra é activada nesta revisão. Não se alteraram código, bases, permissões, fotografias ou portal; não se copiaram implementações nem se executaram testes. Numeração, emissão, PDF, recebimentos, contabilização e publicação permanecem fora do âmbito.