墨西哥

模块

以下模块会自动安装墨西哥本地化版本:

名称

技术名称

描述

墨西哥 - 会计

l10n_mx

默认 财务本地化套装 为墨西哥本地化添加会计特征,例如:最常见的税种和会计科目表 - 基于 SAT 科目分组代码。

墨西哥电子数据交换

l10n_mx_edi

包含生成和验证 电子文档 所需的所有技术和功能要求——基于 SAT 发布的技术文档。这允许将发票(带或不带附录)和付款补充发送至政府。

Odoo 墨西哥本地化报表

l10n_mx_reports

为墨西哥的电子会计调整报表:科目表、试算表和 DIOT、审计报告等。

以下模块是可选的。建议 仅当 满足业务的特定需求时才 安装 它们。

名称

技术名称

描述

墨西哥电子数据交换(高级功能)

l10n_mx_edi_extended

在发票上添加外贸补充信息(向国外销售产品的法律要求)。

墨西哥 - 电子货运指南

l10n_mx_edi_stock

启用创建 Carta Porte:一种提单,通过签名的电子文档向政府证明货物在 A 和 B 之间发送。同时还会安装 车队 应用。

Odoo 墨西哥库存/清关本地化

l10n_mx_edi_landing

允许在电子单据中管理与清关成本相关的报关号。

销售订单的 CFDI 4.0 字段

l10n_mx_edi_sale

向 销售 模块添加额外字段,以符合墨西哥电子发票法规要求。

POS 墨西哥本地化

l10n_mx_edi_pos

向 POS 模块添加额外字段,以符合墨西哥电子发票法规要求。

电商的墨西哥本地化

l10n_mx_edi_website_sale

向 电商 模块添加额外字段,以符合墨西哥电子发票要求。

视频教程

关于墨西哥本地化的视频教程也已提供。本页面涵盖的基本工作流程和大多数主题均有视频格式,请查看以下内容:

本地化概述

Odoo 的墨西哥本地化模块允许根据 SAT 对 CFDI 4.0 版本 的规范签署电子发票,这是自 2022 年 1 月 1 日起的法律要求。这些模块还添加了相关的会计报告,包括 DIOT,支持外贸业务,并支持创建货运指南。

注解

为了在 Odoo 中电子签署任何文档,必须安装“电子签名”应用。

要求

在 Odoo 中配置墨西哥本地化模块之前,必须满足以下要求:

  1. 已在 SAT 注册并拥有有效的 RFC。

  2. 拥有一个 Certificado de Sello Digital / 数字签章证书 (CSD)。

  3. 选择一个 PAC。目前,Odoo 与以下 PACs 合作:Solución Factible <https://solucionfactible.com/contenido/productos/timbrado/general#dos>、Quadrum <https://cfdiquadrum.com.mx/odoo/> 和 SW Sapien - Smarter Web <https://info.sw.com.mx/sw-smarter-odoo>_。

公司

安装正确的模块后,下一步是验证公司是否配置了正确的数据。请前往 设置 ‣ 用户与公司 ‣ 公司,然后选择要配置的公司。

在打开的表单中输入完整的 地址,包括:邮政编码、州、国家/地区 和 RFC (税务编号)。

根据 CFDI 4.0 的要求,公司主要联系人的姓名 必须 与在 SAT 注册的商业名称完全一致,且不包含法律实体缩写。邮政编码 的要求也同样。

重要

从法律角度来看,墨西哥公司 必须 使用当地货币(MXN)。如需使用其他货币,请将 MXN 设为默认货币,并使用 价格表 来代替。

接下来,请前往 会计 ‣ 设置,并滚动到 墨西哥电子发票 部分。在 税务管理服务局(SAT) 下,从下拉列表中选择适用于公司的 税收制度,然后点击 保存 。

小技巧

要测试墨西哥本地化,请确保填写以下字段:

  • 公司表单:

    • 公司名称:输入 INNOVACION VALOR Y DESARROLLO SA SA

    • 地址:使用墨西哥的真实地址填写所有字段,并将 邮政编码 设为 58000

    • RFC:输入 IVD920810GU2

  • 请前往 会计 ‣ 配置 ‣ 设置 并向下滚动至 MX 电子发票 部分。在 财政制度 字段中,选择 General de Ley Personas Morales 。

分公司

使用分支机构时,除邮政编码外的开票信息取自总公司。除非在分支机构上设置了 RFC,否则 Odoo 会使用分支机构信息。

分支机构使用户能够在同一母公司下建立多个品牌。此外,当开票目的需要不同财政制度时,必须为每个制度创建一个分支机构。默认情况下,制度从母公司继承。不过,如果在分支机构上明确设置了制度,Odoo 将采用适用于该分支机构的制度。

联系人

注解

请 安装 联系人 应用以访问 联系人 记录。

要创建一个可用于开票的联系人,请前往 联系人 应用并点击 新建 。然后,输入联系人姓名、完整的 地址 (包括 邮政编码、省/州、国家/地区)以及 RFC ( 税务编号)。

重要

与公司本身一样,所有联系人必须拥有在 SAT 注册的正确商业名称。还必须在 销售与采购 标签页中添加 税收制度 。

警告

设置了 RFC (税务编号)但未配置 国家/地区,可能会导致发票信息不正确。

税

为了正确签署发票,请在销售税上设置 因素类型 和 征税对象 字段。

小技巧

RESICO ISR 预扣税和一些 IEPS 税种会自动创建,但该功能默认不激活。要启用它,请前往 会计 ‣ 配置 ‣ 税金 。

因素类型

因素类型 和 SAT 税金类型 字段均已预装在默认税种中。

对于新税种,请在 会计 ‣ 配置 ‣ 税金 中设置这些字段,然后点击 新建 。将 税金类型 设置为 销售 。在 高级选项 标签页中,填写 SAT 税金类型 和 因素类型 字段。

Odoo 支持四组 SAT 税金类型:增值税、所得税、特别生产与服务税 和 地方税 。

如果因素类型是 定额,则无法使用标准计算方法。此时,应将税金计算方式设置为 自定义公式 。

Example

\[结果 = 数量 * 6.455\]
  • 数量 = 交易中的商品数量

  • 6.455 = 定额值(每单位的固定金额)

  • 仅支持按单位定额,不支持基于其他因素的定额。

小技巧

墨西哥管理两种不同的 0% 增值税以适应两种场景:

  • 对于 0% 增值税,将 因子类型 设置为 Tasa 。

  • 对于 增值税免税,将 因子类型 设置为 Exento 。

注解

地方税在 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 中可见。

重要

使用 电商开票 或 自助开票门户 时,客户可以选择是否进行 IEPS 拆分。

其他税项配置

墨西哥本地化使用 现金制税金 。登记付款时,Odoo 会执行将税金从 现金制过渡账户 转移到发票或账单行上设置的税金记录中 定义 标签页内配置的账户的操作。在此操作中,重新分类税金时,日记账分录会使用一个税基账户:( 899.01.99 基于现金流税基账户)。 请勿删除此账户 。

预扣税

默认情况下,Odoo 包含具有特殊分配的预扣税以处理增值税的分配。

在登记发票时,需添加预扣税及其对应的增值税。两者都必须包含在供应商账单中以确保会计处理的正确性。建议使用 财务位置,以便现金制分录能正确拆分税项分配。

