docs(irpc): mirror first L8 QA proof without merging root runtime
This commit is contained in:
@@ -972,3 +972,41 @@ Só serão demonstradas estas novas regras/efeitos,emQA isolada e com as guardas
|
||||
### Esforço global:referência inicial não é previsão actual
|
||||
|
||||
As240–416horas deL8–L14 permanecem identificadas como referência inicial de planeamento,não saldo actual nem prazo assumido. Antes de estimar o conjunto:reconciliar por lote o que já está implementado/reutilizável e o que falta em código;descontar provas aceites sem as repetir;separar espera documental;incluir resíduosL1–L7,integrações/entregas eL15–L16,SISA/encargos imobiliários. Campos de entrada,fontes inventariadas ou percentagens isoladas não provam percurso executável completo. Contar apenas o delta necessário e não somar duas vezes componentes partilhados. Esta passagem entregaL7 e delimitaL8;gere uma estimativa reconciliada futura,sem converter os intervalos iniciais numa promessa global. **L7 parcial;saldo finalL8 ainda não implementado nesta entrega.**
|
||||
|
||||
## 26/10/2026 — L8: primeiro saldo anual simulado demonstrado em QA
|
||||
|
||||
**QA concluído em `11a6cee9`; ainda sem instalação.** `f8d57bdd` permanece a entrega comunicada no portal. Este incremento reutiliza a colecta corrente de L6 ou o total ordinário L7 aplicável, sem somar ambos nem contornar um tratamento pendente. Recorte: sujeito residente no regime geral, ano civil de 2026, MZN, sem PEC/créditos positivos ou imposto autónomo que exijam liquidação própria. L6 operacional no âmbito demonstrado; L7 mantém o saldo parcial já discriminado. Não há nova pesquisa ou reabertura das provas aceites.
|
||||
|
||||
**Percurso executável:** «Preparar saldo anual L8» reutiliza NUIT, exercício e chave/versão da colecta sem substituir edições deliberadas. Selecciona os comprovativos L5 recebidos, efectivos, por conta e reconciliados; confirma o próprio beneficiário e a inclusão do rendimento na base do exercício. Retenções entregues pela empresa por pagamentos a terceiros, definitivas ou projectadas não são abatimentos próprios. PPC exige recibo, emitente, data, titular, exercício, moeda, montante comprovado, parcela utilizada e confirmação do pagamento efectivo; não usa previsões do plano nem calcula a obrigação PPC. A reutilização não apaga provas ou consome saldos oficiais.
|
||||
|
||||
Conhecido, ausência declarada com suporte e informação em falta são estados distintos. Ausência contraditória, titular/exercício divergente, prova em falta ou origem desactualizada mantêm o saldo dependente indeterminado. A identidade normalizada do emitente/comprovativo detecta repetição mesmo com data alterada; a mesma prova não pode ser retenção e PPC. Controla limites do comprovativo e da afectação L5, incluindo parcelas em outros contextos do mesmo dossier. São simulações alternativas, sem reserva central ou consumo de crédito fiscal entre dossiers independentes.
|
||||
|
||||
| Caso demonstrado | Resultado L8 simulado |
|
||||
| --- | --- |
|
||||
| Colecta 1 408 − retenção sofrida 300 − PPC 500 | **608 MZN a pagar**. |
|
||||
| Colecta 1 408 − retenção sofrida 1 000 − PPC 600 | Saldo aritmético −192: **192 MZN a recuperar**, sem afirmar reembolso recebido. |
|
||||
| Colecta 1 408 − retenção 408 − PPC 1 000 | Saldo zero, com parcelas completas. |
|
||||
| Ausência declarada de retenções/PPC, PEC ausente e outros créditos conhecidos zero | 1 408 MZN a pagar; estados conhecidos/ausentes conservados. |
|
||||
| PPC por comprovar, prova repetida ou PEC positivo ainda sem regra própria | Saldo a pagar/recuperar indeterminado; entradas e subtotais conhecidos conservados. |
|
||||
| Fronteiras do mínimo: saldos ±99,99 e ±100 | Aritmética exacta; abaixo de 100 MZN sem cobrança/reembolso neste recorte; em 100 aplica pagar/recuperar. Sem arredondamento ou transporte de crédito inventado. |
|
||||
| Colecta anual L7 acelerada aceite de 1 996,80, sem abatimentos declarados | Reutilizada uma vez: saldo simulado 1 996,80, sem somar a referência L6 nem recalcular o benefício. |
|
||||
|
||||
**Fontes e limites:** CIRPC arts. 63/67, Lei 34/2007 e natureza da retenção na redacção aplicável da Lei 12/2025; Regulamento Decreto 9/2008 arts. 21(2–5) e 27(1–2/6). O mínimo de 100 MZN do art. 27(6) está ligado ao recorte ordinário de 2026; as alterações IRPC do acervo de 2025 não substituem essa regra. Exemplares, páginas e hashes constam do recibo, com aceitação oficial anterior preservada. Não generalizar este parâmetro a períodos/regimes não correspondidos. PEC positivo, crédito de investimento, dupla tributação e outros créditos não recebem abatimento, limite, transporte ou reembolso presumidos. Um crédito potencial L7 não passa automaticamente a crédito utilizável L8.
|
||||
|
||||
**Gravação e recuperação:** livro opcional `irpcAnnual` no snapshot existente, por contexto, sujeito e exercício; ligado à execução da colecta e às provas L5 seleccionadas. Guarda o input e o resultado simulado, acrescenta o resultado anterior ao histórico sem o recalcular, e invalida o resultado corrente quando mudam as fontes/entradas. HTML e dossier financeiro recuperam colecta, provas/parcelas, estados, saldo, lacunas e limites concordantes. Sem preparação L8, os relatórios anteriores não ganham linhas L8. Plano, originais, livros e históricos L5–L7 permanecem imutáveis. O saldo não é declaração submetida, pagamento efectuado ou reembolso recebido.
|
||||
|
||||
**Provas novas:** 19 testes frontend dirigidos; API privada QA, 1 teste/170 asserções, sete casos com cálculo → gravação → recuperação → HTML/dossier; base isolada `simulator_fiscal_delta_20261021_test`, loopback 55441, guarda de identidade e transacção com rollback. Interface real: preparar, preencher só dados em falta, seleccionar prova, impedir repetição, pagar/recuperar/zero/ausência/indeterminação, guardar/recarregar/recuperar/exportar, sem erros de página. Wayfinder `--with-form`, TypeScript e build QA passaram. Comparação de 2 832 ficheiros anteriores: só três pontos de integração alterados, mais os cinco ficheiros novos do incremento; motores L5/L6/L7, fontes, fixtures, schema, configuração e permissões preservados; 31 originais iguais. Não se repetiram suites aceites de L3, ISPC, câmbio ou L5–L7. SGF TEMPO separado.
|
||||
|
||||
### Saldo concreto L8 após este incremento
|
||||
|
||||
| Código ainda por implementar | Condição concreta de retoma |
|
||||
| --- | --- |
|
||||
| PEC e créditos positivos: investimento, dupla tributação e outros créditos próprios | Correspondência do crédito, titular/exercício, montante efectivamente disponível, ordem, limite e transporte aplicáveis; prova de cada saldo. Não presumir reembolsabilidade ou prazo de 3/5 anos. |
|
||||
| Liquidação de imposto autónomo/61-A e articulação com o saldo anual | Segregar a parcela autónoma e corresponder quais abatimentos podem incidir sobre ela; não a ignorar nem compensar automaticamente com prejuízo/PPC. |
|
||||
| Períodos especiais e comprovativos noutra moeda | Corresponder exercício/data de afectação e regra cambial fiscal do pagamento; reutilizar periodização/câmbio existentes sem confirmar pressupostos por omissão. |
|
||||
| Cálculo da obrigação PPC/PEC, calendários, juros/multas e guias | Regra, parâmetros, factos e vencimentos próprios por período. O registo de PPC efectuado já demonstrado não calcula a obrigação. |
|
||||
| Transporte oficial M20/M22, submissão e processamento de reembolso | Edição/campo, representação de fracções e fluxo de recepção correspondidos; sem preencher campos provisórios como oficiais. |
|
||||
|
||||
**Esclarecimentos documentais aguardados:** permanecem as dúvidas concretas L5/L6/L7 já registadas, sem nova pesquisa repetida. Exemplo: cooperativa com rendimentos mistos/retidos requer segregação antes de utilizar retenção positiva; excepção de cumulação exige disposição, período e limites correspondidos; campo M20/M22 divergente requer edição/campo exactos. Cada falta só bloqueia o seu caso. Ausência de documento num cenário não bloqueia o saldo normal independente acima.
|
||||
|
||||
**Próxima entrega:** compatibilidade conferida com `origin/main` em `f8d57bdd`, sem incorporar runtime do checkout raiz. Nenhum acesso ou operação no servidor nesta passagem. Os 4,14 GiB são o valor comunicado, não medição nova; antes de instalar, medir espaço/inodes, confirmar capacidade para backup/restauro fresco e compilação isolada, mantendo a versão activa até a nova estar pronta. Recibo: `docs/investmoz/simulations/irpc-l8-first-qa-20261026.json`; provas: `outputs/irpc-l8-settlement/`. Reprodução só do delta: `node --test tests/frontend/irpc-annual-settlement.test.mjs`; `php tools/irpc-annual-settlement-qa.php routes`; `php tools/irpc-annual-settlement-qa.php test`; `tsc --noEmit`; build com `INVESTMOZ_QA_BUILD=1`. **L8 parcial, QA pronto, sem instalação.** A referência inicial de 240–416 horas L8–L14 não é previsão actual; permanece necessária a reconciliação do trabalho reutilizado, resíduos e L15–L16 antes de assumir prazo global.
|
||||
|
||||
@@ -0,0 +1,382 @@
|
||||
{
|
||||
"status": "QA_complete_ready_for_grouped_delivery_not_installed",
|
||||
"date": "2026-10-26",
|
||||
"branch": "codex/irpc-l8-settlement-qa-20261026",
|
||||
"runtime_revision": "11a6cee981f0a425b0fceefb6ed85485bb298245",
|
||||
"installed_revision_per_user": "f8d57bddf96b4610604a013fcc5bdd703c7dc6d5",
|
||||
"remote_main_checked": "f8d57bddf96b4610604a013fcc5bdd703c7dc6d5",
|
||||
"version": "IRPC-annual-settlement/1",
|
||||
"scope": "resident general IRPC,annualcivil2026,MZN,currentdetermined assessment,documented absence of positive PEC/unmappedcredits and autonomoustax needing ownsettlement",
|
||||
"inputs_reused": [
|
||||
"current L6 or applicable qualifiedL7 assessment key/version/subjectNUIT/period;never add both",
|
||||
"L5 received/effective/on_account qualified and reconciled withholding proofs",
|
||||
"actual documented PPC payments by subject/period/receipt",
|
||||
"known/declaredabsence/missing states for every credit/paymentfamily"
|
||||
],
|
||||
"PEC_and_special_credits_separate": true,
|
||||
"official_credit_consumption_or_central_reservation": false,
|
||||
"duplicate_guards": [
|
||||
"same L5 allocation/pair",
|
||||
"normalised issuer/document even if date changed",
|
||||
"same receipt as withholding and PPC",
|
||||
"receipt total including partial allocations in other contexts in same dossier",
|
||||
"same sourceKey L5 allocation cannot consume larger receipt twice",
|
||||
"different entity/year or inconsistent proven amount"
|
||||
],
|
||||
"cases": {
|
||||
"payable": {
|
||||
"status": "payable",
|
||||
"knownWithholdings": {
|
||||
"numerator": "300",
|
||||
"denominator": "1"
|
||||
},
|
||||
"knownPpc": {
|
||||
"numerator": "500",
|
||||
"denominator": "1"
|
||||
},
|
||||
"arithmeticBalance": {
|
||||
"numerator": "608",
|
||||
"denominator": "1"
|
||||
},
|
||||
"payable": {
|
||||
"numerator": "608",
|
||||
"denominator": "1"
|
||||
},
|
||||
"recoverable": {
|
||||
"numerator": "0",
|
||||
"denominator": "1"
|
||||
},
|
||||
"pending": []
|
||||
},
|
||||
"recoverable": {
|
||||
"status": "recoverable",
|
||||
"knownWithholdings": {
|
||||
"numerator": "1000",
|
||||
"denominator": "1"
|
||||
},
|
||||
"knownPpc": {
|
||||
"numerator": "600",
|
||||
"denominator": "1"
|
||||
},
|
||||
"arithmeticBalance": {
|
||||
"numerator": "-192",
|
||||
"denominator": "1"
|
||||
},
|
||||
"payable": {
|
||||
"numerator": "0",
|
||||
"denominator": "1"
|
||||
},
|
||||
"recoverable": {
|
||||
"numerator": "192",
|
||||
"denominator": "1"
|
||||
},
|
||||
"pending": []
|
||||
},
|
||||
"balanced": {
|
||||
"status": "balanced",
|
||||
"knownWithholdings": {
|
||||
"numerator": "408",
|
||||
"denominator": "1"
|
||||
},
|
||||
"knownPpc": {
|
||||
"numerator": "1000",
|
||||
"denominator": "1"
|
||||
},
|
||||
"arithmeticBalance": {
|
||||
"numerator": "0",
|
||||
"denominator": "1"
|
||||
},
|
||||
"payable": {
|
||||
"numerator": "0",
|
||||
"denominator": "1"
|
||||
},
|
||||
"recoverable": {
|
||||
"numerator": "0",
|
||||
"denominator": "1"
|
||||
},
|
||||
"pending": []
|
||||
},
|
||||
"absent": {
|
||||
"status": "payable",
|
||||
"knownWithholdings": {
|
||||
"numerator": "0",
|
||||
"denominator": "1"
|
||||
},
|
||||
"knownPpc": {
|
||||
"numerator": "0",
|
||||
"denominator": "1"
|
||||
},
|
||||
"arithmeticBalance": {
|
||||
"numerator": "1408",
|
||||
"denominator": "1"
|
||||
},
|
||||
"payable": {
|
||||
"numerator": "1408",
|
||||
"denominator": "1"
|
||||
},
|
||||
"recoverable": {
|
||||
"numerator": "0",
|
||||
"denominator": "1"
|
||||
},
|
||||
"pending": []
|
||||
},
|
||||
"missing": {
|
||||
"status": "indeterminate",
|
||||
"knownWithholdings": {
|
||||
"numerator": "300",
|
||||
"denominator": "1"
|
||||
},
|
||||
"knownPpc": {
|
||||
"numerator": "0",
|
||||
"denominator": "1"
|
||||
},
|
||||
"arithmeticBalance": null,
|
||||
"payable": null,
|
||||
"recoverable": null,
|
||||
"pending": [
|
||||
"QA-PPC-2026-1: Error: PPC exige comprovativo efectivo,MZN,data,entidade e exercício correspondentes;projecção/tesouraria não é pagamento"
|
||||
]
|
||||
},
|
||||
"duplicate": {
|
||||
"status": "indeterminate",
|
||||
"knownWithholdings": {
|
||||
"numerator": "300",
|
||||
"denominator": "1"
|
||||
},
|
||||
"knownPpc": {
|
||||
"numerator": "0",
|
||||
"denominator": "1"
|
||||
},
|
||||
"arithmeticBalance": null,
|
||||
"payable": null,
|
||||
"recoverable": null,
|
||||
"pending": [
|
||||
"QA-PPC-2026-1: Comprovativo utilizado além do montante disponível ou com montantes divergentes neste/outro mapa."
|
||||
]
|
||||
},
|
||||
"pec": {
|
||||
"status": "indeterminate",
|
||||
"knownWithholdings": {
|
||||
"numerator": "300",
|
||||
"denominator": "1"
|
||||
},
|
||||
"knownPpc": {
|
||||
"numerator": "500",
|
||||
"denominator": "1"
|
||||
},
|
||||
"arithmeticBalance": null,
|
||||
"payable": null,
|
||||
"recoverable": null,
|
||||
"pending": [
|
||||
"PEC: Error: montante positivo fora deste recorte:corresponder ordem,limite e transporte próprios;sem abatimento ou reembolso automático"
|
||||
]
|
||||
}
|
||||
},
|
||||
"checks": {
|
||||
"frontend_tests": 19,
|
||||
"frontend_pass": 19,
|
||||
"API_tests": 1,
|
||||
"API_assertions": 170,
|
||||
"API_cases": 7,
|
||||
"database": "simulator_fiscal_delta_20261021_test",
|
||||
"host": "127.0.0.1",
|
||||
"port": 55441,
|
||||
"transaction_rollback": true,
|
||||
"actual_components_UI": {
|
||||
"actualComponents": true,
|
||||
"explicitPreparation": true,
|
||||
"onlyActualOnAccountProofSelectable": true,
|
||||
"duplicateSelectionDisabled": true,
|
||||
"missingNotZero": true,
|
||||
"ownBeneficiaryAndIncludedIncomeConfirmed": true,
|
||||
"actualPPCConfirmed": true,
|
||||
"PECAndCreditsSeparate": true,
|
||||
"payable608": true,
|
||||
"recoverable192": true,
|
||||
"balanced": true,
|
||||
"duplicateIndeterminate": true,
|
||||
"positivePECIndeterminate": true,
|
||||
"oldBooksAndPlanUnchanged": true,
|
||||
"saveReloadRecoverReportDownload": true,
|
||||
"errors": []
|
||||
},
|
||||
"wayfinder_with_form": "passed",
|
||||
"typescript": "passed",
|
||||
"isolated_QA_build": "passed",
|
||||
"build_existing_warnings": [
|
||||
"chunk size over500kB;plugin timing diagnostic"
|
||||
],
|
||||
"prior_accepted_suites_not_repeated": true
|
||||
},
|
||||
"runtime_delta": [
|
||||
"resources/js/components/simulation-form.tsx",
|
||||
"resources/js/components/simulation-irpc-annual.tsx",
|
||||
"resources/js/lib/irpc-annual-settlement.ts",
|
||||
"resources/js/lib/project-dossier-report.ts",
|
||||
"resources/js/lib/project-dossier.ts",
|
||||
"tests/Feature/IrpcAnnualSettlementDraftTest.php",
|
||||
"tests/frontend/irpc-annual-settlement.test.mjs",
|
||||
"tools/irpc-annual-settlement-qa.php"
|
||||
],
|
||||
"preservation": {
|
||||
"baseline": "f8d57bddf96b4610604a013fcc5bdd703c7dc6d5",
|
||||
"documentation_base": "d5f11462",
|
||||
"existing_tracked_files": 2832,
|
||||
"changed_existing_files": [
|
||||
"docs/investmoz/consolidated-review-matrix-2026-10-03.md",
|
||||
"docs/investmoz/unification/traceability-and-manual.md",
|
||||
"docs/investmoz/v2/auditoria-portal/matriz-requisitos.csv",
|
||||
"resources/js/components/simulation-form.tsx",
|
||||
"resources/js/lib/project-dossier-report.ts",
|
||||
"resources/js/lib/project-dossier.ts"
|
||||
],
|
||||
"all_other_existing_files_byte_identical": true,
|
||||
"schema_configuration_permissions_unchanged": true,
|
||||
"L5_L6_L7_engines_and_fixtures_byte_identical": true,
|
||||
"originals_count": 31,
|
||||
"originals": {
|
||||
"docs/investmoz/simulations/source-archive/AT-Comunicado-9-2026-ISPC.pdf": "106f8a9ce9255c03549c70bf07fe999d32e6e55302d009b509862aa74ccb4973",
|
||||
"docs/investmoz/simulations/source-archive/AT-MRFTA-19-39.pdf": "8ea62c53066b482f87078a7a7b1ecf15ca98a12a122e8d7abca63acfc993186b",
|
||||
"docs/investmoz/simulations/source-archive/AT-Modelo-30-ISPC.pdf": "6802edd06b6ff638a0b851a3ec7ecf69af8f07840faa47446becad67d35d445c",
|
||||
"docs/investmoz/simulations/source-archive/AT-Modelo-B-Geral.pdf": "bd977c7c59d4d98befd92e2c566b1bf168cb1343bb519f51b41a3807f431fc57",
|
||||
"docs/investmoz/simulations/source-archive/BM-Mercado-Monetario-MAIBOR-20261025.html": "00e8a7e0d3a1db4ca3beb56d5361b2084a0f1684f3d40fc1c203702a2190e063",
|
||||
"docs/investmoz/simulations/source-archive/BR-16-I-Serie-2008-04-16.pdf": "fc373ff5637edf75ec6a9595dec8763a8503d4ee786e3b7d8f1c742eae9d80ee",
|
||||
"docs/investmoz/simulations/source-archive/BR-248-I-Suplemento-1-2025.pdf": "ccf2a8deeca820f2dd076b4b2141b1efe3f6a806568c3a587ca59a8e92f4c251",
|
||||
"docs/investmoz/simulations/source-archive/BR-89-I-Serie-2017-06-08.pdf": "11f0cab15eb6e51010952203ffa24fdc533a24fd642e19525fe4f46b17a1f5e5",
|
||||
"docs/investmoz/simulations/source-archive/BR-95-I-Suplemento-2025-05-21.pdf": "e0e682e2c027c3cd9c1d46a73a3f48bc5f6bdbf05667fd97314d7a3f6a456358",
|
||||
"docs/investmoz/simulations/source-archive/BR252-I-Serie-2022-Lei20-PESOE.pdf": "1159fd3ce1ba5581671796d083534da48bd3c5578298819e896f1c2a8026318d",
|
||||
"docs/investmoz/simulations/source-archive/Decreto-22-2021-BR70.pdf": "a8fac38dcfe08f9c7a8e46254cff10e1ec82fc4f7a8d88ad6e4fe7d91ffc21a5",
|
||||
"docs/investmoz/simulations/source-archive/Decreto-27-2026-BR123.pdf": "26249c3fa58f149c81de36e99d1aac2819a4771379d9e8833159660dabf539bb",
|
||||
"docs/investmoz/simulations/source-archive/Decreto-29-1998-BR22-5-suplemento.pdf": "6242cbe675faadf085f43f95ec8c7e8868aafe67c3b2ab2bb010992288f954f8",
|
||||
"docs/investmoz/simulations/source-archive/Decreto-3-2011-BR-11-I-mineiros.pdf": "5bca1133666ba9c69870b89823420175b7b5b8d0eccb667ecdf5c29716f3b6be",
|
||||
"docs/investmoz/simulations/source-archive/Decreto-37-2023-BR124.pdf": "7e680b191481faa0e2e9057fa5053587eb2a29d1d8c819e0eb9f02814255a04c",
|
||||
"docs/investmoz/simulations/source-archive/Decreto-9-2008-BR16.pdf": "96fccdecbfdc11c9eafb90fbc6c7bc259f88bbd4c7507d1ac3af1fa03f960697",
|
||||
"docs/investmoz/simulations/source-archive/Lei-13-2016-CIVA-BR-156-10-suplemento.pdf": "b90dc7c14ecea2e378c4a62e8e5a47d54a5644c457baeb8b8053b92fd2a5710b",
|
||||
"docs/investmoz/simulations/source-archive/Lei-14-1992-BR42.pdf": "089fff7423e99a70a230a73ca379e4ea3a91d124703f91016e57ff82794b9e56",
|
||||
"docs/investmoz/simulations/source-archive/Lei-17-2022-BR251-exemplar-MCNet5.pdf": "14eb34f0af91a8f5cb1770c7b52d6ff839c6818302d1ed96d79afbfb9fe999d4",
|
||||
"docs/investmoz/simulations/source-archive/Lei-17-2022-IPP-BR250-Parlamento.pdf": "978cd22403ffd336a631704ecd7a5bbd814a427c815b9acdaca5515591dd9e2a",
|
||||
"docs/investmoz/simulations/source-archive/Lei-19-2013-BR76.pdf": "bba96d645cc935ffc3d1a79b9f0f73ac1c693d6459c2ad41f56cd2841accae76",
|
||||
"docs/investmoz/simulations/source-archive/Lei-19-2017-IRPS-BR-OCAM.pdf": "c3a0186cb9ad090d7a9533006295dc9bb6a62ad0d6150173cbd49dba4ee4b52d",
|
||||
"docs/investmoz/simulations/source-archive/Lei-2-2011-BR-1-4-suplemento-MCNet.pdf": "a7543a68cc3287a46a83c39a04821b40f649dd06c4e9b5dc51ff0b47fba08899",
|
||||
"docs/investmoz/simulations/source-archive/Lei-20-2009-BR36-AT-exemplar19.pdf": "fc1c8144db42960cbf73e717e095896f511ece0f907f58f78819b27d6917a7ee",
|
||||
"docs/investmoz/simulations/source-archive/Lei-22-2022-IVA-republicada-BR-250-2-suplemento.pdf": "ea1b0dc6f5cf6e595f6d9a19e7042f398999e0087caef1785f6e8fac571b5f53",
|
||||
"docs/investmoz/simulations/source-archive/Lei-34-2007-BR52.pdf": "cdbef875ad7ccc1517b12faf5de0e893a70ed2ed81e33913cd6dc4a674474e6e",
|
||||
"docs/investmoz/simulations/source-archive/Lei-4-1994-BR37-3-suplemento.pdf": "210df9db8980d0a5690cd187a6eeec7e37a900d743e39062c16f4e0d12215c7e",
|
||||
"docs/investmoz/simulations/source-archive/Lei-4-2012-BR3.pdf": "b8845cef41dcbd9ba50c43dbfa743a56030dd3d348242a107e1ae30279eec121",
|
||||
"docs/investmoz/simulations/source-archive/Lei-7-1991-Partidos-IFES.pdf": "6b783a0bb3330688ef10660a58060d9724aa2da6a873d234fe902f0eaaeda42d",
|
||||
"docs/investmoz/simulations/source-archive/PT-MZ-CDT-1992.pdf": "d504e1024b28aee5c6acf4592acb96ec9c915a8414f67a61ab6984d6acf9df9d",
|
||||
"docs/investmoz/simulations/source-archive/PT-MZ-Protocolo-2009.pdf": "f353773dcf41f09f4daa6cf5ba5a5f7994f3e02615867c2dcffc61c3d901bf9b"
|
||||
},
|
||||
"all_seven_recovered_cases_match_final_inputs": true,
|
||||
"no_active_database_or_server_operations": true,
|
||||
"no_SGF_TEMPO_operations": true,
|
||||
"runtime_changed_existing_files": [
|
||||
"resources/js/components/simulation-form.tsx",
|
||||
"resources/js/lib/project-dossier-report.ts",
|
||||
"resources/js/lib/project-dossier.ts"
|
||||
],
|
||||
"documentation_changed_existing_files": [
|
||||
"docs/investmoz/consolidated-review-matrix-2026-10-03.md",
|
||||
"docs/investmoz/unification/traceability-and-manual.md",
|
||||
"docs/investmoz/v2/auditoria-portal/matriz-requisitos.csv"
|
||||
],
|
||||
"documentation_only_appends_and_target_AUD_record": true
|
||||
},
|
||||
"sources_reused": [
|
||||
{
|
||||
"file": "docs/investmoz/simulations/source-archive/Lei-34-2007-BR52.pdf",
|
||||
"sha256": "cdbef875ad7ccc1517b12faf5de0e893a70ed2ed81e33913cd6dc4a674474e6e",
|
||||
"articles": "CIRPC63/67",
|
||||
"PDF_pages": [
|
||||
18,
|
||||
19
|
||||
],
|
||||
"official_source_acceptance_preserved": true
|
||||
},
|
||||
{
|
||||
"file": "docs/investmoz/simulations/source-archive/Decreto-9-2008-BR16.pdf",
|
||||
"sha256": "96fccdecbfdc11c9eafb90fbc6c7bc259f88bbd4c7507d1ac3af1fa03f960697",
|
||||
"articles": "RIRPC21/27",
|
||||
"PDF_pages": [
|
||||
6,
|
||||
7
|
||||
],
|
||||
"official_source_acceptance_preserved": true
|
||||
},
|
||||
{
|
||||
"file": "docs/investmoz/simulations/source-archive/BR-248-I-Suplemento-1-2025.pdf",
|
||||
"sha256": "ccf2a8deeca820f2dd076b4b2141b1efe3f6a806568c3a587ca59a8e92f4c251",
|
||||
"articles": "Lei12/2025 IRPC67/version2026",
|
||||
"PDF_pages": [
|
||||
18,
|
||||
19,
|
||||
20
|
||||
],
|
||||
"official_source_acceptance_preserved": true
|
||||
}
|
||||
],
|
||||
"minimum": {
|
||||
"rule": "Decreto9/2008 art27(6)",
|
||||
"scope": "2026 resident_general/calendar/MZN",
|
||||
"less_than": "100 MZN",
|
||||
"strict_boundary_tests": [
|
||||
"+99.99",
|
||||
"+100",
|
||||
"-99.99",
|
||||
"-100"
|
||||
],
|
||||
"arithmetic_exact": true,
|
||||
"new_rounding": false,
|
||||
"automatic_carry": false
|
||||
},
|
||||
"remaining_code": [
|
||||
"automatic PPC/PEC obligationcalculation",
|
||||
"positivePEC/creditorderlimitscarry",
|
||||
"autonomoustaxsettlement",
|
||||
"specialperiods/foreigncurrencypayments",
|
||||
"interest/penalties/calendar/guideremittance",
|
||||
"AT submission/refundprocessing",
|
||||
"unmappedM20M22fields"
|
||||
],
|
||||
"documentary_dependencies": {
|
||||
"previous_L5_L6_L7_matrix_items_preserved": true,
|
||||
"examples": [
|
||||
"mixed/withheld cooperativeincome needs L7 segregation",
|
||||
"express cumulation exception requires disposition/period/limits",
|
||||
"divergent M20M22 field needs exactedition and representation"
|
||||
],
|
||||
"only_dependent_case_blocked": true
|
||||
},
|
||||
"L6_operational_delimited": true,
|
||||
"L7_partial": true,
|
||||
"L8_partial": true,
|
||||
"submitted_or_payment_or_refund_received": false,
|
||||
"server_operations_this_turn": false,
|
||||
"reported_server_free_GiB": 4.14,
|
||||
"reported_capacity_not_measured_this_turn": true,
|
||||
"capacity_blocks_future_install_not_QA": true,
|
||||
"future_delivery": {
|
||||
"fresh_main_compatibility": true,
|
||||
"measure_space_and_inodes": true,
|
||||
"confirm_backup_and_isolated_build_capacity": true,
|
||||
"fresh_backup_restore": true,
|
||||
"keep_active_until_new_ready": true,
|
||||
"verify_served_revision_and_only_delta": true
|
||||
},
|
||||
"evidence_directory": "outputs/irpc-l8-settlement/",
|
||||
"global_effort": {
|
||||
"initial_L8_L14_reference_hours": [
|
||||
240,
|
||||
416
|
||||
],
|
||||
"is_current_remainingforecast": false,
|
||||
"reconciliation_before_globalforecast": [
|
||||
"implemented/reusable vs remainingcode perlot",
|
||||
"reuseacceptedproofs;no duplicate sharedcomponentestimate",
|
||||
"documentarywait separately",
|
||||
"L1-L7residuals,integration/delivery,L15-L16 included"
|
||||
]
|
||||
},
|
||||
"root_checkout_runtime_not_merged": true,
|
||||
"SGF_TEMPO_untouched": true
|
||||
}
|
||||
@@ -6499,3 +6499,41 @@ Só serão demonstradas estas novas regras/efeitos,emQA isolada e com as guardas
|
||||
### Esforço global:referência inicial não é previsão actual
|
||||
|
||||
As240–416horas deL8–L14 permanecem identificadas como referência inicial de planeamento,não saldo actual nem prazo assumido. Antes de estimar o conjunto:reconciliar por lote o que já está implementado/reutilizável e o que falta em código;descontar provas aceites sem as repetir;separar espera documental;incluir resíduosL1–L7,integrações/entregas eL15–L16,SISA/encargos imobiliários. Campos de entrada,fontes inventariadas ou percentagens isoladas não provam percurso executável completo. Contar apenas o delta necessário e não somar duas vezes componentes partilhados. Esta passagem entregaL7 e delimitaL8;gere uma estimativa reconciliada futura,sem converter os intervalos iniciais numa promessa global. **L7 parcial;saldo finalL8 ainda não implementado nesta entrega.**
|
||||
|
||||
## 26/10/2026 — L8: primeiro saldo anual simulado demonstrado em QA
|
||||
|
||||
**QA concluído em `11a6cee9`; ainda sem instalação.** `f8d57bdd` permanece a entrega comunicada no portal. Este incremento reutiliza a colecta corrente de L6 ou o total ordinário L7 aplicável, sem somar ambos nem contornar um tratamento pendente. Recorte: sujeito residente no regime geral, ano civil de 2026, MZN, sem PEC/créditos positivos ou imposto autónomo que exijam liquidação própria. L6 operacional no âmbito demonstrado; L7 mantém o saldo parcial já discriminado. Não há nova pesquisa ou reabertura das provas aceites.
|
||||
|
||||
**Percurso executável:** «Preparar saldo anual L8» reutiliza NUIT, exercício e chave/versão da colecta sem substituir edições deliberadas. Selecciona os comprovativos L5 recebidos, efectivos, por conta e reconciliados; confirma o próprio beneficiário e a inclusão do rendimento na base do exercício. Retenções entregues pela empresa por pagamentos a terceiros, definitivas ou projectadas não são abatimentos próprios. PPC exige recibo, emitente, data, titular, exercício, moeda, montante comprovado, parcela utilizada e confirmação do pagamento efectivo; não usa previsões do plano nem calcula a obrigação PPC. A reutilização não apaga provas ou consome saldos oficiais.
|
||||
|
||||
Conhecido, ausência declarada com suporte e informação em falta são estados distintos. Ausência contraditória, titular/exercício divergente, prova em falta ou origem desactualizada mantêm o saldo dependente indeterminado. A identidade normalizada do emitente/comprovativo detecta repetição mesmo com data alterada; a mesma prova não pode ser retenção e PPC. Controla limites do comprovativo e da afectação L5, incluindo parcelas em outros contextos do mesmo dossier. São simulações alternativas, sem reserva central ou consumo de crédito fiscal entre dossiers independentes.
|
||||
|
||||
| Caso demonstrado | Resultado L8 simulado |
|
||||
| --- | --- |
|
||||
| Colecta 1 408 − retenção sofrida 300 − PPC 500 | **608 MZN a pagar**. |
|
||||
| Colecta 1 408 − retenção sofrida 1 000 − PPC 600 | Saldo aritmético −192: **192 MZN a recuperar**, sem afirmar reembolso recebido. |
|
||||
| Colecta 1 408 − retenção 408 − PPC 1 000 | Saldo zero, com parcelas completas. |
|
||||
| Ausência declarada de retenções/PPC, PEC ausente e outros créditos conhecidos zero | 1 408 MZN a pagar; estados conhecidos/ausentes conservados. |
|
||||
| PPC por comprovar, prova repetida ou PEC positivo ainda sem regra própria | Saldo a pagar/recuperar indeterminado; entradas e subtotais conhecidos conservados. |
|
||||
| Fronteiras do mínimo: saldos ±99,99 e ±100 | Aritmética exacta; abaixo de 100 MZN sem cobrança/reembolso neste recorte; em 100 aplica pagar/recuperar. Sem arredondamento ou transporte de crédito inventado. |
|
||||
| Colecta anual L7 acelerada aceite de 1 996,80, sem abatimentos declarados | Reutilizada uma vez: saldo simulado 1 996,80, sem somar a referência L6 nem recalcular o benefício. |
|
||||
|
||||
**Fontes e limites:** CIRPC arts. 63/67, Lei 34/2007 e natureza da retenção na redacção aplicável da Lei 12/2025; Regulamento Decreto 9/2008 arts. 21(2–5) e 27(1–2/6). O mínimo de 100 MZN do art. 27(6) está ligado ao recorte ordinário de 2026; as alterações IRPC do acervo de 2025 não substituem essa regra. Exemplares, páginas e hashes constam do recibo, com aceitação oficial anterior preservada. Não generalizar este parâmetro a períodos/regimes não correspondidos. PEC positivo, crédito de investimento, dupla tributação e outros créditos não recebem abatimento, limite, transporte ou reembolso presumidos. Um crédito potencial L7 não passa automaticamente a crédito utilizável L8.
|
||||
|
||||
**Gravação e recuperação:** livro opcional `irpcAnnual` no snapshot existente, por contexto, sujeito e exercício; ligado à execução da colecta e às provas L5 seleccionadas. Guarda o input e o resultado simulado, acrescenta o resultado anterior ao histórico sem o recalcular, e invalida o resultado corrente quando mudam as fontes/entradas. HTML e dossier financeiro recuperam colecta, provas/parcelas, estados, saldo, lacunas e limites concordantes. Sem preparação L8, os relatórios anteriores não ganham linhas L8. Plano, originais, livros e históricos L5–L7 permanecem imutáveis. O saldo não é declaração submetida, pagamento efectuado ou reembolso recebido.
|
||||
|
||||
**Provas novas:** 19 testes frontend dirigidos; API privada QA, 1 teste/170 asserções, sete casos com cálculo → gravação → recuperação → HTML/dossier; base isolada `simulator_fiscal_delta_20261021_test`, loopback 55441, guarda de identidade e transacção com rollback. Interface real: preparar, preencher só dados em falta, seleccionar prova, impedir repetição, pagar/recuperar/zero/ausência/indeterminação, guardar/recarregar/recuperar/exportar, sem erros de página. Wayfinder `--with-form`, TypeScript e build QA passaram. Comparação de 2 832 ficheiros anteriores: só três pontos de integração alterados, mais os cinco ficheiros novos do incremento; motores L5/L6/L7, fontes, fixtures, schema, configuração e permissões preservados; 31 originais iguais. Não se repetiram suites aceites de L3, ISPC, câmbio ou L5–L7. SGF TEMPO separado.
|
||||
|
||||
### Saldo concreto L8 após este incremento
|
||||
|
||||
| Código ainda por implementar | Condição concreta de retoma |
|
||||
| --- | --- |
|
||||
| PEC e créditos positivos: investimento, dupla tributação e outros créditos próprios | Correspondência do crédito, titular/exercício, montante efectivamente disponível, ordem, limite e transporte aplicáveis; prova de cada saldo. Não presumir reembolsabilidade ou prazo de 3/5 anos. |
|
||||
| Liquidação de imposto autónomo/61-A e articulação com o saldo anual | Segregar a parcela autónoma e corresponder quais abatimentos podem incidir sobre ela; não a ignorar nem compensar automaticamente com prejuízo/PPC. |
|
||||
| Períodos especiais e comprovativos noutra moeda | Corresponder exercício/data de afectação e regra cambial fiscal do pagamento; reutilizar periodização/câmbio existentes sem confirmar pressupostos por omissão. |
|
||||
| Cálculo da obrigação PPC/PEC, calendários, juros/multas e guias | Regra, parâmetros, factos e vencimentos próprios por período. O registo de PPC efectuado já demonstrado não calcula a obrigação. |
|
||||
| Transporte oficial M20/M22, submissão e processamento de reembolso | Edição/campo, representação de fracções e fluxo de recepção correspondidos; sem preencher campos provisórios como oficiais. |
|
||||
|
||||
**Esclarecimentos documentais aguardados:** permanecem as dúvidas concretas L5/L6/L7 já registadas, sem nova pesquisa repetida. Exemplo: cooperativa com rendimentos mistos/retidos requer segregação antes de utilizar retenção positiva; excepção de cumulação exige disposição, período e limites correspondidos; campo M20/M22 divergente requer edição/campo exactos. Cada falta só bloqueia o seu caso. Ausência de documento num cenário não bloqueia o saldo normal independente acima.
|
||||
|
||||
**Próxima entrega:** compatibilidade conferida com `origin/main` em `f8d57bdd`, sem incorporar runtime do checkout raiz. Nenhum acesso ou operação no servidor nesta passagem. Os 4,14 GiB são o valor comunicado, não medição nova; antes de instalar, medir espaço/inodes, confirmar capacidade para backup/restauro fresco e compilação isolada, mantendo a versão activa até a nova estar pronta. Recibo: `docs/investmoz/simulations/irpc-l8-first-qa-20261026.json`; provas: `outputs/irpc-l8-settlement/`. Reprodução só do delta: `node --test tests/frontend/irpc-annual-settlement.test.mjs`; `php tools/irpc-annual-settlement-qa.php routes`; `php tools/irpc-annual-settlement-qa.php test`; `tsc --noEmit`; build com `INVESTMOZ_QA_BUILD=1`. **L8 parcial, QA pronto, sem instalação.** A referência inicial de 240–416 horas L8–L14 não é previsão actual; permanece necessária a reconciliação do trabalho reutilizado, resíduos e L15–L16 antes de assumir prazo global.
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user