Ir al contenido principal

API: Nóminas (payrolls)

Crea, consulta, actualiza y elimina nóminas mediante la API. Incluye ejemplos con percepciones, retenciones IRPF y cotizaciones a la Seguridad Social.

Actualizado ayer

El recurso payrolls te permite gestionar las nóminas de tus empleados. Puedes crear nóminas, consultarlas, actualizarlas, eliminarlas y registrar sus pagos.

Las nóminas en FacturaDirecta registran la información contable de las percepciones del empleado, las retenciones de IRPF y las cotizaciones a la Seguridad Social.

💡 Recomendación: Antes de empezar a desarrollar, te recomendamos crear un entorno de pruebas (sandbox) para hacer tus primeras llamadas sin afectar tus datos reales.

Endpoints disponibles

Método

Endpoint

Descripción

GET

/{companyId}/payrolls

Lista de nóminas (con filtros y paginación)

POST

/{companyId}/payrolls

Crear una nómina

GET

/{companyId}/payrolls/{id}

Obtener una nómina por ID

PUT

/{companyId}/payrolls/{id}

Actualizar una nómina

DELETE

/{companyId}/payrolls/{id}

Eliminar una nómina

POST

/{companyId}/payrolls/{id}/payments

Registrar pagos de la nómina

PUT

/{companyId}/payrolls/{id}/tags

Actualizar etiquetas de la nómina

Ejemplos de código

Nómina básica

Una nómina típica con percepción salarial, retención IRPF del trabajador y cotizaciones a la Seguridad Social.

curl -X POST \
  -H "facturadirecta-api-key: TU_CLAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "content": {
      "type": "payroll",
      "main": {
        "date": "2026-01-31",
        "contact": "con_40000000-0000-4000-8000-000000000000",
        "modelo190": {
          "clavePercepcion": "A"
        },
        "lines": [
          {
            "type": "debit",
            "label": "Percepción salarial",
            "account": "640000",
            "lineTotal": 2000
          },
          {
            "type": "ss_employee",
            "label": "Aportación Seg.Soc. trabajador",
            "account": "476000",
            "base": 2000,
            "lineTotal": 120
          },
          {
            "type": "irpf_employee",
            "label": "Retenciones IRPF (Percepciones dinerarias)",
            "account": "475100",
            "base": 2000,
            "lineTotal": 240
          },
          {
            "type": "ss_company",
            "label": "Aportaciones Cotización Seg.Soc. Empresa",
            "account": "642000",
            "base": 2000,
            "lineTotal": 600
          }
        ]
      }
    }
  }' \
  https://app.facturadirecta.com/api/TU_COMPANY_ID/payrolls

Desglose:

  • Salario bruto: 2.000€

  • Seg. Social trabajador (6%): -120€

  • IRPF (12%): -240€

  • Neto a pagar: 1.640€

  • Coste Seg. Social empresa (30%): 600€

  • Coste total empresa: 2.600€

Nómina con pago registrado

Crea la nómina y registra el pago en un solo paso.

{
  "content": {
    "type": "payroll",
    "main": {
      "date": "2026-01-31",
      "contact": "con_40000000-0000-4000-8000-000000000000",
      "modelo190": {
        "clavePercepcion": "A"
      },
      "lines": [
        {
          "type": "debit",
          "label": "Percepción salarial",
          "account": "640000",
          "lineTotal": 2000
        },
        {
          "type": "ss_employee",
          "label": "Aportación Seg.Soc. trabajador",
          "account": "476000",
          "base": 2000,
          "lineTotal": 120
        },
        {
          "type": "irpf_employee",
          "label": "Retenciones IRPF",
          "account": "475100",
          "base": 2000,
          "lineTotal": 240
        },
        {
          "type": "ss_company",
          "label": "Aportaciones Cotización Seg.Soc. Empresa",
          "account": "642000",
          "base": 2000,
          "lineTotal": 600
        }
      ]
    }
  },
  "payments": [
    {
      "bank": "ban_10000000-0000-4000-8000-000000000000"
    }
  ]
}

Campos importantes

Campos del objeto main

Campo

Tipo

Descripción

contact

string

ID del empleado (obligatorio)

date

string

Fecha de la nómina (formato YYYY-MM-DD)

lines

array

Líneas de la nómina (obligatorio)

modelo190

object

Información para el modelo 190 de IRPF

Tipos de líneas de nómina

Cada línea debe indicar su tipo para la correcta contabilización:

Tipo

Descripción

Cuenta típica

debit

Percepciones salariales (sueldos, complementos)

640000

ss_employee

Aportación a Seg. Social del trabajador

476000

irpf_employee

Retención IRPF del trabajador

475100

ss_company

Cotización a Seg. Social de la empresa

642000

Campos de cada línea

Campo

Tipo

Descripción

type

string

Tipo de línea (ver tabla anterior)

label

string

Descripción de la línea

account

string

Cuenta contable

base

number

Base de cálculo (para retenciones y cotizaciones)

lineTotal

number

Importe de la línea

Campos del modelo 190

Campo

Tipo

Descripción

clavePercepcion

string

Clave de percepción para el modelo 190 de IRPF

Claves de percepción comunes:

  • A: Rendimientos del trabajo por cuenta ajena

  • B: Pensiones y haberes pasivos

  • C: Prestaciones por desempleo

Registrar pagos

Puedes registrar el pago de una nómina existente con el endpoint de pagos:

curl -X POST \
  -H "facturadirecta-api-key: TU_CLAVE_API" \
  -H "Content-Type: application/json" \
  -d '{
    "payments": [
      {
        "bank": "ban_xxxxx",
        "date": "2026-01-31"
      }
    ]
  }' \
  https://app.facturadirecta.com/api/TU_COMPANY_ID/payrolls/pay_xxxxx/payments

Errores comunes

Error: "contact is required"

El campo contact es obligatorio. Asegúrate de incluir el ID de un empleado existente.

Error: "contact must be an employee"

El contacto indicado no tiene el rol de empleado. Verifica que el contacto sea un empleado.

Error: "lines must have at least 1 item"

Una nómina necesita al menos una línea. Verifica que el array lines no está vacío.

¿Ha quedado contestada tu pregunta?