Example

对于一份 10000 MXN 的租赁供应商账单,10.67% 的租赁预扣税对应的是 16% 的 2/3 住宅增值税。必须同时应用这两种税才能正确反映会计信息。

现金制分录中增值税在已付与应付间的拆分。

注解

暂不支持预扣税 CFDI。请与会计师协商正确的分配方式。

产品

要配置产品,请前往 会计 ‣ 客户 ‣ 产品 。打开现有产品或单击 新建 。在 会计 选项卡中,设置 UNSPSC 产品类别 。产品和类别可以手动设置,也可以通过 批量导入 设置。

注解

所有产品都需要关联一个 SAT 编码,以防止验证错误。

电子发票

PAC凭证

在与 SAT 处理完 私钥 (CSD) 后,在 Odoo 中创建任何发票之前,直接注册一个 PAC 。

在与这些提供商中的任何一个创建账户后,请前往 会计 ‣ 配置 ‣ 设置 并导航至 MX 电子发票 部分。在 授权认证提供商 (PAC) 部分下,输入你的 PAC 名称及相应的凭据(PAC 用户名 和 PAC 密码)。

从会计设置中配置 PAC 凭据。

小技巧

若要在没有凭据的情况下测试电子发票功能,请勾选 墨西哥 PAC 测试环境 复选框,并选择 Solucion Factible 作为 PAC 。在测试环境中,无需添加用户名或密码。

.cer 和 .key 证书

公司的 数字证书 必须在 证书 部分上传。要执行此操作,请前往 设置 ‣ 通用设置 ‣ 证书与密钥 。

在 管理您的证书 下,点击 密钥 链接以访问 密钥 列表视图。点击 创建,上传数字 密钥文件 (:file:.key 文件),为密钥添加一个 名称,并输入 私钥密码 。

从 设置 ‣ 通用设置 ‣ 证书与密钥 中,选择 证书 以访问 证书 列表视图。点击 创建,上传数字 证书 (.cer 文件),为证书添加一个 名称,并从下拉菜单中选择上一步创建的 私钥 。

注解

证书 记录上的 证书密码 和 公钥 字段是可选的。

小技巧

要测试电子发票,提供了以下 SAT 测试证书,可以使用 Quadrum 或 Solución Factible 作为 PAC 进行测试:

会计

电子发票

Odoo 中的发票流程基于 |SAT| 电子发票的附件 20 版本 4.0。

客户开票

要从 Odoo 开具发票,必须使用 标准开票流程 创建客户发票。

当文件处于草稿模式时,可以对其进行更改,某些字段会使用之前在销售订单或联系人上设置的值。

需要审查的字段有:

  • CFDI 对公众

  • 用途

  • 付款政策

  • 付款方式,如果 付款政策 未设置为 PPD

小技巧

用途、支付政策 和 支付方式 可以预先在销售订单上设置,也可以针对每张发票在联系人上设置。

支付政策是发票上的一个可选字段,可以手动设置为所需的政策。然而,如果未选择任何政策,Odoo 将根据以下一般规则自动计算政策:

如果预期付款的到期日在当前月份内,该值将设置为 PUE;如果日期超出当前月份,则政策将设置为 PPD。

警告

如果未选择支付政策且预期为 PPD 政策,则要么选择一个与当前月份不同的发票 到期日,要么选择意味着更改到期月份的 付款条件 (例如,30 天 或 15 天,只要它们落在下个月即可)。

在客户发票上单击 确认 后,单击 发送 按钮以与政府处理发票。确保 CFDI 复选框已勾选。

CFDI 复选框

从政府收到已签署的文档后,财务流水号 字段将出现在文档上,XML 文件将同时出现在 CFDI 标签页和沟通栏的附件中。

如果在客户联系人记录中配置了电子邮件地址,勾选 通过电子邮件发送 和 CFDI 复选框会将 XML 和 PDF 文件一起发送。

要在本地下载 PDF 文件,请点击 打印 按钮。

小技巧

单击 更新 SAT 时,发票上的 SAT 状态 字段确认 XML 文件在 SAT 中是否已 验证 。

在测试环境中,通常会出现 未找到 消息。

警告

国家/地区 不同于墨西哥或在客户表单中缺少 邮政编码 字段的发票被归类为 CFDI 对公众,并邮寄给通用客户。在提供有效业务伙伴信息之前,CFDI 对公众 复选框在发票表单上保持激活状态。一旦国内客户的联系信息完整,复选框会自动禁用。

现金舍入

在墨西哥本地化中,使用 添加找零行 方法支持 现金找零 。这会添加一条找零行来更改已付金额,但不会更改 CFDI 中的金额。

贷记单

发票属于单据类型 “I”(Ingreso),而贷记单属于单据类型 “E”(Egreso)。

除了 标准货项通知单流程 外,根据 SAT 的要求,货项通知单和发票之间必须通过财务流水号建立关联。

因此,CFDI 来源 字段会通过 01|,加上原始 UUID 的财务流水号来添加这种关联。

创建贷记单时,请确保行描述清楚说明其用途,并指定哪一条分录适用于奖金、折扣或退款。

小技巧

要自动添加 CFDI 来源 字段,请使用发票上的 添加贷方票据 按钮,而不是手动创建。

通常,货项通知单会冲销日记账中定义的主要销售收入科目,但也可以全局为所有货项通知单分配一个科目。要执行此操作,请前往 会计 ‣ 配置 ‣ 设置,并在 默认科目 部分设置 货项通知单 科目。

注解

在默认配置中,货项通知单科目设置为 402.01.01 按通用税率的销售和/或服务的退货、折扣或奖金 。

小技巧

付款政策 可以在签章前手动强制设置。

供应商账单

供应商账单必须有财政流水号才能使报表和付款正常工作。如果供应商账单是由采购应用创建或手动添加的,请将发票的 XML 文件 作为日志注释 添加到讨论区。这将相应更新财政流水号。账单 必须处于草稿状态 才能更新。

小技巧

点击 更新 SAT 状态 时,发票上的 SAT 状态 字段将确认 XML 文件是否已被 SAT 验证 ,供应商账单也是如此。

另请参阅

供应商账单

日记账

必须在数据库上安装模块 墨西哥 EDI(高级功能) (l10n_mx_edi_extended)才能完成销售日记账上的 发行地址 字段。这可确保该销售日记账的所有发票,以及 全局发票,在生成 CFDI 时使用正确的邮政编码。

要以同一用户在公司的不同时区下开票,请创建一个系统参数以确保开票时应用正确的时区,因为默认使用用户的时区。

要执行此操作,请启用 开发者模式 并前往 设置 ‣ 技术 ‣ 系统参数 。单击 新建 创建一个新参数,键为 l10n_mx_edi_tz_XX (其中 XX 是日记账 ID),并将所需的时区设置为值,例如 “America/Tijuana”。

付款

付款政策

墨西哥本地化的一项补充是 付款政策 字段。根据 SAT 文档 <https://www.sat.gob.mx/consultas/92764/comprobante-de-recepcion-de-pagos>_,付款有两种类型:

  • PUE (一次性付款)

  • PPD (Pago en Parcialidades o Diferido/分期付款或递延付款)

警告

只有发票政策设置为 PPD 时才会生成付款补充。

符合 PUE 要求的发票示例。

