在线发票生成器
填写双方信息与行项目自动算税,导出可打印的 PDF 发票。
隐私安全:所有处理均在您的浏览器本地完成,数据绝不上传发票生成发票设计工具
单据设置
选择单据类型、模板配色与货币。
模板配色
历史单据
暂无历史单据,点击「存入历史」可保留当前单据。
单据内容
开票方 / 收款方
客户 / 收货方
单据信息
行项目
| 描述 | 数量 | 单价 | 税率% | 金额 |
|---|
费用与税率
备注
付款信息
预览与导出
小计--
折扣--
税额--
运费--
合计--
工作原理
- 1所有金额以「分」为单位用整数运算:逐行金额 = round(数量 × 单价 × 100),税额逐行取整后再汇总,避免 0.1 + 0.2 这类浮点误差导致分位不一致。
- 2合计 = 小计 − 折扣 + 税额 + 运费;折扣按比例时取小计的百分比、按固定额时直接扣减,两者都会夹在 0 与小计之间,不会出现负合计。
- 3单据版式用 canvas 逐行绘制:表头、双方信息、行项目表格、汇总与备注都按 A4 比例换算成像素坐标;预览用较低分辨率,导出时用更高分辨率重绘以保证清晰。
- 4金额大写把数字按「万 / 亿」分节,再逐位套用元、角、分与拾、佰、仟单位,并处理连续零合并、末尾零省略与负数等边界情况。
- 5导出的 PDF 由每页一张本地渲染的 JPEG 封装而成,打印则把同一张高分辨率图片放进打印窗口,全流程不产生任何网络请求。
常见问题
数据会上传到服务器吗?
不会。所有计算、绘制与导出都在浏览器本地完成,页面不发起任何网络请求,断网也能正常使用,公司与客户信息只保存在你自己的设备上。
导出的 PDF 里中文会乱码或变成方块吗?
不会。单据是先按 A4 比例用系统字体绘制成图片,再封装进 PDF,因此中文显示与你在页面上看到的一致,不依赖服务器或网络字体。
刷新或关闭页面后,填好的内容会丢吗?
当前编辑内容会自动保存在浏览器的 localStorage 草稿中,重新打开会自动恢复;点击「存入历史」还能保留多份单据,随时重新打开编辑。清除浏览器数据后这些本地记录会丢失。
为什么切换货币后小数位会变?
不同货币的小数位不同,例如日元(JPY)没有小数位,而人民币、美元保留两位。工具按所选货币的配置来格式化金额,不写死两位小数。
折扣和税额是怎么计算的?
行金额逐行四舍五入后相加得到小计;折扣按比例时取小计的百分比,按固定额时直接扣减。税额在「逐项税率」模式下按每行税率分别取整再汇总,在「统一税率」模式下对小计按同一税率计算。
打印出来有多余的页眉页脚怎么办?
工具已设置打印样式页边距为 0,若浏览器仍打印出网址、日期等页眉页脚,请在打印对话框的「更多设置」中取消勾选「页眉和页脚」,并选择 A4 纸张、缩放 100%。