肯尼亚¶
配置¶
🇰🇪 安装 肯尼亚 :财务本地化套装 以获取肯尼亚本地化的所有功能。
eTIMS¶
`肯尼亚税务局(KRA)<https://www.kra.go.ke/>`_已经实施了`电子税务发票管理系统(eTIMS)<https://www.kra.go.ke/online-services/etims>`_来征税。
要通过 eTIMS 提交文件,您必须使用与现有的 交易发票系统 (TIS) 整合的 OSCU (在线销售控制单元),例如 Odoo 提供的系统。OSCU 用于验证、加密、签署、传输和存储税务发票。
注解
请确保 ref:`安装 <eneral/install>`**肯尼亚 eTIMS EDI**模块以完全使用 OSCU 设备。
OSCU 设备初始化¶
使用前必须初始化 OSCU。要执行此操作,请进入 公司 部分点击 更新信息,然后输入您的 税号。
,在要初始化 OSCU:
转到 肯尼亚 eTIMS 整合 部分。
并向下滚动到将初始化时的 eTIMS 服务器模式 设置为 测试。
输入设备的 序列号,并勾选两个复选框。
点击 初始化 OSCU。
注解
有三种服务器模式可用:
演示:用于演示目的;使用模拟数据,不需要初始化 OSCU;
测试:用于测试与 eTIMS 的连接;
正式运行:用于准备发送数据的实时数据库。
重要
如果您的设备**已经初始化**(例如通过另一个 ERP),请启用 开发者模式(调试模式) 。然后,在 肯尼亚 eTIMS 整合 部分,在 单位 ID 字段中输入设备 ID,并在 CMC 密钥 字段中输入通过之前初始化获得的密钥。完成后点击 保存。
一旦 OSCU 模块 被 初始化,就会为数据库中的每家公司生成一个 OSCU 序列号,并将其**国家/地区**设置为 肯尼亚。序列号根据公司的增值税号生成(无论其是否有效)。这是一个唯一顺序序列号,以 ODOO
前缀开头,然后是公司的 增值税号 和一串数字。
在 eTIMS 上注册¶
纳税人 必须 在 `KRA 门户网站 <https://etims.kra.go.ke/basic/login/indexLogin>`_注册并创建账户。如果您还没有账户:
注册,并输入您的 PIN 并验证所有信息是否正确,包括您的电话号码、电子邮件地址和邮政地址。在 `iTax 页面<https://itax.kra.go.ke/KRA-Portal/>`_更正任何错误。
系统会向您提供的电话号码发送 OTP(一次性密码)。如果没有收到,请取消屏蔽促销信息。
上传 业主 ID 或 董事 ID**(如 iTax 上所列),以及已填写并签名的**承诺书。
在**eTIMS 仪表板**上,点击页面顶部的 服务请求。选择 OSCU 作为**eTIMS类型**,输入
Odoo KE LTD
作为第三方整合商,并输入您公司之前检索到的 OSCU 序列号。
注解
服务申请审批通常很快。如果出现延误,请联系 eTIMS 运行部门或 KRA 办公室。
承诺书
Part 1: Fill in the taxpayer’s information.
Part 2: Fill in the business owner’s or director’s information.
Part 3: Fill in your unique serial number found in Odoo.
Part 4: Tick OSCU, enter Odoo KE LTD PIN
PO52112956W
, and enter the Odoo version you’re using (17.0 or onwards).Part 5: Check the mandatory boxes, enter a date, and sign.
eTIMS codes¶
Common standard codes are automatically fetched from the KRA eTIMS API servers every two days. To fetch them manually, proceed as follows:
Enable the 开发者模式(调试模式).
Go to KE eTIMS: Fetch KRA standard codes.
and search forClick the action in the list, then click Run Manually to fetch the codes.
Go to
to view the complete list of fetched OSCU codes.
UNSPSC codes¶
The KRA needs UNSPSC codes for a product to be registered. UNSPSC codes are automatically fetched from the KRA eTIMS API servers every day. To fetch them manually, proceed as follows:
Enable the 开发者模式(调试模式).
Go to KE eTIMS: Fetch UNSPSC codes from eTIMS.
and search forClick the action in the list, then click Run Manually to fetch the codes.
Go to the product form, and in the Accounting tab, click the UNSPSC Category field to view the complete list of fetched UNSPSC codes.
Notices¶
Notices are automatically fetched from the KRA eTIMS API servers every day. To fetch them manually, proceed as follows:
Enable the 开发者模式(调试模式).
Go to KE eTIMS: Fetch KRA notices from eTIMS.
and search forClick the action in the list, then click Run Manually to fetch the notices.
Go to
to view the complete list of fetched notices.多公司¶
参见
If you have multiple companies, you can centralize and manage them all on a single Odoo database. The KRA identifies and differentiates the main company from its subsidiaries by using IDs. Furthermore, subsidiaries are classified as branches of the main company.
要配置公司 ID,请打开**设置**应用程序,点击 公司 部分中的:guilabel:更新信息
,然后搜索:guilabel:eTIMS 分支机构代码
字段。在多公司环境中,**主公司**的分支机构 ID 等于`00`。*非*主公司的公司分支机构 ID 不是 00
,而是由 KRA 分配的 ID。
要添加分支,请转到**公司设置**中的 分支`选项卡,然后点击 :guilabel:`添加一行。
要从 KRA 获取非主公司的**分支 ID**,请确保主公司有肯尼亚的 税号 且 OSCU 设备已 初始化。然后,转到 分支 选项卡,点击 从 KRA 中填充。
注解
KRA 将每个**供应地**视为一个单独的分支机构 (ID)。
每个分支的 OSCU 设备必须 独立初始化。
联系分支 ID¶
要为联系人指定分支机构 ID,请访问联系人表单,转到 会计 选项卡,并在 eTIMS 分支机构代码 字段中输入分支机构代码。
注解
默认情况下,联系人的分支 ID 设置为 OO
。
KRA 序列¶
重要
Odoo 发票序列和 KRA 序列**不同**。
在 Odoo 中,发票序列取决于**主公司**。主公司可以查看分支机构的发票,但分支机构**不能**查看主公司或其他分支机构的发票。
KRA 需要每个分支**独立**的序列。因此,Odoo 会单独管理每个分支的序列。
Example
如果您有一家总公司和两家分公司,发票顺序如下:
在**分支 1** 上创建发票:INV/2024/00001;
在**支行 2** 上创建发票:INV/2024/00002;
在**主公司**上创建发票:INV/2024/00003。
这就是 Odoo 如何管理序列以符合 KRA 规定:
在**分支 1** 上创建发票:INV/2024/00001;
在**分支2**创建发票:INV/2024/00001;
在**主公司**创建发票:INV/2024/00001。
保险¶
对于 保健服务提供商,您可以发送总公司和分公司的保险信息,并在 eTIMS 中更新。要执行此操作,请进入 肯尼亚 eTIMS 整合 部分,并填写 代码 、 名称 和 费率 字段。完成后点击 发送保险详细信息。
,滚动到产品注册¶
The KRA requires products to be registered first before conducting business operations (such as stock movements, BOM, customer invoices, etc.). For a product to be registered, the following fields must be defined on the product form:
In the General Information tab: Cost.
In the Accounting tab:
Packaging Unit;
Packaging Quantity;
Origin Country;
eTIMS Product Type;
Insurance Applicable;
如果定义了上述要素,产品将在向 KRA 发送操作时自动注册。如果没有,屏幕顶部会有黄色横幅提醒您检查缺少的元素。

