本博客包含多个文档和书籍的翻译,但有能力者推荐阅读英文原版

Odoo 13开发者文档:会计本地化

Odoo Alan 1个月前 (11-02) 511次浏览 0个评论

在安装 accounting 模块时,本地化模块对应公司自动安装的国家代码。如未设置国家代码或未找到本地化模块,默认会安装l10n_generic_coa (US) 本地化模块。

例如,l10n_be 会在公司的国家设置为Belgium时进行安装。

这一行为通过使用包含如下代码的 .xml 文件来进行获取:

其中 module.template_xmlid 是相应模板的完全限定xmlid 。

通常位于 data 文件夹下,它必须在 __manifest__.py 文件的最后进行加载。

首先,在继续之前,我们需要讨论下模板。模板是一条允许自己被复制的记录。这一机制在操作多公司时需要用到。例如,新账户的创建通过 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 文件中的已有类型。这使用这些通用类型可确保你在本地化模块中创建的报表以外的通用报表可正确运行。

虽然 tag_ids 字段为可选,但它是一个很强大的功能。其实它让你可以为账户定义不同的标签并在报表中进行正确的传播。例如,假定你想要创建一个带有多行的财务报告,但又没有方法去查找一个按照 code 或 name分配账户的规则 。解决方案就是使用标签,每个报表线有一个标签,按照需要进行传播和聚合。

和其它记录相似,标签可通过如下xml 结构进行创建:

你可能会想到,这个功能也可以用于计税。

l10n_be 模块中有如下示例:

要创建税务记录,只需要按照创建账户相同的流程就好了。唯一的不同是你必须使用 account.tax.template 模型。

l10n_pl 模块中有如下示例:

要新增财务状况,仅需要使用 account.fiscal.position.template 模型:

在生成整个账户时,可以通过添加具体状况中所用的默认账户相对应的属性来重载新生成的会计科目表。必须在账户创建完成后 ,才能将每个账户与会计科目表进行关联。

例如,让我们回归到比利时PCMN(Plan Comptable Minimum Normalisé标准化最低会计计划)。会计科目表以添加一些属性的方式进行重载。

V10开始,在银行对账表组件中新增了一个功能:银行操作模型。这让用户可以通过单次点击预填写一些计账方。account.reconcile.model.template 记录的创建非常容易:

如果需要对本地添加一些报表,要新建一个名为l10n_xx_reports的模块。此外,这模块必须放在 enterprise 仓库中,并且必须有两个依赖,一个是将所有内容加到你的本地化模块中,另一个是 account_reports,用于设计动态报表 。

一旦完成,就可以开始创建报表账单了。 文档请参见如下s幻灯片

喜欢 (1)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址