OdooWiki OCA HUB

Easypost Shipping OCA

delivery_easypost_oca folder_open OCA/delivery-carrier open_in_new
Inventory/Delivery Licencia: AGPL-3

Este módulo integra la API de envíos EasyPost con Odoo, proporcionando acceso a más de 100 transportistas a través de una única interfaz unificada.

¿Qué es EasyPost?

EasyPost es un agregador de API de envíos que elimina la necesidad de integraciones separadas con cada transportista. En lugar de implementar API individuales para USPS, UPS, FedEx, DHL y otros, te conectas una vez a EasyPost y obtienes acceso a todos los transportistas compatibles con tarifas prenegociadas.

Características principales

  • Cálculo automatizado de tarifas: Obtén tarifas de envío en tiempo real de múltiples transportistas y selecciona automáticamente la tarifa más baja
  • Generación de etiquetas: Genera e imprime etiquetas de envío en múltiples formatos (PDF, ZPL, EPL2)
  • Compatibilidad con múltiples transportistas: Accede a más de 100 transportistas, incluidos USPS, UPS, FedEx, DHL, Canada Post y transportistas regionales
  • Seguimiento de envíos: Seguimiento en tiempo real con actualizaciones automáticas y enlaces de seguimiento públicos
  • Gestión de múltiples paquetes: Compatibilidad con envíos con múltiples paquetes (modo individual o por lotes)
  • Verificación de direcciones: Validación automática de direcciones para reducir errores de entrega
  • Múltiples formatos de etiquetas: PDF para impresoras estándar, ZPL/EPL2 para impresoras térmicas de etiquetas
  • Entorno de prueba: Modo de prueba completo para desarrollo sin cargos ni envíos reales
  • Conversiones automáticas: Conversión de peso a onzas y conversión de divisas gestionadas automáticamente

Beneficios de usar EasyPost

  • Integración única: Una sola conexión API para todos los transportistas - no es necesario integrar cada transportista por separado
  • Selección de la tarifa más baja: Compara automáticamente las tarifas de todos los transportistas disponibles y selecciona la opción más económica
  • Tarifas prenegociadas: Acceso a tarifas de transportistas con descuento a través de los acuerdos de volumen de EasyPost
  • Complejidad reducida: Formato de respuesta de API unificado independientemente del transportista
  • Escalabilidad: Añade fácilmente nuevos transportistas sin cambios en el código
  • Pruebas sin riesgo: Entorno de prueba completo con envíos simulados

Arquitectura técnica

Este módulo implementa una arquitectura limpia y por capas:

  • Capa de lógica de negocio (delivery_carrier.py): Gestiona la lógica específica de Odoo (pedidos, pickings, precios)
  • Capa de envoltura de API (easypost_request.py): Centraliza todas las interacciones con la API de EasyPost
  • SDK de Python de EasyPost (versión 7.15.0): Biblioteca cliente oficial de EasyPost
  • Suite de pruebas completa: Pruebas 100% simuladas sin llamadas reales a la API durante las pruebas

Transportistas compatibles (a través de EasyPost)

USPS, UPS, FedEx, DHL Express, DHL eCommerce, Canada Post, APC Postal, Asendia, Australia Post, Canpar, Couriers Please, Deutsche Post, Fastway, Globegistics, Interlink Express, LaserShip, LSO, OnTrac, Parcelforce, Purolator, Royal Mail, Sendle, StarTrack y más de 80 transportistas adicionales en todo el mundo.

Casos de uso

  • Tiendas de comercio electrónico: Calcula automáticamente los costes de envío al finalizar la compra
  • Operaciones de almacén: Genera e imprime etiquetas de envío para pedidos salientes
  • Envíos con múltiples transportistas: Compara tarifas entre transportistas para minimizar los costes de envío
  • Envíos internacionales: Acceso a transportistas internacionales con verificación automática de direcciones
  • Envíos de gran volumen: Procesamiento por lotes para múltiples paquetes en transacciones únicas

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 18.0

Conecta Odoo con el servicio de envíos EasyPost para obtener tarifas en vivo de muchos transportistas, comprar etiquetas y rastrear paquetes directamente desde los pedidos de venta y los pedidos de entrega.

Este módulo añade EasyPost como método de entrega en Odoo. En un transportista de entrega eliges el método Easypost OCA y rellenas una página de configuración de Easypost con una clave de API de prueba, una clave de API de producción, el formato de etiqueta (PDF, ZPL o EPL2) y una opción para permitir la entrega en sábado.

