TVA金额的计算,以及应该放在那里
标记TTC价格的货物,有以下内容:
TTC原价(自动提取),折扣(输入),折扣之后的减价(代金券,或者再次减价),最终TTC单价(自动计算)。
税率(输入),HT单价(自动计算),单价的税费(也可能不需要,SQL现场计算)。
数量(输入),HT总价(自动计算),TTC总价(自动计算),总税费(也可能不需要,SQL现场计算)。
问题:
单价小数点三位的时候怎么办?乘以数量以后会有很大的影响。
注意:
1. 我认为不存在先减价,后折扣的问题。非要先减价,后折扣,那么相当于改变商品的原价,输入时直接修改原价即可。
2. 税费和税前单价,应该是根据折扣+减价之后的价钱进行计算。代金券的话,应该是折扣之后计算,在代金券之前,因为代金券还是要算入税费的。
TVA金额的计算,以及应该放在那里
// fixme 发票的TVA金额应该在生成发票的时候当场计算,并记录在Article里。因为这里知道各子项的TVA金额,直接累计一气呵成。否则如果如果子项TVA不同的话就很麻烦。
// fixme 不清楚 TVA是应该按照实收计算。所以当修改发票的时候,即实收金额被更改以后,TVA金额也应该改变,特麻烦。
// 订单的名义TVA金额应该写在订单表里。同理,订单名义价格也应该写在订单表里。(可能区分名义TVA和实际TVA)
MIS三联表分别记录哪些信息(但是同一次交了多种款项,怎么生成发票呢?):
总结:
1. Article子项表:
所有信息自备和齐全,方便订单来对它们进行统计。同时也方便转移到另外一个订单。
2. 订单表:
方便起见,但不是必须的,可以把订单所有Article子项的金额和TVA金额写到订单表里去,方便查询。但其实可以一个字不写,等到要用的时候去现查。现查不要紧,但不要现算。因为现算既浪费时间,而且有时候SQL也很难编写。
3. 发票表(其实是交款表?发票其实应该只有一张)
所有信息自备和齐全,方便订单来对它们进行统计。到底收了多少钱,多收少收,都很简单。
MIS输入界面(有关倒推):
直接标价TTC的减价特别简单,不必倒推。但是建议TTC不变,另外加一个减价选项。这样总共减了多少价也很清楚了。
只有开价HT并且减价的时候,才需要倒推,才能知道减价后的HT是多少。
MIS数据库后台字段设计:
不必把TTC单价×数量的最后总价钱记录在数据库里,需要的话,就现场计算。否则修改的时候太麻烦了,需要改太多的东西。
TVA金额的计算,以及应该放在那里的更多相关文章
- 货币金额的计算 - Java中的BigDecimal
在<Effective Java>这本书中也提到这个原则,float和double只能用来做科学计算或者是工程计算,在商业计算中我们要用 java.math.BigDecimal.,而且使 ...
- 金额的计算BigDecimal类
金额的计算BigDecimal类 double d = 9.84; double d2 = 1.22; //注意需要使用BigDecimal(String val)构造方法 BigDecimal bi ...
- Java工具类之——BigDecimal运算封装(包含金额的计算方式)
日常对于金额计算,应该都是用的BigDecimal, 可是苦于没有好的工具类方法,现在贡献一个我正在用的对于数字计算的工具类,项目中就是用的这个,简单粗暴好用,话不多说,代码奉上(该工具类需要引入g ...
- java订单金额分级计算
package ord; import java.util.ArrayList; public class order { public String orderid; public user use ...
- 关于金额,重量等浮点数的数据库字段设计(用Int,Long代替浮点数计算)
金额.重量.成绩等数据库字段推荐使用int或bigint类型. 通常我们数据库设计中金额,重量等涉及到小数位的字段会用float或decimal,mysql还可以用double,但往往每笔金额的计算我 ...
- php 关于金额的几种计算方式
php 关于金额的几种计算方式 平常开始开发过程中,多多少少都会遇到点关于金额的计算,比如设置返利.提现手续费.折扣啊等等诸如此类的比例,然后再计算出之后的实际的费用. 下面,以折扣为例,来实现这类计 ...
- 使用streaming window函数统计用户不同时间段平均消费金额等指标
场景 现在餐厅老板已经不满足仅仅统计历史用户消费金额总数了,他想知道每个用户半年,每个月,每天,或者一小时消费的总额,来店消费的次数以及平均金额. 给出的例子计算的是每5秒,每30秒,每1分钟的用户消 ...
- JAVA金额按比例分摊,零头处理
金额精确计算,必须使用BigDecimal; 平均分摊,分摊的零头,一般都是由数据"精度"和分摊系数决定的: 主要是如何对零头进行处理,保证尽可能的平均分配. 1.按户均摊 /** ...
- vue实战记录(五)- vue实现购物车功能之商品总金额计算和单选全选删除功能
vue实战,一步步实现vue购物车功能的过程记录,课程与素材来自慕课网,自己搭建了express本地服务器来请求数据 作者:狐狸家的鱼 本文链接:vue实战-实现购物车功能(五) GitHub:sue ...
随机推荐
- 《SaltStack技术入门与实践》—— Job管理
Job管理 本章节参考<SaltStack技术入门与实践>,感谢该书作者: 刘继伟.沈灿.赵舜东 在SaltStack里面执行任何一个操作都会在Master上产生一个jid号.Minion ...
- SpringBoot动态注册Servlet
1.SpringBoot配置自定义监听器 实质上是在servlet3.0+的容器中,注册一个Servlet. 功能:监听对应的请求路径url-api @Slf4j @Configuration pub ...
- postman—UI测试
思路 发送请求去拿到网站的响应->html 解析HTML标签,判断一些元素是否显示 目的 快速检查UI是否正确 测试地址 http://www.itest.info/courses 我们接下来要 ...
- echart-如何画自定义的图形,三角形为例
- mybatis学习$与#号取值区别
1,多个参数传递用map或实体封装后再传给myBatis, mybatis学习$与#号取值区别 #{} 1.加了单引号, 2.#号写是可以防止sql注入,比较安全 select * from use ...
- Java——常用类(StringBuffer)
[StringBuffer] <1>java.lang.StringBuffer代表可变的字符序列. <2>StringBuffer和String类似,但是StringBu ...
- 简记特定容器list和forward_list算法
链表类型list和forward_list有独有的sort.merge.remove.reverse和unique,而通用版本的是不能用于这两个类型的,因为所要求的迭代器不同,通用版本需要迭代器支持更 ...
- luogu P1428 小鱼比可爱 x
P1428 小鱼比可爱 题目描述 人比人,气死人:鱼比鱼,难死鱼.小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度.参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示 ...
- Spring Cloud架构教程 (五)服务网关(过滤器)
过滤器的作用 通过上面所述的两篇我们,我们已经能够实现请求的路由功能,所以我们的微服务应用提供的接口就可以通过统一的API网关入口被客户端访问到了.但是,每个客户端用户请求微服务应用提供的接口时,它们 ...
- ES6 二进制和八进制字面量
ES6 支持二进制和八进制的字面量,通过在数字前面添加 0o 或者 0O 即可将其转换为二进制值: let oValue = 0o10; console.log(oValue); // 8 let b ...