【应用浅谈】Odoo的库存计价与产品成本(三)
序言:时间是我们最宝贵的财富,珍惜手上的每个时分
Odoo的库存(Stock)模块拥有众多功能,其中库存计价是一项非常重要的功能,原生的成本方法分三种:【标准成本】,【平均成本】,【先进先出】,我们接着上一期,来看加入【仓储】业务(盘库、报废、退货、内部调拨)后,不同成本方法下,成本与库存计价的变化。
目录
1、模块准备
2、基本设置
2.1启用储存位置
2.2新建库位
3、业务操作
3.1内部调拨
3.2报废
先进先出
平均成本&标准成本
3.3盘库
先进先出
3.4退货
采购退货
销售退货
3.5总结
1、模块准备
首先确认我们已经安装了 【仓库管理会计】模块,技术名称是(stock_account)
2、基本设置
2.1启用储存位置
想要使用Odoo的内部调拨功能,我们需要在设置中 勾选【库存位置】,否则 是无法进行内部调拨的。

勾选后点击左上角保存按钮,即可 通过菜单【库存】,查看到 【内部转账】(由于存在翻译的问题,我习惯叫【内部调拨】)的快捷操作内容。

2.2新建库位
在菜单 【库存】->【配置】->【地点】(翻译问题,我习惯叫【库位】),可以进行库位的设置
我们简单设置两个库位,A1、A2,注意:请将上级位置设为WH

| 序号 | 库位名称 | 上级位置 |
| 1 | A1 | WH |
| 2 | A2 | WH |
设置库位的时候,小伙伴们应该已经发现,我们可以勾选 不同的库位类型,【报废位置】、【退回位置】、【补充位置】,这些是什么意思呢,我们先按住不表,下次详谈。
3、业务操作
首先我们先查看下当前的库存情况,【库存】-【报告】-【Inventory aging】

| 产品名称 | 成本价 | 在手数 | 总价值 |
| 现金先出 | 7,000 | 4 | 28,000 |
| 平均成本 | 4,520 | 2 | 9,040 |
| 标准成本 | 1,000 | 1 | 1,000 |
注意:当前所有库存,在默认位置【WH/库存】中。
3.1内部调拨
设置好如上的内容后,我们回到菜单【库存】->【操作】->【内部】,点击左上角
【新建】按钮,进行一次内部调拨的业务。

我们选择好【源位置】、【目的位置】,并且创建 【操作】明细,选择上 【平均计价产品】【先进先出产品】【标准成本产品】,每个各一件。

点击【标记为待办】后,订单状态为【就绪】,此时我们可以【验证】单据,完成内部调拨。

点击【验证】按钮后,我来看看系统内的数据发生什么变化了呢!
我们来到【库存】->【报告】->【计价】

| 产品名称 | 成本价 | 在手数 | 总价值 |
| 现金先出 | 7,000 | 4 | 28,000 |
| 平均成本 | 4,520 | 2 | 9,040 |
| 标准成本 | 1,000 | 1 | 1,000 |
大家一眼都看出,无事发生,原因很简单:内部移动时,库存价值不会发生变化,自然而然,在库存计价层上无事发生。
依此,我们可以得出结论:内部调拨不会影响任何计价类型产品价值。但是!当我们开启 库存会计功能后,有其他的功能关联,所以不能简单的认为 内部调拨 只影响 库存位置。具体内容 随着我们的深入,再细细道来。
3.2报废
趁热打铁,我们看看报废是否会有不同的影响呢。
来到【库存】-【操作】-【报废】,新建报废单据。

先进先出
我们选择将其在WH/A1位置的库存进行报废。

点击验证后,报废完成。
来到【库存】->【报告】->【计价】

