社区论坛
交流工具使用、配置与问题一、功能名称
发票生成器 V2(输入)(feature_id:invoice_v2_input)
按货件号逐票或批量生成商业发票,支持配置驱动的货代规则与自动选址,无需手动选地址/渠道。
二、实现逻辑
- 入口:桌面启动器 → 制作工具 → 发票制作 → 发票生成器V2(输入)
- 界面:
dialogs/invoice_generator_v2_gui.py→InvoiceGeneratorV2GUI - 核心服务:
services/invoice_v2/api.py的InvoiceServiceV2 - 读取
configs/invoice/{货代名}.json模板规则,结合数据库货件/SKU/仓库/VAT 数据填充 Excel 模板 - 选址策略由 JSON 中
selection_policy自动完成,生成结果写入output/(按出厂日期分子目录)
三、数据 / 字段 / 配置支撑
Excel 数据库(数据库.xlsx):
备货物流信息:货件号、合同号、目的国、平台、出厂日期等产品数据库:SKU、品名、申报单价、图片路径等海外仓地址库:仓库代码、收件地址渠道表数据库、VAT数据库
配置文件:
configs/invoice/invoice_settings.json:币种、汇率、货件前缀校验configs/invoice/皓鹏.json等货代规则 JSONconfigs/tools_config.json:上次输出目录等记忆
权限:用户组需包含 invoice_v2_input(标准组默认已含)。
四、使用教程
- 确认
数据库.xlsx已更新,菜单「重新加载数据库」。 - 打开「发票生成器V2(输入)」,在文本框输入货件号(每行一个,可批量)。
- 选择货代配置文件(如皓鹏、德立迅)。
- 点击生成,查看日志区成功/失败原因。
- 完成后在
output/{出厂日期}/查看 Excel/PDF 发票;可点提示打开输出目录。
五、常见异常
| 异常情况 | 解决方法 |
|---|---|
| 提示「请输入货件号」 | 在文本框中输入至少一个货件号,每行一个。 |
| 提示「服务尚未初始化」或「系统尚未初始化完成」 | 等待程序启动并完成数据库加载;若长时间无响应,菜单点「重新加载数据库」后重试。 |
日志 SHIPMENT_NOT_FOUND(货件不在数据库) | 在「备货物流信息」表补全该货件行,保存 Excel 后重新加载数据库。 |
SHIPMENT_REQUIRED_MISSING(必填字段缺失) | 检查货件行的物流商、目的仓、目的国、渠道、海外仓等列是否为空;FBA 货件需填写货件追踪编码。 |
CHANNEL_NOT_FOUND / WAREHOUSE_ADDR_* | 在「渠道表数据库」「海外仓地址库」补全对应渠道或仓库代码及地址。 |
VAT_MISSING(欧洲货件缺 VAT) | 在「VAT数据库」补全目的国对应的 VAT 税号。 |
PRODUCT_REQUIRED_MISSING / UNIT_PRICE_INVALID | 在产品数据库补全 SKU 品名、申报单价;检查单箱数量与箱数是否一致(QTY_CARTONS_MISMATCH)。 |
| 「货件号与海外仓平台不匹配」 | 核对货件前缀与「海外仓地址库」中平台字段是否对应,或调整 invoice_settings.json 前缀校验规则。 |
CONFIG_FILE_NOT_FOUND / CONFIG_JSON_INVALID | 确认 configs/invoice/{货代名}.json 存在且 JSON 格式正确(version=2)。 |
| 「模板文件不存在」或「加载模板文件失败」 | 检查货代 JSON 中 template 路径是否指向 templates/ 下有效 Excel 文件。 |
| 「保存文件失败(无写入权限)」 | 关闭已打开的 output 发票文件;确认 output 目录有写入权限。 |
| 日志提示 Excel 兼容性修复未执行 | 德立迅等需 COM 重存的模板:安装 Excel/WPS 及 pywin32。 |
全部回复 (0)
暂无回复,来抢沙发吧。
登录 后可回复