如果发票的到期日不在当前月份,将默认设置为 PPD。

符合 PPD 要求的发票示例。
支付流

这两种情况下,Odoo 中的付款流程 是相同的 。主要区别在于,根据法律规定,与 PPD 发票相关的付款需要以 “P”(付款)单据类型发送给政府。

如果付款与 PUE 发票相关,可以通过付款弹窗进行登记,并与相应的发票关联。要执行此操作,请前往 会计 ‣ 客户 ‣ 发票,选择一张发票。然后,点击 付款 按钮打开付款弹窗,设置 付款方式 和其他字段,并点击 创建付款 。

另请参阅

尽管 PPD 发票的流程相同,但创建 电子单据 的补充要求意味着需要满足一些额外条件才能正确地将单据发送给 SAT。

从法律角度看,PPD 发票 必须 包含收到付款的具体 付款方式 。因此,付款方式 字段不能设置为 待定义,因此选择该选项时该字段将变为不可见。

注解

  • 如果需要银行账号,请在客户联系人记录的 会计 标签页中添加。

  • 具体配置见 SAT 的附件 20。通常,银行账户 需要 10 或 18 位数字用于转账,16 位数字用于信用卡或借记卡。

如果一个已完全核销的付款与一张具有 财务流水号 的发票相关,则会显示 更新付款 按钮。点击 更新付款 按钮,将自动向政府发送 付款补充信息 XML 文件,并在发票和付款的 CFDI 标签页中显示该文件。

与发票或货项通知单类似,PDF 和 XML 文件可以发送给最终客户。要执行此操作,请在付款视图中点击 (齿轮) 图标打开操作下拉菜单,然后选择 通过电子邮件发送收据 。

要从发票上的 CFDI 选项卡下载付款 PDF,无论付款是否创建为已对账状态,请单击 打印 。

CFDI 标签页上的打印按钮示例。
付款取消

要取消 付款补充信息,请转到相关发票的 CFDI 标签页,然后点击付款补充信息行上的 取消 。

与发票一样,打开付款并单击 更新 SAT 以将 SAT 状态 和 状态 更改为 已取消 。

注解

替换付款补充时,请先取消当前付款的对账。然后,要将新付款与原始文档关联,请在 CFDI 来源 字段中添加 04| 后跟财政流水号。如果新付款在替换文档关联后签名,则旧付款将被取消。

保理

保理是一种金融交易,其中企业将应收账款(未付发票)出售给专门的金融机构(称为 保理商)以获得即时流动性。

要记录财务保理付款,请遵循以下步骤:

  1. 前往 会计 ‣ 配置 ‣ 设置,向下滚动至 默认账户 部分并确保 保理账户 字段中已选择 保理账户 。

  2. 从会计仪表板,单击相应看板卡上的 银行 以手动 添加交易行 并记录保理付款。填写以下字段:

    • 标签:输入交易的简要描述。

    • 业务伙伴:选择将购买债务的金融机构(保理商)。

    • 金额:输入保理商实际将收到的金额。

    重要

    保理付款的货币 必须 与银行日记账的货币匹配。

  3. 在新创建的交易行中,单击 (垂直省略号) 图标并选择 对账 。

  4. 在 搜索:待匹配日记账项目 窗口中,移除 业务伙伴 筛选器,选择将由保理商支付的相关发票,然后单击 选择 。

    注解

    不要选择与发票相关的税行。

  5. 在 分配付款 窗口中,填写以下字段以在所选发票上分配付款:

    • 金额:输入将从保理商实际收到的金额。

    • 补偿:输入支付给保理商的补偿。

    小技巧

    • 金额 和 补偿 金额由保理商提供并记载在保理收据上。

    • 确保 金额 和 补偿 金额等于 应付 金额。如果超过 应付 金额,该行将以红色高亮显示。

    • 待分配 字段应平衡 金额 至所输入的交易金额,确保其等于零。

  6. 点击 保存 。

在 银行匹配 视图中,保理付款随后与相关发票对账,保理佣金被分配到已设置的 保理 账户。

要生成 XML 文件,请前往 会计 ‣ 客户 ‣ 发票,打开一张已付款的发票并单击 更新付款 。

注解

  • 保理公司可以保留发票金额的一部分(称为 aforo),直到最终客户完成付款。保留的余额随后释放给供应商。

  • 对于多币种保理,请在 分配付款 窗口中使用 (调整设置)按钮并添加 应付(公司) 列,以显示公司货币下的应付金额。

开票取消

可以取消发送到 SAT 的电子数据交换文件。根据 Reforma Fiscal 2022,自 2022 年 1 月 1 日起,有两项要求:

  • 所有取消请求都需要提供 取消原因。

  • 发票创建 24 小时后,必须请求客户批准取消。如果 72 小时内未收到回复,取消将自动处理。

发票取消在 Odoo 中自动更新,但更新可能需要一些时间。要检查取消状态,请单击 更新 SAT 。

发票取消可以基于以下原因之一进行:

  • 01 - 发票开具有误(有相关单据)

  • 02 - 发票开具有误(无需替换)

  • 03 - 业务未执行

  • 04 - 与全局发票相关的记名业务

要发起取消,请前往 会计 ‣ 客户 ‣ 发票,选择要取消的已过账发票,然后点击 请求取消 。接着,根据取消原因,参考 取消原因 01 或 取消原因 02、03 和 04 部分。

小技巧

或者,也可以从 CFDI 标签页请求取消,点击行项目上的 取消 。

注解

  • 如果在锁定期间请求取消,CFDI 将被取消,但会计凭证不会。

  • 如果客户拒绝取消,发票取消行项目将从 CFDI 标签中删除。

取消原因 01
  1. 在 :guilabel:请求 CFDI 取消 弹出窗口中,从 :guilabel:原因 字段选择 :guilabel:01 - 发票开具有误(有相关单据),然后点击 :guilabel:创建替换发票 以创建新的草稿发票。这张新的草稿发票将替换之前的发票以及相关的 CFDI。

  2. 确认 草稿并 发送 发票。

  3. 替换发票在签发后会取消原始发票。

随后将生成发票取消,并在 CFDI 标签页中显示原因行项目。

CFDI 选项卡中已取消的发票细列项目。

注解

当使用 01 - 发票开具有误(有相关单据) 作为取消原因时,财务流水号 字段中会出现 04| 前缀。这是 Odoo 用于完成取消操作的内部前缀,并不意味着 取消原因是 04 - 与全局发票相关的记名业务 。

取消原因 02、03 和 04

在 请求 CFDI 取消 弹出窗口中,选择所需的取消 原因 并 确认 取消。

确认后,将生成发票取消,并在 CFDI 标签页中显示原因行项目。

注解

如果 SAT 状态 变回 已验证 ,可能是由于以下三个原因之一:

  • 该发票在 SAT 网站 上被标记为 No Cancelable,因为它有一个有效的关联文档:要么是与 CFDI 来源 字段关联的另一张发票,要么是付款补充。如是,请先取消任何其他关联文档。

  • 取消请求仍在由 SAT 处理中。如果是这样,请等待几分钟再试。

  • 最终客户需要在其 Buzón Tributario 中拒绝或接受取消请求。这可能需要多达 72 小时。如果取消请求被拒绝,请重复此流程。

