Skip to main content
Cada entrada corresponde a un release de Timbrix. Se genera automáticamente al publicar una nueva versión. Las entradas anteriores al 16 de septiembre de 2026 resumen los hitos principales del producto. Puedes filtrar por tipo de cambio en el panel lateral o suscribirte vía RSS. Para ver lo que viene, consulta el roadmap.
Correcciones
api v1.22.1
Correcciones
  • api: Las facturas con retenciones (por ejemplo honorarios o arrendamiento con ISR e IVA retenidos) ya se pueden timbrar. El nodo de retenciones del comprobante ya no lleva Base, que el SAT no admite ahí; la base sigue en la retención de cada concepto.
Novedades
@timbrix/cli v1.12.0 · @timbrix/mcp v0.8.2 · @timbrix/sdk v2.11.0 · api v1.22.0 · docs v1.15.4 · web v1.17.0
Novedades y mejoras
  • @timbrix/cli, @timbrix/sdk, api, docs, web: Complemento de pago (CFDI tipo P) para facturas PPD: POST /invoices/payments registra el pago de 1 a 50 facturas PPD del mismo cliente y moneda, y timbra un complemento de pago 2.0. Timbrix calcula la parcialidad, los saldos y los impuestos proporcionales; solo se manda \{ invoiceUuid, amount \} por factura. GET /invoices/:uuid/payments muestra las parcialidades y el saldo. Las facturas ahora traen paymentMethod y, si son PPD, balance; GET /invoices?type=P lista los complementos. Cada complemento cuenta como un CFDI del plan, se cancela de forma directa, y una factura con complementos vigentes ya no se puede cancelar hasta cancelarlos. El PDF del complemento muestra el pago y la tabla de facturas. Nuevo webhook invoice.payment_received. En la web, “Registrar pago” en el menú de las facturas PPD con saldo, el saldo pendiente en el listado y el filtro “Complemento de pago”. SDK: invoices.registerPayment e invoices.getPayments. CLI: timbrix invoices pay y timbrix invoices payments.
NovedadesCorrecciones
@timbrix/cli v1.11.1 · @timbrix/mcp v0.8.1 · @timbrix/sdk v2.10.0 · api v1.21.0 · docs v1.15.3 · web v1.16.3
Novedades y mejoras
  • @timbrix/cli, @timbrix/sdk, api, docs, web: Rate limit por plan: las requests con API key se limitan por organización según el plan (Starter 30, Pro 120, Business 300, Enterprise 600 por minuto). Al pasarse, la API responde 429 con Retry-After y \{ "error": "rate_limit_exceeded", "retry_after_seconds": N \}; cada respuesta trae X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset. El rateLimitPerMinute y rateLimitPerHour de una llave ahora son opcionales y se aplican solo para bajar el límite del plan: sin valor (o null al actualizar), la llave usa el límite de su plan y lo sigue al cambiar de plan. Los límites guardados en las llaves existentes se limpiaron para que usen el límite de su plan, y el dashboard ya no los llena con valores por defecto. En el SDK, ApiKey.rateLimitPerMinute y rateLimitPerHour ahora pueden ser null (null = límite del plan). Nuevo webhook rate_limit.exceeded, y un email al owner, como máximo una vez por hora. Las requests desde el dashboard no cuentan.
Correcciones
  • api, docs: API keys: crear, actualizar y borrar llaves con /organizations/:organizationId/api-keys ahora exige rol owner o admin, igual que en la web; un miembro recibe 403. Cada scope se valida contra la lista de scopes disponibles: uno desconocido recibe 400. Ya se puede crear una llave con todos los scopes; antes se rechazaban más de 12.
  • api: El límite por IP de 600 solicitudes por minuto para requests con API key ahora aplica solo en las rutas que aceptan API key. En las demás, como el inicio de sesión, un header con forma de API key ya no sube el límite: siguen en 100 por minuto por IP.
