Tema
Gestão Tributária
A Gestão Tributária transforma o cadastro em dívida: cada imposto ou taxa devida por um contribuinte é um lançamento com número, exercício, base de incidência, valor calculado e memória de cálculo. Os lançamentos pendentes são depois agregados em guias/DUT pela Tesouraria. O cálculo dos impostos autárquicos é feito pelo motor tributário (serviço Java), com os parâmetros com vigência publicados em Administração › Parâmetros.
| Secção | Menus |
|---|---|
| Gestão tributária | Dashboard · Simulador de imposto · Contribuintes · Lançamentos · Taxas & Licenças · Calculadora de taxas |
| Lançamentos | Lista · Ficha (Dados · Memória de cálculo · Isenção · Auditoria) · Lançamento em massa |
| Sistema / Administração | Parâmetros (por vigência) · Tabela de taxas (postura) |
Taxas & Licenças e Calculadora de taxas pertencem ao Licenciamento; os lançamentos de tipo Licença e Taxa nascem lá (e nos Mercados, Fiscalização e Processos de Obra) e aparecem aqui.
Permissões
| Acção | Permissão |
|---|---|
| Ver lançamentos, dashboard, simulador | tributacao.view |
| Lançamento em massa, recalcular, criar lançamento (API) | tributacao.manage |
| Anular lançamento | tributacao.anular |
| Isentar / reduzir | tributacao.isentar |
| Criar/editar/propor parâmetros | administracao.manage |
| Aprovar e publicar parâmetros e taxas | administracao.taxas.aprovar |
Segregação de funções nos perfis padrão: o Técnico de Tributação lança e recalcula mas não anula nem isenta; o Vereador de Finanças tem tributacao.anular, tributacao.isentar e administracao.taxas.aprovar.
Dashboard e Simulador
Dashboard (Gestão Tributária — Painel): Total lançado, Pendentes de faturação, Contribuintes ativos e Dívida em aberto, com o funil lançado → faturado → pago.
Simulador de imposto: calcula VP e IPRA sem gravar nada — data do facto tributário (resolve os parâmetros vigentes a essa data), AE, AL, P (editável para simular), idade do imóvel (deriva o FA), FI (validado contra o intervalo da categoria) e uso do imóvel. Útil para responder a um munícipe ao balcão.
Tipos de receita
| Código | Rótulo no ecrã | Como nasce | Classificador económico (mapa de receita) |
|---|---|---|---|
| IPRA | IPRA — Imposto Predial | Lançamento em massa (imóveis) | 01.01.02 Imposto Predial Autárquico |
| IPA | IPA — Imposto Pessoal | Lançamento em massa (estabelecimentos) | 01.01.01 Imposto Pessoal Autárquico |
| IAV | IAV — Veículos | Lançamento individual (API) | 01.01.03 Imposto Autárquico sobre Veículos |
| SISA | SISA | Lançamento individual (API, calculado pelo motor) | 01.01.04 Imposto Autárquico da SISA |
| TAXA | Taxa | Mercados, Fiscalização, Obras, Licenciamento | 02.02.01 Taxas e tarifas municipais |
| LICENCA | Licença | Licenciamento / Processos de obra | 02.01.01 Taxas por licenças concedidas |
| MULTA | — | Autos de contravenção (Fiscalização) | (sem correspondência no mapa inicial) |
O mapa de receita liga cada tipo ao classificador económico da Contabilidade: a liquidação regista-se no momento em que o lançamento é criado e a cobrança no momento em que o recibo é emitido. Se um município ainda não tiver exercício aberto ou correspondência configurada, a emissão não é bloqueada — a contabilidade reconstrói-se depois com o comando de sincronização da receita (pedir ao administrador técnico).
Ciclo de vida do lançamento
Estados: Pendente → Faturado → Pago, mais Anulado e Prescrito.
| Transição | Quem a provoca |
|---|---|
| (novo) → Pendente | Lançamento em massa, lançamento individual, outro módulo |
| Pendente → Faturado | Emissão de guia na Tesouraria (o lançamento fica ligado à guia) |
| Faturado → Pendente | Anulação da guia |
| Faturado → Pago | Guia totalmente paga |
| Pago → Faturado | Anulação do pagamento que tinha liquidado a guia |
| Pendente → Prescrito | Automático: 5 anos após a data do facto tributário |
| Pendente / Faturado (guia anulada) → Anulado | Anular com motivo |
Regras:
- Prescrição avalia-se de forma automática ao abrir a lista, as estatísticas, a ficha ou ao recalcular. Só lançamentos pendentes prescrevem — um lançamento já faturado (guia emitida, cobrança em curso) nunca prescreve; passa a ser o vencimento da guia a governar o prazo. A prescrição abate a dívida da conta-corrente e fica auditada como "sistema (prescrição lazy)";
- Um lançamento pago não pode ser anulado ("reverta o pagamento primeiro");
- Um lançamento faturado só pode ser anulado depois de a guia estar anulada na Tesouraria — senão a guia ficaria viva com referência bancária activa contra uma dívida inexistente;
- Anular é idempotente e nunca apaga: o registo fica visível, com motivo, na trilha de auditoria;
- Numeração:
LC-{exercício}-{000001}, sequencial por exercício.
Lista de lançamentos
Gestão tributária › Lançamentos. Cartões: Total lançado (âmbito) com repartição IPRA · IPA · IAV · SISA, Pendentes (por faturar em guia), Faturados, Pagos, Anulados / Prescritos. O total soma valor calculado + juros e exclui anulados.
Pesquisa por número, contribuinte ou objecto; filtros Receita, Exercício, Estado. Colunas: Número · Contribuinte (nome + código) · Receita · Exercício · Valor · Estado. Ordenação por defeito: data de lançamento (mais recente primeiro). Botão Lançamento em massa.
TIP
Não há botão "Novo lançamento" na consola. Os lançamentos individuais (SISA, IAV, Taxa, Licença) são criados pela API ou pelos módulos de origem; IPRA e IPA nascem só do lançamento em massa.
Ficha do lançamento
Cabeçalho com número, tipo e contribuinte, e o estado. Cartões Base tributável, Imposto calculado, Juros de mora e Isenção. Acções Recalcular e Anular (só com tributacao.anular e se não estiver pago/anulado/prescrito).
- Dados — número, contribuinte, receita, exercício, objecto, estado, data de lançamento, data do facto tributário;
- Memória de cálculo — imposto, fórmula, variáveis de entrada, parâmetros vigentes, passos numerados e a versão de parâmetros fixada à data do facto tributário. Lançamentos vindos de outros módulos podem não ter memória ("Valor apurado pela origem externa");
- Isenção — ver abaixo;
- Auditoria — criado/actualizado por e quando, guia associada, marca de expurgo.
Recalcular
Pede ao motor tributário um valor fresco com os parâmetros vigentes e reescreve valor e memória. Só para IPRA, IPA e SISA (os outros tipos devolvem "não é recalculável pelo motor tributário"); não em lançamentos pagos/anulados; um prescrito devolve-se tal-qual. Se houver isenção/redução activa, é reaplicada sobre o valor novo. A diferença ajusta a conta-corrente. Motor indisponível → "Motor tributário indisponível" (503).
Isenção e redução
Separador Isenção (só aparece o formulário em lançamentos pendentes; exige tributacao.isentar).
| Campo | Obrigatório | Notas |
|---|---|---|
| Tipo | Sim | Isenção total · Redução parcial |
| Percentagem de redução | Se redução | entre 1 e 99 |
| Início da vigência | Sim | |
| Fim da vigência | Não | vazio = sem termo; não pode ser anterior ao início |
| Fundamento legal | Sim | máx. 255, ex.: "Art. 12.º do CTA — estabelecimento de ensino" |
Como funciona:
- Só existe uma decisão activa por lançamento — aplicar outra revoga a anterior (fica registada como revogada, nunca apagada);
- A vigência é comparada com a data do facto tributário do lançamento (não com "hoje"); se não a cobrir, a isenção fica registada mas sem efeito no valor;
- O valor bruto é guardado na memória (
valor_bruto) na primeira aplicação; aplicações seguintes partem sempre dele — duas reduções nunca se compõem; - O valor calculado passa a ser o líquido (é esse que a guia usa) e a conta-corrente ajusta-se pela diferença;
- A API recusa isentar lançamentos pagos, anulados ou prescritos. Tudo auditado (
isencao/reducao).
Anular
Anular › motivo obrigatório (máx. 255). Devolve o valor à conta-corrente. Ver as guardas na secção Ciclo de vida.
Lançamento em massa (IPRA e IPA)
Lançamentos › Lançamento em massa.
- Exercício (2000 até ano seguinte) e Tipo de receita — o servidor só aceita IPRA e IPA (o selector mostra os seis tipos; os outros devolvem erro de validação);
- Pré-visualizar totais → cartões Objetos elegíveis, Lançamentos a criar, Valor total previsto (simulação, nada é gravado). Mudar exercício ou tipo invalida a pré-visualização;
- Confirmar e lançar N → cria os lançamentos em estado pendente e volta à lista com a contagem. Se nada houver a lançar: "Todos os objetos elegíveis já têm lançamento para este exercício e receita."
Universo de emissão (chaveado por contribuinte + objecto, sem duplicar):
- Recondução — objectos com lançamento do mesmo tipo em exercício anterior, ainda não relançados; reutiliza as variáveis da memória de cálculo anterior;
- Primeira emissão — objectos do Cadastro Central que nunca tiveram lançamento deste tipo, de contribuintes ativos: para IPRA, imóveis tributáveis (com VP apurado); para IPA, todos os estabelecimentos.
Regras:
- Idempotente: correr duas vezes no mesmo exercício não duplica (um objecto já lançado nesse exercício, por qualquer via e não anulado, fica de fora);
- Data do facto tributário = 1 de Janeiro do exercício; data de lançamento = hoje;
- Cada objecto é calculado pelo motor: IPRA com
{vp, uso}(uso = tipo do imóvel), IPA sem variáveis do objecto (a fórmula usa só parâmetros do município); - Se o motor devolver um valor negativo para algum objecto, o lote inteiro é recusado e o erro identifica o objecto a corrigir;
- Motor indisponível → 503, nada é gravado.
WARNING
Só entram no IPRA os imóveis com selo Tributável e contribuinte ativo. Antes do lançamento anual, use os cartões Cadastros incompletos em Contribuintes para fechar o cadastro.
Lançamento individual (API)
POST /tributacao/lancamentos — tipos aceites: SISA, IAV, TAXA, LICENCA.
| Campo | Obrigatório | Notas |
|---|---|---|
contribuinte_id | Sim | ficha existente do Cadastro Central |
tipo_receita | Sim | SISA · IAV · TAXA · LICENCA |
exercicio | Sim | 2000 até ano seguinte |
objeto_tipo + objeto_id | Em conjunto | imovel · veiculo · estabelecimento — tem de ser um bem real do mesmo contribuinte |
valor_calculado | Excepto SISA | > 0 (a memória regista "Valor indicado manualmente pelo operador") |
variaveis.vp ou variaveis.valorDeclarado | Só SISA | pelo menos uma base > 0; o valor é calculado pelo motor |
data_facto_tributario, objeto_descricao, valor_base | Não |
Valores negativos (valor ou base) são recusados em qualquer origem — a restituição de uma dívida faz-se anulando a guia, nunca por lançamento negativo.
Impostos e taxas — fórmulas do motor
Todos os valores são calculados em decimal com arredondamento bancário (HALF_EVEN) a 2 casas. A memória de cálculo guarda fórmula, variáveis, parâmetros e passos.
Valor Patrimonial (VP) — Decreto n.º 61/2010
VP = (AE × P × FA + 0,05 × AL × P) × FIAE/AL em m²; P preço médio de construção (MT/m², parâmetro obrigatório); FA factor de antiguidade pela idade; FI factor de localização pela zona, limitado ao intervalo da categoria do município — A 0,75–1,50 · B 0,75–1,13 · C 0,70–1,12 · D 0,65–1,00. O VP dos imóveis do cadastro é apurado na gravação do imóvel (ver Contribuintes).
IPRA — Decreto n.º 63/2008
IPRA = VP × taxa(uso)Taxa legal: habitacional 0,4 %; comercial, industrial, misto e outros 0,7 %. O motor procura primeiro o parâmetro ipra.taxa.<uso> vigente; sem ele usa a taxa legal. Sem VP não há cálculo ("VP é obrigatório").
IPA — Lei n.º 1/2008 e Decreto n.º 63/2008
IPA = salário mínimo × taxa(categoria)Taxa por categoria da autarquia: A 4 % · B 3 % · C 2 % · D 1 %. O salário mínimo é parâmetro obrigatório do município (sem ele o motor devolve erro de parâmetro em falta); a categoria por omissão no motor é D.
SISA — 2 %
SISA = taxa × max(valor declarado, VP)Taxa legal 2 % (parâmetro sisa.taxa). A base é o maior entre o valor declarado na transmissão e o Valor Patrimonial.
IAV — tabela
IAV = tabela(combustível, cilindrada, antiguidade)Valor tabelado por combustível (gasolina/gasóleo), faixa de cilindrada (cm³) e antiguidade (anos), com vigência; o motor procura a faixa do município e, se não existir, a tabela global. Sem faixa aplicável → erro "sem faixa tabelada". Tabela por defeito na parametrização (chave iav): gasolina 0–1500 cm³ (0–5 anos) 1 200 MT; 1501–2500 cm³ (0–5 anos) 2 400 MT / (6–15 anos) 1 800 MT; gasóleo 0–2500 cm³ (0–10 anos) 3 200 MT; 2501–6000 cm³ (0–15 anos) 6 400 MT.
Juros de mora
J = V × i × nV capital em dívida; i taxa diária; n dias inteiros de atraso contados a partir da data-limite (0 dentro do prazo). Na Tesouraria os juros são calculados por linha da guia quando a guia vence — ver Tesouraria.
A taxa vem do parâmetro taxa_juros_mora_diaria (Administração › Parâmetros). Era antes uma constante fixa de 0,0004/dia (~14,6 %/ano) escrita no código e aplicada no caminho do pagamento: o munícipe pagava juros a uma taxa que ninguém deliberou. Publicar o parâmetro na consola projecta-o também para o motor tributário — uma deliberação comanda os dois lados.
Sem taxa publicada, os juros são zero — não é recusa
Ao contrário do tarifário, a falta deste parâmetro não impede o pagamento: dá juros a zero. O que falta não é o preço de um serviço, é um acréscimo sobre dívida já liquidada; impedir alguém de pagar o que deve por causa de um parâmetro em falta seria pior. Repare ainda que a norma indexa os juros do IPRA (MAIBOR 12 meses + 3 pontos percentuais, CTA art. 55 n.º 3) — converter isso numa taxa diária é uma decisão do município, com fundamento.
Factor de antiguidade (FA) e localização (FI)
FA é uma tabela decrescente com a idade do imóvel; FI é uma tabela por zona e categoria. Ambas vêm de Administração › Parâmetros (chaves fa e fi), com vigência — e não têm valor por defeito: sem publicação o cadastro não apura o VP e diz qual a chave em falta. O sistema traz, em rascunho e a título de referência, a Tabela I do FA e os intervalos legais do FI (fa_tabela_i, fi_intervalos); a Tabela I só tem os extremos apurados na norma, pelo que completar os escalões do meio é leitura do decreto, não arredondamento.
Parametrização fiscal com vigência
Sistema / Administração › Parâmetros. Cada linha é uma vigência de uma chave; criar produz sempre uma nova vigência (nunca se edita uma publicada) e os cálculos passados ficam intactos. Cartões: Parâmetros publicados, Propostas pendentes, Rascunhos, Próxima vigência.
| Campo | Obrigatório | Notas |
|---|---|---|
| Chave | Sim | sugestões: categoria_municipio, P, salario_minimo, taxa_ipa, taxa_ipra, fa, fi, iav, template_guia, template_recibo |
| Grupo | Sim | Município · Fiscal · Tabela · Documento |
| Tipo | Sim | Numérico · Seleção · Texto · Tabela · Modelo |
| Valor | Sim | numérico (com unidade MT, MT/m², %) ou JSON para tabela/modelo (é sugerida a forma por chave) |
| Início de vigência | Sim | |
| Fim de vigência | Não | vazio = sem termo |
| Fundamento | Não | deliberação da Assembleia Municipal / base legal |
Máquina de aprovação: Rascunho → Proposto → Aprovado → Publicado, um passo de cada vez.
- Propor (
administracao.manage) — rascunho passa a proposto; - Aprovar (
administracao.taxas.aprovar) — fica registado quem aprovou e quando; - Publicar (
administracao.taxas.aprovar) — só o publicado resolve nos cálculos; ao publicar, a vigência publicada anterior da mesma chave é fechada na véspera do novo início; - Só rascunhos e propostos podem ser editados (Editar vigência).
O detalhe (painel lateral) mostra a ficha, o valor JSON e a timeline de vigências da chave (vigente / futura / expirada). A API GET /parametros/vigentes?data= devolve o conjunto resolvido a uma data. As taxas fixadas por lei (taxa_ipa, taxa_ipra, taxa_sisa) têm sempre resposta — são nacionais. categoria_municipio, P, salario_minimo, fa e fi vêm vazias enquanto o município não publicar, e são listadas em por_parametrizar: é a resposta honesta, em vez de um palpite apresentado como certo.
Publicar na consola passou a comandar o motor
O ecrã Parâmetros escreve na parametrização municipal (cadastro de imóveis, Simulador, pré-visualização). O motor tributário que calcula IPRA/IPA/SISA tem parametrização própria — e, até esta versão, publicar na consola não a actualizava: o município mudava a taxa, via o valor novo no ecrã e continuava a liquidar pela taxa antiga.
Agora, publicar projecta o valor para o motor com a mesma vigência. Projectam-se P, salario_minimo, taxa_sisa, taxa_ipa, taxa_ipra e taxa_juros_mora_diaria; fa, fi e categoria_municipio comandam o cálculo pelo lado da consola (o motor recebe-os resolvidos no pedido); a grelha do iav tem tabela própria por faixa e não é projectada. A consola diz, chave a chave, em que caso está cada uma.
Valores de arranque do motor
O motor arranca com um conjunto de partida por município (vp.preco_construcao 8 000 · salario_minimo 4 390 · sisa.taxa 0,02 · ipa.taxa.A/B/C/D 0,04/0,03/0,02/0,01 · ipra.taxa.habitacional 0,004 · ipra.taxa.outros 0,007 · juros.taxa_diaria 0,0004). As taxas são as da lei e citam o diploma. O P, o salário mínimo e os juros são placeholders a confirmar pelo município — e a forma de os corrigir é publicá-los na consola, não editar a tabela do motor.
Tabela de taxas da postura
Sistema / Administração › Tabela de taxas: catálogo de taxas municipais com código, designação, zona (urbana/suburbana/turistica), escalão, unidade (fixo/mensal/anual/m²), valor, vigência e fundamento. Importar aceita linhas coladas do Excel/CSV (código · designação · zona · escalão · unidade · valor), que entram como rascunho; depois Aprovar → Publicar (administracao.taxas.aprovar). É a tabela que alimenta a Calculadora de taxas e os pedidos de licenciamento — e é o catálogo único: o mesmo onde se delibera e o mesmo que as liquidações consultam. Ver Administração.
Perguntas frequentes
- O IPRA de um imóvel novo não apareceu no lançamento em massa. Verifique se o imóvel está Tributável (VP > 0) e o contribuinte Ativo; se já existia um lançamento IPRA desse imóvel no exercício (mesmo anulado não conta, mas pendente/faturado/pago sim), não é relançado.
- O valor mudou depois de "Recalcular". Os parâmetros vigentes à data podem ter sido alterados; a memória mostra os parâmetros usados. A isenção activa foi reaplicada.
- Não consigo anular. Precisa de
tributacao.anular; se o lançamento está faturado, anule primeiro a guia na Tesouraria; se está pago, anule primeiro o pagamento.