Skip to main content

Configuración básica

Puedes instalar la integración de Facturama directamente desde nuestro Marketplace. Una vez instalada, podrás emitir facturas electrónicas (CFDI 4.0) válidas ante el SAT, crear complementos de pago para facturas PPD, generar notas de crédito, validar RFC y consultar catálogos del SAT.

Prerrequisitos

Antes de usar esta integración, necesitas:
  1. Cuenta activa en Facturama — Regístrate en facturama.mx
  2. Certificado de Sello Digital (CSD) — Carga tu CSD desde el dashboard de Facturama
  3. Perfil fiscal configurado — RFC, razón social y régimen fiscal en tu cuenta

Credenciales requeridas

CampoDescripciónRequerido
UsernameUsuario de tu cuenta Facturama
PasswordContraseña de tu cuenta Facturama
URLURL del ambiente (sandbox o producción)Solo para testing
La URL solo es necesaria si deseas usar el ambiente de pruebas (sandbox). Para producción, la integración usa automáticamente https://api.facturama.mx.
URLs disponibles:
AmbienteURL
Producciónhttps://api.facturama.mx
Sandbox (testing)https://apisandbox.facturama.mx

Funcionalidades

Crear factura electrónica (CFDI)

Crea una factura electrónica CFDI 4.0 válida ante el SAT. El IVA 16% se calcula automáticamente para productos con TaxObject: "02". Inputs:
  • Receiver (objeto) — Información del receptor:
    • Name (string) — Razón social en mayúsculas (máx 300 caracteres)
    • Rfc (string) — RFC del receptor (12-13 caracteres)
    • CfdiUse (string) — Uso del CFDI (ej. “G03”)
    • FiscalRegime (string) — Código de régimen fiscal
    • TaxZipCode (string) — Código postal fiscal (5 dígitos)
    • Email (opcional, string) — Email para notificación
  • ExpeditionPlace (string) — Código postal del emisor (5 dígitos)
  • PaymentForm (string) — Forma de pago (ej. “01”=Efectivo, “03”=Transferencia)
  • PaymentMethod (enum: PUE | PPD) — Método de pago
  • Items (array de objeto) — Conceptos de la factura:
    • Quantity (number) — Cantidad
    • Description (string) — Descripción del producto/servicio (máx 1000 caracteres)
    • UnitPrice (number) — Precio unitario sin impuesto
    • ProductCode (opcional, string) — Código SAT del producto (por defecto “01010101”)
    • UnitCode (opcional, string) — Código SAT de unidad (por defecto “H87”)
    • Unit (opcional, string) — Descripción de unidad (por defecto “Pieza”)
    • TaxObject (opcional, enum: 01 | 02 | 03 | 04) — Objeto de impuesto (por defecto “02”)
    • IdentificationNumber (opcional, string) — SKU o ID interno
    • Discount (opcional, number) — Monto de descuento
  • CfdiType (opcional, enum: I | E | T | N | P) — Tipo de CFDI (por defecto “I”)
  • Serie (opcional, string) — Serie de la factura
  • Folio (opcional, string) — Número de folio
  • Currency (opcional, string) — Moneda (por defecto “MXN”)
  • ExchangeRate (opcional, number) — Tipo de cambio si no es MXN
  • Observations (opcional, string) — Observaciones adicionales
Ejemplo:
{
  "Receiver": {
    "Name": "EMPRESA EJEMPLO SA DE CV",
    "Rfc": "EKU9003173C9",
    "CfdiUse": "G03",
    "FiscalRegime": "601",
    "TaxZipCode": "06600",
    "Email": "[email protected]"
  },
  "ExpeditionPlace": "06600",
  "PaymentForm": "03",
  "PaymentMethod": "PUE",
  "Items": [
    {
      "Quantity": 2,
      "Description": "Servicio de consultoría tecnológica",
      "UnitPrice": 5000,
      "ProductCode": "80101500",
      "UnitCode": "E48",
      "Unit": "Servicio",
      "TaxObject": "02"
    },
    {
      "Quantity": 1,
      "Description": "Licencia de software anual",
      "UnitPrice": 12000,
      "TaxObject": "02"
    }
  ],
  "Serie": "A",
  "Folio": "001",
  "Currency": "MXN"
}

