From ce746d889d5711f23f4e0ac8d9802997b5e106f9 Mon Sep 17 00:00:00 2001 From: nala Date: Sun, 25 Oct 2026 19:56:32 +0200 Subject: [PATCH] Implement scoped IRPC reliefs and PT-MZ royalties with QA recovery evidence --- .../consolidated-review-matrix-2026-10-03.md | 17 + .../irpc-l5-reliefs-qa-20261025.json | 330 ++++++++++++++++++ .../simulations/official-source-register.md | 15 + .../source-archive/PT-MZ-CDT-1992.pdf | Bin 0 -> 199331 bytes .../source-archive/PT-MZ-Protocolo-2009.pdf | Bin 0 -> 197027 bytes .../unification/traceability-and-manual.md | 17 + .../v2/auditoria-portal/matriz-requisitos.csv | 2 +- .../simulation-irpc-withholdings.tsx | 6 +- resources/js/lib/irpc-relief-preparation.ts | 96 +++++ resources/js/lib/irpc-withholdings.ts | 19 +- resources/js/lib/project-dossier-report.ts | 1 + tests/Feature/IrpcReliefsDraftTest.php | 44 +++ tests/frontend/irpc-reliefs.test.mjs | 53 +++ tools/irpc-reliefs-qa.php | 21 ++ 14 files changed, 613 insertions(+), 8 deletions(-) create mode 100644 docs/investmoz/simulations/irpc-l5-reliefs-qa-20261025.json create mode 100644 docs/investmoz/simulations/source-archive/PT-MZ-CDT-1992.pdf create mode 100644 docs/investmoz/simulations/source-archive/PT-MZ-Protocolo-2009.pdf create mode 100644 resources/js/lib/irpc-relief-preparation.ts create mode 100644 tests/Feature/IrpcReliefsDraftTest.php create mode 100644 tests/frontend/irpc-reliefs.test.mjs create mode 100644 tools/irpc-reliefs-qa.php diff --git a/docs/investmoz/consolidated-review-matrix-2026-10-03.md b/docs/investmoz/consolidated-review-matrix-2026-10-03.md index 43aae012..44d45464 100644 --- a/docs/investmoz/consolidated-review-matrix-2026-10-03.md +++ b/docs/investmoz/consolidated-review-matrix-2026-10-03.md @@ -353,3 +353,20 @@ Fecho do delta privado na homologação: candidata `fb4e7d89` integrada em `65ed Actualização do mesmo requisito: os 28 rascunhos têm edição, leitura privada, prévia sem guardar, recuperação e publicação/retirada pela interface em QA, preservando originais, origem e revisões. Seis testes/1.000 asserções, TypeScript e build passaram; publicação positiva apenas em transacções revertidas. Pacote privado v2 preparado com 28 originais e proveniência; não transportado nem publicado na homologação. Guia, permissões existentes, lacunas de imagens, dependências da entrega e reversão na secção «Legado — edição e leitura dos 28 rascunhos em QA» do manual. Pedido funcional expresso da Tempo; hash de âmbito, prévia e controlo de versão são escolhas técnicas, sem novo papel/aprovador. Conserva o saldo de 20 públicos aceites e dois originais incompletos, sem repetir provas ou fechar a integração integral. Referência do acervo legado, 22/10/2026: a lista única `v2/auditoria-portal/legado-correspondencia-integral.md` e o CSV existente reconciliam 50 identidades (20 publicados, 28 por integrar no destino, um vazio, um sem título). 20/20 páginas conferidas por HTTP anónimo/identidade/origem; cartões de Turismo observados no destino. Os 28 restantes avançaram para rascunhos internos QA, com ClamAV real e repetição idempotente, sem publicação. Recibo e limites no manual, secção «Legado — correspondência integral e avanço privado QA». As duas lacunas editoriais foram confirmadas no original. Não fecha a integração integral nem substitui revisão editorial por prova HTTP; nenhuma alteração activa nesta passagem. + + +## 25/10/2026 — L5: dispensas e convenção demonstradas em QA + +Base de código `2b33a1c3`, ramo `codex/irpc-l5-reliefs-qa-20261025`. O último relatório de instalação mantém o portal nessa entrega; este candidato não executa instalação. O inventário anterior de L3, ISPC, câmbio, fontes e provas aceites é reutilizado. Comparação do delta: sem alteração nesses módulos, em schema/migrações, configuração ou permissões; sem escrita na base activa. As correcções de codificação que tinham atingido trechos históricos durante a preparação foram retiradas do delta; os registos anteriores são conservados. + +**Executável:** dispensa 68(d) para serviços/uso de equipamento 67(1)b/g com natureza por conta, titular sujeito a IRPC relativamente ao rendimento; dispensa 68(f) para rendas de sociedade de gestão de imóveis próprios fora da transparência fiscal 6(1)c; limite convencional de 10% sobre royalties/uso de equipamento qualificados PT–MZ, não digitais, titular residente convencional em Portugal, beneficiário efectivo, sem EP em Moçambique, devedor residente em Moçambique e montante sem excesso por relações especiais. As condições são dados documentados do caso, sem aprovador adicional. A selecção de regra não é substituída por texto livre ou taxa manual. Outros ramos continuam separados. + +Reutilizados contraparte, residência/EP, documento, qualificação, montante e conversão da linha. Diploma, artigo, período, documentos e condições ficam no mesmo livro e no histórico. Alterar a prova invalida apenas a correspondência do resultado afectado. A dispensa produz retenção zero justificada, apresentada como dispensa, sem isentar o rendimento nem gerar crédito anual. Informação insuficiente, negativa, período incompatível ou artigo divergente fica indeterminada, sem zero/taxa reduzida presumidos. A existência de prova de entrega numa linha dispensada pede reconciliação sem apagar o pagamento. + +**Demonstração:** Wayfinder `wayfinder:generate --with-form`, pelo wrapper QA guardado `tools/irpc-reliefs-qa.php routes`; TypeScript passou; compilação completa QA passou. Nove testes novos e cinco verificações dirigidas de compatibilidade IRPC passaram. API privada: um teste/17 verificações, base `simulator_fiscal_delta_20261021_test`, loopback55441, transacção com rollback. Resultados 68(d),68(f), convenção e informação insuficiente recuperados com documentos/histórico. Relatório de retenções, exportação de preparação e dossier financeiro conferidos a partir da recuperação da API. Corrigida a associação da secção «IRPC — retenções» à secção financeira do dossier: a linha existia, mas era omitida nessa apresentação. UI sintética do componente real demonstra cálculo, gravação/recuperação local e relatório; esta prova local é distinta da API privada. + +**Reprodução:** gerar routes/actions com `php tools/irpc-reliefs-qa.php routes`; executar `node --test tests/frontend/irpc-reliefs.test.mjs` (produz a amostra sintética); executar `php tools/irpc-reliefs-qa.php test`. Usar PHP8.5/Node24 e dependências existentes. `tsc --noEmit`; compilação `INVESTMOZ_QA_BUILD=1 vp build` no ramo QA. Os módulos gerados são artefactos locais, sem edição manual ou commit. + +**Saldo na mesma matriz:** restantes alíneas68, categorias digitais/residentes não correspondidas, outras convenções/Estados e casos com EP, dividendos/juros ou excesso por relações especiais mantêm correspondência própria. Juros de mora, rectificações, agregação, rubricas/CER e preenchimento do MRFTA permanecem discriminados. O cálculo convencional não declara cumpridas as formalidades de accionamento, recepção ou aceitação AT. Não são transportados formulários portugueses21-RFI para obrigações moçambicanas. Pendências condicionam apenas os casos dependentes. L5, IRPC e IRPS não estão integralmente concluídos. L3/ISPC/câmbio não foram retestados; as suas provas são reutilizadas. Entrega conjunta preparada apenas para os recortes demonstrados. Instalação futura segue o procedimento Git e os controlos de destino/backup/restauro já existentes. + +Recibo: `docs/investmoz/simulations/irpc-l5-reliefs-qa-20261025.json`; provas locais em `outputs/irpc-reliefs/`. diff --git a/docs/investmoz/simulations/irpc-l5-reliefs-qa-20261025.json b/docs/investmoz/simulations/irpc-l5-reliefs-qa-20261025.json new file mode 100644 index 00000000..785fe474 --- /dev/null +++ b/docs/investmoz/simulations/irpc-l5-reliefs-qa-20261025.json @@ -0,0 +1,330 @@ +{ + "status": "QA_demonstrated_grouped_candidate_not_installed", + "baseline_reported_installed": "2b33a1c3", + "branch": "codex/irpc-l5-reliefs-qa-20261025", + "implemented": [ + "CIRPC68d qualified on-account services/equipment", + "CIRPC68f own-property management,not fiscal transparency", + "PT-MZ12 qualified royalties/equipment10%gross definitive", + "Insufficient/contradictory/out-of-period evidence remains indeterminate", + "Private API persistence,recovery,history;standalone report and complete financial dossier", + "IRPC dossier section association restored" + ], + "runtime_delta": [ + { + "path": "resources/js/lib/irpc-relief-preparation.ts", + "sha256_LF": "e41a389ad0b5d3f33985e375b0c488eed8c2d185257eec1cf5f7d40fccd365d4" + }, + { + "path": "resources/js/lib/irpc-withholdings.ts", + "sha256_LF": "75bf1c5940595e90d7a27355aeae6f9fdca4841f3e9ce3cb02103376bbd4d91b" + }, + { + "path": "resources/js/components/simulation-irpc-withholdings.tsx", + "sha256_LF": "28dd35e40c5d8440adad01131714d324f0c7fcdfeb3f6ddd9d27750d563b5e4f" + }, + { + "path": "resources/js/lib/project-dossier-report.ts", + "sha256_LF": "4523365e2d4a2fcd014e13393deb33a5ec4b9396ff580d8a237aa8c4f02265e4" + } + ], + "verification": { + "routes": "normal Wayfinder generate --with-form through guarded QA wrapper", + "types": "tsc --noEmit passed", + "build": "complete QA build passed; existing optional-font/chunk-size notices only", + "frontend": "9 new tests passed", + "compatibility": "5 directed IRPC cases passed;no repeated L3/ISPC/FX suites", + "api": "1test/17assertions;private endpoints;55441/simulator_fiscal_delta_20261021_test;DatabaseTransactions rollback", + "report": "retentions preparation and financial dossier from actual API recovered sample", + "ui": { + "calculation": true, + "localSaveRecovery": true, + "privateApiProof": "IrpcReliefsDraftTest, separate", + "report": true, + "insufficientInformation": true, + "errors": [] + } + }, + "preserved_FX_files": [ + { + "path": "resources/js/lib/iva-fx-selection.ts", + "sha256_LF": "9aa07ad443bc777b80510a3b5bd6aff9ddb9814d2450f3c690e531e74d71d998" + }, + { + "path": "resources/js/components/simulation-fx-selection.tsx", + "sha256_LF": "39bb6d87d404745b0b66349bc11626545a3672ae27321ce9b4658416592059bf" + }, + { + "path": "resources/js/lib/business-financial-plan.ts", + "sha256_LF": "c20274722d1ffcd0360f041a6cacb5d868fe0621cb27a1aca6e06826612c3ebb" + }, + { + "path": "resources/js/lib/iva-currency-events.ts", + "sha256_LF": "cc9f2045d302d7987310da4006cc250fc5c99a27397918d166d649bfc32fab08" + }, + { + "path": "resources/js/lib/irpc-fx.ts", + "sha256_LF": "5c4a7a477429f8d775acf6db3e117008468f5554e5731dec81f60fbb75e948fb" + } + ], + "sources_inventory": [ + { + "path": "docs/investmoz/simulations/source-archive/AT-Comunicado-9-2026-ISPC.pdf", + "sha256": "106f8a9ce9255c03549c70bf07fe999d32e6e55302d009b509862aa74ccb4973", + "bytes": 308401 + }, + { + "path": "docs/investmoz/simulations/source-archive/AT-Modelo-30-ISPC.pdf", + "sha256": "6802edd06b6ff638a0b851a3ec7ecf69af8f07840faa47446becad67d35d445c", + "bytes": 159748 + }, + { + "path": "docs/investmoz/simulations/source-archive/AT-Modelo-B-Geral.pdf", + "sha256": "bd977c7c59d4d98befd92e2c566b1bf168cb1343bb519f51b41a3807f431fc57", + "bytes": 319577 + }, + { + "path": "docs/investmoz/simulations/source-archive/AT-MRFTA-19-39.pdf", + "sha256": "8ea62c53066b482f87078a7a7b1ecf15ca98a12a122e8d7abca63acfc993186b", + "bytes": 256695 + }, + { + "path": "docs/investmoz/simulations/source-archive/BR-16-I-Serie-2008-04-16.pdf", + "sha256": "fc373ff5637edf75ec6a9595dec8763a8503d4ee786e3b7d8f1c742eae9d80ee", + "bytes": 2267865 + }, + { + "path": "docs/investmoz/simulations/source-archive/BR-248-I-Suplemento-1-2025.pdf", + "sha256": "ccf2a8deeca820f2dd076b4b2141b1efe3f6a806568c3a587ca59a8e92f4c251", + "bytes": 440018 + }, + { + "path": "docs/investmoz/simulations/source-archive/BR-89-I-Serie-2017-06-08.pdf", + "sha256": "11f0cab15eb6e51010952203ffa24fdc533a24fd642e19525fe4f46b17a1f5e5", + "bytes": 9456358 + }, + { + "path": "docs/investmoz/simulations/source-archive/BR-95-I-Suplemento-2025-05-21.pdf", + "sha256": "e0e682e2c027c3cd9c1d46a73a3f48bc5f6bdbf05667fd97314d7a3f6a456358", + "bytes": 329070 + }, + { + "path": "docs/investmoz/simulations/source-archive/BR252-I-Serie-2022-Lei20-PESOE.pdf", + "sha256": "1159fd3ce1ba5581671796d083534da48bd3c5578298819e896f1c2a8026318d", + "bytes": 17966640 + }, + { + "path": "docs/investmoz/simulations/source-archive/Decreto-22-2021-BR70.pdf", + "sha256": "a8fac38dcfe08f9c7a8e46254cff10e1ec82fc4f7a8d88ad6e4fe7d91ffc21a5", + "bytes": 905551 + }, + { + "path": "docs/investmoz/simulations/source-archive/Decreto-27-2026-BR123.pdf", + "sha256": "26249c3fa58f149c81de36e99d1aac2819a4771379d9e8833159660dabf539bb", + "bytes": 665722 + }, + { + "path": "docs/investmoz/simulations/source-archive/Decreto-29-1998-BR22-5-suplemento.pdf", + "sha256": "6242cbe675faadf085f43f95ec8c7e8868aafe67c3b2ab2bb010992288f954f8", + "bytes": 590418 + }, + { + "path": "docs/investmoz/simulations/source-archive/Decreto-3-2011-BR-11-I-mineiros.pdf", + "sha256": "5bca1133666ba9c69870b89823420175b7b5b8d0eccb667ecdf5c29716f3b6be", + "bytes": 135471 + }, + { + "path": "docs/investmoz/simulations/source-archive/Decreto-37-2023-BR124.pdf", + "sha256": "7e680b191481faa0e2e9057fa5053587eb2a29d1d8c819e0eb9f02814255a04c", + "bytes": 730017 + }, + { + "path": "docs/investmoz/simulations/source-archive/Decreto-9-2008-BR16.pdf", + "sha256": "96fccdecbfdc11c9eafb90fbc6c7bc259f88bbd4c7507d1ac3af1fa03f960697", + "bytes": 900370 + }, + { + "path": "docs/investmoz/simulations/source-archive/Lei-13-2016-CIVA-BR-156-10-suplemento.pdf", + "sha256": "b90dc7c14ecea2e378c4a62e8e5a47d54a5644c457baeb8b8053b92fd2a5710b", + "bytes": 2127554 + }, + { + "path": "docs/investmoz/simulations/source-archive/Lei-14-1992-BR42.pdf", + "sha256": "089fff7423e99a70a230a73ca379e4ea3a91d124703f91016e57ff82794b9e56", + "bytes": 1604284 + }, + { + "path": "docs/investmoz/simulations/source-archive/Lei-17-2022-BR251-exemplar-MCNet5.pdf", + "sha256": "14eb34f0af91a8f5cb1770c7b52d6ff839c6818302d1ed96d79afbfb9fe999d4", + "bytes": 1603184 + }, + { + "path": "docs/investmoz/simulations/source-archive/Lei-17-2022-IPP-BR250-Parlamento.pdf", + "sha256": "978cd22403ffd336a631704ecd7a5bbd814a427c815b9acdaca5515591dd9e2a", + "bytes": 1990307 + }, + { + "path": "docs/investmoz/simulations/source-archive/Lei-19-2013-BR76.pdf", + "sha256": "bba96d645cc935ffc3d1a79b9f0f73ac1c693d6459c2ad41f56cd2841accae76", + "bytes": 147521 + }, + { + "path": "docs/investmoz/simulations/source-archive/Lei-19-2017-IRPS-BR-OCAM.pdf", + "sha256": "c3a0186cb9ad090d7a9533006295dc9bb6a62ad0d6150173cbd49dba4ee4b52d", + "bytes": 1894997 + }, + { + "path": "docs/investmoz/simulations/source-archive/Lei-2-2011-BR-1-4-suplemento-MCNet.pdf", + "sha256": "a7543a68cc3287a46a83c39a04821b40f649dd06c4e9b5dc51ff0b47fba08899", + "bytes": 161625 + }, + { + "path": "docs/investmoz/simulations/source-archive/Lei-22-2022-IVA-republicada-BR-250-2-suplemento.pdf", + "sha256": "ea1b0dc6f5cf6e595f6d9a19e7042f398999e0087caef1785f6e8fac571b5f53", + "bytes": 1834284 + }, + { + "path": "docs/investmoz/simulations/source-archive/Lei-34-2007-BR52.pdf", + "sha256": "cdbef875ad7ccc1517b12faf5de0e893a70ed2ed81e33913cd6dc4a674474e6e", + "bytes": 1676884 + }, + { + "path": "docs/investmoz/simulations/source-archive/Lei-4-1994-BR37-3-suplemento.pdf", + "sha256": "210df9db8980d0a5690cd187a6eeec7e37a900d743e39062c16f4e0d12215c7e", + "bytes": 186487 + }, + { + "path": "docs/investmoz/simulations/source-archive/Lei-4-2012-BR3.pdf", + "sha256": "b8845cef41dcbd9ba50c43dbfa743a56030dd3d348242a107e1ae30279eec121", + "bytes": 187572 + }, + { + "path": "docs/investmoz/simulations/source-archive/Lei-7-1991-Partidos-IFES.pdf", + "sha256": "6b783a0bb3330688ef10660a58060d9724aa2da6a873d234fe902f0eaaeda42d", + "bytes": 309350 + }, + { + "path": "docs/investmoz/simulations/source-archive/PT-MZ-CDT-1992.pdf", + "sha256": "d504e1024b28aee5c6acf4592acb96ec9c915a8414f67a61ab6984d6acf9df9d", + "bytes": 199331 + }, + { + "path": "docs/investmoz/simulations/source-archive/PT-MZ-Protocolo-2009.pdf", + "sha256": "f353773dcf41f09f4daa6cf5ba5a5f7994f3e02615867c2dcffc61c3d901bf9b", + "bytes": 197027 + } + ], + "new_sources": [ + { + "path": "docs/investmoz/simulations/source-archive/PT-MZ-CDT-1992.pdf", + "sha256": "d504e1024b28aee5c6acf4592acb96ec9c915a8414f67a61ab6984d6acf9df9d", + "bytes": 199331, + "url": "https://dcjri.ministeriopublico.pt/sites/default/files/documentos/instrumentos/rar36-1992.pdf" + }, + { + "path": "docs/investmoz/simulations/source-archive/PT-MZ-Protocolo-2009.pdf", + "sha256": "f353773dcf41f09f4daa6cf5ba5a5f7994f3e02615867c2dcffc61c3d901bf9b", + "bytes": 197027, + "url": "https://files.dre.pt/1s/2009/05/08900/0275202756.pdf" + } + ], + "remaining": [ + "Other68paragraphs and digital/resident-specific cases", + "Other countries,treaties,EP-related and special-relationship excess cases", + "Dividends,interest-specific treaty branches", + "Late-payment interest,rectifications,aggregation,MRFTA/CER/form filling", + "External treaty claiming formalities are not declared satisfied by this calculation" + ], + "active_changes": false, + "active_verification": "No fresh live inspection claimed;2b33a1c3 remains last reported installation", + "schema_config_permissions_delta": false, + "L5_integrally_completed": false, + "L3_ISPC_FX": "Unchanged;accepted proofs reused;no repeated functional suites", + "installation_remaining": "Existing Git release process,destination comparison and fresh backup/restore safeguards at installation", + "proofs": [ + { + "path": "outputs/irpc-reliefs/api.txt", + "sha256": "5cccf4ee4e62ae00ef85276d48482fa8c13e202ddf68b6d79b1948977fb1f597" + }, + { + "path": "outputs/irpc-reliefs/build.txt", + "sha256": "c60d4a5285f57a6458285163f64279d87558a8119f9b386cad8d12861d49e025" + }, + { + "path": "outputs/irpc-reliefs/calculated.json", + "sha256": "563e05189c0a1255bf071fd1086aa8e67d6f0872891c5851dccbfc0d944752fe" + }, + { + "path": "outputs/irpc-reliefs/compatibility.txt", + "sha256": "f37ad0ac9a0f2675fa4199f7600f3ae4e5a2df35a7294fe6e5aefd8024344051" + }, + { + "path": "outputs/irpc-reliefs/dossier.html", + "sha256": "a34c2e9ef8b4d202e23412aaf6862ef9d603efeee0518a16adeb9d895f775641" + }, + { + "path": "outputs/irpc-reliefs/dossier.json", + "sha256": "717561321d4b6c7659f0e6ab82c0e411ada0002a4f5436ba42092f8002f96076" + }, + { + "path": "outputs/irpc-reliefs/dossier.txt", + "sha256": "a0473de355821758c4d320eea8e7af76a0d196a9cee652c71af723d6f69832f0" + }, + { + "path": "outputs/irpc-reliefs/frontend.txt", + "sha256": "f86464b0d6a36ccfc39e22c0616d4a2e4f657126da134cb2014fcc199a11bdf2" + }, + { + "path": "outputs/irpc-reliefs/index.html", + "sha256": "6bb76e37ac20a73cb9ffcda14f1ac9db701aa01bc2ef2f62fc5adaaffb640ca8" + }, + { + "path": "outputs/irpc-reliefs/Lei-19-2013-BR76.pdf-review.png", + "sha256": "b62716ed89669622a33bde81a5ab6dcf0a6faafaf41726a09cd5b473b59abab1" + }, + { + "path": "outputs/irpc-reliefs/Lei-34-2007-BR52.pdf19.png", + "sha256": "8355aa0b103439bb2b652b8499b2abf9bee1e4f3cc1af54b1be3ea059a2384f4" + }, + { + "path": "outputs/irpc-reliefs/Lei-4-2012-BR3.pdf-review.png", + "sha256": "207224d8712713c9f4c5dda4e61539eba28f37af1ec70ef139cff0b450a62b2e" + }, + { + "path": "outputs/irpc-reliefs/preparation.html", + "sha256": "2943b6cd21cc4ac043ae9b0605aee23c0fbbbed552842aeafef187ff963389a1" + }, + { + "path": "outputs/irpc-reliefs/protocol-page1.png", + "sha256": "d981c72e254239c911554ff1289b578f7136bae7964a3d53f76a69094186cc04" + }, + { + "path": "outputs/irpc-reliefs/PT-MZ-CDT-1992.pdf13.png", + "sha256": "2a57bc9924c0c826452bbc7f097b48c1899e6b642d6cdc247c244ace8993bb96" + }, + { + "path": "outputs/irpc-reliefs/PT-MZ-CDT-1992.pdf14.png", + "sha256": "9fd31dcf17bdd1526390758a48a5afa8f9b98aebd83209b962ea97b7deef4006" + }, + { + "path": "outputs/irpc-reliefs/PT-MZ-Protocolo-2009.pdf-review.png", + "sha256": "ba5ad799456a16959b83878c8935eb326ec3f0d87a2ba32e43217411e3f0dac9" + }, + { + "path": "outputs/irpc-reliefs/recovered.json", + "sha256": "0b2378d1b8232b1424cf3d13e199146f4eabc330b9750a74b2b59f172741515e" + }, + { + "path": "outputs/irpc-reliefs/types.txt", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "outputs/irpc-reliefs/ui-proof.json", + "sha256": "274ffe6c237da799aceff79df76087cf17f2a83505755aa6354d90b9d1f85abb" + }, + { + "path": "outputs/irpc-reliefs/ui.png", + "sha256": "55df91c9dfc9a028eceafaf0b55b4ad2df892da491f8ac97d5d8edaacea73a4e" + } + ] +} diff --git a/docs/investmoz/simulations/official-source-register.md b/docs/investmoz/simulations/official-source-register.md index ac59a20f..35abf8e5 100644 --- a/docs/investmoz/simulations/official-source-register.md +++ b/docs/investmoz/simulations/official-source-register.md @@ -141,3 +141,18 @@ O novo exemplar integral do BR 252/I, de 30/12/2022, foi recuperado em arquivo p Origem: https://www.cipmoz.org/wp-content/uploads/2023/financas/17F%29%20Lei%2029_2022%20Plano%20Economico%20Social%20Or%C3%A7amento%20do%20Estado%202023.pdf SHA256: `1159fd3ce1ba5581671796d083534da48bd3c5578298819e896f1c2a8026318d`. Exemplar: `docs/investmoz/simulations/source-archive/BR252-I-Serie-2022-Lei20-PESOE.pdf`. Lei19/2013 PDF2/p682(22) também conferida visualmente:62(3)liberatória20% e62(4)a–d10% específicos. Lei20/2022 mantém62(1/3/4) e termina medidas agrícolas em31/12/2025;Lei12/2025 estabelece62(5)digital/moeda electrónica. A fonte oficial permanece aceite; a nova leitura resolve uma lacuna de texto, sem revalidação genérica. Sem publicação/importação automática ou scan declarado. Recibo: `irpc-l5-grouped-qa-20261025.json`. + + +## 25/10/2026 — L5 dispensas e convenção PT–MZ + +Inventários anteriores reutilizados; inventário completo dos29 originais fiscais em `irpc-l5-reliefs-qa-20261025.json`, incluindo27 anteriores preservados e2 novos. CIRPC Lei34/2007 art68(d/f), PDF19/p768(73), conferido visualmente; listas de alterações Lei4/2012 PDF1 e Lei19/2013 PDF1 não alteram68. Lei20/2022 e Lei12/2025 já correspondidas no recibo agrupado. Sem reutilizar código revogado2002. + +CDT PT–MZ, RAR36/1992: original oficial no arquivo do Ministério Público português, arts1/4/12;PDF13–14 conferidas visualmente. Protocolo/RAR36/2009, original DR,PDF1–2/p2752–2753:IRPC/residência e definição12(3);art15 aplicabilidade temporal confrontado. DR apresenta os diplomas em vigor; vigência do Protocolo07/06/2009 documentada na ficha oficial do Ministério Público, efeitos na fonte a partir do ano seguinte. Recorte2026 não estende automaticamente a outras categorias ou tratados. A condição de aplicação12(2) não é confundida com cumprimento de formalidades externas;21-RFI português não imposto em Moçambique. + +Novos originais privados preservados, sem publicação/importação automáticas, sem scan ou certificação declarados: + +- docs/investmoz/simulations/source-archive/PT-MZ-CDT-1992.pdf;SHA256`d504e1024b28aee5c6acf4592acb96ec9c915a8414f67a61ab6984d6acf9df9d`;origem:https://dcjri.ministeriopublico.pt/sites/default/files/documentos/instrumentos/rar36-1992.pdf. + +- docs/investmoz/simulations/source-archive/PT-MZ-Protocolo-2009.pdf;SHA256`f353773dcf41f09f4daa6cf5ba5a5f7994f3e02615867c2dcffc61c3d901bf9b`;origem:https://files.dre.pt/1s/2009/05/08900/0275202756.pdf. + +Referências oficiais adicionais: https://diariodarepublica.pt/dr/detalhe/resolucao-assembleia-republica/36-1992-408879 ; https://diariodarepublica.pt/dr/detalhe/resolucao-assembleia-republica/36-2009-607572 ; https://dcjri.ministeriopublico.pt/instrumento/protocolo-entre-republica-portuguesa-e-republica-de-mocambique-que-reve-convencao-para . A aceitação das fontes oficiais permanece, sem revalidação genérica. diff --git a/docs/investmoz/simulations/source-archive/PT-MZ-CDT-1992.pdf b/docs/investmoz/simulations/source-archive/PT-MZ-CDT-1992.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f44c871130e2b7132205d4a7eaec6d2ecdb50113 GIT binary patch literal 199331 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®+VRT4e|`AW?)41X zv~BY*@z3{NHYN7rHMn%{1zpf!a1l9gNm)!*R%wGt zU9XXJj7C>nh^*LZomZ&Q@q%8`Gx{GC3cx&?U8v{1{wY83N(nAcc|dSj_QK&5ww0D( z%B_2LJ}~L`S@W=4b?-HB=$_33nSNjBUZ3qb8H|9RvOnZUJ>(@V;y#ALncfH&PUta?62DIRjKMfAP_15<730vBMu^&rxvI1{L z7E~*hsjy0sg|ig%*m+z%u4QYvdc`WdO0fZNQ1s!=%x1n%VN_tOd6r;h35{G3$)HvL zB@M3v!VSw2y7L)>-dN_h=rDY$S}t~%)XQ|SU8Y{M#fXV!6T-$Y!Gz2b(QcdmtNX{NXB6&#vt6yhOo5ze5)wI8dgizjNM&vv21!btXJ)^VL~etT>uSp2I~pm=QJa-6=N zbttFX2cy7-`d*3^T0sf$K?w`PW~>GFVEu3{HiBJ4JVCsdK<`k{3L!)-C}8@pDg^lu zYT(L;(d_i0SAi|F1@4y-AA#k#8cw4%9WfJVU?G4knZ%N08cUPNWS}6*O`DoQ3-A(; zt1}1SFf6|yKbt|9PnGjnVp`Y>R9HX&Q2+tD9mx=Rm&+i6Pw(GH_dsm#+#O;+c^~zR z3#*TnRf4c4sI4*9EDYM4L0r?MZ8f$oY_e<3aW&-QIL-3d2@mVxJa7?DO}bG*Q|O1* zl~a`P~dj$NUt1o zI}0pse#hFC2W zguI3Ny*lP1mr#@z*WoQd#TqyRBq7HFmeuMUFp6)+hjAR2y-&72K|~VBR76Dqo!Sc| zIVVZSGThboq(s+tUk%Q`9L%Lw)qSWHFEo~pd z*HY^YtIeD3!*IkfVVzh!VfSFHo(-sk#bs=arC3&z$cK5Fms^DZgBMS>d7_AY>ZkFHanNsNZmN@XEd;dk6o#j$S&m z`C~x%N{TkLZoIb!=Wh(0@4xin#K^8#!+Wmk+rRI5wxMo&e8aVFg#HZD%Q!+`iye*) zYc!-_)tCjZrcm%kA{xn5?hFbEO|z-d*(mgaezITFBMfQQ3qz6Znr*^}G#0T2tDCA} zO*N_t2p9q|5b!2Abva}ij)4qgNT_KSAF`KPc)ZkJjp7A~i4w1WsH<~>om+5vVzjc$YBe?0-Eh?u`^%ml9KX0wrxH>3V(mynuaP$}8e_1> zV)X=LV%$uSX<~*MO3SoRRGyZ~Q!{Zul6W4DtDmq4qDAnNeTeKQXCb{ z&2)L(pdpT`AWs`q6(N$TKobZ##2$TyxFWkTn&i9$M1#m10P))GE13|y@%ruTn#^S| zl}&-EX}sm(R(LYAO7@Z8A*OeuGnQb(u?|{gRryr4D#=i5X;n2D22|bNA=Ri#YqMG7 zvK_=cxQ9=8C_7|n4xN?OB`DhAbR=!SX5ul2O^vk30nW^^;@H>9f z*4YO>cauu${Ryz(93i>I{9_{56g8{+#9#$=PyXua286)8m)f8=;AS>8ap0l!(12& zyn3=qaYzIfVMT1nMrjNqlycW9NHG~^A(Vo~P^DYOBnK*&6U&=NnD?C~dM5k+2R}I9 z+?(o2^#RMpnocjhcuUP+<}h>j)W-C|w!Z%Bp=jxFZO@^020tLgS&ULcbXcP z1LK>21QkzinV^}=?4sFz@h=J+nM(D`_tv!Vs~hjYPD{)adp8e*Q%mzx^2cW|BsEfUlg7eV4;N; z2;8<*52Y5wlmp8L`T3YYGhQCE6gse<=NNPF3{$~VFH|W(0TFjkQ7O6@L}5#A%%O;! znrF@}=U_>W!|q28i%bNc&uennsRQ{6e?npK_9uYp{eJ@bsnMT3 zH}mq&r(Wt>=J{#Enl`R$n=qUjc>L1-LubK@Z_Z&4u8#kyhKfyYedVKDFR!~Aq9W&D za^uAI^(`B`#_IfreVHd#Y_75tI?G=f+H>xCq~k4fca^E0({ZzkC?LE<#1rvJrEQ)z zUt?(>kzSBmxNOld81t|OTSeUDjhiUjqrR04Y9wT}6+4kDi=VeX|NlY`D+5PRT6SK? zFpna>?O0bI<2O3~M#QMAiT(WpgW1n623NRg+fe=OSySrN_f{Nk?du2r zzixWHxo5>Yu_|Fx^uU?QSYT5_$H^rC#~ZF@-x}UJuF)d(0`(_VW$s|@8@uiSdt>AB z?ChyyZv+EH=cm%!1Dv^}*z85`a|1}CaU!L>&)H*o&G&4n10~aBgC~l zR@s8e>s3)ylt>bgAh1AgD^$4o_^0eA`?8oXhd{LB|Jbhfps21pe9pP|+}A$tvb&dE z*z7I~EXb=6_AU#K(k8laa=0>x^j)HDjZu(@veKu_jH$ zc1EWdCN^z4G&P+j6P+{@n?$K;r?nYiuRZtfVl~YlcXsx5&$;LOe&3^3%YoXW%a`L> z5P?(xa66emmbk^V(x>pSj;Uf1&kG!yB6qZtZ+L;4A|cm~F>{a^Wf3J835qZ*Py#P7 z6x@#?=0qbTo@t$C1e}LUa6N9oQG5WixW_<5n#2pe5|ZH! zSA<9>)B|Uj_(}Nk<;(FGj*K!0`!XmWMdsPYL)`w((b&PGSCI#D2h}BY5x%5G@ci-w zdOzkTr}rj#o;>nA64^%pY*qr;C>gVj4X9C?Oku1^`Lf5ux@C?kkXbHSvgV5->zBYt zPz)+TW1f*6OWS zUyOYYXI?&Cx4CYh<%P5AtC_0`4|U&$AiS%vFnhA3y6Cws^(th(`Qu=j41YUxrgUu? zo_A*DO||!bzku_;h3Jwxhs&gHws|}qvEwcM{uD9xt}8RUhlt_my^ryFe4F@bM5)8j z#549}=;G~?Un-Fvx3_XlLX)}G(z>dXir9zIxHxRLB`2rKR+O8YB{M=Y7$F7If@G1MYT&i0>2*gh(3LVvpnP@r2)LYw7I78NaJbsKV6*zyZ!tsU*P^&37u zcH*zqb=6&6gsmF7=Lx!I;3kvPL9R$3%YT)xfe}4PY@6~U?vG*Wso<8%3{rj5c4qv=@g%l`0!^s2L%s6uE1y>tXD>aITVDN%=4fPx^a-*<19(iy;Ddm%Fohu+UxtW+=9D^{wQi>`KvEk$857Y|Y~LL9OYBqI z&cy=ct{SI4!lwzRGC`kG%R-)E%x=bJ_L+m`TKIMICUcaD8oJG6=CMb_^q`UfGct^n z#o~~S$SqUCI1ke;>Ab}^0QO{wSxOd4mH1wN0*wIKL}46~Kw*+~W%~V^&g;ao01X|D zRl2Z)B<+KeQj#%!`1F4D#?)E$`t}{e@Dv=Fg!~Vz-tqFPSB4hV4`2~wIxp3zBWTO6 zvMrsR5tuOxqwqv!?Jeh%soos*lKOY`hI%Q>0|(D)=lC2E!fQHaUsFrv8+L+c$>{?2YVf&12WNMEwgH&Antq%@s#?dh^jp~`s~it zqLU?toQY7|V5&=0-#`#PbLCG-#u>9GH+$9C6IAqvE8G|-D`SwRBq53>+yj6WSt8?b zfYC5W(pFmt>15M->G<;IIrIshU%Zj{KfX);Zv^|4=0*XQp)y<|453bH2zLsTXqcMB z!-AoKZxmV#R1Y;q?IG$fAc_aHg_h}c^j5l`W@wr<@DyY@UNDezw1Ww=X!e>nnkj5! z2TTbrkkSQ06`=}^1;h|E9_$9;-M)+@lHxRi^3aFx&Z%AFYIFvg;dkKE(1xky7pT6) z7!m(js&Zw|W%@kqRGu`lURGwS*iCGN9bwsV28s|dUMMj#vyR!q?1Y`nBphZ8Mo2TL z1vW6+{BXq2XpVu1wSfsTK8gV$8?DWcwowu>S2n6`a`#ABHz$3IB_ zhh?1KCn1+CA)m|(PKg@zi+-rpppc*PNMdhhLY3pz6xJ0j*($|F?O|26SwMVr0>uD( zS|i=fZA+(4sP|f0BAsnb5FbBzuUcLH@FO(_x$D;lZGlA4Hf0F_TbD~^M9lW@J*vT&1B zGz~pcU&^r=(KzbO}=GMrKU(-F$=8QO9 zw;x1UeO@$OI!{v%p&QXqSMR8YH|%~YMW9~#O04m80_*+CRt~yh0bC8s-Bn_Zy~f=F z8^vb(5bQ&pLe%gS++#>W@Ky3_3!5q{2qJ`?GO2V}r-9<5k|bh*CX*$N%xwx~2Uw#( zv6f!-AQ;xhEKUQh0gzU=KjtJ^Fb6{4eJ*I(%l0Mjo>uRvX7$rKcxvjknoX^zzZ)r# z^Ts!R`eysLA1%m38)N72d`3aw#l5HgQVL&Iy3^f`*xSB>+(ELBLnK2X;&(;hxU!GP zmKS8WIJ-B8Tjk93W)_xnC6+Q<&|8vQ$5mNsZB^d7>~*HQ{Ox==aU3U3Od9gxOJazF6P%6z(ABTtg^8w&6rr}N;hq*))i%RZK2f!>kz`u-m{amp#3q;@||qS zzTf-tyzlcowmwhXH>4l14cK=S?eHGZx?}>Ysbs_(!I|8YMdEPeRivE|h%SelH*q}S zFv*A=ezkwVPs;ksL@KzIHio`CzIolnrT3!8Gp9cRAc1l{1z86&4sgyU0%PXqe(eyg zh$h>c+deq*=^VYTA)sfTRn!Jo^?!E%t!*-@VKlJJ^<9meL9X~yZPIbLe zEre^T@2~26Vf*S;CY?!F^xL0Y`m(0@vvAM;^|5|4>*kBkiu)E`)E8;*P#_o)6_8-e zsAV=;RECL_NJp)Vf-~^N?j@(ip%w`<)4YI#`XYIIGI<;R?RfAJ?KmSo?JR7`LU@{} z>!gXblw{Rt$o7` z!dJSmslD}g&yQbkYHyl!6ciur-+07Z;Fu(rz4p(xmc>iL9sf9mhaL{?8Lz5usBfq` zycxd$k&XX_ad1VsfW^4J3Ua0^rJUhzqFe!4Fbj-lg?u7tH+nnU5(8wVTKXCj~RFlvA#3Iq#yn*>>yG z#T(eT&U>`c^*%w}WIPLS@D$ifwnCc>g14uR9M z1%d%wlA{={NVgBru1Wf5wW$d97&kxpuoWGyz^viO4^%9GjaZq1yl6IDfjU&4Sq7L( z{|ayq{iZCJvOC?ry&Xq?zjOyxA+SyuNnVX(8BfY1yZt_BA^OSDzT< zYPAO2)UlCQyk0wF5uP#{GzEE=)wu<}l8H?z3#z1bS%%)ucyFt?2`@rb4no_r2s_a( zR8^1xbv0jV50Q)15nix&Y1e5-m?5*0l}QW@9Hm57K_XW$x*X!5)8-61Nj67jQjR%9 z#uF*;PC9FG*;PFPU@3@7PRve=EAqu$xipfggVDyOH~M;BT%|u8e9EILrK(jm)9PQ|wOiDY2blEdjE`}WQo35OPRO}gjpyg-hgo;1> zP2GZumzHh&q)gs3xjFS&Y6^Mo-Tc=Dboj{8b4oI2-OFXAr7MfCxfcMj^HBYU)cw0f z-+%4we!xwLAh1?qg)Ab1m(f+}cG4J@e~>2>Y#qbVDu$2=GE%0Nu>_+qsX2lbRGLcm z`E1Qs9=~7Y^;x?YEKhqUUuNN?gR`KF4Rr;|VZO!UW3Ak_CV$Un^knK>Vq|3UQgCe% zy-Jp~aXkO{!+L!Ac-}i7C>aqCscxzfs_O#I-Xbim&8jQ%7cVRg$s$=TMGeJ~(v>Ji zuh93SO?1D0m>#fmPFm~W-GY?@6DD9)Nj)!BOOV8ot2Gf4BQfE(`GbDalVcn$gEGf7 z(_inVJ98CJLnaUG=p+8D7Ci=`%Euv;N~P{~pX!j8Os$E3+vT!$9@`CwT3rA0r+fD` z!!$>p6ONtT|8mFcBdO`sSJ{SNXagmM1zSRWp+;Es(u41{G(`*Cr4Ro=_Bt)sClgnK zB5z)VM)bf;=!r_fiFrN0lgAnr(~w262&ovr{~@Ez7&np{g-JDL$RJ2$%$hX*)9B~s z7b-Wmb@V*dlh7KoS4CP+wk8tG6RXd^O%AtyH@~Q`rTXF9uwSkI!~Y~E6@;BE5` zcxl3fdNp|pv)ZJwnM~$hn?}$)tHBykVfi(pHx&^pDre|yP0|k}S`~Y&y}*;)W8LO6 zXwCFoYDlPf!?O11@hGM;A6t)!?LWPG+p7iJ5*yz-O%8_-xIM+uT0^Zh86bz3jJiD@ z5fW5vxVawm!|{r};T{~vIf4gz2)Zr+cnt#H1AFc5V@aWz|^snAvH zBWy_XAIhsfsOkHRf8T!Z2?;L=At4e7Nq~S6NO*q)Lg-C%d-RyG_@vuCC>@?cG}K*3Gi+R?l8L2>bqi35ZT_SNP@N zk0-zH_jx|g^Laj>sgnyH=*`gQ*REc@_Rh6QSv`dM z$YFXbd4n~0JvpdQmt*lEzpm2KMwP?&`0a_}oN{2Oau6idH&zbwwYpz9EUT@2sjq$9 zKQR$Fzv1#n7Y;nN{8WGnhhs0GlKmeot6y$U3uQ824VAZs-VS|s`FAyiGy77Fe+CNE z_9;vo*}TQLlVXkzfv&8woDS9tK|y?y`Yh1Tf*N1GGv&-eXy zs->#(#noL0>nKky+g9`3>F*zDJ{9Ui#(*E@!l=U^2K-HFjwREtp>5X04=-H2S{vy> zyqU5|3@Gp>1GQFdQDYSqFo5_(4I}UX#ChWeXz#p3= z5M@Xwi|~#Vn37^IQ+8Jw7LwCVhA0zAHgMojL{xWsMm-F-*Zp7*84R09s?y*+4Crw? z<}KtL3iG-xUa^t-cs-t+d4K!cHDc%WzU^an`^K~iCk!bC5_G{?GxR(D1Gd&E$8fhdkQUjU>9Jm1F<9bkwhu{d}BPNtV zJoTU8-0bV#MS?b81rn(V9RUQ4%O(`#Sn589Fu^+&_o=-dbkYvG*L>0k1ZC%Gm7OOU z4VC;RRQ?w1g0wvUd5#39_u*l=VkPv(JLruiaNRp5NG2GE<2aMxzz(hi6hk+56F2MT ziiJ{fDG0zSTt%wbDlQ;2h+VK1cQLJ8m(VH=z#hDw>EQ;1wUSkX0AG%l@QujJKY<2$ zUNDN1$QfCNg+_W3HWG$F#7Mlrk`Xe*B9>$eum}3%fJW~Vx zxC6AqVJsj{29z-pO#GmRAb=5JkP7uvfq^h4N-8N49P1S%88A*2IK(8DRFgGih}L5# zue}*gN6CgJa}SuW!yu5+j19v%v*ps2knb(n4!cP3YYx6c9MczZiHvBFGU*L^cLB6{ zi*$Su_VD$%n*SDlgzw=;@gOg994=!Sg!nSZ6CNXuBS<(TB}wH{w=^J)N(|a9%EUw^ zbs@C_g|6_(M$AAu^uT0KvJNKW8`C4`;LI+(Ze}z3$wBNnws%@l6yFVXGBwO+paLBA z4u}@)Otk2nHYvsFM!AyP=|euL+8IphNbaz8IaZdhLOsqwwADW7)Ju{{LRnea?sQ~i z%@q};ZnH=&ZH`K<(Zpu}K`U4UEC^<+Z&N1Nqo^B%dN6(i&=>^r z^3C>##rQrA$9VG1)`!Ks_m^-?f&2dVw9Lm$ejJXeaGPyP4DE*Xp-%h-c?=YQ9o`k1 zqQ)YW0W&zeEhEe3Du#ue$5x!>b_HN#ve(v_<#lz!7TZR+);0o%Y&wZI@yOwDmRm_Y zHWn0Qmm3AOI=WO)t5k6rENisb!FbVPlVwjKMP7TSMDE!KqaK0%VVKLC)gvp%1v^zA zwjEUIe39H>#>^{E+qO`sJ97GaG18h7hA-Fon_$+LJ+C&1ZLhSSc=hE|gvN@!Z3F`L{Z#IRCD;W2x