Novedades
@timbrix/cli v1.11.0 · @timbrix/mcp v0.8.0 · @timbrix/sdk v2.9.0
Novedades y mejoras
  • @timbrix/cli, @timbrix/sdk: Request log de la API: cada respuesta trae el header X-Request-Id, y las requests hechas con tus API keys (incluidos los rechazos de una llave revocada, vencida, sin permiso o desde una IP no permitida) se pueden consultar durante 30 días. El SDK agrega requestLogs.list() y requestLogs.get(), y la CLI los comandos timbrix logs list y timbrix logs get. Nuevo scope de API key read:request-logs. El tipo ApiKeyScope del SDK agrega además read:customers, write:customers, read:products y write:products, que la API ya aceptaba.
  • @timbrix/cli, @timbrix/mcp, @timbrix/sdk: Registro del canal de origen de cada CFDI: el SDK envía X-Timbrix-Client (opción client, por defecto sdk), el servidor MCP se identifica como mcp y la CLI como cli. Nuevos campos channel en facturas, filtro channel en invoices.list() y cfdiByChannelThisMonth en invoices.usage(). Los tipos Invoice, InvoiceListItem y CfdiUsage agregan esos campos como requeridos; si construyes estos objetos en tus mocks, agrégalos. Corrige además que el SDK perdía los headers por defecto en invoices, customers y products cuando no se pasaba organizationId.
Novedades
@timbrix/cli v1.10.2 · @timbrix/mcp v0.7.3 · @timbrix/sdk v2.8.2 · api v1.20.0 · docs v1.15.2 · web v1.16.2
Novedades y mejoras
  • @timbrix/cli, @timbrix/sdk, api, docs, web: Cancelaciones: se registran antes de enviarlas al PAC y se concilian si no se pudo confirmar el resultado (cancellationStatus: "en_proceso", error PAC_CANCEL_UNCONFIRMED). Un rechazo del SAT ya no marca la factura como cancelada (PAC_CANCEL_REJECTED).
NovedadesCorrecciones
@timbrix/cli v1.10.1 · @timbrix/mcp v0.7.2 · @timbrix/sdk v2.8.1 · api v1.19.0 · docs v1.15.1 · web v1.16.1
Novedades y mejoras
  • api: conciliación automática de timbrados no confirmados; nuevo error PAC_STAMP_PENDING
  • web: cada factura emitida desde el panel lleva su propia idempotencyKey y un mensaje claro mientras se confirma el timbrado
Correcciones
  • api: si el CFDI se timbró pero no se pudo guardar, ya no se responde 201 con una factura inexistente
  • sdk: código de error PAC_STAMP_PENDING
  • docs: comportamiento de PAC_STAMP_UNCONFIRMED y de los reintentos con idempotencyKey
NovedadesCorrecciones
api v1.18.1 · landing v0.9.1 · web v1.16.0
Novedades y mejoras
  • web: re-aceptar el Aviso de Privacidad y los Términos también con una organización ya creada
Correcciones
  • api,web: invitaciones de punta a punta. Invitar ya no falla al revisar el límite de miembros del plan; el invitado puede aceptar (desde el enlace del correo o el onboarding) y rechazar; se respeta el límite de miembros al aceptar y un doble clic no duplica la membresía
  • api: índices compuestos para el listado de facturas, el conteo de consumo y los reintentos de webhooks; una persona ya no puede quedar dos veces en la misma organización
  • landing,web: Aviso de Privacidad y Términos vigentes, con el responsable como persona física
  • api: la conexión con el PAC exige HTTPS; se documentan las URLs nuevas
NovedadesMejoras internas
@timbrix/cli v1.10.0 · @timbrix/mcp v0.7.1 · @timbrix/sdk v2.8.0 · api v1.18.0 · docs v1.15.0 · web v1.15.0
Novedades y mejoras
  • api,sdk,cli: status en POST /invoices y GET /invoices/:uuid (y Invoice.status del SDK) ahora es el estado fiscal real, vigente o cancelado (antes siempre "valid", incluso para CFDI cancelados), con los nuevos campos cancellationStatus y cancellationDesynced. Si tu integración compara contra "valid", cámbiala a "vigente"
  • web: estado real en InvoiceResult y no sustituir un CFDI cancelado
  • cli: mostrar el estado real y la cancelación en invoices get
  • sdk: tipar el estado real del CFDI en Invoice
  • api: devolver el estado fiscal real en POST y GET /invoices