Obtener factura (CFDI)

Obtiene la información detallada de una factura específica por su ID. Inputs:
  • cfdi_id (string) — ID del CFDI obtenido al crear la factura
  • type (opcional, enum: issued | received) — Tipo de CFDI (por defecto “issued”)
Ejemplo:
{
  "cfdi_id": "abc123def456",
  "type": "issued"
}

Buscar facturas (CFDI)

Busca facturas usando filtros como palabra clave, estado y tipo. Inputs:
  • keyword (opcional, string) — Palabra clave de búsqueda (RFC, folio, etc.)
  • status (opcional, enum: all | active | canceled) — Filtrar por estado (por defecto “all”)
  • cfdi_type (opcional, string) — Filtrar por tipo de CFDI (I, E, T, N, P)
  • type (opcional, enum: issued | received) — Buscar emitidas o recibidas (por defecto “issued”)
  • page (opcional, number) — Número de página (por defecto 1)
Ejemplo:
{
  "keyword": "EKU9003173C9",
  "status": "active",
  "cfdi_type": "I",
  "page": 1
}

Cancelar factura (CFDI)

Cancela una factura ante el SAT.
Esta acción es irreversible y notifica al SAT. Asegúrate de usar el motivo correcto.
Inputs:
  • cfdi_id (string) — ID del CFDI a cancelar
  • motive (opcional, enum: 01 | 02 | 03 | 04) — Motivo de cancelación (por defecto “02”)
  • uuid_replacement (opcional, string) — UUID de reemplazo (requerido para motivo “01”)
  • type (opcional, enum: issued | received) — Tipo de CFDI (por defecto “issued”)
Motivos de cancelación:
CódigoDescripción
01Comprobante emitido con errores con relación
02Comprobante emitido con errores sin relación
03No se llevó a cabo la operación
04Operación nominativa relacionada en factura global
Ejemplo:
{
  "cfdi_id": "abc123def456",
  "motive": "02"
}

Descargar factura (CFDI)

Descarga una factura en formato PDF, XML o HTML. Retorna el contenido codificado en Base64. Inputs:
  • cfdi_id (string) — ID del CFDI a descargar
  • format (opcional, enum: pdf | xml | html) — Formato de descarga (por defecto “pdf”)
  • type (opcional, enum: issued | received) — Tipo de CFDI (por defecto “issued”)
Ejemplo:
{
  "cfdi_id": "abc123def456",
  "format": "pdf"
}

Enviar factura por email

Envía una factura al receptor por correo electrónico con los archivos PDF y XML adjuntos. Inputs:
  • cfdi_id (string) — ID del CFDI a enviar
  • email (string) — Dirección de correo del destinatario
  • subject (opcional, string) — Asunto del correo (por defecto “Factura Electrónica”)
  • comments (opcional, string) — Comentarios adicionales en el cuerpo del correo
Ejemplo:
{
  "cfdi_id": "abc123def456",
  "email": "[email protected]",
  "subject": "Factura A-001",
  "comments": "Adjunto encontrará su factura correspondiente al mes de enero."
}

Crear complemento de pago