可以看到,多了一条价值为 -7000的记录,这个7000的单价是如何计算的呢,【报废】的业务场景,从库存计价 层面上与【出库】实际是一致的,结合 【先进先出】的定义,我们不难得出结论:7000为 当前【WH/A1】出库的库存价值。
| 产品名称 | 成本价 | 在手数 | 总价值 |
| 现金先出 | 7,000 | 3 | 21,000 |
平均成本&标准成本
依此类推,我们的【平均成本】【标准成本】产品,也与【出库】一致,最后我们总结为:
| 序号 | 成本方法 | 报废单价 | 成本单价影响 |
| 1 | 标准成本 | 标准单价 | 无 |
| 2 | 平均成本 | 标准单价 | 无 |
| 3 | 先进先出 | 先进先出价 | 随出库价值变化 |
3.3盘库
当我们理解为何【报废】可类推为【出库】后,就可以把盘库业务中的【盘亏】【盘盈】比作 【出库】【入库】(再次注意:这个总结仅是在库存计价层面上,当加入财务后 情况则大不相同),那么【标准成本】【平均成本】产品,可以直接 得出结论:以均价为【盘库】单价。
先进先出
【先进先出】会是怎样呢?话不多说,我们开干!在此之前,先做个小假设:
| 选项 | 假设 | 金额 |
| A | 以当前产品均价为【盘库】单价 | 7,000 |
| B | 以最后入库产品作为【盘库】单价 | 7,000 |
| C | 以最早入库产品作为【盘库】单价 | 7,000 |
由于【先进先出】产品在库产品都为7000的单价,我们无法直观验证假设,所以采购一个价值为10000的【先进先出】产品,来更新我们的假设金额。

经过 【采购】-【入库】的操作后,我们成功获得了一条新的库存计价,同时 【先进先出】产品成本也 发生了变化。
| 序号 | 数量 | 单价 | 总额 |
| 1 | 3 | 7,000 | 21,000 |
| 2 | 1 | 10,000 | 10,000 |
| 合计 | 4 | 7,750 | 31,000 |
此刻我们的假设金额也发生变化,盘库后 可以直观的进行对比。
| 选项 | 假设 | 金额 |
| A | 以当前产品均价为【盘库】单价 | 7,750 |
| B | 以最后入库产品作为【盘库】单价 | 1,0000 |
| C | 以最早入库产品作为【盘库】单价 | 7,000 |
做了这么多铺垫,我们的竞猜结果即将揭晓:
来到【操作】-【实物库存】,盘盈2件 【先进先出】产品!

点击【应用全部】按钮后,我们查看库存计价,答案是:A,以当前产品均价作为【盘库】单价。

最后我们可以将结论总结为:
| 序号 | 成本方法 | 盘点单价 | 成本单价影响 |
| 1 | 标准成本 | 标准单价 | 无 |
| 2 | 平均成本 | 标准单价 | 无 |
| 3 | 先进先出 | 标准单价 | 无 |
3.4退货
终于来到退货环节,首先 将【标准成本】【平均成本】移出群聊,他们都是按平均价值来的,重点关注在【先进先出】产品上。
采购退货
我们继续来玩假设,拿刚刚入库的10,000单价开刀
| 选项 | 假设 | 金额 |
| A | 以当前产品均价为【退货】单价 | 7,750 |
| B | 以入库产品价作为【退货】单价 | 10,000 |
找到入库单后,点击退回,确认后 会得到一张【 出库单】

验证它,我们看看库存情况。

出人意料,它竟然 不在我们假设的选项上:7000,来自于 【先进先出】价格!匪夷所思,不可思议,难以置信!

销售退货
玩过了采购退货,我们来试试销售退货

