Sistema portátil

Orçamentos e Propostas

Cadastro, orçamento, WhatsApp, impressão e arquivos JSON.

🖥️
Modo local
Ambiente seguro
🗄️
Banco de dados
conectado
🕘
Último salvamento
--/--/---- --:--
🔄
Ainda não sincronizado
Total atual
R$ 0,00
Valor total dos orçamentos

Orçamento

🧮 Calculadora comum

A calculadora agora fica ao lado direito da tela de ORÇAMENTO.

Clique em CALCULADORA no menu para ir direto ao painel lateral.
Subtotal

R$ 0,00

Deslocamento

0 km

À vista

R$ 0,00

Cartão

0x R$ 0,00

Dados do orçamento

Alimentação e hospedagem

Itens

Produtos, cores, observações e valores.

Finalizar orçamento

Nenhum orçamento do histórico aberto. Para salvar, clique em Criar novo no histórico.

Proposta


O que mostrar na proposta

Marque somente as informações que você quer enviar/imprimir na proposta.

DASHBOARD

HISTÓRICO

Pasta padrão do histórico: não vinculada. Ao exportar, o sistema vai perguntar onde salvar.

Recibo

Recibo gerado automaticamente com base no orçamento atual.

PLANEJAMENTO

Listas de serviços, lembretes inteligentes, tarefas recorrentes, agenda e calendário. Serviço, cliente e cidade puxam da área Cadastro.

Cadastro

Pasta padrão: não vinculada. Ao exportar Cadastro + Configuração + Planejamento, o sistema vai perguntar onde salvar.

Tipos da agenda

Edite aqui os tipos usados na Agenda do Planejamento. O Título puxa automaticamente o Tipo.
Exemplo: Visita, Instalação, Entrega, Reunião. Ao escolher o tipo na agenda, o título fica igual ao tipo.

Clientes

Nome, telefone e cidade padrão.

Serviços

Opções de serviço.

Tempo de produção

Dias úteis.

Início do prazo

Condições de início.

Cores

Cores dos itens.

Produtos, valores e descrições

Nome, descrição, tipo, valor e desconto.
Produto e descriçãoTipoValorValor descontoAção

Recibo

Edite as informações padrão usadas no recibo.

Recebido por

Edite os nomes que aparecem no campo Recebido por do Recibo.

Formas de entrada

Essas opções aparecem no campo Forma da entrada do Recibo.

Valores de alimentação e hospedagem

Edite os valores por pessoa/dia usados no orçamento.

Cidades, KM e valor do deslocamento

KM × valor por KM.

Parcelas e taxas

Nome, quantidade e taxa.
'; win.document.open(); win.document.write(html); win.document.close(); } function atualizarBotoes(){ try{ var botoes = Array.prototype.slice.call(document.querySelectorAll('#telaProposta button')); botoes.forEach(function(btn){ var oc = btn.getAttribute('onclick') || ''; var txt = (btn.textContent || '').toLowerCase(); if(oc.indexOf('copiarPropostaWhatsApp') >= 0 || txt.indexOf('whatsapp') >= 0){ btn.setAttribute('onclick','copiarPropostaWhatsApp()'); if(txt.indexOf('abrir') < 0) btn.innerHTML = '📲 Copiar proposta para WhatsApp'; } if(oc.indexOf('imprimirPropostaSelecionada') >= 0 || oc.indexOf('gerarPdfProposta') >= 0 || txt.indexOf('pdf') >= 0 || txt.indexOf('imprimir') >= 0){ btn.setAttribute('onclick','imprimirPropostaSelecionada()'); btn.innerHTML = '📱 PDF da proposta para celular'; } }); }catch(e){} } var oldAbrir = window.abrirPropostaCorrigida; if(typeof oldAbrir === "function" && !oldAbrir.__mobilePatch){ window.abrirPropostaCorrigida = function(){ var r = oldAbrir.apply(this, arguments); setTimeout(function(){ renderMobile(); atualizarBotoes(); },80); setTimeout(function(){ aplicarClasseMobile(); atualizarBotoes(); },300); return r; }; window.abrirPropostaCorrigida.__mobilePatch = true; } window.copiarPropostaWhatsApp = copiarPropostaWhatsAppMobile; window.copiarPropostaWhatsAppMobile = copiarPropostaWhatsAppMobile; window.abrirPropostaWhatsAppCorrigida = abrirPropostaWhatsAppMobile; window.abrirPropostaWhatsAppMobile = abrirPropostaWhatsAppMobile; window.gerarPdfProposta = gerarPdfPropostaCelular; window.imprimirPropostaSelecionada = gerarPdfPropostaCelular; window.imprimirProposta = gerarPdfPropostaCelular; window.abrirPdfProposta = gerarPdfPropostaCelular; function iniciar(){ aplicarClasseMobile(); inserirAvisoMobile(); atualizarBotoes(); setTimeout(function(){ aplicarClasseMobile(); atualizarBotoes(); },400); } if(document.readyState === "loading") document.addEventListener("DOMContentLoaded", iniciar); else iniciar(); })(); '; var win = window.open('', '_blank', 'width=820,height=900'); if(!win){ document.body.classList.add('print-proposta'); setTimeout(function(){ window.print(); setTimeout(function(){ document.body.classList.remove('print-proposta'); },1000); },100); return; } win.document.open(); win.document.write(html); win.document.close(); } window.gerarPdfProposta = gerarPdfCorrigido; window.imprimirPropostaSelecionada = gerarPdfCorrigido; window.imprimirProposta = gerarPdfCorrigido; window.abrirPdfProposta = gerarPdfCorrigido; function atualizarBotoesPdf(){ try{ Array.prototype.slice.call(document.querySelectorAll('#telaProposta button')).forEach(function(btn){ var txt = String(btn.textContent || '').toLowerCase(); var oc = String(btn.getAttribute('onclick') || ''); if(txt.indexOf('pdf') >= 0 || txt.indexOf('imprimir') >= 0 || oc.indexOf('gerarPdfProposta') >= 0 || oc.indexOf('imprimirProposta') >= 0){ btn.setAttribute('onclick','gerarPdfProposta()'); } }); }catch(e){} } var oldRender = window.renderProposta; if(typeof oldRender === 'function' && !oldRender.__pdfClausulasCidadeUfFixFinal){ window.renderProposta = function(){ var r = oldRender.apply(this, arguments); setTimeout(function(){ aplicarTudo(document.getElementById('propostaPreview')); }, 40); return r; }; window.renderProposta.__pdfClausulasCidadeUfFixFinal = true; try{ renderProposta = window.renderProposta; }catch(e){} } if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', function(){ atualizarBotoesPdf(); atualizarPropostaAntesPdf(); }); else { atualizarBotoesPdf(); setTimeout(atualizarPropostaAntesPdf, 120); } [500,1500,3000].forEach(function(ms){ setTimeout(function(){ atualizarBotoesPdf(); atualizarPropostaAntesPdf(); }, ms); }); })();