代理记账行业是一个典型的劳动密集型行业。每个账期,会计需要处理大量的小微企业发票、费用单据、入库单,并录入到财务软件中。
传统的记账方式极其依赖熟练会计的经验来判定借贷科目,录入效率低下。
一、 自动制单系统的核心逻辑
自动制单系统需要解决两个核心问题:
- 非结构化单据字段提取:从发票图片、回单 PDF 中提炼出金额、时间、交易性质。
- 借贷科目判定:基于交易的摘要和往来对手,自动将其翻译为会计科目代码(例如将“采购钢材”映射到“1403 原材料”)。
[原始发票/回单] ➔ [AI 语义提取] ➔ [科目推荐模型] ➔ [金蝶/用友凭证数据规范] ➔ [财务系统写入]二、 科目智能匹配算法(基于 TF-IDF + 规则)
我们使用基于摘要特征和往来对手的规则推荐模型来自动匹配会计科目:
import re
# 科目对照字典配置
SUBJECT_RULES = {
r"采购|原材料|钢材|配件": "1403", # 原材料
r"水电费|水费|电费|物业": "660201", # 管理费用-办公费
r"打车|机票|高铁|差旅": "660202", # 管理费用-差旅费
r"餐饮|聚餐|招待费": "660203", # 业务招待费
r"基本户利息|利息收入": "6603", # 财务费用
}
def predict_ledger_subject(remark, transaction_partner=""):
"""
根据交易摘要与对方名称,预测对应会计科目
"""
# 优先匹配对方往来单位特征
if "电力公司" in transaction_partner:
return "660201", "管理费用-水电设备费"
# 遍历规则库
for pattern, code in SUBJECT_RULES.items():
if re.search(pattern, remark):
return code, "匹配规则分配"
# 默认兜底科目
return "660299", "管理费用-其他"三、 金蝶/用友凭证 XML/JSON 规范报文生成
财务软件通常支持通过 Web API 或 XML/JSON 数据导入凭证。以下为生成标准金蝶云星空凭证导入报文的 Python 代码:
import json
def generate_kingdee_voucher(voucher_date, summary, debit_subject, credit_subject, amount):
"""
生成符合金蝶云星空 K/3 Cloud 接口格式的凭证 JSON 报文
"""
voucher_data = {
"Creator": "OmniAgent_Auto",
"NeedUpDateFields": [],
"Model": {
"FVOUCHERID": 0,
"FAccountBookID": {"FNumber": "ACT-001"}, -- 账套编码
"FVoucherTypeID": {"FNumber": "1"}, -- 凭证字:记
"FDate": voucher_date,
"FEntries": [
{
"FExplanation": summary, -- 摘要
"FAccountID": {"FNumber": debit_subject}, -- 借方科目
"FDebitAmount": amount, -- 借方金额
"FCreditAmount": 0,
"FCurrencyID": {"FNumber": "PRE001"} -- 人民币
},
{
"FExplanation": summary,
"FAccountID": {"FNumber": credit_subject}, -- 贷方科目
"FDebitAmount": 0,
"FCreditAmount": amount, -- 贷方金额
"FCurrencyID": {"FNumber": "PRE001"}
}
]
}
}
return json.dumps(voucher_data, ensure_ascii=False, indent=2)
# 测试输出
# print(generate_kingdee_voucher("2026-03-31", "员工张三报销差旅费", "660202", "1002", 1250.00))四、 总结
通过大模型完成信息结构化,再由确定性的科目规则映射与财务软件的标准接口无缝融合,代账公司可以将原本耗时几天的结账制单工作缩短在数分钟内完成,大大释放了基础核算人员的生产力,让代账服务朝着咨询和增值服务方向转型。