- Home
- Apps
- Multichannel & PIM Tools
- Inbound ASN & Supplier Receiving Portal for Odoo
Illustrative previewA build-to-order Odoo module that lets suppliers submit advance ship notices through a portal and lets your
warehouse team receive against those ASNs with barcode scan matching, discrepancy capture, and pallet-level receiving.
ECOSIRE builds, installs, and supports it on Odoo 17, 18, or 19.
What is Inbound ASN & Supplier Receiving Portal for Odoo?
A build-to-order Odoo module that lets suppliers submit advance ship notices through a portal and lets your warehouse team receive against those ASNs with barcode scan matching, discrepancy capture, and pallet-level receiving. ECOSIRE builds, installs, and supports it on Odoo 17, 18, or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
Most warehouses running Odoo receive blind. The stock.picking incoming transfer is created from the purchase order, but nobody at the dock knows what is actually arriving, when the truck lands, or how many pallets to plan for until the driver is already backed into the bay. Odoo core has no concept of an Advance Ship Notice (ASN) — there is no supplier-facing document that says "here is exactly what I shipped, in these cartons, on these pallets, arriving Thursday." Receivers end up counting against the PO instead of against what was actually shipped, short/over discrepancies get discovered late (or absorbed silently), and dock scheduling lives in a spreadsheet or someone's head. The standard Barcode app helps scan lines, but it validates against the expected PO quantities, not against a shipment the supplier committed to — so it can't catch a supplier who shorted you before the goods hit your shelves.
This is where native Odoo runs out of road, and it is exactly what we build. ECOSIRE delivers a custom Odoo module that introduces a first-class ASN document. A new stock.asn model (with stock.asn.line children) is authored the Odoo way — models.Model, typed fields, and @api.depends computes for received-vs-expected roll-ups and short/over flags. Suppliers log into the standard Odoo portal (extending portal.mixin and the /my controller routes) to submit an ASN against an open purchase order: they declare quantities, lot/serial numbers, expected arrival date, carrier, and pallet/license-plate structure. Every ASN gets an expected-receipt date that feeds a dock-planning view (calendar and Gantt on Enterprise, list/kanban fallback on Community) so your team sees the inbound wave before it arrives. Access is locked down with ir.model.access.csv plus ir.rule record rules so a portal supplier only ever sees their own ASNs, never another vendor's.
At the dock, receiving flips from "count against the PO" to "verify against the ASN." We extend the incoming stock.picking / stock.move.line flow (and the OWL Barcode client where you use it) so a receiver scans each carton or pallet barcode and the system matches it to the declared ASN line in real time — green when it matches, a blocking discrepancy prompt when the scanned quantity, lot, or SKU does not. Short and over receipts are captured as structured data on the ASN line at the moment of receipt, not reconstructed afterward, and can trigger an automated action (base.automation) to notify purchasing or open an activity. License-plate/pallet receiving lets a single scan of a pallet ID confirm all the cartons declared on it, and a QWeb PDF gives you a receiving discrepancy report and a printable pallet manifest. Where you want machine-to-machine integration — a 3PL or supplier WMS pushing ASNs — the same models are exposed over Odoo's XML-RPC / JSON-RPC API so an ASN can be created programmatically instead of through the portal.
Because this is build-to-order, nothing ships until we agree on scope. After a short scoping call we confirm your Odoo version (17.0, 18.0, or 19.0), Community vs Enterprise, your PO and inbound workflow, and which capabilities you actually need. ECOSIRE then builds the module against your edition, validates it on a staging copy of your database through UAT, and installs it in production with a rollback plan. Typical delivery is one working week from confirmed scope. You receive the full installable source, documentation, a training session, and a post-go-live support window — plus the git repository, so the code is yours.
What you get
- Installable module source code built for your exact Odoo edition (17.0, 18.0, or 19.0; Community or Enterprise)
- Production installation and configuration, including portal access setup for your suppliers and dock-planning views
- Technical documentation: data model, `ir.model.access.csv` / record-rule matrix, controller routes, and XML-RPC/JSON-RPC integration notes
- End-user guide plus a live training session for warehouse receivers and purchasing staff
- UAT on a staging copy of your database with a documented rollback plan before production go-live
- Post-go-live support window for bug fixes and questions after launch
- Git repository handover so you own the full source and version history
Who this is for
Warehouse / Inbound Operations Manager
Wants predictable inbound flow and faster receiving on Odoo. Needs to know what is arriving and when so dock labor and space are planned in advance, and wants receivers verifying against what the supplier actually shipped rather than counting blind against the PO.
Procurement / Purchasing Lead
Needs short and over shipments caught at the dock and captured as structured data, with automatic notification, so supplier performance disputes are backed by evidence instead of discovered weeks later at invoice reconciliation.
Supply Chain / IT Systems Owner
Runs Odoo internally and needs clean, upgrade-safe custom models with proper access rules and an XML-RPC/JSON-RPC surface so 3PLs and supplier WMS platforms can push ASNs without manual data entry.
3PL / Multi-Supplier Distributor
Receives from many vendors and wants each supplier submitting their own ASNs through a self-service portal, with strict per-vendor data isolation and pallet-level receiving to speed high-volume dock throughput.
How Inbound ASN & Supplier Receiving Portal for Odoo Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Advance Ship Notice concept | First-class `stock.asn` document supplier-submitted before goods arrive | Whatever you spec and build in-house | Sometimes a basic ASN list, rarely portal-linked | No ASN concept — receiving is against the PO only |
| Scan verification target | Scans matched against the supplier-declared ASN in real time | Depends on your build effort | Usually validates against PO quantities | Barcode app validates against PO expected qty |
| Supplier self-service | Native portal submission, per-vendor record-rule isolation | Must design portal + security yourself | Often internal-only, no supplier portal | No supplier ASN entry point |
| Dock scheduling | Expected-receipt calendar/Gantt with list/kanban fallback | Build from scratch | Rarely included | Not available |
| Discrepancy capture | Structured short/over/damage on ASN line at receipt + automated alerts | You define the schema and triggers | Limited or manual notes | Manual quantity edit, no structured discrepancy record |
| Pallet / license-plate receiving | One pallet scan confirms all declared cartons | Significant build effort | Sometimes, varies widely | Package-level only, not ASN-aware |
| API for 3PL/WMS | ASNs created via XML-RPC/JSON-RPC, documented | You expose and document it | Usually none | Generic RPC exists but no ASN model to target |
| Ownership & support | Full source + git handover, post-go-live support window | You own it but carry all maintenance | Vendor-locked, per-version repurchase | Core-supported but no ASN feature to support |
Frequently Asked Questions about Inbound ASN & Supplier Receiving Portal
How long does delivery take?
This is a build-to-order module, not an instant download. After a short scoping call to confirm your Odoo version, edition, and inbound workflow, typical delivery is one working week from confirmed scope. Larger integrations (for example a 3PL pushing ASNs over the API, or heavy pallet-structure logic) sit at the upper end of that range, and we give you a firm timeline before any build starts.
Which Odoo versions and editions do you support?
We build for Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. Some capabilities differ by edition — for example the dock-planning Gantt and full Barcode app UX are Enterprise features, so on Community we deliver equivalent list/kanban planning views and a scanner-friendly receiving flow. We confirm exactly what your edition supports during scoping.
How do you handle support and future updates?
Every engagement includes a post-go-live support window for bug fixes and questions after launch. Because you receive the full source and the git repository, you (or we, under a separate support agreement) can maintain and extend it. When you upgrade Odoo, we can quote a migration of the module to the new version — the models are written to be upgrade-safe, but a version jump always needs testing.
Will this survive an Odoo upgrade?
We build the module cleanly on top of standard framework extension points — subclassing `stock.picking`/`stock.move.line`, adding our own `stock.asn` models, and using `ir.model.access.csv` and record rules rather than hacking core. That minimizes upgrade pain, but Odoo does change APIs between major versions, so we always recommend a scoped re-test (and, if needed, a migration pass) when you move from 17 to 18 or 18 to 19.
Can suppliers submit ASNs without an Odoo user license?
Yes. Submission runs through the standard Odoo portal, so suppliers use free portal access (portal users are not billed as internal Odoo users). Record rules ensure each supplier can only see and act on their own ASNs. If a supplier prefers system-to-system, the same ASN can be created over the XML-RPC/JSON-RPC API instead of the portal UI.
How does scan verification differ from Odoo's standard Barcode receiving?
Standard Barcode validates scanned lines against the purchase order's expected quantities. Our flow validates against the ASN — the shipment the supplier committed to — so a mismatch between what was ordered, what was declared as shipped, and what physically arrives is caught and recorded at the dock. Short, over, and wrong-SKU events become structured data on the ASN line instead of a silent adjustment.
Do we own the code?
Yes. We hand over the complete installable source and the git repository at the end of the engagement. There is no per-seat licensing lock-in on the module itself and no obfuscation — it is your code to run, audit, and extend.
Related Modules

