Skip to main content
Product details are displayed in English. Translations coming soon.
Cancel Landed Cost for Odoo — A build-to-order Odoo module that lets you cancel, reset to draft, and delete posted landed cos — 1/1مثالی پیش منظر

A build-to-order Odoo module that lets you cancel, reset to draft,

and delete posted landed cost records while cleanly reversing the stock valuation and accounting entries they created.

ECOSIRE scopes, builds, installs, and supports it for your Odoo 17, 18, or 19 environment.

Cancel Landed Cost for Odoo کیا ہے؟

A build-to-order Odoo module that lets you cancel, reset to draft, and delete posted landed cost records while cleanly reversing the stock valuation and accounting entries they created. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17, 18, or 19 environment. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

اہم خصوصیات

Adds a first-class `cancel` state and guarded reset-to-draft transition to `stock.landed.cost` via model inheritance
Generates proper accounting reversals through Odoo's native `account.move._reverse_moves()` rather than deleting journal items, keeping the GL balanced and auditable
Unwinds or neutralizes the `stock.valuation.layer` rows the landed cost created, so inventory valuation returns to its true pre-application state
Restores each affected stock move's additional landed-cost amount to its original value on cancel
Button-driven `action_cancel`, `action_reset_to_draft`, and guarded `action_unlink` methods wired into inheriting form views (XML/OWL)
`@api.constrains` guards that block cancellation when an irreversible downstream dependency exists, preventing valuation corruption
Dedicated security group plus `ir.model.access.csv` and record rules so only authorized inventory/finance roles can cancel posted costs
Optional approval step before a posted landed cost can be cancelled, driven by an automated action or `mail.activity`
Full chatter audit trail: every cancel, reset, and delete is logged with user, timestamp, and reason
Correct handling of real-time (perpetual) vs manual/periodic valuation categories, and Anglo-Saxon vs Continental accounting
Multi-currency-aware reversals that mirror the original landed cost's currency and rate
`cancel`/`reset` actions exposed over the XML-RPC/JSON-RPC API for integrations and automated flows
Optional QWeb report / smart button surfacing the reversal move and affected valuation layers for finance review
Packaged with a correct `__manifest__.py` (version, depends on `stock_landed_costs` and `account`) for Odoo 17.0, 18.0, or 19.0

آرڈر پر تیار، مکمل طور پر آپ کے لیے

خود سیٹ اپ کی ضرورت نہیں — ایک کام کرنے والی ایپ جو ECOSIRE بناتا، انسٹال اور سپورٹ کرتا ہے۔

  1. 1

    آپ آرڈر دیتے ہیں

    ایک بار کی تعمیر کی قیمت سے آغاز کریں۔ آغاز پر ہم آپ کے ساتھ مل کر دائرہ کار طے کرتے ہیں۔

  2. 2

    ہم بناتے اور انسٹال کرتے ہیں

    ECOSIRE اسے آپ کے Odoo پر بناتا، ترتیب دیتا اور انسٹال کرتا ہے۔

  3. 3

    لائیو + معاونت

    آپ تقریباً ایک کاروباری ہفتے میں لائیو ہو جاتے ہیں، گو لائیو کے بعد دو ہفتوں کی معاونت کے ساتھ۔ ہمارے فراہم کردہ کوڈ کی خرابیاں مفت درست کی جاتی ہیں۔

تکنیکی تفصیلات

Odoo ہم آہنگی
Odoo 17, Odoo 18, Odoo 19
ایڈیشنز
Enterprise اور Community
لائسنس
لائسنس کی تصدیق درکار ہے
Python کی ضرورت
Python 3.10+
ڈیٹابیس
PostgreSQL 12+

اس مصنوع کے بارے میں

In standard Odoo, a landed cost (stock.landed.cost) is intentionally hard to undo once validated. The moment you post it, Odoo allocates the freight, duty, insurance, and handling amounts across the target stock moves, writes the adjustment onto the stock.valuation.layer records, and — for real-time (perpetual) valuation categories — posts a journal entry that debits inventory and credits the landed-cost expense/clearing account. There is no native "cancel" button and no supported reset-to-draft path. When a warehouse or finance user picks the wrong receipt, keys a duty amount off by a decimal, applies a cost to the wrong product category, or simply validates a duplicate, the only sanctioned fix Odoo offers is to book a second, opposite landed cost to net it out. That leaves a permanent trail of offsetting records, inflated valuation layers, and reconciliation noise that auditors and month-end close teams have to explain every period.

