Reconocimiento de ingresos en SaaS según la NIIF 15, con asientos contables explicados
Cada paso de la NIIF 15 para un contrato de suscripción como servicio (SaaS), mostrado en forma de asientos contables con números reales y las llamadas a la API que los generan de forma automática.
Según la NIIF 15 (IFRS 15), una suscripción de SaaS es una obligación de desempeño que se satisface a lo largo del tiempo; por lo tanto, sus ingresos se reconocen de manera uniforme durante el período de servicio, mientras que el importe facturado permanece en un pasivo por contrato hasta que se devenga. El derecho de cobro (cuenta por cobrar) y el IVA se registran por completo el día en que se emite la factura. Lo único que espera es el reconocimiento del ingreso.
Esa es toda la regla. El resto de este artículo muestra cómo se refleja esto en el libro mayor, con los débitos y créditos para los casos con los que se encuentra habitualmente una empresa de suscripciones: un plan anual, un paquete con descuento, un proyecto facturado por hitos, un reembolso esperado y un contrato que se modifica a mitad de camino. Cada asiento utiliza el plan contable lituano que Nordlet incluye de forma predeterminada, y la última sección muestra las llamadas a la API que publican estos asientos sin necesidad de introducirlos manualmente.
Los cinco pasos aplicados a un contrato
Un cliente se registra el 1 de enero de 2026 para doce meses de acceso a la plataforma por 2.400 € sin IVA. El IVA lituano del 21 % añade 504 €, por lo que la factura asciende a 2.904 € brutos.
| Paso | Aplicado a este contrato |
|---|---|
| 1. Contrato | El pedido aceptado de doce meses de acceso |
| 2. Obligaciones de desempeño | Una: acceso a la plataforma del 1 de enero al 31 de diciembre de 2026 |
| 3. Precio de la transacción | 2.400 € (sin contraprestación variable en este primer ejemplo) |
| 4. Asignación | No es necesaria; una sola obligación absorbe la totalidad del precio |
| 5. Reconocimiento | A lo largo del tiempo, a medida que transcurren los días de acceso |
El mismo modelo se explica conceptualmente en Contabilidad de SaaS explicada. Aquí pasamos directamente a los asientos.
Caso 1: un plan anual
En el momento de la emisión, 1 de enero de 2026. La cuenta por cobrar y el IVA son reales en esta fecha. El ingreso, no.
| Cuenta | Débito | Crédito |
|---|---|---|
| 2410 Clientes (cuentas comerciales por cobrar) | 2.904,00 | |
| 4492 IVA repercutido por pagar | 504,00 | |
| 4910 Ingresos diferidos (pasivo por contrato) | 2.400,00 |
Ningún movimiento ha afectado a una cuenta de ingresos. Sin embargo, el IVA se devenga en la fecha de emisión de la forma habitual; la declaración de IVA de enero incluye los 504 €, independientemente de si el servicio se ha entregado o no.
Cuando el cliente paga.
| Cuenta | Débito | Crédito |
|---|---|---|
| 2710 Bancos | 2.904,00 | |
| 2410 Clientes (cuentas comerciales por cobrar) | 2.904,00 |
Al final de cada mes. La versión de manual libera 200 € al mes. Un calendario ponderado por días, un método de producción basado en el tiempo transcurrido del tipo que permite la norma NIIF 15 §B15 para un servicio consumido de forma continua, asigna a cada mes su parte proporcional de los 365 días:
| Mes | Días | Tramo |
|---|---|---|
| Enero | 31 | 203,84 |
| Febrero | 28 | 184,11 |
| Marzo | 31 | 203,84 |
| Abril | 30 | 197,26 |
| … | ||
| Diciembre | 31 | 203,81 |
| Total | 365 | 2.400,00 |
El último tramo absorbe el redondeo de los céntimos para que la suma del calendario coincida exactamente con el importe diferido. El asiento de liberación de enero es:
| Cuenta | Débito | Crédito |
|---|---|---|
| 4910 Ingresos diferidos | 203,84 | |
| 5001 Ingresos por servicios | 203,84 |
Tras doce asientos de este tipo, el saldo de la cuenta 4910 para esta factura es cero, y los 2.400 € se han contabilizado como ingresos a lo largo del año en el que se ganaron.
Caso 2: un paquete con descuento
El mismo cliente compra la suscripción junto con un servicio de incorporación (onboarding). La factura muestra la suscripción por 2.400 € y la incorporación por 600 €, con un total de 3.000 € netos. Si se venden por separado, la suscripción cuesta 3.000 € y la incorporación 1.000 €, por lo que el paquete incluye un descuento de 1.000 €.
Los párrafos 76 a 80 de la NIIF 15 exigen que el descuento se distribuya entre las obligaciones en proporción a sus precios de venta independientes, y no donde el equipo de ventas haya decidido colocarlo por conveniencia.
| Línea | Precio indicado | Precio de venta independiente | Participación | Asignado |
|---|---|---|---|---|
| Suscripción (a lo largo del tiempo) | 2.400 | 3.000 | 75 % | 2.250,00 |
| Incorporación (en un momento dado) | 600 | 1.000 | 25 % | 750,00 |
| Total | 3.000 | 4.000 | 3.000,00 |
El IVA se calcula sobre los precios de las líneas indicadas en la factura, ya que la factura es el documento fiscal: el 21 % de 3.000 € son 630 €. La asignación solo modifica la forma en que el importe neto se divide entre ingresos actuales e ingresos futuros.
En el momento de la emisión.
| Cuenta | Débito | Crédito |
|---|---|---|
| 2410 Clientes (cuentas comerciales por cobrar) | 3.630,00 | |
| 4492 IVA repercutido por pagar | 630,00 | |
| 5001 Ingresos por servicios (incorporación, entregada) | 750,00 | |
| 4910 Ingresos diferidos (suscripción) | 2.250,00 |
La incorporación genera 750 € de ingresos en el momento de la emisión, y no los 600 € impresos en la línea. La suscripción difiere 2.250 €, y su tramo de enero es 2.250 × 31 ÷ 365 = 191,10 €.
Sin la asignación, el asiento habría mostrado 600 € de ingresos y 2.400 € diferidos. La diferencia es de 150 € de ingresos reconocidos en el año incorrecto.
Caso 3: un proyecto facturado por hitos
Un proyecto de implantación se factura por 10.000 € netos (12.100 € brutos) con tres hitos: diseño 30 %, desarrollo 50 %, puesta en marcha 20 %. Cada hito representa el punto en el que se acepta una parte diferenciada del trabajo, lo cual se acredita mediante un acta de entrega.
En el momento de la emisión.
| Cuenta | Débito | Crédito |
|---|---|---|
| 2410 Clientes (cuentas comerciales por cobrar) | 12.100,00 | |
| 4492 IVA repercutido por pagar | 2.100,00 | |
| 4910 Ingresos diferidos | 10.000,00 |
Cuando se firma el acta de diseño.
| Cuenta | Débito | Crédito |
|---|---|---|
| 4910 Ingresos diferidos | 3.000,00 | |
| 5001 Ingresos por servicios | 3.000,00 |
La fecha prevista de un hito es información de planificación. Los ingresos se mueven cuando el evento ocurre, no cuando el calendario dice que debería haber ocurrido.
Caso 4: un reembolso esperado
Supongamos que los datos históricos muestran que el 5 % de los planes anuales se reembolsan durante el primer mes. Los párrafos 55 a 58 de la NIIF 15 tratan los reembolsos esperados como contraprestación variable: se excluyen del precio de la transacción y se registran como un pasivo por reembolso hasta que se resuelva la incertidumbre.
Tomemos la venta puntual de un producto por 1.000 € netos (1.210 € brutos) con una estimación de reembolso del 5 %, cuyos ingresos se reconocen en un momento dado.
En el momento de la emisión.
| Cuenta | Débito | Crédito |
|---|---|---|
| 2410 Clientes (cuentas comerciales por cobrar) | 1.210,00 | |
| 4492 IVA repercutido por pagar | 210,00 | |
| 4450 Pasivo por reembolso | 50,00 | |
| 5001 Ingresos por servicios | 950,00 |
A un cliente se le reembolsan 40 € netos. El reembolso se documenta mediante una nota de crédito, que reduce el IVA y la cuenta por cobrar, y consume el pasivo en lugar de disminuir los ingresos.
| Cuenta | Débito | Crédito |
|---|---|---|
| 4450 Pasivo por reembolso | 40,00 | |
| 4492 IVA repercutido por pagar | 8,40 | |
| 2410 Clientes (cuentas comerciales por cobrar) | 48,40 |
Se cierra el plazo de reembolso. Solo se utilizaron 40 € de la estimación inicial de 50 €, por lo que los 10 € restantes se liberan como ingresos.
| Cuenta | Débito | Crédito |
|---|---|---|
| 4450 Pasivo por reembolso | 10,00 | |
| 5001 Ingresos por servicios | 10,00 |
Para una línea que también cuenta con un calendario de reconocimiento pendiente, el orden de consumo es: primero los ingresos diferidos (el calendario pendiente se recorta desde su extremo más lejano), después el pasivo por reembolso y, por último, los ingresos.
Caso 5: el contrato cambia
A mitad del plan anual del Caso 1, el cliente negocia una prórroga de seis meses sin coste adicional. Ya se han reconocido seis meses (1.200 € utilizando importes mensuales iguales por motivos de legibilidad; el motor calcula la prorrata por días) y quedan 1.200 € diferidos.
Los párrafos 20 y 21 de la NIIF 15 ofrecen dos tratamientos dependiendo de si los servicios restantes son distintos de los ya entregados.
Prospectivo (§21(a)). Los bienes o servicios restantes son distintos, por lo que los 1.200 € no reconocidos se distribuyen a lo largo del nuevo plazo restante de doce meses: 100 € al mes. No se registra ningún asiento de ajuste retroactivo; el siguiente reconocimiento de ingresos es simplemente menor.
Ajuste acumulativo retroactivo (cumulative catch-up, §21(b)). La obligación se trata como una sola obligación parcialmente satisfecha, por lo que los ingresos se recalculan como si se hubieran aplicado dieciocho meses desde el principio: 2.400 € ÷ 18 = 133,33 € al mes, con 800 € devengados a 30 de junio. Dado que ya se han reconocido 1.200 €, se reversan 400 €:
| Cuenta | Débito | Crédito |
|---|---|---|
| 5001 Ingresos por servicios | 400,00 | |
| 4910 Ingresos diferidos | 400,00 |
Los 1.600 € restantes se liberan a razón de 133,33 € al mes durante el nuevo plazo restante.
El acceso a la plataforma entregado día a día suele ser una serie de servicios distintos, por lo que el tratamiento prospectivo es la opción más habitual. Qué tratamiento aplicar es un juicio contable; el libro mayor debe ser capaz de registrar ambos.
Modificaciones de precio. Una disminución de precio es una nota de crédito contra la factura original y sigue el orden de consumo descrito anteriormente. Un aumento de precio es una nueva factura con su propio calendario de reconocimiento, el cual es prospectivo por naturaleza.
Los mismos asientos a través de la API
Cada uno de los asientos anteriores es generado por el módulo de reconocimiento de ingresos de Nordlet a partir de los datos ordinarios de las facturas. El método de reconocimiento viaja en la propia línea de la factura.
Caso 1. Cree la factura con una línea prorrateable y emítala. La emisión registra la cuenta por cobrar, el IVA y los ingresos diferidos, y genera el calendario de doce tramos.
POST /v1/sales/invoices/create
Authorization: Bearer <api key with sales:write>
Idempotency-Key: <your order id>
{
"partnerId": "<customer id>",
"lines": [
{
"description": "Platform subscription 2026",
"unitPriceExclVat": "2400.0000",
"vatRatePercent": "21.00",
"recognition": { "method": "ratable", "startDate": "2026-01-01", "endDate": "2026-12-31" }
}
]
}
POST /v1/sales/invoices/issue
{ "id": "<invoice id>" }
Caso 2. Añada standaloneSellingPrice a cada línea de la factura. La asignación se calcula en el momento de la emisión; la línea de incorporación utiliza el método predeterminado point_in_time.
Caso 3. Asigne a la línea "recognition": { "method": "milestone", "milestones": [ { "percent": 30, "description": "Design", "expectedDate": "2026-02-28" }, … ] }. La emisión de un acta de entrega a través de sales/acts/issue contra la factura reconoce los tramos de los hitos pendientes en la fecha del acta.
Caso 4. Configure refundEstimatePercent en la línea. Las notas de crédito consumen el pasivo en el orden descrito; la función sales/refund-liability/true-up con un importe estimatedTotal revisado registra la liberación o el ajuste al alza. El reembolso de un proveedor de pagos vinculado a la factura se registra en el pasivo y emite un webhook refund_liability.actual, pero no se registra directamente contra el pasivo, ya que reducir los ingresos y el IVA repercutido requiere que la nota de crédito actúe como documento fiscal.
Caso 5.
POST /v1/sales/recognition/modify
{ "invoiceLineId": "<line id>", "approach": "prospective", "newEndDate": "2027-06-30" }
Sustituya prospective por cumulative_catch_up para el segundo tratamiento; la reversión de 400 € se registra de inmediato y el resto se redistribuye.
Liberaciones de ingresos. El reconocimiento se registra como un asiento por cada ejecución. Se activa de tres formas sin necesidad de sondeo (polling): el cierre de un período reconoce primero todo lo devengado hasta el final del período, la emisión de un acta de entrega reconoce los tramos de los hitos y un temporizador configurado para la siguiente fecha de vencimiento registra los tramos prorrateables cuando llegan a su término. sales/recognition/compute muestra una vista previa de lo que registraría una ejecución; sales/recognition/run lo registra; sales/recognition/summary informa sobre los ingresos reconocidos hasta la fecha, el saldo pendiente y la próxima fecha de vencimiento por línea; y sales/recognition-schedules/list muestra cada tramo con su estado.
Lo que el módulo no hace
Los límites documentados son tan importantes como las características cuando se planea el cierre contable:
- Los calendarios se fijan en euros al tipo de cambio de la fecha de emisión. Los saldos diferidos no se revalorizan por fluctuaciones de divisa posteriores a la emisión.
- La asignación requiere un precio de venta independiente en cada línea o en ninguna. El enfoque residual del párrafo 79(c) no está implementado.
- El pasivo por reembolso se rastrea de manera neta de IVA a nivel de factura. El activo correlativo por el derecho a recuperar los bienes devueltos (§B25) no está modelado.
- El ajuste acumulativo retroactivo se aplica únicamente a las líneas prorrateables; la reprogramación de hitos es prospectiva.
- Los componentes de financiación significativos (§60 a §65), la contraprestación no monetaria y la contraprestación payable a un cliente quedan fuera del alcance.
- La cuenta de activo por contrato (2910) existe en el plan contable y como clave de asiento, pero el reconocimiento de ingresos antes de la facturación se realiza mediante un asiento manual en la actualidad.
El software es capaz de aplicar los tratamientos de la NIIF 15 y la ASC 606. La elección del método para cada obligación, la estimación de los precios de venta independientes y de las tasas de reembolso, y la evaluación de si los servicios restantes son distintos siguen siendo decisiones que debe tomar la entidad informante.
FAQ
¿Cuándo se reconocen los ingresos de una suscripción de SaaS según la NIIF 15?
A lo largo del período de servicio, debido a que el acceso al software es una obligación de desempeño que se satisface con el tiempo. Para un plan de doce meses facturado por adelantado, cada mes devenga su parte proporcional del precio. La fecha de la factura determina cuándo se registran la cuenta por cobrar y el IVA, no cuándo se reconocen los ingresos.
¿Cuál es el asiento contable para los ingresos diferidos?
En el momento de la emisión: débito en clientes (cuentas comerciales por cobrar) por el importe bruto, crédito en IVA repercutido y crédito en ingresos diferidos (pasivo por contrato) por el importe neto. En cada período: débito en ingresos diferidos y crédito en ingresos por el importe devengado. La cuenta por cobrar se cancela cuando el cliente paga.
¿El IVA sigue el calendario de reconocimiento de ingresos?
No. El IVA se devenga cuando se emite la factura o se recibe el pago anticipado, según las reglas ordinarias de la Directiva del IVA y la legislación nacional. El calendario de ingresos diferidos y el pasivo por IVA evolucionan de forma independiente, razón por la cual una factura anticipada es un documento fiscal válido y una factura proforma no lo es.
¿Cómo se asigna el descuento de un paquete según la NIIF 15?
En proporción a los precios de venta independientes de las obligaciones que componen el paquete (§81). Un descuento de 1.000 € en un paquete de 4.000 € cuyas partes tienen un precio individual de 3.000 € y 1.000 € reduce cada parte en un 25 %. El IVA se mantiene en las líneas de la factura tal como se indicó originalmente.
¿Cuál es la diferencia entre el tratamiento prospectivo y el ajuste acumulativo retroactivo?
El tratamiento prospectivo distribuye el importe restante no reconocido a lo largo de los nuevos plazos a partir de la fecha de modificación, sin realizar ningún ajuste en los ingresos pasados. El ajuste acumulativo retroactivo recalcula los ingresos como si los nuevos términos se hubieran aplicado desde el principio y registra la diferencia de forma inmediata. Qué tratamiento aplicar depende de si los servicios restantes son distintos de los ya entregados.