Saltar al contenido
Arquitectura de CanopyA fondo6 min de lectura

El dinero, y el registro que lo acompaña

La mayoría de los CRM para negocios pequeños se detiene en ganado, y ahí empiezan las hojas de cálculo. Por qué una factura emitida se congela, por qué lo vencido se calcula al leer y no en segundo plano, qué sabe y qué no sabe la cifra de margen, y por qué una sección vacía del informe se queda en la página.

La capa de dinero de Canopy mostrando totales por cobrar, vencido, cobrado y facturado, una tira de antigüedad, la tabla de facturas con estados, y rentabilidad y salud

La pregunta que abre esta sección: qué le pasa a un negocio pequeño en el momento exacto en que su CRM dice la palabra ganado. Lo que pasa es que el software se detiene y empiezan las hojas de cálculo. La mayoría de los CRM para negocios pequeños tratan el negocio cerrado como la meta, porque el CRM se le vendió a un equipo de ventas y el trabajo del equipo de ventas termina ahí. Pero para el comprador, ganado es el comienzo de la parte que decide si el año sirvió de algo. La factura se escribe en otro lado. El pago se registra en otro lado, a veces dos veces y de vez en cuando ninguna. Lo que la obra costó ejecutar o se lleva en un sistema aparte o, mucho más común, no se lleva en ninguna parte y se sustituye por una sensación. Y el informe que el cliente merece a fin de mes lo arma a mano en un procesador de texto quien tenga menos excusas. Cada uno de esos traspasos es un lugar donde el número puede dejar de ser cierto en silencio. Así que Canopy corre el resto, y el principio de diseño de toda la capa de dinero es que un documento financiero es una afirmación de la que otra persona tiene una copia. Esa sola idea produjo la mayoría de las decisiones de aquí, y es la razón por la que esta sección es más estricta que cualquier otra parte del producto. Una cotización se convierte en factura en lugar de volver a teclearse como factura. En el momento en que una factura se emite, se congela, y su PDF no vuelve a cambiar jamás. Esa es la restricción de la que se sigue todo lo demás. La alternativa, que es lo que una hoja de cálculo o un procesador de texto da por defecto, es que el documento sea editable para siempre, lo que significa que la copia en la bandeja del cliente y la copia en el sistema pueden discrepar en silencio y ninguna de las dos partes puede probar cuál es más vieja. Una corrección en Canopy es por lo tanto una anulación con motivo y una reemisión bajo un número nuevo, nunca una edición silenciosa de un documento que alguien ya tiene. Esto cuesta un poco más de trabajo en el momento y no es negociable, porque la versión que cuesta menos trabajo es la versión donde a un cliente se le puede decir que está viendo una factura vencida que nunca se le mandó. Los pagos registrados contra una factura la mueven por su propio estado sin que nadie fije uno. Nadie marca una factura como pagada. Los pagos son los hechos, el estado se deriva de ellos, y una factura pagada en parte lo dice, con el resto visible, en lugar de quedarse en una categoría que alguien eligió. Esto elimina una clase de error que he visto costar dinero real: la factura marcada pagada porque se esperaba un pago, y después el pago no llega, y la factura ahora es invisible para todas las vistas de vencidos del sistema porque su estado dice que el asunto está cerrado. Lo vencido se calcula desde la fecha de vencimiento cada vez que la página se dibuja. No lo escribe un proceso en segundo plano, y la distinción no es académica. Un estado que mantiene un proceso programado es un estado que solo es correcto si el proceso corrió, y el modo de falla cuando no corre es el peor disponible: el reporte de antigüedad se ve sano, el total vencido se ve pequeño, y nada en ninguna parte indica que el número está viejo. Derivarlo al momento de leer significa que la tira de antigüedad no puede equivocarse con el calendario, porque le pregunta al calendario cada vez que alguien mira. No hay proceso de fondo que vigilar, ni mañana alguna en que la vista del dinero esté reportando ayer en voz baja. Los recordatorios recurrentes se disparan la mañana en que tocan y después se reprograman desde el calendario original y no desde el momento en que se dispararon. Esa segunda cláusula costó una reescritura para quedar bien. Un recordatorio que se reprograma desde su hora real de disparo se desfasa, y un recordatorio mensual que falla un día por una hora se vuelve un recordatorio que llega un día más tarde cada mes hasta que ha caminado media vuelta al calendario. Reprogramar desde la fecha prevista significa que un día perdido se dispara una vez, tarde, y después la cadencia queda exactamente donde estaba. Un día que sale mal cuesta un recordatorio tardío y no un calendario torcido para siempre. El costo de ejecución se registra contra el trabajo al que pertenece, como horas o como gastos, que es lo que convierte al margen de una opinión en una lectura. El comprador no tiene que adivinar qué cliente vale la pena. Rentabilidad y salud pone el efectivo recibido junto a lo que se registró para ganarlo, con una gráfica de doce meses y una tabla por cliente al lado, y la tabla por cliente suele ser la que cambia la opinión de alguien, porque casi todo negocio de servicios tiene por lo menos un cliente del que está orgulloso y con el que pierde dinero. La exclusión honesta, y es la frase más importante de esta sección: el lado de costos cuenta lo que Canopy mismo registra. El margen es una lectura sobre los datos de operación del comprador, no una cifra de calidad contable, y no sabe nada de lo que nunca entró a la instalación. No es un sistema contable y no lo voy a disfrazar de uno. El libro se exporta a CSV para quien lleve los libros, y el contador del comprador sigue siendo la autoridad sobre lo que el negocio ganó. Lo que esta capa le da al comprador es la capacidad de ver, en el mes en que está ocurriendo, que un cliente concreto está consumiendo más horas de las que paga, que es una pregunta que un contador responde en abril en el mejor de los casos. El informe mensual del cliente se arma con lo que la instalación ya tiene, y la parte que más me importa es lo que hace cuando no tiene nada que decir. Una sección sin datos se queda en la página y declara qué clase de nada es. Medido significa que la respuesta está aquí. Nada este periodo significa que busqué y de verdad no hubo. No se puede medir significa que esto no es visible para este cliente en absoluto. Esas son tres afirmaciones completamente distintas, y colapsarlas en un espacio en blanco o, peor, en una sección escondida, es donde los informes automáticos de cliente se ganaron su mala fama. Una sección que desapareció en silencio el mes en que su número empeoró no se lee para un cliente como una decisión de formato. Se lee como algo que se está ocultando, y el cliente tiene razón en leerlo así, porque en la mayoría de las plataformas eso es exactamente lo que es.

Un reporte mensual de cliente en Canopy con cada sección marcada como medida, sin nada este periodo, o imposible de medir, de modo que una sección sin número sigue apareciendo y dice por qué, encima del constructor de reportes y el portal del cliente

La consecuencia operativa que el comprador siente es que la cadena de la cotización al margen no tiene ningún hueco donde un número se vuelva a teclear, se redondee, se olvide o se mejore. La cotización se vuelve la factura, los pagos mueven la factura, el costo cae sobre la obra, el margen sale de los dos, y el informe del cliente se construye con esos mismos registros y no con un acto de redacción aparte. Nadie tiene que conciliar nada a fin de mes, porque nada se guardó nunca en dos lugares. Y cada documento que el comprador le mandó a alguien sigue siendo, byte por byte, el documento que esa persona tiene.

O salga de aquí

El resto del caso de estudio está en /es/proyectos/canopy.