我们继续玩假设游戏:
| 序号 | 假设 | 价格 |
| A | 以当前产品均价为【退货】单价 | 7,900 |
| B | 以当时销售产品价作为【退货】单价 | 6,000 |
| C | 以当时出库产品价作为【退货】单价 | 5,633.33 |
结果是:C、以当时出库产品价作为【退货】单价 
此刻,大家应该都凌乱了,明明做退回的时候,生成的 是 【出库】、【入库】单据,却不是按标准的 出库、入库 来计价。
那么 被请出群聊的 【标准价格】、【平均价格】,也该被请回来重新查看了,操作过程我们不赘述了,直接查看结果:
【销售 退货】 
均以当前平均价格退回入库
【采购退货】
均以当前平均价格退回入库
最后我们可以将结论总结为:
| 序号 | 成本方法 | 销售退回(入库) | 采购退回(出库) |
| 1 | 标准成本 | 平均单价 | 平均单价 |
| 2 | 平均成本 | 平均单价 | 平均单价 |
| 3 | 先进先出 | 当时出库库存单价 | 先进先出单价 |
3.5总结
1)【内部调拨】不参与 库存计价 与成本
2)【标准成本】与【平均成本】,以标准价值(平均单价)作为计价值,不影响成本。
| 报废 | 盘库 | 退货 | ||||
| 库存计价 | 成本影响 | 库存计价 | 成本影响 | 库存计价 | 成本影响 | |
| 标准成本 | 标准价格 | 无 | 标准价格 | 无 | 标准价格 | 无 |
| 平均成本 | 标准价格 | 无 | 标准价格 | 无 | 标准价格 | 无 |
3)【先进先出】细则
| 库存计价 | 成本影响 | |
| 报废 | 标准价格 | 不影响 |
| 盘库 | 标准价格 | 不影响 |
| 采购退货 | 先进先出价格 | 平均当前所有库存价值 |
| 销售退货 | 当时出库库存单价 | 平均当前所有库存价值 |
至此:我们对基础的库存计价已经非常了解了,下一期我们将讲一讲 加入【财务】功能后,【库存】与【财务凭证】间的关系。
qq:543127346
相关文章:
【应用浅谈】Odoo的库存计价与产品成本(三)
序言:时间是我们最宝贵的财富,珍惜手上的每个时分 Odoo的库存(Stock)模块拥有众多功能,其中库存计价是一项非常重要的功能,原生的成本方法分三种:【标准成本】,【平均成本】,【先进先出】&#…...
数据结构之ArrayList与顺序表(下)
找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:数据结构(Java版) 目录 ArrayList的具体使用 118. 杨辉三角 扑克洗牌算法 接上篇:数据结构之ArrayLis…...
openi启智社区 aarch64 npu环境安装飞桨paddlepaddle和PaddleNLP(失败)
以前在启智社区都是编译安装飞桨,这回看到飞桨提供了npu安装包,兴冲冲的以为安装很简单。 之所以安装飞桨,是因为想在启智社区的启智大脑调试环境使用最新的PaddleNLP,结果报错:No module named paddle.nn.layer.laye…...
【漏洞复现】多客圈子论坛系统 httpGet 任意文件读取漏洞
0x01 产品简介 多客圈子论坛系统是一种面向特定人群或特定话题的社交网络,它提供了用户之间交流、分享、讨论的平台。在这个系统中,用户可以创建、加入不同的圈子,圈子可以是基于兴趣、地域、职业等不同主题的。用户可以在圈子中发帖、评论、…...
46-1 护网溯源 - 钓鱼邮件溯源
一、客户提供钓鱼邮件样本 二、行为分析 三、样本分析 对钓鱼邮件中的木马程序1111.exe文件进行了分析,提交了360安全大脑沙箱云和微步在线云沙箱。 360安全大脑沙箱云显示,该1111.exe文件存在危险,因此在解压时需要谨慎操作,以免触发木马程序。 建议使用360压缩软件进行…...
鸿蒙低代码开发一个高频问题
在版本是DevEco Studio 3.1.1 Release,SDK是3.1.0(API9)。 创建和设计的visual文件经常会遇到无法渲染的情况,或者自定义组件在Custom列表中突然不见了的情况。 有以下报错信息的: JSON schema validation error: data/visualModel/value/…...
关于使用南墙waf防护halo网站主页请求404报错的解决方案
文章目录 环境说明问题展示原因探究解决方法 环境说明 在1panel应用商店,部署南墙waf(docker版)halo(2.16.1社区版)注意部署过程中注意uuwaf必须勾选允许外部访问,halo可以不勾选[这里为了证明确实是南墙waf的原因,选择勾选] 问题展示 使…...
Elasticsearch 认证模拟题 - 13
一、题目 集群中有索引 task3,用 oa、OA、Oa、oA 查询结构是 4 条,使用 dingding 的查询结果是 1 条。通过 reindex 索引 task3 为 task3_new,能够使 task3_new 满足以下查询条件。 使用 oa、OA、Oa、oA、0A、dingding 查询都能够返回 6 条…...
Day25 首页待办事项及备忘录添加功能
本章节,完成首页待办事项及备忘录添加功能 一.修改待办事项和备忘录逻辑处理类,即AddMemoViewModel和AddTodoViewModel 在 AddMemoViewModel逻辑处理类中,为了支持与其关联的View视图文件的数据绑定,需要定义一个与视图文件相匹配的实体类 Model。这个Model将包含 View中…...
SpringBoot——全局异常处理
目录 异常 项目总结 新建一个SpringBoot项目 pom.xml Result(通用的响应结果类) MyBusinessException自定义异常类 GlobalExceptionHandler全局异常处理类 ExceptionController控制器 SpringbootExceptionApplication启动类 参考文章:…...
SpringBoot+Vue教师工作量管理系统(前后端分离)
技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 角色对应功能 教师管理员 功能截图...
华为OD技术面试-最长回文串-2024手撕代码真题
题目:最长回文串 给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的 回文串 的长度。 在构造过程中,请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。 示例 1: 输入:s = "abccccdd" 输出:7 解释: 我们可以构造的最…...
Python实现连连看8
4 游戏开始 连连看游戏实际上主要完成的是对玩家鼠标点击事件的处理,也就是对鼠标点击事件的响应。 4.1 添加鼠标点击事件响应 在“1.3.4 在窗口上铺设画布”中提到的将画布pack()到窗口代码之前,写入如下代码,其功能是为鼠标点击事件添加响应。 canvas.bind(<Button…...
[Cloud Networking] Layer Protocol (continue)
文章目录 1. STP / RSTP / MSTP Protocol1.1 STP的作用1.2 STP 生成树算法的三个步骤1.3 STP缺点 2. ARP Protocol3. DHCP Protocol3.1 DHCP 三种分配方式3.2 DHCP 攻击 4. IPSEC / MACSEC 1. STP / RSTP / MSTP Protocol 1.1 STP的作用 消除二层环路:通过阻断冗余…...
人工智能在交通与物流领域的普及及应用
文章目录 🐋引言 🐋自动驾驶 🦈自动驾驶汽车 🐡应用现状 🐡技术实现 🐡实现过程及代码 🐋智能交通管理 🦈应用现状 🦈技术实现 🦈实现过程及代码 &…...
JVM学习-详解类加载器(二)
双亲委派机制 双亲委派优势 避免类的重复加载,确保一个类的全局唯一性 Java类随着它的类加载器一起具备了一种带有优先级的层次关系,通过这种层次关系可以避免类的重复加载,当父类已经加载了该类,就没有必要子ClassLoader再加载…...
数字校园的优势有哪些
数字化时代下,数字校园已成为教育领域一股显著趋势。数字校园旨在借助信息技术工具对传统校园进行改造,提供全新的教学、管理和服务方式。那么,数字校园究竟具备何种优势?现从三个方面为您详细介绍。 首先,数字校园为教…...
DexCap——斯坦福李飞飞团队泡茶机器人:更好数据收集系统的原理解析、源码剖析
前言 2023年7月,我司组建大模型项目开发团队,从最开始的论文审稿,演变成目前的两大赋能方向 大模型应用方面,以微调和RAG为代表 除了论文审稿微调之外,目前我司内部正在逐一开发论文翻译、论文对话、论文idea提炼、论…...
【Mtk Camera开发学习】01 MTK 平台Camera BringUp
本专栏内容针对 “知识星球”成员免费,欢迎关注公众号:小驰行动派,加入知识星球。 #MTK Camera开发学习系列 #小驰私房菜 这篇文章主要介绍MTK 平台,Camera BringUp会涉及到修改的模块。 MTK不同的平台系列,具体修改…...
新能源汽车内卷真相
导语:2025年,我国新能源汽车总产能预计可达3661万辆,如此产能如何消化? 文 | 胡安 “这样卷下去不是办法,企业目的是什么?是盈利,为国家作贡献,为社会作贡献。我们应该有大格局&…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
