# Importar membros por folha de cálculo

> Como trazer uma lista de pessoas de qualquer folha de cálculo .xlsx ou .csv para a comunidade - origem, ficheiro, colunas, grupos e tags, consentimento, resumo e relatório -, o que cada pessoa recebe por e-mail e como recusa o convite.

O separador **Importar folha de cálculo** da janela **Convidar Membros** traz para a comunidade as pessoas de uma folha de cálculo: a lista de inscritos de um evento, a base de associados, os alunos de uma turma. Serve qualquer folha de cálculo: indica para onde vai cada coluna, escolhe a função, os grupos e as tags para todos, confere um resumo e só então importa. Cada pessoa nova recebe um convite por e-mail.

> [!WARNING]
> Importe apenas quem **autorizou** receber e-mails e participar na comunidade. Listas compradas, sorteios e dados recolhidos por robôs são proibidos. Leia a [Política de convites e importação de membros](/membros/politica-de-convites) antes de importar.

## Para que serve

| Comunidade | Folha de cálculo |
|---|---|
| Evento | Os inscritos que marcaram *"Quero participar na comunidade"*, com a coluna do tipo de bilhete a passar a tag |
| Associação | A base de associados, com a empresa e o cargo a passarem a campos customizados |
| Escola | Os matriculados do semestre, todos no grupo da turma |
| Coworking | Os residentes, com a coluna *Piso* a ir para Grupos |

## Como funciona

### Quem pode importar

**Proprietário** e **administrador**. A importação só atribui a função de **Membro** ou **Moderador**: quem precisa de entrar como administrador ou financeiro é convidado pelo separador **Digitar e-mails**. Ver [Convidar membros](/membros/convidar-membros).

### O ficheiro

- **.xlsx** ou **.csv**. O `.xls` antigo e o `.xlsm` (com macros) são recusados, mesmo com outro nome.
- Até **5 MB**, **5.000 linhas** de dados e **100 colunas**.
- As fórmulas valem pelo valor calculado; as células unidas, pelo valor da primeira.
- No CSV, a Memberfy deteta sozinha a **codificação** (acentos certos mesmo num ficheiro guardado por um Excel antigo) e o **separador** (vírgula, ponto e vírgula, tabulação ou barra vertical). É possível mudar os dois.

### O que acontece com cada linha

| Caso | O que acontece |
|---|---|
| E-mail sem conta na Memberfy | Ganha a conta e entra na comunidade, com a função, os grupos (incluindo o [grupo padrão](/membros/grupos-e-organograma)), as tags e os campos. Recebe o convite com **Definir a minha palavra-passe** |
| Já tem conta, mas não é desta comunidade | Entra na comunidade. O nome e o telefone da conta não mudam (valem noutras comunidades). Recebe o convite com **Entrar** |
| **Já é membro** | Não muda a função nem o nome. **Recebe** os grupos e as tags (nada é retirado) e preenche apenas os campos customizados **vazios**. Não recebe e-mail. Conta como *atualizado* |
| E-mail repetido na folha de cálculo | Vale a primeira linha; as outras são ignoradas como *duplicado na folha de cálculo* |
| Sem e-mail ou com e-mail inválido | Ignorada com o motivo, sem parar o resto |
| Sem consentimento | Ignorada (quando há coluna de consentimento) |
| Pediu para não participar desta comunidade | Ignorada; não sai nenhum e-mail |
| Valor que não serve para o campo | Só esse campo fica vazio; a pessoa entra e o relatório avisa |

### O convite por e-mail

Cada pessoa **nova** na comunidade recebe um e-mail em nome da comunidade, com a **origem da lista** (*"Recebeu este convite porque os seus dados constam em: Inscritos do evento X de 2026"*) e, no rodapé, a ligação **Agradeço o convite, mas não quero participar**. Quem não tem conta recebe **Definir a minha palavra-passe** (a ligação vale por 7 dias e só uma vez); quem já tem, **Entrar**. Quem já era membro não recebe nada.

