Engenharia de Software · IRPS

Plataforma de Declaração
de Rendimentos - IRPS

Autoridade Tributária de Moçambique
Proponente: Law Technology Solutions Lda
Data: Março de 2026
Contacto: ebhikha@ltsmoz.com · +258 824044200
Referência: CONCURSO AT/IRPS/2026

1. RESUMO EXECUTIVO

Solução digital integral para o ciclo declarativo do IRPS, com motor fiscal parametrizável e módulo AML incorporado.

2. ENQUADRAMENTO LEGAL E REGULATÓRIO

2.1 Lei n.º 19/2017
Código do IRPS, escalões, deduções
2.2 Lei n.º 14/2023
AML/CFT, COS, KYC
2.3 Proteção de Dados
Minimização, rastreabilidade

Consideram-se ainda o Aviso n.º 10/GBM/2024 e regulamentos complementares da Autoridade Tributária.

3. OBJETIVOS DO SISTEMA

3.1 Objetivo Geral: Plataforma integrada de declaração, apuramento fiscal e monitorização de risco.

3.2 Objetivos Específicos:

  • Digitalização integral do IRPS
  • Automatização do cálculo (motor parametrizável)
  • Integração com NUIT, bancos e Banco de Moçambique
  • Motor AML integrado (pontuação, alertas)
  • Auditoria completa e versionamento
  • Painéis de gestão de risco

4. ESCOPO FUNCIONAL · MÓDULOS

4.1 Portal do Contribuinte
Submissão, simulação, consulta
4.2 Portal Interno AT
Auditoria, risco, revisão manual
4.3 Motor Fiscal
Cálculo automático, escalões
4.4 Módulo AML
Score, alertas, COS
4.5 Pagamentos
Referência, reconciliação
4.6 Integrações
NUIT, bancos, Banco de Moçambique

5. LEVANTAMENTO E NORMALIZAÇÃO DAS DECLARAÇÕES

5.1 Matriz da Declaração Principal – IRPS M/10

CampoTipoRegraBase Legal
NUITIntegraçãoDeve existir no cadastro; validação via APILei 19/2017
Nome do ContribuinteIntegraçãoPreenchido automaticamente via API NUITLei 19/2017
Ano FiscalObrigatórioDeve ser ano civil anterior ao da submissãoLei 19/2017
Tipo de DeclaraçãoObrigatórioSubstituição exige referência à anteriorLei 19/2017
Área FiscalIntegraçãoHerdada do cadastro NUITRegulamento AT
Total Rendimentos Categoria ACalculadoSoma dos anexos aplicáveisLei 19/2017
Total Rendimentos Categoria BCalculadoSoma automática do Anexo ALei 19/2017
Total Rendimentos Categoria CCalculadoSoma automática do Anexo BLei 19/2017
Total Rendimentos Categoria DCalculadoSoma automática do Anexo CLei 19/2017
Total Rendimentos Categoria ECalculadoSoma automática do Anexo DLei 19/2017
Rendimento GlobalCalculadoSoma das categoriasLei 19/2017
Imposto Total ApuradoCalculadoAplicação das taxas progressivasLei 19/2017
Retenções na FonteIntegraçãoPode ser importado de sistema bancárioLei 19/2017
Imposto a PagarCalculadoImposto Apurado – RetençõesLei 19/2017
Assinatura DigitalSistémicoObrigatória para submissãoRegulamento AT
Data de SubmissãoSistémicoGerada automaticamenteRegulamento AT

O NUIT não será armazenado como fonte primária – será sincronizado via API. Todos os campos calculados são derivados pelo Motor Fiscal.

5.2 Matriz – Anexo A (2ª Categoria – Empresarial/Profissional)

CampoTipoRegraBase Legal
Regime de TributaçãoObrigatórioDefine regras de cálculo subsequentesLei 19/2017
Total de VendasInformativoBase para coeficiente no regime simplificadoLei 19/2017
Coeficiente AplicávelSistémicoDeterminado conforme atividadeLei 19/2017
Rendimento ColectávelCalculadoVendas × CoeficienteLei 19/2017
Lucro TributávelCalculadoReceita – Custos aceitesLei 19/2017
Despesas Não AceitesInformativoSomente para contabilidade organizadaLei 19/2017
Mais-valiasInformativoIntegra cálculo globalLei 19/2017
Resultado Final Categoria BCalculadoConsolidação finalLei 19/2017
Regra condicional: Se Regime = Simplificado → esconder campos de contabilidade organizada.