Cuando eliges un transportista en un pedido de venta, Odoo solicita a EasyPost la tarifa más barata disponible, la convierte a la moneda del pedido y muestra el nombre del transportista. La tarifa elegida, el envío y el nombre del transportista se almacenan en el pedido de venta y se copian al pedido de entrega.

Cuando se valida el pedido de entrega, Odoo crea el envío en EasyPost, compra la etiqueta, escribe el número de seguimiento, el transportista, el servicio y el enlace de seguimiento público en el pedido de entrega, y publica un mensaje con los enlaces de seguimiento y la etiqueta adjunta. Si se utilizan varios paquetes, se crea un envío por paquete y las etiquetas se combinan en un único archivo.

Los tipos de paquete se pueden marcar como Easypost OCA con un prefijo de transportista y dimensiones en pulgadas. No se permite cancelar un envío de EasyPost desde Odoo y genera un error.

Depende de

stock_deliverymail
Modelos y campos (6)
  • ir.logging · amplía un modelo existentetype
  • sale.order · amplía un modelo existenteeasypost_oca_rate_id, easypost_oca_shipment_id, easypost_oca_carrier_name
  • stock.picking · amplía un modelo existenteeasypost_oca_rate_id, easypost_oca_batch_id, easypost_oca_carrier_id, easypost_oca_shipment_id, easypost_oca_carrier_name, easypost_oca_tracking_url, easypost_oca_carrier_service
  • delivery.carrier · amplía un modelo existentedelivery_type, is_saturday_delivery (Delivery On Saturday?), easypost_oca_test_api_key (Easypost Test API Key), easypost_oca_label_file_type (Label Format), easypost_oca_production_api_key (Easypost Production API Key), easypost_oca_delivery_multiple_packages (Delivery Multiple Packages)
  • stock.package.type · amplía un modelo existenteeasypost_oca_carrier (Carrier Prefix), package_carrier_type
  • choose.delivery.carrier · amplía un modelo existenteeasypost_oca_rate_id, easypost_oca_shipment_id, easypost_oca_carrier_name

Texto generado por IA (DeepSeek) al leer el código de la versión 18.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 2 confirmadas, 7 sin información de 9 versiones.

Fuentes · Odoo 18.0

Confirmado el 2026-11-03 en la rama 18.0 de OCA/delivery-carrier.

terminal Instalación y uso

Documentación de OCA · Odoo 18.0

Paso 1: Configurar el transportista de entrega

  • Vaya a Inventario → Configuración → Métodos de entrega
  • Cree un nuevo método de entrega o edite uno existente
  • Establezca Provider en Easypost OCA
  • En la pestaña Easypost Configuration, configure los siguientes campos:
  • Easypost Test API Key: Su clave de API de prueba del panel de EasyPost (para desarrollo y pruebas)
  • Easypost Production API Key: Su clave de API de producción (para envíos reales)
  • Label Format: Elija el formato de etiqueta según su impresora:
  • PDF (predeterminado): Formato estándar, funciona con todas las impresoras
  • ZPL: Para impresoras térmicas Zebra (impresión térmica directa)
  • EPL2: Para impresoras térmicas Eltron/Zebra heredadas
  • Delivery Multiple Packages: Seleccione la estrategia de envío para pedidos con múltiples paquetes:
  • Shipments (predeterminado): Cree un envío individual para cada paquete, cobrado por separado
  • Batch: Cree un envío por lotes con todos los paquetes en una sola transacción
  • Configure la pestaña Pricing según sea necesario (precio fijo, porcentaje o basado en fórmula)
  • Active la casilla Test Environment durante el desarrollo para usar la clave de API de prueba
  • Guarde el método de entrega

Paso 2: Configurar el empaquetado de productos (opcional)

Para obtener cálculos de envío precisos utilizando tipos de paquete específicos del transportista:

  • Vaya a Inventario → Configuración → Empaquetados de producto
  • Cree o edite un empaquetado de producto
  • Establezca Carrier en Easypost OCA
  • Configure las dimensiones del paquete: Length, Width, Height (en pulgadas)
  • Establezca Shipper Package Code para el empaquetado específico del transportista (por ejemplo, "Parcel", "FedExBox", "FlatRateEnvelope")
  • Establezca Carrier Prefix para filtrar por un transportista específico si es necesario (por ejemplo, "USPS", "FedEx")
  • Guarde el empaquetado