Crea un Complemento de Pago (CFDI tipo “P”) para registrar pagos de facturas emitidas con método PPD. Busca automáticamente la factura original y rellena los datos del receptor.
Este complemento es obligatorio cuando recibes un pago por una factura emitida con PaymentMethod “PPD” (Pago en Parcialidades o Diferido).
Inputs:
  • search_by (enum: uuid | folio | rfc | id) — Método para encontrar la factura original.
  • search_value (string) — UUID, folio, RFC o ID interno de la factura.
  • AmountPaid (number) — Monto pagado en esta transacción.
  • PaymentForm (string) — Forma de pago (ej. “01”=Efectivo, “03”=Transferencia).
  • PaymentDate (opcional, string) — Fecha del pago en formato ISO. Por defecto usa la fecha actual.
  • PartialityNumber (opcional, number) — Número de parcialidad (por defecto 1).
  • PreviousBalanceAmount (opcional, number) — Saldo antes de este pago. Por defecto usa el total de la factura.
  • Currency (opcional, string) — Moneda del pago. Por defecto usa la moneda de la factura original.
  • OperationNumber (opcional, string) — Número de operación bancaria.
  • SourceBankRfc (opcional, string) — RFC del banco pagador.
  • SourceBankAccount (opcional, string) — Cuenta bancaria del pagador.
  • DestinationBankRfc (opcional, string) — RFC del banco receptor.
  • DestinationBankAccount (opcional, string) — Cuenta bancaria del receptor.
Ejemplo:
{
  "search_by": "folio",
  "search_value": "001",
  "AmountPaid": 11600,
  "PaymentForm": "03",
  "PartialityNumber": 1,
  "OperationNumber": "REF123456"
}

Crear nota de crédito

Crea una Nota de Crédito (CFDI tipo “E”) para devoluciones, reembolsos o descuentos posteriores a la factura. Busca automáticamente la factura original y usa sus datos de receptor y pago. Inputs:
  • search_by (enum: uuid | folio | rfc | id) — Método para encontrar la factura original.
  • search_value (string) — UUID, folio, RFC o ID interno de la factura.
  • Items (array de objeto) — Conceptos que se acreditan:
    • Quantity (number) — Cantidad.
    • Description (string) — Descripción del producto/servicio.
    • UnitPrice (number) — Precio unitario sin impuesto.
    • ProductCode (opcional, string) — Código SAT del producto (por defecto “01010101”).
    • UnitCode (opcional, string) — Código SAT de unidad (por defecto “H87”).
    • Unit (opcional, string) — Descripción de unidad (por defecto “Pieza”).
    • TaxObject (opcional, enum: 01 | 02 | 03 | 04) — Objeto de impuesto (por defecto “02”).
  • RelationType (opcional, enum: 01 | 03) — Tipo de relación (por defecto “01”).
  • Observations (opcional, string) — Observaciones adicionales.
Tipos de relación:
CódigoDescripción
01Nota de crédito de los documentos relacionados
03Devolución de mercancía sobre facturas o traslados previos
Ejemplo:
{
  "search_by": "folio",
  "search_value": "001",
  "Items": [
    {
      "Quantity": 1,
      "Description": "Devolución - Servicio de consultoría",
      "UnitPrice": 5000,
      "TaxObject": "02"
    }
  ],
  "RelationType": "01",
  "Observations": "Devolución por servicio no prestado"
}

Validar RFC

Valida un RFC con el SAT para verificar si es válido y obtener la razón social registrada. Inputs:
  • rfc (string) — RFC a validar (12 caracteres para personas morales, 13 para físicas)
Ejemplo:
{
  "rfc": "EKU9003173C9"
}

Listar clientes

Lista los clientes registrados en tu cuenta de Facturama con filtros de búsqueda opcionales. Inputs:
  • search (opcional, string) — Palabra clave de búsqueda (nombre, RFC, email).
  • limit (opcional, number) — Cantidad de resultados (1-100, por defecto 50).
  • offset (opcional, number) — Desplazamiento para paginación (por defecto 0).
Ejemplo:
{
  "search": "EMPRESA",
  "limit": 25
}

Obtener cliente

Busca un cliente específico por ID, RFC o nombre. Inputs:
  • search_by (enum: id | rfc | name) — Método de búsqueda.
  • search_value (string) — El ID, RFC o nombre a buscar.
Ejemplo:
{
  "search_by": "rfc",
  "search_value": "EKU9003173C9"
}

Crear cliente

