Receptores de facturas
Un receptor es una persona que recibe facturas. En Fiscalapi, una persona representa cualquier entidad fiscal, ya sea una persona física (individuo) o moral (empresa). Este concepto centralizado permite gestionar otros recursos de su organización como: asignar y remover timbres, administrar certificados (sellos), crear y revocar API keys y controlar quién puede generar facturas y quién no.
Una persona representa:
- Empresas (Emisores de facturas CFDI)
- Clientes (Receptores de facturas CFDI)
- Empleado (Persona que trabaja para una empresa)
- Empleador (Empresa que contrata a un empleado)
- Organizaciones (Empresas que tienen sus propios clientes)
- Usuarios (Personas que consumen la API dentro de una organización)
- Holding (Empresa que tiene varias empresas como filiales o subsidiarias)
- Personas fisicas (individuos)
Receptor en facturas de nómina
Cuando un receptor actúa como empleado en facturas de nómina, es obligatorio que registre los datos de empleado. Si el receptor es una persona física (siempre), también debe capturar su CURP como parte de sus datos fiscales.
Tip: Una misma persona puede ser un emisor, receptor, empleado, empleador o usuario en la misma organización y
cualquier persona se gestiona desde el recurso único de personas. /api/v4/people
Modelo persona
El modelo persona contiene toda la información de una persona. Las propiedades con el sufijo Id
corresponden a valores de los catálogos oficiales del SAT. Puede verlos en la página de Catálogos CFDI 4.0 o
programáticamente a través de la API catalogs.
Propiedades
- Name
id
- Type
- string?
- Description
Identificador único de la persona asignado por Fiscalapi.
- Name
legalName
- Type
- string
- required
- Description
Razón social de la persona sin régimen de capital. Por ejemplo, si la razón social es
MI EMPRESA S.A. de C.V.
, se debe enviarMI EMPRESA
. Si la persona es física, se debe enviar el nombre completo como aparece en la constancia de situación fiscal.
- Name
email
- Type
- string
- required
- Description
Correo electrónico de la persona.
- Name
password
- Type
- string
- required
- Description
Contraseña de acceso al dashboard. Las personas (emisores, receptores y usuarios) pueden acceder al dashboard de Fiscalapi con su correo y contraseña; la entrega de estas credenciales dependerá de las políticas internas de su organización.
- Name
capitalRegime
- Type
- string?
- Description
Régimen de capital de la persona. Por ejemplo: si la razón social de la persona es
MI EMPRESA S.A. de C.V.
, se debe enviarS.A. de C.V.
; si la persona es física, este campo se deja vacío.
- Name
satTaxRegimeId
- Type
- string?
- expandible
- Description
Código de régimen fiscal que se utilizará cuando esta persona actúe como emisor o receptor. Catálogo del SAT
c_régimenFiscal
.- Type
- enum:
- Values
- "601""603""605"
- Name
satCfdiUseId
- Type
- string?
- expandible
- Description
Código de uso del CFDI que se utilizará cuando esta persona actúe como receptor. Catálogo del SAT
c_UsoCFDI
.- Type
- enum:
- Values
- "G01""G02""G03"
- Name
userTypeId
- Type
- string?
- expandible
- Description
Tipo de persona, solo tiene fines informativos.
- Type
- enum:
- Values
- "T""C""U"
- Name
tin
- Type
- string?
- Description
RFC de la persona.
- Name
curp
- Type
- string?
- Description
CURP de la persona. Utilizado en el CFDI de nómina.
- Name
zipCode
- Type
- string?
- Description
Código postal de la persona. Debe corresponder con el código postal expresado en su constancia de situación fiscal. Catálogo del SAT
c_CodigoPostal
- Name
base64Photo
- Type
- string?
- Description
Foto de perfil de la persona en formato base64.
- Name
taxPassword
- Type
- string?
- Description
Contraseña de los certificados CSD de la persona que se utilizará para sellar (firmar) las facturas cuando esta persona actúe como emisor.
- Name
availableBalance
- Type
- number?
- Description
Timbres disponibles para la persona. Solo lectura y con fines informativos.
- Name
tenantId
- Type
- string?
- Description
ID del tenant al que pertenece la persona. Solo lectura y con fines informativos.
Listar receptores
Este endpoint devuelve una lista paginada de personas. De forma predeterminada, se muestran diez personas por página, pero puedes ajustar esto con los parámetros de consulta.
Query parameters
- Name
pageNumber
- Type
- integer | number
- required
- Description
El número de página que se desea recuperar.
Default:1
- Name
pageSize
- Type
- integer | number
- required
- Description
Valor entre 1 y 50 inclusivo para indicar la cantidad de registros devueltos por página.
Default:10
Request
curl --location 'https://test.fiscalapi.com/api/v4/people?pageNumber=1&pageSize=2' \
--header 'X-TENANT-KEY: <tenant>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api_key>'
Response
{
"data": {
"items": [
{
"legalName": "KARLA FUENTE NOLASCO",
"capitalRegime": null,
"email": "karla@gmail.com",
"phoneNumber": null,
"validTo": null,
"twoFactorEnabled": false,
"stripeCustomerId": "cus_RXpxlJC2145W9I",
"satTaxRegimeId": "626",
"satTaxRegime": {
"id": "626",
"description": "Régimen Simplificado de Confianza",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"satCfdiUseId": "G03",
"satCfdiUse": {
"id": "G03",
"description": "Gastos en general.",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"userTypeId": "C",
"userType": {
"id": "C",
"description": "Cliente",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"tin": "FUNK671228PH6",
"zipCode": "01160",
"base64Photo": null,
"taxPassword": "12345678a",
"stripePaymentMethodId": null,
"stripePaymentMethod": null,
"availableBalance": 13,
"committedBalance": 0,
"subscriptionStatus": null,
"tenantId": "102e5f13-e114-41dd-bea7-507fce177281",
"id": "78d380fd-1b69-4e3c-8bc0-4f57737f7d5f",
"createdAt": "2025-01-07T15:26:06.9069715",
"updatedAt": "2025-04-20T09:31:06.1825831"
}
],
"pageNumber": 1,
"totalPages": 2,
"totalCount": 5,
"hasPreviousPage": false,
"hasNextPage": true
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Obtener receptor por ID
Este endpoint te permite obtener una persona por su ID.
Request
curl --location 'https://test.fiscalapi.com/api/v4/people/78d380fd-1b69-4e3c-8bc0-4f57737f7d5f' \
--header 'X-TENANT-KEY: <tenant>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api_key>'
--data ''
Response
{
"data": {
"legalName": "KARLA FUENTE NOLASCO",
"capitalRegime": null,
"email": "karla@gmail.com",
"phoneNumber": null,
"validTo": null,
"twoFactorEnabled": false,
"stripeCustomerId": "cus_RXpxlJC2145W9I",
"satTaxRegimeId": "626",
"satTaxRegime": {
"id": "626",
"description": "Régimen Simplificado de Confianza",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"satCfdiUseId": "G03",
"satCfdiUse": {
"id": "G03",
"description": "Gastos en general.",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"userTypeId": "C",
"userType": {
"id": "C",
"description": "Cliente",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"tin": "FUNK671228PH6",
"zipCode": "01160",
"base64Photo": null,
"taxPassword": "12345678a",
"stripePaymentMethodId": null,
"stripePaymentMethod": null,
"availableBalance": 13,
"committedBalance": 0,
"subscriptionStatus": null,
"tenantId": "102e5f13-e114-41dd-bea7-507fce177281",
"id": "78d380fd-1b69-4e3c-8bc0-4f57737f7d5f",
"createdAt": "2025-01-07T15:26:06.9069715",
"updatedAt": "2025-04-20T09:31:06.1825831"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Crear receptor
Este endpoint te permite crear una persona.
Modelo
- Name
legalName
- Type
- string
- required
- Description
Razón social de la persona sin régimen de capital. Por ejemplo, si la razón social es
MI EMPRESA S.A. de C.V.
, se debe enviarMI EMPRESA
. Si el receptor es persona física, se debe enviar el nombre completo como aparece en la constancia de situación fiscal.
- Name
email
- Type
- string
- required
- Description
Correo electrónico de la persona.
- Name
password
- Type
- string
- required
- Description
Contraseña de acceso al dashboard. Las personas (emisores, receptores y usuarios) pueden acceder al dashboard de Fiscalapi con su correo y contraseña; la entrega de estas credenciales dependerá de las políticas internas de su organización.
- Name
capitalRegime
- Type
- string?
- Description
Régimen de capital de la persona. Por ejemplo: si la razón social de la persona es
MI EMPRESA S.A. de C.V.
, se debe enviarS.A. de C.V.
; si el receptor es persona física, este campo se deja vacío.
- Name
satTaxRegimeId
- Type
- string?
- expandible
- Description
Código de régimen fiscal que se utilizará cuando esta persona actúe como emisor o receptor. Catálogo del SAT
c_régimenFiscal
.- Type
- enum:
- Values
- "601""603""605"
- Name
satCfdiUseId
- Type
- string?
- expandible
- Description
Código de uso del CFDI que se utilizará cuando esta persona actúe como receptor. Catálogo del SAT
c_UsoCFDI
.- Type
- enum:
- Values
- "G01""G02""G03"
- Name
userTypeId
- Type
- string?
- expandible
- Description
Tipo de persona, solo tiene fines informativos.
- Type
- enum:
- Values
- "T""C""U"
- Name
tin
- Type
- string?
- Description
RFC de la persona.
- Name
curp
- Type
- string?
- Description
CURP de la persona. Utilizado en el CFDI de nómina.
- Name
zipCode
- Type
- string?
- Description
Código postal de la persona. Debe corresponder con el código postal expresado en su constancia de situación fiscal. Catálogo del SAT
c_CodigoPostal
- Name
base64Photo
- Type
- string?
- Description
Foto de perfil de la persona en formato base64.
- Name
taxPassword
- Type
- string?
- Description
Contraseña de los certificados CSD de la persona que se utilizará para sellar (firmar) las facturas cuando esta persona actúe como emisor.
- Name
availableBalance
- Type
- number?
- Description
Timbres disponibles para la persona. Solo lectura y con fines informativos.
- Name
tenantId
- Type
- string?
- Description
ID del tenant al que pertenece la persona. Solo lectura y con fines informativos.
Request
curl --location 'https://test.fiscalapi.com/api/v4/people' \
--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-raw '{
"legalName": "EMPRESA",
"email": "email@domain.com",
"password": "MiSuperPass123!"
}'
Response
{
"data": {
"legalName": "EMPRESA S.A. DE C.V.",
"capitalRegime": null,
"email": "email@domain.com",
"phoneNumber": null,
"validTo": null,
"twoFactorEnabled": false,
"stripeCustomerId": "cus_SEQGzLeM29TIFr",
"satTaxRegimeId": null,
"satTaxRegime": null,
"satCfdiUseId": null,
"satCfdiUse": null,
"userTypeId": "T",
"userType": null,
"tin": null,
"curp": null,
"zipCode": null,
"base64Photo": null,
"taxPassword": null,
"stripePaymentMethodId": null,
"stripePaymentMethod": null,
"availableBalance": 0,
"committedBalance": 0,
"subscriptionStatus": null,
"tenantId": "102e5f13-e114-41dd-bea7-507fce177281",
"id": "d7992a07-4161-48ba-b3bf-558790c9bcdb",
"createdAt": "2025-05-01T07:44:53.9725097",
"updatedAt": "2025-05-01T07:44:53.9791644"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Actualizar receptor
Este endpoint te permite actualizar una persona.
Modelo
- Name
legalName
- Type
- string
- required
- Description
Razón social de la persona sin régimen de capital. Por ejemplo, si la razón social es
MI EMPRESA S.A. de C.V.
, se debe enviarMI EMPRESA
. Si el receptor es persona física, se debe enviar el nombre completo como aparece en la constancia de situación fiscal.
- Name
email
- Type
- string
- required
- Description
Correo electrónico de la persona.
- Name
password
- Type
- string
- required
- Description
Contraseña de acceso al dashboard. Las personas (emisores, receptores y usuarios) pueden acceder al dashboard de Fiscalapi con su correo y contraseña; la entrega de estas credenciales dependerá de las políticas internas de su organización.
- Name
capitalRegime
- Type
- string?
- Description
Régimen de capital de la persona. Por ejemplo: si la razón social de la persona es
MI EMPRESA S.A. de C.V.
, se debe enviarS.A. de C.V.
; si el receptor es persona física, este campo se deja vacío.
- Name
satTaxRegimeId
- Type
- string?
- expandible
- Description
Código de régimen fiscal que se utilizará cuando esta persona actúe como emisor o receptor. Catálogo del SAT
c_régimenFiscal
.- Type
- enum:
- Values
- "601""603""605"
- Name
satCfdiUseId
- Type
- string?
- expandible
- Description
Código de uso del CFDI que se utilizará cuando esta persona actúe como receptor. Catálogo del SAT
c_UsoCFDI
.- Type
- enum:
- Values
- "G01""G02""G03"
- Name
userTypeId
- Type
- string?
- expandible
- Description
Tipo de persona, solo tiene fines informativos.
- Type
- enum:
- Values
- "T""C""U"
- Name
tin
- Type
- string?
- Description
RFC de la persona.
- Name
curp
- Type
- string?
- Description
CURP de la persona. Utilizado en el CFDI de nómina.
- Name
zipCode
- Type
- string?
- Description
Código postal de la receptor. Debe corresponder con el código postal expresado en su constancia de situación fiscal. Catálogo del SAT
c_CodigoPostal
- Name
base64Photo
- Type
- string?
- Description
Foto de perfil de la receptor en formato base64.
- Name
taxPassword
- Type
- string?
- Description
Contraseña de los certificados CSD de la persona que se utilizará para sellar (firmar) las facturas cuando esta persona actúe como emisor.
- Name
availableBalance
- Type
- number?
- Description
Timbres disponibles para la persona. Solo lectura y con fines informativos.
- Name
tenantId
- Type
- string?
- Description
ID del tenant al que pertenece la receptor. Solo lectura y con fines informativos.
Request
curl --location --request PUT 'https://test.fiscalapi.com/api/v4/people/d7992a07-4161-48ba-b3bf-558790c9bcdb' \
--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-raw '{
"id": "d7992a07-4161-48ba-b3bf-558790c9bcdb",
"legalName": "ESCUELA KEMPER URGATE",
"email": "mi.nueva.empresa@gmail.com",
"password": "SuperPassword1234!",
"capitalRegime": "SA de CV",
"taxPassword": "MiSuperPass123!",
"phoneNumber": "3312345678",
"satTaxRegimeId": "601",
"satCfdiUseId": "G01",
"tin": "XAXX010101001",
"curp": "XEXX010101HNEXXXA4",
"zipCode": "44620",
"base64Photo": "base64..."
}'
Response
{
"data": {
"legalName": "ESCUELA KEMPER URGATE",
"capitalRegime": null,
"email": "mi.nueva.empresa@gmail.com",
"phoneNumber": "4611234556",
"validTo": null,
"twoFactorEnabled": false,
"stripeCustomerId": "cus_SEQGzLeM29TIFr",
"satTaxRegimeId": "601",
"satTaxRegime": null,
"satCfdiUseId": "G01",
"satCfdiUse": null,
"userTypeId": "T",
"userType": null,
"tin": "XAXX010101001",
"curp": "XEXX010101HNEXXXA4",
"zipCode": "44620",
"base64Photo": "base64...",
"taxPassword": null,
"stripePaymentMethodId": null,
"stripePaymentMethod": null,
"availableBalance": 0,
"committedBalance": 0,
"subscriptionStatus": null,
"tenantId": "102e5f13-e114-41dd-bea7-507fce177281",
"id": "d7992a07-4161-48ba-b3bf-558790c9bcdb",
"createdAt": "2025-05-01T07:44:53.9725097",
"updatedAt": "2025-05-01T07:46:12.7809120"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Eliminar receptor
Este endpoint te permite eliminar una receptor.
Request
curl --location --request DELETE 'https://test.fiscalapi.com/api/v4/people/d7992a07-4161-48ba-b3bf-558790c9bcdb' \
--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
}