对于取消原因 02 、 03 和 04 ,创建替换发票 按钮将被 确认 按钮取代,该按钮会立即请求取消。

当前发票的 状态 和 取消原因 均可在 CFDI 标签页中找到。

具有 CFDI 来源的旧发票。
取消确认回执

取消 CFDI 后如需打印 PAC 的取消响应,请在发票表单的 CFDI 选项卡中,点击相应取消行上的 Print 。

如需在 PDF 中包含当前的 SAT status,请在发票表单中点击 Update SAT 。请注意,审核付款后,发票状态会相应更新。

取消确认回执示例。

重要

取消确认回执说明取消请求已成功提交,但 并不 构成 CFDI 已完全取消的最终证明。

开票特殊用例

CFDI 关联

如需将当前文档与之前已签署的 CFDI 关联,请在发票上填写 CFDI Origin 字段,并使用七个可用值之一指定关联类型:

  • 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 上可见。

具有 3 个关联的 PDF 示例。
多币种

墨西哥的主要 Currency 为 MXN。虽然所有墨西哥公司都必须使用该货币,但仍可以按其他货币开具和接收发票(及付款)。如需启用 多币种,请前往 会计 ‣ 配置 ‣ 货币,在 Automatic Currency Rates 部分中将 [MX] Bank of Mexico 设为 Service 。然后,将 Interval 字段设置为所需的更新频率以更新汇率。

这样,文档的 XML 文件将具有正确的汇率和总金额(外币和墨西哥比索)。

强烈建议为每种货币使用独立的 银行账户 。

注解

每天自动更新汇率的货币仅为:美元、欧元、英镑、日元和人民币。

折扣

根据法律,发送给政府的电子单据不能包含负数行,否则可能引发错误。因此,当使用 礼品卡 或 忠诚计划 时,后续的负数行在 XML 中将被转换为普通的 折扣 。

要进行此设置,请前往 销售 ‣ 产品 ‣ 产品 并创建一个名为 折扣 的产品,确保它设置了有效的 税金 (通常为 16% 的 增值税)。

之后,通过 CFDI 创建并签署发票,并在底部添加 折扣 产品。在 XML 中,Odoo 将折扣平均分配到各行,而任何数学差异将添加到一个舍入产品中。

小技巧

必须为与 礼品卡 或 忠诚计划 相关的每个产品变体创建一个 折扣 和 UNSPSC 产品类别 。

首付

在墨西哥,使用 预付款 是一种常见做法。当收到商品或服务的款项,但该商品、价格或两者尚未完全确定时,通常使用预付款。

SAT 允许两种不同的方式来处理此流程:两种方式都涉及通过 CFDI 来源 字段将所有发票相互关联。

注解

此流程必须安装 销售 应用。

配置

首先,前往 销售 ‣ 产品 ‣ 产品 以创建产品 Anticipo(预付款)并进行配置。产品类型 必须为 服务,并使用 UNSPSC 类别 84111506 开票服务 。

然后,进入 销售 ‣ 设置 ‣ 开具发票 ‣ 首付,将 Anticipo 产品添加为默认产品。

方法 A

该方法包括:创建预付款发票,创建总额发票,最后为预付款总额创建贷记单。

首先,创建一个包含总金额的销售订单,并从中创建预付款(使用百分比或固定金额均可)。然后,通过 CFDI 签署该单据,并登记付款。

当客户需要最终发票时,再次从同一销售订单创建。在 创建发票 弹出窗口中,选择 常规发票 。确保 Anticipo 产品的那一行。

小技巧

在墨西哥本地化中使用预付款时,请确保产品的 开票政策 为 订购数量 。否则将创建客户贷项通知单。

然后,从预付款发票中复制 Fiscal Folio,并将其粘贴到最终发票的 CFDI Origin 字段中。在值前添加前缀 07|,并通过 CFDI 签署该文档。

最后,为第一张发票创建一张货项通知单。复制最终发票的 财务流水号,并将其粘贴到货项通知单的 CFDI 来源 字段中,添加前缀 07| 。然后,通过 CFDI 签署该单据。

这样,所有电子文档便相互关联。最后一步是全额支付新发票。在新发票底部,贷记单会显示在 Outstanding credits 中;将其添加为付款。最后,通过 Pay 弹窗登记剩余金额。

在销售订单中,所有三张单据都应显示为“收款中”。

方法 B

满足 SAT 要求的另一种更简单的方法是只开具首付款发票,并为余款开具第二张发票。这种方法将负数行作为折扣处理。

为此,请按照与 方法 A 相同的流程操作,直至创建最终发票。请勿删除包含 Anticipo 的行,而是重命名其他产品的 Description,加入文本 CFDI por remanente de un anticipo 。在最终发票的 CFDI Origin 字段中填入预付款发票的 Fiscal Folio,并添加前缀 07| 。

最后,通过 CFDI 签署最终发票。

附录与补充信息

Addenda(附加信息)是对发票 XML 文件的代码补充,用于提供超出法律要求的额外信息,在发票签署后添加。Complement(补充项)是一种税务补充,用于申报特定的税务操作,在发票签署前添加。可用的补充项数量有限,其中一些已包含在 Odoo 中。有关更多信息,请参阅 SAT 补充项文档。

Addendas 和 complementos 可以包含在 XML 中。如需添加,请前往 会计 ‣ 配置 ‣ Addendas & Complementos (MX),点击 New 以输入要注入的代码。可能还需要标准 Odoo 之外的其他字段。

警告

此部分可能需要技术知识,并可能带来技术债务风险;建议向您的客户经理咨询最佳技术建议。

一旦创建了所需的节点,就可以在每个联系人上选择它们,使其出现在开给该联系人的每张发票上。默认情况下,所有选中的节点将自动添加到每张发票上。

也可以通过在每个发票的 其他信息 标签页中选择所需的节点,从 附录与补充信息 中进行选择,按需添加节点。

小技巧

可以为每个联系人或每张发票添加多个节点。

XML 阅读器

在某些情况下,例如在其他软件中或直接在 SAT 中创建发票时,可以将发票上传至 Odoo。XML 读取器可从 XML 文件中提取数据。为此,请前往 会计 ‣ 客户 ‣ 发票,在列表视图中点击 Upload 以选择任意数量的 XML 文件。系统会自动创建草稿发票。也可以从本地存储中拖放文件到视图中完成操作。

草稿发票将提取 客户信息 (如果不存在,将创建新联系人)、产品行 (仅当已存在同名产品时),并计算所有税金和墨西哥本地化特有的额外字段。导入信息将显示在沟通栏中。

警告

根据发票的创建来源,XML 文件中的值可能与 Odoo 计算的总金额不同。 务必 仔细检查以此方式上传的任何文档。

以此方式创建的 Customer Invoices 可以生成 付款补充项 ,并可随时取消。若使用 Print 选项,PDF 文档将包含所有相应信息。

这同样适用于 供应商账单 。

小技巧

要获取已创建草稿发票的 财务流水号,请将 XML 文件作为日志笔记拖拽到沟通栏中。

CFDI 公开

墨西哥政府要求所有销售的商品或服务都必须有发票支持。如果客户不需要发票或没有 RFC,则必须创建 向公众开具的 CFDI,也称为”名义”发票。

必须创建一个联系人,并且必须使用特定名称。

