Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Inventory
  3. 2-Step Warehouse Transfer v 19.0
  4. Sales Conditions FAQ

2-Step Warehouse Transfer

by todoo.uz https://todoo.uz
Odoo

$ 63.00

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Discuss (mail)
• Inventory (stock)
Lines of code 1793
Technical Name two_step_transfer
LicenseOPL-1
Websitehttps://todoo.uz
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Discuss (mail)
• Inventory (stock)
Lines of code 1793
Technical Name two_step_transfer
LicenseOPL-1
Websitehttps://todoo.uz
  • Description
  • License

2-Step Warehouse Transfer

One document, two chained pickings. Move stock between warehouses through the company transit location — with automatic discrepancy and over-receipt tracking, backorder support, and a single unified view of the entire operation.

Odoo 19 Inventory stock + mail Transit-based Backorder-aware Over-receipt wizard Source reconcile wizard Multi-company i18n: UZ · RU · EN Light & dark safe
2-Step Warehouse Transfer for Odoo 19

What it does

Create a single 2-Step Warehouse Transfer document and the module spawns two linked stock.picking records using standard Odoo mechanics — an outgoing transfer (source → transit) and an incoming transfer (transit → destination). The user keeps one unified view while Odoo's inventory engine handles the underlying moves.

Version 2.0.0 adds a full over-receipt anomaly workflow: when the destination receives more than was dispatched, a wizard lets the receiver accept or refuse the surplus — both choices trigger the correct reconciliation pickings automatically and notify the source dispatcher via a chatter activity.

One document, two pickings

Standard Odoo mechanics only — no custom inventory math. Source ships to transit, destination receives from transit, both sides stay linked to one parent document.

Discrepancy tracking

Difference between dispatched and received quantities computed live. Surfaced as a Discrepancy measure, a Has Discrepancy filter, and red visual cues in list and form views.

Over-receipt wizard

When a receiver validates more than dispatched, the module intercepts button_validate and asks: Accept (keep surplus at destination) or Refuse (return to source). Each choice triggers the correct reconciliation flow automatically.

Source reconcile wizard

After an accepted surplus, the source dispatcher gets a chatter activity and a Reconcile Anomalies button — to decide whether source books need a downward stock adjustment.

Backorder-aware

Partial receipts that spawn backorders automatically keep the 2-step warehouse link. The document tracks remaining quantities until every last backorder is validated.

Multi-company isolation

Global record rules scope every transfer and every line to the user's allowed companies. Each company uses its own internal transit location.

Standard permissions only

No custom security groups. Any Inventory / User creates and confirms; Inventory / Manager keeps reset-to-draft and delete rights.

Built-in analytics

List, Kanban, Form, Pivot and Graph views with summable totals for demand, discrepancy, and surplus.

Light & dark mode safe

Only Bootstrap and Odoo standard CSS classes — no hardcoded hex colors, no inline styles.

Fully localized

Uzbek, Russian, English. Every string translated — including wizard messages, anomaly state labels, and chatter notes.

⚠ Over-receipt anomaly flow (v2.0.0)

When the destination validates more units than were dispatched, the module opens the Over-Receipt Wizard:

  1. Accept surplus — destination keeps the extra units. A reconciliation picking (Inventory → Transit) rebalances transit stock. The source dispatcher receives a chatter activity and uses the Reconcile Anomalies button to close the loop.
  2. Refuse surplus — destination receives only the demanded quantity. A return picking (Transit → Source) is created automatically for the source dispatcher to validate when goods physically arrive.

Screenshots

