跳至主要内容
产品详细信息以英文显示。翻译即将推出。
Carrier Shipping Rate Rules & Markup Engine for Odoo — A build-to-order Odoo module that layers weight/zone/value-based shipp — 1/1示意预览

A build-to-order Odoo module that layers weight/zone/value-based shipping rules,

free-shipping thresholds, handling surcharges and per-carrier markups on top of your delivery carriers.

ECOSIRE scopes, builds, installs and supports it for you.

什么是 Carrier Shipping Rate Rules & Markup Engine for Odoo?

A build-to-order Odoo module that layers weight/zone/value-based shipping rules, free-shipping thresholds, handling surcharges and per-carrier markups on top of your delivery carriers. ECOSIRE scopes, builds, installs and supports it for you. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

核心功能

`shipping.rate.rule` model with weight-band, order-value-band and destination-zone conditions evaluated by `sequence` priority for deterministic resolution
Overrides the standard `delivery.carrier` `rate_shipment()` / `_get_price_available()` so rules feed website checkout, `sale.order` and delivery orders through one code path
Per-carrier markup as fixed amount or margin percentage applied on top of live rates returned by real-time connectors (DHL/UPS/FedEx/`base_delivery_carrier_label`)
Zone matching against `res.country`, `res.country.group` and state, so region-specific rates and remote-area surcharges resolve from the delivery address
Free-shipping thresholds scoped by zone and carrier, written as a proper delivery line so tax and margin reporting stay correct
Promo/free-shipping time windows driven by `ir.cron` automated actions with start/end dates
Stackable handling-fee and surcharge rule type (fuel, oversize, insurance) applied after the base carrier rate
Compute methods decorated with `@api.depends` recalculate on cart total, weight or address change — no stale prices at checkout
Multi-company safe via `ir.model.access.csv` access rights plus record rules on the rule and carrier scope
Weight source configurable per rule (product weight, packaging weight, or volumetric/dimensional weight) with rounding controls
Currency-aware bands and markups that respect the order's currency and company pricelist
Backend rule-tester view (XML/OWL) to preview the applied rule and final price for a sample weight/zone/value before go-live
Rate decisions logged for audit — which rule fired, base cost, markup and surcharge components
Honored identically by XML-RPC / JSON-RPC callers so external order systems get the same computed shipping price
Fallback ordering so that when no rule matches, the carrier's native pricing is used instead of a hard failure

按需定制,全程代劳

无需自行搭建——由 ECOSIRE 构建、安装并提供支持的可用应用。

  1. 1

    您下单

    以一次性构建价格开始。我们在启动时与您共同确定范围。

  2. 2

    我们构建与安装

    ECOSIRE 在您的 Odoo 上构建、配置并安装。

  3. 3

    上线 + 支持

    约一个工作周内上线,并包含两周上线支持。我们交付的代码中的缺陷免费修复。

技术规格

Odoo 兼容性
Odoo 17, Odoo 18, Odoo 19
版本
企业版和社区版
许可证
许可证需要确认
Python 要求
Python 3.10+
数据库
PostgreSQL 12+

关于此产品

Odoo merchants control shipping margin one carrier at a time, and it rarely holds up. The stock delivery app gives you delivery.carrier with a "Based on Rules" pricing type, but its rules are flat variable/operator/value rows scoped to one carrier — there is no cross-carrier markup layer, no free-shipping threshold that varies by region, no handling fee that stacks on top of the raw carrier quote, and no way to apply a margin percentage to what a real-time carrier connector (base_delivery_carrier_label, DHL, UPS, FedEx) returns at checkout. Merchants end up editing dozens of carrier records by hand, hard-coding shipping products, or eating negative margin on heavy or remote-zone orders. Native runs out of road exactly where shipping stops being a fixed price and starts being a policy.

This module adds a dedicated rule engine that evaluates on top of your existing carriers instead of replacing them. We introduce a shipping.rate.rule model (models.Model) with fields for weight bands, order value bands, destination zone (linked to res.country / res.country.group / state), carrier scope, and a priority sequence so overlapping rules resolve deterministically. A compute method decorated with @api.depends recalculates the shipping price whenever the cart total, weight, or delivery address changes, and we override the carrier's rate_shipment() / _get_price_available() so the engine feeds Odoo's standard checkout, sale order, and delivery flow — the customer sees one final number, correctly, in both the eCommerce checkout and back-office Sales quotations. Per-carrier markup is applied as either a fixed amount or a margin percentage against the live carrier cost, so real-time rates from a connector still carry your margin.

Free-shipping thresholds are first-class: define "free over X in zone Y for carrier Z", with optional promo windows driven by Odoo ir.cron automated actions, and the engine writes the discount as a proper delivery line so tax and reporting stay clean. Handling fees and surcharges (fuel, oversize, remote-area) are their own rule type that stacks after the base rate. Everything is exposed through backend views (XML list/form with an OWL-driven rule tester where useful), guarded by ir.model.access.csv plus record rules for multi-company setups, and every rate decision is auditable. Because it hooks the standard carrier interface, the same rules are honored by the website checkout, the sale.order back office, and any integration calling in over XML-RPC or JSON-RPC.

This is a build-to-order engagement, not an instant download. We start with a short scoping call to map your carriers, zones, and margin policy, then build the module against your target version — Odoo 17.0, 18.0, or 19.0, Community or Enterprise (we flag any Enterprise-only carrier connector dependencies up front). Typical delivery is one working week from confirmed scope. You get the installable source, UAT on a staging database, a rollback plan, and a post-go-live support window — and you own the git repository at handover.

