Skip to Content
Menu
v 18.0 Third Party 16
Download for v 18.0 Deploy on Odoo.sh
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Invoicing (account)
Discuss (mail)
Inventory (stock)
Lines of code 143
Technical Name pickings_invoices_shortcuts
LicenseLGPL-3
Websitehttps://www.Tecpill.com
You bought this module and need support? Click here!
Technology Pill Business Solution Logo

Pickings Invoices Shortcuts

Smart button navigation between Stock Pickings and Invoices in Odoo 18 - Adding only the truly missing navigation links.

💡 What Makes This Module Special

  • Adds only the 3 truly missing smart buttons - everything else already exists in Odoo!
  • Non-invasive design that works alongside existing Odoo functionality.
  • Performance optimized using existing relationships and computed fields.
  • Perfect UI consistency with Odoo core smart button patterns.

Key Features

🔗 Smart Button Navigation

  • ✓ Stock Picking → Sale Order (smart button upgrade from existing field)
  • ✓ Stock Picking → Invoices (new functionality via sale order)
  • ✓ Invoice → Deliveries (new functionality via sale orders)
  • ✓ Round-trip navigation works in all directions

⚡ Performance & Architecture

  • ✓ Leverages existing relationships from sale_stock module
  • ✓ Minimal additional database queries
  • ✓ Proper @api.depends declarations for computed fields
  • ✓ No data migration required

🎯 Smart Button Behavior

  • ✓ Buttons only show when there are related records (count > 0)
  • ✓ Single record: Opens form view directly
  • ✓ Multiple records: Opens list view with domain filter
  • ✓ Invoice buttons only appear on customer invoices/refunds
  • ✓ Graceful handling when relationships don't exist

🛡️ Non-Invasive Design

  • ✓ Extends existing functionality without replacing it
  • ✓ Works alongside sale_stock module features
  • ✓ Same icons and styling as existing buttons
  • ✓ Compatible with other sale/stock extensions

What Already Exists vs What This Module Adds

✅ Already Exists in Odoo Core

  • Sale Order → Invoices (smart button) - sale module
  • Sale Order → Deliveries (smart button) - sale_stock module
  • Stock Picking → Sale Order (regular field sale_id) - sale_stock module
  • Invoice → Sale Order (smart button) - sale module

🆕 What This Module Adds

  • Stock Picking Form: Sale Order smart button (upgrades existing field to proper smart button UX)
  • Stock Picking Form: Invoices smart button (shows count and links to related invoices)
  • Invoice Form: Deliveries smart button (shows count and links to related pickings)

After careful audit, we discovered that most functionality already exists in Odoo - this module adds just the 3 missing smart buttons for complete navigation workflow.

Installation Notes

📋 Requirements

  • ✓ Odoo 18.0+ required
  • ✓ sale_stock module dependency (usually already installed)
  • ✓ Automatically includes: base, sale, stock, account modules
  • ✓ No additional configuration needed

✅ Simple Installation:

  1. Place module in addons directory
  2. Update app list
  3. Install "Pickings Invoices Shortcuts" module
  4. Dependencies are automatically handled

Example Workflow

Complete Navigation Flow

  1. Sale Order → Confirm → Delivery created → Invoice created
  2. From Delivery: Smart buttons to view Sale Order ↔ Invoices
  3. From Invoice: Smart buttons to view Sale Orders (existing) ↔ Deliveries (new)
  4. Round-trip navigation works in all directions

Smart Button Behavior

  • Visibility: Buttons only show when there are related records (count > 0)
  • Single Record: Opens form view directly for seamless navigation
  • Multiple Records: Opens filtered list view to show all related items
  • Customer Focus: Invoice buttons only appear on customer invoices/refunds

Technical Implementation

🏗️ Architecture

  • ✓ Stock Picking Extensions: invoice_count, invoice_ids fields + action_view_invoice() method
  • ✓ Account Move Extensions: picking_count, picking_ids fields + action_view_picking() method
  • ✓ Relationship Strategy: Leverages existing sale_stock relationships
  • ✓ Performance: Uses sale_id.invoice_ids and sale order picking_ids

🎯 Scope Focus: This module deliberately excludes functionality that already exists in Odoo core, focusing only on the missing navigation links.

Support

For support and assistance, contact us at admin@tecpill.com

Credits

Authors:
Sayed Mohamed Ebrahim
Technology Pill Business Solution
Company Logo

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, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.