List view — all transfers with discrepancy and surplus columns
List view. Rows are colour-coded by state and mismatch type — red for transfers with a loss (dispatched > received), orange for active over-receipt anomalies, green for clean completions. The Surplus and Discrepancy columns surface both types of mismatch at a glance. The totals row sums all measures across the filtered set.
Form view — In Transit state with over-receipt anomaly and Reconcile Anomalies button
Transfer form — In Transit with an active anomaly. Smart buttons give direct access to the outgoing picking, incoming picking, transit stock quants, and all linked pickings. The orange Reconcile Anomalies button appears in the header when at least one line has a pending over-receipt. Individual lines show their Anomaly State badge, and the totals area breaks out Surplus (Over-receipt) separately from Discrepancy. The chatter records each state change and anomaly event automatically.
Over-receipt wizard — per-line Accept or Refuse choice
Over-Receipt Wizard. Opens automatically when the receiver tries to validate quantities above demand. Each over-received product gets a per-line choice: Accept or Refuse. Products without a surplus are shown for context but need no action. Both flows are explained inline so no prior training is needed.
Source reconcile wizard — source dispatcher resolves the anomaly
Source Reconcile Wizard. Opened via the Reconcile Anomalies button by the source dispatcher. For each accepted surplus the dispatcher chooses: no source adjustment (units were already there unrecorded) or adjust source stock down by the surplus. The choice is logged in the chatter and anomaly state moves to Resolved.
All Pickings — full chain including backorder, reconciliation and return pickings
All Pickings — complete chain. The All Pickings smart button gathers every picking linked to the transfer: original outgoing, original incoming, any backorders, and auto-created anomaly reconciliation (Inventory → Transit) or return (Transit → Source) pickings. Type badges make the role of each picking immediately clear. Reconciliation and Return pickings are highlighted in orange and excluded from Done(Out) / Done(In) calculations — they exist only to keep transit stock balanced.
Pivot analytics — Demand, Discrepancy and Surplus by source and destination warehouse
Pivot analytics. Group by source and destination warehouse to see which corridor is leaking stock or generating over-receipts. Discrepancy (loss) is highlighted in red; Surplus (over-receipt) in orange. Combine with Done (In) and Done (Out) for a full lane-by-lane picture. Available as both Pivot and Graph views.

How a transfer flows

  1. Draft — pick source & destination warehouses, set scheduled date, add product lines with demand quantities.
  2. Confirm — two pickings are created (outgoing & incoming) routed through the company internal transit location.
  3. In Transit — once the outgoing picking is validated, the document switches to In Transit. The Transit smart button shows the quantity currently in the transit location.
  4. Done — once every outgoing and incoming picking (including backorders) is validated, the document closes. Any gap is preserved as a discrepancy or resolved anomaly.
  5. Cancelled / Reset — managers can cancel an open transfer (open pickings are cancelled too) and reset a cancelled transfer back to draft.

Technical specs

Odoo version19.0
Module version19.0.2.0.0
Dependenciesstock, mail
New modelstwo.step.transfer, two.step.transfer.line
Wizardstwo.step.over.receipt.wizard, two.step.source.reconcile.wizard, two.step.return.validate.wizard
Inheritedstock.picking — back-link, backorder handling, state sync, over-receipt intercept, anomaly flags
Sequence2ST/<year>/0001, year-ranged, 4-digit padding
Anomaly fieldshas_anomaly, anomaly_qty on transfer; anomaly_state, reconciled_surplus_qty, return_picking_id on line
Picking flagsis_anomaly_reconciliation, is_anomaly_return — excluded from Done calculations
Permissionsstock.group_stock_user and stock.group_stock_manager — no custom groups
Multi-companyGlobal ir.rule on transfer and transfer line
ViewsList, Kanban, Form, Search, Pivot, Graph + stat button on stock.picking
TranslationsUzbek, Russian, English — full .po files
LicenseOPL-1

Highlights

  • One unified document orchestrates the full warehouse-to-warehouse round trip
  • Discrepancy (loss) and Surplus (over-receipt) tracked as separate, independent measures
  • Over-receipt wizard intercepts excess receipts before they silently inflate destination stock
  • Accept path: auto-creates reconciliation picking and notifies source dispatcher via activity
  • Refuse path: auto-creates return picking (Transit → Source) for physical return flow
  • Source reconcile wizard closes the anomaly loop at the source warehouse
  • Backorders on either side keep the 2-step warehouse link — nothing is lost on partial receipts
  • State machine: Draft → Confirmed → In Transit → Done, plus Cancelled / Reset-to-Draft
  • Reuses standard Odoo inventory mechanics — no custom stock math, no hidden quants
  • Multi-company safe out of the box
  • Light and dark theme safe (Bootstrap utility classes only)
  • Fully translated to Uzbek, Russian and English

What's NOT included

  • No transport-management, routing or carrier integration — the module focuses on the inventory side.
  • No accounting/landed-cost layer — valuation is handled by Odoo's standard inventory valuation on the underlying pickings.
  • The transit location is the standard internal transit location already present on each company — the module does not create a new one.

Setup

  1. Install the module from your Odoo Apps menu.
  2. Make sure each company has its internal transit location configured (Odoo creates one by default). Each warehouse must also have a default Internal Transfer operation type — also configured by default.
  3. Open Inventory → Operations → 2-Step Warehouse Transfers.
  4. Create a transfer, pick source and destination warehouses, add product lines, then click Confirm. Validate the outgoing picking when stock leaves; validate the incoming picking when it arrives. If a receiver enters more than was dispatched, the over-receipt wizard appears automatically.

Support

Bug reports, configuration help and customization requests: info@todoo.uz. Average response time: 1 business day.

Made by todoo.uz · todoo.uz · Support: info@todoo.uz

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with