Mejoras internas
  • api: extraer la regla de estado de cancelación a un helper de dominio
  • @timbrix/cli: Updated dependencies [9720bda]
  • @timbrix/cli: @timbrix/sdk@2.8.0
NovedadesCorrecciones
@timbrix/cli v1.9.0 · @timbrix/mcp v0.7.0 · @timbrix/sdk v2.7.0 · api v1.17.0 · docs v1.14.0 · web v1.14.0
Novedades y mejoras
  • sdk,cli,mcp,docs: relatedCfdis y flujo de sustitución
  • web: flujo Sustituir factura y cancelación por sustitución
  • api: exponer relatedCfdis y substitutedBy en lista y detalle
  • api: validar relación 04 y fecha del sustituto antes de cancelar con motivo 01
  • api: emitir CFDI sustituto con TipoRelacion 04
  • api: contrato relatedCfdis y reglas de sustitución en el resolver
  • api: tabla invoice_related_cfdis y lectura de relaciones
Correcciones
  • api: rechazar sustituta con cancelación en proceso
  • api: presentar 04 solo en I/T como límite de Timbrix, no regla del SAT
  • api: normalizar fechas en la pre-validación 208 y UUID de Egreso en mayúsculas
  • api: enviar UUID y folio de sustitución en mayúsculas al cancelar
  • api: prepared statements off con pooler y verificar persistencia
  • api: success:false del PAC es respuesta explícita, no timbrado ambiguo
  • api: no reintentar timbrados ambiguos y tolerar salida del SDK antes del JSON
  • api: CfdisRelacionados como arreglo de nodos para el SDK CFDI 4.0
  • api: normalizar UUID fiscal a minúsculas en lectura y escritura
  • api: comparación de UUID fiscal sin distinguir mayúsculas
  • web: cerrar huecos del flujo de sustitución
  • api: endurecer sustitución y cancelación motivo 01
  • web: aviso neutral al cancelar la original desde el diálogo de éxito
  • @timbrix/cli: Updated dependencies [1e70830]
  • @timbrix/cli: @timbrix/sdk@2.7.0
  • @timbrix/mcp: Updated dependencies [1e70830]
  • @timbrix/mcp: @timbrix/sdk@2.7.0
NovedadesCorrecciones
@timbrix/cli v1.8.0 · @timbrix/mcp v0.6.2 · @timbrix/sdk v2.6.0 · api v1.16.0 · docs v1.13.0 · web v1.13.0
Novedades y mejoras
  • sdk,cli,docs: eventos de webhook trial.*
  • web: notificar conversión de trial al API y eventos trial.* en la UI
  • api: webhooks trial.* y TriggerTrialWebhooksHandler
  • api: endpoint interno para reportar conversión de trial
  • api: MarkTrialConvertedCommand con claim idempotente
  • api: el cron del trial publica trial.ending_soon y trial.expired
  • api: eventos de dominio del trial y regla de trial.ending_soon
  • api: columnas y claims para webhooks del trial
  • sdk: uploadCertificates/deleteCertificates en organizations
Correcciones
  • api,web: enum de Swagger y endurecimiento de la notificación de conversión
  • @timbrix/cli: Updated dependencies [79ac932]
  • @timbrix/cli: Updated dependencies [9a67516]
  • @timbrix/cli: @timbrix/sdk@2.6.0
Correcciones
@timbrix/cli v1.7.1 · @timbrix/mcp v0.6.1 · @timbrix/sdk v2.5.1 · api v1.15.1 · docs v1.12.1 · web v1.12.1
Correcciones
  • @timbrix/mcp, @timbrix/sdk, api, docs, web: Facturar con productId respeta taxIncluded, taxability y localTaxes del producto: el servidor calcula valor unitario e importe (IVA incluido desglosado, solo IVA a tasa), amount pasa a ser opcional con productId (tolerancia de $0.01), se valida la congruencia ObjetoImp/impuestos en cada concepto y al guardar productos, y los impuestos locales se rechazan hasta soportar el complemento implocal.