Hide Cost Price
A build-to-order Odoo module that restricts product cost price visibility to the exact user roles you nominate, hardened across form views, list views, reports, and the RPC API. ECOSIRE scopes, builds, installs, and supports it for your database.

Hide Powered By
A build-to-order Odoo module that removes the default vendor branding from your login, signup, and password-reset screens. ECOSIRE builds it to your scope, installs it, and supports it — this is a made-to-order service, not an instant download.

Inter Company Stock Transfer
A build-to-order Odoo module that automatically generates the counterpart receipt or delivery order in the partner company whenever stock moves between your Odoo companies. ECOSIRE scopes, builds, installs and supports it for your exact multi-company setup.

Inventory Adjustment Approval
A build-to-order Odoo module that inserts a controlled approval step in front of inventory adjustments, so no on-hand quantity change posts until an authorized reviewer signs off. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17, 18, or 19 environment.
Inbound ASN & Supplier Receiving Portal
A build-to-order Odoo module that lets suppliers submit advance ship notices through a portal and lets your warehouse team receive against those ASNs with barcode scan matching, discrepancy capture, and pallet-level receiving. ECOSIRE builds, installs, and supports it on Odoo 17, 18, or 19.
- New `stock.asn` and `stock.asn.line` models with `@api.depends` computes for received-vs-expected quantities and automatic short/over flagging
- Supplier-facing ASN submission through the native Odoo portal (`portal.mixin` + custom `/my/asn` controller routes), scoped so vendors see only their own documents
- ASN raised against an open `purchase.order`, pre-filling expected products, quantities, and unit prices from the PO lines
- Expected-receipt scheduling with a dock-planning calendar/Gantt view (Enterprise) and list/kanban fallback for Community