5.3 Matriz – Anexo B (3ª Categoria – Capitais e Mais-Valias)

CampoTipoRegraBase Legal
Tipo de RendimentoObrigatórioLista fechada (juros, dividendos, etc.)Lei 19/2017
Valor BrutoObrigatórioNumérico positivoLei 19/2017
Retenção na FonteInformativoPode ser definitivaLei 19/2017
Valor de AquisiçãoCondicionalObrigatório para mais-valiasLei 19/2017
Valor de RealizaçãoCondicionalObrigatório para mais-valiasLei 19/2017
DespesasInformativoDedutível conforme leiLei 19/2017
Mais-Valia TributávelCalculado(Realização – Aquisição – Despesas) × % legalLei 19/2017
Regra AML: Mais-valia elevada e inconsistente com histórico → gerar alerta (Lei 14/2023).

5.4 Matriz – Anexo C (4ª Categoria – Rendimentos Prediais)

CampoTipoRegraBase Legal
Artigo MatricialObrigatórioDeve existir no cadastro predialLei 19/2017
Percentagem de TitularidadeObrigatórioEntre 0 e 100%Lei 19/2017
Rendimento AnualObrigatórioValor positivoLei 19/2017
Despesas DocumentadasInformativoLimitadas conforme leiLei 19/2017
Rendimento LíquidoCalculadoRendimento – DespesasLei 19/2017
Regra de consistência: Se retenção > rendimento líquido → bloquear submissão.

5.5 Matriz – Anexo D (5ª Categoria + Estrangeiro)

CampoTipoRegraBase Legal
País de OrigemObrigatórioISO country codeLei 19/2017
Tipo de RendimentoObrigatórioLista controladaLei 19/2017
Valor BrutoObrigatórioNuméricoLei 19/2017
Imposto Pago no EstrangeiroInformativoUsado para crédito fiscalLei 19/2017
Acréscimo Patrimonial Não JustificadoInformativoPode gerar auditoriaLei 14/2023
Crédito por Dupla TributaçãoCalculadoLimitado ao imposto devido em MoçambiqueLei 19/2017
Indicador AMLSistémicoScore automáticoLei 14/2023

Notas técnicas: O NUIT não será armazenado como fonte primária – será sincronizado via API. Todos os campos calculados devem ser derivados via Motor Fiscal (microserviço dedicado). Validações AML isoladas no motor de risco. Logs imutáveis para auditoria.

6. REQUISITOS FUNCIONAIS E REGULATÓRIOS

Enquadramento legal considerado: Lei n.º 19/2017, Lei n.º 14/2023, Aviso n.º 10/GBM/2024.

6.1 Requisitos Funcionais

RF-01 Autenticação e Acesso: Autenticação segura, MFA, perfis distintos (Contribuinte, Técnico, Auditor, Administrador).
RF-02 Integração NUIT: Consumo de API, validação, importação de nome, área fiscal, estado civil.
RF-03 Submissão IRPS (M/10): Declaração inicial/substituição, consolidação automática de anexos.
RF-04 Motor de Cálculo Fiscal: Aplicação de escalões, crédito dupla tributação, parametrizável.
RF-05 Gestão de Regimes (2ª Categoria): Campos dinâmicos conforme regime (simplificado vs. contabilidade).
RF-06 Rendimentos no Estrangeiro: Crédito fiscal, limite automático.
RF-07 Validação e Consistência: Obrigatoriedade, coerência matemática, alertas.
RF-08 Histórico e Auditoria: Versões, registo de ações (data, utilizador, IP).
RF-09 Comprovativo Digital: PDF com hash, número único.
RF-10 Dashboard AT: Visualização por província, categoria, risco.

6.2 Requisitos Não Funcionais

RNF-01 Segurança: TLS 1.3, AES-256, MFA obrigatório, logs imutáveis.
RNF-02 Escalabilidade: Microserviços, escalabilidade horizontal para picos.
RNF-03 Disponibilidade: SLA 99,5%, backup diário, DRP.
RNF-04 Performance: Resposta < 3s, cálculo em tempo real.
RNF-05 Auditabilidade: Trilhas não alteráveis, retenção legal.
RNF-06 Interoperabilidade: APIs RESTful, integração futura com bancos e COS.