Paso 3: Configurar la dirección del almacén

Asegúrese de que su almacén tenga una dirección completa que se utilizará como dirección del remitente:

  • Vaya a Inventario → Configuración → Almacenes
  • Edite su almacén
  • Establezca la Address completa con todos los campos requeridos:
  • Dirección
  • Ciudad
  • Estado/Provincia
  • Código ZIP/Postal
  • País
  • Verifique que la dirección sea correcta - esta será la dirección "Ship From" en todas las etiquetas

Paso 4: Habilitar el registro de API (opcional)

Para depurar interacciones con la API y solucionar problemas:

  • Edite el transportista de entrega configurado en el Paso 1
  • Vaya a la pestaña Advanced Options
  • Active la casilla Log XML
  • Consulte los registros de solicitud/respuesta de la API en Ajustes → Técnico → Registro

Notas importantes de configuración

  • Modo de prueba vs producción: Alterne la casilla Test Environment para cambiar entre las claves de API de prueba y de producción. Pruebe siempre a fondo en modo de prueba antes de pasar a producción.
  • Unidades de peso: El módulo convierte automáticamente los pesos de los productos a onzas (requisito de EasyPost). Asegúrese de que todos los productos tengan el peso configurado.
  • Conversión de moneda: EasyPost devuelve las tarifas en USD. El módulo las convierte automáticamente a la moneda del pedido utilizando los tipos de cambio de Odoo.
  • USPS/UPS End Shipper: Estos transportistas requieren un ID de end shipper para ciertos servicios. El módulo lo crea y gestiona automáticamente - no se necesita configuración manual.
  • Seguridad de las claves de API: Mantenga segura su clave de API de producción. Nunca confirme las claves de API en el control de versiones ni las comparta públicamente.
  • Caché de tarifas: Las tarifas de EasyPost se calculan en tiempo real. Las tarifas mostradas en el momento de la cotización pueden diferir ligeramente en el momento del envío si ha pasado tiempo.

Flujo de trabajo 1: Calcular tarifas de envío en el pedido de venta

  • Cree un nuevo pedido de venta: Vaya a Ventas → Pedidos → Presupuestos → Crear
  • Añada productos al pedido (asegúrese de que los productos tengan el peso configurado)
  • Establezca el Cliente con una dirección de envío completa
  • Haga clic en el botón Add Shipping
  • En el asistente Add a shipping method:
  • Seleccione su método de entrega Easypost OCA de la lista
  • Haga clic en el botón Get Rate
  • El sistema:
  • Consultará la API de EasyPost con los detalles del pedido (peso, direcciones de origen/destino)
  • Seleccionará automáticamente la tarifa más baja de todos los transportistas disponibles
  • Añadirá una línea de envío al pedido con el nombre del transportista (p. ej., "Easypost - USPS Priority")
  • El pedido de venta ahora muestra:
  • Línea de envío con el nombre del transportista y el precio calculado
  • Datos almacenados: shipment_id, rate_id, carrier_name (para la creación posterior del envío)
  • Confirme el pedido cuando esté listo para continuar

Flujo de trabajo 2: Generar etiquetas de envío (paquete único)

  • Después de confirmar el pedido de venta, se crea automáticamente una orden de entrega
  • Vaya a Inventario → Órdenes de entrega y abra la orden de entrega
  • Haga clic en Check Availability para reservar stock
  • Establezca las cantidades Done para cada línea de producto
  • Haga clic en el botón Validate - el sistema automáticamente:
  • Creará un envío de EasyPost usando la tarifa almacenada (o calculará una nueva tarifa si ha caducado)
  • Comprará el envío (cargará a su cuenta de EasyPost)
  • Descargará la etiqueta de envío en el formato configurado (PDF/ZPL/EPL2)
  • Adjuntará la etiqueta al picking en los mensajes del Chatter
  • Establecerá el número de seguimiento en la orden de entrega
  • Encuentre la etiqueta de envío en la sección Chatter en la parte inferior
  • Haga clic en el adjunto para descargar e imprimir la etiqueta
  • Adjunte la etiqueta impresa a su paquete y envíelo

Flujo de trabajo 3: Envíos con múltiples paquetes