NovedadesCorreccionesMejoras internas
@repo/ui v0.3.0 · @timbrix/cli v1.7.0 · @timbrix/mcp v0.6.0 · @timbrix/sdk v2.5.0 · api v1.15.0 · docs v1.12.0 · web v1.12.0
Novedades y mejoras
  • monorepo: live production-readiness gate + sandbox dashboard upgrades
  • mcp: add dateFrom/dateTo/rfcReceptor filters to timbrix_listar_cfdi
  • cli: eventos de webhook certificate.*
  • sdk: eventos de webhook certificate.*
  • web: eventos de webhook de CSD en el diálogo de creación
  • api: webhooks certificate.* y TriggerCertificateWebhooksHandler
  • api: cron diario de vencimiento de CSD
  • api: eventos de dominio de CSD publicados al subir/eliminar
  • api: consulta y claim de alertas de vencimiento de CSD
  • api: resolver puro de umbral de vencimiento de CSD
  • api: columna expiry_alert_threshold_sent en organization_certificate
  • @timbrix/mcp: ## Bug Fixes
  • api,web: detect and flag sustained abusive CFDI usage
  • web: Updated dependencies [fa17694]
  • web: @repo/ui@0.3.0
Correcciones
  • web: sandbox dashboard Quick Start examples 400 on copy-paste
  • api: treat a CSD with no expiration date as not valid
  • web: show ivaIncomplete warning on the Retenciones card too
  • web: validate reports page searchParams with Zod
  • web: stream report exports instead of base64 data: URLs
  • sdk: explicit undefined guard for report/export searchParams
  • api: dedicated throttle on the fiscal report PDF export endpoint
  • api: publicar certificate.deleted antes de pasos secundarios
Mejoras internas
  • api: extraer WebhookDispatcher del trigger de facturas
  • @timbrix/cli: Updated dependencies [fa17694]
  • @timbrix/cli: Updated dependencies [27f54d4]
  • @timbrix/cli: @timbrix/sdk@2.5.0
Novedades
@timbrix/mcp v0.5.0
Novedades y mejoras
  • @timbrix/mcp: todas las herramientas declaran si son de solo lectura o destructivas (readOnlyHint / destructiveHint), para que el cliente MCP pida confirmación antes de timbrar o cancelar.
  • @timbrix/mcp: server.json para publicar el servidor en el registro oficial de MCP.
Novedades
api v1.14.3 · landing v0.9.0
Novedades y mejoras
  • api: nuevo evento de webhook invoice.cancellation_pending, que se emite cuando una cancelación queda en espera de que el receptor la acepte.
  • api: la referencia de la API en la documentación se genera directamente de la especificación OpenAPI de producción, así que siempre refleja los endpoints vigentes.
  • web: Aviso de Privacidad (LFPDPPP) publicado, aceptación explícita al registrarse y formulario para ejercer derechos ARCO.
Correcciones
api v1.14.2 · web v1.11.1
Correcciones
  • api: el nodo de impuestos globales se envía con el formato correcto al timbrar.
  • web: los enlaces a documentación, soporte y correo apuntan a timbrix.mx.
NovedadesCorrecciones
Onboarding y MCP
Novedades y mejoras
  • web: onboarding guiado según tu perfil (desarrollador, pyme o agentes de IA), con los pasos que aplican a cada caso.
  • @timbrix/mcp: confirmación obligatoria (requiere_confirmacion) antes de timbrar CFDI de alto valor desde un agente de IA.
  • web: correos de acompañamiento durante el trial en los días 3, 10 y 14.
Correcciones
  • api: los errores del sandbox (por ejemplo, CFDI40102) muestran la causa real en lugar de un error genérico.
NovedadesCorrecciones
Webhooks y SDK v1
Novedades y mejoras
  • api: webhooks para eventos de timbrado, cancelación y errores, con reintentos automáticos.
  • @timbrix/sdk: errores tipados, pruebas y documentación completa para la v1 del SDK de JavaScript/TypeScript.
