XML Taxa Municipal Turística (TMT) Submissão em Portugal
1. O que é a submissão XML da taxa turística?
Em Portugal, a Taxa Municipal Turística (TMT) — também chamada 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 declarar periodicamente e entregar os montantes cobrados.
A maioria dos municípios trata isto através de um portal online dedicado, onde os anfitriões iniciam sessão e introduzem manualmente as noites dos hóspedes e os montantes. No entanto, um subconjunto de municípios vai mais longe: suporta carregamentos estruturados de ficheiros — seja XML ou CSV — que permitem submeter em massa os dados da declaração sem introdução manual de dados.
Submissão XML significa gerar um ficheiro num esquema definido pelo município e carregá-lo diretamente para a respetiva plataforma, substituindo todo o preenchimento manual de formulários para o período em causa.
2. Porque escolher a submissão XML?
2.1 O problema da introdução manual no portal
Para anfitriões com elevado volume de reservas ou várias propriedades, iniciar sessão em cada portal municipal todos os meses e introduzir manualmente noites de hóspedes, taxas aplicáveis e isenções consome tempo e está sujeito a erros. Cada município tem o seu próprio portal, a sua própria interface e os seus próprios prazos.
2.2 Vantagens da submissão XML
Pronto para automação: os ficheiros podem ser gerados programaticamente a partir dos dados das reservas — sem necessidade de intervenção humana por submissão.
Reporte 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 montantes calculados são incorporados no ficheiro em vez de serem introduzidos num formulário.
Potencial de integração: qualquer plataforma que contenha dados de estadia dos hóspedes (channel manager, PMS, ferramenta personalizada) pode produzir o ficheiro automaticamente.
Para a EazyAL, a submissão XML é o formato de saída natural: os dados dos hóspedes já são recolhidos e estruturados, pelo que gerar um ficheiro XML conforme a cada município é uma etapa de transformação simples, e não um fluxo de trabalho separado.
3. Que municípios aceitam submissões XML ou CSV?
Nem todos os mais de 40 municípios portugueses que cobram TMT suportam carregamentos XML ou CSV. A adoção é fragmentada — cada município decide o seu próprio mecanismo de submissão. Em 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 municipal aceita um carregamento de ficheiro estruturado para substituir a introdução manual | Suportado por um subconjunto de municípios; o formato varia consoante o município |
Plataforma de terceiros (da ACIN) com acordos de protocolo com dezenas de municípios; aceita API ou entrada por ficheiro | Cobertura mais alargada; utilizada por ferramentas como a Hostkit | |
integração 360City | Plataforma do GrupoPIE; os anfitriões recebem links de cobrança únicos; pagamento e reporte são tratados pela plataforma | Voltada para o hóspede; menos relevante para automação de back-end |
Introdução manual no portal | Iniciar sessão no portal municipal e introduzir os dados manualmente | 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 que aceitam XML/CSV (confirmado pela Hostkit em 2025):
A Hostkit confirmou suporte direto para carregamento XML ou CSV com municípios específicos em Portugal. A lista exata é mantida na respetiva documentação do helpdesk e está sujeita a alterações à medida que mais municípios adicionam esta funcionalidade. O padrão geral é que os municípios maiores ou mais orientados para a tecnologia estão a adicionar suporte a carregamento de ficheiros à medida que os seus portais amadurecem.
Importante: antes de implementar a geração XML para um município específico, verifique diretamente com a Câmara Municipal o formato atualmente aceito. Os formatos e os requisitos de campos podem alterar-se sem aviso público.
4. Como funciona a submissão XML — visão técnica
4.1 Fluxo geral
O processo é consistente entre os municípios que o suportam:
Recolher os dados de estadia dos hóspedes: número de hóspedes, noites, idades, taxa aplicável, isenções.
Calcular o montante tributável por estadia usando a fórmula do município: hóspedes elegíveis x noites elegíveis x tarifa por noite.
Gerar o ficheiro XML (ou CSV) em conformidade com o esquema do município.
Iniciar sessão no portal municipal da 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 montante declarado através do método de pagamento aceite pelo município.
4.2 Estrutura típica de um 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 | Valor de exemplo |
Número RNAL | Número de registo de AL que identifica o imóvel | 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 cumpre os critérios de idade e estadia | 112 |
Taxa aplicada | EUR por hóspede-noite elegível | 4.00 (Lisboa), 3.00 (Porto) |
Montante total declarado | TMT total devido no período | 448.00 |
Isenções aplicadas | Opcional: decomposição de noites/hóspedes isentos com códigos de motivo | Crianças com menos de 13 anos: 14 noites |
Montantes cobrados via OTA | Se a plataforma (por exemplo, protocolo Airbnb) tiver cobrado a taxa diretamente | Linha de item separada |
4.3 Caso especial: protocolo Airbnb
Lisboa (e alguns outros municípios) tem um protocolo direto com a Airbnb. Ao abrigo deste 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 precisam de entregar esses montantes por sua própria conta — mas continuam obrigados a apresentar a declaração periódica e a indicar as noites contratadas via Airbnb no campo designado. A submissão XML continua a ser necessária; o pagamento é simplesmente reduzido pelos montantes tratados pela Airbnb.
5. Referência de cálculo da taxa
A fórmula é consistente entre municípios, embora as taxas e os limites variem:
TMT Devido = Hóspedes Elegíveis x Noites Elegíveis x Taxa por Noite
Município | Taxa (2026) | Limite de Noites | Limite de Idade |
Lisboa | EUR 4.00 / noite | 7 noites | 13+ anos |
Porto | EUR 3.00 / noite | 7 noites | 13+ anos |
EUR 2.00 / noite | 7 noites | 13+ anos | |
Algarve (varia) | EUR 1.00 - 2.00 / noite | 7 noites | Normalmente 13+ |
Açores (São Miguel) | EUR 2.00 / noite | 3 noites | Normalmente 13+ |
Outros municípios | EUR 1.00 - 3.00 / noite | Normalmente 7 noites | Ver 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 rígida. A EazyAL deve manter uma tabela de taxas por município que possa ser atualizada sem alteração de código.
6. Como começar a usar a submissão XML
Passo 1 — Confirmar se o seu município suporta carregamento de ficheiros
Verifique se a plataforma 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.
Em alternativa, também pode consultar a lista de protocolos municipais da iTaxas em taxaturismo.pt para ver se o seu município está abrangido.
Passo 2 — Obter 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 da respetiva secção de documentação para programadores/operadores. Se estiver a usar a iTaxas, a respetiva documentação da API cobre o formato necessário.
Passo 3 — Registar o seu AL na plataforma TMT
O seu AL tem de estar registado no PTMT municipal antes de poder submeter declarações. O registo requer o seu número RNAL e a identificação fiscal (NIF) do operador de AL. Trata-se de um passo único, realizado após o registo do AL na Câmara Municipal.
Passo 4 — Construir ou configurar a exportação de dados
Os dados necessários para o ficheiro XML têm de provir dos seus registos de reservas: número de hóspedes, datas, idades (para cálculo de isenções) e duração da estadia. Se estiver a usar a EazyAL, estes dados já são capturados no check-in do hóspede através do formulário SIBA/AIMA — os mesmos dados recolhidos para o registo na AIMA alimentam diretamente o cálculo da TMT.
Passo 5 — Gerar e validar 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, se o portal disponibilizar um modo de validação. Verifique especialmente: formato do número RNAL, formato da data, precisão numérica dos montantes e campos obrigatórios vs. facultativos.
Passo 6 — Carregar e confirmar
Carregue através do portal para o período de declaração relevante. Após aceitação com sucesso, a plataforma emite um número de compromisso. Guarde-o — é necessário quando faturar aos hóspedes o montante da TMT e quando efetuar o pagamento subsequente.
Passo 7 — Entregar o montante 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, em alguns casos, débito direto. Os prazos são tipicamente o fim do mês seguinte ao período de declaração (para declarações mensais) ou o fim do mês seguinte ao trimestre (para declarações trimestrais).
7. Periodicidade de reporte e prazos
Periodicidade | Quem | Prazo de declaração | Prazo de pagamento |
Mensal | Maioria dos operadores; obrigatório acima de certos limiares | 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 final do trimestre | Fim do mês após o final do trimestre |
No registo | Uma vez: registar o AL no PTMT | Dentro do prazo legal após a emissão do RNAL | N/A |
A falta de apresentação das declarações ou de entrega dos montantes cobrados dentro do prazo pode resultar em coimas. A TMT é cobrada em confiança para o município — nunca é receita do operador e não faz parte do rendimento de AL para efeitos de IRS/IRC.
8. Considerações de integração com a EazyAL
A EazyAL está posicionada para automatizar este passo de reporte porque os dados dos hóspedes necessários para o cálculo da TMT se sobrepõem significativamente aos dados já recolhidos para registo AIMA/SIBA:
Campo de dados | Usado para SIBA/AIMA? | Usado para XML da TMT? |
Nome completo do hóspede | Sim | Não (normalmente) |
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 (origina as noites) |
Número de hóspedes por estadia | Sim | Sim |
Número RNAL do AL | Sim | Sim |
Município | Implícito | Sim (determina a taxa e o esquema) |
Decisões-chave de implementação:
Tabela de taxas por município: mantenha uma tabela configurável de taxas, limites de noites e limiares de idade por município. Esta deve poder ser atualizada sem necessidade de um deploy de código.
Esquema por município: os schemas XML diferem. Construa um gerador de ficheiros por município, e não um genérico — trate cada esquema como um modelo separado.
Sinalização Airbnb/OTA: as reservas de plataformas com protocolo OTA precisam de uma sinalização para que os respetivos montantes sejam excluídos do total a entregar (mas continuem a aparecer na declaração).
Registo de isenções: as isenções baseadas na idade exigem conhecer a idade do hóspede no check-in. Garanta que o formulário do hóspede recolhe a data de nascimento, e não apenas uma opção booleana 'mais de 13 anos'.
Armazenamento do número de compromisso: após o carregamento, guarde o número de compromisso associado ao período de declaração para que possa ser referenciado nas faturas.
Este documento é uma referência técnica interna para o desenvolvimento da EazyAL. Os regulamentos municipais e as capacidades dos portais mudam frequentemente. Verifique sempre os requisitos atuais diretamente com a Câmara Municipal relevante ou com a iTaxas antes de implementar a lógica de submissão.

