DesenvolvimentoPagamento protegidoDetalhes
- Os ajustes previstos no pacote são gratuitos.
- Se você não responder em 3 dias após a entrega, o trabalho é aprovado automaticamente.
O dinheiro fica reservado no pagamento e só é liberado quando você aprova o trabalho.

Exemplo de resultado
Juntando os arquivos mensais de vendas de 9 lojas em um só relatório do Excel
Como ele é executado
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Pasta: sales/2026-10, 9 arquivos encontrados
2026-11-02 09:14:03 INFO shop-01.csv: 1.284 linhas
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 linhas
2026-11-02 09:14:04 WARN shop-07.csv: 3 linhas sem preço ignoradas (linhas 88, 412, 913)
2026-11-02 09:14:05 INFO Pronto: 10.412 linhas -> report-2026-10.xlsx (abas "Vendas" e "Totais")
Configurações, não código
Os nomes das colunas de cada loja ficam no settings.ini, então uma loja nova ou uma coluna renomeada é só uma linha ali:
[columns]
date = Data, Data da venda, Dia
product = Produto, Item, Descrição
quantity = Qtd, Quantidade, Unid
price = Preço, Preço unitário
Um trecho do código
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Lê o arquivo de uma loja e dá a ele os nomes de colunas do relatório."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: nenhuma coluna para '{name}' (procuradas: {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
Arquivos: um arquivo ZIP com merge_sales.py (310 linhas), settings.ini, requirements.txt e um README que explica como instalar o Python, como rodar o script e o que significa cada mensagem do registro. O cliente roda o script no próprio computador.
Cliente: uma pequena rede de 9 papelarias; cada loja envia as vendas do mês em um arquivo CSV ou Excel, com nomes de colunas um pouco diferentes. Tarefa: um script que lê todos os arquivos de uma pasta, deixa as colunas em um só formato e grava um único relatório do Excel com todas as vendas e uma aba de totais por loja.
O cliente e todos os dados são fictícios.
Sobre este serviço
Se você registra pedidos ou horas de trabalho em uma planilha do Google, fazer cada fatura à mão significa copiar o cliente, os itens e os totais para um documento e salvar um PDF. Este Google Apps Script coloca um botão na sua planilha: ele preenche o seu próprio modelo de fatura no Documentos Google ou no Planilhas Google com os dados da linha, salva um PDF com o nome que você quiser em uma pasta do Drive e coloca o link de volta na linha. A partir do Padrão, ele lida com várias linhas de itens e numeração; o Premium pode enviar cada PDF do seu Gmail para o seu cliente. Totais, impostos e textos vêm da sua planilha e do seu modelo: o script faz as contas que você descrever e não dá orientação fiscal ou contábil, então confira as primeiras faturas. Você instala e roda na sua conta do Google.
O que está incluído
- O que você recebeUm arquivo ZIP com o código do Apps Script e um README que mostra como adicioná-lo à sua planilha e ao seu modelo; o código também aparece na página do pedido.
- O seu próprio modeloSeu layout, logo e textos no Documentos Google ou no Planilhas Google
- PDF no DriveNomeado por número, cliente e data, na pasta que você definir
- Link na linhaVocê vê quais linhas já têm fatura
- NumeraçãoA partir do Padrão, o próximo número tirado da sua planilha
- Código legívelCom comentários, fácil de mudar um campo depois
Como funciona
- 1ModeloVocê envia as colunas da planilha e o seu modelo de fatura
- 2CódigoEscrevemos o script e o guia de instalação
- 3TesteVocê gera faturas de teste em uma cópia da planilha e confere as contas
- 4AjustesVocê pede ajustes dentro do seu pacote e envia qualquer mensagem de erro
O que precisamos de você
Os nomes das colunas da sua planilha com duas ou três linhas de dados inventados, o seu modelo de fatura (um documento ou planilha do Google, ou o PDF de uma fatura que você envia hoje) com o lugar de cada valor, e como os totais são calculados: alíquota de imposto, descontos, moeda e arredondamento, conforme o seu contador orientar. Como as faturas são numeradas e nomeadas, a pasta do Drive para os PDFs e, para o Premium, o texto do e-mail para o cliente.
Vamos perguntar:
- Pelo que você cobra?
- Quais são as colunas da planilha?
- Como é a sua fatura?
- Como os totais são calculados?
Compare os pacotes
| Pacotes | BásicoUma fatura por vezR$ 89 | PadrãoFaturas com configuraçõesR$ 184 | PremiumFerramenta de faturamentoR$ 373 |
|---|---|---|---|
| Prazo | 1 dia | 2 dias | 3 dias |
| Ajustes | 1 | 2 | 3 |
| Código | até 150 linhas | até 400 linhas | até 1.000 linhas |
| Arquivos de código | 1 | até 3 | até 8 |
| Arquivo de configurações | Não | Sim | Sim |
| Mensagens de erro claras e um log | Não | Sim | Sim |
| Opções de execução e guia para rodar de forma agendada | Não | Não | Sim |
| Guia de instalação e execução (README) | Sim | Sim | Sim |
| Linguagem | Google Apps Script | Google Apps Script | Google Apps Script |
| Fazer pedido Básico | Fazer pedido Padrão | Fazer pedido Premium |
Pagamento protegido
Você paga ao fazer o pedido, mas o dinheiro só é liberado pelo trabalho aprovado.
- Preço fixoO preço do pacote não muda depois que você paga.
- O dinheiro fica reservadoAo pagar, o valor fica apenas reservado. Ele só é repassado quando você aprova o trabalho.
- Verificado antes da entregaCada resultado passa por um controle de qualidade antes de chegar até você, e você o vê na página do pedido antes de aprovar.
- Ajustes gratuitosPeça ajustes dentro do seu briefing quantas vezes o pacote permitir.
- Aprovação após 3 diasSe em 3 dias após a entrega você não aprovar o trabalho nem pedir ajustes, ele é aprovado automaticamente. Se você escrever no chat do pedido após a entrega, o pedido fica em espera; depois que respondermos, podemos reiniciar a contagem de 3 dias e avisaremos no chat.
- Refazer ou reembolso totalSe o resultado não corresponder ao seu briefing e os ajustes não resolverem, ou se o trabalho levar mais que o dobro do prazo, escreva no chat do pedido: refazemos o trabalho ou reembolsamos o pagamento integralmente.
Perguntas e respostas
As faturas vão estar corretas do ponto de vista legal?
O script preenche o que o seu modelo e a sua planilha contêm e calcula do jeito que você descrever. O que uma fatura precisa conter no seu país cabe a você ou ao seu contador decidir; não damos orientação fiscal nem jurídica.
Ele pode enviar as faturas por e-mail?
No Premium, sim: do seu próprio Gmail para o endereço da linha, dentro do limite diário de envios que o Google define para a sua conta. Você pode desligar o envio e só salvar os PDFs.
Ele pode receber pagamentos ou se conectar ao meu programa de contabilidade?
Não, ele gera PDFs. Um link de pagamento que você já tem pode ser impresso na fatura como texto vindo da sua planilha.
Vocês têm acesso ao meu Drive?
Não. Você adiciona o código à sua própria planilha e autoriza o acesso você mesmo. Nunca entramos na sua conta do Google.
Não encontrou a resposta?


