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 ...
随机推荐
- 【GDOI 2016 Day1】疯狂动物城
题目 分析 注意注意:码农题一道,打之前做好心理准备. 对于操作1.2,修改或查询x到y的路径,显然树链剖分. 对于操作2,我们将x到y的路径分为x到lca(x,y)和lca(x,y)到y两部分. 对 ...
- 使用穷举法结合numpy解决八皇后问题
一般说到八皇后问题,最先想到的就是回溯思想,而回溯思想往往是需要递归来实现的. 计算机很善长做重复的事情,所以递归正和它的胃口,而我们人脑更喜观平铺直叙的思维方式.当 我们看到递归时,总想把递归平铺展 ...
- 【HDOJ6731】Angle Beats(极角排序)
题意:二维平面上给定n个整点,q个询问 每个询问给定另外的一个整点,问其能与n个整点中任意取2个组成的直角三角形的个数 保证所有点位置不同 n<=2e3,q<=2e3,abs(x[i],y ...
- [CF1082G]Petya and Graph:最小割
分析 发这篇博客的目的就是要让你们知道博主到底有多菜. 类似于[NOI2006]最大获利.(明明就是一模一样好吧!) 不知道怎么了,半秒就想到用网络流,却没想出怎么建图. 连这么简单的题都没做出来,我 ...
- AC自动机再加强版
AC自动机 拓扑排序优化,注意拓扑排序前要把所有入度为零的点都加进去 #include<bits/stdc++.h> using namespace std; #define maxn 1 ...
- ionic打包app——以安卓版本为例 辛苦之路~~~
最近同事做了个angular项目,因为要离职,所以项目我就来接手了,用ionic打包app,然后无数配置的坑就等着我了~~~ 环境安装 1.nodejs 因为自己刚接触做angular项目,就更新到了 ...
- ES6 嵌套数组进行解构
let [foo, [[bar], baz]] = [1, [[2], 3]]; foo // 1 bar // 2 baz // 3 let [ , , third] = ["foo&qu ...
- JAVA 8 :从永久区(PermGen)到元空间(Metaspace)
你注意到了吗?JDK 8早期可访问版本已经提供下载了,java 开发人员可以使用java 8 提供的新的语言和运行特性来做一些实验.其中一个特性就是完全的移除永久代(Permanent Generat ...
- 年薪100万的人都是怎么玩Excel的?
年薪100万的人都是怎么玩Excel的? 2017-12-21 13:42美国 作者:珍妮Jenny 来源:一周进步(ID:weekweekup) 本文已获原作者转载授权,如需转载请联系原公号 本文重 ...
- mysql 无法远程连接 没有监听端口
centos yum安装mysql: 远程连接完成用户授权和防火墙配置,可还是连接不上. 发现mysql没有监听3306端口. 修改mysql配置文件 vi /etc/my.conf 注释掉以下行,重 ...