WT Sale Distributor
A complete Field Distribution ERP for Odoo 19 — mobile order taking, route management, delivery validation, payment collection & more.
Getting Started
Set up your distribution operation in minutes with these four steps.
Install Module
Install WT Sale Distributor from Apps. All dependencies (Sales, Inventory, Accounting) install automatically.
Create Routes & Stops
Go to Distribution → Routes. Add routes with territories, assign an order taker and a delivery person, then add customer stops with sequence numbers.
Assign User Roles
Go to Settings → Users. Assign each field staff member the Order Taker or Delivery Person role in the Distribution section.
Take Orders & Deliver
Order takers open the Order Taker App on mobile, browse stops and place orders. Delivery staff use the Delivery App to validate deliveries and collect payments.
Module Features
Everything a field distribution team needs — all in one Odoo module.
Order Taker Mobile App
A mobile-first OWL app for field sales reps. Browse assigned routes, view customer stops in sequence, check outstanding balances and credit limits, add products to cart and place orders — all without leaving the field.
Delivery Mobile App
A dedicated app for delivery staff. View today's routes, see delivery status per stop, validate full or partial deliveries, log skip reasons and collect customer payments on the spot.
Route & Stop Management
Define routes with territories, visit-day schedules and colour codes. Each route has ordered stops with customer details, GPS coordinates, phone numbers, notes, credit limits and shop types.
Smart Cart & Order Placement
Product picker with category filters, barcode/name search and live cart with quantity controls. Support for per-item and overall discounts. One-tap order submission creates a Odoo Sale Order with full accounting integration.
Partial Delivery & Back Orders
Delivery staff can deliver a partial quantity per product line. The system automatically creates a back order in Odoo for remaining items. Full delivery and partial delivery are both one-tap operations.
On-Site Payment Collection
Collect cash or bank payments directly from the delivery app. Automatically creates an Odoo invoice and payment record. Supports multiple payment journals (cash, bank). Amount due displayed per stop.
Order History & Edit
Order takers can view their complete order history with date filters, status filters and search. Draft orders can be edited from the mobile app. Submit orders for delivery and cancel orders, all with confirmation prompts.
Day Summary Dashboard
Delivery staff see a live day summary: total deliveries, completed, pending, cash collected and total order value. Route-level breakdown shows progress per route. Updates in real time as deliveries are validated.
Role-Based Access Control
Three security groups: Order Taker (place and view own orders), Delivery Person (validate deliveries and collect payments) and Manager (full access including all routes, reports and configuration).
Screenshots
See the module in action on mobile devices.
How to Use — From Zero to Pro
A complete walkthrough for a brand new user. Follow each level in order — every level builds on the one before it. No experience required.
Level 1 — Absolute Beginner First 30 minutes — Install & Basic Setup
You just found this module. By the end of this level you will have routes configured, users assigned and be ready to take your first order.
Install the Module
Go to Settings → Apps. Search for WT Sale Distributor and click Install. Odoo automatically installs all dependencies (Sales, Inventory, Accounting) — you do not need to install anything else. Wait for the green bar to finish, then refresh the page. A new Distribution menu appears in the top navigation.
Assign Roles to Your Field Team
Go to Settings → Users & Companies → Users. Open each staff member's account. Scroll to the Distribution section and assign the correct role:
- Manager — Full access: routes, reports, all orders, configuration.
- Order Taker — Can place and view their own orders via the mobile app.
- Delivery Person — Can validate deliveries and collect payments via the mobile app.
Tip: One user can be both Order Taker and Delivery Person if needed.
Create Your First Route
Go to Distribution → Configuration → Routes. Click New. Fill in the route name (e.g. North Zone Route), territory, visit days (e.g. Mon, Wed, Fri) and assign the order taker and delivery person. Save the route. Start with one route and add more as you grow.
Add Customer Stops
Open a route and click the Stops tab. Click Add a line for each customer. Select the customer (contact), set a sequence number (visit order), and optionally add notes and GPS coordinates. You can also set a credit limit per customer directly from the customer profile under Distribution fields. Start with 5–10 customers per route. You can always add more.
Level 2 — Basic User Day 1 in the Field — Taking Orders
Routes are set up. Now learn how to use the Order Taker mobile app to take orders from customers every day.
Open the Order Taker App
Log in to Odoo on your mobile browser. Go to Distribution → Order Taker App. The home screen shows your assigned routes with today's order count and total amount. Tap a route to see the stop list in visit sequence order.
Tip: Add this URL to your phone's home screen for quick one-tap access each morning.
Select a Customer & Browse Products
From the stop list, tap a customer card to open their profile. You will see:
- Outstanding balance and credit limit — shown as warning badges if limit is exceeded
- Last order date — shown on the stop card for quick reference
- Product grid — below the customer info, with category pills and a search bar
Use the category pills to filter by product type, or type in the search bar to find products by name or code.
Add Products & Place the Order
Tap Add on a product card to add it to the cart. Use the +/− buttons to adjust quantities. Tap View Cart (or the floating cart button) to review:
- Review items, quantities and prices
- Add order notes if needed
- Set an overall discount percentage if required
- Tap Place Order — a sale order is created instantly in Odoo
- The confirmation screen shows the order number and total — tap Done to go to the next stop
Stops that already have a today's order are shown with a green checkmark in the stop list.
View & Edit Past Orders
Tap Orders on the home screen to see your order history. Filter by status (Draft, Confirmed, Done) and date range (3, 7, 14 or 30 days). Tap any order to open its detail view. If the order is still in Draft state you can edit quantities and notes, or submit it for delivery, or cancel it — all from the mobile app.
Level 3 — Intermediate User Week 1 — Delivery Operations
Orders are flowing in. Now learn how the delivery person validates deliveries, handles partial orders and collects payments.
Open the Delivery App
Log in to Odoo on the delivery van's mobile device. Go to Distribution → Delivery App. The home screen shows your assigned routes with a progress bar per route (done/total deliveries). Tap a route to see all deliveries for today, sorted by stop sequence. Use the filter chips to show All, Pending, Done or Cancelled deliveries.
Validate a Full Delivery
Tap a delivery card to open the stop detail view. You will see:
- Customer name, phone and address at the top
- Picking reference and current status
- Order total and amount due
- Itemised product list with ordered quantities
- Tap Deliver All Items — the stock picking is validated instantly in Odoo
The delivery card in the list turns green and shows a Delivered badge.
Handle Partial Deliveries
If you can only deliver part of the order (e.g. some items are out of stock in the van), tap Partial Delivery instead. A screen opens showing each product line with a quantity control:
- Adjust the delivered quantity for each line using +/− or type the value
- Lines with shortfall show a back order note automatically
- Tap Deliver Partial + Back Order — Odoo validates the picking and creates a back order for remaining items
The back order appears as a new pending delivery entry on your route for the next visit.
Skip a Delivery
If the customer is unavailable or refuses delivery, tap Skip / Not Delivered. Select a preset reason (Customer not available, Refused delivery, Wrong address, Road inaccessible, Rescheduled) or choose Other and type a custom reason. Tap Confirm Skip. The reason is logged in the picking note and chatter automatically for the warehouse team to follow up.
Collect Payment
After delivering, if there is an amount due, tap Collect Payment on the stop detail screen. Select the payment method (Cash or Bank), enter the amount collected (pre-filled with amount due), add an optional reference memo and tap Confirm. Odoo automatically creates an invoice and payment record and reconciles them. The stop card updates to show a Paid badge.
Level 4 — Advanced User Week 2 — Bulk Operations & Reporting
Deliveries are running smoothly. Now learn to use bulk features, day summary and back-office Odoo views to manage your entire distribution operation.
Use Bulk Validate
On the delivery route list view, if all items are packed and ready, tap Validate All (shown when there are pending deliveries). This validates every pending delivery on the route in one single tap — no need to open each stop individually. Use this at the end of a route when all deliveries were successfully completed.
Check the Day Summary
On the delivery home screen, tap the Summary icon (bar chart). The day summary shows: total deliveries, completed count, pending count, total order value and total cash collected for today. A route-level breakdown shows progress per route with a progress bar. Use this at end of day to verify all deliveries are done and cash matches expectation before returning to the warehouse.
View Distribution Orders in Odoo Back Office
All orders placed via the app appear in Sales → Orders with the distribution route and order taker linked. All deliveries appear in Inventory → Transfers with the sale order linked. All payments appear in Accounting → Payments with the customer and journal. Use Odoo's standard filters and group-by to generate route-level, customer-level or salesperson-level reports.
Search Customers Across All Routes
In the Order Taker App, tap the Search icon (top right). Type a customer name, phone number or customer code. Results show the customer, their route and any outstanding balance. Tap a result to navigate directly to that customer's stop — even if it is on a different route. This is invaluable when a customer calls in for an order outside the normal route schedule.
Level 5 — Pro User Month 2+ — Configuration & Advanced Settings
Your distribution operation is running confidently. Now fine-tune the settings, enforce business rules and maximise system performance.
Enforce Credit Limits
Go to Settings → Technical → System Parameters. Set wt_sale_distributor.enforce_credit_limit to True.
Now, when an order taker tries to place an order for a customer who has exceeded their credit limit,
the system blocks the order with a clear error message showing the outstanding balance and the limit.
Set credit limits per customer from the customer form under the Distribution tab.
Set Maximum Discount Limits
Go to Settings → Technical → System Parameters. Set wt_sale_distributor.max_discount to a value such as 15 (for 15% max discount).
Order takers will be blocked from applying a discount above this limit.
Set it to 0 to allow unlimited discounts.
This prevents unauthorised over-discounting in the field without manager approval.
Enable Order Edit & Require Delivery Payment
Two additional system parameters give you full control over the order workflow:
wt_sale_distributor.allow_order_edit— Set toFalseto prevent order takers from editing draft orders after placement (for stricter order control).wt_sale_distributor.require_delivery_payment— Set toTrueto enforce that payment must be collected before leaving a stop (for cash-on-delivery operations).
Quick Reference — Order & Delivery Flow
Our Services
View services offered by Way4Tech.
Odoo Customization
Odoo Implementation
Odoo Support
Hire Odoo Developer
Odoo Integration
Odoo Migration
Odoo Consultancy
Odoo Training
Distribution ERP Setup
Our Industries
Our Odoo expertise across industries.
Distribution & Logistics
Field distribution, FMCG, wholesale delivery
Education
Schools, colleges & universities
Trading
Easily procure and sell your products
POS
Easy configuration and convivial experience
Manufacturing
Plan, track and schedule your operations
E-commerce & Website
Mobile friendly, awe-inspiring product pages
Restaurant
Run your bar or restaurant methodically
Hotel Management
An all-inclusive hotel management application
90 Days Free Support
Get Help
If you have anything to share with us based on your use of this module, please let us know. We are ready to offer our support.
📞 WhatsApp: +92 315 411 4748
📞 Phone: +92 315 411 4748
🌐 www.way4tech.com
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