Facturación para desarrolladores de apps móviles freelance: cobrar como el código que escribes
Los desarrolladores de apps móviles son una rareza dentro del freelancing: técnicamente competentes, contractualmente vulnerables. Saben configurar pipelines de CI/CD, pero no saben qué cláusula de pago les conviene. Pueden discutir las ventajas de Kotlin Multiplatform sobre Flutter durante una hora, pero al momento de emitir una factura abren Google Docs y copian la del mes pasado, cambiando el número a mano y rezando para que el cliente no note la fecha mal puesta.
Este artículo es para ti, dev móvil. Da igual si haces Android nativo en Kotlin, iOS en Swift, Flutter, React Native o un stack híbrido raro. Vamos a hablar de cómo facturar bien tus servicios sin perder horas que podrías estar destinando a deuda técnica.
Por qué facturar como dev móvil tiene sus propias trampas
A diferencia de un diseñador, que entrega un archivo y se acabó, el desarrollador de apps móviles entra en un ciclo largo y, a menudo, infinito. Hay sprints, hay hitos, hay versiones, hay parches, hay soporte post-lanzamiento. Cada uno de esos momentos requiere su factura, y cada cliente quiere algo distinto:
- Unos prefieren pagar por hora con tope mensual.
- Otros pagan por sprint cerrado (dos semanas, alcance acotado).
- Algunos pagan iguala mensual (retainer) por soporte y nuevas funcionalidades.
- Los pocos valientes pagan por entregable (“la app entregada en TestFlight cuesta X”).
- Y siempre hay alguno que quiere revenue share, lo cual es otra historia.
Encima de eso, los clientes corporativos del sector tech pagan a 60 o 90 días, lo cual significa que tu factura emitida en marzo se cobra en junio. Si vives en un país con inflación, eso es trabajar gratis sin saberlo.
Dolores principales del dev freelance
- Estimaciones que se rompen. Cotizas 80 horas y terminas en 140. ¿Cobras lo extra? ¿Comes la diferencia?
- Cambios de alcance constantes. “¿Puedes agregar un login con Apple?” — claro, ¿pero eso entra en el sprint o no?
- Clientes con burocracia interna. Las empresas grandes piden órdenes de compra, números de proveedor, factura electrónica con campos específicos. Cada cliente, un mundo.
- Pagos en monedas distintas. Un dev de Lima trabajando para una startup de Berlín cobra en euros. Un dev de Madrid trabajando para una agencia de Miami cobra en dólares. Y luego hay que declarar.
- Soporte post-launch sin contrato. La app está en producción, llega un bug crítico el domingo. ¿Eso lo cobras? ¿Cómo?
- Tres clientes, tres formatos. Cada uno con su forma de presentar las horas, sus exigencias de PDF, sus métodos de pago.
Cómo InvoiceFlow lo resuelve
InvoiceFlow es una app de facturación móvil que encaja particularmente bien con la realidad del dev freelance porque está pensada para flujos repetitivos, alto volumen y múltiples clientes con condiciones distintas. Veamos.
Múltiples perfiles de negocio con aislamiento total
Muchos devs freelance tienen dos identidades fiscales: la persona física (autónomo, monotributista, RFC persona física) y, eventualmente, una sociedad (SL, SAS, LLC) cuando el volumen crece. InvoiceFlow soporta múltiples perfiles con datos completamente aislados: clientes, facturas, numeración, logotipo, condiciones. Puedes facturar a un cliente por tu SL y a otro por tu nombre personal sin mezclar nada.
Cronómetro integrado para horas reales
El registro de tiempo dentro de la app es directo: arrancas el cronómetro al empezar una tarea, lo detienes al cambiar de contexto, etiquetas con cliente y proyecto. Al final del mes, las horas registradas se convierten en líneas de factura con un toque. Si cobras por hora con tope mensual, la app te avisa cuando te acercas al tope. Esto solo ya vale la mensualidad.
Esquemas recurrentes para iguala
Si tienes clientes con retainer mensual (algo común en mantenimiento de apps), defines un esquema recurrente: factura emitida el día 1 de cada mes, importe fijo, mismas condiciones de pago. Puedes configurar condiciones de fin (después de 12 meses, hasta cancelar manualmente), pausa y reanudación, modo borrador (la app prepara la factura pero no la envía hasta tu OK) y catch-up si te olvidas de un mes. Si tienes cinco clientes con iguala, eso son cinco facturas que se generan solas al inicio del mes.
Multimoneda con tasa fijada por factura
Si facturas en USD a un cliente americano y vives en Argentina o Venezuela, el riesgo cambiario es real. InvoiceFlow bloquea la tasa de cambio al momento de emisión, te muestra previsualización en vivo del tipo de cambio actual, y al momento de cobrar puedes ver claramente la diferencia. Para devs en Colombia, Chile o Perú con clientes USD/EUR esto es esencial.
OCR de gastos en dispositivo
Las herramientas del dev móvil tienen un costo real: cuenta Apple Developer (99 USD/año), Google Play Console (25 USD una vez), Firebase, AWS, dominios, certificados SSL, suscripciones a IDEs (JetBrains), cursos. Todo eso es deducible. InvoiceFlow tiene OCR local de recibos: foto al ticket o screenshot a la factura digital, datos extraídos automáticamente. Asignas el gasto a un cliente o un proyecto si quieres re-cobrarlo.
Cotizaciones, proformas y facturas enlazadas
Para proyectos cerrados (sprint o entregable), generas una cotización detallada con desglose por funcionalidad o módulo. El cliente aprueba, la conviertes en factura proforma del anticipo (recomendado: 30-50% para arrancar), trabajas, generas nota de entrega (puede ser un release en TestFlight o un APK firmado), y emites la factura final. Todo enlazado, todo numerado consistentemente.
Métodos de pago modernos
Para clientes locales, transferencia bancaria con datos visibles. Para clientes internacionales, enlaces de pago (Stripe, PayPal, Wise) embebidos en el PDF. Para clientes en Latam, QR de Mercado Pago, Yape, Plin, Nequi, Bizum según el país. La factura permite combinar varios métodos: el cliente elige.
Plantillas de correo con campos de fusión
Los recordatorios de pago automáticos no necesitan que escribas nada. Defines la plantilla una vez (“Hola {{cliente}}, te recuerdo amablemente que la factura {{numero}} por {{importe}} vence el {{fecha}}…”), defines la cadencia (a los 3 días del vencimiento, a los 7, a los 14), y la app se encarga. Tu relación con el cliente no se desgasta porque tú nunca tienes que escribir el correo incómodo.
Caso real: Diego en Quito
Diego desarrolla apps en Flutter desde hace cuatro años. Tiene tres clientes recurrentes: una fintech ecuatoriana (paga en USD locales), una startup de salud mexicana (paga en MXN), y una agencia española (paga en EUR). Antes facturaba con un generador online y llevaba el control en Notion, con tres bases de datos distintas. Cada cierre de mes le tomaba un día entero.
Configuró InvoiceFlow con un perfil “Diego Dev” y los tres clientes con sus monedas. Cada uno con preset de iguala mensual: la fintech, USD 2.400; la startup, MXN 38.000; la agencia, EUR 1.800. Las tres facturas se generan automáticamente el día 1 en modo borrador. Diego revisa que las horas extra del mes anterior estén bien sumadas (usando el cronómetro integrado), las aprueba, y las facturas se envían. Tiempo total: 20 minutos al mes en vez de 8 horas.
Caso real: Sofía en Sevilla
Sofía es desarrolladora iOS senior. Trabaja por sprints de dos semanas para tres agencias distintas. Cada sprint tiene su cotización, su factura, sus términos. Su problema era que cada agencia pedía formato distinto de PDF: una quería desglose por funcionalidad, otra por día, otra por horas totales.
Con InvoiceFlow creó tres plantillas personalizadas usando el editor visual de cuadrícula: una con bloque de funcionalidades, otra con tabla de días, otra resumida. Cada cliente tiene asignada por defecto su plantilla. Cuando emite, sabe que sale con el formato correcto sin pensarlo. Además, configuró cláusulas de mora del 1% mensual: dos de las tres agencias, que históricamente se atrasaban, empezaron a pagar a tiempo después de la primera vez que la mora apareció calculada en el PDF.
Flujo paso a paso para un dev freelance
- Onboarding del cliente. Lo creas en la app con datos fiscales completos, moneda, idioma, plantilla preferida y términos de pago. Solo se hace una vez.
- Cotización (si es proyecto cerrado). Desglose por funcionalidad, hitos, número de revisiones, qué incluye y qué no (siempre incluye un “Fuera de alcance” explícito).
- Aprobación y proforma. Conviertes la cotización en proforma del anticipo. Cobras, marcas como pagado.
- Trabajo. Si es iguala u horas, usas el cronómetro. Si es sprint, trabajas hasta el entregable.
- Gastos del proyecto. Cada vez que pagas algo (un asset, una licencia, una suscripción), foto al recibo, OCR, gasto registrado.
- Cierre del periodo. Generas la factura: si es iguala, se generó sola. Si es sprint, conviertes la cotización en factura final.
- Envío. La factura va al cliente con su PDF en plantilla acordada, en su moneda, con su idioma, con métodos de pago configurados.
- Seguimiento. Recordatorios automáticos si se atrasa. Cláusula de mora aplicada según preset.
- Cobro. Marcas como pagada. El dashboard del perfil te muestra MRR, días promedio de cobro, churn de clientes.
Errores a evitar
- No pedir anticipo. Aplica también a devs. Mínimo 30% para proyectos cerrados.
- No definir alcance. “Te hago la app” no es alcance. Define funcionalidades, plataformas (iOS/Android/ambas), si incluye backend, si incluye diseño, si incluye publicación en stores.
- No cobrar reuniones. Una hora de reunión es una hora trabajada. Inclúyela en el contador.
- No documentar cambios de alcance. Cada feature nueva que pide el cliente debería ser una cotización adicional aprobada por escrito (puede ser un correo).
- No actualizar tarifas. Lleva más de un año con el mismo precio por hora. Sube al menos 10-15% anual.
- Cobrar emergencias de fin de semana al mismo precio. No. Multiplicador 1.5x o 2x para fines de semana y festivos, y ponlo en el contrato.
- No respaldar. InvoiceFlow funciona offline con SQLite local pero exporta a CSV, PDF y JSON. Hazlo mensualmente.
- No considerar el cambio de divisa al cotizar. Si cotizas en USD y cobras en pesos al cambio del día de pago, en países con inflación pierdes dinero. Cláusula clara: tasa del día de emisión, o del Banco Central, o pago en USD directo.
Empezar hoy
Si llevas más de un año facturando con Google Docs y hojas de cálculo, dedica esta tarde a migrar a InvoiceFlow. Crea tu perfil, importa tus cinco clientes principales, configura tres plantillas, define tus presets de pago y emite tu próxima factura desde la app. La cantidad de tiempo que vas a recuperar al mes es comparable a un día completo de billable hours.
Y ese día puedes usarlo para lo que de verdad querías: dormir, leer documentación, refactorizar ese módulo que llevas tres meses postergando, o sencillamente no programar nada. También cuenta.