Correcciones
  • api: las exportaciones CSV de reportes fiscales neutralizan fórmulas, para evitar inyección al abrirlas en Excel.
Novedades
Reportes fiscales
Novedades y mejoras
  • Reportes fiscales básicos y listado de CFDI con totales por periodo, disponibles en la web, la API, el SDK y el CLI.
Novedades
Alertas de consumo
Novedades y mejoras
  • Alertas al llegar al 70%, 90% y 95% de los CFDI incluidos en tu plan, con el costo proyectado de excedentes.
Novedades
Programa de partners
Novedades y mejoras
  • Programa de referidos para contadores y despachos contables.
Cambios importantesNovedades
@timbrix/sdk v2.0.0
Cambios importantes
  • api: facturas, clientes y productos tienen una sola ruta por acción, sin organizationId en la URL. Con una API key, la organización se resuelve desde la llave. Con sesión de usuario, se envía en el header X-Organization-Id.
  • @timbrix/sdk: organizationId pasa a ser el último parámetro, y es opcional, en invoices, customers y products. Si hoy lo pasas como primer argumento, muévelo al final u omítelo si usas una API key.
Novedades y mejoras
  • api: envío del CFDI (XML y PDF) por correo electrónico al receptor.
Novedades
MCP Server y OpenAPI
Novedades y mejoras
  • @timbrix/mcp: primera versión del MCP Server, para timbrar, listar y cancelar CFDI y consultar tu saldo desde Claude, Cursor u otro cliente MCP.
  • api: especificación OpenAPI pública en /api/openapi.json y /api/openapi.yaml.
NovedadesCorrecciones
Sandbox para developers
Novedades y mejoras
  • Sandbox para desarrolladores con PAC de pruebas: timbra sin costo y sin validez fiscal mientras integras.
  • api: vista previa del PDF de un CFDI antes de timbrarlo.
Correcciones
  • api: los CFDI timbrados con retenciones globales se leen correctamente.
NovedadesCorrecciones
Suscripciones y descargas
Novedades y mejoras
  • Suscripciones con Stripe: planes Starter, Pro y Business, con límite de CFDI y de peticiones a la API según el plan.
  • Descarga individual del XML y el PDF de cada comprobante.
Correcciones
  • Se corrigió un cobro duplicado en la suscripción.
  • El PDF del CFDI incluye el logo y el color de marca de tu organización.
  • El trial de 14 días bloquea la emisión al vencer y envía sus recordatorios a tiempo.
Novedades
PDF de CFDI
Novedades y mejoras
  • Generación del PDF (representación impresa) de cada CFDI timbrado.
NovedadesCorrecciones
Cancelación y sustitución
Novedades y mejoras
  • Cancelación de CFDI ante el SAT con los cuatro motivos oficiales, y sustitución vinculando el CFDI nuevo al cancelado por UUID.
Correcciones
  • CFDI a RFC genéricos (público en general): el domicilio fiscal del receptor coincide con el lugar de expedición, como exige la regla CFDI40149.
Novedades
Egreso y Traslado
Novedades y mejoras
  • Emisión de CFDI 4.0 tipo Egreso (notas de crédito) y Traslado, en la web, la API, el SDK y el CLI.
  • Validación de que el certificado (.cer) y la llave privada (.key) del CSD corresponden entre sí antes de subirlos.
NovedadesCorrecciones
Emisión de CFDI Ingreso
Novedades y mejoras
  • Emisión, timbrado y listado de CFDI 4.0 tipo Ingreso.
  • Catálogo SAT de productos y unidades con autocompletado e importación de productos por CSV.
Correcciones
  • Seguridad: cada petición con sesión de usuario verifica que perteneces a la organización a la que accede.
Novedades
Validación fiscal
Novedades y mejoras
  • Validación de RFC, uso de CFDI y régimen fiscal del receptor antes de timbrar, para detectar errores antes de enviarlos al SAT.