This is where a typical off-the-shelf apps.odoo.com module and Odoo core both run out of road: core gives you no cancel action at all, and generic marketplace add-ons frequently just flip a state flag without truly reversing the downstream valuation layers and journal items, which silently corrupts your inventory valuation. ECOSIRE builds a made-to-order module that adds a first-class, auditable cancellation lifecycle to stock.landed.cost. We introduce a controlled cancel state and a guarded reset-to-draft path on the model, and — critically — we generate proper accounting reversals rather than deletions: the module creates a reversing account.move (using Odoo's native reversal mechanics) so the general ledger stays balanced and traceable, unwinds or neutralizes the stock.valuation.layer rows the cost created, and restores the affected stock moves' additional landed-cost amounts to their pre-application values. Deletion of a landed cost is permitted only from a safe state and only when no irreversible downstream dependency exists.

Technically, the work centers on subclassing stock.landed.cost (and its stock.valuation.adjustment.lines) with new state transitions guarded by @api.depends/@api.constrains logic, a set of button-triggered methods (action_cancel, action_reset_to_draft, action_unlink_guard) wired into inheriting XML/OWL form views, and reversal routines that call into account.move._reverse_moves() and the valuation-layer APIs so we never bypass Odoo's own accounting engine. Access is locked down through ir.model.access.csv plus record rules and a dedicated security group, so only authorized inventory/finance roles can cancel a posted cost — with an optional approval step via an automated action or activity. Every cancellation is logged to the chatter and (optionally) a mail.activity, giving you a complete audit trail. We respect Community vs Enterprise differences (Anglo-Saxon vs Continental accounting, real-time vs manual/periodic valuation, and multi-currency landed costs) and expose the cancel/reset actions over the XML-RPC/JSON-RPC API so your integrations and automated flows can call them programmatically. The module ships tagged for Odoo 17.0, 18.0, and 19.0 with the appropriate __manifest__.py version and dependency pins for the version you run.

Because this is build-to-order, nothing is sold as an instant download. After a short scoping call we confirm your exact requirements — Odoo version, edition, valuation method, approval workflow, and any localization or multi-company nuances — then build, test on a staging copy of your database, and deploy behind a UAT sign-off with a rollback plan. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); multi-company deployments, additional approval/automation logic, deep localization requirements, or reconciliation of large volumes of historical landed-cost data increase the quoted scope. You receive a fixed quote after the scoping call — never a surprise on the invoice.

What you get

  • Installable, commented source code for the module version built to your Odoo release (17.0/18.0/19.0)
  • Installation and configuration on your environment, including security group and access-rule setup
  • Technical documentation: model changes, state machine, reversal logic, and security design
  • End-user guide plus a live training session for your inventory and finance teams
  • UAT on a staging copy of your database with a documented rollback plan
  • Post-go-live support window for defect fixes and questions
  • Git repository handover with full commit history and tagged release
  • Configuration notes covering valuation method, approval workflow, and multi-company behavior

Who this is for

Inventory / Warehouse Manager

Runs goods receipts and applies freight and duty as landed costs daily. Needs a safe, reversible way to undo a mistakenly validated cost without booking confusing offsetting entries that clutter the receipt history.

Finance Controller / Accountant

Owns month-end close and inventory valuation accuracy. Wants cancellations that create clean, traceable reversing journal entries and restore valuation layers, so the GL and stock valuation always reconcile.

Odoo Administrator / ERP Lead

Maintains the Odoo deployment and its integrations. Needs the cancel/reset capability exposed over the API, locked to the right security group, and delivered as clean, version-pinned code they can maintain.

External Auditor / Compliance Reviewer

Reviews inventory and cost adjustments. Requires a complete audit trail showing who cancelled what, when, and the exact reversing entries — not silent state flips or deleted records.

How Cancel Landed Cost for Odoo Compares

CriterionECOSIRECustom BuildCompetitorOdoo نیٹو
Cancel a posted landed costFirst-class cancel state with true reversalPossible but you design and test it yourselfOften a state flag only, no real reversalNo cancel action exists at all
Accounting reversalBalanced reversing move via native `_reverse_moves()`Depends on your team's accounting rigorFrequently deletes or skips journal itemsOnly by booking an offsetting landed cost
Valuation layer integrityUnwinds `stock.valuation.layer` cleanlyEasy to miss, risking corrupted valuationInconsistent; may leave stale layersLayers remain; nets out via second cost
Security & approvalDedicated group, record rules, optional approvalWhatever you build inUsually minimal access controlNo cancellation to control
Audit trailFull chatter log of who, when, whyOnly if you implement itOften absent or partialOffsetting records only, no context
Odoo version fitBuilt and tested for your 17/18/19 releaseYour responsibility to maintainMay lag or not match your versionN/A
Delivery & riskStaging UAT + rollback plan + support windowFull project risk on your teamInstall-and-hope, no tailoringNo change, but no capability
Total cost of ownershipFixed quote, maintained by usHigh build + ongoing maintenance costLow upfront, hidden reconciliation costFree, but recurring manual cleanup