你得到什么

  • Installable module source code built for your exact Odoo version (17.0, 18.0 or 19.0), Community or Enterprise
  • Installation and configuration on your environment, including carrier scoping and initial rule set
  • Technical documentation — model/field reference, override points, and how the rule engine hooks the carrier interface
  • End-user guide plus a live training session for the staff who will maintain rules, thresholds and markups
  • UAT on a staging database with sign-off scenarios, plus a documented rollback plan
  • Post-go-live support window for bug fixes and configuration questions
  • Full git repository handover — you own the source and history
  • Data/configuration import of your existing zones, thresholds and per-carrier margin policy

这是给谁的

E-commerce Operations Manager

Runs the Odoo website store and needs checkout shipping prices that protect margin per zone and per carrier without editing carrier records by hand every time rates change.

Finance / Margin Owner

Owns shipping P&L and wants an auditable markup and surcharge policy — margin percentage on live carrier rates, remote-area surcharges, and free-shipping thresholds that don't quietly erode profit.

Logistics / Fulfilment Lead

Manages multiple carriers and zones and needs weight-band and dimensional-weight rules that reflect real freight cost, with deterministic rule priority so quotes are predictable.

Odoo Administrator / Integrator

Maintains the instance and integrations, needs a clean module that overrides the standard carrier interface, respects multi-company record rules, and behaves consistently over XML-RPC/JSON-RPC.

Carrier Shipping Rate Rules & Markup Engine for Odoo 如何比较

标准伊科西尔定制建造竞争对手Odoo 原生
Cross-carrier markup layerFixed or margin-% markup on top of any carrier, incl. live ratesPossible but you build and maintain the engineUsually single-carrier, rarely margin-% on live ratesNone — rules are per-carrier only
Free-shipping thresholds by zone/carrierFirst-class, with promo windows via ir.cronBuildable to spec, added dev timeOften global threshold onlyFree_over is a flat per-carrier flag
Handling fees & surchargesStackable surcharge rule type (fuel, oversize, remote)Custom fields and logic you designLimited or bundled into base rateNot supported as a separate layer
Zone / region matchingCountry, country-group and state driven from addressWhatever you model yourselfVaries; often country-level onlyBasic destination conditions in rules
Fit to your version & editionBuilt for your 17/18/19, Community or EnterpriseYou control it, at full build costDepends on vendor's version coverageWhatever ships in that edition
Support & ownershipSupport window + full git repo handoverYours to own and maintainVendor SLA, no source ownershipCommunity/Enterprise support only
Auditability of rate decisionsLogs which rule fired, base cost, markup, surchargeIf you build loggingTypically opaqueNo rule-level audit trail
Delivery modelBuild-to-order, one working week from confirmed scopeLonger — full spec, build, test cycleInstant download, generic fitAlready installed, limited capability

关于Carrier Shipping Rate Rules & Markup Engine的常见问题

Is this a ready-made app I can download and install today?

No. This is a build-to-order engagement. ECOSIRE builds the module against your target Odoo version and your carrier/zone/margin policy, then installs and supports it. There is no instant apps.odoo.com download for this.

How long does delivery take?

Typical delivery is one working week from confirmed scope. It starts with a short scoping call to map your carriers, zones, thresholds and margin rules; the timeline firms up once that scope is signed off. Larger multi-company or multi-connector setups sit at the upper end.

Which Odoo versions and editions are supported?

Odoo 17.0, 18.0 and 19.0, both Community and Enterprise. We build against your exact version. If your rules depend on an Enterprise-only carrier connector, we flag that during scoping so there are no surprises.

Does it work with real-time carrier rates from DHL, UPS or FedEx?

Yes. Because the engine overrides the standard carrier interface (`rate_shipment` / `_get_price_available`), it applies your markup or margin percentage on top of the live rate a connector returns, so real-time quotes still carry your margin at checkout.

Will it apply correctly on both the website checkout and back-office quotations?

Yes. It hooks Odoo's standard carrier pricing path, so the same rules are honored in the eCommerce checkout, in `sale.order` quotations in the back office, and by any external system calling in over XML-RPC or JSON-RPC.

What about support and updates after go-live?

You get a post-go-live support window for bug fixes and configuration questions, and you receive the full git repository at handover so you own the code. Version upgrades and feature additions can be scoped as follow-on work.

How do overlapping rules resolve — could two rules fight over one order?

No. Every rule carries a `sequence` priority, so overlapping conditions resolve deterministically to the highest-priority match. If no rule matches, the carrier's native pricing is used as a fallback rather than failing.

申请报价

Carrier Shipping Rate Rules & Markup Engine

A build-to-order Odoo module that layers weight/zone/value-based shipping rules, free-shipping thresholds, handling surcharges and per-carrier markups on top of your delivery carriers. ECOSIRE scopes, builds, installs and supports it for you.

  • `shipping.rate.rule` model with weight-band, order-value-band and destination-zone conditions evaluated by `sequence` priority for deterministic resolution
  • Overrides the standard `delivery.carrier` `rate_shipment()` / `_get_price_available()` so rules feed website checkout, `sale.order` and delivery orders through one code path
  • Per-carrier markup as fixed amount or margin percentage applied on top of live rates returned by real-time connectors (DHL/UPS/FedEx/`base_delivery_carrier_label`)
  • Zone matching against `res.country`, `res.country.group` and state, so region-specific rates and remote-area surcharges resolve from the delivery address

申请报价

告诉我们您对 Carrier Shipping Rate Rules & Markup Engine 的需求,我们将发送价格、许可选项和量身定制的方案,通常在一个工作日内。

现在无需付款。此操作会向我们的团队发送报价请求——我们会通过邮件跟进价格和后续步骤。