如果销售订单或发票中的 CFDI to Public 复选框已勾选,最终 XML 将覆盖发票联系人中的数据,并添加以下特征:

  • RFC:如果客户是本国客户,则为 XAXX010101000 ;如果是外国客户,则为 XEXX010101000

  • 邮政编码:与公司的邮政编码相同

  • 用途:S01 - 无财务影响

向公众开具 CFDI 复选框

如果最终客户不提供任何详细信息,请创建一个通用的 客户 。名称不能是 PUBLICO EN GENERAL,否则会触发错误(例如,可以是 CLIENTE FINAL)。

警告

默认情况下,如果业务伙伴未设置 国家/地区 或 邮政编码,则不允许发送发票。但如果 CFDI to public 复选框已勾选,则无需这些信息。

统一发票

如果在某一时间段结束时(该时间段可以是每日至每两月不等,取决于公司的法律需求和偏好),客户仍存在未标记为普通发票或单独 CFDI to Public 发票的销售,则 SAT 允许创建一张包含所有业务的单一发票,称为 全局发票。

注解

此流程必须安装 销售 应用。

设置

Global Invoice Serie 因每个分支机构或公司而异,用于定义全局发票的序列。如需配置,请前往 会计 ‣ 配置 ‣ 设置,并进入 MX Electronic invoicing 部分。Global Invoice Serie 字段位于 Service Tax Administration (SAT) 部分中。

使用 MX 公司时的会计设置。

小技巧

每个公司/分支机构的默认序列为 GINV/

销售流程

首先,在 会计 ‣ 配置 ‣ 日记账 中创建一个专用日记账,以维护用于全局发票的独立序列;全局发票在创建时相当于订单。

然后,确保所有需要签署的销售订单具有以下配置:

  • 已启用 向公众开具 CFDI 复选框

  • 发票状态 标记为 待开票

完成后,前往 销售 ‣ 待开票 ‣ 待开票订单,选择所有相关的销售订单并按 创建发票 。确保禁用 合并开票 复选框,然后点击 创建草稿发票 。

在显示的草稿发票列表中,全选后点击 Actions,并选择 Confirm entries 。然后,再次全选已过账发票,返回 Actions 下拉菜单,选择 Create Global Invoice 。

在 Create Global Invoice 窗口中,选择会计建议的 Periodicity,并使用 Date 字段指定要开票的期间。然后点击 Create 。确认所有发票都在同一个 XML 文件下签署,并共用同一个 Fiscal Folio 。

注解

  • 所选的 Date 仅用于提取 XML 中的 月份 和 年份。对于两月一次的周期,月份按以下规则确定申报期间:

    • 1-12 月:标准月份编号(1 月 = 1,2 月 = 2,依此类推)

    • 1 月 - 2 月 -> 13

    • 3 月 - 4 月 -> 14

    • 5 月 - 6 月 -> 15

    • 7 月 - 8 月 -> 16

    • 9 月 - 10 月 -> 17

    • 11 月 - 12 月 -> 18

  • 以此方式创建的全局发票不会包含 PDF 附件,因为其信息已保存在 Odoo 中,且不供客户查看。

Example

  • 选择日期 01/12/2026 并采用每月周期时,申报月份为 12,年份为 2026。

  • 选择日期 01/12/2026 并采用每两月周期时,申报月份为 18,年份为 2026。

  • 选择日期 01/12/2026 并采用每日周期时,申报月份为 12,年份为 2026。

小技巧

  • 点击 CFDI 标签页中的 显示,可查看包含所有相关发票的列表。

  • 点击 CFDI 标签页中的 取消,可在 SAT 和 Odoo 中同时取消统一发票。

电子会计报告

在墨西哥,电子会计 是指通过电子手段保存会计记录和条目,并每月通过 SAT 网站输入会计信息的义务。

它由三个主要 XML 文件组成:

  1. 当前正在使用的会计科目表的最新列表

  2. 月度试算平衡表,以及结账分录报告,也称为:第13个月试算平衡表

  3. 总分类账中日记账分录的导出(除非强制审计,否则为可选)

生成的 XML 文件符合 Anexo Técnico de Contabilidad Electrónica 1.3 的要求。

除此以外,还可以生成 DIOT:一份涉及增值税的供应商日记账分录报告,可以 TXT 文件格式导出。

注解

如需使用这些报告,必须安装以下模块:

  • Odoo 墨西哥本地化报告 (l10n_mx_reports)

  • 墨西哥 - 第 13 月试算表 (l10n_mx_reports_closing)

  • Odoo 墨西哥 XML Polizas 导出 (l10n_mx_xml_polizas)

会计科目表 和 第 13个月试算平衡表 报告可在 会计 ‣ 报告 ‣ 试算平衡表 中找到。DIOT 报告 可在 会计 ‣ 报告 ‣ 税务报告 中找到。

重要

需要提交的报告的具体特征和义务可能因财政制度而异。在向政府提交任何文档之前,请务必咨询会计师。

科目表

墨西哥的 科目表 遵循基于 SAT 文档 Código agrupador de cuentas 的特定模式。

只要符合 SAT 的编码分组规则,就可以创建任意账户:格式为 NNN.XX.YY、NNN.XX.YYY 或 NNN.XX.YYY.ZZ 。

Example

例如 102.01.99、401.01.001 或 401.01.001.16 。

在 会计 ‣ 配置 ‣ 科目表 中创建新账户时,系统会校验其结构。

创建所有科目后,请确保添加了正确的 标签,因为这些标签标明了科目的性质。

由于父级账户上存在账户层级,请在每个账户上设置合适的 Parent Account,以建立用于报告的层级结构。没有父级的账户为 1 级账户;其下的账户为 2 级,依此类推。

注解

  • 启用状态的账户编号必须超过五位数字,否则会在报告中触发错误。默认情况下,如果编号可能在后续引发问题,Odoo 会以黄色标记这些账户。

  • 如果账户编号少于五个字符,请将其标记为非启用状态,这样校验规则便不适用于该账户。

  • 少于三个字符的账户不会出现在 XML 报告中。这一特性可用于对账户进行分类。

  • 建议仅将末级账户保持为启用状态,而将所有父级账户设为非启用状态。这样可以避免会计错误,同时父级账户仍会显示在报告中。

一切设置完成后,请前往 会计 ‣ 报告 ‣ 试算平衡表,点击 SAT 会计科目表(XML) 按钮,生成包含所有科目的 XML 文件。该 XML 文件可准备上传至 SAT 网站。

试算表

只要账户的 编号 正确,试算表就会报告各账户的期初余额、贷方发生额和余额合计。

如需生成试算表的 XML 文件,请前往 会计 ‣ 报告 ‣ 试算表 并选择日期。点击 (gear) 图标,选择 SAT (XML) 。然后,在 Export SAT 窗口中选择合适的 Submit Type,具体取决于试算表是 Normal 还是 Supplementary 。

试算表报告。
第 13 个月

另一个附加报告是 第13个月:一份结账资产负债表,显示了会计年度结束时所做的任何调整或变动。

要生成此 XML 文档,请前往 会计 ‣ 会计 ‣ 日记账分录,并创建一个新凭证。在此处,添加所有需要调整的金额,并平衡每个科目的借方和/或贷方。

