基于python的K3ERP接口服务
1. 立项背景和目标
公司销售环节已使用纷享销客 CRM 管理客户、销售订单与回款流程,但财务、库存、生产环节仍依赖 K/3 ERP(SQL Server 2008 R2,AIS20130806192009 账套)。两套系统长期互不相通,订单需要人工二次录入,客户变更也无法及时回流到 ERP,导致数据孤岛、人力浪费以及业务-财务对账滞后等问题。本项目旨在构建一个轻量级中间对接服务(ConnectDemo),以 K/3 为主数据底座,将纷享销客的客户主数据与销售订单自动同步到 K/3,支撑业务一体化运营。
2. 软件功能、核心功能模块介绍
本服务围绕「K/3 数据查询、纷享→K/3 客户/订单同步、辅助工具、定时任务」四大模块建设,共 25+ 个 REST 接口:
K/3 业务数据查询:封装物料(ICItem)、库存(ICInventory)、销售订单(SEOrder)、应收单(ICSale)、收款单(ReceiveBill)、销售发票(ICSale2)六大实体的列表与数量接口,按日期范围分页查询。
客户主数据同步:调用纷享 Open API(/cgi/crm/v2/data/query)按 life_status=normal + k3_sync_fields_last_modify__c >= 1小时前 增量拉取客户,结合 Address/Contact 对象补全地址与联系人,写入 K/3 的 t_Item、t_Organization 表。
销售订单同步:/k3/sync-seorder 是核心,按 FBillNo + FHeadSelfS0170 来源标识判定新建/修改,调用 GetICMaxNum 存储过程获取 FInterID,通过 t_billcodeby 生成 XSDD15+yyyymmdd+流水号 形式的单据编号,写入 SEOrder 主表、明细表后执行 p_UpdateBillRelateData 重建关联。
辅助工具:地址智能解析(/util/parse-address-info)将「姓名+电话+省市区+详细地址」一锅端的混合文本拆分为结构化字段;客户档案修订接口(/account/update-account-number)支持必要时调整 K/3 客户编码。
3. 业务流程、功能路径描述
被动同步(客户):纷享销客工作流回调 GET /fxapi/sync-accounts → 服务 60 秒后异步拉取最新客户 → 写入 K/3。主动同步(客户):APScheduler 每小时执行 sync_accounts_from_fxiaoke_to_k3 → 调用本地 accounts_by_filters → 拉取增量客户 → 写入 K/3。
订单同步:纷享订单审批完成后回调 POST /k3/sync-seorder → 服务按
企业内部管理
企业服务(saas)