Preencha os itens e baixe uma fatura ou um recibo em PDF, limpo e organizado — totais em centavos exatos, feito no seu navegador.
Esta ferramenta transforma um formulário curto em uma fatura ou um recibo pronto para imprimir: um cabeçalho com as datas e as duas partes, uma linha por item, os totais e espaço para as instruções de pagamento. É o que um freelancer, um estúdio pequeno ou uma loja manda para o cliente saber quanto deve e como pagar. O que ela não é — e no Brasil vale ler esta parte duas vezes — é uma nota fiscal. A NF-e ou a NFS-e é emitida pela Receita Federal ou pela prefeitura, tem chave de acesso e assinatura digital, e é o único documento que cumpre uma obrigação fiscal. Nada gerado aqui faz isso.
A aritmética é a parte que os geradores de fatura erram sem avisar. Preços escritos como números decimais em JavaScript são floats binários: 0.1 + 0.2 resulta, notoriamente, em 0.30000000000000004, e vinte linhas somadas assim ficam um centavo distantes da conta que o seu cliente confere na mão. Aqui, todo valor vira centavos inteiros no momento em que você digita e toda quantidade vira milésimos, e o arredondamento é meio para cima, sobre números inteiros, só nos pontos em que um centavo de verdade precisa ser escolhido. A ordem importa tanto quanto o arredondamento, por isso ela vem impressa no documento: desconto primeiro, imposto sobre o valor já com desconto, frete depois do imposto.
O PDF é desenhado no seu dispositivo com o jsPDF, uma biblioteca de código aberto servida por este site e baixada só quando você gera o primeiro documento. O nome do seu cliente, o seu CNPJ ou CPF, os valores — nada disso é enviado nem armazenado, e é justamente esse o motivo de fazer tudo no navegador. Duas ressalvas honestas: as fontes padrão do PDF cobrem o alfabeto latino, então os acentos são impressos perfeitamente, enquanto outros sistemas de escrita são descartados com um aviso; e a ferramenta não tem memória — nada de lista de clientes, nada de numeração automática, nada salvo quando você fecha a aba.
Todo valor é um número inteiro de centavos e toda quantidade, um número inteiro de milésimos. Total da linha = arredonda(preço unitário × quantidade ÷ 1000). Subtotal = soma dos totais das linhas. Desconto = arredonda(subtotal × percentual de desconto). Base de cálculo = subtotal − desconto. Imposto = arredonda(base de cálculo × alíquota). Total = base de cálculo + imposto + acréscimo. O arredondamento é meio para cima e acontece só nesses quatro pontos.
Não. Nomes de clientes, CNPJ e CPF, descrições e valores são lidos, calculados e desenhados no PDF por JavaScript no seu próprio dispositivo. Nada é enviado, nada é armazenado e ninguém da Vai.la vê o documento. O único download é o da própria biblioteca de PDF, a partir de vai.la.
Não — e este é o ponto que não dá para errar. A nota fiscal é emitida pela Receita Federal ou pela prefeitura, recebe chave de acesso e assinatura digital, e é ela que cumpre a obrigação fiscal. Isto aqui é um documento de cobrança: normal para mandar ao cliente, inútil como comprovante fiscal. Se a sua atividade exige NF-e ou NFS-e, emita a nota à parte e fale com o seu contador.
Porque nenhum valor é, internamente, um número decimal. Os preços são guardados em centavos inteiros e as quantidades em milésimos, então as somas são exatas e cada linha é arredondada uma única vez. Um gerador que multiplica floats pode imprimir um total com um centavo de diferença em relação à soma das próprias linhas.
Tanto faz. O separador que aparecer por último é o decimal, então os dois escrevem o mesmo valor. Com um separador só, o número conta como milhar apenas quando o agrupamento está perfeito: 1.500 é mil e quinhentos, enquanto 1.5 e 0,005 são decimais. Um número malformado é recusado, e não somado errado em silêncio.
Pode. Escolha a moeda no topo e o símbolo e os separadores acompanham a escolha, na tela e no PDF. A ferramenta nunca converte entre moedas — ela escreve os valores que você digitar.
As fontes padrão do PDF cobrem apenas o alfabeto latino. Textos acentuados em português, espanhol, francês e alemão são impressos exatamente como digitados; caracteres em devanágari, cirílico, grego, chinês e japonês, além de emojis, são removidos, com um aviso embaixo do botão quando isso acontece.
O Vai.la transforma qualquer URL em um link curto com estatísticas de cliques, QR Code e seu próprio biolink.
O Vai.la não se responsabiliza pelo uso das ferramentas nem por decisões tomadas com base nos seus resultados.