Registra un nuevo cliente con su información fiscal para reutilizar en futuras facturas. Inputs:
  • Rfc (string) — RFC del cliente (12 caracteres para empresas, 13 para personas físicas).
  • Name (string) — Razón social del cliente.
  • Email (opcional, string) — Correo para notificaciones de factura.
  • CfdiUse (string) — Código de uso de CFDI (ej. “G03” para gastos en general).
  • FiscalRegime (string) — Código de régimen fiscal (ej. “601” para General de Ley).
  • TaxZipCode (string) — Código postal fiscal (5 dígitos).
  • Address (opcional, objeto) — Dirección del cliente:
    • Street (opcional, string) — Calle.
    • ExteriorNumber (opcional, string) — Número exterior.
    • InteriorNumber (opcional, string) — Número interior.
    • Neighborhood (opcional, string) — Colonia.
    • ZipCode (opcional, string) — Código postal.
    • Municipality (opcional, string) — Municipio.
    • State (opcional, string) — Estado.
    • Country (opcional, string) — País (por defecto “MEX”).
Ejemplo:
{
  "Rfc": "EKU9003173C9",
  "Name": "EMPRESA EJEMPLO SA DE CV",
  "Email": "[email protected]",
  "CfdiUse": "G03",
  "FiscalRegime": "601",
  "TaxZipCode": "06600"
}

Buscar códigos de producto SAT

Busca códigos de producto/servicio en el catálogo del SAT para usar en tus facturas. Inputs:
  • keyword (string) — Palabra clave de búsqueda (mínimo 2 caracteres)
Ejemplo:
{
  "keyword": "consultoria"
}

Buscar códigos de unidad SAT

Busca códigos de unidad de medida en el catálogo del SAT. Inputs:
  • keyword (string) — Palabra clave de búsqueda
Ejemplo:
{
  "keyword": "pieza"
}
Códigos de unidad comunes:
CódigoDescripción
H87Pieza
E48Servicio
KGMKilogramo
LTRLitro
MTRMetro

Obtener formas de pago

Obtiene todas las formas de pago disponibles en el catálogo del SAT. Inputs:
  • Sin parámetros requeridos
Formas de pago comunes:
CódigoDescripción
01Efectivo
02Cheque nominativo
03Transferencia electrónica de fondos
04Tarjeta de crédito
28Tarjeta de débito
99Por definir

Obtener regímenes fiscales

Obtiene los regímenes fiscales disponibles en el catálogo del SAT. Inputs:
  • rfc (opcional, string) — RFC para filtrar regímenes aplicables a ese tipo de contribuyente
Regímenes fiscales comunes:
CódigoDescripción
601General de Ley Personas Morales
603Personas Morales con Fines no Lucrativos
605Sueldos y Salarios
606Arrendamiento
612Personas Físicas con Actividades Empresariales
616Sin obligaciones fiscales
626Régimen Simplificado de Confianza

Obtener usos de CFDI

Obtiene los usos de CFDI disponibles en el catálogo del SAT. Inputs:
  • keyword (opcional, string) — Palabra clave de búsqueda
Usos de CFDI comunes:
CódigoDescripción
G01Adquisición de mercancías
G02Devoluciones, descuentos o bonificaciones
G03Gastos en general
I01Construcciones
I02Mobiliario y equipo de oficina
P01Por definir
S01Sin efectos fiscales
CP01Pagos

Obtener información fiscal

Obtiene la información fiscal de la cuenta autenticada (RFC, razón social, régimen fiscal y estado del CSD). Inputs:
  • Sin parámetros requeridos

Referencia de códigos

Tipos de CFDI

CódigoDescripción
IIngreso (Factura)
EEgreso (Nota de crédito)
TTraslado
NNómina
PPago

Métodos de pago

CódigoDescripción
PUEPago en Una Exhibición
PPDPago en Parcialidades o Diferido

Objeto de impuesto

CódigoDescripción
01No objeto de impuesto
02Sí objeto de impuesto (aplica IVA 16% automático)
03Sí objeto, no obligado desglose
04Sí objeto, exportación