Facturapi (1.0)
Download OpenAPI specification:Download
La versión 1 de la API (/v1
) ya no debe usarse.
En su lugar utiliza la versión 2, que te permite emitir CFDI v4.0.
La versión 1 de la API dejó de estar disponible cuando el SAT terminó con la vigencia del CFDI 3.3, el 01 de Abril de 2023.
Si tu integración está basada en la v1 de la API, puedes realizar la migración a la v2 siguiendo los pasos en esta guía.
Crear cliente
Registra un nuevo cliente en Facturapi.
Puedes usar el ID de un cliente para crear facturas sin tener que enviar todos los datos fiscales cada vez.
Authorizations:
Request Body schema: application/json
legal_name required | string Nombre Fiscal o Razón Social del cliente. |
tax_id required | string En clientes de México contiene el RFC del cliente. Para extranjeros es opcional y representa el número de registro de identificacón tributaria, es decir, el equivalente al RFC en el país del cliente. |
string <email> Dirección de correo electrónico al cual enviar las facturas generadas. | |
phone | string Teléfono del cliente. |
object Domicilio fiscal. |
Responses
Request samples
- Payload
- cURL
- Node.js
- C#
- PHP
{- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "email": "email@example.com",
- "phone": 6474010101,
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora",
- "country": "MEX"
}
}
Response samples
- 200
- 201
- 400
- 401
- 404
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "email": "email@example.com",
- "phone": 6474010101,
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora",
- "country": "MEX"
}
}
Listar clientes
Regresa una lista paginada de todos los clientes de una organización o realiza una búsqueda de acuerdo a parámetros
Authorizations:
query Parameters
q | string Consulta. Texto a buscar en |
object (DateRange) Objeto con rango de fechas solicitado. | |
page | integer >= 1 Página de resultados a regresar, empezando desde la página 1. |
limit | integer [ 1 .. 50 ] Número del 1 al 50 que representa la cantidad máxima de resultados a regresar con motivos de paginación. |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/customers \ -H "Authorization: Bearer sk_test_API_KEY" -G -d 'q=Dunder' -d 'date[gt]=2021-07-14T06:00:00.000Z' -d 'date[lt]=2021-08-14T06:00:00.000Z' -d 'page=1'
Response samples
- 200
- 400
- 401
- 404
- 500
{- "page": 1,
- "total_pages": 1,
- "total_results": 1,
- "data": [
- {
- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "email": "email@example.com",
- "phone": 6474010101,
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora",
- "country": "MEX"
}
}
]
}
Obtener cliente por ID
Regresa el objeto 'Customer' relacionado al id
especificado.
Authorizations:
path Parameters
customer_id required | string ID del objeto a obtener |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/customers/590ce6c56d04f840aa8438af \ -H "Authorization: Bearer sk_test_API_KEY"
Response samples
- 200
- 400
- 401
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "email": "email@example.com",
- "phone": 6474010101,
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora",
- "country": "MEX"
}
}
Editar cliente
Actualiza la información de un cliente existente, asignando los valores de los parámetros enviados. Los parámetros que no se envíen en la petición no se modificarán.
Authorizations:
path Parameters
customer_id required | string ID del objeto a editar |
Request Body schema: application/json
legal_name | string Nombre Fiscal o Razón Social del cliente. |
tax_id | string En clientes de México contiene el RFC del cliente. Para extranjeros es opcional y representa el número de registro de identificacón tributaria, es decir, el equivalente al RFC en el país del cliente. |
string <email> Dirección de correo electrónico al cual enviar las facturas generadas. | |
phone | string Teléfono del cliente. |
object Domicilio fiscal. |
Responses
Request samples
- Payload
- cURL
- Node.js
- C#
- PHP
{- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "email": "email@example.com",
- "phone": 6474010101,
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora",
- "country": "MEX"
}
}
Response samples
- 200
- 400
- 401
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "email": "email@example.com",
- "phone": 6474010101,
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora",
- "country": "MEX"
}
}
Eliminar cliente
Elimina el cliente de tu organización. Las facturas asociadas al cliente no se eliminarán.
Authorizations:
path Parameters
customer_id required | string ID del objeto a eliminar |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/customers/590ce6c56d04f840aa8438af \ -X DELETE \ -H "Authorization: Bearer sk_test_API_KEY"
Response samples
- 200
- 400
- 401
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "email": "email@example.com",
- "phone": 6474010101,
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora",
- "country": "MEX"
}
}
Crear producto
Registra un nuevo producto o servicio en tu catálogo de Facturapi.
Puedes usar el ID del producto para crear facturas sin tener que enviar todos los datos del producto cada vez.
Authorizations:
Request Body schema: application/json
description required | string Descripción del bien o servicio como aparecerá en la factura. |
product_key required | string Clave de producto/servicio, del catálogo del SAT. Nosotros te proporcionamos una manera más conveniente de encontrarlo utilizando nuestra herramienta de búsqueda de claves. |
price required | number Precio por unidad del bien o servicio. Este valor representará el precio con IVA incluído o sin él, dependiendo del valor de |
tax_included | boolean Default: true
|
Array of objects (Tax) Default: "IVA trasladado 16%" Lista de impuestos que deberán aplicarse a este producto. Si el parámetro se omite o es nulo, se guardará con un elemento que representa el IVA trasladado del 16%, que es el impuesto más común. En caso de mandar explícitamente un arreglo vacío, se entiende que el producto está exento de impuestos. | |
Array of objects (LocalTax) Default: [] Arreglo de impuestos locales (estatales o municipales), en caso de haberlos. | |
unit_key | string Default: "H87" Clave de unidad de medida, del catálogo del SAT. El valor por default |
unit_name | string Default: "Elemento" Palabra que representa la unidad de medida de tu producto. Debe estar relacionada con la clave de unidad |
sku | string Identificador de uso interno designado por la empresa. Puede tener cualquier valor. |
Responses
Request samples
- Payload
- cURL
- Node.js
- C#
- PHP
{- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
Listar productos
Regresa una lista paginada de todos los productos de una organización o realiza una búsqueda de acuerdo a parámetros
Authorizations:
query Parameters
q | string Consulta. Texto a buscar en la descripción del producto o SKU. |
page | integer >= 1 Página de resultados a regresar, empezando desde la página 1. |
limit | integer [ 1 .. 50 ] Número del 1 al 50 que representa la cantidad máxima de resultados a regresar con motivos de paginación. |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/products \ -H "Authorization: Bearer sk_test_API_KEY" -G -d 'q=ukelele' -d 'page=1'
Response samples
- 200
- 400
- 401
- 404
- 500
{- "page": 1,
- "total_pages": 1,
- "total_results": 1,
- "data": [
- {
- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
]
}
Obtener producto por ID
Regresa el objeto Product
relacionado al id
especificado.
Authorizations:
path Parameters
product_id required | string ID del objeto a obtener |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/products/590e22c26d04f840aa8438b2 \ -H "Authorization: Bearer sk_test_API_KEY"
Response samples
- 200
- 400
- 401
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
Editar producto
Actualiza la información de un producto existente, asignando los valores de los parámetros enviados. Los parámetros que no se envíen en la petición no se modificarán.
Authorizations:
path Parameters
product_id required | string ID del objeto a editar |
Request Body schema: application/json
description | string Descripción del bien o servicio como aparecerá en la factura. |
product_key | string Clave de producto/servicio, del catálogo del SAT. Nosotros te proporcionamos una manera más conveniente de encontrarlo utilizando nuestra herramienta de búsqueda de claves. |
price | number Precio por unidad del bien o servicio. Este valor representará el precio con IVA incluído o sin él, dependiendo del valor de |
tax_included | boolean Default: true
|
Array of objects (Tax) Default: "IVA trasladado 16%" Lista de impuestos que deberán aplicarse a este producto. Si el parámetro se omite o es nulo, se guardará con un elemento que representa el IVA trasladado del 16%, que es el impuesto más común. En caso de mandar explícitamente un arreglo vacío, se entiende que el producto está exento de impuestos. | |
Array of objects (LocalTax) Default: [] Arreglo de impuestos locales (estatales o municipales), en caso de haberlos. | |
unit_key | string Default: "H87" Clave de unidad de medida, del catálogo del SAT. El valor por default |
unit_name | string Default: "Elemento" Palabra que representa la unidad de medida de tu producto. Debe estar relacionada con la clave de unidad |
sku | string Identificador de uso interno designado por la empresa. Puede tener cualquier valor. |
Responses
Request samples
- Payload
- cURL
- Node.js
- C#
- PHP
{- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
Response samples
- 200
- 400
- 401
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
Eliminar producto
Elimina el producto de tu organización. Las facturas asociadas al producto no se eliminarán.
Authorizations:
path Parameters
product_id required | string ID del objeto a eliminar |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/products/590e22c26d04f840aa8438b2 \ -X DELETE \ -H "Authorization: Bearer sk_test_API_KEY"
Response samples
- 200
- 400
- 401
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
Crear factura (CFDI)
Crea una nueva Factura. Si la factura es creada en ambiente Live, ésta será timbrada y enviada al SAT.
Authorizations:
Request Body schema: application/json
required | Customer (object) or customer_id (string) Cliente receptor de la factura. |
required | Array of objects (LineItem) Conceptos a incluir en la factura. |
payment_form required | string = 2 characters Código que representa la forma de pago, de acuerdo al catálogo del SAT. |
type | string Default: "I" Value: "I" Tipo de comprobante. El valor default es |
payment_method | string Default: "PUE" Enum: "PUE" "PPD" Código del método de pago según el catálogo del SAT.
|
use | string Default: "G01" Código de Uso CFDI según el catálogo del SAT. Puedes ver los códigos en esta tabla, o utilizar las constantes incluídas en nuestras librerías. |
currency | |
exchange | number Default: 1 Tipo de cambio conforme a la moneda usada. Representa el número de pesos mexicanos (MXN) que equivalen a una unidad de la divisa señalada en el atributo |
conditions | string or null [ 1 .. 1000 ] characters Condiciones de pago |
related | Array of strings Default: [] Folios fiscales (UUID) de facturas relacionadas. |
relation | string or null Clave de relación del catálogo del SAT (que puedes consultar en esta tabla). Es requerido cuando se envíe el parámetro |
Array of objects (CustomComplement) Default: [] Complementos a incluir en la factura. Puedes incluir cualquier complemento en la factura si tú mismo construyes el nodo XML del complemento y usas el tipo | |
date | string <date-time> Default: "now" Fecha de expedición del comprobante en formato ISO8601 (UTC String). No puede ser anterior a 72 horas en el pasado, ni posterior al presente. |
external_id | string or null Identificador opcional que puedes usar para relacionar esta factura con tus registros y poder hacer búsquedas usando este identificador. Facturapi no valida que este campo sea único. |
folio_number | integer Default: "autoincremental" Número de folio asignado por la empresa para control interno. Si se omite, se asignará el valor autoincremental de la organización. |
series | string or null <= 25 characters Serie. Caracteres designados por la empresa para control interno y sin validez fiscal. |
pdf_custom_section | string or null <xml> En caso de que necesites incluir más información en el PDF, este campo te permite enviar código HTML con tu propio contenido. Por seguridad, el código que puedes enviar está limitado a las siguientes etiquetas: |
addenda | string or null <xml> Código XML con la Addenda que se necesite agregar a la factura. |
Array of objects (Namespace) Default: [] Si icluiste uno de los parámetros |
Responses
Request samples
- Payload
- cURL
- Node.js
- C#
- PHP
{- "type": "I",
- "items": [
- {
- "quantity": 1,
- "discount": 0,
- "product": {
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}, - "customs_keys": [
- "string"
], - "complement": "string",
- "parts": [
- {
- "description": "string",
- "product_key": "string",
- "quantity": 1,
- "sku": "string",
- "unit_price": 0,
- "unit_name": "string",
- "customs_keys": [
- "string"
]
}
]
}
], - "payment_form": "st",
- "payment_method": "PUE",
- "use": "G01",
- "currency": "MXN",
- "exchange": 1,
- "conditions": "string",
- "related": [ ],
- "relation": "string",
- "complements": [ ],
- "customer": {
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "email": "email@example.com",
- "phone": 6474010101,
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora",
- "country": "MEX"
}
}, - "date": "now",
- "external_id": "string",
- "folio_number": "autoincremental",
- "series": "string",
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [ ]
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "status": "valid",
- "cancellation_status": "none",
- "cancellation_receipt": "string",
- "type": "I",
- "customer": {
- "id": "58e93bd8e86eb318b0197456",
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "address": {
- "country": "MEX"
}
}, - "total": 10944.82,
- "uuid": "39c85a3f-275b-4341-b259-e8971d9f8a94",
- "folio_number": 914,
- "series": "F",
- "external_id": "string",
- "payment_form": 6,
- "items": [
- {
- "quantity": 1,
- "discount": 0,
- "product": {
- "id": "58e93bd8e86eb318b0197454",
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
}
], - "related": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "relation": "string",
- "currency": "MXN",
- "exchange": 1,
- "complements": [ ],
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [
- {
- "prefix": "iedu",
}
], - "stamp": {
- "signature": "string",
- "date": "2019-08-24T14:15:22Z",
- "sat_cert_number": "string",
- "sat_signature": "string"
}
}
Listar facturas
Regresa una lista paginada de todas las facturas de una organización o realiza una búsqueda de acuerdo a parámetros
Authorizations:
query Parameters
q | string Consulta. Texto a buscar en la factura. La búsqueda se realizará por coincidencias parciales en los campos:
Y por coincidencias exactas en los campos:
|
customer | string Identificador del cliente. Útil para obtener las facturas emitidas a un sólo cliente. |
object (DateRange) Objeto con rango de fechas solicitado. | |
page | integer >= 1 Página de resultados a regresar, empezando desde la página 1. |
limit | integer [ 1 .. 50 ] Número del 1 al 50 que representa la cantidad máxima de resultados a regresar con motivos de paginación. |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
# Todas las facturas de la organización curl "https://www.facturapi.io/v1/invoices" \ -G \ -H "Authorization: Bearer sk_test_API_KEY" # Todas las facturas emitidas para cierto cliente curl "https://www.facturapi.io/v1/invoices" \ -G \ -H "Authorization: Bearer sk_test_API_KEY" \ -d "customer=58e93bd8e86eb318b0197456" # Página 3 de los resultados de búsqueda de texto libre # de facturas emitidas por cierto cliente entre 2017 y 2019 curl "https://www.facturapi.io/v1/invoices" \ -G \ -H "Authorization: Bearer sk_test_API_KEY" \ -d "q=Aspiradora+Robot&customer=58e93bd8e86eb318b0197456&date[gte]=2017-01-01T00:00:00.000Z&date[lt]=2020-01-01T00:00:00.000Z&page=3&limit=10"
Response samples
- 200
- 400
- 401
- 404
- 500
{- "page": 1,
- "total_pages": 1,
- "total_results": 1,
- "data": [
- {
- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "status": "valid",
- "cancellation_status": "none",
- "cancellation_receipt": "string",
- "type": "I",
- "customer": {
- "id": "58e93bd8e86eb318b0197456",
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "address": {
- "country": "MEX"
}
}, - "total": 10944.82,
- "uuid": "39c85a3f-275b-4341-b259-e8971d9f8a94",
- "folio_number": 914,
- "series": "F",
- "external_id": "string",
- "payment_form": 6,
- "items": [
- {
- "quantity": 1,
- "discount": 0,
- "product": {
- "id": "58e93bd8e86eb318b0197454",
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
}
], - "related": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "relation": "string",
- "currency": "MXN",
- "exchange": 1,
- "complements": [ ],
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [
- {
- "prefix": "iedu",
}
], - "stamp": {
- "signature": "string",
- "date": "2019-08-24T14:15:22Z",
- "sat_cert_number": "string",
- "sat_signature": "string"
}
}
]
}
Obtener factura por ID
Regresa el objeto 'Invoice' relacionado al id
especificado.
Authorizations:
path Parameters
invoice_id required | string ID del objeto a obtener |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/invoices/58e93bd8e86eb318b019743d \ -H "Authorization: Bearer sk_test_API_KEY"
Response samples
- 200
- 400
- 401
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "status": "valid",
- "cancellation_status": "none",
- "cancellation_receipt": "string",
- "type": "I",
- "customer": {
- "id": "58e93bd8e86eb318b0197456",
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "address": {
- "country": "MEX"
}
}, - "total": 10944.82,
- "uuid": "39c85a3f-275b-4341-b259-e8971d9f8a94",
- "folio_number": 914,
- "series": "F",
- "external_id": "string",
- "payment_form": 6,
- "items": [
- {
- "quantity": 1,
- "discount": 0,
- "product": {
- "id": "58e93bd8e86eb318b0197454",
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
}
], - "related": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "relation": "string",
- "currency": "MXN",
- "exchange": 1,
- "complements": [ ],
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [
- {
- "prefix": "iedu",
}
], - "stamp": {
- "signature": "string",
- "date": "2019-08-24T14:15:22Z",
- "sat_cert_number": "string",
- "sat_signature": "string"
}
}
Cancelar factura
Realiza una solicitud de cancelación de factura ante el SAT, soportando el esquema de cancelación 2022.
Al usar este método pueden ocurrir 3 posibles resultados:
- Que la llamada regrese un error con la explicación de por qué no se pudo cancelar.
- Que la llamada sea satisfactoria y regrese un objeto
invoice
con la propiedadstatus: "canceled"
. - Que la llamada sea satisfactoria, pero que la cancelación requiera de confirmación de parte de tu cliente, en cuyo caso se obtendrá como respuesta el objeto
invoice
con las propiedadesstatus: "valid"
ycancellation_status: "pending"
.
En el tercer escenario, el valor de cancellation_status
será actualizado automáticamente por Facturapi cuando tu cliente acepte, rechace o deje expirar la solicitud, de tal manera que al consultar una factura (usando Obtener Factura), la propiedad cancellation_status
reflejará el estado más reciente de la soliitud.
Consulta los valores posibles de cancellation_status
más abajo.
Después de la cancelación la factura ya no tendrá validez, el objeto cambiará su status
a "canceled"
y seguirá estando disponible para futuras consultas.
Authorizations:
path Parameters
invoice_id required | string ID de la factura a cancelar |
query Parameters
motive required | string Enum: "01" "02" "03" "04" Clave que representa el motivo de la cancelación de la factura.
|
substitution | string ID de la factura que sustituye a la factura que se está cancelando. Puedes usar el ID de Facturapi o el folio fiscal (UUID). |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/invoices/58e93bd8e86eb318b019743d?motive=02 \ -H "Authorization: Bearer sk_test_API_KEY" \ -X DELETE
Response samples
- 200
- 400
- 401
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "status": "valid",
- "cancellation_status": "none",
- "cancellation_receipt": "string",
- "type": "I",
- "customer": {
- "id": "58e93bd8e86eb318b0197456",
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "address": {
- "country": "MEX"
}
}, - "total": 10944.82,
- "uuid": "39c85a3f-275b-4341-b259-e8971d9f8a94",
- "folio_number": 914,
- "series": "F",
- "external_id": "string",
- "payment_form": 6,
- "items": [
- {
- "quantity": 1,
- "discount": 0,
- "product": {
- "id": "58e93bd8e86eb318b0197454",
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
}
], - "related": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "relation": "string",
- "currency": "MXN",
- "exchange": 1,
- "complements": [ ],
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [
- {
- "prefix": "iedu",
}
], - "stamp": {
- "signature": "string",
- "date": "2019-08-24T14:15:22Z",
- "sat_cert_number": "string",
- "sat_signature": "string"
}
}
Descargar factura
Descarga tu Factura en PDF, XML o ambos en un archivo comprimido ZIP.
Authorizations:
path Parameters
invoice_id required | string ID del objeto a descargar |
format required | string Enum: "xml" "pdf" "zip" Formato del archivo de descarga |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
## Descargar PDF y XML comprimidos en archivo ZIP curl https://www.facturapi.io/v1/invoices/58e93bd8e86eb318b019743d/zip \ -H "Authorization: Bearer sk_test_API_KEY" ## Descargar sólo el PDF curl https://www.facturapi.io/v1/invoices/58e93bd8e86eb318b019743d/pdf \ -H "Authorization: Bearer sk_test_API_KEY" ## Descargar sólo el XML curl https://www.facturapi.io/v1/invoices/58e93bd8e86eb318b019743d/xml \ -H "Authorization: Bearer sk_test_API_KEY"
Response samples
- 400
- 401
- 500
{- "message": "string"
}
Enviar factura por correo electrónico
Envía un correo electrónico a la dirección de tu cliente, con los archivos XML y PDF adjuntos al mensaje.
Authorizations:
path Parameters
invoice_id required | string ID del objeto a obtener |
Request Body schema: application/json
string or Array of strings Dirección de correo electrónico a enviar la factura. Si no se envía este parámetro, la factura será enviada al correo que el cliente tenga registrado. | |
One of string <email> Dirección de correo eletrónico |
Responses
Request samples
- Payload
- cURL
- Node.js
- C#
- PHP
{- "email": "otro@correo.com"
}
Response samples
- 400
- 401
- 500
{- "message": "string"
}
Crear recibo
Crea un nuevo Recibo, el cual funge como nota de venta.
Todos los recibos generan una URL de autofactura que cliente puede visitar para llenar sus datos fiscales en un micrositio con el branding de la organización.
Authorizations:
Request Body schema: application/json
required | Array of objects (LineItem) Conceptos a incluir en el recibo. |
payment_form required | string Código que representa la forma de pago, según el catálogo del SAT. |
folio_number | integer Autoincremental. Número de folio del recibo para control interno y sin validez fiscal. |
currency | string Código de la moneda, acorde al estándar ISO 4217. |
exchange | number >= 0 Tipo de cambio conforme a la moneda usada. Representa el número de pesos mexicanos que equivalen a una unidad de la divisa señalada en el atributo |
branch | string Nombre de la sucursal donde se expidió el recibo. |
Responses
Request samples
- Payload
- cURL
- Node.js
- C#
- PHP
{- "items": [
- {
- "quantity": 1,
- "discount": 0,
- "product": {
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}, - "customs_keys": [
- "string"
], - "complement": "string",
- "parts": [
- {
- "description": "string",
- "product_key": "string",
- "quantity": 1,
- "sku": "string",
- "unit_price": 0,
- "unit_name": "string",
- "customs_keys": [
- "string"
]
}
]
}
], - "payment_form": "03",
- "folio_number": 120,
- "currency": "MXN",
- "exchange": 1,
- "branch": "string"
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "expires_at": "2021-09-17T15:21:23.456Z",
- "status": "open",
- "total": 356.78,
- "invoice": "614496b471d422de4b6cfcc4",
- "key": "r9YqYarL",
- "items": [
- {
- "quantity": 1,
- "discount": 0,
- "product": {
- "id": "58e93bd8e86eb318b0197454",
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
}
], - "payment_form": "03",
- "folio_number": 120,
- "currency": "MXN",
- "exchange": 1,
- "branch": "string"
}
Listar recibos
Regresa una lista paginada de todos los recibos de una organización o realiza una búsqueda de acuerdo a parámetros
Authorizations:
query Parameters
q | string Consulta. Texto a buscar en la descripción de los conceptos del recibo o el SKU. |
object (DateRange) Objeto con rango de fechas solicitado. | |
page | integer >= 1 Página de resultados a regresar, empezando desde la página 1. |
limit | integer [ 1 .. 50 ] Número del 1 al 50 que representa la cantidad máxima de resultados a regresar con motivos de paginación. |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
# Todos los recibos de la organización curl "https://www.facturapi.io/v1/receipts" \ -G \ -H "Authorization: Bearer sk_test_API_KEY" # Página 3 de los resultados de búsqueda de texto libre # de recibos creados entre 2017 y 2019 curl "https://www.facturapi.io/v1/receipts" \ -G \ -H "Authorization: Bearer sk_test_API_KEY" \ -d "q=Aspiradora+Robot&date[gte]=2017-01-01T00:00:00.000Z&date[lt]=2020-01-01T00:00:00.000Z&page=3&limit=10"
Response samples
- 200
- 400
- 401
- 404
- 500
{- "page": 1,
- "total_pages": 1,
- "total_results": 1,
- "data": [
- {
- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "expires_at": "2021-09-17T15:21:23.456Z",
- "status": "open",
- "total": 356.78,
- "invoice": "614496b471d422de4b6cfcc4",
- "key": "r9YqYarL",
- "items": [
- {
- "quantity": 1,
- "discount": 0,
- "product": {
- "id": "58e93bd8e86eb318b0197454",
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
}
], - "payment_form": "03",
- "folio_number": 120,
- "currency": "MXN",
- "exchange": 1,
- "branch": "string"
}
]
}
Obtener recibo por ID
Regresa el objeto 'Receipt' relacionado al id
especificado.
Authorizations:
path Parameters
receipt_id required | string ID del objeto a obtener |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/receipts/58e93bd8e86eb318b019743d \ -H "Authorization: Bearer sk_test_API_KEY"
Response samples
- 200
- 400
- 401
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "expires_at": "2021-09-17T15:21:23.456Z",
- "status": "open",
- "total": 356.78,
- "invoice": "614496b471d422de4b6cfcc4",
- "key": "r9YqYarL",
- "items": [
- {
- "quantity": 1,
- "discount": 0,
- "product": {
- "id": "58e93bd8e86eb318b0197454",
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
}
], - "payment_form": "03",
- "folio_number": 120,
- "currency": "MXN",
- "exchange": 1,
- "branch": "string"
}
Cancelar recibo
Marca un recibo como cancelado, cambiando su propiedad status
a "canceled"
.
Una vez cancelado, el recibo no podrá ser facturado.
Authorizations:
path Parameters
receipt_id required | string ID del recibo a cancelar |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/receipts/5ebd8e56f5687a013ca0df46 \ -X DELETE \ -H "Authorization: Bearer sk_test_API_KEY"
Response samples
- 200
- 400
- 401
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "expires_at": "2021-09-17T15:21:23.456Z",
- "status": "open",
- "total": 356.78,
- "invoice": "614496b471d422de4b6cfcc4",
- "key": "r9YqYarL",
- "items": [
- {
- "quantity": 1,
- "discount": 0,
- "product": {
- "id": "58e93bd8e86eb318b0197454",
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
}
], - "payment_form": "03",
- "folio_number": 120,
- "currency": "MXN",
- "exchange": 1,
- "branch": "string"
}
Facturar recibo
Crea una factura a partir de un recibo.
Sólo pueden facturarse recibos abiertos (status = "open"
)
Una vez facturado, el status
del recibo cambiará a "invoiced_to_customer"
.
Authorizations:
Request Body schema: application/json
required | Customer (object) or customer_id (string) Cliente receptor de la factura. |
use | string Default: "G01" Código de Uso CFDI según el catálogo del SAT. Puedes ver los códigos en esta tabla, o utilizar las constantes incluídas en nuestras librerías. |
conditions | string or null [ 1 .. 1000 ] characters Condiciones de pago |
folio_number | integer Default: "autoincremental" Número de folio asignado por la empresa para control interno. Si se omite, se asignará el valor autoincremental de la organización. |
series | string or null <= 25 characters Serie. Caracteres designados por la empresa para control interno y sin validez fiscal. |
pdf_custom_section | string or null <xml> En caso de que necesites incluir más información en el PDF, este campo te permite enviar código HTML con tu propio contenido. Por seguridad, el código que puedes enviar está limitado a las siguientes etiquetas: |
addenda | string or null <xml> Código XML con la Addenda que se necesite agregar a la factura. |
Array of objects (Namespace) Default: [] Si icluiste uno de los parámetros |
Responses
Request samples
- Payload
- cURL
- Node.js
- C#
- PHP
{- "customer": {
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "email": "email@example.com",
- "phone": 6474010101,
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora",
- "country": "MEX"
}
}, - "use": "G01",
- "conditions": "string",
- "folio_number": "autoincremental",
- "series": "string",
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [ ]
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "status": "valid",
- "cancellation_status": "none",
- "cancellation_receipt": "string",
- "type": "I",
- "customer": {
- "id": "58e93bd8e86eb318b0197456",
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "address": {
- "country": "MEX"
}
}, - "total": 10944.82,
- "uuid": "39c85a3f-275b-4341-b259-e8971d9f8a94",
- "folio_number": 914,
- "series": "F",
- "external_id": "string",
- "payment_form": 6,
- "items": [
- {
- "quantity": 1,
- "discount": 0,
- "product": {
- "id": "58e93bd8e86eb318b0197454",
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
}
], - "related": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "relation": "string",
- "currency": "MXN",
- "exchange": 1,
- "complements": [ ],
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [
- {
- "prefix": "iedu",
}
], - "stamp": {
- "signature": "string",
- "date": "2019-08-24T14:15:22Z",
- "sat_cert_number": "string",
- "sat_signature": "string"
}
}
Crear factura global
Crea una factura global por los recibos abiertos (con status = “open”
) de un cierto periodo.
Authorizations:
Request Body schema: application/json
from | string <date-time> Default: "Inicio del último periodo" Fecha inicial de los recibos que se incluirán en la factura global. Por default, este valor es el inicio del último periodo (día, semana, mes), según tengas configurado en tu configuración de recibos de tu organización. |
to | string <date-time> Default: "Fin del último periodo" Fecha final de los recibos que se incluirán en la factura global. Por default, este valor es el fin del último periodo (día, semana, mes), según tengas configurado en tu configuración de recibos de tu organización. |
folio_number | integer Default: "autoincremental" Número de folio asignado por la empresa para control interno. Si se omite, se asignará el valor autoincremental de la organización. |
series | string or null <= 25 characters Serie. Caracteres designados por la empresa para control interno y sin validez fiscal. |
Responses
Request samples
- Payload
- cURL
- Node.js
- C#
- PHP
{- "from": "Inicio del último periodo",
- "to": "Fin del último periodo",
- "folio_number": "autoincremental",
- "series": "string"
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "status": "valid",
- "cancellation_status": "none",
- "cancellation_receipt": "string",
- "type": "I",
- "customer": {
- "id": "58e93bd8e86eb318b0197456",
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "address": {
- "country": "MEX"
}
}, - "total": 10944.82,
- "uuid": "39c85a3f-275b-4341-b259-e8971d9f8a94",
- "folio_number": 914,
- "series": "F",
- "external_id": "string",
- "payment_form": 6,
- "items": [
- {
- "quantity": 1,
- "discount": 0,
- "product": {
- "id": "58e93bd8e86eb318b0197454",
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
}
], - "related": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "relation": "string",
- "currency": "MXN",
- "exchange": 1,
- "complements": [ ],
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [
- {
- "prefix": "iedu",
}
], - "stamp": {
- "signature": "string",
- "date": "2019-08-24T14:15:22Z",
- "sat_cert_number": "string",
- "sat_signature": "string"
}
}
Crear retención
Crea una nueva Retención. Si el comprobante es creado en ambiente Live, ésta será timbrado y enviado al SAT.
Authorizations:
Request Body schema: application/json
required | Customer (object) or customer_id (string) Cliente receptor de la factura. |
cve_retenc required | string Clave de la retención o información de pagos de acuerdo al catálogo del SAT. |
required | object Información sobre el periodo de la retención. |
required | object Información sobre el total de retenciones efectuadas en el periodo correspondiente. |
fecha_exp | string <date-time> Fecha de expedición del comprobante en formato ISO8601 (UTC String). |
desc_retenc | string Si la clave de la retención es “25” (Otro tipo de retenciones), este campo se usa para registrar la descripción de la retención. |
folio_int | string Identificador alfanumérico para control interno de la empresa y sin relevancia fiscal. |
external_id | string Identificador opcional que puedes usar para relacionar esta retención con tus registros y poder hacer búsquedas usando este identificador. Facturapi no valida que este campo sea único. |
Array of objects (CustomComplement) Default: [] Complementos a incluir en la factura. | |
pdf_custom_section | string <html> En caso de que necesites incluir más información en el PDF, este campo te permite insertar código HTML con tu propio contenido. |
addenda | string <xml> Código XML con la Addenda que se necesite agregar a la factura. |
Array of objects (Namespace) Namespaces a insertar en el nodo raíz de la factura. Requerido en complementos y addenda. |
Responses
Request samples
- Payload
- cURL
- Node.js
- C#
- PHP
{- "customer": {
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "email": "email@example.com",
- "phone": 6474010101,
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora",
- "country": "MEX"
}
}, - "cve_retenc": 26,
- "fecha_exp": "2021-09-15T06:03:23.000Z",
- "desc_retenc": "string",
- "folio_int": "R123",
- "periodo": {
- "mes_ini": 9,
- "mes_fin": 9,
- "ejerc": 2021
}, - "totales": {
- "monto_tot_operacion": 0,
- "monto_tot_grav": 0,
- "monto_tot_exent": 0,
- "monto_tot_ret": 0,
- "imp_retenidos": [
- {
- "base_ret": 0,
- "impuesto": "IVA",
- "monto_ret": 0,
- "pago_provisional": true
}
]
}, - "external_id": "string",
- "complements": [ ],
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [
- {
- "prefix": "iedu",
}
]
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "status": "valid",
- "cancellation_receipt": "string",
- "type": "Retención",
- "uuid": "39c85a3f-275b-4341-b259-e8971d9f8a94",
- "stamp": {
- "signature": "string",
- "date": "2019-08-24T14:15:22Z",
- "sat_cert_number": "string",
- "sat_signature": "string"
}, - "customer": {
- "id": "58e93bd8e86eb318b0197456",
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "address": {
- "country": "MEX"
}
}, - "cve_retenc": 1,
- "fecha_exp": "2021-09-15T06:03:23.000Z",
- "desc_retenc": "string",
- "folio_int": "string",
- "periodo": {
- "mes_ini": 1,
- "mes_fin": 1,
- "ejerc": 0
}, - "totales": {
- "monto_tot_operacion": 0,
- "monto_tot_grav": 0,
- "monto_tot_exent": 0,
- "monto_tot_ret": 0,
- "imp_retenidos": [
- {
- "base_ret": 0,
- "impuesto": "IVA",
- "monto_ret": 0,
- "pago_provisional": true
}
]
}, - "external_id": "string",
- "complements": [ ],
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [
- {
- "prefix": "iedu",
}
]
}
Listar retenciones
Regresa una lista paginada de todas las retenciones de una organización o realiza una búsqueda de acuerdo a parámetros
Authorizations:
query Parameters
q | string Consulta. Texto a buscar en el nombre fiscal del cliente o su RFC. |
customer | string Identificador del cliente. Útil para obtener las retenciones emitidas a un sólo cliente. |
object (DateRange) Objeto con rango de fechas solicitado. | |
page | integer >= 1 Página de resultados a regresar, empezando desde la página 1. |
limit | integer [ 1 .. 50 ] Número del 1 al 50 que representa la cantidad máxima de resultados a regresar con motivos de paginación. |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
# Todas las retenciones de la organización curl https://www.facturapi.io/v1/retentions \ -H "Authorization: Bearer sk_test_API_KEY" # Todas las retenciones emitidas para cierto cliente curl "https://www.facturapi.io/v1/retentions" \ -G \ -H "Authorization: Bearer sk_test_API_KEY" \ -d "customer=58e93bd8e86eb318b0197456" # Página 3 de los resultados de búsqueda de texto libre # de retenciones emitidas entre 2017 y 2019 curl "https://www.facturapi.io/v1/retentions" \ -G \ -H "Authorization: Bearer sk_test_API_KEY" \ -d "q=John+Doe6&date[gte]=2017-01-01T00:00:00.000Z&date[lt]=2020-01-01T00:00:00.000Z&page=3&limit=10"
Response samples
- 200
- 400
- 401
- 404
- 500
{- "page": 1,
- "total_pages": 1,
- "total_results": 1,
- "data": [
- {
- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "status": "valid",
- "cancellation_receipt": "string",
- "type": "Retención",
- "uuid": "39c85a3f-275b-4341-b259-e8971d9f8a94",
- "stamp": {
- "signature": "string",
- "date": "2019-08-24T14:15:22Z",
- "sat_cert_number": "string",
- "sat_signature": "string"
}, - "customer": {
- "id": "58e93bd8e86eb318b0197456",
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "address": {
- "country": "MEX"
}
}, - "cve_retenc": 1,
- "fecha_exp": "2021-09-15T06:03:23.000Z",
- "desc_retenc": "string",
- "folio_int": "string",
- "periodo": {
- "mes_ini": 1,
- "mes_fin": 1,
- "ejerc": 0
}, - "totales": {
- "monto_tot_operacion": 0,
- "monto_tot_grav": 0,
- "monto_tot_exent": 0,
- "monto_tot_ret": 0,
- "imp_retenidos": [
- {
- "base_ret": 0,
- "impuesto": "IVA",
- "monto_ret": 0,
- "pago_provisional": true
}
]
}, - "external_id": "string",
- "complements": [ ],
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [
- {
- "prefix": "iedu",
}
]
}
]
}
Obtener retención por ID
Regresa el objeto 'Retention' relacionado al id
especificado.
Authorizations:
path Parameters
retention_id required | string ID del objeto a obtener |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/retentions/6062d9fb226600001cd22f71 \ -H "Authorization: Bearer sk_test_API_KEY"
Response samples
- 200
- 400
- 401
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "status": "valid",
- "cancellation_receipt": "string",
- "type": "Retención",
- "uuid": "39c85a3f-275b-4341-b259-e8971d9f8a94",
- "stamp": {
- "signature": "string",
- "date": "2019-08-24T14:15:22Z",
- "sat_cert_number": "string",
- "sat_signature": "string"
}, - "customer": {
- "id": "58e93bd8e86eb318b0197456",
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "address": {
- "country": "MEX"
}
}, - "cve_retenc": 1,
- "fecha_exp": "2021-09-15T06:03:23.000Z",
- "desc_retenc": "string",
- "folio_int": "string",
- "periodo": {
- "mes_ini": 1,
- "mes_fin": 1,
- "ejerc": 0
}, - "totales": {
- "monto_tot_operacion": 0,
- "monto_tot_grav": 0,
- "monto_tot_exent": 0,
- "monto_tot_ret": 0,
- "imp_retenidos": [
- {
- "base_ret": 0,
- "impuesto": "IVA",
- "monto_ret": 0,
- "pago_provisional": true
}
]
}, - "external_id": "string",
- "complements": [ ],
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [
- {
- "prefix": "iedu",
}
]
}
Cancelar retención
Realiza una solicitud de cancelación de retención ante el SAT.
A diferencia de las facturas comúnes, la cancelación de la retención es inmediata y no requiere autorización de parte del receptor.
Authorizations:
path Parameters
retention_id required | string ID de la retención a cancelar |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/retentions/6062d9fb226600001cd22f71 \ -H "Authorization: Bearer sk_test_API_KEY" \ -X DELETE
Response samples
- 200
- 400
- 401
- 500
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "status": "valid",
- "cancellation_receipt": "string",
- "type": "Retención",
- "uuid": "39c85a3f-275b-4341-b259-e8971d9f8a94",
- "stamp": {
- "signature": "string",
- "date": "2019-08-24T14:15:22Z",
- "sat_cert_number": "string",
- "sat_signature": "string"
}, - "customer": {
- "id": "58e93bd8e86eb318b0197456",
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "address": {
- "country": "MEX"
}
}, - "cve_retenc": 1,
- "fecha_exp": "2021-09-15T06:03:23.000Z",
- "desc_retenc": "string",
- "folio_int": "string",
- "periodo": {
- "mes_ini": 1,
- "mes_fin": 1,
- "ejerc": 0
}, - "totales": {
- "monto_tot_operacion": 0,
- "monto_tot_grav": 0,
- "monto_tot_exent": 0,
- "monto_tot_ret": 0,
- "imp_retenidos": [
- {
- "base_ret": 0,
- "impuesto": "IVA",
- "monto_ret": 0,
- "pago_provisional": true
}
]
}, - "external_id": "string",
- "complements": [ ],
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [
- {
- "prefix": "iedu",
}
]
}
Descargar retención
Descarga una retención en PDF, XML o ambos en un archivo comprimido ZIP.
Authorizations:
path Parameters
retention_id required | string ID del objeto a descargar |
format required | string Enum: "xml" "pdf" "zip" Formato del archivo de descarga |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
## Descargar PDF y XML comprimidos en archivo ZIP curl https://www.facturapi.io/v1/retentions/58e93bd8e86eb318b019743d/zip \ -H "Authorization: Bearer sk_test_API_KEY" ## Descargar sólo el PDF curl https://www.facturapi.io/v1/retentions/58e93bd8e86eb318b019743d/pdf \ -H "Authorization: Bearer sk_test_API_KEY" ## Descargar sólo el XML curl https://www.facturapi.io/v1/retentions/58e93bd8e86eb318b019743d/xml \ -H "Authorization: Bearer sk_test_API_KEY"
Response samples
- 400
- 401
- 500
{- "message": "string"
}
Enviar retención por correo electrónico
Envía un correo electrónico a la dirección de tu cliente, con los archivos XML y PDF adjuntos al mensaje.
Authorizations:
path Parameters
retention_id required | string ID del objeto a obtener |
Request Body schema: application/json
string or Array of strings Dirección de correo electrónico a enviar la retención. Si no se envía este parámetro, la retención será enviada al correo que el cliente tenga registrado. | |
One of string <email> Dirección de correo eletrónico |
Responses
Request samples
- Payload
- cURL
- Node.js
- C#
- PHP
{- "email": "otro@correo.com"
}
Response samples
- 400
- 401
- 500
{- "message": "string"
}
Crear organización
Crea una nueva Organización que pertenecerá a tu cuenta de usuario.
Después de crear la organización y antes de poder emitir facturas con la organización, deberás de terminar de configurarla llamando a los métodos de Actualizar datos fiscales y Subir certificados (CSD)
Recuerda que los folios de tu suscripción podrán ser consumidos por cualquiera de las organizaaciones registradas bajo tu cuenta.
Authorizations:
Request Body schema: application/json
name required | string <= 100 characters Nombre comercial de la organización. |
Responses
Request samples
- Payload
- cURL
- Node.js
- C#
- PHP
{- "name": "string"
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "id": "5a2a307be93a2f00129ea035",
- "created_at": "2017-05-05T20:55:33.468Z",
- "is_production_ready": true,
- "pending_steps": [
- {
- "type": "legal",
- "description": "string"
}
], - "legal": {
- "name": "string",
- "legal_name": "string",
- "tax_system": "string",
- "website": "string",
- "phone": "string",
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora"
}
}
}
Listar organizaciones
Regresa una lista paginada de todas las organizationes registradas bajo tu cuenta, o realiza una búsqueda de acuerdo a parámetros.
Authorizations:
query Parameters
q | string Consulta. Texto a buscar en |
object (DateRange) Objeto con rango de fechas solicitado. | |
page | integer >= 1 Página de resultados a regresar, empezando desde la página 1. |
limit | integer [ 1 .. 50 ] Número del 1 al 50 que representa la cantidad máxima de resultados a regresar con motivos de paginación. |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/organizations \ -H "Authorization: Bearer sk_user_API_KEY"
Response samples
- 200
- 400
- 401
- 404
- 500
{- "page": 1,
- "total_pages": 1,
- "total_results": 1,
- "data": [
- {
- "id": "5a2a307be93a2f00129ea035",
- "created_at": "2017-05-05T20:55:33.468Z",
- "is_production_ready": true,
- "pending_steps": [
- {
- "type": "legal",
- "description": "string"
}
], - "legal": {
- "name": "string",
- "legal_name": "string",
- "tax_system": "string",
- "website": "string",
- "phone": "string",
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora"
}
}
}
]
}
Editar datos fiscales
Actualiza los datos fiscales de la organización.
Si estás buscando cómo editar el RFC, recuerda que la propiedad
tax_id
se asigna automáticamente al subir los Certificados de Sello
Digital.
Authorizations:
path Parameters
organization_id required | string ID de la organización |
Request Body schema: application/json
name required | string <= 100 characters Nombre comercial de la organización. |
legal_name required | string <= 100 characters Nombre Fiscal o Razón Social de la organización. |
tax_system required | string = 3 characters Código del Régimen Fiscal, del catálogo del SAT. |
required | object (OrganizationAddress) Domicilio fiscal de la organización emisora. |
website | string Sitio web de la organización, que aparecerá en el PDF y correos de facturas y recibos. |
support_email | string Dirección de correo electrónico para aclaraciones. Aparecerá en el PDF y correos de facturas y recibos. |
phone | string Teléfono de la organización, que aparecerá en el PDF y correos de facturas y recibos. |
Responses
Request samples
- Payload
- cURL
- Node.js
- C#
- PHP
{- "name": "string",
- "legal_name": "string",
- "tax_system": "str",
- "website": "string",
- "support_email": "string",
- "phone": "string",
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora"
}
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "id": "5a2a307be93a2f00129ea035",
- "created_at": "2017-05-05T20:55:33.468Z",
- "is_production_ready": true,
- "pending_steps": [
- {
- "type": "legal",
- "description": "string"
}
], - "legal": {
- "name": "string",
- "legal_name": "string",
- "tax_system": "string",
- "website": "string",
- "phone": "string",
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora"
}
}
}
Subir certificados (CSD)
Sube los archivos del Certificado de Sello Digital (CSD) proporcionado por el SAT. Esta llamada también debe usarse para reemplazar los certificados existentes en caso de solicitar nuevos.
Al actualizar tus certificados se leerá el RFC y asignará
automáticamente a legal.tax_id
.
Authorizations:
path Parameters
organization_id required | string ID de la organización |
Request Body schema: multipart/form-data
cerFile required | string <binary> Contenido binario del archivo con extensión |
keyFile required | string <binary> Contenido binario del archivo con extensión |
password required | string Contraseña de la llave del certificado. |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/organizations/5a2a307be93a2f00129ea035/certificate \ -X PUT \ -H "Authorization: Bearer sk_user_API_KEY" \ -H "Content-Type: multipart/form-data" \ -F 'cer=@/path/to/your/CSD.cer' \ -F 'key=@/path/to/your/CSD.key' \ -F 'password=CONTRASEÑA_DEL_CERTIFICADO'
Response samples
- 200
- 400
- 401
- 404
- 500
{- "id": "5a2a307be93a2f00129ea035",
- "created_at": "2017-05-05T20:55:33.468Z",
- "is_production_ready": true,
- "pending_steps": [
- {
- "type": "legal",
- "description": "string"
}
], - "legal": {
- "name": "string",
- "legal_name": "string",
- "tax_system": "string",
- "website": "string",
- "phone": "string",
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora"
}
}
}
Subir logotipo
Sube el logotipo de la organización que será colocado en el PDF y en los correos que se envían al cliente con la factura adjunta.
El archivo debe ser una imagen en formato JPG o PNG y tener un tamaño no mayor a 500 KB. Las dimensiones recomendadas son 800 × 500px.
Si la organización ya tiene un logotipo, esta llamada reemplaza el logotipo anterior.
Authorizations:
path Parameters
organization_id required | string ID de la organización |
Request Body schema: multipart/form-data
file required | string <binary> Contenido binario del archivo con la imagen que se usará como logotipo. Formatos soportados:
|
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/organizations/5a2a307be93a2f00129ea035/logo \ -X PUT \ -H "Authorization: Bearer sk_user_API_KEY" \ -H "Content-Type: multipart/form-data" \ -F 'file=@/path/to/your/logo.jpg'
Response samples
- 200
- 400
- 401
- 404
- 500
{- "id": "5a2a307be93a2f00129ea035",
- "created_at": "2017-05-05T20:55:33.468Z",
- "is_production_ready": true,
- "pending_steps": [
- {
- "type": "legal",
- "description": "string"
}
], - "legal": {
- "name": "string",
- "legal_name": "string",
- "tax_system": "string",
- "website": "string",
- "phone": "string",
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora"
}
}
}
Editar personalización
Actualiza la información relacionada con la identidad o branding de la organización.
Authorizations:
path Parameters
organization_id required | string ID de la organización |
Request Body schema: multipart/form-data
color | string <hex> Color en representación Hexadecimal RGB de 6 caracteres. El caracter de almohadilla (#) al inicio es opcional. |
next_folio_number | integer Número de folio que se asignará a la siguiente factura en ambiente Live (y que se incrementará automáticamente por cada nueva factura). |
next_folio_number_test | integer Número de folio que se asignará a la siguiente factura en ambiente Test (y que se incrementará automáticamente por cada nueva factura). |
object Configura qué campos opcionales se queiren mostrar en el PDF. El SAT no obliga a mostrar estos campos, pero pueden activarse según la preferencia de la organización. |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/organizations/5a2a307be93a2f00129ea035/customization \ -X PUT \ -H "Authorization: Bearer sk_user_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "color": "#BADA55", "pdf_extra": { "codes": false, "product_key": true } }'
Response samples
- 200
- 400
- 401
- 404
- 500
{- "id": "5a2a307be93a2f00129ea035",
- "created_at": "2017-05-05T20:55:33.468Z",
- "is_production_ready": true,
- "pending_steps": [
- {
- "type": "legal",
- "description": "string"
}
], - "legal": {
- "name": "string",
- "legal_name": "string",
- "tax_system": "string",
- "website": "string",
- "phone": "string",
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora"
}
}
}
Editar config. recibos
Actualiza la configuración de recibos de la organización.
Authorizations:
path Parameters
organization_id required | string ID de la organización |
Request Body schema: multipart/form-data
invoicing_period | string Default: "month" Enum: "day" "week" "month" "two_months" Periodicidad con la que la empresa decide realizar una factura global (al público en general) por todos los recibos no facturados. |
duration_days | integer Default: 7 Días máximos para facturar por medio del portal de autofactura
después de emitido el recibo y antes del último día del “Periodo de
facturación” ( |
next_folio_number | integer Número de folio que se asignará al siguiente recibo creado en esta organización en ambiente Live. |
next_folio_number_test | integer Número de folio que se asignará al siguiente recibo creado en esta organización en ambiente Test. |
ask_address | string Default: "optional" Enum: "optional" "hidden" "required" Opción que define si se le debe pedir el domicilio al usuario en el sitio de autofactura. Puede tener los siguientes valores:
|
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/organizations/5a2a307be93a2f00129ea035/receipts \ -X PUT \ -H "Authorization: Bearer sk_user_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "invoicing_period": "month", "duration_days": 14, "next_folio_number": 100, "ask_address": "hidden" }'
Response samples
- 200
- 400
- 401
- 404
- 500
{- "id": "5a2a307be93a2f00129ea035",
- "created_at": "2017-05-05T20:55:33.468Z",
- "is_production_ready": true,
- "pending_steps": [
- {
- "type": "legal",
- "description": "string"
}
], - "legal": {
- "name": "string",
- "legal_name": "string",
- "tax_system": "string",
- "website": "string",
- "phone": "string",
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora"
}
}
}
Revisar dominio disponible
Revisa si un identificador está disponible para elegir como dominio para el portal de autofactura.
Authorizations:
query Parameters
domain | string (DomainField) [ 4 .. 50 ] characters ^[a-z][a-z0-9-_]{2,48}[a-z0-9]$ Nombre del dominio. Se permiten caracteres alfanuméricos, sólo minúsculas, guión (-) y guión bajo (_). Debe empezar con una letra y terminar en letra o número. |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/organizations/domain-check?domain=empresa-demo \ -H "Authorization: Bearer sk_user_API_KEY"
Response samples
- 200
- 400
- 401
- 500
{- "available": true
}
Elegir dominio de autofactura
Elige el dominio que utilizará esta organización en su micrositio de autofactura. Una vez elegido el dominio, deberás ponerte en contacto con nosotros si necesitas cambiarlo.
El dominio que elijas será el que aparecerá en el campo
self_invoice_url
al crear un nuevo recibo, de la siguiente manera:
https://factura.space/{DOMAIN}/{RECEIPT_KEY}
Authorizations:
path Parameters
organization_id required | string ID de la organización |
Request Body schema: multipart/form-data
domain required | string (DomainField) [ 4 .. 50 ] characters ^[a-z][a-z0-9-_]{2,48}[a-z0-9]$ Nombre del dominio. Se permiten caracteres alfanuméricos, sólo minúsculas, guión (-) y guión bajo (_). Debe empezar con una letra y terminar en letra o número. |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/organizations/5a2a307be93a2f00129ea035/domain \ -X PUT \ -H "Authorization: Bearer sk_user_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "domain": "empresa-demo" }'
Response samples
- 200
- 400
- 401
- 404
- 500
{- "id": "5a2a307be93a2f00129ea035",
- "created_at": "2017-05-05T20:55:33.468Z",
- "is_production_ready": true,
- "pending_steps": [
- {
- "type": "legal",
- "description": "string"
}
], - "legal": {
- "name": "string",
- "legal_name": "string",
- "tax_system": "string",
- "website": "string",
- "phone": "string",
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora"
}
}
}
Obtener organización por ID
Regresa el objeto 'Organization' relacionado al id
especificado.
Authorizations:
path Parameters
organization_id required | string ID de la organización |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/organizations/5a2a307be93a2f00129ea035 \ -H "Authorization: Bearer sk_user_API_KEY"
Response samples
- 200
- 400
- 401
- 500
{- "id": "5a2a307be93a2f00129ea035",
- "created_at": "2017-05-05T20:55:33.468Z",
- "is_production_ready": true,
- "pending_steps": [
- {
- "type": "legal",
- "description": "string"
}
], - "legal": {
- "name": "string",
- "legal_name": "string",
- "tax_system": "string",
- "website": "string",
- "phone": "string",
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora"
}
}
}
Eliminar organización
Elimina la organización de tu cuenta de Facturapi. Una vez eliminada, ya no podrás acceder a sus recursos, tales como clientes, productos, facturas, recibos o retenciones.
Authorizations:
path Parameters
organization_id required | string ID del objeto a eliminar |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/organizations/5a2a307be93a2f00129ea035 \ -X DELETE \ -H "Authorization: Bearer sk_user_API_KEY"
Response samples
- 200
- 400
- 401
- 500
{- "id": "5a2a307be93a2f00129ea035",
- "created_at": "2017-05-05T20:55:33.468Z",
- "is_production_ready": true,
- "pending_steps": [
- {
- "type": "legal",
- "description": "string"
}
], - "legal": {
- "name": "string",
- "legal_name": "string",
- "tax_system": "string",
- "website": "string",
- "phone": "string",
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora"
}
}
}
Obtener Api Keys
Obtiene las llaves secretas de ambiente Test y Live de la organización.
Authorizations:
path Parameters
organization_id required | string ID de la organización |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/organizations/5a2a307be93a2f00129ea035/apikeys \ -H "Authorization: Bearer sk_user_API_KEY"
Response samples
- 200
- 400
- 401
- 500
{- "live_key": "string",
- "test_key": "string"
}
Validar RFC
Consulta el estado de un RFC en la lista de EFOS (Empresas que Facturan Operaciones Simuladas). Al aparecer en esta lista, el RFC es o fue sospechoso de incurrir en simulación de operaciones fiscales (empresas factureras).
La respuesta (detallada más abajo) incluye los resultados de esta
validación. Se incluye la propiedad
booleana is_valid
, que Facturapi resuelve interpretando la respuesta.
Un valor de true
para esta propiedad indica que el RFC no tiene asuntos
por resolver y está libre de problemas; y lo contrario para false
.
Adicionalmente puedes consultar la propiedad data para ver los valores
en bruto de la consulta al SAT.
Authorizations:
query Parameters
tax_id required | string Example: tax_id=BBA830831LJ2 RFC a validar |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/tools/tax_id_validation?tax_id=BBA830831LJ2 \ -H "Authorization: Bearer sk_test_API_KEY"
Response samples
- 200
- 400
- 401
- 500
{- "efos": {
- "is_valid": true,
- "data": {
- "mensaje": "string",
- "fechaLista": "Información actualizada al 17 de septiembre de 2021",
- "detalles": [
- {
- "rfc": "NOR170627727",
- "razonSocial": "NORMANDIA FERRE, S.A. DE C.V.",
- "situacionContribuyente": "Definitivo",
- "numFechaPresuncion": "500-05-2020-23758 de fecha 03 de noviembre de 2020",
- "pubFechaSatPresuntos": "03/11/2020",
- "numGlobalPresuncion": "500-05-2020-23758 de fecha 03 de noviembre de 2020",
- "pubFechaDofPresuntos": "18/11/2020",
- "pubSatDefinitivos": "500-05-2021-151",
- "pubDofDefinitivos": "25/05/2021",
- "numFechaSentFav": "500-05-2021-15156 de fecha 25 de mayo de 2021",
- "pubSatSentFav": "08/06/2021"
}
]
}
}
}
Principales catálogos del SAT, incluídos aquí por conveniencia. Puedes consultar estos y más catálogos desde el portal oficial del SAT: http://omawww.sat.gob.mx/tramitesyservicios/Paginas/anexo_20_version3-3.htm
Forma de pago
Código | Descripción |
---|---|
"01" | Efectivo |
"02" | Cheque nominativo |
"03" | Transferencia electrónica de fondos |
"04" | Tarjeta de crédito |
"05" | Monedero electrónico |
"06" | Dinero electrónico |
"08" | Vales de despensa |
"12" | Dación en pago |
"13" | Pago por subrogación |
"14" | Pago por consignación |
"15" | Condonación |
"17" | Compensación |
"23" | Novación |
"24" | Confusión |
"25" | Remisión de deuda |
"26" | Prescripción o caducidad |
"27" | A satisfacción del acreedor |
"28" | Tarjeta de débito |
"29" | Tarjeta de servicios |
"30" | Aplicación de anticipos |
"31" | Intermediario pagos |
"99" | Por definir |
Método de pago
Código | Descripción |
---|---|
"PUE" | Pago en una sola exhibición (de contado). |
"PPD" | Pago en parcialidades o diferido (total o parcialmente a crédito). Requiere expedir un comprobante de pago cuando se reciba un pago subsecuente. |
Uso CFDI
Código | Descripción |
---|---|
"G01" | Adquisición de mercancias. |
"G02" | Devoluciones, descuentos o bonificaciones. |
"G03" | Gastos en general. |
"I01" | Construcciones. |
"I02" | Mobilario y equipo de oficina por inversiones. |
"I03" | Equipo de transporte. |
"I04" | Equipo de computo y accesorios. |
"I05" | Dados, troqueles, moldes, matrices y herramental. |
"I06" | Comunicaciones telefónicas. |
"I07" | Comunicaciones satelitales. |
"I08" | Otra maquinaria y equipo. |
"D01" | Honorarios médicos, dentales y gastos hospitalarios. |
"D02" | Gastos médicos por incapacidad o discapacidad. |
"D03" | Gastos funerales. |
"D04" | Donativos. |
"D05" | Intereses reales efectivamente pagados por créditos hipotecarios (casa habitación). |
"D06" | Aportaciones voluntarias al SAR. |
"D07" | Primas por seguros de gastos médicos. |
"D08" | Gastos de transportación escolar obligatoria. |
"D09" | Depósitos en cuentas para el ahorro, primas que tengan como base planes de pensiones. |
"D10" | Pagos por servicios educativos (colegiaturas). |
"P01" | Por definir. |
Relación entre facturas
Código | Descripción |
---|---|
"01" | Nota de crédito de los documentos relacionados |
"02" | Nota de débito de los documentos relacionados |
"03" | Devolución de mercancía sobre facturas o traslados previos |
"04" | Sustitución de los CFDI previos |
"05" | Traslados de mercancias facturados previamente |
"06" | Factura generada por los traslados previos |
"07" | CFDI por aplicación de anticipo |
"08" | Factura generada por pagos en parcialidades |
"09" | Factura generada por pagos diferidos |
Régimen Fiscal
Código | Descripción |
---|---|
"601" | General de Ley Personas Morales |
"603" | Personas Morales con Fines no Lucrativos |
"605" | Sueldos y Salarios e Ingresos Asimilados a Salarios |
"606" | Arrendamiento |
"608" | Demás ingresos |
"609" | Consolidación |
"610" | Residentes en el Extranjero sin Establecimiento Permanente en México |
"611" | Ingresos por Dividendos (socios y accionistas) |
"612" | Personas Físicas con Actividades Empresariales y Profesionales |
"614" | Ingresos por intereses |
"616" | Sin obligaciones fiscales |
"620" | Sociedades Cooperativas de Producción que optan por diferir sus ingresos |
"621" | Incorporación Fiscal |
"622" | Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras |
"623" | Opcional para Grupos de Sociedades |
"624" | Coordinados |
"628" | Hidrocarburos |
"607" | Régimen de Enajenación o Adquisición de Bienes |
"629" | De los Regímenes Fiscales Preferentes y de las Empresas Multinacionales |
"630" | Enajenación de acciones en bolsa de valores |
"615" | Régimen de los ingresos por obtención de premios |
"625" | Régimen de las Actividades Empresariales con ingresos a través de Plataformas Tecnológicas |
"626" | Régimen Simplificado de Confianza |
Tipo de Contrato
Código | Descripción |
---|---|
"01" | Contrato de trabajo por tiempo indeterminado |
"02" | Contrato de trabajo para obra determinada |
"03" | Contrato de trabajo por tiempo determinado |
"04" | Contrato de trabajo por temporada |
"05" | Contrato de trabajo sujeto a prueba |
"06" | Contrato de trabajo con capacitación inicial |
"07" | Modalidad de contratación por pago de hora laborada |
"08" | Modalidad de trabajo por comisión laboral |
"09" | Modalidades de contratación donde no existe relación de trabajo |
"10" | Jubilación, pensión, retiro. |
"99" | Otro contrato |
Tipo de Jornada
Código | Descripción |
---|---|
"01" | Diurna |
"02" | Nocturna |
"03" | Mixta |
"04" | Por hora |
"05" | Reducida |
"06" | Continuada |
"07" | Partida |
"08" | Por turnos |
"99" | Otra Jornada |
Tipo de Régimen
Código | Descripción |
---|---|
"02" | Sueldos (Incluye ingresos señalados en la fracción I del artículo 94 de LISR) |
"03" | Jubilados |
"04" | Pensionados |
"05" | Asimilados Miembros Sociedades Cooperativas Produccion |
"06" | Asimilados Integrantes Sociedades Asociaciones Civiles |
"07" | Asimilados Miembros consejos |
"08" | Asimilados comisionistas |
"09" | Asimilados Honorarios |
"10" | Asimilados acciones |
"11" | Asimilados otros |
"12" | Jubilados o Pensionados |
"13" | Indemnización o Separación |
"99" | Otro Regimen |
Riesgo del Puesto
Código | Descripción |
---|---|
"1" | Clase I |
"2" | Clase II |
"3" | Clase III |
"4" | Clase IV |
"5" | Clase V |
"99" | No aplica |
Periodicidad del Pago
Código | Descripción |
---|---|
"01" | Diario |
"02" | Semanal |
"03" | Catorcenal |
"04" | Quincenal |
"05" | Mensual |
"06" | Bimestral |
"07" | Unidad obra |
"08" | Comisión |
"09" | Precio alzado |
"10" | Decenal |
"99" | Otra Periodicidad |
Tipo de Percepción
Código | Descripción |
---|---|
"001" | Sueldos, Salarios Rayas y Jornales |
"002" | Gratificación Anual (Aguinaldo) |
"003" | Participación de los Trabajadores en las Utilidades PTU |
"004" | Reembolso de Gastos Médicos Dentales y Hospitalarios |
"005" | Fondo de Ahorro |
"006" | Caja de ahorro |
"009" | Contribuciones a Cargo del Trabajador Pagadas por el Patrón |
"010" | Premios por puntualidad |
"011" | Prima de Seguro de vida |
"012" | Seguro de Gastos Médicos Mayores |
"013" | Cuotas Sindicales Pagadas por el Patrón |
"014" | Subsidios por incapacidad |
"015" | Becas para trabajadores y/o hijos |
"019" | Horas extra |
"020" | Prima dominical |
"021" | Prima vacacional |
"022" | Prima por antigüedad |
"023" | Pagos por separación |
"024" | Seguro de retiro |
"025" | Indemnizaciones |
"026" | Reembolso por funeral |
"027" | Cuotas de seguridad social pagadas por el patrón |
"028" | Comisiones |
"029" | Vales de despensa |
"030" | Vales de restaurante |
"031" | Vales de gasolina |
"032" | Vales de ropa |
"033" | Ayuda para renta |
"034" | Ayuda para artículos escolares |
"035" | Ayuda para anteojos |
"036" | Ayuda para transporte |
"037" | Ayuda para gastos de funeral |
"038" | Otros ingresos por salarios |
"039" | Jubilaciones, pensiones o haberes de retiro |
"044" | Jubilaciones, pensiones o haberes de retiro en parcialidades |
"045" | Ingresos en acciones o títulos valor que representan bienes |
"046" | Ingresos asimilados a salarios |
"047" | Alimentación diferentes a los establecidos en el Art 94 último párrafo LISR |
"048" | Habitación |
"049" | Premios por asistencia |
"050" | Viáticos |
"051" | Pagos por gratificaciones, primas, compensaciones, recompensas u otros en parcialidades |
"052" | Pagos por jubilación en parcialidades derivados de una resolución judicial |
"053" | Pagos por jubilación en una sola exhibición derivados de la ejecución de una resolución judicial |
Tipo de Horas
Código | Descripción |
---|---|
"01" | Dobles |
"02" | Triples |
"03" | Simples |
Tipo de Deducción
Código | Descripción |
---|---|
"001" | Seguridad social |
"002" | ISR |
"003" | Aportaciones a retiro, cesantía en edad avanzada y vejez. |
"004" | Otros |
"005" | Aportaciones a Fondo de vivienda |
"006" | Descuento por incapacidad |
"007" | Pensión alimenticia |
"008" | Renta |
"009" | Préstamos provenientes del Fondo Nacional de la Vivienda para los Trabajadores |
"010" | Pago por crédito de vivienda |
"011" | Pago de abonos INFONACOT |
"012" | Anticipo de salarios |
"013" | Pagos hechos con exceso al trabajador |
"014" | Errores |
"015" | Pérdidas |
"016" | Averías |
"017" | Adquisición de artículos producidos por la empresa o establecimiento |
"018" | Cuotas para la constitución y fomento de sociedades cooperativas y de cajas de ahorro |
"019" | Cuotas sindicales |
"020" | Ausencia (Ausentismo) |
"021" | Cuotas obrero patronales |
"022" | Impuestos Locales |
"023" | Aportaciones voluntarias |
"024" | Ajuste en Gratificación Anual (Aguinaldo) Exento |
"025" | Ajuste en Gratificación Anual (Aguinaldo) Gravado |
"026" | Ajuste en Participación de los Trabajadores en las Utilidades PTU Exento |
"027" | Ajuste en Participación de los Trabajadores en las Utilidades PTU Gravado |
"028" | Ajuste en Reembolso de Gastos Médicos Dentales y Hospitalarios Exento |
"029" | Ajuste en Fondo de ahorro Exento |
"030" | Ajuste en Caja de ahorro Exento |
"031" | Ajuste en Contribuciones a Cargo del Trabajador Pagadas por el Patrón Exento |
"032" | Ajuste en Premios por puntualidad Gravado |
"033" | Ajuste en Prima de Seguro de vida Exento |
"034" | Ajuste en Seguro de Gastos Médicos Mayores Exento |
"035" | Ajuste en Cuotas Sindicales Pagadas por el Patrón Exento |
"036" | Ajuste en Subsidios por incapacidad Exento |
"037" | Ajuste en Becas para trabajadores y/o hijos Exento |
"038" | Ajuste en Horas extra Exento |
"039" | Ajuste en Horas extra Gravado |
"040" | Ajuste en Prima dominical Exento |
"041" | Ajuste en Prima dominical Gravado |
"042" | Ajuste en Prima vacacional Exento |
"043" | Ajuste en Prima vacacional Gravado |
"044" | Ajuste en Prima por antigüedad Exento |
"045" | Ajuste en Prima por antigüedad Gravado |
"046" | Ajuste en Pagos por separación Exento |
"047" | Ajuste en Pagos por separación Gravado |
"048" | Ajuste en Seguro de retiro Exento |
"049" | Ajuste en Indemnizaciones Exento |
"050" | Ajuste en Indemnizaciones Gravado |
"051" | Ajuste en Reembolso por funeral Exento |
"052" | Ajuste en Cuotas de seguridad social pagadas por el patrón Exento |
"053" | Ajuste en Comisiones Gravado |
"054" | Ajuste en Vales de despensa Exento |
"055" | Ajuste en Vales de restaurante Exento |
"056" | Ajuste en Vales de gasolina Exento |
"057" | Ajuste en Vales de ropa Exento |
"058" | Ajuste en Ayuda para renta Exento |
"059" | Ajuste en Ayuda para artículos escolares Exento |
"060" | Ajuste en Ayuda para anteojos Exento |
"061" | Ajuste en Ayuda para transporte Exento |
"062" | Ajuste en Ayuda para gastos de funeral Exento |
"063" | Ajuste en Otros ingresos por salarios Exento |
"064" | Ajuste en Otros ingresos por salarios Gravado |
"065" | Ajuste en Jubilaciones, pensiones o haberes de retiro en una sola exhibición Exento |
"066" | Ajuste en Jubilaciones, pensiones o haberes de retiro en una sola exhibición Gravado |
"067" | Ajuste en Pagos por separación Acumulable |
"068" | Ajuste en Pagos por separación No acumulable |
"069" | Ajuste en Jubilaciones, pensiones o haberes de retiro en parcialidades Exento |
"070" | Ajuste en Jubilaciones, pensiones o haberes de retiro en parcialidades Gravado |
"071" | Ajuste en Subsidio para el empleo (efectivamente entregado al trabajador) |
"072" | Ajuste en Ingresos en acciones o títulos valor que representan bienes Exento |
"073" | Ajuste en Ingresos en acciones o títulos valor que representan bienes Gravado |
"074" | Ajuste en Alimentación Exento |
"075" | Ajuste en Alimentación Gravado |
"076" | Ajuste en Habitación Exento |
"077" | Ajuste en Habitación Gravado |
"078" | Ajuste en Premios por asistencia |
"079" | Ajuste en Pagos distintos a los listados |
"080" | Ajuste en Viáticos gravados |
"081" | Ajuste en Viáticos (entregados al trabajador) |
"082" | Ajuste en Fondo de ahorro Gravado |
"083" | Ajuste en Caja de ahorro Gravado |
"084" | Ajuste en Prima de Seguro de vida Gravado |
"085" | Ajuste en Seguro de Gastos Médicos Mayores Gravado |
"086" | Ajuste en Subsidios por incapacidad Gravado |
"087" | Ajuste en Becas para trabajadores y/o hijos Gravado |
"088" | Ajuste en Seguro de retiro Gravado |
"089" | Ajuste en Vales de despensa Gravado |
"090" | Ajuste en Vales de restaurante Gravado |
"091" | Ajuste en Vales de gasolina Gravado |
"092" | Ajuste en Vales de ropa Gravado |
"093" | Ajuste en Ayuda para renta Gravado |
"094" | Ajuste en Ayuda para artículos escolares Gravado |
"095" | Ajuste en Ayuda para anteojos Gravado |
"096" | Ajuste en Ayuda para transporte Gravado |
"097" | Ajuste en Ayuda para gastos de funeral Gravado |
"098" | Ajuste a ingresos asimilados a salarios gravados |
"099" | Ajuste a ingresos por sueldos y salarios gravados |
"100" | Ajuste en Viáticos exentos |
"101" | ISR Retenido de ejercicio anterior |
"102" | Ajuste a pagos por gratificaciones, primas, compensaciones, recompensas u otros |
"103" | Ajuste a pagos en parcialidades derivados de una resolución judicial gravados |
"104" | Ajuste a pagos en parcialidades derivados de una resolución judicial exentos |
"105" | Ajuste a pagos en una sola exhibición derivados de una resolución judicial gravados |
"106" | Ajuste a pagos en una sola exhibición derivados de una resolución judicial exentos |
"107" | Ajuste al Subsidio Causado |
Tipo de Otro Pago
Código | Descripción |
---|---|
"001" | Reintegro de ISR pagado en exceso. |
"002" | Subsidio para el empleo (efectivamente entregado al trabajador). |
"003" | Viáticos (entregados al trabajador). |
"004" | Aplicación de saldo a favor por compensación anual. |
"005" | Reintegro de ISR retenido en exceso de ejercicio anterior |
"006" | Alimentos en bienes (Servicios de comedor y comida). |
"007" | ISR ajustado por subsidio. |
"008" | Subsidio efectivamente entregado que no correspondía. |
"009" | Reembolso de descuentos efectuados para el crédito de vivienda. |
"999" | Pagos distintos a los listados. |
Tipo de Incapacidad
Código | Descripción |
---|---|
"01" | Riesgo de trabajo. |
"02" | Enfermedad en general. |
"03" | Maternidad. |
"04" | Licencia por cuidados médicos de hijos diagnosticados con cáncer. |
Clave de retención
Código | Descripción |
---|---|
"01" | Servicios profesionales. |
"02" | Regalías por derechos de autor. |
"03" | Autotransporte terrestre de carga. |
"04" | Servicios prestados por comisionistas. |
"05" | Arrendamiento. |
"06" | Enajenación de acciones. |
"07" | Enajenación de bienes objeto de la LIEPS, a través de mediadores, agentes, representantes, corredores, consignatarios o distribuidores. |
"08" | Enajenación de bienes inmuebles consignada en escritura pública. |
"09" | Enajenación de otros bienes, no consignada en escritura pública. |
"10" | Adquisición de desperdicios industriales. |
"11" | Adquisición de bienes consignada en escritura pública. |
"12" | Adquisición de otros bienes, no consignada en escritura pública. |
"13" | Otros retiros de AFORE. |
"14" | Dividendos o utilidades distribuidas. |
"15" | Remanente distribuible. |
"16" | Intereses. |
"17" | Arrendamiento en fideicomiso. |
"18" | Pagos realizados a favor de residentes en el extranjero. |
"19" | Enajenación de acciones u operaciones en bolsa de valores. |
"20" | Obtención de premios. |
"21" | Fideicomisos que no realizan actividades empresariales. |
"22" | Planes personales de retiro. |
"23" | Intereses reales deducibles por créditos hipotecarios. |
"24" | Operaciones Financieras Derivadas de Capital. |
"25" | Otro tipo de retenciones. |
"26" | Servicios mediante Plataformas Tecnológicas |
Validez de obligaciones
Validez | IVA Exento | Tasa 0% | Tasa 8% Fronteriza Norte | Tasa 8% Fronteriza Sur | Tasa 16% | |||||
---|---|---|---|---|---|---|---|---|---|---|
"0" | El contribuyente no está autorizado para emitir facturas | |||||||||
"1" | Sí | Sí | No | No | Sí | |||||
"2" | Sí | Sí | Sí | No | Sí | |||||
"3" | Sí | Sí | No | Sí | Sí | |||||
"4" | Sí | Sí | Sí | Sí | Sí |
Situación del contribuyente
Valor | Explicación |
---|---|
"Previsto" | Vía buzón tributario o notificaciones por estrados, el contribuyente recibe un oficio en el que se establece su situación y se le solicita que demuestre la materialidad de las operaciones facturadas. |
"Presunto" | El contribuyente notificado se considera presunto cuando, en su página web, la autoridad emite sus datos dentro de la relación de los EFOS, es decir, en las listas negras del SAT. |
"Desvirtuado" | En este caso, el contribuyente acusado de operaciones inexistentes ya aportó a la autoridad la documentación e información pertinente para desvirtuar los hechos que llevaron a notificarlo. |
"Definitivo" | En este caso, el EFO no atendió el llamado de la autoridad en el plazo de 15 días, a partir de la última notificación; o bien, no pudo desvirtuar los hechos imputados. |
"Sentencia favorable" | Los contribuyentes EFOS “definitivos” que se inconforman e interponen algún medio de defensa, el cual concluye a su favor, son clasificados en la lista de “sentencia favorable”. |
"EFOS de información suprimida" | En esta categoría, se encuentran los EFOS “presuntos” y “definitivos” que presentaron algún medio de defensa (amparo, juicio de nulidad) y, por lo tanto, un juez ordenó suprimir sus datos de la lista, sin ser eliminados. |
Producto/Servicio
Busca en el catálogo Productos/Servicios del SAT, el cual contiene la clave a incluir en la factura.
Authorizations:
query Parameters
q | string Consulta. Texto a buscar en la descripción de la categoría. |
page | integer >= 1 Página de resultados a regresar, empezando desde la página 1. |
limit | integer [ 1 .. 50 ] Número del 1 al 50 que representa la cantidad máxima de resultados a regresar con motivos de paginación. |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/catalogs/products?q=ukelele \ -H "Authorization: Bearer sk_test_API_KEY"
Response samples
- 200
- 400
- 401
- 404
- 500
{- "page": 1,
- "total_pages": 1,
- "total_results": 1,
- "data": [
- {
- "key": 60131324,
- "description": "Ukelele",
- "score": 0.8
}
]
}
Unidades de medida
Busca en el catálogo de Unidades de Medida del SAT.
Authorizations:
query Parameters
q | string Consulta. Texto a buscar en la descripción de la unidad de medida. |
page | integer >= 1 Página de resultados a regresar, empezando desde la página 1. |
limit | integer [ 1 .. 50 ] Número del 1 al 50 que representa la cantidad máxima de resultados a regresar con motivos de paginación. |
Responses
Request samples
- cURL
- Node.js
- C#
- PHP
curl https://www.facturapi.io/v1/catalogs/units?q=pulgada \ -H "Authorization: Bearer sk_test_API_KEY"
Response samples
- 200
- 400
- 401
- 404
- 500
{- "page": 1,
- "total_pages": 1,
- "total_results": 1,
- "data": [
- {
- "key": "INH",
- "description": "Pulgada",
- "score": 0.9
}
]
}
id | string ID del objeto |
created_at | string <date-time> Fecha de registro |
livemode | boolean Si el valor es |
legal_name | string Nombre Fiscal o Razón Social del cliente. |
tax_id | string En clientes de México contiene el RFC del cliente. Para extranjeros es opcional y representa el número de registro de identificacón tributaria, es decir, el equivalente al RFC en el país del cliente. |
string <email> Dirección de correo electrónico al cual enviar las facturas generadas. | |
phone | string Teléfono del cliente. |
object Domicilio fiscal. |
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "email": "email@example.com",
- "phone": 6474010101,
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora",
- "country": "MEX"
}
}
id | string ID del objeto |
created_at | string <date-time> Fecha de registro |
livemode | boolean Si el valor es |
description | string Descripción del bien o servicio como aparecerá en la factura. |
product_key | string Clave de producto/servicio, del catálogo del SAT. Nosotros te proporcionamos una manera más conveniente de encontrarlo utilizando nuestra herramienta de búsqueda de claves. |
price | number Precio por unidad del bien o servicio. Este valor representará el precio con IVA incluído o sin él, dependiendo del valor de |
tax_included | boolean Default: true
|
Array of objects (Tax) Default: "IVA trasladado 16%" Lista de impuestos que deberán aplicarse a este producto. Si el parámetro se omite o es nulo, se guardará con un elemento que representa el IVA trasladado del 16%, que es el impuesto más común. En caso de mandar explícitamente un arreglo vacío, se entiende que el producto está exento de impuestos. | |
Array of objects (LocalTax) Default: [] Arreglo de impuestos locales (estatales o municipales), en caso de haberlos. | |
unit_key | string Default: "H87" Clave de unidad de medida, del catálogo del SAT. El valor por default |
unit_name | string Default: "Elemento" Palabra que representa la unidad de medida de tu producto. Debe estar relacionada con la clave de unidad |
sku | string Identificador de uso interno designado por la empresa. Puede tener cualquier valor. |
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
id | string ID del objeto |
created_at | string <date-time> Fecha de registro |
livemode | boolean Si el valor es |
status | string Enum: "valid" "canceled" Estado actual de la factura. |
cancellation_status | string Enum: "none" "pending" "accepted" "rejected" "expired" Estado actual de la solicitud de cancelación, en caso de haberla realizado. Puedes leer más a detalle en la sección de Cancelar Factura). |
verification_url | string <uri> Dirección URL para verificar el estado del CFDI en el portal del SAT. Este link es el mismo que aparece en el código QR, en el PDF de la factura. |
cancellation_receipt | string <xml> Si el comprobante fue cancelado, este campo contiene el acuse de recibo de cancelación en formato XML. |
type | string Enum: "I" "E" "P" "N" "T" Tipo de comprobante. Puede tener los valores |
object (CustomerInfo) Objeto con información parcial del cliente receptor del comprobante. Para obtener el objeto | |
total | number Monto total facturado. |
uuid | string <uuid> Folio fiscal de la factura, asignado por el SAT. |
folio_number | integer Número de folio autoincremental para control interno y sin validez fiscal. |
series | string Serie. Caracteres designados por la empresa para control interno y sin validez fiscal. En el PDF se imprime junto al //www.facturapi.io/img/logo.svg |
external_id | string Identificador opcional que puedes usar para relacionar esta factura con tus registros para después buscar por este número. |
payment_form | string Código que representa la forma de pago, de acuerdo al catálogo del SAT. |
Array of objects (LineItem) Conceptos incluidos en el documento | |
related | Array of strings <uuid> Folios fiscales de los CFDIs relacionados. |
relation | string Clave de relación del catálogo del SAT. |
currency | string Código de la moneda, acorde al estándar ISO 4217. |
exchange | number >= 0 Tipo de cambio conforme a la moneda usada. Representa el número de pesos mexicanos que equivalen a una unidad de la divisa señalada en el atributo |
Array of objects (Complement) Default: [] Complementos a incluir en la factura. | |
pdf_custom_section | string <html> En caso de que necesites incluir más información en el PDF, este campo te permite insertar código HTML con tu propio contenido. |
addenda | string <xml> Código XML con la Addenda que se necesite agregar a la factura. |
Array of objects (Namespace) Namespaces a insertar en el nodo raíz de la factura. Requerido en complementos y addenda. | |
object (Stamp) Información sobre el timbre fiscal digital agregado por el PAC. |
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "status": "valid",
- "cancellation_status": "none",
- "cancellation_receipt": "string",
- "type": "I",
- "customer": {
- "id": "58e93bd8e86eb318b0197456",
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "address": {
- "country": "MEX"
}
}, - "total": 10944.82,
- "uuid": "39c85a3f-275b-4341-b259-e8971d9f8a94",
- "folio_number": 914,
- "series": "F",
- "external_id": "string",
- "payment_form": 6,
- "items": [
- {
- "quantity": 1,
- "discount": 0,
- "product": {
- "id": "58e93bd8e86eb318b0197454",
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
}
], - "related": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "relation": "string",
- "currency": "MXN",
- "exchange": 1,
- "complements": [ ],
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [
- {
- "prefix": "iedu",
}
], - "stamp": {
- "signature": "string",
- "date": "2019-08-24T14:15:22Z",
- "sat_cert_number": "string",
- "sat_signature": "string"
}
}
id | string ID del objeto |
created_at | string <date-time> Fecha de registro |
livemode | boolean Si el valor es |
expires_at | string <date-time> Fecha de expiración en formato ISO8601 (UTC String). Es la fecha límite para que el cliente pueda facturar su recibo en el portal de autofactura. Se calcula automáticamente a partir de las configuraciones de recibo de la organización. |
status | string Enum: "open" "canceled" "invoiced_to_customer" "invoiced_globally" Estado actual del recibo. |
self_invoice_url | string <url> Dirección URL para realizar autofactura. Incluye el |
total | number Monto total de la operación |
invoice | string ID de la factura asociada, en caso de estar facturado. |
key | string Autogenerado. Identificador único alfanumérico corto, útil para acceder a la autofactura desde tu micrositio en factura.space |
Array of objects (LineItem) Conceptos incluidos en el recibo | |
payment_form | string Código que representa la forma de pago, según el catálogo del SAT. |
folio_number | integer Autoincremental. Número de folio del recibo para control interno y sin validez fiscal. |
currency | string Código de la moneda, acorde al estándar ISO 4217. |
exchange | number >= 0 Tipo de cambio conforme a la moneda usada. Representa el número de pesos mexicanos que equivalen a una unidad de la divisa señalada en el atributo |
branch | string Nombre de la sucursal donde se expidió el recibo. |
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "expires_at": "2021-09-17T15:21:23.456Z",
- "status": "open",
- "total": 356.78,
- "invoice": "614496b471d422de4b6cfcc4",
- "key": "r9YqYarL",
- "items": [
- {
- "quantity": 1,
- "discount": 0,
- "product": {
- "id": "58e93bd8e86eb318b0197454",
- "description": "Ukelele",
- "product_key": 60131324,
- "price": 345.6,
- "tax_included": true,
- "taxes": "IVA trasladado 16%",
- "local_taxes": [ ],
- "unit_key": "H87",
- "unit_name": "Elemento",
- "sku": "string"
}
}
], - "payment_form": "03",
- "folio_number": 120,
- "currency": "MXN",
- "exchange": 1,
- "branch": "string"
}
id | string ID del objeto |
created_at | string <date-time> Fecha de registro |
livemode | boolean Si el valor es |
status | string Enum: "valid" "canceled" Estado actual de la retención. |
verification_url | string <uri> Dirección URL para verificar el estado de la retención en el portal del SAT. Este link es el mismo que aparece en el código QR, en el PDF de la retención. |
cancellation_receipt | string <xml> Si el comprobante fue cancelado, este campo contiene el acuse de recibo de cancelación en formato XML. |
type | string Value: "Retención" Tipo de comprobante. |
uuid | string <uuid> Folio fiscal de la retención, asignado por el SAT. |
object (Stamp) Información sobre el timbre fiscal digital agregado por el PAC. | |
object (CustomerInfo) Objeto con información parcial del cliente receptor del comprobante. Para obtener el objeto | |
cve_retenc | string Clave de la retención o información de pagos de acuerdo al catálogo del SAT. |
fecha_exp | string <date-time> Fecha de expedición del comprobante en formato ISO8601 (UTC String). |
desc_retenc | string Si la clave de la retención es “25” (Otro tipo de retenciones), este campo se usa para registrar la descripción de la retención. |
folio_int | string Identificador alfanumérico para control interno de la empresa y sin relevancia fiscal. |
object Información sobre el periodo de la retención. | |
object Información sobre el total de retenciones efectuadas en el periodo correspondiente. | |
external_id | string Identificador opcional que puedes usar para relacionar esta retención con tus registros y poder hacer búsquedas usando este identificador. Facturapi no valida que este campo sea único. |
Array of objects (CustomComplement) Default: [] Complementos a incluir en la factura. | |
pdf_custom_section | string <html> En caso de que necesites incluir más información en el PDF, este campo te permite insertar código HTML con tu propio contenido. |
addenda | string <xml> Código XML con la Addenda que se necesite agregar a la factura. |
Array of objects (Namespace) Namespaces a insertar en el nodo raíz de la factura. Requerido en complementos y addenda. |
{- "id": "590ce6c56d04f840aa8438af",
- "created_at": "2017-05-05T20:55:33.468Z",
- "livemode": false,
- "status": "valid",
- "cancellation_receipt": "string",
- "type": "Retención",
- "uuid": "39c85a3f-275b-4341-b259-e8971d9f8a94",
- "stamp": {
- "signature": "string",
- "date": "2019-08-24T14:15:22Z",
- "sat_cert_number": "string",
- "sat_signature": "string"
}, - "customer": {
- "id": "58e93bd8e86eb318b0197456",
- "legal_name": "Dunder Mifflin S.A. de C.V.",
- "tax_id": "ABC101010111",
- "address": {
- "country": "MEX"
}
}, - "cve_retenc": 1,
- "fecha_exp": "2021-09-15T06:03:23.000Z",
- "desc_retenc": "string",
- "folio_int": "string",
- "periodo": {
- "mes_ini": 1,
- "mes_fin": 1,
- "ejerc": 0
}, - "totales": {
- "monto_tot_operacion": 0,
- "monto_tot_grav": 0,
- "monto_tot_exent": 0,
- "monto_tot_ret": 0,
- "imp_retenidos": [
- {
- "base_ret": 0,
- "impuesto": "IVA",
- "monto_ret": 0,
- "pago_provisional": true
}
]
}, - "external_id": "string",
- "complements": [ ],
- "pdf_custom_section": "string",
- "addenda": "string",
- "namespaces": [
- {
- "prefix": "iedu",
}
]
}
id | string ID del objeto |
created_at | string <date-time> Fecha de registro |
is_production_ready | boolean Indica si la organización tiene información necesaria para facturar en ambiente Live. |
Array of objects Lista de pasos que se necesitan completar para que esta organización pueda emitir facturas válidas en ambiente Live. | |
object Datos fiscales de la empresa. |
{- "id": "5a2a307be93a2f00129ea035",
- "created_at": "2017-05-05T20:55:33.468Z",
- "is_production_ready": true,
- "pending_steps": [
- {
- "type": "legal",
- "description": "string"
}
], - "legal": {
- "name": "string",
- "legal_name": "string",
- "tax_system": "string",
- "website": "string",
- "phone": "string",
- "address": {
- "street": "Blvd. Atardecer",
- "exterior": 142,
- "interior": 4,
- "neighborhood": "Villas del Marro",
- "city": "Huatabampo",
- "municipality": "Huatabampo",
- "zip": 86500,
- "state": "Sonora"
}
}
}