Mandar cada cobrança paga para uma planilha do Google
Com um script do Google Apps Script (código pronto), cada pagamento recebido vira uma linha na sua planilha — sem Zapier.
Dá para ter uma planilha de recebimentos que se atualiza sozinha, sem ferramenta paga: um webhook do App do MEI (planos Pro e Negócio) chamando um pequeno script publicado no Google Apps Script.
1. A planilha
Crie uma planilha no Google Sheets. Na primeira linha escreva os títulos: Data, Evento, Cobrança, Descrição, Valor, Cliente, Pago em, Meio, Link.
2. O script
Menu Extensões → Apps Script. Apague o conteúdo e cole:
function doPost(e) {
var token = PropertiesService.getScriptProperties().getProperty('ADM_TOKEN') || '';
if (token && e.parameter.token !== token) {
return ContentService.createTextOutput('{"error":"token"}').setMimeType(ContentService.MimeType.JSON);
}
var ev = JSON.parse(e.postData.contents);
var d = ev.data || {};
var valor = (d.paid_amount_cents != null ? d.paid_amount_cents : (d.amount_cents || 0)) / 100;
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
sheet.appendRow([
new Date(ev.created_at), ev.event, d.number_label || d.number || '', d.description || d.message || '',
valor, d.contact_name || d.contact_id || '', d.paid_at || '', d.paid_method || '', d.public_url || ''
]);
return ContentService.createTextOutput(JSON.stringify({ ok: true })).setMimeType(ContentService.MimeType.JSON);
}Em Configurações do projeto → Propriedades do script, crie ADM_TOKEN com uma senha longa (30 letras e números). Ela protege o script, já que apps da web do Google não recebem o cabeçalho de assinatura.
3. Publicar
Implantar → Nova implantação → App da Web. Executar como Eu; acesso Qualquer pessoa. Autorize e copie a URL https://script.google.com/macros/s/…/exec.
4. O webhook
No App do MEI, Integrações → Webhooks → Novo: cole a URL acrescentando ?token= e a senha do passo 2, marque Cobrança paga (invoice.paid) e salve. Toque em Enviar teste: a linha de ping aparece na planilha. Pronto — cada pagamento entra sozinho.
Problemas comuns
- Entrega com HTTP 302: o app da web não está com acesso "Qualquer pessoa". Reimplante com essa opção (o App do MEI não segue redirecionamentos).
- Mudou o código e não grava: toda alteração exige Implantar → Gerenciar implantações → Editar → Nova versão.
- Quer o nome do cliente: ele vem em
data.contact_namequando a API já o inclui; caso contrário usedata.contact_ide uma aba de contatos exportada em CSV.
Sem plano Pro? Exporte as cobranças em CSV em Cobranças → Exportar quando precisar.
Atualizado em 19/10/2026. Isso resolveu? Se não, fale com suporte@appdomei.com.