Skip to Content
Catalog / SAL · Sales / Sales Purchase Enhancement
Sales Purchase Enhancement
sales_purchase_enhancement

Sales Purchase Enhancement

Control partial deliveries, block negative stock, and track uninvoiced sales in one place

v18.0 Abdelfatah Mohammad (AlshayebCo) Sales Application

Inherits sales order, sales order line, purchase order, journal entry, product product, company, settings and stock picking. Introduces one new model, sales order delivary, holding per-line want-to-deliver quantities. company gains block_negative_quantity_on_hand, negative_lot_quantity_block (with enable/disable change-date stamps) and a sale_delivery_approach selection, all exposed through settings on the Inventory settings page. stock picking button_validate aggregates outgoing move lines per product/location (and per lot) and raises a ValidationError before going negative. sales order computes not_invoiced_amount and not_invoiced_amount_exclude_vat and rebuilds delivary_lines for consumable lines; sales order line overrides _action_launch_stock_rule to procure only the wizard quantity in custom mode. Depends on analytic_enterprise, sale_purchase_stock, account_accountant.

Overview

Standard Odoo confirms a sale order by reserving and shipping every ordered line at once, and it lets deliveries push stock negative without warning. This module gives each company a choice of delivery approach: keep the standard flow, or switch to a custom mode where a dedicated Delivery tab lets you decide exactly how much of each line to ship now. It also lets finance teams block any delivery that would drive on-hand or lot quantities negative, and surfaces the uninvoiced balance of every sale order so receivables stay visible.

Key Features

  • Per-company delivery approach toggle (Standard or Custom) chosen in Inventory settings.
  • Custom mode adds a Delivery tab on the sales order where you enter the exact quantity to ship per line, validated never to exceed the remaining ordered amount.
  • A Delivery button launches procurement for only the quantities you chose, instead of shipping the full order.
  • Blocks delivery validation that would make on-hand quantity go negative for any storable product.
  • Optionally blocks deliveries that would make a specific lot or serial quantity go negative, with audit timestamps of when the rule was last enabled or disabled.
  • Shows Not Invoiced Amount and Not Invoiced Amount (excluding VAT) on sale orders and in the order list.
  • Adds one-click Print, Print Deliveries/Receipts, Print Invoices/Bills, Register Payment, and Return buttons to sale and purchase order forms.
  • Adds a Create Bill button on purchase orders to generate the vendor bill directly.
  • Provides a Sale Order Lines analysis view (list, graph, pivot) under Sales reporting with on-hand and to-deliver quantities.
  • Locks product fields on sale, purchase, and invoice lines to prevent accidental creation of new products.

Technical Details

Technical Name sales_purchase_enhancement
Version 18.0
License LGPL-3
Domain SAL · Sales

Menu Structure

Sale Order Lines

Security

Adds one access rule granting full read/write/create/delete on the custom delivery-line model to all users (no group restriction); the Sale Order Lines report menu is limited to the Sales Administrator group, and the action buttons are gated by standard accounting and inventory groups.

Dependencies

analytic_enterprise sale_purchase_stock account_accountant