Submissão de XML da Taxa Municipal Turística (TMT) em Portugal
O Que É a Submissão de XML da Taxa Turística?
Em Portugal, a Taxa Municipal Turística (TMT) — também chamada de taxa turística ou taxa de cidade — é uma taxa municipal que os operadores de AL cobram aos hóspedes em nome da respetiva Câmara Municipal. Por lei, os operadores devem periodicamente declarar e entregar os valores cobrados.
A maioria dos municípios gere isto através de um portal online dedicado onde os anfitriões iniciam sessão e inserem manualmente as noites dos hóspedes e os valores. No entanto, um conjunto de municípios vai mais além: suportam o envio de ficheiros estruturados — quer XML quer CSV — que permitem a submissão em massa dos dados declarados sem necessidade de introdução manual de dados.
A submissão em XML significa gerar um ficheiro num esquema definido pelo município e carregá-lo diretamente na respetiva plataforma, substituindo todo o preenchimento manual de formulários para esse período de declaração.
Porquê Escolher a Submissão em XML?
2.1 O Problema da Introdução Manual no Portal
Para os anfitriões com elevados volumes de reservas ou múltiplas propriedades, iniciar sessão em cada portal municipal todos os meses e introduzir manualmente as noites dos hóspedes, as taxas aplicáveis e as isenções é moroso e propenso a erros. Cada município tem o seu próprio portal, a sua interface e os seus prazos.
2.2 Vantagens da Submissão em XML
Pronto para automação: os ficheiros podem ser gerados de forma programática a partir dos dados de reserva — sem necessidade de intervenção humana por cada submissão.
Declaração em massa: um único ficheiro cobre todas as reservas no período de declaração, independentemente do volume.
Auditabilidade: os ficheiros gerados são registos estruturados que pode arquivar e cruzar com os seus próprios dados.
Redução de erros: os valores calculados estão incorporados no ficheiro em vez de serem digitados num formulário.
Potencial de integração: qualquer plataforma que retenha dados de estadia de hóspedes (channel manager, PMS, ferramenta personalizada) pode produzir o ficheiro automaticamente.
Para o EazyAL, a submissão em XML é o formato de saída natural: os dados dos hóspedes já estão recolhidos e estruturados, pelo que a geração de um ficheiro XML em conformidade por município é um passo de transformação simples, em vez de um fluxo de trabalho separado.
Quais os Municípios que Aceitam Submissões em XML ou CSV?
Nem todos os mais de 40 municípios que cobram TMT em Portugal suportam carregamentos em XML ou CSV. A adoção é fragmentada — cada município decide o seu próprio mecanismo de submissão. A partir de 2026, existem três vias principais:
Vias de Submissão por Tipo de Município
Via | Como Funciona | Notas |
Carregamento direto de XML/CSV | O portal do município aceita o carregamento de um ficheiro estruturado para substituir a introdução manual | Suportado por um subconjunto de municípios; o formato varia consoante o município |
iTaxas integração | Plataforma de terceiros (da ACIN) com acordos de protocolo com dezenas de municípios; aceita entrada por API ou ficheiro | Cobertura mais ampla; utilizada por ferramentas como o Hostkit |
Integração 360City | Plataforma do GrupoPIE; os anfitriões obtêm links de cobrança únicos; pagamento e declaração geridos pela plataforma | Voltado para o hóspede; menos relevante para a automação de relatórios de back-end |
Introdução manual no portal | Iniciar sessão no portal municipal, introduzir manualmente os campos de dados | Ainda necessário para muitos municípios sem opção de carregamento de ficheiros |
Apenas transferência bancária | Sem portal; enviar pagamento com referência; sem declaração digital | Apenas em alguns municípios mais pequenos |
Municípios conhecidos por aceitar XML/CSV:
O Hostkit confirmou o suporte para carregamento direto de XML ou CSV com municípios específicos em Portugal. A lista exata é mantida na documentação do respetivo suporte técnico e está sujeita a alterações à medida que mais municípios adicionam esta capacidade. O padrão geral é que municípios maiores ou mais avançados tecnologicamente estão a adicionar o suporte ao carregamento de ficheiros conforme os seus portais evoluem.
Importante: Antes de implementar a geração de XML para um município específico, verifique o formato atualmente aceite diretamente com a Câmara Municipal. Os formatos e os requisitos de campos podem mudar sem aviso público.
Como Funciona a Submissão em XML — Visão Geral Técnica
4.1 Fluxo Geral
O processo é consistente entre os municípios que o suportam:
Recolher os dados da estadia dos hóspedes: contagem de hóspedes, noites, idades, taxa aplicável, isenções.
Calcular o valor tributável por estadia utilizando a fórmula do município: hóspedes elegíveis x noites elegíveis x taxa por noite.
Gerar o ficheiro XML (ou CSV) em conformidade com o esquema do município.
Iniciar sessão no portal municipal de TMT e carregar o ficheiro para o período relevante (mensal ou trimestral).
Receber a confirmação e um número de referência de pagamento (número de compromisso).
Entregar o valor declarado através do método de pagamento aceite pelo município.
4.2 Estrutura Típica do Ficheiro XML
Embora cada município defina o seu próprio esquema, os campos de dados necessários são em grande parte consistentes:
Campo | Descrição | Exemplo de Valor |
Número de RNAL | Número de registo de AL que identifica a propriedade | 12345/AL |
Período de declaração | Mês e ano da declaração | 2026-04 |
Total de noites elegíveis | Noites sujeitas a TMT (após isenções e limites de noites) | 84 |
Total de hóspedes elegíveis | Contagem de hóspedes-noite que cumprem os critérios de idade e estadia | 112 |
Taxa aplicada | EUR por hóspede-noite elegível | 4.00 (Lisboa), 3.00 (Porto) |
Valor total declarado | Total de TMT devida para o período | 448.00 |
Isenções aplicadas | Opcional: detalhe das noites/hóspedes isentos com códigos de motivo | Crianças com menos de 13 anos: 14 noites |
Valores cobrados pelas OTA | Se a plataforma (por exemplo, protocolo da Airbnb) cobrou a taxa diretamente | Rubrica separada |
4.3 Caso Especial: Protocolo da Airbnb
Lisboa (e alguns outros municípios) tem um protocolo direto com a Airbnb. Segundo este acordo, a Airbnb cobra e entrega a TMT das reservas feitas através da sua plataforma diretamente ao município. Os operadores de AL com atividade exclusiva na Airbnb em Lisboa não necessitam de entregar esses valores eles mesmos — mas continuam obrigados a submeter a declaração periódica e a indicar as noites contratadas pela Airbnb no campo designado. A submissão do XML ainda deve ocorrer; o pagamento é simplesmente deduzido dos valores geridos pela Airbnb.
Referência de Cálculo de Imposto
A fórmula é consistente entre os municípios, embora as taxas e os limites variem:
TMT Devida = Hóspedes Elegíveis x Noites Elegíveis x Taxa por Noite
Município | Taxa (2026) | Limite de Noites | Idade Mínima |
Lisboa | 4.00 EUR / noite | 7 noites | 13+ anos |
Porto | 3.00 EUR / noite | 7 noites | 13+ anos |
2.00 EUR / noite | 7 noites | 13+ anos | |
Algarve (varia) | 1.00 - 2.00 EUR / noite | 7 noites | Geralmente 13+ |
Açores (São Miguel) | 2.00 EUR / noite | 3 noites | Geralmente 13+ |
Outros municípios | 1.00 - 3.00 EUR / noite | Geralmente 7 noites | Verificar regulamento local |
As taxas e os limites mudam. Obtenha sempre a configuração da taxa a partir de uma fonte específica do município, em vez de a codificar de forma fixa. O EazyAL deve manter uma tabela de taxas por município que possa ser atualizada sem alteração no código.
Poupe no trabalho: calcule a taxa turística para a sua reserva em segundos com a nossa Calculadora Gratuita de Taxas Turísticas em Portugal.
Como Começar a Usar a Submissão em XML
Passo 1 — Confirme se o seu município suporta o carregamento de ficheiros
Verifique se a plataforma de TMT (PTMT) da sua Câmara Municipal aceita carregamentos de ficheiros XML ou CSV. A forma mais rápida é iniciar sessão na plataforma e procurar uma opção de importação/carregamento, ou contactar diretamente o município.
Alternativamente, também pode consultar a lista de protocolos municipais do iTaxas em taxaturismo.pt para ver se o seu município está coberto.
Passo 2 — Obtenha a especificação do ficheiro
Se o carregamento direto de XML for suportado, solicite a especificação técnica (esquema ou definições de campos) no portal municipal ou descarregue-a na secção de documentação para programadores/operadores. Se estiver a utilizar o iTaxas, a respetiva documentação de API cobre o formato exigido.
Passo 3 — Registe o seu AL na plataforma de TMT
O seu AL deve estar registado no PTMT municipal antes de poder submeter declarações. O registo requer o seu número de RNAL e a identificação fiscal do operador de AL (NIF). Este é um passo único feito após o registo do AL na respetiva Câmara Municipal.
Passo 4 — Construa ou configure a sua exportação de dados
Os dados necessários para o ficheiro XML devem provir dos seus registos de reservas: contagem de hóspedes, datas, idades (para cálculo de isenções) e duração das estadias. Se estiver a utilizar o EazyAL, estes dados já são recolhidos no check-in do hóspede através do formulário SIBA/AIMA — os mesmos dados do hóspede recolhidos para o registo na AIMA alimentam diretamente o cálculo da TMT.
Passo 5 — Gere e valide o ficheiro
Construa o ficheiro XML em conformidade com o esquema do município. Antes da primeira submissão, valide-o manualmente contra o esquema ou carregue um ficheiro de teste caso o portal disponibilize um modo de validação. Verifique especialmente: formato do número de RNAL, formato de data, precisão numérica dos valores e campos obrigatórios vs opcionais.
Passo 6 — Carregue e confirme
Carregue através do portal para o período de declaração correspondente. Após a aceitação com sucesso, a plataforma emite um número de compromisso. Guarde-o — este é necessário no momento de faturar a TMT aos hóspedes e para efetuar o pagamento subsequente.
Passo 7 — Entregue o valor declarado
O método de pagamento varia consoante o município: transferência bancária com referência estruturada, pagamento online através do portal ou, nalguns casos, débito direto. Os prazos são tipicamente o fim do mês seguinte ao período de declaração (para declarantes mensais) ou o fim do mês seguinte ao trimestre (para declarantes trimestrais).
Periodicidade de Declaração e Prazos
Periodicidade | Quem | Prazo de Declaração | Prazo de Pagamento |
Mensal | A maioria dos operadores; obrigatório acima de certos limites | Fim do mês seguinte | Fim do mês seguinte |
Trimestral | Disponível para operadores mais pequenos em alguns municípios | Fim do mês após o fecho do trimestre | Fim do mês após o fecho do trimestre |
No registo | Única vez: registar o AL no PTMT | Dentro do prazo legal após emissão do RNAL | N/A |
A não submissão de declarações ou a falta de entrega pontual dos valores cobrados pode resultar em multas. A TMT é cobrada em depósito para o município — nunca constitui receita do operador e não faz parte do rendimento do AL para efeitos de IRS/IRC.
Considerações de Integração do EazyAL
O EazyAL está posicionado para automatizar esta etapa de reporte porque os dados dos hóspedes necessários para o cálculo da TMT coincidem significativamente com os dados já recolhidos para o registo na AIMA/SIBA:
Campo de Dados | Usado para SIBA/AIMA? | Usado para XML de TMT? |
Nome completo do hóspede | Sim | Não (tipicamente) |
Data de nascimento / idade | Sim | Sim (a idade determina a isenção) |
Nacionalidade / documento | Sim | Não |
Data de check-in | Sim | Sim |
Data de check-out | Sim | Sim (determina as noites) |
Número de hóspedes por estadia | Sim | Sim |
Número de RNAL do AL | Sim | Sim |
Município | Implícito | Sim (determina a taxa e o esquema) |
Principais decisões de implementação:
Tabela de taxas por município: Manter uma tabela configurável de taxas, limites de noites e faixas etárias de isenção por município. Esta deve poder ser atualizado sem necessidade de nova implementação de código.
Esquema por município: Os schemas de XML diferem. Desenvolva um gerador de ficheiros por município, e não um genérico — trate cada esquema como um template separado.
Indicador de Airbnb/OTA: As reservas oriundas de plataformas com protocolo OTA precisam de contar com um marcador para que os seus valores sejam excluídos do total a pagar (embora continuem a constar da declaração).
Acompanhamento de isenções: As isenções baseadas na idade exigem saber a idade do hóspede no momento do check-in. Certifique-se de que o formulário do hóspede recolhe a data de nascimento, e não apenas um indicador booleano 'maior de 13'.
Armazenamento do número de compromisso: Após o carregamento, guarde o número de compromisso associado ao período de declaração correspondente para que possa ser referenciado nas faturas.
Erros Comuns na Submissão em XML e Soluções
Código de Erro | O Que O Causa | Solução |
|---|---|---|
Formato de NIF Inválido | O número de contribuinte contém espaços, traços ou número incorreto de dígitos | Certifique-se de que o NIF tem exatamente 9 dígitos, sem separadores (ex. 123456789, em vez de 123.456.789) |
Falta de Campo Obrigatório | Campo obrigatório (nome do hóspede, datas, valor) deixado em branco | Verifique se todos os dados do hóspede, check-in, check-out e valor da taxa estão preenchidos antes da submissão |
Erro de Validação do Esquema XML | A estrutura do ficheiro não coincide com o modelo oficial português | Use um software de faturação certificado pela AT (Fiskaly, fornecedores de SAF-T) para gerar ficheiros; nunca edite o XML manualmente |
Divergência no Formato de Data | Datas submetidas como DD/MM/AAAA em vez de AAAA-MM-DD | Converta todas as datas para o formato ISO 8601 (2026-05-15, em vez de 15/05/2026) |
Registo Duplicado Detetado | O mesmo hóspede, mesma propriedade, mesmas datas submetidos duas vezes | Verifique os registos de reservas em busca de duplicados; o sistema armazena o histórico de submissões |
Código de Moeda Inválido | Valor da taxa submetido no formato incorreto | Utilize o código de moeda EUR; certifique-se de que os valores utilizam o formato decimal (€2.00, em vez de €2,00) |
Incompatibilidade de Número de Conta | A conta bancária não coincide com os registos municipais | Contacte a Câmara Municipal para verificar a conta registada; ressubmeta com a referência de conta correta |
Perguntas Frequentes - Submissão de Impostos por XML
P: O que acontece se eu falhar o prazo de submissão do XML? R: O incumprimento dos prazos para as submissões das taxas municipais pode resultar em coimas que variam entre €100 e €2.000, dependendo do número de registos omitidos. Por exemplo, a não declaração de 1 a 10 registos de hóspedes acarreta multas de €100 a €500, enquanto a omissão de 11 a 50 registos resulta em penalizações de €200 a €900. A maioria dos municípios concede um período de tolerância de 5 a 10 dias antes da aplicação de coimas. Contacte o departamento fiscal do seu município imediatamente caso se atrase no prazo; muitos aceitarão submissões tardias com uma taxa simbólica em vez de aplicarem a totalidade da coima.
P: Posso submeter ficheiros XML para múltiplos municípios num único lote? R: Não. Cada município mantém o seu próprio portal e sistema de submissão de ficheiros. Deverá submeter ficheiros XML separados a cada município (Ponta Delgada, Sintra, Funchal, etc.) utilizando o portal específico de cada um. Contudo, o EazyAL assegura esta automação — o nosso software gera ficheiros XML específicos por município e submete-os aos portais corretos de forma automática, poupando-o de submissões manuais.
P: Que formatos de ficheiro são aceites além de XML? R: Os sistemas de taxas municipais em Portugal exigem o formato SAF-T XML (Ficheiro de Auditoria Standard para Efeitos Fiscais, especificado na Portaria n.º 321-A/2007). Alguns municípios aceitam relatórios em PDF apenas para fins de consulta, mas o XML é o formato obrigatório e oficial para efeitos de submissão. Todos os ficheiros devem ser gerados através de um software certificado pela AT (Autoridade Tributária e Aduaneira).
P: Quanto tempo demora o município a confirmar a receção do meu envio XML? R: A maioria dos municípios providencia uma confirmação imediata (em segundos ou minutos) através do respetivo portal online com o estado "Submissão Aceite" acompanhado de um número de referência. Contudo, a validação completa e o processamento podem demorar entre 5 a 15 dias úteis. Pode consultar o estado da submissão no portal online do seu município utilizando o seu número de registo. Se não receber uma confirmação no prazo de 24 horas, a submissão poderá ter falhado devido a um erro de validação — verifique a sua caixa de correio eletrónico em busca de relatórios de erro.
P: Qual é a diferença entre o prazo de submissão e o prazo de pagamento? R: O prazo de submissão situa-se tipicamente no dia 5 do mês seguinte ao período declarado (até 5 de maio para as cobranças de abril). O prazo de pagamento ocorre habitualmente entre 15 a 30 dias após a submissão. Por exemplo: cobra as taxas em abril → submete o XML até 5 de maio → paga o saldo devido entre 20 e 31 de maio, dependendo do município. O incumprimento do prazo de submissão incorre em coimas de atraso; o incumprimento do prazo de pagamento acarreta a cobrança de juros de mora (normalmente de 3 a 5% ao mês).
Estatísticas de Poupança de Tempo
Antes da Automação (Processo Manual):
Tempo médio para compilar registos de hóspedes: 4-6 horas por município, por mês
Tempo para formatar dados corretamente: 1-2 horas (risco de erros)
Tempo para verificar e corrigir erros: 2-3 horas (descoberta de problemas de formatação)
Acompanhamento de submissões falhadas: 1-2 horas
Total: 8-13 horas por município, por mês
Depois da Automação com o EazyAL:
Recolha automática a partir das plataformas de reservas: 0 horas (em tempo real)
Conversão de formato e validação: 0 horas (automatizado)
Correção de erros: 0 horas (a validação ocorre antes da submissão)
Submissão: 0 horas (automatizada e agendada)
Total: 0 horas (automação total)
Poupança Anual (3 propriedades distribuídas por 3 municípios):
Abordagem manual: 8-13 horas × 3 municípios × 12 meses = 288-468 horas/ano
A €30/hora (custo padrão de mercado pelo tempo de um técnico de contas): €8.640-€14.040/ano em custos de mão-de-obra
A €50/hora (tarifa de um contabilista certificado): €14.400-€23.400/ano em custos de mão-de-obra
Custo de risco de uma única submissão falhada: €100-€2.000 em coimas
Este documento é uma referência técnica interna para o desenvolvimento do EazyAL. Os regulamentos municipais e as capacidades dos portais mudam frequentemente. Confirme sempre os requisitos atuais diretamente junto da Câmara Municipal em questão ou do iTaxas antes de implementar a lógica de submissão.
Links para estes guias relacionados:
Automatizar a Taxa Turística Municipal da Calheta com EazyAL e iTaxas 2026 — Saiba como os municípios integram a submissão de XML com o iTaxas
Leis de Alojamento Local em Portugal 2026: O Guia Legal Completo — Compreenda o enquadramento regulatório que exige as submissões por XML
Taxa Turística Municipal de Sintra: Pronto para Poupar Tempo? Automatize com o EazyAL — Veja como outros municípios gerem o reporte de taxas




