Nordlet

← Documentación / Guías

Reconocimiento de ingresos (NIIF 15 / ASC 606)

Ingresos diferidos, calendarios proporcionales, por hitos y por porcentaje de realización, pasivos por devoluciones, suscripciones.

Diferimiento de ingresos por línea y reconocimiento programado: pasivos por contratos, métodos a lo largo del tiempo, asignación del precio de la transacción, provisiones por devoluciones, suscripciones y modificaciones de contratos. La ruta predeterminada no cambia; una línea de factura simple sigue reconociendo los ingresos en su totalidad en el momento de la emisión (momento puntual), lo cual es coherente con la norma 606/15 para una única obligación de desempeño satisfecha en la entrega. Todo lo que figura a continuación es opcional por cada línea de factura.

El software tiene la capacidad de cumplir con las normas 606/15; la entidad informadora es la que cumple o no cumple. La elección del método correcto por obligación, la estimación de los precios de venta independientes y las tasas de devolución, así como la evaluación de si los bienes o servicios restantes son distintos en caso de modificación, siguen siendo juicios contables que realiza el declarante.

Cuentas

Tres cuentas del plan contable respaldan los flujos, configuradas como claves de reglas de contabilización (modificables por empresa mediante ledger/posting-rules/update): revenue.deferredIncome → 4910 "Ateinančių laikotarpių pajamos" (pasivo por contrato), revenue.refundLiability → 4450 "Grąžinimo įsipareigojimai pirkėjams", revenue.contractAsset → 2910 "Sukauptos pajamos". Las empresas existentes obtienen las cuentas volviendo a aplicar la plantilla del plan contable (ledger/accounts/apply-template).

Obligaciones de desempeño en las líneas de factura

Las líneas de sales/invoices/create|update aceptan recognition: { method, startDate, endDate, milestones }, donde method puede ser uno de los siguientes:

Método Comportamiento en la emisión Reconocimiento
point_in_time (predeterminado) AB (Haber) ingresos por el total en la emisión, sin cambios
ratable (startDate..endDate) AB (Haber) ingresos diferidos calendario mensual ponderado por días durante el periodo de servicio
milestone (milestones[], porcentajes que suman 100) AB (Haber) ingresos diferidos un tramo por hito, reconocido en el evento
percent_complete AB (Haber) ingresos diferidos mediante informes de progreso acumulado

Cuentas por cobrar (AR) y el IVA no se modifican: la emisión registra un cargo (Debe) en la cuenta 2410 por el total bruto, un abono (Haber) en la cuenta 4492 por el IVA, y divide el neto entre los ingresos (líneas de momento puntual) y la cuenta 4910 (líneas diferidas). Los calendarios se almacenan en la moneda funcional de la empresa al tipo de cambio de la fecha de emisión; sales/recognition-schedules/list (sales:read) muestra cada tramo con el estado pending | recognized | cancelled.

Asignación del precio de la transacción. Con más de una línea, el valor standaloneSellingPrice en todas las líneas distribuye el neto de la factura entre las obligaciones de manera prorrateada (NIIF 15 §76-80); el importe asignado -y no el precio indicado en la línea- determina la división entre ingresos e ingresos diferidos, así como los calendarios. El IVA permanece en las líneas de factura tal como se indicó.

Motor de reconocimiento

El reconocimiento registra un cargo (Debe) en la cuenta 4910 y un abono (Haber) en ingresos (cuenta de servicio o producto y centro de coste de la línea original) como un único asiento por ejecución, registrado en sales/recognition/runs/list.

  • POST /v1/sales/recognition/compute (sales:read) { asOfDate? } - vista previa de simulación de los tramos proporcionales vencidos.
  • POST /v1/sales/recognition/run (sales:write) { asOfDate?, postingDate?, scheduleIds? } - contabilizar los tramos proporcionales vencidos, o exactamente los tramos especificados por scheduleIds (cualquier método).
  • POST /v1/sales/recognition/progress (sales:write) { invoiceLineId, percentComplete, date? } - líneas por porcentaje de realización: informa el progreso acumulado; el delta recién devengado se contabiliza de inmediato, las reducciones se rechazan.
  • POST /v1/sales/recognition/summary (sales:read) - reconocido hasta la fecha, restante, recuento pendiente y próxima fecha de vencimiento por línea, además de los totales de la empresa.

Tres eventos impulsan el reconocimiento sin necesidad de sondeos: el cierre de periodo (ledger/periods/lock), que primero reconoce todo lo vencido hasta el final del periodo, contabilizado en la fecha de cierre del periodo; la emisión del acta de entrega (sales/acts/issue), que reconoce los tramos de hitos pendientes de la factura vinculada en la fecha del acta; y un temporizador de vencimiento de calendario, que se activa en la próxima fecha de vencimiento proporcional y contabiliza por empresa cuando llega (un periodo cerrado se vuelve a intentar más adelante). Los hitos se basan en eventos a propósito; la fecha prevista expectedDate de un hito es información de planificación y nunca activa el reconocimiento por sí sola.

Contraprestación variable - pasivo por devoluciones