7. REQUISITOS DE CONFORMIDADE AML/KYC

AML-01 Identificação de Risco: Score baseado em acréscimos patrimoniais, divergências históricas, rendimentos estrangeiros.
AML-02 Alertas Automáticos: Flags para auditoria, classificação Baixo/Médio/Alto.
AML-03 Integração COS: Geração de relatório estruturado conforme padrões Banco de Moçambique.
AML-04 Política KYC: Correspondência entre NUIT, dados bancários e declaração; bloqueio se inconsistência crítica.

Base legal: Lei n.º 14/2023 e Aviso n.º 10/GBM/2024.

8. MODELO LÓGICO DE DADOS

Arquitetura: Microserviços · Base de dados: PostgreSQL (com suporte a JSONB)

8.1 Diagrama Entidade-Relacionamento (Simplificado)

┌─────────────────┐ ┌───────────────────┐ │ Contribuinte │ │ Declaracao_IRPS │ │-----------------│ │-------------------│ │ id (UUID) │1 N│ id (UUID) │ │ nuit (VARCHAR) ├────────►│ contribuinte_id │ │ area_fiscal │ │ ano_fiscal │ │ estado_validacao│ │ estado │ └─────────────────┘ │ rendimento_global │ │ imposto_apurado │ │ score_risco │ └─────────┬─────────┘ │1 ┌─────────┴─────────┐ │ │ ┌────────────┴─────┐ ┌────────┴────────────┐ │ │ │ │ ┌─────────┴───────┐ ┌───────┴──────┐ ┌───────────────┴──┐ │ Rendimentos Cat2│ │RendimentosCat3│ │ Rendimentos Cat4/5│ │-----------------│ │--------------│ │-------------------│ │ id │ │ id │ │ id │ │ declaracao_id │ │ declaracao_id│ │ declaracao_id │ │ regime │ │ tipo │ │ pais_origem │ │ resultado_final │ │ mais_valia │ │ credito_dupla │ └─────────────────┘ └──────────────┘ └───────────────────┘

Cada declaração pode ter múltiplos registos nas tabelas de rendimentos. Índices: nuit, ano_fiscal, score_risco.

8.2 Tabelas de Apoio e Auditoria

9. SEPARAÇÃO POR MICROSSERVIÇO

Microserviço Declarações
declaracao_irps, rendimentos_categoria_X
Microserviço Motor Fiscal
parametros_fiscais, cálculos
Microserviço AML
indicadores_risco, alertas_aml
Microserviço Auditoria
auditoria_log

Cada microserviço possui base de dados própria, garantindo isolamento e escalabilidade independente.

10. ESPECIFICAÇÃO DO MOTOR FISCAL

Microserviço: Tax Calculation Engine · Stateless · Versionado · Parametrizado via parametros_fiscais

10.1 Entradas (JSON simplificado)

{
  "ano_fiscal": 2025,
  "categorias": { "cat2": {...}, "cat3": [...] },
  "retencoes": 150000
}
            

10.2 Processamento por Categoria

10.3 Consolidação e Aplicação de Escalões

Rendimento Global = Σ categorias · Aplicação de tabela progressiva parametrizada · Deduções = Retenções + Créditos · Imposto final.

Regras transversais: Compensação de prejuízos (5 anos), validação anti-abuso (variação >300% gera flag), bloqueios automáticos para valores negativos.

11. ARQUITETURA TÉCNICA · MICROSSERVIÇOS

11.1 Visão Geral da Plataforma

┌─────────────────────────┐ │ Utilizadores │ │-------------------------│ │ • Contribuinte │ │ • Funcionário AT │ │ • Auditor │ └────────────┬────────────┘ │ ▼ ┌─────────────────────────┐ │ API GATEWAY │ │-------------------------│ │ • Auth (OAuth2 / MFA) │ │ • Rate Limit / Logging │ └────────────┬────────────┘ │ ┌──────────────────────────────────────────────────┐ │ MICROSERVIÇOS │ └──────────────────────────────────────────────────┘ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌────────┐ ┌──────────┐ │Declarações│ │Motor Fiscal│ │ AML/Risco│ │Pagamentos││Auditoria │ │----------│ │------------│ │----------│ │---------││--------- │ │Submissão │ │Cálculo │ │Score │ │Ref. MB ││Logs │ │Versionam.│ │Escalões │ │Alertas │ │Reconc. ││Hash │ └────┬─────┘ └──────┬─────┘ └────┬─────┘ └────┬────┘ └────┬─────┘ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ DB_Decl DB_Param DB_AML DB_Pag DB_Audit

