Odoo 银行对账模型为什么不只是“自动记账规则”:account.reconcile.model 到底在匹配什么
很多人把 Odoo 对账模型理解成简单自动分录模板,但 account.reconcile.model 真正处理的是匹配条件、建议逻辑和自动对账边界。
TOPIC PICKS
很多人把 Odoo 对账模型理解成简单自动分录模板,但 account.reconcile.model 真正处理的是匹配条件、建议逻辑和自动对账边界。
可以顺着继续读的相邻方向
很多人以为销售单一确认,系统就会顺着一条线自动走到发货和开票。但从 sale、sale_stock 源码看,Odoo 实际上把‘履约链’和‘开票链’拆开了:一条去生成 procurement / picking / move,另一条等 qty_to_invoice 条件成熟后再进 account.move。
注册付款并不是简单打个“已付”标记。account_payment_register 会先分批生成 payment,再按应收应付科目做 reconcile,最后 account.move 根据残额、核销对手和 payment 匹配状态重算 payment_state。
从 action_bill_matching、匹配域和列表视图入口出发,解释采购对账工作台为什么能把采购订单行和账单行拉到同一个界面里处理。
从 purchase.order.line 的 _compute_analytic_distribution 和会计分布模型出发,解释采购分析维度怎样从订单行流向后续账单。
很多人把 Odoo 编号理解成“找到最后一条,再加一”。但从 sequence_mixin.py 看,真正困难的不是 +1,而是先判断这串编号按月重置、按年重置还是永不重置,再在并发事务里安全地抢到下一个号,还不能把日期和编号链打乱。
很多人以为 Odoo 会计里上传发票附件只是“前端传一个文件,后端存成 attachment”。但从 `document_file_uploader.js` 到 `account/models/ir_attachment.py` 的实现看,官方实际拆成了三段:先把原始文件安全落成附件,再把附件批量交给业务模型识别生成单据,最后由附件后处理把会计对象和附件关系补齐。本文把这条链路讲透。