库存移动¶
所有**库存变动**必须发送至 KRA。如果是内部操作或库存调整,则不需要发票;因此,如果满足以下至少一个条件,Odoo 会自动发送发票:
No contact is set for the move;
The contact is your main company or a branch of the main company.
If the stock moves are external operations (e.g., to contacts that are not part of the main company or its branches), the stock moves are automatically sent after the invoice is sent to eTIMS.
注解
在向 eTIMS 系统发送发票之前,必须确认库存移动。
产品必须 已注册 才能将库存移动发送到 eTIMS。如果产品尚未注册,黄色横幅将提示产品注册。
采购¶
Odoo 每天自动从 eTIMS 获取新的供应商账单。您需要确认获取的供应商账单,并将确认信息发送给 KRA。要确认供应商账单,该账单必须与一个或多个已确认的采购订单项目相关联。
在采购(非海关进口)的情况下,将采购订单项目与账单联系起来的步骤如下:
进入
。从 KRA 服务器获取供应商账单。如有需要,可在供应商账单的聊天记录中查看 JSON 文件。Odoo 会查看供应商(合作伙伴)的 税号 (PIN);
如果未知,则将创建新的联系人(合作伙伴)。
如果已知联系人和分支 ID 相同,Odoo 将使用已知联系人。
在从 KRA 获取的账单中,选择 产品。每个供应商账单*必须*包含一个产品,以便稍后确认并发送到 eTIMS。
Odoo 会检查与上一步输入的产品和合作伙伴(如有)相匹配的现有订购单项目。点击 采购订单行 字段,选择与产品相匹配的相关采购订单。账单上的数量*必须*与采购订单上显示的收货数量相同。
如果没有现有采购订单行与获取的账单行匹配,请点击 创建采购订单`并根据未匹配的行创建采购订单。 :guilabel:`验证 生成的库存移动和 :guilabel:`确认`账单。
在 eTIMS 付款方式 字段中设置一种方法。
完成所有步骤后,点击 发送至 eTIMS 发送供应商账单。供应商账单在 eTIMS 上确认后,可在 eTIMS 详情 选项卡中找到**KRA 发票编号**。