Si su orden de entrega contiene múltiples paquetes:

  • En la orden de entrega, después de establecer las cantidades Done
  • Use el botón Put in Pack para crear paquetes:
  • Seleccione productos para el primer paquete
  • Haga clic en Put in Pack - crea el Paquete 1
  • Repita para paquetes adicionales
  • Haga clic en Validate - el comportamiento depende de la configuración de su transportista: Modo Shipments (predeterminado):
  • Crea un envío individual de EasyPost para cada paquete
  • Cada paquete obtiene su propio número de seguimiento
  • Cada paquete se cobra por separado
  • El sistema genera un único PDF/ZPL combinado con todas las etiquetas en secuencia Modo Batch:
  • Crea un envío por lotes que contiene todos los paquetes
  • Los paquetes se compran juntos en una sola transacción
  • Puede proporcionar mejores tarifas para envíos a granel
  • Un único archivo de etiqueta combinado con todas las etiquetas de los paquetes
  • Todos los números de seguimiento se muestran en la orden de entrega (separados por comas)
  • El archivo de etiqueta combinado contiene todas las etiquetas de los paquetes - imprima y adjunte a los paquetes correspondientes

Flujo de trabajo 4: Seguir envíos

Después de la creación del envío:

  • Abra la orden de entrega
  • Haga clic en el botón/enlace Tracking en el formulario
  • Abre la página de seguimiento de EasyPost en una nueva pestaña del navegador
  • Vea el estado del envío en tiempo real, el historial de ubicaciones y la confirmación de entrega

Uso de empaques de producto para tarifas precisas

Para usar tipos de paquete específicos del transportista (cajas de tarifa plana, sobres, etc.):

  • En la orden de entrega, después de usar Put in Pack
  • Edite el registro Package creado
  • Establezca el campo Packaging en un empaque de producto configurado para EasyPost (consulte CONFIGURE.rst)
  • Las dimensiones del empaque y el código de paquete del remitente se envían a EasyPost
  • Da como resultado tarifas más precisas y garantiza la compatibilidad con el transportista

Guía de formatos de etiqueta

Elija el formato de etiqueta adecuado para su configuración de impresión:

  • Formato PDF:
  • Funciona con todas las impresoras estándar
  • Se puede previsualizar en el navegador antes de imprimir
  • Ideal para oficinas con impresoras láser/de inyección de tinta normales
  • Tamaño de etiqueta: normalmente 8.5"x11" o 4"x6"
  • Formato ZPL:
  • Para impresoras térmicas de etiquetas Zebra
  • Impresión térmica directa (no requiere tinta/tóner)
  • Común en almacenes y departamentos de envío
  • Requiere una impresora térmica compatible con ZPL
  • Formato EPL2:
  • Para impresoras térmicas Eltron heredadas y Zebra más antiguas
  • Úselo solo si su impresora no es compatible con ZPL
  • Menos común en las operaciones de envío modernas

Notas importantes de uso

  • Peso del producto requerido: Todos los productos del pedido deben tener el peso configurado. Los pedidos sin peso no pueden calcular tarifas de envío.
  • Direcciones completas requeridas: Tanto la dirección del almacén (origen del envío) como la dirección del cliente (destino del envío) deben estar completas con calle, ciudad, estado/provincia, código postal y país.
  • Envíos en modo de prueba: Los envíos creados en modo de prueba (con clave de API de prueba) no se envían realmente. Son envíos simulados con fines de prueba y no se aplican cargos.
  • No se pueden cancelar envíos: Los envíos de EasyPost no se pueden cancelar a través de Odoo. Algunos transportistas permiten reembolsos dentro de las 24 horas - use el panel de EasyPost para solicitudes de reembolso.
  • Caducidad de tarifas: Las tarifas de envío pueden cambiar entre la cotización y el envío si ha pasado mucho tiempo. El sistema recalculará automáticamente las tarifas en el momento del envío si la tarifa almacenada ha caducado.
  • Múltiples transportistas: EasyPost compara automáticamente las tarifas de múltiples transportistas (USPS, UPS, FedEx, etc.) y selecciona la tarifa más baja. Puede ver el nombre del transportista seleccionado en la línea de envío (p. ej., "Easypost - USPS Priority").
  • Actualizaciones de seguimiento: La información de seguimiento está disponible inmediatamente después de la creación del envío. Los eventos de seguimiento reales (escaneos, entrega) aparecen a medida que el transportista procesa el envío.

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.