创建本地化模块
在安装 accounting
模块时,本地化模块对应公司自动安装的国家代码。如未设置国家代码或未找到本地化模块,默认会安装l10n_generic_coa
(US) 本地化模块。
例如,l10n_be
会在公司的国家设置为Belgium
时进行安装。
这一行为通过使用包含如下代码的 .xml 文件来进行获取:
其中 module.template_xmlid
是相应模板的完全限定xmlid 。
通常位于 data
文件夹下,它必须在 __manifest__.py
文件的最后进行加载。
🚫危险
如果不存在该 .xml 文件,则不会及时加载正确的会计科目表!
配置自己会计科目表?
首先,在继续之前,我们需要讨论下模板。模板是一条允许自己被复制的记录。这一机制在操作多公司时需要用到。例如,新账户的创建通过 account.account.template
模型完成。但是,每个使用这个会计科目表的公司会被链接到一个以 account.account
作为模型的复制内容上。因此,该模板不会直接在公司中进行使用。
然后,如果需要安装会计科目表,所有依赖于它的模板会创建一个复制并将这个新生成的记录链接到公司用户。它表示所有这种模板必须以相同的方式链接到会计科目表上。要实现这点,每个必须使用 chart_template_id
字段引用所需要的会计科目表。出于这个原因,我们需要在创建其模板前定义一个 account.chart.template
模型的实例。
例如,让我们来看一下比利时的会计科目表。
既然已创建了会计科目表,我们可以聚焦到模板创建身上了。如前所述,每条记录必须通过 chart_template_id
字段引用这条记录。若未引用,则模板会被忽略。下面的部分显示如何创建这些模板的详情。
向自己的会计科目表新增账户
是时候创建我们自己的账户了。它存在于 account.account.template
类型的创建记录中。每个 account.account.template
可以为每个公司创建一个 account.account
。
以上所述的一些字段需要做更进一步的讲解。
user_type_id
字段要求一个类型为account.account.type
的值。虽然可以在本地化模块中创建一些其它类型,但我们推荐使用account/data/data_account_type.xml 文件中的已有类型。这使用这些通用类型可确保你在本地化模块中创建的报表以外的通用报表可正确运行。
⚠️警告
避免使用流动资金 account.account.type
!确实,银行及现金账户在安装本地化模块时直接创建,然后链接到 account.journal
。
⚠️警告
仅一个 payable/receivable类型账户就够了。
虽然 tag_ids
字段为可选,但它是一个很强大的功能。其实它让你可以为账户定义不同的标签并在报表中进行正确的传播。例如,假定你想要创建一个带有多行的财务报告,但又没有方法去查找一个按照 code
或 name
分配账户的规则 。解决方案就是使用标签,每个报表线有一个标签,按照需要进行传播和聚合。
和其它记录相似,标签可通过如下xml 结构进行创建:
你可能会想到,这个功能也可以用于计税。
l10n_be
模块中有如下示例:
⚠️警告
不要创建过多的账户:200-300个足够了。
向自己的会计科目表新增税务
要创建税务记录,只需要按照创建账户相同的流程就好了。唯一的不同是你必须使用 account.tax.template
模型。
l10n_pl
模块中有如下示例:
在会计科目表中新增账务状况
如需要了解有有关财务状况的更多详情以及其在Odoo中的运行方式,请参见please refer to 如何根据我的客户的状态及本地化调整计税。
要新增财务状况,仅需要使用 account.fiscal.position.template
模型:
向自己的会计科目表添加属性
在生成整个账户时,可以通过添加具体状况中所用的默认账户相对应的属性来重载新生成的会计科目表。必须在账户创建完成后 ,才能将每个账户与会计科目表进行关联。
例如,让我们回归到比利时PCMN(Plan Comptable Minimum Normalisé标准化最低会计计划)。会计科目表以添加一些属性的方式进行重载。
如何新建一个银行操作模型?
Odoo中的银行操作模型如何运作? 参见配置各方的模型。
从 V10
开始,在银行对账表组件中新增了一个功能:银行操作模型。这让用户可以通过单次点击预填写一些计账方。account.reconcile.model.template
记录的创建非常容易:
如何新建一个动态报表?
如果需要对本地添加一些报表,要新建一个名为l10n_xx_reports的模块。此外,这模块必须放在 enterprise
仓库中,并且必须有两个依赖,一个是将所有内容加到你的本地化模块中,另一个是 account_reports
,用于设计动态报表 。
一旦完成,就可以开始创建报表账单了。 文档请参见如下s幻灯片。