El parámetro refundEstimatePercent en una línea abona (Haber) dicha proporción del neto (asignado) a la cuenta 4450 en lugar de a ingresos o ingresos diferidos en la emisión; las devoluciones esperadas se excluyen del precio de la transacción (NIIF 15 §55). El estado por factura reside en sales/refund-liability/list (estimado, consumido, devoluciones de liquidación observadas, restante).

Importes reales: una nota de crédito contra la factura carga (Debe) la cuenta 4450 hasta alcanzar el pasivo restante antes de afectar los ingresos. sales/refund-liability/true-up (sales:write) { invoiceId, estimatedTotal, date? } revisa la estimación y contabiliza el delta contra los ingresos en cualquier dirección (con el límite inferior del importe consumido). Las devoluciones de liquidación de la pasarela de pagos (PSP) asociadas a la factura se registran en el pasivo y emiten un webhook refund_liability.actual; no se contabilizan directamente contra la cuenta 4450, ya que liberar los ingresos y el IVA repercutido requiere la nota de crédito como documento fiscal.

Suscripciones - acuerdos a facturas

Asigne a un acuerdo un periodo de facturación billingPeriod (monthly | quarterly | annual) y agreements/generate-invoice (agreements:write) creará el borrador de la factura del siguiente periodo no facturado: líneas procedentes de los elementos del acuerdo (o el valor value como una línea por periodo), cada una con reconocimiento proporcional a lo largo del periodo de servicio. agreements/billing/run { asOfDate? } procesa todos los acuerdos activos, genera todos los periodos vencidos y caduca los acuerdos totalmente facturados pasada su fecha de fin. Los periodos cortos finales se prorratean por días; autoRenew amplía el plazo por su propia duración y continúa facturando. Las facturas generadas llevan el identificador agreementId (filtrable en sales/invoices/list).

Modificaciones de contratos

POST /v1/sales/recognition/modify (sales:write) { invoiceLineId, approach, date?, newEndDate?, newMilestones? }:

  • prospective - cancelar el calendario pendiente y redistribuir el remanente no reconocido según las nuevas condiciones a partir de la fecha de modificación (los bienes o servicios restantes son distintos: NIIF 15 §20(a), §21(a)). Las líneas proporcionales toman newEndDate; las líneas por hitos toman newMilestones (porcentajes del importe restante).
  • cumulative_catch_up (solo para líneas proporcionales) - recalcular los ingresos como si las nuevas condiciones se hubieran aplicado desde el principio y contabilizar la diferencia de inmediato, en cualquier dirección (única obligación parcialmente satisfecha: §21(b)); el remanente se redistribuye.

Las disminuciones de precio se reflejan a través de notas de crédito: una nota de crédito contra una factura con calendarios pendientes carga (Debe) primero los ingresos diferidos y recorta el plan pendiente desde su extremo final, luego el pasivo por devoluciones, y solo después los ingresos. Los aumentos de precio son facturas adicionales con su propio reconocimiento, prospectivas por diseño.

Límites

  • Los calendarios y los asientos de reconocimiento son importes en la moneda funcional (EUR) fijados al tipo de cambio de la fecha de emisión; los saldos diferidos no se reexpresan por diferencias de cambio después de la emisión.
  • La cuenta de activo por contrato (2910) se proporciona en el plan contable y como clave de contabilización, pero todavía ningún flujo automatizado de ingresos no facturados contabiliza en ella; reconocer antes de facturar es un asiento manual hoy en día.
  • La asignación requiere un precio de venta independiente en todas las líneas de la factura o en ninguna; el enfoque residual (§79(c)) no está implementado.
  • Los pasivos por devoluciones se rastrean netos de IVA a nivel de factura; el activo correspondiente por el derecho a recuperar los bienes devueltos (§B25) no está modelado.
  • La puesta al día acumulativa se aplica a las líneas proporcionales; la replanificación de hitos es estrictamente prospectiva; las líneas por porcentaje de realización se ajustan mediante informes de progreso, no mediante modify.
  • Los componentes de financiación significativos (§60-65), la contraprestación no monetaria y la contraprestación pagable a un cliente quedan fuera del alcance.
  • Las ejecuciones automáticas por vencimiento de calendario se contabilizan el día en que se disparan; los asientos de ajuste en periodos cerrados se rechazan; deslockee el periodo o utilice una fecha contable abierta.

FAQ

  • ¿Qué ocurre si edito una factura con ingresos diferidos? Las modificaciones en las líneas de factura con calendarios ya emitidos están restringidas para mantener la integridad contable. Anule la factura y vuelva a emitirla, o utilice los puntos de conexión de modificación de contratos para cambios posteriores a la emisión.
  • ¿Cómo se gestionan las devoluciones parciales? Utilice una nota de crédito vinculada a la factura o registre un reembolso de la pasarela de pagos. El sistema ajustará automáticamente el pasivo por devoluciones y los ingresos según corresponda.
  • ¿Se pueden cambiar los métodos de reconocimiento una vez iniciados? No directamente en una línea existente. Debe cancelar el calendario actual mediante una modificación y crear un nuevo plan según las condiciones requeridas.