完成上述操作后,前往 Other Info 选项卡并勾选 Month 13 Closing 字段。如有需要,请前往 会计 ‣ 报告 ‣ 试算表 并选择日期 Month 13,此时可以看到全年总额以及日记账分录的所有附加项。如需生成 XML 文件,请点击 (action menu),然后选择 SAT (XML) 。

总账

根据法律,墨西哥的所有交易都必须以数字方式记录。由于 Odoo 会自动为所有发票和付款创建底层日记账分录,因此只需导出总账即可满足 SAT 的审计和/或退税要求。

小技巧

可以根据需要按期间或按日记账筛选报告。

要创建 XML,请前往 会计 ‣ 报告 ‣ 总账,点击 (操作菜单),然后点击 XML (Polizas) 。接着,从四种 导出 类型中选择:

  • 税务审计

  • 审计认证

  • 退货

  • 赔偿

对于 税务审计 或 审计认证 ,添加 SAT 提供的 订单号 。对于 退货 或 补偿 ,添加同样由 SAT 提供的 流程号 。

注解

要查看此报告而不发送,请使用 ABC6987654/99 作为 订单号 或 AB123451234512 作为 流程号 。

DIOT报告

DIOT(Declaración Informativa de Operaciones con Terceros / 与第三方业务的告知性申报)是对 SAT 的一项附加义务,需向 SAT 提供供应商账单中可抵扣与不可抵扣付款、预扣税款、进口税以及增值税退税的当前状况。

与其他报告不同,DIOT 需上传至 SAT 提供的含 A-29 表单的网站。在 Odoo 中,可以将所有交易的记录下载为包含 54 列的 TXT 文件。该文件可上传至表单,从而减少手动录入的数据量。

交易文件包含在供应商账单中登记的付款总额,按相应的增值税类型细分。 增值税 、 国家 和 运营类型 字段对所有供应商都是强制性的。

要将 DIOT 报告下载为 TXT 文件,请转到 会计 ‣ 报告 ‣ 税务申报 。选择所需的月份,单击 (操作菜单) ,然后选择 DIOT (TXT) 。

如果在数据库中创建了新税项,标签分为两类:名称中含 tax 的标签必须放入税额分配,名称含 base 的标签则用于税基。增值税税项的所有行都 必须 至少包含一个税务网格。

DIOT (TXT) 下载按钮。

重要

需要填写每个供应商 会计 选项卡中的 运营类型 字段,以防止验证错误。确保外国客户设置了 国家 。

有关供应商联系人的 DIOT 信息。

选择 87 - 全局运营 将导致最终的 TXT 文件将所有属于全局运营的供应商合并到一个通用增值税下: XAXX010101000 。

会计报告

两个墨西哥专用报告是 资产负债表 和 损益表 。

资产负债表

该报告基于 NIF B-6,分为资产、负债和权益,反映公司的当前财务状况。

损益表

该报告基于 NIF B-3,分为收入、营业费用、综合财务结果(RIF)和税项,有助于确定公司的净利润或财务状况。

外部贸易

外贸是对普通发票的补充,根据 SAT 法规,在 XML 和 PDF 中为外国客户的发票添加某些值,例如:

  • 收件人和发件人的具体地址

  • 增加一个 关税比例 标签,用于识别产品类型

  • 正确的 国际贸易术语 (国际贸易术语)

  • 以及更多,例如 原产地证书 和 特殊计量单位

除了扩展所售商品的描述之外,还可以正确识别出口商和进口商。

自 2018 年 1 月 1 日起,对外贸易是进行 A1 类出口业务的纳税人的要求。虽然当前的 CFDI 是 4.0 版,但对外贸易目前是 2.0 版。

注解

为了使用此功能,必须安装 墨西哥 EDI(高级功能) l10n_mx_edi_extended 模块。

重要

安装之前,请确认您的业务确实需要使用此功能。如有需要,请在安装任何模块之前先咨询会计师。

创建外国发票时必须勾选 CFDI 公开 复选框。

配置

联系人

要为对外贸易配置公司联系人,请导航到 会计 ‣ 客户 ‣ 客户 ,移除默认的 客户发票 过滤器,并选择您的 公司 名称。虽然 CFDI 4.0 要求在公司联系人记录中添加有效的 邮政编码 ,但对外贸易补充要求 城市 和 州 也必须有效。所有三个字段必须与 官方 SAT 运输单据目录 一致,否则会产生错误。

警告

在公司的 联系人记录 中添加 城市 和 州 ,而不是在公司记录本身中。

在联系人记录上,还可以填写可选字段 地区 和 社区代码 。这两个字段也必须与 SAT 中的数据一致。

要配置外国接收客户的联系人数据,请导航至 会计 ‣ 客户 ‣ 客户,然后选择外国客户的联系人。为避免出错,联系人必须填写以下字段:

  1. 整个公司的 地址,包括有效的 ZIP 代码和国外的 国家/地区 。

  2. 外国的 RFC (税号),格式正确(例如:哥伦比亚 123456789-1 )

  3. 在 销售与采购 标签页中,激活 需要对外贸易? 复选框。

注解

在生成的 XML 和 PDF 文件中,VAT 会自动替换为国外交易的通用增值税:xexx010101000 。

产品

所有涉及对外贸易的产品都有四个必需的附加字段,其中两个是对外贸易独有的。

  1. 产品的 参考 必须在 通用信息 标签页中设置。

  2. 产品在 库存 标签页中的 重量 必须大于 0 。

  3. 用于对外贸易时,必须在 Accounting 选项卡中设置产品的 Tariff Fraction 。可使用 VUCEM 关税分类编码分类器 查找正确的值。

  4. 会计 标签页中的 海关 UMT 必须设置并与对外贸易的 关税分类 对应。

外部贸易产品必填字段。

小技巧

  • 如果 关税分类 的计量单位代码为 01 ,则正确的 UMT 海关单位 是 kg 。

  • 如果 关税分类 的计量单位代码为 06 ,则正确的 UMT 海关单位 是 单位 。

开具发票流程

在创建发票之前,重要的是要考虑对外贸易发票需要将产品价格转换为外币,例如美元。因此, 多币种 必须 启用,并在 货币 部分激活外币。要运行的正确 服务 是 [MX] 墨西哥银行 。要转换产品价格,请以外币创建 价格表 。

然后,在 会计 ‣ 设置 ‣ 货币 中设置正确的汇率,并在发票的 其他信息 标签页中设置 国际贸易术语 和可选的 证书来源 字段。

小技巧

虽然不是强制性的,但如果 CFDI 对公众 也处于活动状态,信息将更加完整。

最后,按照与常规发票相同的流程确认发票,然后单击 发送 按钮通过 CFDI 签署。

服务开票

如果服务配置正确,服务与商品可以在同一张发票上一起开票。为此,请按以下步骤操作:

  1. 前往 会计 ‣ 客户 ‣ 产品,打开相关服务的表单。

  2. 在 Accounting 选项卡的 UNSPSC 部分中,找到 UMT Aduana 字段,点击 (right arrow) 。

  3. 确认 UNSPSC Category 已选择为 E48 service unit,或者 Customs code 已设置为 99 。

使用上述任一代码开票时,报关申报中的服务价格将设为 0。

销售点

墨西哥本地化的 销售点 适配功能允许直接从 POS 收银台 创建符合 SAT 要求的发票,还可在专用门户中生成支持 自助开票 的收据小票并创建全局发票。