发票¶
注解
如果产品没有库存,KRA *不*接受销售。
这是 Odoo 中**建议的销售流程**:
创建**销售订单**。
验证 送货。
确认 发票。
点击 发送和打印,然后启用 发送到 eTIMS。
点击 发送和打印 发送发票。
发票寄出并经 KRA 签名后,可在发票上找到以下信息:
KRA 发票号码;
必须填写的 KRA 发票字段,如**SCU 信息**、日期、SCU ID、收据编号、项目计数、内部日期**和**收据签名;
The KRA 税表;
签名发票的唯一 KRA QR 码。
导入¶
海关进口代码每天**自动**从 KRA eTIMS API 服务器获取。要手动获取,请按以下步骤操作:
Enable the 开发者模式(调试模式).
转到 KE eTIMS:从 OSCU 接收海关进口信息。
并搜索Click the action in the list, then click Run Manually to fetch the codes.
进入
查看进口代码。发送 海关进口 并由 KRA 签收需要以下步骤:
转到
; 从 KRA 自动获取海关进口信息。将导入项目与 产品 字段中现有的注册产品相匹配(如果不存在相关产品,则创建一个产品)。
在 合作伙伴 字段中设置供应商。
根据合作伙伴,将进口项目与其相关采购订单进行匹配(请参阅 采购步骤)。海关进口批准后,必须正确调整库存。
如果没有相关采购订单,请创建一个并 确认。然后,点击采购订单上的 接收产品,再点击 验证,确认交货。
根据货物情况,点击 匹配并批准 或 匹配和拒绝。
注解
从 KRA 收到的 JSON 文件附在海关进口的聊天记录中。
物料清单(BOM)¶
KRA 要求将所有 BOM 发送给他们。要向 eTIMS 发送物料清单,产品及其组件*必须* 已注册。要访问产品的物料清单,请点击产品,然后点击 材料清单 智能按钮。
确保在产品表单的 会计 标签的 KRA eTIMS details 部分填写了 KRA 必填字段,然后点击 发送至 eTIMS。BOM 的成功发送将在聊天中确认,您还可以在附加的 JSON 文件中找到已发送的信息。
贷记单¶
KRA 不接受数量或价格高于初始发票的贷项凭证。创建贷项凭证时,必须注明原因:在贷项凭证表单中,转到 eTIMS 详情 标签页,选择 eTIMS 贷项凭证原因,然后在 冲销 字段中选择发票号码。