Captura rapida
Escribe una linea por actividad. Formato: horas · cliente / asunto : descripcion
1.5, 1h30, 90m. Se aplica el redondeo configurado en Ajustes.
Captura detallada
Un registro con todos los campos que despues alimentan la prefactura
Registros de tiempo
{{ resumenRegistros }}
| Fecha | Abogado | Cliente / asunto | Tarea | Bruto | Cobrable | Tarifa | Valor | Estado | |
|---|---|---|---|---|---|---|---|---|---|
| {{ fechaCorta(r.fecha) }} | {{ nombreAbogado(r.abogadoId) }} |
{{ r.clienteId ? nombreCliente(r.clienteId) : 'Interno' }} {{ nombreAsunto(r.asuntoId) }} {{ r.descripcion }}
Castigo: {{ r.motivoCastigo }}
|
{{ r.claveTarea || '—' }} | {{ (r.minutosBrutos/60).toFixed(1) }} | {{ (r.minutosCobrables * (1 - r.pctCastigo/100) / 60).toFixed(1) }} | {{ r.tarifaAplicada ? pesos0(r.tarifaAplicada) : '—' }} | {{ pesos0(valorRegistro(r)) }} | {{ etiquetaEstado(r.estado) }} {{ r.pctCastigo }}% |
Clientes
Datos fiscales, régimen y tarifas negociadas de cada cliente
| Cliente | Tipo de persona | Régimen | Días de crédito | Corporativo | |
|---|---|---|---|---|---|
| {{ c.nombre }}
{{ c.nombreComercial }} |
{{ c.tipoPersona === 'moral' ? 'Persona moral' : 'Persona física' }} | {{ c.regimenFiscal || '—' }} | {{ c.diasCredito ?? '—' }} | Corporativo — LEDES |
{{ formCliente.id ? 'Editar: ' + formCliente.nombre : 'Nuevo cliente' }}
El tipo de persona decide si aplican retenciones: solo retiene una persona moral a una física
Asuntos y esquema de cobro
Cada asunto define como se convierte el tiempo en dinero
| Asunto | Esquema | Responsable | Horas | Presup. | Avance | Por facturar | |
|---|---|---|---|---|---|---|---|
| {{ a.nombre }} {{ nombreCliente(a.clienteId) }} |
{{ etiquetaEsquema(a.esquema) }}
{{ pesos0(a.monto) }} / {{ a.horasIncluidas }} h |
{{ nombreAbogado(a.responsableId) }} | {{ (resumen[a.id]?.horas ?? 0).toFixed(1) }} | {{ a.presupuestoHoras || '—' }} | {{ (resumen[a.id]?.avance.pct ?? 0).toFixed(0) }}% — | {{ pesos0(resumen[a.id]?.wip ?? 0) }} |
{{ formAsunto.id ? 'Editar: ' + formAsunto.nombre : 'Nuevo asunto' }}
Los parametros de este asunto ganan sobre los del cliente y los de la firma
Armar prefactura
Selecciona cliente y periodo. Puedes castigar horas antes de facturar.
Prefactura
RFC {{ documento.cliente.rfc || '—' }}
{{ documento.cliente.tipoPersona === 'moral' ? 'Persona moral' : 'Persona fisica' }} · Regimen {{ documento.cliente.regimenFiscal || '—' }}
Periodo {{ documento.periodo.desde }} al {{ documento.periodo.hasta }}
Vence en {{ documento.periodo.diasCredito }} dias
{{ b.asunto }} — {{ b.nota }}
| Fecha | Abogado | Concepto | Horas | Tarifa | Importe |
|---|---|---|---|---|---|
| {{ l.fecha ? fechaCorta(l.fecha) : '—' }} | {{ l.abogado || '—' }} | {{ l.concepto }} {{ l.claveTarea }} | {{ l.horas.toFixed(1) }} | {{ l.tarifa ? pesos0(l.tarifa) : '—' }} | {{ pesos(l.importe) }} |
Gastos y desembolsos
| {{ fechaCorta(g.fecha) }} | {{ g.concepto }} margen {{ g.markupPct }}% | {{ pesos(g.importe) }} |
Antiguedad de saldos
Donde esta atorado el dinero
Facturas emitidas
Antiguedad de saldos y estado de timbrado
| Folio | Cliente | Fecha | Horas | Total | Saldo | Dias | Estado | |
|---|---|---|---|---|---|---|---|---|
| {{ f.serie }}-{{ f.folio }} UUID {{ (f.uuidSat || '—').slice(0, 13) }}… |
{{ nombreCliente(f.clienteId) }} | {{ fechaCorta(f.fechaEmision) }} | {{ Number(f.horas).toFixed(1) }} | {{ pesos0(f.total) }} | {{ pesos0(f.saldo) }} | {{ f.dias }} | {{ f.estado === 'pagada' ? 'Pagada' : f.vencida ? 'Vencida' : 'Vigente' }} |
Rentabilidad
Del tiempo capturado al dinero cobrado
| {{ ejeRentabilidad === 'cliente' ? 'Cliente' : ejeRentabilidad === 'abogado' ? 'Abogado' : ejeRentabilidad === 'area' ? 'Area' : 'Asunto' }} | Horas | Valor generado | Costo del equipo | Margen | Tarifa efectiva |
|---|---|---|---|---|---|
| {{ f.nombre }} | {{ f.horas.toFixed(1) }} | {{ pesos0(f.valorGenerado) }} | {{ pesos0(f.costoEquipo) }} | {{ f.margen.toFixed(0) }}% | {{ pesos0(f.tarifaEfectiva) }} |
Como se calcula cada indicador
{{ g[1] }}
Tarifario en cascada
Cuando hay varias reglas aplicables gana la mas especifica
| Nivel | Se aplica a | Abogado | Tarea | Tarifa/hora | Vigente desde | Nota | |
|---|---|---|---|---|---|---|---|
| {{ etiquetaAlcance(t.alcance) }} | {{ refTarifa(t) }} | {{ t.abogadoId ? nombreAbogado(t.abogadoId) : 'Todos' }} | {{ t.claveTarea || '—' }} | {{ pesos0(t.monto) }} | {{ t.vigenteDesde }} | {{ t.nota }} |
Nueva regla de tarifa
La especificidad decide: asunto 8, cliente 4, abogado 2, firma 1
Probar la resolucion de tarifa
Elige una combinacion y mira que regla gana y por que
Reglas evaluadas, de la mas a la menos especifica:
{{ c.alcance }} {{ refTarifa(c) }}
/ {{ nombreAbogado(c.abogadoId) }}
· {{ pesos0(c.monto) }} · {{ c.puntos }} pts
(gana)
Abogados y costo por hora
El costo interno permite medir rentabilidad, no solo ingreso
| Abogado | Rol | Tarifa estandar | Costo/hora | Margen | |
|---|---|---|---|---|---|
| {{ a.nombre }} | {{ etiquetaRol(a.rol) }} | {{ pesos0(a.tarifaEstandar) }} | {{ pesos0(a.costoHora) }} | {{ a.tarifaEstandar ? (((a.tarifaEstandar - a.costoHora) / a.tarifaEstandar) * 100).toFixed(0) + '%' : '—' }} |
{{ formAbogado.id ? 'Editar: ' + formAbogado.nombre : 'Nuevo abogado' }}
El costo por hora es interno: nunca se muestra al cliente, solo alimenta el margen
Datos de la firma y del emisor
Lo que aparece en la factura y define las retenciones
Reglas de captura de tiempo
Como se convierten los minutos trabajados en minutos cobrables
{{ e.brutos }} min → {{ e.horas.toFixed(2) }} h
Impuestos y retenciones
Se aplican solo cuando el emisor es persona fisica y el cliente es persona moral
0.106667, 0.012500— o el PAC rechaza el comprobante
con CFDI40114.
Gastos y desembolsos
Lo que se recupera del cliente ademas de los honorarios
Presentacion al cliente y aprobaciones
Planes
Dos meses gratis al pagar anual
- {{ i }}
Metodo de pago
El numero de tarjeta nunca toca nuestro servidor: se convierte en un token en tu navegador
0002 simula un rechazo, para ver el calendario de avisos completo.
Historial de cobros
Cargos, avisos de dunning y CFDI de la suscripcion
| Fecha | Tipo | Estado | Monto | CFDI | Detalle |
|---|---|---|---|---|---|
| {{ fechaCorta(e.creadoEn) }} | {{ etiquetaEventoCobro(e.tipo) }} | {{ e.estado }} | {{ e.monto ? pesos0(e.monto) : '—' }} | {{ e.uuidSat ? e.uuidSat.slice(0, 13) + '…' : '—' }} | {{ e.mensaje || e.openpayError || '—' }} |
Tus datos son tuyos
Exportacion completa, sin retencion de rehen