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 ...
随机推荐
- 适用于填空题出题 的随机算法 PHP
<?php #寻找一个满足给定空数和题数要求的随机方案,事先需统计出每题空格数情况队列$m_blk,以及这些题分别有多少个$m_que. #以下算法将找到一个随机方案,若未找到将返回假值,如果不 ...
- Java——容器
[容器API] <1>J2SDK所提供的容器位于java.util包内.
- vim 复制
要复制到别的地方,用 "+y 来复制,注意是三个字符.gg"+yG 1.复制 1)单行复制 在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制: 2)多行复制 在命令模式 ...
- [CSP-S模拟测试]:星际旅行(欧拉路)
题目传送门(内部题4) 输入格式 第一行两个整数$n,m$,表示行星和虫洞的数量.接下来$m$行,每行两个整数$u,v$,表示存在一个双向虫洞直接连接$u$和$v$.每一个虫洞最多会被描述一次. 输出 ...
- [CSP-S模拟测试]:寿司(暴力)
题目描述 小$c$是一名$oier$.最近,他发现他的数据结构好像学傻了.因为他在刷题时碰到了一道傻逼数据结构题,强行使用了平衡树来解决,卡着时间$AC$.为此,他被狠狠地嘲讽了一番.于是,小$c$找 ...
- Spring Boot 集成 JPA 的步骤
Spring Boot 集成 JPA 的步骤 配置依赖 compile group: 'org.springframework.boot', name: 'spring-boot-starter-da ...
- 将MSQL中的数据导出至EXCEL
mysql> show variables like '%secure%';+------------------+---------------------+| Variable_name | ...
- Using Groovy To Import XML Into MongoDB
w https://trishagee.github.io/post/groovy_import_to_mongodb/
- fedora23中安装php-mysql等
scheme: [ski:M], ch本身还是发的k音, 如同school, 但爆破后发g 默认的, by default. 没有defaultly 基本上所有的短语, 修饰名词都是放在名词的后面的: ...
- TP框架对数据库的基本操作
数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是对数据的增删改的操作,一步步的讲述一下框架对数据库的操作 想要操作数据库,第一步必然是要:链接数据库 一.链接数据库 (1)找 ...