Frequently Asked Questions about Cancel Landed Cost

How long does delivery take?

This is a build-to-order module, not an instant download. Typical delivery is one working week from confirmed scope, depending on your Odoo version, valuation method, and any approval or multi-company requirements. We agree the timeline with you in writing after the scoping call.

Does cancelling actually reverse the accounting, or just change a status?

It genuinely reverses it. The module uses Odoo's native `account.move` reversal mechanics to post a balanced reversing journal entry, unwinds the `stock.valuation.layer` rows the cost created, and restores the affected stock moves. We never just flip a state flag and leave your valuation corrupted.

Which Odoo versions and editions are supported?

We build for Odoo 17.0, 18.0, or 19.0, Community or Enterprise. We handle edition-specific differences such as Anglo-Saxon vs Continental accounting and real-time vs manual/periodic valuation, and pin the `__manifest__.py` to your exact release.

How does pricing and scoping work?

Pricing starts from $999 (indicative, single-company base scope). Drivers such as multi-company, custom approval workflows, deep localization, or migrating large volumes of historical landed-cost data increase the quoted scope. After a short scoping call you receive a fixed quote — no surprises on the invoice.

What about support and future Odoo updates?

Every build includes a post-go-live support window for defect fixes and questions. When you upgrade to a newer Odoo version, we can re-target and re-test the module against that release as a separate scoped engagement.

Will it corrupt my existing inventory valuation?

No. Cancellation is guarded by constraints that block the action when an irreversible downstream dependency exists, and we test every scenario on a staging copy of your database under UAT before touching production, with a rollback plan in place.

Can the cancel action be triggered from our integrations?

Yes. The cancel and reset-to-draft actions are exposed over Odoo's XML-RPC/JSON-RPC API, so your external systems and automated flows can call them programmatically, subject to the same security group and record-rule permissions.

آرڈر پر تیار
Budget Management with Cost Centers
Odoo

Budget Management with Cost Centers

Plan, control and track budgets across analytic accounts and cost centers with live spend-vs-plan variance in Odoo 17/18/19.

From $999.00ابتدائی قیمت — آپ کے دائرۂ کار کے مطابق مقرر کی جائے گی
آرڈر پر تیار
CalDAV Connector
Odoo

CalDAV Connector

A build-to-order Odoo module that keeps your Odoo calendar in genuine two-way sync with external CalDAV services. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 environment.

From $999.00ابتدائی قیمت — آپ کے دائرۂ کار کے مطابق مقرر کی جائے گی
آرڈر پر تیار
Canned Replies & Snippet Library
Odoo

Canned Replies & Snippet Library

A shared, searchable library of reusable canned responses and macros that plug into Discuss, the mail compose wizard, the unified inbox and helpdesk. Built to order, installed and supported by ECOSIRE.

From $999.00ابتدائی قیمت — آپ کے دائرۂ کار کے مطابق مقرر کی جائے گی
قیمت کا تخمینہ طلب کریں

Cancel Landed Cost

A build-to-order Odoo module that lets you cancel, reset to draft, and delete posted landed cost records while cleanly reversing the stock valuation and accounting entries they created. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17, 18, or 19 environment.

  • Adds a first-class `cancel` state and guarded reset-to-draft transition to `stock.landed.cost` via model inheritance
  • Generates proper accounting reversals through Odoo's native `account.move._reverse_moves()` rather than deleting journal items, keeping the GL balanced and auditable
  • Unwinds or neutralizes the `stock.valuation.layer` rows the landed cost created, so inventory valuation returns to its true pre-application state
  • Restores each affected stock move's additional landed-cost amount to its original value on cancel

قیمت کا تخمینہ طلب کریں

ہمیں Cancel Landed Cost کے لیے اپنی ضروریات بتائیں اور ہم آپ کو قیمتیں، لائسنس کے اختیارات اور ایک مخصوص تجویز بھیجیں گے — عام طور پر ایک کاروباری دن میں۔

ابھی کوئی ادائیگی نہیں۔ یہ ہماری ٹیم کو قیمت کی درخواست بھیجتا ہے — ہم قیمت اور اگلے اقدامات کے ساتھ ای میل کے ذریعے رابطہ کریں گے۔