11.2 Infraestrutura Tecnológica

11.3 Camadas da Arquitetura

1
Camada de Apresentação (Frontend)
Portais web responsivos para contribuintes e funcionários da AT, desenvolvidos em React.js e Angular. Garantem experiência de utilizador intuitiva e acessível.
2
Camada de Integração (API Gateway)
Ponto único de entrada que centraliza autenticação (OAuth2/MFA), rate limiting, logging e roteamento para os microserviços. Assegura segurança e governança do tráfego.
3
Camada de Microserviços (Core)
Núcleo do sistema com serviços autónomos: Declarações, Motor Fiscal, AML/Risco, Pagamentos e Auditoria. Cada um com responsabilidades bem definidas e bases de dados dedicadas.
4
Camada de Mensageria (Event-Driven)
Barramento de eventos (Kafka) que permite comunicação assíncrona entre microserviços, garantindo resiliência, desacoplamento e processamento em tempo real (ex: notificações AML).
5
Camada de Dados
Bases de dados independentes por microserviço (PostgreSQL), complementadas por cache (Redis) e motor de busca (ElasticSearch). Princípio "Database per Service" para isolamento e escalabilidade.
6
Camada de Observabilidade e Segurança
Monitorização centralizada (Prometheus/Grafana), tracing distribuído (Jaeger), logs centralizados (ELK). Segurança em profundidade com TLS, cifragem AES-256 e WAF.

12. FLUXOGRAMAS DO SISTEMA

12.1 Fluxo de Submissão e Cálculo

[Início] │ ▼ Contribuinte preenche declaração │ ▼ Validação sintática │ ├── Erro? → Rejeitar │ ▼ Gravar rascunho → Submeter │ ▼ Evento → Motor Fiscal → Calcular imposto │ ▼ Resultado armazenado → Evento → AML │ ▼ Gerar Score de Risco → Fim

12.2 Fluxo de Avaliação AML

[Recebe Evento de Cálculo] │ ▼ Verificar variação >300%? → +Score │ ▼ Verificar crédito estrangeiro elevado? → +Score │ ▼ Score > Threshold? → Sim → Criar Alerta │ │ ▼ ▼ Fim Avaliação Manual → COS

12.3 Fluxo de Pagamento e Reconciliação

Declaração com imposto a pagar │ ▼ Gerar Referência Multibanco → Enviar para Bancos │ ▼ Pagamento efetuado? → Não → Pendente │ ▼ Sim Confirmar reconciliação → Estado Pago → Comprovativo

13. SEGURANÇA E GOVERNANÇA

14. PLANO DE IMPLEMENTAÇÃO E CRONOGRAMA

FasePeríodoAtividades
14.1 Análise e consolidação legalMês 1-2Matriz campo-regra, validação jurídica
14.2 Desenvolvimento coreMês 3-5Declarações, motor fiscal, AML, auditoria
14.3 IntegraçõesMês 6NUIT, bancos, COS
14.4 Testes (carga, segurança)Mês 7Testes unitários, fiscais, de carga
14.5 Entrada em produçãoMês 8Migração controlada, monitorização

15. CONTINUIDADE OPERACIONAL E DRP

Backup diário automatizado · replicação geográfica · RTO (Recovery Time Objective) < 4h · RPO (Recovery Point Objective) < 15min

16. DIFERENCIAIS DA SOLUÇÃO

Motor fiscal parametrizável
AML integrado nativamente
Arquitetura escalável
Auditoria criptográfica
Preparado para expansão

17. CONCLUSÃO

Alinhamento com a Lei n.º 19/2017 e a Lei n.º 14/2023 · Aumento da arrecadação · Modernização institucional · Integridade financeira

A plataforma LTS garante conformidade legal, eficiência operacional e capacidade de supervisão avançada à Autoridade Tributária de Moçambique, assegurando um salto qualitativo na gestão do IRPS e no combate ao branqueamento de capitais.