Datos de empleadores
Los datos de empleador (patrón) son la información patronal de un emisor que solo se usa en las facturas de nómina. Cada emisor tiene un solo registro de datos de empleador, así que primero crea el emisor y después sus datos de empleador.
Los datos de empleador son un subrecurso de las personas, en la ruta /api/v4/people/<personId>/employer. Los datos de empleador del owner del tenant solo los crea, actualiza o elimina el owner; si lo intenta otra persona, el endpoint responde 403.
Modelo datos de empleador
Las propiedades que empiezan con sat toman sus valores de los catálogos del SAT. Consulta sus claves en Catálogos CFDI 4.0 o con la API de catálogos.
Propiedades
- Name
id- Type
- string?
- Description
Id asignado por Fiscalapi.
- Name
personId- Type
- string
- required
- Description
Id de la persona a la que pertenecen los datos de empleador.
- Name
employerRegistration- Type
- string
- required
- Description
Registro patronal de la persona empleadora.
- Name
originEmployerTin- Type
- string?
- Description
RFC del empleador original, cuando el patrón terceriza el pago de nómina.
- Name
satFundSourceId- Type
- string?
- expandible
- Description
Origen de los fondos del patrón. Catálogo del SAT
c_OrigenRecurso. Solo aplica a empresas que pertenecen al Sistema Nacional de Coordinación Fiscal (SNCF).- Type
- enum:
- Values
- "IP""IF""IM"
- Name
ownResourceAmount- Type
- number?
- conditional required
- Description
Monto de los fondos propios del patrón. Solo aplica a empresas que pertenecen al Sistema Nacional de Coordinación Fiscal (SNCF). Si lo envías,
satFundSourceIdes obligatorio. Debe estar entre 0 y 999,999,999,999.999999; si envíasnull, no se valida.
Obtener datos de empleador
Este endpoint obtiene los datos de empleador de una persona por su id.
Request
curl --location 'https://test.fiscalapi.com/api/v4/people/<personId>/employer' \
--header 'X-TENANT-KEY: <tenant_key>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api_key>'
Response
{
"data": {
"personId": "bef56254-0892-4558-95c3-f9c8729e4b0e",
"employerRegistration": "A1230768108",
"originEmployerTin": "ARE180429TM6",
"satFundSource": {
"id": "IP",
"description": "Ingresos propios.",
"createdAt": "2024-08-10T15:46:30.373",
"updatedAt": null
},
"ownResourceAmount": 1500,
"id": "23f0b555-68bc-48fd-bb90-deb36ed25ef6",
"createdAt": "2025-09-18T20:17:44.175",
"updatedAt": "2025-09-18T20:17:48.489"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Crear datos de empleador
Este endpoint crea los datos de empleador de una persona. Cada persona tiene un solo registro de datos de empleador; si ya lo tiene, usa Actualizar datos de empleador.
Modelo
- Name
personId- Type
- string
- required
- Description
Id de la persona a la que pertenecen los datos de empleador.
- Name
employerRegistration- Type
- string
- required
- Description
Registro patronal de la persona empleadora.
- Name
originEmployerTin- Type
- string?
- Description
RFC del empleador original, cuando el patrón terceriza el pago de nómina.
- Name
satFundSourceId- Type
- string?
- expandible
- Description
Origen de los fondos del patrón. Catálogo del SAT
c_OrigenRecurso. Solo aplica a empresas que pertenecen al Sistema Nacional de Coordinación Fiscal (SNCF).- Type
- enum:
- Values
- "IP""IF""IM"
- Name
ownResourceAmount- Type
- number?
- conditional required
- Description
Monto de los fondos propios del patrón. Solo aplica a empresas que pertenecen al Sistema Nacional de Coordinación Fiscal (SNCF). Si lo envías,
satFundSourceIdes obligatorio. Debe estar entre 0 y 999,999,999,999.999999; si envíasnull, no se valida.
Errores
Todos los casos llegan como falla de validación en el campo que se indica.
| Estado | Cuándo ocurre | Mensaje |
|---|---|---|
| 400 | La persona ya tiene datos de empleador. Falla en PersonId. | La persona ya tiene datos de empleador: modifícalos con PUT /api/v4/people/{personId}/employer. |
| 400 | Envías ownResourceAmount sin satFundSourceId. Falla en SatFundSourceId. | OrigenRecurso es requerido cuando se especifica MontoRecursoPropio. |
| 400 | ownResourceAmount es menor que 0. Falla en OwnResourceAmount. | MontoRecursoPropio debe ser mayor o igual a 0. |
| 400 | ownResourceAmount es mayor que 999,999,999,999.999999. Falla en OwnResourceAmount. | MontoRecursoPropio no puede ser mayor a 999999999999.999999. |
Request
curl --location 'https://test.fiscalapi.com/api/v4/people/bef56254-0892-4558-95c3-f9c8729e4b0e/employer' \
--header 'X-TENANT-KEY: <tenant-key>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '{
"personId": "bef56254-0892-4558-95c3-f9c8729e4b0e",
"employerRegistration": "B5510768108",
"originEmployerTin": "URE180429TM6",
"satFundSourceId": null,
"ownResourceAmount": null
}'
Response
{
"data": {
"personId": "bef56254-0892-4558-95c3-f9c8729e4b0e",
"employerRegistration": "B5510768108",
"originEmployerTin": "URE180429TM6",
"satFundSource": null,
"ownResourceAmount": null,
"id": "23f0b555-68bc-48fd-bb90-deb36ed25ef6",
"createdAt": "2025-09-18T20:17:44.175",
"updatedAt": "2025-09-18T20:17:44.175"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Actualizar datos de empleador
Este endpoint actualiza los datos de empleador de una persona por su id.
Modelo
- Name
personId- Type
- string
- required
- Description
Id de la persona a la que pertenecen los datos de empleador.
- Name
employerRegistration- Type
- string
- required
- Description
Registro patronal de la persona empleadora.
- Name
originEmployerTin- Type
- string?
- Description
RFC del empleador original, cuando el patrón terceriza el pago de nómina.
- Name
satFundSourceId- Type
- string?
- expandible
- Description
Origen de los fondos del patrón. Catálogo del SAT
c_OrigenRecurso. Solo aplica a empresas que pertenecen al Sistema Nacional de Coordinación Fiscal (SNCF).- Type
- enum:
- Values
- "IP""IF""IM"
- Name
ownResourceAmount- Type
- number?
- conditional required
- Description
Monto de los fondos propios del patrón. Solo aplica a empresas que pertenecen al Sistema Nacional de Coordinación Fiscal (SNCF). Si lo envías,
satFundSourceIdes obligatorio. Debe estar entre 0 y 999,999,999,999.999999; si envíasnull, no se valida.
Errores
Todos los casos llegan como falla de validación en el campo que se indica.
| Estado | Cuándo ocurre | Mensaje |
|---|---|---|
| 400 | Envías ownResourceAmount sin satFundSourceId. Falla en SatFundSourceId. | OrigenRecurso es requerido cuando se especifica MontoRecursoPropio. |
| 400 | ownResourceAmount es menor que 0. Falla en OwnResourceAmount. | MontoRecursoPropio debe ser mayor o igual a 0. |
| 400 | ownResourceAmount es mayor que 999,999,999,999.999999. Falla en OwnResourceAmount. | MontoRecursoPropio no puede ser mayor a 999999999999.999999. |
Request
curl --location --request PUT 'https://test.fiscalapi.com/api/v4/people/bef56254-0892-4558-95c3-f9c8729e4b0e/employer' \
--header 'X-TENANT-KEY: <tenant-key>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '{
"personId": "bef56254-0892-4558-95c3-f9c8729e4b0e",
"employerRegistration": "A1230768108",
"originEmployerTin": "ARE180429TM6",
"satFundSourceId": null,
"ownResourceAmount": null
}'
Response
{
"data": {
"personId": "bef56254-0892-4558-95c3-f9c8729e4b0e",
"employerRegistration": "A1230768108",
"originEmployerTin": "ARE180429TM6",
"satFundSource": null,
"ownResourceAmount": null,
"id": "23f0b555-68bc-48fd-bb90-deb36ed25ef6",
"createdAt": "2025-09-18T20:17:44.175",
"updatedAt": "2025-09-18T20:19:20.569"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Eliminar datos de empleador
Este endpoint elimina los datos de empleador de una persona por su id.
Request
curl --location --request DELETE 'https://test.fiscalapi.com/api/v4/people/bef56254-0892-4558-95c3-f9c8729e4b0e/employer' \
--header 'X-TENANT-KEY: <tenant-key>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api-key>' \
--data ''
Response
{
"data": true,
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}