更新日志
每个版本的变化按时间倒序列在下面。软件更新时显示的「本次更新」内容与这里一致。
2026-10-08 · v0.1.39
Added
- 主界面右上角新增书本图标,点击在浏览器打开使用文档(tidoc.bitfsae.com);设置底部「关于」里新增「文档站」链接,指向同一地址。
Changed
- 卡片物资名称前新增一个抬头色的小圆点,与名称垂直居中,抬头不再只靠淡色底区分;六种抬头用色相拉开的饱和色,浅色和深色主题各一组,名称很长换行时圆点跟着名称,不会单独留在上一行。按抬头分组或已筛选到某个抬头时整页同一个抬头,圆点不重复显示;方案里没有的抬头显示灰点,没有抬头的卡片留出空位,物资名称保持上下对齐。
- 卡片去掉重绘时的入场动画和悬浮位移,点击、取消选择即时反馈。滚动期间暂停悬浮提示,鼠标停留后再显示;键盘提示和相邻提示切换保持即时响应。
- 条目卡片移除左侧抬头色条,改用接近主背景的淡色纯色底区分抬头。浅色和深色主题分别降低底色的饱和度;选中后保留原底色,以加粗蓝色边框标明选择状态。完整抬头改为在卡片上悬浮或键盘聚焦时提示。
- 打印预检和导出记录按严重程度集中展示提醒。同一问题合并为一行,并保留涉及发票的数量和号码;收款缺项列出具体字段,浅色提醒文字提高对比度。预计生成文件单独列出文件类型和收款信息。
- 设置、打印导出、动态字段和详情中的折叠标题统一箭头大小、位置与间距;高级设置采用紧凑的收起高度。收款信息窗口缩窄并压缩行距,长文件名和窄窗口下的操作区支持换行。
- 新增测试版(预发布)更新通道:设置里可选「接收测试版更新」(默认关闭)。打开后同时检查正式版和测试版,取较新的一个,测试版带「测试版」标记;版本按 semver 比较,同版本的正式版高于测试版,关闭后不会自动降级。带
-beta.1之类后缀的 tag 只发布到测试版清单,不影响正式版用户:测试版发布不会重新上传正式版清单已经在用的打印/OCR 组件版本(这些文件每次构建的内容都不同,覆盖会让正式版清单里的校验值失效),tag 格式在构建开始前检查。在设置里关闭「接收测试版更新」时,已下载但还没安装的测试版更新包会一并丢弃。 - 默认方案 BITFSAE:查验单不再是必需材料(原有的 BITFSAE 方案升级后同步采用)。升级时保留你和旧默认值不同的材料要求;与旧默认值相同的项(包括保存过材料要求但查验单仍保持「必需」的方案)改为跟随新默认,需要必需请在「设置 → 报账方案」重新勾选。你自己新增的、删除的材料角色保持原样;默认勾选的打印输出改为报账说明、验收单和按条目材料拼接 PDF。已有条目保留创建时的规则,需要时可用「更改方案」重新套用。
- 打印导出窗口重新设计:每个输出一行(名称加文件类型),日期和收款对象只在勾选的输出用得到时才出现,原来每个输出各一组的「本次输出设置」合并为一组默认折叠的「本次调整」,方案固定的项和与方案无关的项不再显示;通用输出(总览 Excel、附件包、材料 PDF)收进折叠区。每次打开窗口都采用当前方案配置的默认勾选,旧条目的历史默认值和上次临时选择不覆盖它;实际文档仍按条目的固定修订生成。通用输出沿用上次选择。「收款方式」(统一/分别)不再能在导出窗口里临时改,只在「设置 → 报账方案 → 打印与导出」里设置。
- 「检查生成内容」和「生成选中内容」合并为一个「生成」按钮:自动检查,没问题直接生成;有阻断项时列出原因(重复的问题合并为一条);只有提醒时按钮变成「仍然生成」。
- 收款相关的入口按方案实际用途显示:设置里的「个人收款信息」、方案页的「收款信息」、方案设置里的「收款方式」「人员编号名称」,以及批次里的「本批次收款对象」,只在方案有输出需要收款对象时出现;「按报账人指定收款对象」只在收款方式为分别收款时出现;分别收款时「默认收款对象」不会作为后备使用,所以此时不再显示它,也不再写成「没有指定时使用」。「收款方式」现在显示方案实际的方式,不再误显示为「不含收款信息」,也去掉了对已声明收款的输出不起作用的这个选项。
- 方案设置里与方案功能无关的项不再显示:没有材料 PDF 输出时不显示材料编号、图片布局和材料排序,没有配置抬头时不显示默认抬头。
Fixed
- 条目详情里,发票还有「识别提醒」时,不再同时显示绿色的「校验通过」。材料齐全、有识别提醒的条目现在显示「材料齐全、实付已填;识别提醒还需要核对。」,提醒处理完后恢复原来的说明。
- 导入
.tidoc绑定包时,新增条目不再提示「部分附加信息无法对应,保留本机值及外部历史信息」。这条提示只在本机已有同一张发票、且有附加信息无法并入时出现。 - 设置、报账方案、收款信息和导出记录先显示可关闭的窗口,再读取内容;加载中关闭或重新打开时,迟到的响应不会重新弹出旧页面。设置偏好合并读取,数据目录统计在窗口显示后执行,且不占用其他按钮的后端锁。
- 打开设置等窗口不再先闪一个「正在读取」小窗再跳成大窗:加载很快时直接显示最终窗口;超过 100 ms 才显示与最终窗口同宽的加载骨架,内容到达后窗口高度平滑展开。所有弹窗恢复轻量的淡入上移和关闭淡出(只动透明度和位移,系统开启「减少动态效果」时关闭);软件更新的检查结果、打印导出的检查结果出现时窗口高度平滑过渡;右键菜单与下拉列表一样淡入。
- 选中的卡片不再套一圈加粗的蓝色外框:改为在抬头底色上叠一层淡淡的蓝色、边框换成柔和的蓝线,并在卡片左缘内侧加一条短竖线,浅色和深色主题分别调过深浅。键盘焦点仍是外圈光晕,与选中状态可以区分。
- 打印导出窗口连点不再打开两个,加载期间同样显示可关闭的加载窗口;条目、收款对象和组件状态改为并行读取。
- 关闭设置子页面只更新相关摘要,保留输入、折叠状态和滚动位置;弹窗取消整页模糊与缩放入场,关闭时回收自绘下拉,批量增强下拉时先读取样式再写入节点,减少反复重排。
- 打印导出组件的能力探测结果保存在本机,组件文件不变时不再每次启动重新运行组件;此前每次启动后第一次打开设置或打印导出窗口要等约 3 秒,期间其他操作也会排队。只有超时或无法启动的探测会在下次启动时重试。组件状态检查不再占用后端锁,组件文件的完整性校验在文件未变时复用上次结果。
- 按抬头或报账人分组浏览时,Shift 范围选择改为按屏幕上的卡片顺序,不再把其他分组里的条目一起选中。
- 卡片整体的抬头提示改为鼠标停留 0.6 秒后才出现,扫读列表时不再逐张跟随弹出;徽标和按钮的提示仍即时切换。
- 长列表只排版和绘制视口附近的卡片,300 条时重绘耗时约减少六成。
- 连续切换筛选或输入搜索词时,较早发出但较晚返回的列表结果不再覆盖最新结果;批次信息和条目改为并行读取。
- 分组浏览时修改单张卡片(材料、金额、备注等)只替换该卡片并更新所在组的合计,不再重绘整个列表;换了报账人或抬头时仍重新分组。
- 「启动默认抬头」保存的抬头已从方案中删除时显示为「全部」,不再是空白;导出目录为空时按钮不再显示多余的「·」。
- Windows 测试版安装器的 CI 校验改为读取数字版本字段,避免版本文本尾部空格导致编译成功后误报失败。
- 卡片点击和焦点切换不再逐张写入整个列表的状态;空格、Shift 范围选择、全选、取消和分组选中改为就地更新。取消只处理此前已选卡片,重复全选不再访问卡片,键盘导航使用列表索引。选择栏只更新变化项,列表重绘一次替换内容;分组选中标记随单卡选择同步刷新。连续点击卡片不再忽略第二次点击。
- 打印导出组件升到 0.1.22,包含上面的单价修复;已安装旧版组件的用户会在更新页看到组件更新。
- 修复 Windows 上打开设置、更新或使用打印组件时会闪出黑色终端窗口:打印组件的探测、生成和 PowerShell 识别统一隐藏窗口。
- 导出预检有阻断项时,窗口只显示「未知错误」且「生成选中内容」一直是灰的:带
ok字段的预检结果被误当作调用失败,具体原因被丢掉。「更改方案」的预览也是同样的问题,一并修复。 - 单价(价税合计 ÷ 数量)除不尽时(如 100.00 ÷ 3)生成了上百位的数字,超出输出协议的长度上限,导致预检报「文字长度超限」而无法导出;现在除不尽时保留 8 位小数。
- 读取更新清单时中途超时或连接被重置(不只是连不上),测试版通道现在退回正式版清单继续检查,不再让整次检查失败。
- 升级内置报账方案时,如果某个方案的本地覆盖数据残缺,该方案保持旧版本,不再可能让软件启动失败。
- 中文系统的 Windows 上
pip install -r requirements-ocr.txt因文件里的中文注释读取失败:依赖文件改为纯 ASCII,并加了检查。
2026-10-06 · v0.1.38
团队适配全库回归、Node 源码语法检查及核心/打印源码自检已通过,预览过期响应的时序调整也已通过源码检查和来源集成测试。平台成品、原生 UI、办公软件验收仍待完成。具体状态见 README,逐项证据见实施与验收记录。旧日期下的说明记录当时行为,不代表当前方案的默认值。
Added
- 增加通用和 BITFSAE 报账方案、不可变规则修订、类型化字段、自定义材料角色及条件要求。
- 已停用的报账方案可在「报账方案」页底部重新启用(新增
enable_scheme)。 - 增加独立收款对象及方案映射、导出预检、历史任务快照、重新生成、取消和失败恢复。
- 增加团队适配包 CLI,支持初始化、校验、解释、fixture 渲染、样例测试、差异查看和严格打包。
- 增加适配包开发手册、AI 工作流和核心资源自检。
- Windows / macOS 发布配置增加适配 Schema、内置包和共享字段目录。实际成品验收另行记录。
- 核心四类输出预检与打印 IPC 在实际运行时校验完整共享输出上下文 Schema;核心与组件使用同一
context.schema.json,打印组件增加真实使用的jsonschema依赖及 frozen 资源检查。校验诊断只给 JSON Pointer 和约束,不回显私人值。 - 导出按实际工作显示资源核对、Excel/附件包生成、Word/PDF 生成、产物检查及原子保存阶段;前端每 400 ms 查询内存进度,生成期间取消和进度查询不等待 API 数据库锁。
Changed
- 拖入文件的提示精简为底部的一条文字:空白处用虚线框并提示可导入发票 PDF/XML 或
.tidoc绑定包,移到卡片上时只有该卡片高亮并提示可添加付款截图、实物图或查验单(原来同时显示顶部长提示、「松开空白处」气泡和所有卡片的绿框)。条目详情等弹窗打开时不再显示页面级提示。 - 拖入的文件读不到时(例如微信缓存文件受 macOS 保护)改为显示中文原因和处理办法,不再弹出英文的「The I/O read operation failed.」;终端不再打印对应的
sandbox_extension_issue_file日志(--debug仍会显示)。 - 工具条更紧凑:搜索框在窄屏下不再独占一行,只压缩宽度并与筛选控件保持同行;批次栏移到状态预设(全部/待补材料…)所在行,空间足够时批次栏在左、状态预设靠右同占一行,放不下时自动退回上下两行。
- 深色主题去掉偏紫的色调:背景、面板和文字改为纯中性灰;蓝色强调色、抬头蓝和云识别配色从偏紫的薰衣草蓝改为天蓝。原生窗口的深色初始背景同步为
#141414。 - 设置里的「扩展」(抬头与税号、材料要求)移到「设置 → 报账方案 → 管理」:它们是方案本身的内容,现在和其他方案设置一起编辑,保存时只生成一个新版本(原来每增删一个抬头、切换一次材料要求都会生成一个版本)。页面提供未保存提示、逐项「恢复默认」和「全部恢复默认」;原来的只读「方案内容」只保留输出和条件规则。保存方案的接口新增
update_scheme,一次提交设置、抬头和材料要求。 - 内置通用方案声明了规则能力(
rules.v1,版本 1.0.1),可以把「实付金额」设为必需;原来在通用方案上开启会报缺少能力声明。 - 付款截图金额识别默认改为手动填写(实验性,使用系统自带 OCR,效果有限)。已有条目仍沿用创建时的设置。
- 不同抬头的卡片左侧色条使用不同颜色:方案没有指定颜色的抬头按顺序自动分配,明确指定的颜色不变。色条改为贴着卡片整条左边(原来是一小段细条),悬浮显示「抬头:名称」(原来是「切换选中」);抬头不在方案里时会注明。
- 卡片去掉左侧的复选框:点击卡片(或按空格)即可选中,选中后卡片整体变色并加粗边框;色条不再兼作选中按钮。紧凑视图同步调整。
- 卡片不再重复显示已知信息:已按报账人筛选或只有一个报账人时不显示报账人徽标;正在查看某个批次时不再显示该批次徽标(仍属于其他批次的照常显示)。
- 悬浮提示置于最上层,不再被展开的下拉列表挡住;下拉选项只在文字被截断时显示提示,并放在列表侧边;点击或按键后提示立即收起。
- 卡片和详情页恢复为方案化之前的材料操作:卡片保留 发票/实付/付款/查验/实物 一行(含完成状态、右键打开、在线查验),详情页保留按角色分组的材料区;方案自定义材料作为附加按钮和分组出现,方案信息放在详情页最末的折叠区(默认收起,有待处理项时标题上带「待处理」标记)。
- Word 的名称、数量、输出 ID、模板和文件名由方案声明。BITFSAE 保留报账说明和验收单,其他团队可声明采购申请、费用结算等文档。
- 审核人的必填要求按方案检查;抬头、材料和新建默认值保存为修订,切换默认方案不改变旧条目。
- 收款资料按完整对象选择,旧全局设置迁入独立记录,不再从不同来源逐字段拼接。
- 收款对象使用“人员编号”名称,方案可设为学号或工号;BITFSAE 使用学号,账号和编号保留前导零。
- 报账方案设置的保存接口新增可选的
clear(恢复默认的设置名列表)。对可空设置(默认抬头),null现在表示明确的“无”,不再被当作清除覆盖,因此方案包有默认抬头时也能选“跟随发票识别”;其他设置传null仍表示恢复默认。 - 方案包检查预览、重绑定预览、资源清理预览和导出计划改为有数量和有效期上限的内存缓存(最多 8 个、1 小时);检查预览只保留包摘要而不再保存整个包的内容,导出取消标记在任务结束后释放。过期的预览会提示重新预览。
- 升级时的数据库备份:同一次启动里已有升级前备份就不再保存第二份,空的全新数据库不保存备份;备份超过 2 份时,设置的“数据位置”提供“清理旧备份”(保留最近 2 份,需确认)。
- 设置页不再重复放置属于报账方案的开关(付款截图识别、实付默认值、绑定包备注与标签、新建默认抬头),统一在「报账方案」页维护;修改抬头后会从方案重新读取默认抬头,避免残留已移除的默认值。
- 「导出记录」弹窗显示可读的时间、状态、发票数量与文件类型,增加空状态和“打开文件夹”,重新生成后定位到新记录。
- 设置中的“报账方案”页按设置页的分组卡片重新布局:方案摘要与操作、按用途分组的设置、保存前的未保存提示与离开确认、逐项“恢复默认”、可读的历史版本,以及可删除的收款对象。
- 界面新增批次输出与收款设置、本次每项输出设置和生成失败取消反馈;审核人按方案显示、收进高级或隐藏。条件表单通过后端预览刷新,验收结果另行记录。
- 增加通用材料 PDF,未安装来源团队包也可整理自定义材料;文件仍按真实抬头隔离,不可转换的材料在生成前提示。
- 四类输出共用纯数据上下文。新旧打印 IPC 使用同一渲染路径;绑定包 v5 保存来源规则、材料角色和允许交换的附加值,继续读取 v1~v4。
- 工作区打印组件版本由 0.1.20 调整为 0.1.21,以便后续发布时旧组件能发现更新;本次尚未构建或发布组件。
Fixed
- 弹窗的打开与关闭统一由
modal()处理:同类弹窗不再被连点叠出多个(设置、报账方案、收款信息、导出记录等);弹窗打开时/、n、t、Cmd+A 不再作用到后面的列表;点遮罩关闭需要按下和松开都在遮罩上,在弹窗里选文字拖到遮罩外不再误关;打开后焦点进入弹窗、Tab 在弹窗内循环、后面的页面不可聚焦,关闭后焦点回到打开它的控件;增加dialog/aria-modal语义和关闭按钮的aria-label。 - 设置页的子页面(报账方案、收款信息、导出记录、报账人、软件更新、OCR)改为叠在设置页上,关闭后回到设置并按最新数据就地刷新,保留滚动位置、折叠区状态和未保存的密钥输入;此前会先关掉设置页,子页面关闭后回不到设置。
- 设置页里清除密钥、迁移数据位置、迁回默认位置改用应用内确认弹窗,不再使用系统
confirm();打开设置、报账方案、收款信息、导出记录时,加载稍慢会显示"正在打开…"。 - 报账方案设置页保存时只提交改动项,并按方案包默认值清除相同的覆盖;此前保存一次会把全部设置固化为本地覆盖,之后方案包更新的新默认值不再生效。
- 条件字段和“账户类型”联动使用的
hidden被.form-row的display:flex盖过而不生效;表单说明文字不再渲染成空的灰色提示框。 - 保存收款对象后,方案没有收款对象级附加字段时不再弹出空表单。
- 安装打印组件后的模板重新校验把方案资源路径按进程工作目录解析,导致内置模板全部被判为缺失;现在按数据根目录解析,测试同时收紧为不得出现 invalid。
- 适配包资源写入沿用调用方的操作编号,进度和取消在写入阶段也生效;取消后清理暂存目录,保留原方案。
- 导出目标记录写入失败时保存失败任务并清理暂存文件,允许按原快照重新生成。
- 旧库迁移测试固定使用无业务数据的 v11 SQL 样本,提交后仍能验证真实旧结构的迁移和回滚。
- 单条及批量创建使用目标批次的固定修订解析默认抬头和实付初值,避免套用方案最新设置;批量创建 API 允许仅 XML 的发票组。
- 文件夹和多选扫描将能识别发票号码的独立 XML 放入导入组;建议标签按条目固定修订初始化,新建时明确加入选定批次。
- 既有条目的付款截图识别采用条目固定修订的设置,切换默认方案不会改变它的识别行为。
- 正式导出为缺少明细的历史条目安全重解析原 PDF,显式采用条目上下文,仅补充本次投影。
- 默认输出缺省时继承方案或输出声明,显式
[]保留全不选;本次空选择不恢复默认,界面与预检使用相同语义。 - 批次上下文排除内部输出设置和更新时间,空备注转为文本空值;批次收款选择重新打开时按保存对象回显。
- 校验器的旧独立调用兼容常量从同一内置方案资源读取,移除学校及两税号的字面量副本;应用调用仍显式传入条目修订上下文。
- 上下文 Schema 用
$defs复用重复结构,闭合export.options和齐备信息的正式属性;核心和打印组件自检都检查共享校验资源。 - 打印自检实际加载依赖并经正式 IPC 生成中文/金额 DOCX,以及含发票 PDF、图片和编号的两页材料 PDF,检查结果后清理临时文件;可定位但无法加载的依赖会使自检失败。
- 初始导出记录保存失败时标记任务失败、清理半写文件并使原预览失效,保留数据库快照及材料供恢复后重新生成。
- 输出预检及重绑定返回时核对当前表单版本,修改选择或关闭窗口后丢弃旧响应;旧输出预览及时取消,重绑定目标方案的过期加载结果也不覆盖当前选择。
- 发布测试安装打印依赖,使模板和 IPC 用例可以执行;Windows 核心在生成安装器前执行成品自检,退出码异常时中止构建。
2026-09-14
Changed
- Windows 核心更新在服务器支持时改用四路分段下载,保留临时分段以便失败后续传;分段不可用时自动复用已下载的连续内容并退回单连接。macOS 与普通下载同样可以从已有临时文件继续,减少网络波动后的重复传输。
- 顶栏和软件更新窗口现在显示下载速度、已下载大小与总大小,并在下载结束后明确切换到完整性校验和更新文件准备状态,不再把全部等待时间笼统显示成下载百分比。
2026-09-14 · v0.1.37
Changed
- 绑定包导入预览的条目列表改为固定共用列宽,金额、归属和处理状态不再随文案长度错位;每条同时显示「新增 / 补充 / 已有」、可补充内容与本机已有批次。默认仍沿用统一导入设置;仅在需要时可逐条取消勾选,或将个别条目单独放入已有批次、新批次或「未进批次」。
- 大型绑定包的完整性检查改为流式校验附件、复用已解压的结构数据,并批量读取本机重复条目的对比信息,减少重复读取、数据库查询与内存占用。用户确认导入时会复用未变更文件的已验证结果,不再把整包重复校验一遍。
2026-09-14 · v0.1.36
Fixed
- 修复 Windows 一键更新整体替换安装目录后,
.tidoc绑定包的独立图标文件被删除、资源管理器回退为空白文档图标的问题;文件关联改为直接使用已嵌入图标的主程序,并在新版首次启动时自动修复旧注册值。 - 修复部分税务平台 PDF 把购买方与销售方税号文字层放在字段标签上方时,本地识别遗漏购买方税号的问题;同时支持数量独立、单价与金额粘连的明细数字流,避免此类发票漏掉整条物品明细。
2026-09-13 · v0.1.35
Fixed
- 修复更新完成弹窗在通过安装包升级或本机更新缓存仍指向旧版本时显示“此版本没有附加更新说明”的问题;当前版本说明会随核心程序一起打包,缓存缺失或过期时仍可正常展示。
2026-09-13 · v0.1.34
Changed
- 在条目详情打开时粘贴付款截图、实物图或查验单,会直接归入当前条目,继续执行材料类型、发票归属与付款金额校验,并立即刷新详情中的材料和齐备状态。
- 粘贴或批量导入发票的确认弹窗新增报账批次选择:可放入当前/已有批次、留在「未进批次」,或填写名称随本次条目新建批次。
- 新建条目、导入发票、修改条目报账人和条目详情里的报账人选择器都可就地新建报账人;创建后自动回到原弹窗并选中新身份。
2026-09-13 · v0.1.33
Changed
- 报账条目改为只归属于一个批次:选择其他批次时直接移动,旧数据若存在重复归属则在升级时保留最后一次装入的批次,避免重复报账、导出和统计。
- 单条与批量移动批次改用统一的整行目标选择器,可明确移到已有批次、「未进批次」或新建批次;再次点击当前具体批次会返回「在办」或「已归档」汇总视图。
- 「删除批次」确认改为默认保留条目的简洁提示;需要连同条目和附件永久删除时,使用默认不勾选的危险复选框。
- 启动更新检查提前执行并将缓存周期从 24 小时缩短到 1 小时;顶栏下载按钮点击后立即显示 0%,后台启动复用已检查的资源信息,更新完成后的首次启动恢复显示版本变化弹窗。
Fixed
- 收紧「删除批次」等简短确认弹窗的宽度与信息层级,使危险选项中的复选框相对整组文字垂直居中、对勾在框内居中,并清理条目数量文案中的量词叠加。
2026-09-12 · v0.1.32
Changed
- 一键更新成功后的提示现在同时显示升级前后的版本号,便于直接确认原位替换和新版本启动均已完成。
2026-09-12 · v0.1.31
Changed
- 核心更新改为安静的一键流程:启动后默认低频检查,发现新版本时在设置旁显示下载按钮;下载期间原位显示百分比,校验完成后切换为重启按钮。Windows 发布版会退出旧版本、原位替换并自动打开新版本,不再弹出安装向导;macOS 在安装位置可写时使用同一流程,否则保留 DMG 更新入口。
.tidoc导入预览可按报账人勾选,只处理当前成员需要的条目;命中已有发票时不再整条跳过,而是以本机数据优先,补充包内新增的材料、附件备注、条目备注、标签、空缺基础信息、明细和云识别记录,并在预览中先显示“新增 / 补充 / 无变化”。- 设置 → 偏好新增「卡片显示创建时间」,默认关闭;开启后卡片显示精确到分钟的条目创建时间,便于按录入先后核查。
- 应用图标按平台拆分为可复现素材:Windows 使用带透明圆角的多分辨率 ICO,macOS 保留完整方形 ICNS 交给系统裁切;Windows 安装器和
.tidoc文件关联显式使用圆角图标,macOS 应用包也声明.tidoc文档类型与图标。 - Tidoc 改为单实例运行:重复启动会恢复并聚焦已有窗口;从文件管理器再次打开
.tidoc绑定包时,路径会转交给已有窗口,若正在操作弹窗则在关闭后进入导入预览,避免多个窗口同时修改同一份本地数据。 - 「删除批次」改为范围确认弹窗,默认仅删除批次并保留条目,也可明确选择同时永久删除批次内全部条目和附件;条目同时属于其他批次时,删除条目也会从那些批次中移除。
- 导入
.tidoc绑定包时优先安排批次:有在办批次则默认选中已有批次,没有则默认新建并以绑定包文件名预填批次名;仍可选择不加入,但写入前会二次确认这些条目将留在「未进批次」。
Fixed
- 修复软件升级完成后仍沿用旧版本缓存、导致设置按钮继续显示橙色更新提示的问题;启动新版本时会立即按当前版本重算缓存状态。
- 修复 macOS 发布包在体积优化时截断主程序内嵌归档、安装后点击无法启动的问题,并新增核心成品启动自检以阻止损坏安装包发布。
- 修复绑定包导入中「报账批次 → 已有批次」在从隐藏状态显示后仍使用系统原生下拉的问题;现在所有可见的普通下拉框都由应用自绘。
2026-09-10
Changed
- 下拉框改为应用自绘的列表:原生 select 展开后的列表由系统控件绘制,圆角、阴影和间距与界面其他浮层不一致,现在工具条筛选、排序、高级筛选、设置和弹窗里的下拉统一使用自绘浮层(紧凑单列、当前项勾号、鼠标与键盘一致的高亮,并随主题切换)。包装层只承载布局、不承担绘制,触发器尺寸由上下文样式决定,不再从原生控件复制高度与内边距(折叠面板里原生控件会被 flex 拉伸,照抄会把假尺寸写死并撑高整行);浮层层级会压过当前最高的弹窗遮罩,展开箭头不再上下翻转。方向键、Home/End、Esc、首字母跳转等原生键盘行为保留,原生控件仍留在页面里承担取值与 change 事件,因此既有筛选逻辑不变。
2026-09-09
Added
- 更换新版应用 logo,并由同一张方形源图生成全套品牌素材(界面页头、favicon、Windows ICO 与 macOS ICNS),生成脚本为
scripts/generate_brand_assets.py。 - 顶栏与设置关于的「tidoc」字样改用自适应 SVG 字标,笔画颜色跟随应用主题在浅色、深色间切换。
- Windows 安装器把
.tidoc绑定包关联到 Tidoc:资源管理器中显示应用图标,双击直接启动软件并进入该包的导入预览;卸载时自动清除关联。 - 设置 → 扩展新增「抬头与税号」:可按学校或单位增删报账抬头和购买方税号,保存后发票识别、抬头校验和各处抬头下拉立即按新配置执行;默认仍为北理工与教育基金会,清空配置后不再做抬头范围提醒,其他学校无需改代码即可使用。
Changed
- 搜索框输入关键词后与抬头、报账人等筛选一样显示浅蓝激活态,清除关键词即恢复,聚焦高亮仍优先。
- 深色主题整体重调:画布改为更黑、更中性的近底色(贴近 VS Code),面板、弹窗逐级提亮并去掉蓝雾背景;详情页同一套变量联动。
- 详情页配色协调:必需但未上传的材料组用琥珀色虚线框和状态字色突出,未上传组不再淹没在底色里;价税合计适度加重;「材料齐全」确认提示更安静;去掉与材料分组重复的「待补:…」文字提示。
- 设置的外观主题从分段按钮改为与其他设置一致的下拉选择。
- 抬头筛选、启动默认抬头等下拉改为按「抬头与税号」配置动态填充,不再写死两个内置抬头。
- 多页发票的阿里云识别改为逐页调用后按页序合并,再统一校验明细金额;确认框显示发票张数和按页计算的实际调用次数,旧版只识别第一页的结果不会被“跳过已有结果”误跳过。
- 阿里云识别改为软件结果优先:只自动补齐本地为空的发票字段,明细差异一律待确认,不再自动补齐或覆盖明细;规格型号不参与差异判断,全角 / 半角标点视为一致,数量按数值比较(2 与 2.00000000 相同),云端为空的单元格不算差异。升级时会安全撤回仍保留在当前值中的历史销售方自动覆盖(例如恢复软件识别出的“智杻”),用户后来手动改过的值和自动补齐的销售方保持不动。
- 阿里云识别详情会显示当次自动补齐的字段及明细“补齐前 / 补齐后”,并把未采用的云端差异标成“保留软件值”供手动比对;新结果直接保存变动快照,升级前的现有结果会从原发票恢复可核对的历史变化。
- 明细的名称、单位、数量、金额或行数只要与软件识别结果不同,就保留软件值并进入 OCR 待确认;云端为空的单元格和数量的小数位写法不算差异,阿里云整体未返回明细时不进待确认(详情会提示已保留软件明细,无需处理);详情对比表重新分配列宽并合并状态与操作列,避免窄列文字竖排。
- 详情页在实物图未设为必需且条目没有实物图时隐藏该材料分组;卡片“已修改”悬浮提示具体字段和值变化;下拉框统一控件样式;批量重新识别按条目显示完成进度。
- 多选云识别默认跳过发票文件未变化且已有结果的条目,并允许取消跳过后重新识别;调用张数随选项即时更新,避免无意重复计费。
.tidoc绑定包升级到版本 3,随条目携带阿里云识别原文、解析结果、待确认状态和修正快照;导入后继续显示“已识别”或“待确认”,导入记录不计入接收方的本机调用次数。
Fixed
- 阿里云明细中空名称负数折扣行会并回上一商品,并清理同一商品名称被连续识别两遍的结果,避免折扣漏算后误报金额不闭合。
- Windows 调用独立 OCR 识别组件时隐藏控制台窗口,批量识别不再逐张闪出黑框。
- 发票 PDF 的金额闭合解析现在会纠正通用折行规则漏掉的单位和数量,保留发票上原本为空的单位与数量,并清理名称误作单位、规格末尾字母与“个、片”等单位粘连产生的
W个、D片、K个;本地名称末尾型号与阿里云规格相同时视为同一明细,不再产生无意义的待确认。 - 购买方税号为空时,PDF 左右分栏解析不再把右侧销售方税号误填到购买方;重新识别会同步修正旧条目并留痕,人工修正过的税号保持不变。
2026-09-07
Added
- 顶栏新增单图标明暗切换按钮,设置同时提供跟随系统、浅色和深色模式;手动切换用短暂柔和揭示降低整屏闪动,并尊重系统的“减少动态效果”设置。主题即时保存到本机偏好,启动阶段提前应用并协调原生窗口底色,表单、筛选、卡片、弹窗、状态色、滚动条、拖拽与更新界面均完成深色适配,打印媒体保持白底黑字。
Changed
- 筛选条件改为直接在抬头、报账人、标签、高级及对应高级筛选框上显示浅蓝激活态,移除重复的条件标签和高级筛选蓝点;已生效的高级下拉框不再残留额外焦点光晕,同时校正筛选文字对齐,并收敛批次标签的阴影与渐变动效。「清空全部筛选」移到筛选项旁,有条件时明确高亮、无条件时自动禁用。
2026-09-06
Changed
- 条目有多张付款截图时,卡片付款按钮直接显示张数;高级筛选新增「多张(2 张及以上)」条件,便于集中核对分笔付款材料。
- 所有列表视图的多选操作均可「重新识别」,并可分别选择发票或付款截图;软件记录独立于软件版本的本地识别规则版本与文件摘要,普通软件升级不会让已处理材料重新进入待识别。付款截图未识别到金额或识别合计与发票总额不一致时进入「识别提醒」,重新识别不会覆盖已确认的实付金额。
- 修复 Windows 11 下工具栏下拉选项首字左缘被裁切、关闭与清除按钮的悬停底色偏离图标等对齐问题。
- 修复部分数电发票把明细表头与首条商品文字叠在同一文本层时无法识别物资名称的问题,兼容无单位数量的服务/加工明细,以及数量与单价粘连的商品明细。
- 校正北京理工大学购买方税号为
12100000400009127B,避免正确发票被误报为「识别提醒」。 - 发票归属校验新增购买方税号核对:北京理工大学应为
12100000400009127B,北京理工大学教育基金会应为53100000500021676K;税号缺失、错误,或已知税号与抬头矛盾时均进入「识别提醒」。 - 拖拽或粘贴单个
.tidoc绑定包会直接进入完整性检查和导入预览;从列表、条目卡片或详情区域放入都不会再被当作普通附件。混入其他文件或一次放入多个绑定包时会明确提示分开导入。 - 批次相关界面与文档统一使用「归档 / 已归档」。
2026-09-02
Added
- 可选「OCR 识别组件」:调用阿里云增值税发票识别,补齐明细的数量、规格等字段。与打印导出组件并列,独立版本、独立更新,SDK 不进核心包;识别原文与解析结果永久保存在条目里,查看和比对不重复计费。
- 选中工具条新增「云识别」按钮:识别前预检本次调用张数与计费提示;已有 XML 权威数据的条目默认跳过,无发票 PDF 的条目自动跳过,已有结果的条目提示重复计费。完成后逐条汇报已补齐、待确认与失败明细。
- 识别提醒视图新增建议条:显示当前视图可用云识别补齐的条目数,一键全部识别(自动建议、手动触发,不做后台识别)。
- 条目详情新增「阿里云识别」折叠区:当前值与阿里云值逐字段对照、明细左右比对,可逐项或整套采用;存在待确认差异时卡片显示 OCR 徽标并默认展开,处理完自动消失。
- 设置新增「阿里云 OCR」分区:软件内填写 / 更换 / 清除 AccessKey(仅存本机、界面显示掩码、建议使用只授权文字识别的 RAM 账号 Key),显示组件安装状态与本机累计调用次数。
- 结果应用策略:本地为空的字段自动补齐;PDF 文本来源且金额闭合校验通过时自动修复日期、销售方与整套明细;发票号、总额、抬头相关字段与 XML 来源条目只进待确认,人工改过的值绝不静默覆盖,全部改动留痕「[阿里云OCR]」。
2026-08-27
Changed
- 在当前批次内确认归档后,视图随批次转入「已归档」,不再跳回全部在办。
- 全选按钮与「×」分工明确:「×」只在部分选中时出现用于清空;全部选中时仅保留「取消全选」,不再出现两个同效按钮。
- 界面字体栈调整:Windows 上西文与数字优先使用 Segoe UI、中文回退微软雅黑(UI 字体优先),macOS 不变;移除设置分区标题的单独字体硬编码。
- macOS 核心安装包体积约缩小六成。
Fixed
- 打印导出组件安装或更新成功后,自动清理同平台旧版本目录,不再随版本升级累积占用磁盘。
2026-08-14
Added
- 批次栏默认「在办」:只属于已归档批次的条目会离开主列表;「在办 / 已归档」在同一位置切换。全库仍拦截重复发票。
- 设置底部增加「说明文档」链接,打开官网使用说明。
- 批次支持「批次备注」:新建 / 编辑时可填写,批次上可通过悬浮图标查看,归档确认和批次栏下方展示。
Changed
- 搜索框回到工具条第一行,宽度随屏宽伸缩、尽量占满可用空间,并支持一键清除;同排放抬头、报账人、标签、高级、排序,「全部 / 待补材料」等状态预设单独在第二行;窄屏自动换行和横向滚动;未选择条目时收起不可用的批量按钮。
- 归档批次前展示批次摘要与未齐材料提醒;恢复后直接打开该批次,已归档空状态可一键返回在办;在办无条目且存在已归档批次时,引导前往已归档查看。
- 已归档工作面不再显示条目数量,归档说明改为悬浮提示,并补充界面上的「全选」按钮。
- 使用提示补充批次归档入口:从批次右侧「⋯」菜单进行归档,已归档批次可恢复到在办。
- 打印导出时若当前聚焦某个批次,会自动带入该批次已保存的批次备注,便于生成纸质材料时保留交接信息。
Fixed
- 设置中打开「使用提示」后关闭,会回到设置,而不再直接回到主界面。
2026-08-03
Added
- 条目卡片的报账人和批次徽章支持左键编辑;批次可新建、切换到其他批次或移出所有批次。
- 发票、付款截图、实物图、查验按钮支持右键打开已有材料,macOS 上 PDF 和图片优先使用系统“预览”。
- 设置新增“扩展”:可修改新建默认抬头,并分别配置付款截图、实物图、查验单和实付金额是否为必需;发票固定必需,默认要求付款截图、查验单和实付金额。
- 批次栏保留“未进批次”文件夹筛选;主界面付款按钮恢复为短标签,启用实物图要求时显示实物快捷按钮并与“详情”同排;详情材料区已上传文件不再叠加背景。
2026-07-31
Fixed
- 发票 PDF 识别进一步兼容字符分散的号码 / 日期、错位的购买方 / 销售方,以及粘连的数量 / 单价 / 金额。
Added
- 绑定包导入新增确认预览:可查看并修改报账人 / 审核人、给全部条目统一打标签,并选择已有批次、新建批次或不装入批次;确认后才真正导入。
Changed
- 导出默认名称现在包含本地时间并精确到分钟;设置中的“打开导出目录”会显示目录占用空间,“清理临时文件”移到其旁边,便于集中维护本机文件。
- 导出弹窗现在默认只勾选绑定包,总览 Excel 和附件整理包改为按需选择。
- 设置分区标题改用更适合 Windows 中文界面的字体、字号和字距,不再套用英文式全大写标题样式。
2026-07-30
Fixed
- 打印 Word 现在优先使用条目中已核对的实际物资名称,识别不到发票明细时不再输出“发票物资”;缺失单位默认按“个”输出,验收单单价固定保留两位小数,单价与金额均带“¥”。
- 发票 PDF 明细识别新增按列拆分文本的兜底,并兼容“同品名 + 税率 + 折扣金额 + 折扣税额”顺序的折扣行;现有 80 张发票均能识别品名且明细金额闭合。历史条目缺少已保存明细时,打印导出会从原发票 PDF 补识别,不必删除后重新导入。
- 从源码运行 tidoc 时改为优先使用工作区内的打印组件,不再被数据目录中已安装的旧组件覆盖,避免 Word 格式修改未实际生效。
Added
- 顶部“识别提醒”视图的批量操作栏新增“重新识别”:勾选条目后可用已有原发票 PDF / XML 重新生成明细并刷新提醒,保留实际物资名称、实付金额和备注。
Changed
- 设置中的 Bilibili 使用说明入口更新为新版完整操作视频。
2026-07-25
Added
- 绑定包现在显式保存报账人姓名、审核人及每条发票的归属;接收方导入后会复用或创建对应报账人,不再把所有条目统一挂到当前身份。
- 设置新增“绑定包包含备注”和“绑定包包含标签”开关;关闭备注时会同时移除条目备注、附件备注、备注修改历史与汇总备注。
- 设置的关于区新增带图标的 Bilibili 使用说明视频入口。
- 顶部抬头筛选会自动补入数据库中的第三方抬头,并在存在非内置抬头时显示提示点。
Changed
- 在线查验提示补充说明:查验单 PDF 保存到监测目录后需等待约 1–2 秒,由软件完成识别和归档。
- 打印导出组件改用独立版本;普通核心发布不再同步抬高组件版本,只有 PDF 拼接、付款截图排版、Word 输出、组件依赖或调用协议变化时才提示组件更新。
- 新增第二个报账人或导入后首次达到多个报账人时自动开启代填模式,仍可在设置中手动关闭。
- 设置中的开关状态统一使用“已开启 / 已关闭”文案与对齐样式。
- 设置中原本分别指向同一管理页的“打印导出组件”和“软件更新”合并为一个“软件与组件”入口,同时展示软件版本、组件状态和更新提醒。
- 条目卡片新增所属批次名称;移除与顶部状态筛选及发票 / 实付 / 付款 / 查验快捷按钮重复的“齐备 / 部分材料”徽标。
2026-07-24
Added
- 条目卡片与详情新增「在线查验」:向国家税务总局查验平台预填发票号码、日期和价税合计,验证码由用户在官网填写。查验成功后点击官网「打印」,通过系统打印窗口横向另存为 PDF;保存到下载、桌面或文档目录后自动归入当前条目,无需回到 tidoc 再确认。已有 PDF 仍可手动上传。
- 精简在线查验弹窗:隐藏证书兼容等实现细节,只保留验证码、官网打印和自动归档提示;保存完成后只保留「完成」。
- 兼容 macOS 官网结果页和旧版 PrintArea 的多层 iframe 打印方式;打印任务只在查验窗口中使用横向页面,不影响其他窗口。
- 设置新增「查验单」区块:集中管理额外归档目录,并可选择在成功复制到条目后把外部原 PDF 移到系统废纸篓或回收站。
Fixed
- 在线查验窗口在初版基础上适当放大但不再默认最大化;预填时通过官网日期控件写入日期、分步触发字段校验并主动收起日历,不再需要用户额外点击空白处确认。
- 查验单改回官网「打印」触发的系统原生横向打印流程,不再使用 WebView2 / WKWebView 的直接 PDF 导出接口;另存为 PDF 后由会话监测自动归入对应条目。
- 在线查验支持选择并记住一个额外的自动归档目录,不再只限于下载、桌面和文档;原生打印的建议文件名改为“查验单-发票号码”,避免连续查验时文件同名。
- 修复 macOS 系统打印未采用网页标题、另存 PDF 仍显示税务平台官网名称的问题;查验窗口现在直接设置原生打印任务名称。
- 查验所需的证书错误放行改为在创建原生窗口前启用,并保持到软件退出,避免 Windows WebView2 初始化较早时遗漏验证码接口的证书处理。
- 自动归档查验单时,只有 PDF 内容或 OCR 读出的发票号与当前条目匹配才会绑定;tidoc 提供的建议文件名只方便保存,不作为归属依据。无法确认归属时保留原文件并提示手动选择。普通启动同时隐藏 macOS 输入法及 pypdf 修复官网打印 PDF 时产生的无害终端警告。
- 修复单独拖入或粘贴已存在的发票 PDF 时只提示失败数量、不显示具体原因的问题;现在失败分组会保留在导入预览中,并提示重复发票号、原销售方和报账人。
- 单条新建与批量、拖拽、粘贴入口统一使用全库重复校验,发票号未识别时以文件内容摘要兜底;导入中途失败会清理已写入的半成品条目和附件,零条目创建时也不再把随附材料误匹配到全库其他条目。
- 修复删除条目后附件目录仍残留、附件复制或替换失败后可能留下半成品文件,以及条目字段初始化失败时事务未回滚的问题。
- 绑定包导入改为整包回滚,重复导入时跳过已有发票;用户确认接收完整性异常的绑定包后,相关条目会实际标记为严重问题。
- 修复“恢复默认数据位置”迁移失败后数据库连接已经关闭、应用无法继续使用的问题。
- 拖拽文件经过条目卡片时不再显示遮挡金额的“拖到这里绑定材料”浮层文字,仍保留卡片描边反馈。
- 付款截图 OCR 自动填写的实付金额会记录来源;删除或改类最后一张付款截图时,未被人工修改的自动值恢复为发票总金额,人工填写的实付保持不变。
- 修复部分 PDF 将字段标签与实际值分段存放时,把“下载次数”等标签误识别为销售方并错配购买方税号的问题。
- 修复商品规格含“合”字(如“25合1”)时被误当成合计行,导致整条商品明细无法识别的问题。
- 付款截图金额识别会优先采用独立金额行和“支付成功 / 交易成功”等上下文,不再把
ZTPV-25、K-5204K一类商品型号误识别为付款金额;单张截图金额与发票总额不一致时会弹窗确认,不再直接覆盖实付金额。
2026-07-23
Changed
- 软件更新页会校验打印导出组件的可执行文件与安装完整性;组件缺失或损坏时显示“需要修复”,即使已是最新版本也可主动重新安装。
- 明细识别合计与发票总额不一致改为“识别提醒”,不再标成严重问题或阻断材料齐备;历史条目会自动迁移。
- 设置把付款处理拆成两个独立开关:“付款截图 OCR”关闭后不再识别或套用截图金额,单独拖入截图时直接手动选择条目且不再显示“未识别到付款金额”;“实付默认等于发票金额”控制之后新建或批量导入的条目是自动填写发票金额还是留空待确认。
- 多选条目后可批量修改报账人,并为每条实际变化保留修改记录。
Fixed
- 修复发布版打印导出组件漏打包
models、builder及重依赖,导致拼接 PDF 时提示No module named 'tidoc_print.models'的问题。 - 发布流程新增打印组件成品自检,Windows / macOS 构建无法完整加载打印模块时不再发布。
- 修复组件文件已删除但软件更新页仍仅凭版本标记显示“已安装”的问题。
- 修复单独拖入或粘贴付款截图时错误沿用上一次批量导入范围,导致明明存在同金额条目却提示“没有金额相同的条目”的问题;Windows 打包版同时为 CSS / JS 资源增加版本标记,避免 WebView2 缓存继续运行旧匹配逻辑。
- 修复 Windows WebView2 把带查询参数的本地入口地址当作文件名,启动时显示“未找到文件”的问题;版本标记只保留在 CSS / JS 资源上。
- 修复 Windows 打包版条目较多时列表高度未正确收缩、无法滚动到底部的问题;材料绑定列表也增加独立滚动区域。
- Windows 付款截图 OCR 会先把手机长截图缩放到系统限制内,再识别完整图和顶部区域,避免超大图片直接识别失败。
- 修复单张发票 PDF 中的 20 位银行账号被误当成第二个发票号码,导致批量导入提示“包含 2 张发票”的问题。
2026-07-14
Changed
- 打印 PDF 默认按条目连续排列发票、付款截图和查验单,旧式按材料类型分别拼接改为可选;条目编号与页码叠加仍默认开启,并可在生成前关闭。
- 自动发现更新弹窗精简重复版本文案,使用指南改为醒目的可折叠完整流程。
- 精简悬浮提示:短标题、销售方、备注和文件名不再重复弹出原文,仅在内容被截断时显示完整文字;状态原因、快捷键、路径和图标按钮说明继续保留。
- “已修改”统一只表示实付金额与发票总金额不一致;其他字段修改继续保留历史记录,不影响原有编辑逻辑。
- 批量拖入付款截图时按 OCR 金额自动绑定到唯一同额条目;识别失败、没有匹配或存在同金额条目时改为逐份手动选择,避免整批误绑到同一条目。
- 详情中删除附件或物品明细后改为原位更新,保留删除提示但不再关闭并重开弹窗。
- 拖拽和粘贴材料、付款截图 OCR、批量扫描与创建、绑定包导入和批量导出新增持续进度提示,后台处理中会显示当前阶段,不再长时间无反馈。
2026-07-13
Fixed
- 修复部分数电发票 PDF 的税额行以
¥结尾时,下一行账号被误识别为价税合计的问题。 - 补充小数点被空格拆散、明细名称跨行以及个人抬头发票的购买方 / 销售方识别兼容。
- 修复商品名在 PDF 首列跨行时只保留第一行的问题,并避免把规格型号续行误拼进商品名;批量导入会跳过包含多张发票的合并 PDF。
- 批量扫描同一发票号的重复 PDF / XML 时只保留一组,重复文件直接提示跳过,不再等到创建条目时失败。
2026-07-11
Changed
- 选中条目的「批次」操作统一管理归属:可装入、补齐、移出,批次内还可原子移动到另一批次;右键单条也可快速处理。
- 标签操作会显示选中条目的已有情况,并新增全库标签重命名、合并和删除入口。
- 顶部关键词搜索支持发票金额和实付金额,并统一搜索、筛选、排序与批量操作的图标和控件层级。
Fixed
- 修复条目装入批次后只有加入入口、无法从工作界面移出或移动的问题。
- 修复标签只能逐条移除、无法统一修正名称或彻底删除,以及标签筛选在重命名或删除后残留的问题。
2026-07-10
Added
- 软件更新页新增 GitHub 图标与 GitHub Releases 手动下载入口,更新服务不可用时仍可下载安装包。
- 新增可选的启动后自动检查:默认关闭,每 24 小时最多联网一次,只检查版本,不自动下载或安装。
- 自动发现新版本和升级后的首次启动会显示 What’s changed,并在同一弹窗中提供快速开始工作流。
- 设置的高级数据维护可清理拖拽中转文件与旧更新包,同时保留材料、数据库、导出文件和待安装更新包。
Changed
- 软件更新页改为紧凑的版本台账,突出当前版本、最新版本、包体积、版本变化和下一步动作,移除“当前平台”和更新清单地址等低价值信息。
- Windows 发布包改为按用户安装器,并将 PyInstaller 核心构建改为 onedir 后再压缩安装,降低日常启动时的一次性解包开销。
- GitHub Actions 自动从 CHANGELOG 最新一节生成客户端更新说明与 GitHub Release notes,再构建安装包、更新清单并发布到 COS / GitHub。
2026-07-09
Added
- 支持拖拽 / 粘贴混合材料:发票进入导入预览,能按发票号唯一匹配的查验单会在创建条目后自动绑定,未匹配材料再手动选择条目。
- 付款截图添加时会用系统本地 OCR 尝试识别实付金额;单张可直接填入,多张会提示确认合计,已有手动实付金额时不覆盖。
- 批量创建条目接口返回创建结果明细,便于前端把后续材料绑定到新条目。
Changed
- 设置里的「收款信息」收进「数据位置」区块,和本机数据、导出目录、迁移维护放在一起。
- 付款截图拼接 PDF 的叠加编号改为与发票 / 查验单一致的
No./Page风格。 - README 和设计文档补充当前材料绑定、付款截图 OCR 与轻量系统 OCR 的真实边界。
Fixed
- macOS 上 Python 证书链无法验证更新源时,更新下载会改用系统信任链重试,避免已安装系统根证书但应用内 OpenSSL 仍报错。
2026-07-08
Added
- 新增「报账批次」:运营组把一次要交的材料自由圈选、命名、留存为一个集合,可跨报账人、跨抬头、只取某人部分条目;主界面以文件夹式批次条显示条数与缺件数。
- 批次内每条可写「批次级催办备注」(如「张三缺查验单」),与条目自身的记账备注分离。
- 批次上下文条显示每报账人小计;导出 / 打印统一从选中条目的操作条进入。
- 条目支持打多个标签,并可批量打标 / 去标;高级筛选新增按条目标签、按有 / 无条目备注、按批次筛选。
- 主界面支持多栏条目列表、Shift 范围选择,并扩大复选框 / 抬头色条的选择热区,减少误打开详情。
- 报账人支持编辑姓名和审核人;设置新增「收款信息」用于打印 Word 的姓名、学号、电话、开户行、卡号。
- 设置里可把数据整体迁移到自定义位置,或恢复到系统默认位置。
- 设置新增启动默认抬头、默认列表密度偏好。
Changed
- 设置页重构为配置中心(报账人、收款信息、偏好、数据位置、组件与更新、关于),移除与主界面重复的入口(批量导入 / 导入绑定包)和开发者视角的内部路径。
- 顶栏动作按主次重排:导入 / 设置归为次级,批量导入 / 新建为主操作;抬头、报账人、批次、状态、排序统一收到筛选工具条。
- 打印导出的发票 / 查验单拼接 PDF 改为右下角份数页码;付款截图改为横版 A4 每页两张,输出完成后可直接打开所在文件夹。
- 设置中的默认抬头和默认列表密度调整后会立即同步到主界面。
- 优化主界面字体、金额数字、条目选中态和首次使用提示的视觉层级。
- 数据库 schema 升级到 v2,历史库首次打开时自动补齐批次相关表。
2026-07-07
Added
- 新增 MIT 开源许可证、贡献指南与 GitHub Issue / PR 模板。
- 新增 CI 工作流,在 macOS / Windows 上运行 pytest。
Changed
- 重写 README.md,按当前代码实际情况整理项目介绍、使用要点与状态说明。
- 在设计文档中注明 OCR 识别组件暂缓、核心流程已实现。
2026-07-06
Added
- 支持从文件夹或多选文件批量导入发票 PDF,并自动匹配同目录或子目录中的发票 XML。
- 支持将发票 PDF / XML 拖到主界面进入批量导入预览。
- 支持将付款截图、查验单拖到条目卡片或条目详情材料区绑定到指定条目。
- 新增首次使用提示,并在设置中提供“使用提示”入口。
- 新增拖拽中转区
dropped/,用于 WebView 拿不到本机路径时保存临时文件。
Changed
- 批量导入只用发票 PDF 创建条目,XML 只作为辅助识别;付款截图和查验单不再按文件名自动绑定。
- 优化拖拽视觉反馈:空白列表区用于批量导入,条目卡片用于绑定材料,减少误拖。
- 设置页重组为常用操作、功能状态、本机数据,减少重复入口。
- 精简列表模式会收起次要信息和快捷按钮,而不只是压缩间距。
- 教育基金会条目只保留颜色和色条区分,不再额外强化显示抬头标签。
Fixed
- 修复部分数电发票 PDF 文本流错位导致的购买方、销售方、明细和金额识别失败。
- 修复拖拽提示在 WebView 中可能不消失的问题。
- 修复 pywebview 文件对话框弃用警告,改用新版
FileDialogAPI。 - 过滤 macOS 上已知无害的
NSSoftLinking输入法框架警告。 - 防止同一条目重复上传同一份附件。
- 防止将不同发票号的 PDF / XML 拖入已有条目造成误绑定。
