交付给客户的货物多于订购的数量时,就形成'超售'状态; 对于超售的部分,需要进行开票处理,以及根据情况修改交货

 
 

发生超售的前提是,产品开票策略为 '按订购数量开票'

 
 

同时需要
允许修改
订单

 
 

 
 

超售可能是以下情形下发生的

  • 订单确认、开立发票之后,修改订单数量,导致 订单金额和已开立的发票之间存在差异,以及交货数量发生变化
  • 订单确认、开立发票之后,修改订单价格,导致 订单金额和已开立的发票之间存在差异

 
 

 
 

 
 

 
 

  • 订单确认、开立发票之后,修改订单数量,导致
    订单金额和已开立的发票之间存在差异,以及交货数量发生变化

     
     

    此时,在
    订单再次建立发票,
    系统将会建立退款发票,
    例如

     
     

    因为
    交货是基于之前的
    订单建立,因此,需要
    取消它,
    然后基于它
    复制一份,
    并修改
    交货数量

     
     

    订单修改完成后,将订单设置为 'lock'

     
     

     
     

  • 在订单确认、开立发票之后,修改订单价格,导致
    订单金额和已开立的发票之间存在差异,以及交货数量发生变化

     
     

    此时,
    修改
    原始订购数量为
    零,
    并增加
    新的订单行,数量为
    原始订购数量,但是
    单价修改为
    新单价,
    如下

     
     

     
     

    再次
    建立
    发票,
    系统将计算出
    退款

     
     

    此时需要
    验证
    交货单是否正确,
    发现
    增加的订单行将会
    增加发货数量

     
     

    因此,需要 取消它, 然后基于它 复制一份, 并修改 交货数量

     
     

    订单修改完成后,将订单设置为 'lock'

Odoo超售订单的更多相关文章

  1. Odoo销售模块

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10825988.html 一:销售模块 销售模块的用途: 1)管理销售团队.销售人员:维护销售产品: 2)管理 ...

  2. 全网首发! Odoo 订单分解执行及供应链管理免费开源解决方案

    引言 前一篇介绍了佛山王朝家具的案例背景.佛山王朝家具公司在全国有30多家门店,三个生产工厂.王朝家具有六大痛点问题: 订单迫切需要实现电子化管理及在线签名 总部分单工作量大,供应链效率低 配送和售后 ...

  3. Odoo中最小库存规则和按订单生成规则的区别

    ---恢复内容开始--- 最小库存规则(Minimum stock rule)用来保证你的库存产品数量总是不会低于设定的最小库存数量.用来保证产品生产和回到客户的需求.当库存产品低于这个最小库存数量时 ...

  4. odoo之带出历史订单产品

    这是在sale_origin中下由两张单子{sale_origin_line和history_order} class history_order(osv.osv): _name="hist ...

  5. odoo订餐系统之订单相关知识点理解

    1.对重载函数name_get的理解 第一,此函数位于Model基类中,返回值是一个list列表,列表中的每个值是如(key,value)形式的键值对,此处为(id,name). 第二,在自己的Mod ...

  6. odoo订餐系统之订单设计

    订餐系统的主要功能便是用户下单部分,这里我们分为表头mylunch_order和表体mylunch_order_line两张主要的数据表,表头主要记录订单的一些通用信息,比如下单的操作人员 下单日期 ...

  7. odoo开发历史订单需求整体思路

    第一步:找到客户对应页面,并找到他所下过的销售订单,用数据库语句查出所有数据,并去除重复数据,显示在前端, sql="select DISTINCT t2.product_id as pro ...

  8. odoo 订单打印 会出现字体. ........... 虚线问题

    在表头加 红色部分 <?xml version="1.0" encoding="utf-8"?><openerp> <data&g ...

  9. Odoo 二次开发教程(四)-只读、唯一性验证和ORM方法介绍

    一.只读和唯一性验证 只读的设置有两种方法,一种是实在字段定义时设置为只读,第二种是在页面视图中进行设置. 接前例,我们将学生(tech.student)的名字name字段设置成只读. 方法一:字段定 ...

随机推荐

  1. day05_01 鸡汤+内容回顾

    推荐电影: 1.被解救的姜戈 2.华尔街之狼 3.阿甘正传 4.辛德勒的名单 5.肖申克的救赎 6.上帝之城 7.焦土之城 8.绝美之城 打印多行 msg = "hello 1 hello ...

  2. 为什么要使用数据库连接池?以及用法(DBUtils)

    看代码, from flask import Flask from db import POOL import pymysql app = Flask(__name__) app.secret_key ...

  3. Multi-Dimensional Recurrent Neural Networks

    Multi-Dimensional Recurrent Neural Networks The basic idea of MDRNNs is to replace the single recurr ...

  4. PHP杂技(二)

    php array_merge($a,$b)与 $a+$b区别 array_merge 数字键名会被重新编号,what's '...' $data = [[1, 2], [3], [4, 5]]; v ...

  5. hdu6035[dfs+思维] 2017多校1

    /*hdu6035[dfs+思维] 2017多校1*/ //合并色块, 妙啊妙啊 #include<bits/stdc++.h> using namespace std; ; const ...

  6. Welcome-to-Swift-04集合类型(Collection Types)

    Swift提供了两种集合类型来存放多个值——数组(Array)和字典(Dictionary).数组把相同类型的值存放在一个有序链表里.字典把相同类型的值存放在一个无序集合里,这些值可以通过唯一标识符( ...

  7. 设计模式(Java随笔)—装饰模式

    装饰模式(Decorator Pattern):为已有功能动态地添加更多功能的一种方式Attach additional responsiblities to an object dynamicall ...

  8. 算法复习——树形dp

    树形dp的状态转移分为两种,一种为从子节点到父节点,一种为父节点到子节点,下面主要讨论子节点到父亲节点的情况: 例题1(战略游戏): 这是一道典型的由子节点状态转移到父节点的问题,而且兄弟节点之间没有 ...

  9. mysql explain字段意思解释

    mysql explain字段意思解释 explain包含id.select_type.table.type.possible_keys.key.key_len.ref.rows.extra字段 id ...

  10. 答题小程序开发之socket编程 微信小程序答题 直播答题开发 直播弹幕使用web socket编程

    最近有一个项目很火,那就是直播答题的,接到公司的这个任务,开发直播答题的聊天室功能.在线的人相互聊天.之前做过类似的,当时都是使用的ajax轮询的,这种非常的耗费服务器.所以这次就开始使用socket ...