销售点流程

除标准的 销售点配置 外,墨西哥本地化还要求为每种付款方式配置正确的 Payment Way 以及 Re-invoicing account,以便处理通过开票门户生成的发票的会计事项。

小技巧

默认情况下,Odoo 为现金、信用卡和借记卡创建预配置的支付方式,并分配 402.04.01 重新开票 账户作为重新开票的默认账户。

在 销售点 销售时,单击 客户 按钮创建或选择客户。在这里可以查看客户开票信息(例如 RFC 或 税收制度 ),甚至可以在会话中直接修改。

选择客户后,勾选 发票 复选框。这将打开一个菜单以选择 用途 并定义是否为对公众的发票。单击确认,选择支付方式,然后单击验证以完成订单。然后下载 PDF,并可以通过邮件将发票连同收据发送给最终客户。

小技巧

要从订单创建发票,请转到 订单 菜单,选择订单,单击 加载订单 ,并勾选 发票 复选框。这将打开相同的菜单用于 用途 和 CFDI 对公众 。

销售点的发票配置。

如需自动签署贷记单,请在处理 退款 时勾选 Invoice 复选框。

注解

退货的贷项通知单将包含关系类型 03 - 基于先前发票或转移的退货 。

重要

  • 在墨西哥本地化中, POS 会话中的正行和负行不能混合。

  • 如果发生 SAT 验证错误,客户将改为收到 形式发票 。

自助开票门户

如果最终客户不确定是否要在销售时立即生成发票,可以为他们提供创建带有 QR 码或 URL 的收据的选项。为此,请按照以下步骤操作:

  1. 转到 销售点 ‣ 配置 。

  2. 选择 销售点 。

  3. 滚动到 账单和收据 部分。

  4. 启用 自助开票 。

  5. 将 打印 字段设置为 QR 码 、 URL 或 QR 码 + URL 。

扫描此二维码或访问该 URL 的客户会进入一个菜单,可在其中填写自己的税务信息,包括 Usage 和 Fiscal Regime。

在会话的日记账分录中,先前选择的 重新开票账户 将用于处理请求发票时的销售分录冲销,并用作新发票的销售账户。

另请参阅

退款

统一发票

与普通销售订单一样,也可以从 POS 收银台创建全局发票。

为此,请确保不要在支付菜单中选择客户或发票选项,并转到 销售点 ‣ 订单 ‣ 订单 。在那里,选择所有要开票的订单,单击 操作 并选择 创建全局发票 。

与销售订单一样,选择正确的 周期性 并按 创建 。

这会将一个 XML 文件附加到每个选定的订单。XML 文件可以通过转到 CFDI 标签页下载。如果需要,可以从同一标签页取消发票。

如果之后全局发票中的某些订单需要开给特定客户,仍可发送发票:打开 POS 收银台,点击 (drop-down menu),然后点击 Orders 。将 All active orders 筛选器改为 Paid,选择该订单,然后点击 Invoice 按钮。

注解

全局发票,就像常规发票一样,只能按物理地址分组。这由 POS 发票日记账上设置的地址决定,因此当尝试为两个地址开票时,会出现警告以提醒用户错误。

另请参阅

关于现金取整,请参考 现金取整 一节中的配置。

电子商务

墨西哥本地化的电子商务适配功能在 电子商务 中新增了一个步骤,用于创建符合 SAT 要求的发票:在 结账 后获取客户数据,甚至可以在付款处理后签署 自动发票 ,同时通过电子邮件向客户发送文件,并允许他们从自己的客户门户下载 PDF 文件。

电子商务流程

在常规结账流程中,会出现新的 Invoicing Info 步骤,可在其中选择是否需要发票。如果选择 No,则创建 CFDI to Public 。如果选择 Yes,则需要填写 RFC、Fiscal Regime 和 Usage,以便在销售订单中获取全部信息,订单状态将变为 To Invoice 。

此外,客户可以决定是否请求 IEPS 明细 。

重要

确保向 运输产品 添加 UNSPSC 代码 。

如果在 设置 ‣ 网站 ‣ 开票 中启用了 自动开票 ,电子文档将自动签署。

销售

销售 应用包含使开票更轻松的字段,虽然这些字段本身不改变销售行为,但在创建发票时会直接复制。

复制的字段是:

  • 付款方式

  • 付款政策

  • CFDI 对公众

  • 用途

此外,通过安装 形式发票模块 ,可以与客户一起预览发票以进行验证。该模块还将上述字段添加到销售订单中,以及:

  • 产品代码

  • 单位代码

  • 财政制度

订阅

处理订阅时,所有销售字段都用于创建周期性发票。这些发票会自动签名并通过电子邮件发送,附带 PDF 和 XML,无需额外的手动操作。

重要

由订阅应用生成的所有发票都将始终自动签名,无一例外。

仓库

海关编号

报关单 (Pedimento Aduanero) 是一种财政文件,证明已向财政实体(SAT)支付了所有款项,包括货物的进出口。

根据 CFDI 4.0 的 附件 20 ,在发票货物来自一手进口操作的文件中,需要将 报关号 字段添加到操作涉及的所有产品行中,文件日期也是如此。

注解

为此,除了 库存 、 采购 和 销售 应用外,还必须安装 Odoo 墨西哥库存/到岸本地化 l10n_mx_edi_landing 模块。

重要

请勿将此功能与对外贸易混淆。报关号与进口货物直接相关,而对外贸易补充项则与出口相关。如需使用此功能,请在进行任何修改之前先咨询会计师。

配置

为了跟踪特定发票的正确报关号,Odoo 使用 到岸成本 。请前往 库存 ‣ 配置 ‣ 设置,在 估值 部分确保 到岸成本 已激活。

小技巧

建议添加一个 默认日记账 以自动填充到岸成本上的必填 日记账 字段,即使仅添加报关号而不添加 额外成本 的到岸成本不会创建日记账分录。

配置持有报关号的 货物类型 产品。为此,创建产品并完成以下三个要求:

  • 跟踪 必须 设置为 按批次 或 按唯一序列号 ,但 不能 是 按数量 。

  • 开票政策 必须 设置为 已交付数量 。

  • 按批次/序列号估值 必须 启用。

这样,Accounting 选项卡中便会出现 Customs invoicing 字段。启用该字段即可为此产品使用报关号。

确保产品具有 产品类别 并具有以下配置非常重要:

  • 成本计算方法:选择 FIFO 或 AVCO

  • 库存计价 :定期 或 永久

注解

无论 库存估值 设置为 定期(结账时) 还是 永久(开票时),此功能均可正常工作。

可储存产品的一般配置。 可存储的产品类别配置。

采购和销售流程

配置产品后,遵循标准的 采购流程 。

从 采购 ‣ 订单 ‣ 采购订单 创建采购订单。然后确认订单,此时会显示 Receipt 智能按钮。点击 Receipt 智能按钮并 Validate 收货单。

转到 库存 ‣ 操作 ‣ 到岸成本 ,并创建新记录。在 调拨 中,添加刚刚验证的收货,并添加 报关号 。

小技巧

虽然可以在此流程阶段添加与报关号相关的成本,但强烈建议根据报关代理的供应商账单创建到岸成本。详细了解 到岸成本 。

警告

