墨西哥¶
模块¶
以下模块会自动安装墨西哥本地化版本:
名称 |
技术名称 |
说明 |
|---|---|---|
墨西哥 - 会计 |
|
默认 财务本地化套装 为墨西哥本地化添加会计特征,例如:最常见的税种和会计科目表 - 基于 SAT 科目分组代码 。 |
墨西哥电子数据交换 |
|
包含根据 SAT 发布的技术文档生成和验证 电子单据 所需的所有技术和功能要求。这允许您向政府发送发票(无论是否带附录)以及付款补充信息。 |
Odoo墨西哥本地化报表 |
|
为墨西哥电子会计调整报表:包括会计科目表、试算平衡表和 DIOT。 |
墨西哥 - 第13个月试算平衡表 |
|
用于创建结账分录(也称为*第13个月凭证*)所必需。 |
Odoo墨西哥XML凭证导出 |
|
允许导出用于强制性审计的日记账凭证 XML 文件。 |
以下模块是可选的。建议 仅当 满足业务的特定需求时才 安装 它们。
名称 |
技术名称 |
说明 |
|---|---|---|
墨西哥电子数据交换(高级功能) |
|
在发票上添加外贸补充信息(向国外销售产品的法律要求)。 |
墨西哥 - 电子交货指南 |
|
允许您创建 电子货运单 :一种向政府证明您正在通过已签名的电子单据将货物从A地运送到B地的货运提单。它同时也会安装 车队 应用。 |
Odoo墨西哥库存/到岸成本 |
|
允许在电子文档中管理与到岸成本相关的报关单号。 |
销售订单的 CFDI 4.0 字段 |
|
向 销售 模块添加额外字段,以符合墨西哥电子发票法规要求。 |
POS 墨西哥本地化 |
|
向 POS 模块添加额外字段,以符合墨西哥电子发票法规要求。 |
电商的墨西哥本地化 |
|
向 电商 模块添加额外字段,以符合墨西哥电子发票要求。 |
更多内容
工资单模块的相关信息可 在此处 查阅。
视频教程¶
关于墨西哥本地化的视频教程也已提供。本页面涵盖的基本工作流程和大多数主题均有视频格式,请查看以下内容:
Localization overview¶
Odoo 的墨西哥本地化模块允许根据 SAT 对 CFDI 4.0 版本 的规范签署电子发票,这是自 2022 年 1 月 1 日起的法律要求。这些模块还添加了相关的会计报告,包括 DIOT,支持外贸业务,并支持创建货运指南。
注解
为了在 Odoo 中电子签署任何文档,必须安装“电子签名”应用。
要求¶
在 Odoo 中配置墨西哥本地化模块之前,必须满足以下要求:
已在 SAT 注册并拥有有效的 RFC。
拥有有效的 数字印章证书 (CSD)。
选择一个 PAC。目前,Odoo 与以下 PACs 合作: Solución Factible 、 Quadrum 和 SW Sapien - Smarter Web 。
公司¶
安装正确的模块后,下一步是验证公司是否配置了正确的数据。请前往 ,然后选择要配置的公司。
在打开的表单中输入完整的 地址 ,包括: 邮政编码 、 州 、 国家/地区 和 |RFC|( 税务编号 )。
根据 CFDI 4.0 的要求,公司主要联系人的姓名 必须 与在 SAT 注册的商业名称完全一致,且不包含法律实体缩写。 邮政编码 的要求也同样。
重要
从法律角度来看,墨西哥公司 必须 使用当地货币(MXN)。如需使用其他货币,请将 MXN 设为默认货币,并使用 价格表 来代替。
接下来,请前往 ,并滚动到 墨西哥电子发票 部分。在 税务管理服务局(SAT) 下,从下拉列表中选择适用于公司的 税收制度 ,然后点击 保存 。
小技巧
若要测试墨西哥本地化功能,请将公司配置为墨西哥境内的真实地址(包括所有字段)。添加 EKU9003173C9 作为 税务编号 ,并添加 ESCUELA KEMPER URGATE 作为 公司名称 。对于 税收制度 ,请使用 法人实体通用法 。
分支¶
在使用分支机构时,所有发票信息都将取自总公司,但邮政编码除外。除非在分支机构上设置了 RFC,那么信息将直接取自该分支机构。
分支机构允许用户在同一母公司下建立多个品牌。此外,当因开票目的需要不同的税收制度时,必须为每种制度创建一个分支机构。默认情况下,制度会从母公司继承。但是,如果在分支机构上明确设置了制度,Odoo 将采用适用于该分支机构的制度。
联系人¶
注解
请 安装 联系人 应用以访问 联系人 记录。
要创建一个可用于开票的联系人,请前往 应用并点击 新建 。然后,输入联系人姓名、完整的 地址 (包括 邮政编码 、 省/州 、 国家/地区 )以及 |RFC|( 税务编号 )。
重要
与公司本身一样,所有联系人必须拥有在 SAT 注册的正确商业名称。还必须在 销售与采购 标签页中添加 税收制度 。
警告
设置了 |RFC|( 税务编号 )但未配置 国家/地区 ,可能会导致发票信息不正确。
税率¶
为了正确签署发票,请在销售税上设置 因素类型 和 征税对象 字段。
小技巧
RESICO ISR 预扣税和一些 IEPS 税种会自动创建,但该功能默认不激活。要启用它,请前往 。
因素类型¶
因素类型 和 SAT 税金类型 字段均已预装在默认税种中。
对于新税种,请在 中设置这些字段,然后点击 新建 。将 税金类型 设置为 销售 。在 高级选项 标签页中,填写 SAT 税金类型 和 因素类型 字段。
Odoo 支持四组 SAT 税金类型: 增值税 、 所得税 、 特别生产与服务税 和 :guilabel:` 地方税` 。
如果因素类型是 定额 ,则无法使用标准计算方法。此时,应将税金计算方式设置为 自定义公式 。
Example
数量 = 交易中的商品数量
6.455 = 定额值(每单位的固定金额)
仅支持按单位定额,不支持基于其他因素的定额。
小技巧
墨西哥管理两种不同的0%增值税以适应两种情况:
对于 0% 增值税,将 因素类型 设置为 税率
对于 增值税免税,将 因素类型 设置为 免税
注解
地方税在 XML 文件中生成于一个单独的节点,这些税款不会由 PAC 验证。
警告
定额和自定义公式需要 使用Python代码定义税金 模块。参见 税金 。
税目¶
CFDI 4.0 的一项要求是生成的 XML 文件需根据法规处理业务税金的细分。XML 文件中添加了八种不同的可能值:
01:非征税对象:如果发票行不包含任何税金,则自动添加此值。02:征税对象:这是任何包含税金的发票行的默认配置。03:征税对象且无需细分:此值只能手动添加。04:征税对象但无税:此值只能手动添加。05:征税对象,用于PODEBI的增值税:此值只能手动添加。06:增值税对象,不结转增值税:当存在 ISR 预扣税且无增值税时,将选择此对象。07:不结转增值税,需拆分 IEPS:当存在 ISR 预扣税、IEPS 税且无增值税时,将选择此对象。08:不结转增值税,需拆分 IEPS:此对象只能手动添加。
警告
使用 01、03、04 或 05 中的任意一个值,都将从 XML 文件中移除税金节点。
重要
IEPS 拆分 状态会影响征税对象的行为,这是因为当拆分未发生时,会缺失 IEPS 信息。
地方税¶
地方税(例如,ISH、Cedullar)需要一个单独的 XML 节点,并且可能不遵循标准的税金逻辑。
配置地方税时,其名称会出现在地方税补充信息中。如果税率为负值,则视为预扣税;如果为正值,则视为结转税。
IEPS 拆分¶
默认情况下,Odoo 会在发票中隐藏 IEPS,以便计算增值税的小计包含 IEPS 的金额,这是为了确保不需要它的税收制度不会收到它。
可以通过在每个联系人的 销售与采购 标签页内选中 IEPS 拆分 复选框,使 IEPS 在 XML 中可见。
其他税项配置¶
墨西哥本地化使用 现金制税金 。登记付款时,Odoo 会执行将税金从 现金制过渡账户 转移到发票或账单行上设置的税金记录中 定义 标签页内配置的账户的操作。在此操作中,重新分类税金时,日记账分录会使用一个税基账户:( 899.01.99 基于现金流税基账户)。 请勿删除此账户 。
预扣税¶
默认情况下,Odoo 包含具有特殊分配的预扣税以处理增值税的分配。
在登记发票时,需添加预扣税及其对应的增值税。两者都必须包含在供应商账单中以确保会计处理的正确性。建议使用 财务位置 ,以便现金制分录能正确拆分税项分配。
Example
对于一份 10000 MXN 的租赁供应商账单,10.67% 的租赁预扣税对应的是 16% 的 2/3 住宅增值税。必须同时应用这两种税才能正确反映会计信息。
注解
目前不支持带预扣税的 CFDI。请咨询会计师以获取正确的分配方案。
产品¶
要配置产品,请前往 。打开现有产品或点击 新建 。在 会计 标签页中,设置 UNSPSC 产品类别 。产品和类别可以手动设置,也可以通过 批量导入 完成。
注解
所有产品都需要关联一个 SAT 编码,以防止验证错误。
电子开票¶
PAC凭证¶
在通过 SAT 处理完您的 私钥(CSD) 后,您必须在开始从 Odoo 创建发票之前,直接向您选择的 认证服务提供商(PAC) 注册。
一旦您在任一提供商处创建了账户,请前往 ,并导航到 墨西哥电子发票 部分。在 授权认证提供商(PAC) 部分,输入您的 PAC 名称及您的凭据( PAC 用户名 和 PAC 密码)。
小技巧
若要在没有凭据的情况下测试电子发票功能,请勾选 墨西哥 PAC 测试环境 复选框,并选择 Solucion Factible 作为 PAC 。在测试环境中,无需添加用户名或密码。
.cer 和 .key 证书¶
公司的 数字证书 必须在 证书 部分上传。要执行此操作,请前往 。
在 管理您的证书 下,点击 密钥 链接以访问 密钥 列表视图。点击 创建 ,上传数字 密钥文件 ( .key 文件),为密钥添加一个 名称 ,并输入 私钥密码 。
从 中,选择 证书 以访问 证书 列表视图。点击 创建 ,上传数字 证书 (.cer 文件),为证书添加一个 名称 ,并从下拉菜单中选择上一步创建的 私钥 。
注解
证书 记录上的 证书密码 和 公钥 字段是可选的。
会计¶
电子开票¶
Odoo 中的发票流程基于 SAT 4.0版本中要求的电子发票的附件 Annex 20 。
客户往来账¶
要从 Odoo 开具发票,必须使用 标准开票流程 创建客户发票。
当文件处于草稿模式时,可以对其进行更改,某些字段会使用之前在销售订单或联系人上设置的值。
需要审查的字段有:
向公众开具 CFDI。
用途
支付政策
支付方式(如果支付政策未设置为 PPD)
小技巧
用途 、 支付政策 和 支付方式 可以预先在销售订单上设置,也可以针对每张发票在联系人上设置。
支付政策是发票上的一个可选字段,可以手动设置为所需的政策。然而,如果未选择任何政策,Odoo 将根据以下一般规则自动计算政策:
如果预期付款的到期日在当前月份内,该值将设置为 PUE;如果日期超出当前月份,则政策将设置为 PPD。
警告
如果未选择支付政策且预期为 PPD 政策,则要么选择一个与当前月份不同的发票 到期日 ,要么选择意味着更改到期月份的 付款条件 (例如, 30天 或 15天 ,只要它们落在下个月即可)。
在客户发票上点击 确认 后,点击 发送 按钮以通过政府处理发票。请确保已勾选 CFDI 复选框。
从政府收到已签署的文档后, 财务流水号 字段将出现在文档上,XML 文件将同时出现在 CFDI 标签页和沟通栏的附件中。
如果在客户联系人记录中配置了电子邮件地址,勾选 通过电子邮件发送 和 CFDI 复选框会将 XML 和 PDF 文件一起发送。
要在本地下载 PDF 文件,请点击 打印 按钮。
小技巧
点击 更新 SAT 状态 时,发票上的 SAT 状态 字段将确认 XML 文件是否在 SAT 中 已验证。
在测试环境中,将始终显示 未找到 的消息。
警告
如果合作伙伴不包含 国家/地区 或 邮政编码 ,则开票将被视为向公众开具 CFDI,发票将开给通用客户。但是,如果这些字段留空且用户取消勾选 向公众开具 CFDI 复选框,将出现一个弹出窗口阻止该操作。
红冲发票¶
常规发票属于单据类型 “I” (Ingreso),而红冲发票属于单据类型 “E” (Egreso)。
除了 标准货项通知单流程 外,根据 SAT 的要求,货项通知单和发票之间必须通过财务流水号建立关联。
因此, CFDI 来源 字段会通过 01| 加上原始 UUID(通用唯一标识符) 的财务流水号来添加这种关联。
小技巧
要自动添加 CFDI Origin 字段,请使用发票上的 添加冲销收据 按钮,而不是手动创建。
通常,货项通知单会冲销日记账中定义的主要销售收入科目,但也可以全局为所有货项通知单分配一个科目。要执行此操作,请前往 ,并在 默认科目 部分设置 货项通知单 科目。
注解
在默认配置中,货项通知单科目设置为 402.01.01 按通用税率的销售和/或服务的退货、折扣或奖金 。
供应商往来账¶
供应商账单必须具有财务流水号,报表和付款才能正常工作。如果供应商账单是通过采购应用创建的或手动添加的,只需在沟通栏 作为日志注释 上传发票的 XML 文件,财务流水号将相应更新。请注意,账单必须处于草稿状态才能进行更新。
小技巧
点击 更新 SAT 状态 时,发票上的 SAT 状态 字段将确认 XML 文件是否已被 SAT 验证 ,供应商账单也是如此。
更多内容
实收实付与对账¶
支付政策¶
墨西哥本地化的一项补充是 付款政策 字段。根据SAT文档 ,付款有两种类型:
PUE (一次性付款)
PPD (分期或延期付款)
警告
仅当发票的政策设置为 PPD 时,才会生成付款补充信息。请注意,必须将 付款方式 设置为除 99 - 待定义 以外的选项。
如果发票的到期日不在当前月份,将默认设置为 PPD。
支付流程¶
这两种情况下,Odoo 中的付款流程 是相同的 。主要区别在于,根据法律规定,与 PPD 发票相关的付款需要以 “P”(付款)单据类型发送给政府。
如果付款与 PUE 发票相关,可以通过付款弹窗进行登记,并与相应的发票关联。要执行此操作,请前往 ,选择一张发票。然后,点击 付款 按钮打开付款弹窗,设置 付款方式 和其他字段,并点击 创建付款 。
尽管 PPD 发票的流程相同,但创建 电子单据 的补充要求意味着需要满足一些额外条件才能正确地将单据发送给 SAT。
从法律角度看,PPD 发票 必须 包含收到付款的具体 付款方式 。因此, 付款方式 字段不能设置为 待定义 ,因此选择该选项时该字段将变为不可见。
注解
如果需要银行账号,请在客户联系人记录的 会计 标签页中添加。
具体配置见SAT附件文档 Anexo 20 。通常, 银行账户 需要设置为 10 或 18 位数字用于转账,而16 位数字的则用于信用卡或借记卡。
如果一个已完全核销的付款与一张具有 财务流水号 的发票相关,则会显示 更新付款 按钮。点击 更新付款 按钮,将自动向政府发送 付款补充信息 XML 文件,并在发票和付款的 CFDI 标签页中显示该文件。
与发票或货项通知单类似,PDF 和 XML 文件可以发送给最终客户。要执行此操作,请在付款视图中点击 (齿轮) 图标打开操作下拉菜单,然后选择 通过电子邮件发送收据 。
无论付款创建时是否已核销,都可以通过点击发票上 CFDI 标签页中的 打印 按钮来下载付款的 PDF 文件。
开票取消¶
可以取消发送到 SAT 的电子数据交换文件。根据 墨西哥税制改革文件Reforma Fiscal 2022 ,自 2022年1月1日起,有两项要求:
所有取消请求都需要提供*取消原因*。
发票创建24小时后,要取消发票必须要求客户批准。如果客户72小时内没有响应,则视为同意并自动处理取消。
发票取消会在 Odoo 中自动更新,但可能需要一些时间。要检查取消状态,只需按 更新 SAT 状态 按钮。
发票取消可以基于以下原因之一进行:
01 - 发票开具错误(附相关单据)
02 - 发票开具错误(无替换)
03 - 该操作未执行
04 - 与总发票相关的记名操作
要发起取消,请前往 ,选择要取消的已过账发票,然后点击 请求取消 。接着,根据取消原因,参考 取消原因 01 或 取消原因 02、03 和 04 部分。
小技巧
或者,通过点击行项目中的 取消 按钮,在 CFDI 选项卡中请求取消。
注解
如果在锁定期间请求取消,CFDI 将被取消,但会计凭证不会。
如果客户拒绝取消,发票取消行项目将从 CFDI 标签页中移除。
取消原因 01¶
在 请求 CFDI 取消 弹出窗口中,从 原因 字段中选择 01 - 发票开具错误(附相关文件) ,然后点击 创建替换发票 以创建新的草稿发票。这个新的草稿发票将替换之前的发票及其相关的 CFDI。
确认 草稿并 发送并打印 发票。
返回到初始发票(即,您最初请求取消的那张发票)。注意 被替换为 字段中出现了对新的替换发票的引用。
点击 请求取消 。在 请求 CFDI 取消 弹出窗口中,01 - 发票开具错误(附相关文件) 选项会自动在 原因 字段中被选中。
点击 确认 。
然后会在 CFDI 标签页中生成带有原因行项目的发票取消记录。
注解
当使用 01 - 发票开具有误(有相关单据) 作为取消原因时, 财务流水号 字段中会出现 04| 前缀。这是 Odoo 用于完成取消操作的内部前缀,并不意味着 取消原因是 04 - 与全局发票相关的记名业务 。
取消原因 02、03 和 04¶
在 请求 CFDI 取消 弹出窗口中,选择所需的取消 原因 并 确认 取消。
这样做后,发票取消将生成一个原因行项目,在 CFDI 选项卡中。
注解
如果 SAT 状态 变回 已验证 ,可能是由于以下三个原因之一:
对于取消原因 02 、 03 和 04 , 创建替换发票 按钮将被 确认 按钮取代,该按钮会立即请求取消。
当前发票的 状态 和 取消原因 均可在 CFDI 标签页中找到。
付款取消¶
要取消 付款补充信息 ,请转到相关发票的 CFDI 标签页,然后点击付款补充信息行上的 取消 。
与发票类似,前往付款单并点击 更新 SAT 状态 ,以便将 SAT 状态 和 状态 更改为 已取消 。
注解
与发票一样,在创建新的付款补充信息时,可以通过在 CFDI来源 字段中添加 04| 加上财务流水号,来建立与原始单据的关联。
此操作会取消发票,并将 原因 标记为 01 - 发票开具有误(有相关单据) 。
开票特殊用例¶
CFDI 关联¶
有时需要将当前单据与先前已签署的 CFDI 建立关联,为此只需在发票的 CFDI 来源 字段中填写关联信息,共有 7 种可能的值:
01:货项通知单
02:相关单据的借记通知单
03:先前发票或货物转移的退货
04:替换先前的 CFDI
05:先前已开具发票的货物转移
06:基于先前转移生成的发票
07:预付款应用的 CFDI
小技巧
格式为:关联类型 |UUID1, UUID2, …., UUIDn,可以添加多个关联类型。
Example
以下是包含两个关联的示例:
04|042FE739-7B45-4D64-B26D-360000876D83,
07|A164BAF8-8016-428C-A422-D9BD2F68F6A0,CEAD9433-3B77-4270-85BF-AC2519587514
第一部分具有关联类型 04 和 1个UUID
第二部分具有关联类型 07 和 2个UUID
此外,任何组合也将在已签署的 PDF 上可见。
多币种¶
墨西哥的 主货币 是 MXN。虽然这对所有墨西哥公司都是强制性的,但可以发送和接收不同货币的发票(和付款)。要启用 多币种 功能,请前往 ,然后在 自动汇率 部分将 服务 设置为 [MX] 墨西哥银行 。接着,根据您希望更新汇率的频率设置 间隔 字段。
这样,文档的 XML 文件将具有正确的汇率和总金额(外币和墨西哥比索)。
强烈建议为每种货币使用独立的 银行账户 。
注解
每天自动更新汇率的货币仅为:美元、欧元、英镑、日元和人民币。
折扣¶
根据法律,发送给政府的电子单据不能包含负数行,否则可能引发错误。因此,当使用 礼品卡 或 忠诚计划 时,后续的负数行在 XML 中将被转换为普通的 折扣 。
要进行此设置,请前往 并创建一个名为 折扣 的产品,确保它设置了有效的 税金 (通常为 16% 的 增值税 )。
之后,通过 CFDI 创建并签署发票,并在底部添加`折扣`产品。在 XML 中,Odoo 将折扣平均分配到各行,而任何数学差异将添加到一个舍入产品中。
小技巧
必须为与 礼品卡 或 忠诚计划 相关的每个产品变体创建一个`折扣`和 UNSPSC 产品类别 。
首付¶
墨西哥的常见做法是使用 预付款 。其主要应用场景是,在商品或服务(或两者)尚未完全确定的情况下,您收到了对应的款项。
SAT 允许两种不同的方式来处理此流程:两种方式都涉及通过 CFDI 来源 字段将所有发票相互关联。
注解
此流程必须安装 销售 应用。
更多内容
配置¶
首先,前往 以创建产品 Anticipo(预付款)并进行配置。 产品类型 必须为 服务 ,并使用 UNSPSC 类别 84111506 开票服务 。
然后,进入 ,将 Anticipo 产品添加为默认产品。
方法 A¶
此方法包括创建预付款发票、创建总金额发票,最后为预付款总额创建一张货项通知单。
首先,创建一个包含总金额的销售订单,并从中创建预付款(使用百分比或固定金额均可)。然后,通过 CFDI 签署该单据,并登记付款。
当客户需要最终发票时,再次从同一销售订单创建。在 创建发票 弹出窗口中,选择 常规发票 。确保 Anticipo 产品的那一行。
小技巧
在墨西哥本地化中使用预付款时,请确保产品的 开票政策 为 订购数量 。否则将创建客户贷项通知单。
接着,复制预付款发票的 财务流水号 ,并将其粘贴到最终发票的 CDFI 来源 字段中,在值前添加前缀 07|,并通过 CFDI 签署该单据。
最后,为第一张发票创建一张货项通知单。复制最终发票的 财务流水号 ,并将其粘贴到货项通知单的 CFDI 来源 字段中,添加前缀`07|` 。然后,通过 CFDI 签署该单据。
至此,所有电子单据都已相互关联。最后一步是全额支付新发票。在新发票的底部,您可以在 未结清信用 部分找到货项通知单 - 将其添加为付款。最后,通过 付款 弹窗登记剩余金额。
在销售订单中,所有三张单据都应显示为 “收款中”。
方法 B¶
满足 SAT 要求的另一种更简单的方法是只开具首付款发票,并为余款开具第二张发票。这种方法将负数行作为折扣处理。
为此,请遵循与 方法 A 相同的过程,直到创建最终发票。不要删除包含 Anticipo 的行,而是将其他产品的 描述 重命名为包含文本`基于预付款余款的 CFDI` 。别忘了在最终发票的 CFDI 来源 字段中添加预付款发票的 财务流水号 ,并在前面加上前缀 07| 。
最后,通过 CFDI 签署最终发票。
附录与补充信息¶
可以在 XML 中包含附录和补充信息。要添加,请前往 ,点击 新建 以输入要注入的代码。可能需要超出标准 Odoo 范围的额外字段。
警告
此部分可能需要技术知识,并可能带来技术债务风险;建议向您的客户经理咨询最佳技术建议。
一旦创建了所需的节点,就可以在每个联系人上选择它们,使其出现在开给该联系人的每张发票上。默认情况下,所有选中的节点将自动添加到每张发票上。
也可以通过在每个发票的 其他信息 标签页中选择所需的节点,从 附录与补充信息 中进行选择,按需添加节点。
小技巧
可以为每个联系人或每张发票添加多个节点。
XML 阅读器¶
在某些情况下,例如当您在其他软件中或直接在 SAT 上创建发票时,您可能希望将发票上传到 Odoo。XML 阅读器允许您从 XML 文件中提取数据。要执行此操作,请前往 ,在列表视图中,点击 上传 按钮选择任意数量的 XML 文件,草稿发票将自动创建。您也可以将文件从电脑拖拽到视图中来完成此操作。
草稿发票将提取 客户信息 (如果不存在,将创建新联系人)、 产品行 (仅当已存在同名产品时),并计算所有税金和墨西哥本地化特有的额外字段。导入信息将显示在沟通栏中。
警告
根据发票的创建来源,XML 文件中的值可能与 Odoo 计算的总金额不同。 务必 仔细检查以此方式上传的任何文档。
以此方式创建的 客户发票 将能够创建 付款补充信息 ,并且可以随时取消。如果您使用 打印 按钮,PDF 文档将包含所有相应信息。
这同样适用于 供应商账单 。
小技巧
要获取已创建草稿发票的 财务流水号 ,请将 XML 文件作为日志笔记拖拽到沟通栏中。
CFDI to public公示¶
墨西哥政府要求所有销售的商品或服务都必须有发票支持。如果客户不需要发票或没有 RFC,则必须创建 向公众开具的CFDI ,也称为 “名义” 发票。
必须创建一个联系人,并且必须使用特定名称。
如果在销售订单或发票中勾选了 向公众开具 CFDI 复选框,最终的 XML 将覆盖发票联系人的数据,并添加以下特征:
RFC:如果客户是本国客户,则为 XAXX010101000 ;如果是外国客户,则为**XEXX010101000**
邮政编码 :与公司的邮政编码相同
用途 :S01 - 无财务影响
如果最终客户不提供任何详细信息,请创建一个通用的 客户 。名称不能是 PUBLICO EN GENERAL ,否则会触发错误(例如,可以是 CLIENTE FINAL )。
警告
默认情况下,如果合作伙伴未设置 国家/地区 或 邮政编码 ,则不允许发送发票,但如果 向公众开具 CFDI 复选框处于激活状态,则不需要此信息。
更多内容
统一发票¶
如果在特定时间段结束时(根据您公司的法律需求和偏好,可能从每日到每两月不等),客户仍有未被标记为常规发票或个人*向公众开具 CFDI 发票*的销售业务,SAT 允许创建一张可包含所有业务的单一发票,称为*统一发票*。
注解
此流程必须安装 销售 应用。
更多内容
销售流程¶
首先,必须在 中创建一个特殊的 日记账 ,目的是使用一个独立的序列。
然后,确保所有需要签署的销售订单具有以下配置:
已启用 向公众开具 CFDI 复选框
发票状态 标记为 待开票
完成后,前往 ,选择所有相关的销售订单并按 创建发票 。确保禁用 合并开票 复选框,然后点击 创建草稿发票 。
Odoo 将重定向到发票列表。选择所有发票,在 操作 下拉菜单中选择 过账 。再次选择所有已过账的发票,返回 操作 下拉菜单,选择 创建统一发票 。
在向导中,选择专业会计师指定的 周期 ,然后按 创建 。所有发票应在同一个 XML 文件下签署,并拥有相同的 财务流水号 。
小技巧
点击 CFDI 标签页中的 显示 ,可查看包含所有相关发票的列表。
点击 CFDI 标签页中的 取消 ,可在 SAT 和 Odoo 中同时取消统一发票。
注解
以此方式创建的统一发票不会包含 PDF 文件 ,因为其信息已存储在 Odoo 中,且无需向客户展示。
电子会计(报告)¶
在墨西哥,电子会计与发票 是指通过电子化手段保存会计记录和条目,并每月通过 SAT 网站输入会计信息的义务。
它由三个主要 XML 文件组成:
当前正在使用的会计科目表的最新列表
月度试算平衡表,以及结账分录报告,也称为:第13个月试算平衡表
总分类账中日记账分录的导出(除非强制审计,否则为可选)
生成的 XML 文件符合 墨西哥电子会计技术附件1.3版 的要求。
除此以外,还可以生成 DIOT :一份涉及增值税的供应商日记账分录报告,可以 TXT 文件格式导出。
注解
要使用这些报告,必须安装以下模块:
Odoo 墨西哥本地化报告 l10n_mx_reports
墨西哥 - 第13个月试算平衡表 l10n_mx_reports_closing
Odoo 墨西哥XML凭证导出 l10n_mx_xml_polizas
会计科目表 和 第 13个月试算平衡表 报告可在 中找到。 DIOT 报告可在 *menuselection:会计 --> 报告 --> 税务报告 中找到。
重要
您发送的报告的具体特点和义务可能会根据您的财政制度而发生变化。在向政府发送任何文件之前,请务必联系您的会计师。
会计科目表¶
墨西哥的 会计科目表 遵循基于 SAT 科目分组代码 的特定模式。
可以创建任何科目,只要其符合 SAT 的编码分组模式:模式为 NNN.YY.ZZ 或 NNN.YY.ZZZ 。
Example
例如,“102.01.99” 或 “401.01.001”。
在 中创建符合 SAT 编码分组模式的新科目时,正确的分组代码会出现在 标签 中,并且该科目会显示在 会计科目表 报告中。
创建所有科目后,请确保添加了正确的 标签 ,因为这些标签标明了科目的性质。
注解
不建议使用任何以 0 结尾的章节模式(例如`100.01.01`、301.00.003 或 604.77.00)。这会在报告中触发错误。默认情况下,如果编号稍后会导致问题,Odoo 会将科目标记为黄色,这是为了防止报告提供不准确的数据。
一切设置完成后,请前往 ,点击 SAT 会计科目表(XML) 按钮,生成包含所有科目的 XML 文件。该 XML 文件可准备上传至 SAT 网站。
试算表¶
只要添加了正确的 编码组 ,试算表就会报告账户的初始余额、贷方余额和总余额。
要生成试算平衡表的 XML 文件,请前往 ,选择日期,然后点击 (操作菜单) ,再选择 SAT (XML) 。
注解
Odoo 不会生成 Balanza de Comprobación Complementaria 。
第 13 个月¶
另一个附加报告是 第13个月 :一份结账资产负债表,显示了会计年度结束时所做的任何调整或变动。
要生成此 XML 文档,请前往 ,并创建一个新凭证。在此处,添加所有需要调整的金额,并平衡每个科目的借方和/或贷方。
完成后,进入 其他信息 标签页,勾选 第13个月结账 字段。如果需要,请前往 并选择日期 第13个月 ,在此处可以查看年度总金额以及日记账分录的所有增减项。要生成 XML 文件,请点击 (操作菜单) ,然后选择 SAT (XML) 。
总分类账¶
根据法律,墨西哥的所有交易都必须以数字方式记录。由于 Odoo 会自动为所有发票和付款创建底层日记账分录,因此只需导出总账即可满足 SAT 的审计和/或退税要求。
小技巧
可以根据需要按期间或按日记账筛选报告。
要创建 XML,请前往 ,点击 (操作菜单) ,然后点击 XML (Polizas) 。接着,从四种 导出 类型中选择:
税务审计
审计认证
退货
赔偿
对于 税务审计 或 审计认证 ,请添加由 SAT 提供的 订单编号 。对于 退货 或 赔偿 ,请添加由 SAT 提供的 处理编号 。
注解
要查看此报告,请使用 ABC6987654/99 作为 订单编号 或 AB123451234512 作为 处理编号 。
DIOT报告¶
DIOT(第三方业务信息申报表 / 第三方业务信息申报表 )是 SAT 的一项附加义务,
注解
从 2025 年 7 月起,新版本 2025 的报告可用。
与其他报告不同,DIOT 是由 SAT 提供的网站所提供,该网站包含 A-29 表单。在 Odoo 中,您可以将交易记录下载为 TXT 文件,该文件可以上传到表单,从而避免直接捕获此数据。
DIOT 文件包含供应商发票中注册的付款的总金额,根据相应的 IVA 类型进行分拆。 IVA 、 国家 和 操作类型 字段对于所有供应商都是 必填的。
要下载 DIOT 报表为 TXT 文件,请前往 。 选择所需的月份,点击 (操作菜单) ,然后选择 DIOT (TXT) 。
当数据库中创建新的税项时,有 税 的标签类型必须进入税分配,而包含基本名称的标签必须进入税的基。所有 VAT 税 必须 包含至少一个税网格。
重要
在每个供应商的 会计 标签页中填写 操作类型 字段,以防止验证错误。请确保外籍客户设置 国家 。
选择 87 - 全球性业务 将导致最终的 TXT 文件将所有包含全球性业务的供应商合并为一个通用的 VAT:XAXX010101000 。
进出口外贸¶
外贸是对普通发票的补充,根据 SAT 法规 ,在 XML 和 PDF 中为外国客户的发票添加某些值,例如:
收件人和发件人的具体地址
增加一个 关税比例 标签,用于识别产品类型
正确的 国际贸易术语 (国际商业条款)
更多,如 原产地凭证 和 特殊计量单位
除了扩展所售商品的描述之外,还可以正确识别出口商和进口商。
从 2018 年 1 月 1 日起,出口商和进口商是出口商和进口商需要满足的要求。目前 CFDI still 4.0,而外贸目前是 2.0 版本。
注解
要使用此功能,必须安装 墨西哥 EDI (高级功能) 模块 l10n_mx_edi_extended 。
重要
安装前,请确保您的企业需要使用此功能。如有必要,在安装任何模块之前,请先咨询您的会计师。
在创建外国发票时,请勾选 CFDI to public 复选框。
配置¶
联系人¶
要配置您的公司联系信息用于外贸,请导航至 ,删除默认的 客户发票 过滤器,并选择您的 公司 名称。CFDI 4.0 要求在客户联系记录中添加有效的 ZIP 邮政编码,同时要求 城市 和 州 也必须是 SAT 货场传送 传送 中的数据,否则将产生错误。
警告
在公司的 联系记录 中添加 城市 和 州 ,而不是在公司记录本身中。
在联系记录中,可选字段 localization 和 列 也可以填写。这两个字段也必须与 SAT 中的数据一致,否则将产生错误。
要配置外国接收客户的联系人数据,请导航至 ,然后选择外国客户的联系人。为避免出错,联系人必须填写以下字段:
整个公司的 地址 ,包括有效的 ZIP 代码和国外的 国家/地区 。
外国的 RFC (税号) ,格式正确(例如:哥伦比亚 123456789-1)
在 销售和采购 选项卡中,请激活 需要外部贸易? 复选框。
注解
在生成的 XML 和 PDF 文件中, VAT 会自动替换为国外交易的通用增值税:xexx010101000 。
产品¶
所有与外部贸易有关的产品都有四个额外的字段,其中有两个是专门用于外部贸易的。
产品的 参考 必须在 常规信息 选项卡中设置。
产品的 重量 必须在 库存 选项卡中设置为
0以上。产品 正确的 关税分段 必须在 会计 选项卡中为外部贸易设置。
产品的 UMT Aduana 在 会计 选项卡中必须设置,并与外部贸易的 关税分段 相对应。
小技巧
如果 关税分类 的单位代码是
01,则正确的 UMT Aduana 是kg。如果 关税分类 的单位代码是
06,则正确的 UMT Aduana 是Units。
开具发票流程¶
在创建发票之前,重要的是要考虑,外部贸易发票需要将产品价格转换为外币,例如美元。因此,必须 使用外币激活的 多货币 。正确的 服务 是 [MX] Bank of Mexico 。要转换产品价格,请创建外币的 价格表 。
然后,在 中设置正确的汇率,在发票的 其他信息 选项卡中设置 Incoterm 和可选的 Certificate Source 字段。
小技巧
信息将更完整,如果还激活了 CFDI to public ,则信息将更完整。
最后,使用相同的流程确认发票,并单击 发送 按钮以通过 CFDI 签名。
Point of sale¶
墨西哥本地化对点销售适配启用了通过 POS 会话 创建符合|SAT| 要求的发票,并添加了创建收据票以允许 自开票 特殊门户和创建全局发票的额外好处。
门店收银流程¶
在标准 POS 配置 的基础上,墨西哥本地化需要每个付款方式都配置正确的 Payment Way 以及一个 Re-invoicing account 来处理发票与发票门户的会计。
小技巧
默认情况下,Odoo 创建了现金、信用卡和借记卡的预配置付款方式,并分配了 402.04.01 Re-invoicing 账户作为重新发票的默认账户。
在 门店收银 中,单击 客户 按钮以创建或选择客户。这里可以查看客户发票信息(例如|RFC|或 Fiscal Regime ),也可以直接在会话中修改它。
选择客户后,勾选 发票 复选框。这将打开一个菜单,用于选择 用途 并定义是否是面向公众的发票。点击确认,选择付款方式,然后点击验证以完成订单。PDF 文件将被下载,并可以通过邮件将发票连同收据一起发送给最终客户。
小技巧
要从订单创建发票,请转到 订单 菜单,选择订单,单击 加载订单 ,并选中 发票 复选框。这将打开相同的菜单用于选择 Usage用途 和 CFDI to Public。
对发票进行自动签名,请在处理退货时选中 Invoice发票 复选框。
注解
退货产品发票将包含关系类型 03 - Devolución de mercancía sobre facturas o traslados previos。
重要
在墨西哥本地化中,门店收银 会话中的正数和负数行不能混合。
如果|SAT| 验证错误发生,客户将获得一个 Pro-Forma 发票。
自开票门户¶
如果最终客户不确定是否想立即生成发票,他们可以给客户一个选项,生成收据,使用二维码或 URL。
转到 。
选择 门店收银 。
滚动到 发票和收据 部分。
启用 自助开票 。
将 打印 字段设置为 二维码 , URL 或 二维码 + URL。
客户扫描此二维码或访问此 URL 的菜单,他们可以添加他们的 Fiscal 信息,包括使用和 Fiscal 税种,当客户输入五位数字代码时,将使用此代码。
在会话的日记帐中,以前选择的 Re-发票账户 将用于处理销售条目的 reversal,当发票被要求时,以及作为新发票的ales 账户。
更多内容
统一发票¶
全局发票也可以从门店收银会话创建。
对于此,请确保不选择客户或发票选项,转到 。 这里,选择要发票的订单,点击 操作 并选择 创建全局收据 。
像销售订单一样,选择正确的 周期性 并点击 创建 。
这附加了 XML 文件到所选的订单。 XML 文件可以通过转到 CFDI 标签页下载。 如果需要,也可以从同一标签页取消发票。
如果最终任何订单的某些订单需要指定客户地址,仍然可以发送发票,进入新的 POS 会话,点击 (下拉菜单) ,然后点击 订单 。 改变 所有活动订单 过滤器为 已付款 , 选择订单,并点击 发票 按钮。
注解
全局发票,就像普通发票一样,只能按物理地址进行分组。 这是由 POS 发票日记设置的地址确定的, 所以当尝试不同的地址或多个地址时,将出现警告,警告用户错误。
电子商务¶
墨西哥本地化中的电子商务适配器提供了额外的步骤, 用于创建符合|SAT| 要求的发票, 通过检索客户数据, 即使允许在支付处理后对自动发票进行签名, 以及通过电子邮件发送客户文件, 并授予他们访问从客户门户检索 PDF 文件的权限。
电子商务流程¶
在常规结账过程中,会出现一个新的 开票信息 步骤,在此步骤中可以选择是否请求发票。如果选择 否 ,则会创建一个 CFDI to Public。如果选择 是 ,则需要提供 RFC 、 税务制度 和 用途 以便在销售订单中获取所有信息,此时销售订单的状态将更改为 待开票
此外,客户也可以决定是否请求 IEPS 分段。
重要
请为 配送产品 添加 UNSPSC 代码。
如果启用了 ,电子文档将自动签名。
销售管理¶
销售应用包含字段,使开票更简单, 但字段本身不会改变销售行为, 当创建发票时,它们将直接复制。
已复制的字段是:
支付方式
支付政策
CFDI to public公示
用途
通过安装 Pro-forma 模块, 可以通过客户获取发票的预览,以进行验证。 该模块将添加上述字段到销售订单中, 还将添加以下字段:
产品代码
单位代码
税务制度
订阅¶
处理订阅时,将使用所有销售字段来创建重复发票。 这些发票将自动签名并通过电子邮件发送, 附带 PDF 和 XML, 无需任何额外的手动操作。
重要
订阅应用生成的所有发票都将始终自动签名, 无任何例外。
仓库¶
报关单号¶
报关单 (Pedimento Aduanero )是 Fiscal 实体( SAT )所支付的所有贡献的 申报凭证, 包括进口/出口货物。
根据 CFDI 4.0 的 附录 20 , 在由第一手进口操作所 已开票 的货物所组成的文档中, 需要将 报关单号 添加到所有涉及操作的产品行, 同样需要添加文档的日期。
重要
不要将这一特征与对外贸易相混淆。此处的报关单号与进口货物直接相关,而对外贸易更多与出口相关。如果需要此功能,请先咨询您的会计师,然后再做任何修改。
配置¶
要跟踪特定发票的正确的报关单号,Odoo 使用 库存成本。 去 , 并在 价值 部分, 确保 库存成本 已激活。
小技巧
我们建议为库存成本添加一个 默认日记 , 即使库存成本只添加报关单号而不添加 额外成本 也不会创建日记条目。
为库存成本配置 货物类型 产品。要实现此功能,请创建产品并完成以下三个要求:
跟踪 必须 设置为 按批次 或 按唯一序列号 , 但 不能 设置为 按数量 。
发票政策 必须 设置为 按发货数量 。
启用 按批次/序列号价值。
这会为 会计 选项卡添加 海关收据 字段。 启用此字段以使用此产品中的报关单号。
在产品中添加 产品类别 并配置以下内容:
成本计算方法: 选择 FIFO 或 AVCO
库存价值: 选择 周期性 或 永久
注解
此功能均会生效,不管你的 库存价值 设置为 周期性 (在结账时) 或 永久 (在发票时)。
采购和销售流程¶
配置产品后,请遵循标准 采购流程。
从 中创建采购订单。 然后,确认订单以显示 收货 智能按钮。点击 收货 智能按钮,添加批次或序列号并 验证 。
转到 ,并创建 新记录。在 调拨 中,添加刚刚验证的收货单,并添加 报关单号 。
小技巧
在流程的这一阶段添加关务成本是可能的,但建议从关务代理的供应商发票创建关务成本。 了解有关 Landed Costs 的更多信息。
警告
关务编号字段在设置后不可编辑,并且不能重复,但可以稍后通过选择不同的关务成本来 修改编号。
为特定批次或序列号分配的关务编号可以在 的注册中找到。 L10N Mx Edi Landed Cost 字段 可以随时编辑以修复在注册关务成本时发生的任何错误。编辑 L10N Mx Edi Landed Cost 字段时, 自动更新 报关单号 和批次或序列号的名称。
接下来,创建销售订单并确认它。点击显示的 配送 智能按钮, 仔细查看分配的批次/序列号,以确保它们是所需的值,然后 验证 发货单。
最后,从销售订单 创建发票,并确认它。 发票行根据发货单的分配创建,在多个关务编号被选择的情况下,Odoo 将按数量和关务编号 分割发票行。
发货指南¶
Carta Porte 是一张提单:一个表明货物类型、数量和目的地的票据。
在 2024 年 7 月 17 日,此 CFDI 的版本 3.1 已实现,适用于所有运输商、 中介者和货物所有者。Odoo 可以生成 “T” (Traslado) 文档类型, 与其他文档不同,它是在发货单而不是发票或付款时创建的。
Odoo 可以创建带(或不带)地面运输的 XML 和 PDF 文件,并可以处理被视为 危险品 的材料。
要打印 PDF 文件,发货单必须由政府签名,然后可以使用发货单上的 Print Carta Porte 按钮打印。
小技巧
PDF 文件包含用于验证 CCP 代码的二维码。
物流路线必须包含 Delivery 操作类型。
更多内容
重要
Odoo 不支持 Carta Porte 文档类型 “I”(Ingreso)、空运、火车或水运运输。
在开始任何修改之前,请先咨询您的会计。
配置¶
Odoo 管理两种不同的 CFDI 文档类型 “T”。两者均可从 收货发货单或发货单 创建。
当 到目的地的距离 小于 30 公里时,使用 无联邦公路 ,参考 小于30 km 。
当 到目的地的距离 超过 30 公里时,使用 联邦运输
对于无联邦公路,除了标准的发票要求(客户 RFC、UNSPSC 代码等)外,不需要其他配置。
对于 联邦运输 ,必须添加相关配置到联系人、车辆设置和产品中。这些配置将包含在 XML 和 PDF 文件中。
联系方式和车辆¶
和最终客户必须填写完整的地址。 ZIP 代码、 城市 和 州 必须与 SAT Carta Porte 目录 一致。
小技巧
Locality 字段对于两个地址都是可选的。
重要
用于生成 Carta Porte 的源地址设置在 中。默认情况下,此地址设置为公司地址,但您可以将其更改为您正确的仓库地址。
此功能需要使用 车辆 管理车辆。车辆设置直接管理车辆,所有必需的字段仅在检查 L10N Mx Is Freight Vehicle 字段时才可见。
勾选 L10N Mx Is Freight Vehicle 字段会显示 MX Parameters 选项卡,其中必需的字段用于创建正确的发货指南。此外,车辆 必须 包含 车牌号 、 车辆年份 和 司机 。
小技巧
车辆牌号和车牌号字段必须包含 5 到 7 个字符。
车辆的主要司机直接设置在 司机 字段中,并且可以添加更多车辆操作员在 Intermediaries 部分。司机联系人的必填字段是 VAT 和 Operator License。
小技巧
如果车辆是租赁的或者需要更多的中间人,则可以在 Intermediaries 字段中添加它们。
产品¶
与常规发票类似,所有产品都必须有 UNSPSC 类别 。除此以外,还有两种额外配置,适用于交货指南中涉及的产品:
必须将 产品 设置为 库存商品 才能创建库存变动。
在 库存 选项卡中, 重量 字段必须大于
0。
警告
创建具有 重量 设置为 0 的产品,将触发错误。由于 重量 立即存储在交货单中,因此必须返回产品并重新创建交货单(和交货指南)以使用正确的值。
销售和库存流转¶
要创建发货指南,首先从 创建并确认销售订单。点击生成的 交货 智能按钮,并 验证 交货单。
在状态设置为 完成 后,您可以编辑调拨,并选择 其它信息 选项卡中的 配送类型 。
如果使用 无需联邦调整服务 配送类型 ,请保存作业,然后点击 生成配送向导 。结果XML可以在聊天中查看。
注解
除了所有产品的 UNSPSC 之外,使用 无需联邦配送 的发货指南不需要任何特殊配置,因为它们是 “T” CFDI,没有交货指南 complement。
如果使用 联邦运输 运输类型 ,则显示 车辆设置 以选择。 车辆净重 从 车辆设置 配置中获取,其中可以添加额外的 额外重量 来 计算司机及行李重量等。
注解
Odoo 将使用以下公式计算 车辆净重 :
每个发货都需要 目的地距离(KM) 值大于 0 。最后,输入 发货日期 ,并点击 生成配送向导 。
注解
默认情况下, 计划时间 填写,表示发货出库的时间, 发货时间 是发货预计到达目的地的时间。这些值在 XML 和 PDF 中声明。
危险隐患¶
在 官方 SAT 目录 中, UNSPSC 类别 中的某些值被视为 危险危害 。在使用 联邦运输 创建交货指南时,需要额外考虑这些类别。
首先,从 中选择产品。然后,在 会计 选项卡中,使用 SAT 目录中的正确的代码填写 危险物品设计代码 和 危险包装 字段。
重要
存在一种可能性, UNSPSC 类别 可能是危险危害(例如 01010101 )。如果它不是危险品,请在 危险物品设计代码 字段中填写 0 。
在 MX Parameters 中,填写 Environment Insurer 和 Environment Insurance Policy 。完成后,继续进行常规流程以创建交货指南。
进口和出口¶
如果您的 Carta Porte 是国际操作(即出口),则需要考虑一些附加字段。
首先,确保所有相关的 产品 都有以下配置:
UNSPSC 类别 不能是 01010101 不在目录中 。
Tariff Fraction 和 UMT Aduana 必须设置,与 外部扩展交易 流程类似。
物料类型 必须设置。
然后,从发货或收货创建 交货指南 时,填写以下字段:
海关模式
海关单据类型
海关单据标识
然后,当为收货创建 交货指南 时,会出现两个新的字段:
小技巧
Customs Number 应该遵循模式 xx xx xxxx xxxxxxx。例如,