Estrutura XML da TMT Portugal

Automatize o SIBA. Garanta a conformidade de todas as estadias.

Os hóspedes realizam um único check-in digital. A EazyAL elabora e envia o boletim de alojamento no prazo de 3 dias úteis.

Contents
No headings found

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:

  1. Recolher os dados da estadia dos hóspedes: contagem de hóspedes, noites, idades, taxa aplicável, isenções.

  2. 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.

  3. Gerar o ficheiro XML (ou CSV) em conformidade com o esquema do município.

  4. Iniciar sessão no portal municipal de TMT e carregar o ficheiro para o período relevante (mensal ou trimestral).

  5. Receber a confirmação e um número de referência de pagamento (número de compromisso).

  6. 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

Funchal (Madeira)

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:

Sobre o autor: O Daniel é engenheiro de software e anfitrião de Alojamento Local sediado na Madeira, Portugal. É o fundador da EazyAL, uma ferramenta concebida para simplificar o cumprimento das obrigações da SIBA, do INE e fiscais para anfitriões de alojamento de curta duração. O seu trabalho combina experiência prática de anfitrião com tecnologia para ajudar os anfitriões a manterem-se em conformidade e a reduzir o trabalho manual.

Autor Daniel de Oliveira

Sobre o autor: O Daniel é engenheiro de software e anfitrião de Alojamento Local sediado na Madeira, Portugal. É o fundador da EazyAL, uma ferramenta concebida para simplificar o cumprimento das obrigações da SIBA, do INE e fiscais para anfitriões de alojamento de curta duração. O seu trabalho combina experiência prática de anfitrião com tecnologia para ajudar os anfitriões a manterem-se em conformidade e a reduzir o trabalho manual.

We use cookies to improve your experience. By continuing, you agree to our cookie policy.