报关号 字段一旦设置就无法编辑,并且不能重复,但以后可以通过选择不同的到岸成本来修复批次或序列号上的号码。

落地成本清单记录上的海关编号。

分配给特定批次或序列号的报关号可在 库存 ‣ 产品 ‣ 批次/序列号 的记录中查看。L10N Mx Edi Landed Cost 字段可随时编辑,以修正登记到岸成本时可能出现的错误。编辑 L10N Mx Edi Landed Cost 字段会自动更新 Customs number 以及批次或序列号的名称。

接下来,创建销售订单并确认。点击出现的 Delivery 智能按钮,仔细检查分配的批次/序列号,确保它们正是所需的值。之后,在交货单上点击 Validate 。

最后,从销售订单创建发票 并确认。发票行会根据交货单的分配情况创建。如果选择了多个报关号,Odoo 会按数量和报关号拆分发票行。

已确认销售订单产品上的海关编号。

发货指南

货运单 是提货单:一份说明所运货物类型、数量和目的地的文件。

2024 年 7 月 17 日,此 CFDI 的 3.1 版为所有运输提供商、中介和货物所有者实施。Odoo 能够生成文档类型 “T”(转移),与其他文档不同,它是在交货单中创建的,而不是在发票或付款中。

Odoo 可以创建带(或不带)地面运输的 XML 和 PDF 文件,并可以处理被视为 危险品 的材料。

如需打印 PDF,交货单必须经政府签署。之后,可以使用交货单上的 Print Carta Porte 按钮进行打印。

小技巧

PDF 文件包含一个 QR 码,用于验证当局的 CCP 代码。

要在仓库之间运输货物,物流路线必须包含 Delivery 类型的操作。

另请参阅

仓库间补货

注解

要使用此功能,必须安装 墨西哥 - 电子交货指南 l10n_mx_edi_stock 模块。

此外,需要安装 库存 和 销售 应用。

重要

Odoo 不支持货运单文档类型 “I”(收入)、航空、铁路或海运。

如需使用此功能,请在进行任何修改之前先咨询会计师。

配置

Odoo 管理两种不同类型的 CFDI 类型 “T”。两者都可以从 入库货件或交货单 创建。

  • 非联邦公路 在 到目的地距离 小于 30 公里 时使用。

  • 联邦运输 在 到目的地距离 超过 30 公里时使用。

对于非联邦公路,除了常规开票的标准要求(客户的 RFC、UNSPSC 代码等)外,不需要其他配置。

对于 联邦运输 ,必须向联系人、车辆设置和产品添加一些配置。这些配置随后包含在 XML 和 PDF 文件中。

联系方式和车辆

与对外贸易功能类似,公司和最终客户的 地址 必须完整。 邮政编码 、 城市 和 州 必须与 官方 SAT 货运单目录 一致。

小技巧

地点 字段对于两个地址都是可选的。

重要

交货指南使用的起始地址在 库存 ‣ 配置 ‣ 仓库 中设置。默认情况下该地址为公司地址,但可以将其改为实际的仓库地址。

此功能需要使用 车队 来管理车辆。车辆设置直接在车辆上管理,所有必填字段只有在勾选 L10N Mx 是货运车辆 字段后才可见。

勾选 L10N Mx 是货运车辆 字段会显示 MX 参数 选项卡,其中需要填写必填字段以创建正确的交货指南。此外,车辆 必须 包含 车牌 、 车型年份 和 驾驶员 。

小技巧

车辆牌照号码 和 号牌 字段必须包含 5 到 7 个字符。

车辆的主要驾驶员直接在 驾驶员 字段中设置,并且可以在 中介 部分添加更多车辆操作员。驾驶员联系人的唯一必填字段是 增值税号 和 操作员执照 。

送货指南车辆配置。

小技巧

如果车辆是租用的或需要更多中介,可以在 中介 字段中添加它们。

产品

与常规发票类似,所有产品都必须有 UNSPSC 类别 。除此以外,还有两种额外配置,适用于交货指南中涉及的产品:

  • 必须将 产品 设置为 可储存产品 才能创建库存变动。

  • 在 库存 选项卡中, 重量 字段必须大于 0 。

警告

创建 重量 设置为 0 的产品的交货指南将触发错误。由于 重量 会立即存储在交货单中,因此需要退回产品并使用正确的值重新创建交货单(和交货指南)。

销售和库存流动

要创建交货指南,首先从 销售 ‣ 销售订单 创建并确认销售订单。单击生成的 交货 智能按钮,并 验证 调拨。

状态设为 Done 后,即可编辑调拨单,并在 Additional Info 选项卡中选择 Transport Type 。

如果使用 非联邦公路 运输类型 ,请保存调拨,然后单击 生成交货指南 。生成的 XML 可以在讨论记录中找到。

注解

除了所有产品上的 UNSPSC 外,使用 非联邦公路 的交货指南不需要任何特殊配置即可发送给政府,因为它们是类型 “T” 的 CFDI,没有交货指南补充。

如果使用 Federal Transport Transport Type,则会显示 Vehicle Setup 供选择。Operator 取自车辆的驾驶员,可针对每次交货进行更改。若更改,会出现 Set As Main Driver 按钮。点击该按钮可替换车队车辆上的驾驶员,以便追溯。Gross vehicle weight 取自 Vehicle setup 配置,其中可以添加额外的 Extra weight,以计入驾驶员和行李的重量。

注解

Odoo 按以下公式计算 Gross vehicle weight:

\[车辆总重 = 车辆重量 + (重量 + 额外重量) / 1000\]

每次交货都需要在 到目的地距离(公里) 中输入大于 0 的值。最后,输入 交货日期 并单击 生成交货指南 。

注解

默认情况下,Scheduled Date 会自动填充,表示货物离开仓库的时间。Delivery Date 是预计货物到达目的地的时间。这些值会在 XML 和 PDF 中申报。

危险隐患

在 官方 SAT 目录 中,UNSPSC 类别 中的某些值被视为 危险危害。在使用 联邦运输 创建交货指南时,需要额外考虑这些类别。

首先,从 库存 ‣ 产品 ‣ 产品 中选择产品。然后,在 会计 标签页中,使用 SAT 目录中的正确代码填写 危险材料指定代码 和 危险包装 字段。

交货指南危险品产品必填字段。

重要

UNSPSC Category 可能被归类为危险品,也可能没有,例如 01010101。如果不属于危险品,请在 Hazardous Material Designation Code 字段中输入 0 。

在 MX 参数 中,还需填写 环境保险人 和 环境保险单 。之后,继续常规流程以创建交货指南。

进口和出口

如果 Carta Porte 用于国际业务(出口),则需要考虑一些额外的字段。

首先,确保所有相关的 产品 具有以下配置:

  • UNSPSC 类别 不能是 01010101 目录中不存在 。

  • 关税分类 和 海关 UMT 必须设置,类似于 外贸 流程。

  • 材料类型 必须设置。

然后,从交货或收货创建 交货指南 时,填写以下字段:

  • 海关制度

  • 海关单据类型

  • 海关单据标识

然后,为 海关单据类型 为 海关编号 的收货创建 交货指南 时,会出现两个新字段: 海关编号 和 进口商 。

小技巧

Customs Number 字段应遵循 xx xx xxxx xxxxxxx 的格式。例如,使用 15 48 3009 0001235,各段之间为 两个 空格。