Os e-mails da importação **não contam** para a [quota das campanhas](/notificacoes/campanhas-de-email#quota-de-envios).

### Em segundo plano

Ao clicar em **Importar**, a importação entra numa fila e corre sozinha: pode fechar a janela. Os convites saem ao ritmo das campanhas, cerca de **5 por segundo**, por isso uma lista de 3.000 pessoas demora uns 10 minutos a ser entregue. No fim, quem importou recebe um aviso na aplicação e um e-mail com o resumo.

A comunidade lê **uma folha de cálculo de cada vez**. Se outra pessoa da equipa estiver a importar no mesmo instante, o ecrã diz *"Outra folha de cálculo está a ser lida agora. Tente novamente em instantes."*

### O que fica guardado

A importação regista quem importou, quando, o nome do ficheiro, a origem e o consentimento usado (a coluna e os valores, ou a declaração). Uma **cópia do ficheiro original** fica guardada num local privado, sem prazo para ser apagada: o proprietário e o administrador transferem-na pelo histórico (**Importações anteriores › Ver › Transferir o ficheiro original**). Na ficha de quem entrou, a equipa lê *"Origem: importação por folha de cálculo em …"*.

## Passo a passo

*Papel: proprietário ou administrador.*

1. **Administração › Membros**, botão **Convidar Membros**, separador **Importar folha de cálculo**.
2. No topo da janela, escolha a **Função** (Membro ou Moderador), os **Grupos** e as **Tags** para todos. Um grupo ou uma tag nova cria-se ali mesmo, escrevendo o nome. Estes três campos são os mesmos do separador **Digitar e-mails**: o que escolher num vale no outro.
3. **1. Origem.** Escreva a **Origem da lista** (obrigatória, até 150 caracteres, sem ligações), por exemplo *Inscritos do evento X de 2026*. Ela vai no e-mail de cada convidado. Escolha o ficheiro (arraste ou clique) e clique em **Próximo**.
4. **2. Ficheiro.** Confira a leitura: a **Aba** (num .xlsx com várias), a **Linha de cabeçalho** (*"Cabeçalho na linha 8."*, quando a folha tem um título por cima) e, num CSV, o **Separador** e a **Codificação**. Mudar qualquer um volta a ler o ficheiro.
5. **3. Colunas.** Cada coluna aparece com as 3 primeiras linhas e o seletor **Vai para**. As **reconhecidas automaticamente** (e-mail, nome, apelido, telefone, campos que já existem) vêm primeiro; as outras ficam em **Ignorar**, recolhidas em *"28 colunas ignoradas — mostrar"*. Os destinos:

   | Vai para | Regra |
   |---|---|
   | **E-mail** | Obrigatório, uma só coluna. Sem ele, *"Escolha a coluna de e-mail para continuar."* |
   | **Nome** e **Apelido** | Juntos formam o nome completo. Uma coluna de nome completo também serve |
   | **Telefone** | Ajustado ao formato internacional, com o país da comunidade como padrão; ilegível fica vazio |
   | **Tags** | Cada valor passa a ser uma tag (separe várias com `,` `;` ou `\|`). Ex.: *Tipo de bilhete* |
   | **Grupos** | Cada valor põe a pessoa no grupo com o mesmo nome; o que não existir **passa a grupo novo** |
   | **Consentimento** | A coluna que diz quem aceitou. Marque quais valores **contam como sim** (*Sim*, *x*, *aceito*…) |
   | **Campo: …** | Um [campo customizado](/membros/campos-customizados) que já existe |
   | **+ Novo campo customizado** | Cria o campo com o nome da coluna (editável) e o tipo sugerido pelo conteúdo. Nasce **opcional** |
   | **Ignorar** | A coluna não é importada |

   Consentimento, Tags e Grupos nunca são sugeridos: é o utilizador quem escolhe. Colunas com o mesmo nome aparecem separadas (*Telefone (col. 24)*, *Telefone (col. 30)*), e só uma pode ir para cada dado da pessoa.
6. **Consentimento.** Com uma coluna de consentimento, entram apenas as linhas com os valores marcados. Sem ela, marque a declaração *"Declaro que todas as pessoas desta lista autorizaram receber e-mails e participar desta comunidade."* Sem uma das duas, não é possível importar.
7. **4. Resumo.** Confira antes de gravar: **Linhas na folha de cálculo**, **Pessoas novas**, **Já são membros**, **Serão ignoradas** (com o motivo), **Ignoradas porque pediram para não participar**, **E-mails de convite que serão enviados** e os grupos, tags e campos que **serão criados**, pelo nome. Clicar em **Importar** confirma tudo isto; não há outra pergunta.
8. **5. Resultado.** O progresso aparece na janela. No fim: **Importados**, **Atualizados**, **Ignorados** e **Convites enviados**, a lista das **Linhas ignoradas** com o motivo, as **Linhas importadas com aviso** e o botão **Transferir CSV dos erros** (as linhas originais com a coluna do motivo, para corrigir e importar de novo).

**Importações anteriores**, no próprio separador, mostra o histórico: cada importação com a data, as contagens, o estado e o ficheiro original.

## Recusar o convite

Quem foi importado e não quer participar tem dois caminhos:

- **Pelo e-mail:** a ligação **Agradeço o convite, mas não quero participar** abre uma página da comunidade, sem início de sessão, com **Confirmar: não quero participar**.
- **Na comunidade:** em **A Minha Conta**, a mesma frase aparece discreta, com a explicação *"Você foi adicionado a esta comunidade por uma importação de lista."*

Ao confirmar, a pessoa sai da comunidade e entra na **lista de recusa**: a comunidade deixa de a poder importar ou convidar. A conta dela na Memberfy continua a existir. Só volta se entrar por iniciativa própria, pelo registo aberto.

- A ligação do e-mail vale por **30 dias** e deixa de valer quando a pessoa **aceita o convite** (define a palavra-passe e entra) ou quando a **função dela muda**. A partir daí, para sair, fala com quem administra a comunidade.
- A recusa **não vale para quem é da equipa** (moderador, administrador, financeiro) nem para quem tem uma **subscrição** ativa ou pendente na comunidade: a pessoa cancela a subscrição primeiro.
- A lista de recusa vale também para o **convite por e-mail** e para o **Novo Membro**: quem recusou aparece como *"Pediu para não participar desta comunidade"*, e não sai nenhum e-mail.

Uma recusa isolada não é uma violação; muitas recusas numa mesma lista levam a Memberfy a avaliar a comunidade. Ver a [Política de convites](/membros/politica-de-convites#como-a-pessoa-convidada-recusa-ou-denuncia).

## Exemplos

**Evento com 220 inscritos.** A folha de cálculo tem um título nas primeiras linhas e o cabeçalho na linha 8. A organização confere a linha de cabeçalho, envia a coluna *Aceito receber novidades* para **Consentimento** com *Sim* a contar como sim, *Tipo de bilhete* para **Tags** e *Empresa* para **+ Novo campo customizado**. O resumo mostra 97 pessoas novas, 109 sem consentimento, 12 duplicadas e 2 sem e-mail. Importa; saem 97 convites.

**Associação a trazer a base de novo.** Metade já é membro. Essa metade recebe o grupo *Associados 2026* e preenche a *Empresa* que estava vazia, sem receber e-mail; só os novos são convidados.

## Erros comuns e como resolver

| Mensagem | O que fazer |
|---|---|
| *Envie um ficheiro .xlsx ou .csv.* | Guarde a folha de cálculo como .xlsx ou .csv |
| *O ficheiro passa de 5 MB.* / *A folha de cálculo passa de 5.000 linhas de dados.* | Divida em partes e importe uma de cada vez |
| *Não achamos um cabeçalho claro e usamos a linha 1…* | Escolha a **Linha de cabeçalho** certa no passo Ficheiro |
| Acentos trocados (*JoÃ£o*) | Mude a **Codificação** no passo Ficheiro |
| *Escolha a coluna de e-mail para continuar.* | Envie uma coluna para **E-mail** |
| *Só uma coluna pode ir para Telefone.* | Deixe a outra em **Ignorar** ou envie-a para um campo customizado |
| *Marque quais valores da coluna de consentimento contam como sim.* | Marque os valores em **Contam como sim** |
| *Informe a origem da lista.* | Preencha a origem no passo 1 |
| *Marque a declaração de consentimento para importar.* | Sem coluna de consentimento, a declaração é obrigatória |
| *Outra folha de cálculo está a ser lida agora. Tente novamente em instantes.* | Espere alguns segundos e clique de novo |
| *A folha de cálculo só aceita membro ou moderador.* | Para outras funções, use **Digitar e-mails** |
| *Interrompida pela suspensão da comunidade* | A Memberfy suspendeu a entrada de membros; o que já tinha sido processado ficou. Ver [Suspensão de entrada e vendas](/membros/politica-de-convites#suspensao-de-entrada-e-vendas) |

## Perguntas frequentes

**É possível importar sem enviar e-mail?**
Não. Cada pessoa nova recebe o convite, com a origem e a ligação de recusa: é o que lhe permite saber de onde vieram os dados e dizer que não.

**É possível desfazer uma importação?**
Não há botão para desfazer. Para retirar alguém, use [Gerir membros](/membros/gerenciar-membros).

**Posso importar alguém que recusou?**
Não. Quem recusou só volta se entrar por iniciativa própria.

**A coluna de grupos tem um nome escrito de forma diferente do grupo.**
A comparação ignora maiúsculas e acentos (*engenharia* encontra *Engenharia*). Um nome que não corresponde a nenhum grupo cria um grupo novo, e o resumo mostra qual antes de importar.

**Posso importar pelo Claude ou pelo ChatGPT?**
Pode: anexe a folha de cálculo na conversa e peça. Ver a receita [Importar uma planilha pelo assistente](/mcp/receitas#61-importar-uma-planilha-pelo-assistente).

## Na API

`POST /api/members/imports` (o ficheiro, em `multipart`), `POST /api/members/imports/{id}/preview`, `POST /api/members/imports/{id}/start`, `GET /api/members/imports`, `GET /api/members/imports/{id}`, `GET /api/members/imports/{id}/errors.csv` e `GET /api/members/imports/{id}/file`. A recusa é `POST /api/invite-opt-out/{token}` (pela ligação) e `POST /api/profiles/me/decline` (com sessão iniciada). Ver [Member Imports](/api/referencia/member-imports) na Referência da API.

## Relacionados

- [Política de convites e importação de membros](/membros/politica-de-convites)
- [Convidar membros](/membros/convidar-membros)
- [Campos customizados](/membros/campos-customizados)
- [Grupos e organograma](/membros/grupos-e-organograma)
- [Tags](/membros/tags)
