Productos
Los productos representan los bienes (productos) o servicios que ofrece una organización a sus clientes.
Fiscalapi te permite gestionar el catálogo de productos y servicios de forma programática.
Modelo producto
El modelo producto contiene toda la información sobre un producto o servicio, incluyendo datos fiscales e impuestos aplicables.
Las propiedades con el sufijo Id
corresponden a valores de los catálogos oficiales del SAT. Puede verlos en la pagina de Catálogos CFDI 4.0 o
programáticamente a través de la API catalogs.
Properties
- Name
id
- Type
- string?
- Description
Identificador único del producto asignado por Fiscalapi.
- Name
description
- Type
- string
- required
- Description
Descripción o nombre del producto.
- Name
unitPrice
- Type
- number | decimal
- required
- Description
Precio unitario del producto sin impuestos.
- Name
satUnitMeasurementId
- Type
- string
- required
- expandible
- Description
Código de la unidad de medida. Catálogo del SAT
c_ClaveUnidad
.Default:"H87"
- Name
satTaxObjectId
- Type
- string
- required
- expandible
- Description
Código que identifica las obligaciones fiscales del producto. Catálogo del SAT
c_ObjetoImp
.Default:"02"
- Name
satProductCodeId
- Type
- string
- required
- expandible
- Description
Código del producto o servicio. Catálogo del SAT
c_ClaveProdServ
.Default:"01010101"
- Name
productTaxes
- Type
- array of objects (ProductTax)?
Impuestos aplicables al producto.
Default:[IVA 16%]- Name
taxId
- Type
- string
- required
- expandible
- Description
Impuesto. Catálogo del SAT
c_Impuesto
.- Type
- enum:
- Values
- "001""002""003"
- Name
taxFlagId
- Type
- string
- required
- expandible
- Description
Naturaleza del impuesto.
- Type
- enum:
- Values
- "T""R"
- Name
taxTypeId
- Type
- string
- required
- expandible
- Description
Tipo de impuesto.
- Type
- enum:
- Values
- "Tasa""Cuota""Exento"
- Name
rate
- Type
- decimal | number
- required
- Description
Tasa del impuesto. El valor debe estar entre 0.00000 y 1.000000
p. ej.0.160000
para un 16% de impuesto.
Listar productos
Este endpoint devuelve una lista paginada de productos. De forma predeterminada, se muestran diez productos 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/products?pageNumber=1&pageSize=2' \
--header 'X-TENANT-KEY: <tenant-key>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api-key>'
Response
{
"data": {
"items": [
{
"description": "Libro de programacion",
"unitPrice": 150.75,
"satUnitMeasurementId": "H87",
"satUnitMeasurement": {
"id": "H87",
"description": "Pieza",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"satTaxObjectId": "02",
"satTaxObject": {
"id": "02",
"description": "Sí objeto de impuesto.",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"satProductCodeId": "81111602",
"satProductCode": {
"id": "81111602",
"description": "Programaci?n para java",
"createdAt": "2025-01-07T15:05:58.2766667",
"updatedAt": null
},
"productTaxes": [
{
"productId": "2c6aafcf-8cd2-4fb1-94a8-687adc671380",
"tax": {
"id": "002",
"description": "IVA: Impuesto al valor agregado",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"rate": 0.16,
"taxFlag": {
"id": "T",
"description": "TRASLADO",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"taxType": {
"id": "Tasa",
"description": "TASA",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"id": "26372153-e692-4675-9772-acb1df0abc20",
"createdAt": "2025-04-19T15:52:15.3623078",
"updatedAt": "2025-04-19T15:52:15.3623087"
},
{
"productId": "2c6aafcf-8cd2-4fb1-94a8-687adc671380",
"tax": {
"id": "002",
"description": "IVA: Impuesto al valor agregado",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"rate": 0.010667,
"taxFlag": {
"id": "T",
"description": "TRASLADO",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"taxType": {
"id": "Tasa",
"description": "TASA",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"id": "52400183-30af-447d-9902-39b6089176e7",
"createdAt": "2025-04-19T15:52:15.3623100",
"updatedAt": "2025-04-19T15:52:15.3623101"
}
],
"id": "2c6aafcf-8cd2-4fb1-94a8-687adc671380",
"createdAt": "2025-04-19T15:50:27.3391795",
"updatedAt": "2025-04-27T19:54:01.5113267"
},
{
"description": "Refresco Coca-Cola 1L",
"unitPrice": 50,
"satUnitMeasurementId": "H87",
"satUnitMeasurement": {
"id": "H87",
"description": "Pieza",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"satTaxObjectId": "02",
"satTaxObject": {
"id": "02",
"description": "Sí objeto de impuesto.",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"satProductCodeId": "50202306",
"satProductCode": {
"id": "50202306",
"description": "Refrescos",
"createdAt": "2025-01-07T15:05:55.1500000",
"updatedAt": null
},
"productTaxes": [
{
"productId": "27808326-1824-4f3c-87fb-03ace1066f16",
"tax": {
"id": "002",
"description": "IVA: Impuesto al valor agregado",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"rate": 0.16,
"taxFlag": {
"id": "T",
"description": "TRASLADO",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"taxType": {
"id": "Tasa",
"description": "TASA",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"id": "3c9aee99-09be-4862-87d0-bad27ab6f7c0",
"createdAt": "2025-01-07T15:41:33.2040814",
"updatedAt": "2025-01-07T15:41:33.2040818"
}
],
"id": "27808326-1824-4f3c-87fb-03ace1066f16",
"createdAt": "2025-01-07T15:41:33.2040800",
"updatedAt": "2025-02-04T19:14:01.8199284"
}
],
"pageNumber": 1,
"totalPages": 2,
"totalCount": 4,
"hasPreviousPage": false,
"hasNextPage": true
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Crear producto
Este endpoint le permite crear un nuevo producto.
Modelo
- Name
description
- Type
- string
- required
- Description
Descripción o nombre del producto.
- Name
unitPrice
- Type
- number | decimal
- required
- Description
Precio unitario del producto sin impuestos.
- Name
satUnitMeasurementId
- Type
- string?
- Description
Código de la unidad de medida. Catálogo del SAT
c_ClaveUnidad
.Default:"H87"
- Name
satTaxObjectId
- Type
- string?
- Description
Código que identifica las obligaciones fiscales del producto. Catálogo del SAT
c_ObjetoImp
.Default:"02"
- Name
satProductCodeId
- Type
- string?
- Description
Código del producto o servicio. Catálogo del SAT
c_ClaveProdServ
.Default:"01010101"
- Name
productTaxes
- Type
- array of objects (ProductTax)?
Impuestos aplicables al producto.
Default:[IVA 16%]- Name
taxId
- Type
- string
- required
- Description
Impuesto. Catálogo del SAT
c_Impuesto
.- Type
- enum:
- Values
- "001""002""003"
- Name
taxFlagId
- Type
- string
- required
- Description
Naturaleza del impuesto.
- Type
- enum:
- Values
- "T""R"
- Name
taxTypeId
- Type
- string
- required
- Description
Tipo de impuesto.
- Type
- enum:
- Values
- "Tasa""Cuota""Exento"
- Name
rate
- Type
- decimal | number
- required
- Description
Tasa del impuesto. El valor debe estar entre 0.00000 y 1.000000
p. ej.0.160000
para un 16% de impuesto.
Request
curl --location 'https://test.fiscalapi.com/api/v4/products' \
--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 '{
"description": "Consulta Medica",
"unitPrice": 1250,
}'
Response
{
"data": {
"description": "Consulta Medica",
"unitPrice": 1250,
"satUnitMeasurementId": "H87",
"satUnitMeasurement": null,
"satTaxObjectId": "02",
"satTaxObject": null,
"satProductCodeId": "01010101",
"satProductCode": null,
"productTaxes": [
{
"productId": "b2e8dba2-5986-426b-8c1b-6657c0cecbf7",
"tax": null,
"rate": 0.160000,
"taxFlag": null,
"taxType": null,
"id": "c3601359-07a1-490d-a98d-b7cd0ec0956a",
"createdAt": "2025-01-11T19:09:33.0999529",
"updatedAt": "2025-01-11T19:09:33.0999671"
}
],
"id": "b2e8dba2-5986-426b-8c1b-6657c0cecbf7",
"createdAt": "2025-01-11T19:09:33.0993925",
"updatedAt": "2025-01-11T19:09:33.0994226"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Obtener producto por ID
Este endpoint te permite obtener un producto por su ID.
Request
curl --location 'https://test.fiscalapi.com/api/v4/products/2c6aafcf-8cd2-4fb1-94a8-687adc671380' \
--header 'X-TENANT-KEY: <tenant-key>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api-key>'
Response
{
"data": {
"description": "Consulta Medica",
"unitPrice": 1250,
"satUnitMeasurementId": "H87",
"satUnitMeasurement": {
"id": "H87",
"description": "Pieza",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"satTaxObjectId": "02",
"satTaxObject": {
"id": "02",
"description": "Sí objeto de impuesto.",
"createdAt": "2024-08-10T15:46:30.3730000",
"updatedAt": null
},
"satProductCodeId": "01010101",
"satProductCode": {
"id": "01010101",
"description": "No se encuentra en el catálogo",
"createdAt": "2025-01-07T15:05:58.2766667",
"updatedAt": null
},
"productTaxes": [
{
"productId": "2c6aafcf-8cd2-4fb1-94a8-687adc671380",
"tax": null,
"rate": 0.16,
"taxFlag": null,
"taxType": null,
"id": "26372153-e692-4675-9772-acb1df0abc20",
"createdAt": "2025-04-19T15:52:15.3623078",
"updatedAt": "2025-04-19T15:52:15.3623087"
},
{
"productId": "2c6aafcf-8cd2-4fb1-94a8-687adc671380",
"tax": null,
"rate": 0.010667,
"taxFlag": null,
"taxType": null,
"id": "52400183-30af-447d-9902-39b6089176e7",
"createdAt": "2025-04-19T15:52:15.3623100",
"updatedAt": "2025-04-19T15:52:15.3623101"
}
],
"id": "2c6aafcf-8cd2-4fb1-94a8-687adc671380",
"createdAt": "2025-04-19T15:50:27.3391795",
"updatedAt": "2025-04-27T19:54:01.5113267"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Actualizar producto
Este endpoint te permite actualizar un producto.
Modelo
- Name
id
- Type
- string
- required
- Description
Identificador único del producto asignado por Fiscalapi.
- Name
description
- Type
- string?
- Description
Descripción o nombre del producto.
- Name
unitPrice
- Type
- number | decimal?
- Description
Precio unitario del producto sin impuestos.
- Name
satUnitMeasurementId
- Type
- string?
- Description
Código de la unidad de medida. Catálogo del SAT
c_ClaveUnidad
.Default:"H87"
- Name
satTaxObjectId
- Type
- string?
- Description
Código que identifica las obligaciones fiscales del producto. Catálogo del SAT
c_ObjetoImp
.Default:"02"
- Name
satProductCodeId
- Type
- string?
- Description
Código del producto o servicio. Catálogo del SAT
c_ClaveProdServ
.Default:"01010101"
- Name
productTaxes
- Type
- array of objects (ProductTax)?
Impuestos aplicables al producto.
Default:[IVA 16%]- Name
taxId
- Type
- string
- required
- Description
Impuesto. Catálogo del SAT
c_Impuesto
.- Type
- enum:
- Values
- "001""002""003"
- Name
taxFlagId
- Type
- string
- required
- Description
Naturaleza del impuesto.
- Type
- enum:
- Values
- "T""R"
- Name
taxTypeId
- Type
- string
- required
- Description
Tipo de impuesto.
- Type
- enum:
- Values
- "Tasa""Cuota""Exento"
- Name
rate
- Type
- decimal | number
- required
- Description
Tasa del impuesto. El valor debe estar entre 0.00000 y 1.000000
p. ej.0.160000
para un 16% de impuesto.
Request
curl --location --request PUT 'https://test.fiscalapi.com/api/v4/products/<id>' \
--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 '{
"id":"<id>",
"description": "Servicios fiscales",
"unitPrice": 550,
"satUnitMeasurementId": "E48",
"satTaxObjectId": "02",
"satProductCodeId": "81111500",
"productTaxes": [
{
"taxId": "001",
"rate": 0.100000,
"taxFlagId": "R",
"taxTypeId": "Tasa"
},
{
"taxId": "002",
"rate": 0.160000,
"taxFlagId": "T",
"taxTypeId": "Tasa"
}
]
}'
Response
{
"data": {
"description": "Servicios fiscales actualizados",
"unitPrice": 550,
"satUnitMeasurementId": "E48",
"satUnitMeasurement": null,
"satTaxObjectId": "02",
"satTaxObject": null,
"satProductCodeId": "81111500",
"satProductCode": null,
"productTaxes": [
{
"productId": "5d2dfd35-9e1c-4263-973e-5121aef74087",
"tax": null,
"rate": 0.1,
"taxFlag": null,
"taxType": null,
"id": "c28e3de5-bd16-4ab8-9313-f1d1350a1f1e",
"createdAt": "2025-05-01T08:42:00.5208750",
"updatedAt": "2025-05-01T08:42:00.5208762"
},
{
"productId": "5d2dfd35-9e1c-4263-973e-5121aef74087",
"tax": null,
"rate": 0.16,
"taxFlag": null,
"taxType": null,
"id": "e653d728-f99d-4db9-9bd6-f48a3084217c",
"createdAt": "2025-05-01T08:42:00.5208775",
"updatedAt": "2025-05-01T08:42:00.5208775"
}
],
"id": "5d2dfd35-9e1c-4263-973e-5121aef74087",
"createdAt": "2025-05-01T08:41:31.8136976",
"updatedAt": "2025-05-01T08:42:00.5208776"
},
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}
Eliminar producto
Este endpoint te permite eliminar un producto por su ID.
Request
curl --location --request DELETE 'https://test.fiscalapi.com/api/v4/products/5d2dfd35-9e1c-4263-973e-5121aef74087' \
--header 'X-TENANT-KEY: <tenant-key>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'X-API-KEY: <api-key>'
Response
{
"data": true,
"succeeded": true,
"message": "",
"details": "",
"httpStatusCode": 200
}