Dashboard

0 veículos em aberto

Visão geral da operação

Atendimentos, caixa e desempenho da ZuumCar em um só lugar.

Faturamento do mêsR$ 0,00
Receitas concluídas
Lucro estimadoR$ 0,00
Após despesas
Veículos atendidos0
No mês atual
Ticket médioR$ 0,00
Por atendimento

Faturamento — últimos 7 dias

Atualização automática

Operação de hoje

Nova ordem de serviço

Registre cliente, veículo, serviços e pagamento.

Cliente e veículo

Dados do atendimento

Serviços

Selecione um ou mais
TOTAL DA OSR$ 0,00

Agenda

Organização diária dos veículos e horários.

Clientes

Histórico de relacionamento e veículos atendidos.

ClienteContatoVeículoPlacaVisitasTotal gastoÚltima visita

Histórico de ordens

Consulte, atualize status ou exclua atendimentos.

OSDataClienteVeículoServiçosTotalStatusAções

Financeiro

Entradas, despesas e lucro real da operação.

EntradasR$ 0,00
DespesasR$ 0,00
LucroR$ 0,00
A receberR$ 0,00

Receitas

OS entregues
DataClientePagamentoValor

Despesas

Custos lançados
DataDescriçãoCategoriaValor

Serviços e preços

Cadastre a tabela comercial usada nas ordens de serviço.

ServiçoCategoriaTempo estimadoPreçoAções
`);w.document.close();}; function renderAll(){renderDashboard();renderOSServices();renderAgenda();renderClients();renderHistory();renderFinance();renderServices()} newExpenseBtn.onclick=()=>expenseModal.classList.add('open');newServiceBtn.onclick=()=>{serviceForm.reset();svcEditId.value='';serviceModalTitle.textContent='Novo serviço';serviceModal.classList.add('open')};backupBtn.onclick=exportBackup;restoreBtn.onclick=()=>restoreInput.click();restoreInput.onchange=e=>{if(e.target.files[0])importBackup(e.target.files[0]);e.target.value=''};document.querySelectorAll('[data-close]').forEach(b=>b.onclick=()=>document.getElementById(b.dataset.close).classList.remove('open'));document.querySelectorAll('.modal').forEach(m=>m.addEventListener('click',e=>{if(e.target===m)m.classList.remove('open')})); expenseForm.onsubmit=e=>{e.preventDefault();expenses.unshift({id:Date.now(),date:expDate.value,desc:expDesc.value.trim(),cat:expCat.value,value:+expValue.value});saveAll();e.target.reset();expDate.value=todayISO();expenseModal.classList.remove('open');renderAll();toast('Despesa registrada.')}; serviceForm.onsubmit=e=>{e.preventDefault();const id=+svcEditId.value;const data={name:svcName.value.trim(),cat:svcCat.value,price:+svcPrice.value,time:svcTime.value.trim()};if(id){const i=services.findIndex(x=>x.id===id);if(i>=0)services[i]={...services[i],...data};toast('Serviço atualizado.')}else{services.push({id:Date.now(),...data});toast('Serviço cadastrado.')}saveAll();e.target.reset();svcEditId.value='';serviceModal.classList.remove('open');renderAll();}; renderAll();