如何在Odoo 10中为会计科目表添加新类型
嗨,刚接触Odoo的话,遇到这类自定义配置需求很正常,我来一步步告诉你怎么在Odoo 10里添加会计科目表的新类型:
在Odoo 10中添加会计科目表新类型的方法
方法一:通过开发者模式快速创建(适合临时测试/快速需求)
- 先开启Odoo的开发者模式:点击右上角用户头像,选择「关于Odoo」,然后点击「激活开发者模式」(部分旧版本可能直接显示「开发者模式」选项)。
- 进入「会计」模块,在顶部菜单找到「配置 > 会计 > 科目类型」(或者直接在全局搜索框搜「科目类型」)。
- 点击「创建」按钮,填写新类型的核心信息:
- 名称:按需自定义,比如「自定义运营费用」「专项资产类」等。
- 类型:选择对应的大类(比如收入、费用、资产、负债、权益),这个决定了该科目在财务报表中的归类逻辑。
- 默认借贷方向:设置该类型科目默认的余额方向(借方或贷方)。
- 是否允许对账:如果是往来类科目(比如客户/供应商往来),就勾选这个选项。
- 显示在看板:如果需要在会计看板中快速找到这类科目,可勾选。
- 保存后,再去创建会计科目时,就能在「科目类型」的下拉菜单里看到你新增的类型了。
方法二:通过自定义模块固化配置(适合正式部署,避免升级丢失)
如果需要把自定义类型永久保留,避免Odoo升级或数据库迁移后配置丢失,建议写一个简单的自定义模块:
- 创建一个新模块(比如命名为
custom_account_types),模块至少包含两个核心文件:__manifest__.py:模块的配置清单data/account_type_data.xml:用来定义新科目类型的数据记录
- 在
__manifest__.py中添加模块依赖,确保它依赖会计模块:{ 'name': 'Custom Account Types', 'version': '1.0', 'depends': ['account'], 'data': [ 'data/account_type_data.xml', ], 'installable': True, 'auto_install': False, } - 在
data/account_type_data.xml中编写新类型的配置:
关键字段说明:<?xml version="1.0" encoding="utf-8"?> <odoo> <data noupdate="1"> <record id="account_type_custom_expense" model="account.account.type"> <field name="name">自定义运营费用</field> <field name="type">expense</field> <field name="internal_group">expense</field> <field name="journal_type">general</field> <field name="allow_manual_creation">True</field> <field name="reconcile">False</field> </record> </data> </odoo>type:可选值包括receivable/payable/cash/income/expense/asset等,对应科目大类internal_group:对应财务报表的分组,比如expense会归集到利润表的费用项reconcile:设置为True表示该类型科目支持对账操作
- 将模块安装到Odoo系统中,安装完成后新的科目类型会自动生效。
注意事项
- 临时需求用方法一足够高效,但如果是正式生产环境,优先用方法二,避免自定义配置因系统操作丢失。
- 选择
type字段时一定要谨慎,这个字段直接影响科目在资产负债表、利润表中的展示位置,错选会导致报表数据异常。
内容的提问来源于stack exchange,提问作者Ghada Rahhal




