mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
update odoo 18 会计科目
This commit is contained in:
@@ -50,7 +50,7 @@
|
|||||||
15. 销售团队改为中国
|
15. 销售团队改为中国
|
||||||
16. 精简语言的显示,如 Chinese简体中文改为 中文
|
16. 精简语言的显示,如 Chinese简体中文改为 中文
|
||||||
21. 多语言支持,多公司支持
|
21. 多语言支持,多公司支持
|
||||||
22. Odoo 17,16,15,14,13,12, 企业版,社区版,在线SaaS.sh版,等全版本支持
|
22. Odoo 18,17,16,15,14,13,12, 企业版,社区版,在线SaaS.sh版,等全版本支持
|
||||||
23. 代码完全开源
|
23. 代码完全开源
|
||||||
======
|
======
|
||||||
1. Chinese address format, applicable to all Chinese customers, suppliers, partners, users, employee information etc.
|
1. Chinese address format, applicable to all Chinese customers, suppliers, partners, users, employee information etc.
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
14.Common decimal precision adjustments made.
|
14.Common decimal precision adjustments made.
|
||||||
15.Sales team changed to [China].
|
15.Sales team changed to [China].
|
||||||
21. Multi-language Support. Multi-Company Support.
|
21. Multi-language Support. Multi-Company Support.
|
||||||
22. Support Odoo 17,16,15,14,13,12, Enterprise and Community and odoo.sh Edition.
|
22. Support Odoo 18,17,16,15,14,13,12, Enterprise and Community and odoo.sh Edition.
|
||||||
23. Full Open Source.
|
23. Full Open Source.
|
||||||
''',
|
''',
|
||||||
'pre_init_hook': 'pre_init_hook',
|
'pre_init_hook': 'pre_init_hook',
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<i class="fa fa-check-square-o text-primary"></i>
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
22. Support Odoo 17,16,15,14,13,12, Enterprise and Community and odoo.sh Edition.
|
22. Support Odoo 18,17,16,15,14,13,12, Enterprise and Community and odoo.sh Edition.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<i class="fa fa-check-square-o text-primary"></i>
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
|
|||||||
@@ -115,7 +115,7 @@
|
|||||||
Addons</a>
|
Addons</a>
|
||||||
</p>
|
</p>
|
||||||
<br>
|
<br>
|
||||||
<h3>支持odoo 17,16,15,14,13,12, 11, 10, 9 版本,社区版企业版通用</h3>
|
<h3>支持Odoo 18,17,16,15,14,13,12, 11, 10, 9 版本,社区版企业版通用</h3>
|
||||||
<ul class="list-group">
|
<ul class="list-group">
|
||||||
<li class='list-group-item'>1. 删除菜单导航页脚的 Odoo 标签</li>
|
<li class='list-group-item'>1. 删除菜单导航页脚的 Odoo 标签</li>
|
||||||
<li class='list-group-item'>2. 将弹出窗口中 "Odoo" 设置为自定义名称</li>
|
<li class='list-group-item'>2. 将弹出窗口中 "Odoo" 设置为自定义名称</li>
|
||||||
@@ -380,7 +380,7 @@
|
|||||||
<div class="oe_demo" style=" margin: 30px auto 0; padding: 0 15px 0 0; border:none; width: 96%;">
|
<div class="oe_demo" style=" margin: 30px auto 0; padding: 0 15px 0 0; border:none; width: 96%;">
|
||||||
<p>This moduld allows user to quickly customize and debranding Odoo. Quick debug, Language Switcher,
|
<p>This moduld allows user to quickly customize and debranding Odoo. Quick debug, Language Switcher,
|
||||||
Online Documentation Access,Quick Data Clear. </p>
|
Online Documentation Access,Quick Data Clear. </p>
|
||||||
<p class="mb16">Support Odoo 17,16,15,14,13, 12, 11, 10, 9. Including community and enterprise version. </p>
|
<p class="mb16">Support Odoo 18,17,16,15,14,13, 12, 11, 10, 9. Including community and enterprise version. </p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
@@ -23,26 +23,24 @@
|
|||||||
""",
|
""",
|
||||||
'description': """
|
'description': """
|
||||||
最新中国化财务,主要针对标准会计科目表作了优化。
|
最新中国化财务,主要针对标准会计科目表作了优化。
|
||||||
1. 2025最新会计科目表,处理营改增后会计科目调整。更新至最新税率。odoo 18专用。
|
1. 2025最新会计科目表,处理营改增后会计科目调整。odoo 18专用。
|
||||||
2. 将菜单中设置为"财务"。
|
2. 超级管理员自动开启全部会计功能,可管理会计科目表等。
|
||||||
3. 补充分类及标签信息。
|
3. 增强对生产企业会计科目的支持,增加数据资产入表支持。
|
||||||
4. 更新税信息。
|
4. 将菜单中设置为"财务"。
|
||||||
5. 增加树状结构,支持二级科目,可设置上级科目,配合 "app_web_superbar" 使用可轻易实现树状导航。
|
5. 补充分类及标签信息。
|
||||||
6. 使用金蝶的会计科目命名法对多级科目进行初始化。可自行调整为用友科目命名法
|
6. 更多的税项处理,处理营改增,更新至最新税率。
|
||||||
7. 增加中文数字和阿拉伯数字的转换(需安装cn2an库,pip3 install cn2an)
|
7. 会计科目表增加上下级支持,增加树状结构,支持多级科目,配合 "app_web_superbar" 使用可轻易实现树状导航。
|
||||||
8. 注意,必须在没有业务数据,没有会计科目的初始环境。可以使用 "app_odoo_customize" 模块清除财务数据,重置会计科目。
|
8. 使用金蝶的会计科目命名法对多级科目进行初始化。可自行调整为用友科目命名法
|
||||||
|
9. 增加中文数字和阿拉伯数字的转换(可安装cn2an库,pip3 install cn2an)
|
||||||
|
10. 注意,建议在没有业务数据,没有会计科目的初始环境。可以使用 "app_odoo_customize" 模块清除财务数据,重置会计科目。
|
||||||
|
|
||||||
如果是多语种环境需要自行更改翻译,主要体现在1%,3%,6%,13%增值税处理。
|
|
||||||
中国财务,中国会计,中国城市
|
中国财务,中国会计,中国城市
|
||||||
欧度智能,odooai.cn
|
欧度智能,odooai.cn
|
||||||
The Latest Chinese Account
|
The Latest Chinese Account
|
||||||
Including the following data in the Accounting Standards for Business Enterprises
|
Including the following data in the Accounting Standards for Business Enterprises
|
||||||
包含企业会计准则以下数据
|
包含企业会计准则以下数据
|
||||||
|
|
||||||
* Chart of Accounts
|
* Chart of Accounts
|
||||||
* 科目表模板
|
* 中国会计科目表模板
|
||||||
* Account templates
|
|
||||||
* 科目模板
|
|
||||||
* Tax templates
|
* Tax templates
|
||||||
* 税金模板
|
* 税金模板
|
||||||
""",
|
""",
|
||||||
@@ -52,6 +50,7 @@
|
|||||||
],
|
],
|
||||||
'images': ['static/description/banner.png'],
|
'images': ['static/description/banner.png'],
|
||||||
'data': [
|
'data': [
|
||||||
|
'security/res_groups.xml',
|
||||||
'views/account_account_views.xml',
|
'views/account_account_views.xml',
|
||||||
'views/account_views.xml',
|
'views/account_views.xml',
|
||||||
'data/account_account_tag_data.xml',
|
'data/account_account_tag_data.xml',
|
||||||
|
|||||||
@@ -38,7 +38,11 @@
|
|||||||
"account_1403","1403","原材料","","False","asset_current",""
|
"account_1403","1403","原材料","","False","asset_current",""
|
||||||
"account_1404","1404","材料成本差异","","False","asset_current",""
|
"account_1404","1404","材料成本差异","","False","asset_current",""
|
||||||
"account_1405","1405","库存商品","","False","asset_current",""
|
"account_1405","1405","库存商品","","False","asset_current",""
|
||||||
"account_1405_01","1405.01","其中:数据资源","account_1405","False","asset_current",""
|
"account_1405_01","1405.01","库存商品-产成品","account_1405","False","asset_current",""
|
||||||
|
"account_1405_02","1405.02","库存商品-自制产成品","account_1405","False","asset_current",""
|
||||||
|
"account_1405_03","1405.03","库存商品-外购商品","account_1405","False","asset_current",""
|
||||||
|
"account_1405_04","1405.04","库存商品-委外加工商品","account_1405","False","asset_current",""
|
||||||
|
"account_1405_05","1405.05","库存商品-数据资源","account_1405","False","asset_current",""
|
||||||
"account_1406","1406","发出商品","","False","asset_current",""
|
"account_1406","1406","发出商品","","False","asset_current",""
|
||||||
"account_1407","1407","商品进销差价","","False","asset_current",""
|
"account_1407","1407","商品进销差价","","False","asset_current",""
|
||||||
"account_1408","1408","委托加工物资","","False","asset_current",""
|
"account_1408","1408","委托加工物资","","False","asset_current",""
|
||||||
@@ -72,7 +76,14 @@
|
|||||||
"account_1631","1631","油气资产","","False","asset_current","l10n_cn_standard_latest.tag28"
|
"account_1631","1631","油气资产","","False","asset_current","l10n_cn_standard_latest.tag28"
|
||||||
"account_1632","1632","累计折耗","","False","asset_current","l10n_cn_standard_latest.tag28"
|
"account_1632","1632","累计折耗","","False","asset_current","l10n_cn_standard_latest.tag28"
|
||||||
"account_1701","1701","无形资产","","False","asset_current",""
|
"account_1701","1701","无形资产","","False","asset_current",""
|
||||||
"account_1701_01","1701.01","其中:数据资源","account_1701","False","asset_current",""
|
"account_1701_01","1701.01","无形资产-土地使用权","account_1701","False","asset_current",""
|
||||||
|
"account_1701_02","1701.02","无形资产-软件","account_1701","False","asset_current",""
|
||||||
|
"account_1701_03","1701.03","无形资产-专利权","account_1701","False","asset_current",""
|
||||||
|
"account_1701_04","1701.04","无形资产-非专利技术","account_1701","False","asset_current",""
|
||||||
|
"account_1701_05","1701.05","无形资产-商标权","account_1701","False","asset_current",""
|
||||||
|
"account_1701_06","1701.06","无形资产-著作权","account_1701","False","asset_current",""
|
||||||
|
"account_1701_07","1701.07","无形资产-数据资源","account_1701","False","asset_current",""
|
||||||
|
"account_1701_09","1701.09","无形资产-其它","account_1701","False","asset_current",""
|
||||||
"account_1702","1702","累计摊销","","False","asset_current",""
|
"account_1702","1702","累计摊销","","False","asset_current",""
|
||||||
"account_1703","1703","无形资产减值准备","","False","asset_current",""
|
"account_1703","1703","无形资产减值准备","","False","asset_current",""
|
||||||
"account_1711","1711","商誉","","False","asset_current",""
|
"account_1711","1711","商誉","","False","asset_current",""
|
||||||
@@ -156,7 +167,9 @@
|
|||||||
"account_5101","5101","制造费用","","False","asset_current",""
|
"account_5101","5101","制造费用","","False","asset_current",""
|
||||||
"account_5201","5201","劳务成本","","False","asset_current",""
|
"account_5201","5201","劳务成本","","False","asset_current",""
|
||||||
"account_5301","5301","研发支出","","False","asset_current",""
|
"account_5301","5301","研发支出","","False","asset_current",""
|
||||||
"account_5301_01","5301.01","其中:数据资源","account_5301","False","asset_current",""
|
"account_5301_01","5301.01","研发支出-费用化支出","account_5301","False","asset_current",""
|
||||||
|
"account_5301_02","5301.02","研发支出-资本化支出","account_5301","False","asset_current",""
|
||||||
|
"account_5301_03","5301.03","研发支出-数据资源","account_5301","False","asset_current",""
|
||||||
"account_5401","5401","工程施工","","False","asset_current","l10n_cn_standard_latest.tag30"
|
"account_5401","5401","工程施工","","False","asset_current","l10n_cn_standard_latest.tag30"
|
||||||
"account_5402","5402","工程结算","","False","asset_current","l10n_cn_standard_latest.tag30"
|
"account_5402","5402","工程结算","","False","asset_current","l10n_cn_standard_latest.tag30"
|
||||||
"account_5403","5403","机械作业","","False","asset_current","l10n_cn_standard_latest.tag30"
|
"account_5403","5403","机械作业","","False","asset_current","l10n_cn_standard_latest.tag30"
|
||||||
|
|||||||
|
@@ -28,16 +28,29 @@ class AccountAccount(models.Model):
|
|||||||
parent_id = fields.Many2one('account.account', 'Parent Chart', index=True, ondelete='cascade')
|
parent_id = fields.Many2one('account.account', 'Parent Chart', index=True, ondelete='cascade')
|
||||||
child_ids = fields.One2many('account.account', 'parent_id', 'Child Chart')
|
child_ids = fields.One2many('account.account', 'parent_id', 'Child Chart')
|
||||||
parent_path = fields.Char(index=True)
|
parent_path = fields.Char(index=True)
|
||||||
|
# todo: view 类型只用于上级,不可在凭证中选择使用。 odoo 中使用 _compute_account_type 处理是找不到自动设置为 其上级科目
|
||||||
|
# 故暂时不增加此类型
|
||||||
|
# account_type = fields.fields.Selection(selection_add=[
|
||||||
|
# ('view', 'View Only'),
|
||||||
|
# ])
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def _search_new_account_code(self, company, digits, prefix, cache=None):
|
def _search_new_account_code(self, start_code, cache=None):
|
||||||
# 分隔符,金蝶为 ".",用友为"",注意odoo中一级科目,现金默认定义是4位头,银行是6位头
|
# 分隔符,金蝶为 ".",用友为"",注意odoo中一级科目,现金默认定义是4位头,银行是6位头
|
||||||
delimiter = '.'
|
# 在 odoo18已优化可处理
|
||||||
for num in range(1, 100):
|
"""
|
||||||
new_code = str(prefix.ljust(digits - 1, '0')) + delimiter + '%02d' % (num)
|
Examples:
|
||||||
if new_code in (cache or []):
|
| start_code | codes checked for availability |
|
||||||
continue
|
+--------------+------------------------------------------------------------+
|
||||||
rec = self.search([('code', '=', new_code), ('company_id', 'child_of', company.root_id.id)], limit=1)
|
| 102100 | 102101, 102102, 102103, 102104, ... |
|
||||||
if not rec:
|
| 1598 | 1599, 1600, 1601, 1602, ... |
|
||||||
return new_code
|
| 10.01.08 | 10.01.09, 10.01.10, 10.01.11, 10.01.12, ... |
|
||||||
raise UserError(_('Cannot generate an unused account code.'))
|
| 10.01.97 | 10.01.98, 10.01.99, 10.01.97.copy2, 10.01.97.copy3, ... |
|
||||||
|
| 1021A | 1021A, 1022A, 1023A, 1024A, ... |
|
||||||
|
| hello | hello.copy, hello.copy2, hello.copy3, hello.copy4, ... |
|
||||||
|
| 9998 | 9999, 9998.copy, 9998.copy2, 9998.copy3, ... |
|
||||||
|
"""
|
||||||
|
# delimiter = '.'
|
||||||
|
# start_code = start_code + delimiter + '01'
|
||||||
|
res = super()._search_new_account_code(start_code, cache)
|
||||||
|
return res
|
||||||
|
|||||||
@@ -8,26 +8,11 @@ class AccountJournal(models.Model):
|
|||||||
_inherit = "account.journal"
|
_inherit = "account.journal"
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def _prepare_liquidity_account(self, name, company, currency_id, type):
|
def _prepare_liquidity_account_vals(self, company, code, vals):
|
||||||
digits = 6
|
res = super()._prepare_liquidity_account_vals(company, code, vals)
|
||||||
chart = self.company_id.chart_template_id
|
# 分隔符,金蝶为 ".",用友为"",注意odoo中一级科目,现金默认定义是4位头,银行是6位头
|
||||||
if chart:
|
delimiter = '.'
|
||||||
digits = int(chart.code_digits)
|
code = code + delimiter + '01'
|
||||||
# Seek the next available number for the account code
|
new_code = self.env['account.account']._search_new_account_code(code),
|
||||||
if type == 'bank':
|
res.update({'code': new_code})
|
||||||
account_code_prefix = company.bank_account_code_prefix or ''
|
return res
|
||||||
else:
|
|
||||||
account_code_prefix = company.cash_account_code_prefix or company.bank_account_code_prefix or ''
|
|
||||||
digits = len(account_code_prefix)
|
|
||||||
# 获取上级
|
|
||||||
p_account = self.env['account.account'].search([('code', '=', account_code_prefix), ('company_id', '=', company.id)], limit=1)
|
|
||||||
|
|
||||||
return {
|
|
||||||
'name': name,
|
|
||||||
'currency_id': currency_id or False,
|
|
||||||
'code': self.env['account.account']._search_new_account_code(company, digits, account_code_prefix),
|
|
||||||
'account_type': 'asset_cash',
|
|
||||||
'parent_id': p_account and p_account.id or False,
|
|
||||||
'group_id': p_account and p_account.group_id and p_account.group_id.id or False,
|
|
||||||
'company_id': company.id,
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ class AccountChartTemplate(models.AbstractModel):
|
|||||||
self.env.company.id: {
|
self.env.company.id: {
|
||||||
'account_fiscal_country_id': 'base.cn',
|
'account_fiscal_country_id': 'base.cn',
|
||||||
'cash_account_code_prefix': '1001',
|
'cash_account_code_prefix': '1001',
|
||||||
'bank_account_code_prefix': '1002',
|
'bank_account_code_prefix': '1002.01',
|
||||||
'transfer_account_code_prefix': '1003',
|
'transfer_account_code_prefix': '1003',
|
||||||
'account_default_pos_receivable_account_id': 'account_1124',
|
'account_default_pos_receivable_account_id': 'account_1124',
|
||||||
'account_sale_tax_id': 'l10n_cn_standard_sale_included_13',
|
'account_sale_tax_id': 'l10n_cn_standard_sale_included_13',
|
||||||
|
|||||||
9
l10n_cn_standard_latest/security/res_groups.xml
Normal file
9
l10n_cn_standard_latest/security/res_groups.xml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<odoo>
|
||||||
|
<data noupdate="0">
|
||||||
|
<!--1 超管默认有全部财务权限-->
|
||||||
|
<record id="base.group_erp_manager" model="res.groups">
|
||||||
|
<field name="implied_ids" eval="[Command.link(ref('account.group_account_user'))]"/>
|
||||||
|
</record>
|
||||||
|
</data>
|
||||||
|
</odoo>
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 288 KiB After Width: | Height: | Size: 58 KiB |
BIN
l10n_cn_standard_latest/static/description/banner1.png
Normal file
BIN
l10n_cn_standard_latest/static/description/banner1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 413 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 225 KiB |
@@ -1,10 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
##############################################################################
|
||||||
|
# Copyright (C) 2009~2024 odooAi.cn
|
||||||
|
##############################################################################
|
||||||
|
-->
|
||||||
|
<html>
|
||||||
|
<!-- begin title-->
|
||||||
|
|
||||||
|
<section class="oe_container container o_cc o_cc2">
|
||||||
|
<h2 class="text-center bg-warning text-white pt24 pb24">Latest Chinese Account chart 2025. For Odoo 18</h2>
|
||||||
|
<h4 class="text-center">2025最新中国会计科目表.企业标准会计</h4>
|
||||||
|
</section>
|
||||||
|
<!-- end title-->
|
||||||
<section class="oe_container container">
|
<section class="oe_container container">
|
||||||
<div class="oe_row oe_spaced">
|
<div class="oe_row oe_spaced">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h2 class="oe_slogan">App Latest Chinese Account chart 2024.</h2>
|
|
||||||
<h3 class="oe_slogan">Set all chinese default value. Like Default country, timezone, currency, partner... </h3>
|
|
||||||
<div class="oe_row">
|
<div class="oe_row">
|
||||||
<h3>Lastest update: v17.24.11.04</h3>
|
<h3>Lastest update: v18.24.11.04</h3>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<img class="oe_demo oe_screenshot img img-fluid" src="banner.png">
|
<img class="oe_demo oe_screenshot img img-fluid" src="banner.png">
|
||||||
</div>
|
</div>
|
||||||
@@ -14,7 +27,7 @@
|
|||||||
<ul class="list-unstyled">
|
<ul class="list-unstyled">
|
||||||
<li>
|
<li>
|
||||||
<i class="fa fa-check-square-o text-primary"></i>
|
<i class="fa fa-check-square-o text-primary"></i>
|
||||||
The Latest Account Chart for Odoo17.
|
The Latest Account Chart for Odoo18.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user