{
  "$schema": "https://gobl.org/draft-0/tax/addon-def",
  "key": "mx-cfdi-v4",
  "name": {
    "en": "Mexican SAT CFDI v4.X"
  },
  "extensions": [
    {
      "key": "mx-cfdi-doc-type",
      "name": {
        "en": "Document Type",
        "es": "Tipo de Comprobante"
      },
      "values": [
        {
          "code": "I",
          "name": {
            "en": "Invoice",
            "es": "Comprobante de Ingreso"
          }
        },
        {
          "code": "E",
          "name": {
            "en": "Credit Note",
            "es": "Comprobante de Egreso"
          }
        },
        {
          "code": "P",
          "name": {
            "en": "Payment",
            "es": "Comprobante de Pago"
          }
        }
      ]
    },
    {
      "key": "mx-cfdi-rel-type",
      "name": {
        "en": "Relation Type",
        "es": "Tipo de Relación"
      },
      "values": [
        {
          "code": "01",
          "name": {
            "en": "Credit note for related documents",
            "es": "Nota de crédito de los documentos relacionados"
          }
        },
        {
          "code": "02",
          "name": {
            "en": "Debit note for related documents",
            "es": "Nota de débito de los documentos relacionados"
          }
        },
        {
          "code": "03",
          "name": {
            "en": "Return of goods for related documents",
            "es": "Devolución de mercancía sobre los documentos relacionados"
          }
        },
        {
          "code": "04",
          "name": {
            "en": "Substitution of the previous CFDI document",
            "es": "Sustitución de los CFDI previos"
          }
        },
        {
          "code": "05",
          "name": {
            "en": "Transfer of goods for related documents",
            "es": "Traslados de mercancías facturados por los documentos relacionados"
          }
        },
        {
          "code": "06",
          "name": {
            "en": "Invoice generated by previous transfers",
            "es": "Factura generada por los traslados previos"
          }
        },
        {
          "code": "07",
          "name": {
            "en": "CFDI for advance payment",
            "es": "CFDI por aplicación de anticipo"
          }
        }
      ]
    },
    {
      "key": "mx-cfdi-issue-place",
      "name": {
        "en": "Place of Issue",
        "es": "Lugar de Expedición"
      },
      "desc": {
        "en": "Post code of where the invoice was issued. In CFDI, this translates to the 'LugarExpedicion'.",
        "es": "Código postal de donde se emitió la factura. En CFDI se traduce a 'LugarExpedicion'."
      },
      "pattern": "^[0-9]{5}$"
    },
    {
      "key": "mx-cfdi-tax-type",
      "name": {
        "en": "Tax Type",
        "es": "Tipo de Impuesto"
      },
      "desc": {
        "en": "Code defined in the CFDI catalogue \"c_Impuesto\" for the type of tax. Used in the 'Impuesto' field.",
        "es": "Código definido en el catálogo del CFDI \"c_Impuesto\" para el tipo de impuesto. Usado en el campo 'Impuesto'."
      },
      "values": [
        {
          "code": "001",
          "name": {
            "en": "Income Tax",
            "es": "Impuesto Sobre la Renta"
          }
        },
        {
          "code": "002",
          "name": {
            "en": "Value Added Tax",
            "es": "Impuesto al Valor Agregado"
          }
        },
        {
          "code": "003",
          "name": {
            "en": "Special Tax on Production and Services",
            "es": "Impuesto Especial sobre Producción y Servicios"
          }
        }
      ]
    },
    {
      "key": "mx-cfdi-prod-serv",
      "name": {
        "en": "Product or Service Code",
        "es": "Clave de Producto o Servicio"
      },
      "desc": {
        "en": "Code defined in the CFDI catalogue used to identify a product or service.\nMapped to the 'ClaveProdServ' CFDI field.",
        "es": "Código definido en el catálogo del CFDI utilizado para identificar un producto o servicio.\nMapeado al campo del CFDI 'ClaveProdServ'."
      }
    },
    {
      "key": "mx-cfdi-fiscal-regime",
      "name": {
        "en": "Fiscal Regime Code",
        "es": "Código de Régimen Fiscal"
      },
      "desc": {
        "en": "Fiscal regime associated with suppliers and customers.",
        "es": "Régimen fiscal asociado con el emisor y receptor."
      },
      "values": [
        {
          "code": "601",
          "name": {
            "es": "General de Ley Personas Morales"
          }
        },
        {
          "code": "603",
          "name": {
            "es": "Personas Morales con Fines no Lucrativos"
          }
        },
        {
          "code": "605",
          "name": {
            "es": "Sueldos y Salarios e Ingresos Asimilados a Salarios"
          }
        },
        {
          "code": "606",
          "name": {
            "es": "Arrendamiento"
          }
        },
        {
          "code": "607",
          "name": {
            "es": "Régimen de Enajenación o Adquisición de Bienes"
          }
        },
        {
          "code": "608",
          "name": {
            "es": "Demás ingresos"
          }
        },
        {
          "code": "610",
          "name": {
            "es": "Residentes en el Extranjero sin Establecimiento Permanente en México"
          }
        },
        {
          "code": "611",
          "name": {
            "es": "Ingresos por Dividendos (socios y accionistas)"
          }
        },
        {
          "code": "612",
          "name": {
            "es": "Personas Físicas con Actividades Empresariales y Profesionales"
          }
        },
        {
          "code": "614",
          "name": {
            "es": "Ingresos por intereses"
          }
        },
        {
          "code": "615",
          "name": {
            "es": "Régimen de los ingresos por obtención de premios"
          }
        },
        {
          "code": "616",
          "name": {
            "es": "Sin obligaciones fiscales"
          }
        },
        {
          "code": "620",
          "name": {
            "es": "Sociedades Cooperativas de Producción que optan por diferir sus ingresos"
          }
        },
        {
          "code": "621",
          "name": {
            "es": "Incorporación Fiscal"
          }
        },
        {
          "code": "622",
          "name": {
            "es": "Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras"
          }
        },
        {
          "code": "623",
          "name": {
            "es": "Opcional para Grupos de Sociedades"
          }
        },
        {
          "code": "624",
          "name": {
            "es": "Coordinados"
          }
        },
        {
          "code": "625",
          "name": {
            "es": "Régimen de las Actividades Empresariales con ingresos a través de Plataformas Tecnológicas"
          }
        },
        {
          "code": "626",
          "name": {
            "es": "Régimen Simplificado de Confianza"
          }
        }
      ]
    },
    {
      "key": "mx-cfdi-use",
      "name": {
        "en": "CFDI Use Code",
        "es": "Código de Uso CFDI"
      },
      "desc": {
        "en": "Chosen by the customer to indicate the purpose of an invoice.",
        "es": "Elegido por el cliente para indicar el propósito de una factura."
      },
      "values": [
        {
          "code": "G01",
          "name": {
            "en": "Acquisition of goods",
            "es": "Adquisición de mercancías"
          }
        },
        {
          "code": "G02",
          "name": {
            "en": "Returns, discounts or rebates",
            "es": "Devoluciones, descuentos o bonificaciones"
          }
        },
        {
          "code": "G03",
          "name": {
            "en": "General expenses",
            "es": "Gastos en general"
          }
        },
        {
          "code": "I01",
          "name": {
            "en": "Construction",
            "es": "Construcciones"
          }
        },
        {
          "code": "I02",
          "name": {
            "en": "Office furniture and equipment as investment",
            "es": "Mobiliario y equipo de oficina por inversiones"
          }
        },
        {
          "code": "I03",
          "name": {
            "en": "Transport equipment",
            "es": "Equipo de transporte"
          }
        },
        {
          "code": "I04",
          "name": {
            "en": "Computer equipment and accessories",
            "es": "Equipo de computo y accesorios"
          }
        },
        {
          "code": "I05",
          "name": {
            "en": "Dies, punches, molds, matrices and other tooling",
            "es": "Dados, troqueles, moldes, matrices y herramental"
          }
        },
        {
          "code": "I06",
          "name": {
            "en": "Telephone communications",
            "es": "Comunicaciones telefónicas"
          }
        },
        {
          "code": "I07",
          "name": {
            "en": "Satellite communications",
            "es": "Comunicaciones satelitales"
          }
        },
        {
          "code": "I08",
          "name": {
            "en": "Other machinery and equipment",
            "es": "Otra maquinaria y equipo"
          }
        },
        {
          "code": "D01",
          "name": {
            "en": "Medical and dental fees and hospital expenses",
            "es": "Honorarios médicos, dentales y gastos hospitalarios"
          }
        },
        {
          "code": "D02",
          "name": {
            "en": "Medical expenses for disability or incapacity",
            "es": "Gastos médicos por incapacidad o discapacidad"
          }
        },
        {
          "code": "D03",
          "name": {
            "en": "Funeral expenses",
            "es": "Gastos funerales"
          }
        },
        {
          "code": "D04",
          "name": {
            "en": "Donations",
            "es": "Donativos"
          }
        },
        {
          "code": "D05",
          "name": {
            "en": "Interest actually paid on mortgage loans (housing)",
            "es": "Intereses reales efectivamente pagados por créditos hipotecarios (casa habitación)"
          }
        },
        {
          "code": "D06",
          "name": {
            "en": "Voluntary contributions to the SAR",
            "es": "Aportaciones voluntarias al SAR"
          }
        },
        {
          "code": "D07",
          "name": {
            "en": "Medical insurance premiums",
            "es": "Primas por seguros de gastos médicos"
          }
        },
        {
          "code": "D08",
          "name": {
            "en": "Mandatory school transportation expenses",
            "es": "Gastos de transportación escolar obligatoria"
          }
        },
        {
          "code": "D09",
          "name": {
            "en": "Deposits in savings accounts, pension plans premiums",
            "es": "Depósitos en cuentas para el ahorro, primas que tengan como base planes de pensiones"
          }
        },
        {
          "code": "D10",
          "name": {
            "en": "Payments for educational services (school fees)",
            "es": "Pagos por servicios educativos (colegiaturas)"
          }
        },
        {
          "code": "S01",
          "name": {
            "en": "Without tax effects",
            "es": "Sin efectos fiscales"
          }
        },
        {
          "code": "CP01",
          "name": {
            "en": "Payments",
            "es": "Pagos"
          }
        },
        {
          "code": "CN01",
          "name": {
            "en": "Payroll",
            "es": "Nómina"
          }
        }
      ]
    },
    {
      "key": "mx-cfdi-payment-method",
      "name": {
        "en": "Payment Method",
        "es": "Método de Pago"
      },
      "desc": {
        "en": "Code defined in the CFDI catalogue \"c_MetodoPago\" for the payment method. Used in the 'MetodoPago' field.",
        "es": "Código definido en el catálogo del CFDI \"c_MetodoPago\" para el método de pago. Usado en el campo 'MetodoPago'."
      },
      "values": [
        {
          "code": "PUE",
          "name": {
            "en": "Payment in a single exhibition",
            "es": "Pago en una sola exhibición"
          }
        },
        {
          "code": "PPD",
          "name": {
            "en": "Payment in deferred installments",
            "es": "Pago en parcialidades o diferido"
          }
        }
      ]
    },
    {
      "key": "mx-cfdi-payment-means",
      "name": {
        "en": "Payment Means",
        "es": "Forma de Pago"
      },
      "desc": {
        "en": "Code defined in the CFDI catalogue \"c_FormaPago\" for the payment method. Used in the 'FormaPago' field.",
        "es": "Código definido en el catálogo del CFDI \"c_FormaPago\" para el método de pago. Usado en el campo 'FormaPago'."
      },
      "values": [
        {
          "code": "01",
          "name": {
            "en": "Cash",
            "es": "Efectivo"
          }
        },
        {
          "code": "02",
          "name": {
            "en": "Check",
            "es": "Cheque nominativo"
          }
        },
        {
          "code": "03",
          "name": {
            "en": "Electronic Funds Transfer",
            "es": "Transferencia electrónica de fondos"
          }
        },
        {
          "code": "04",
          "name": {
            "en": "Credit Card",
            "es": "Tarjeta de crédito"
          }
        },
        {
          "code": "05",
          "name": {
            "en": "Electronic Wallet",
            "es": "Monedero electrónico"
          }
        },
        {
          "code": "06",
          "name": {
            "en": "Online or Electronic Payment",
            "es": "Dinero electrónico"
          }
        },
        {
          "code": "08",
          "name": {
            "en": "Grocery Voucher",
            "es": "Vales de despensa"
          }
        },
        {
          "code": "12",
          "name": {
            "en": "Payment in Kind",
            "es": "Dación en pago"
          }
        },
        {
          "code": "13",
          "name": {
            "en": "Payment by subrogation",
            "es": "Pago por subrogación"
          }
        },
        {
          "code": "14",
          "name": {
            "en": "Payment by consignment",
            "es": "Pago por consignación"
          }
        },
        {
          "code": "15",
          "name": {
            "en": "Debt relief",
            "es": "Condonación"
          }
        },
        {
          "code": "17",
          "name": {
            "en": "Netting",
            "es": "Compensación"
          }
        },
        {
          "code": "23",
          "name": {
            "en": "Novation",
            "es": "Novación"
          }
        },
        {
          "code": "24",
          "name": {
            "en": "Merger",
            "es": "Confusión"
          }
        },
        {
          "code": "25",
          "name": {
            "en": "Debt remission",
            "es": "Remisión de deuda"
          }
        },
        {
          "code": "26",
          "name": {
            "en": "Expiration of payment obligation",
            "es": "Prescripción o caducidad"
          }
        },
        {
          "code": "27",
          "name": {
            "en": "To the creditor's satisfaction",
            "es": "A satisfacción del acreedor"
          }
        },
        {
          "code": "28",
          "name": {
            "en": "Debit card",
            "es": "Tarjeta de débito"
          }
        },
        {
          "code": "29",
          "name": {
            "en": "Services card",
            "es": "Tarjeta de servicios"
          }
        },
        {
          "code": "30",
          "name": {
            "en": "Advance payment",
            "es": "Aplicación de anticipos"
          }
        },
        {
          "code": "31",
          "name": {
            "en": "Payment via intermediary",
            "es": "Intermediario pagos"
          }
        },
        {
          "code": "99",
          "name": {
            "en": "Undefined",
            "es": "Por definir"
          }
        }
      ]
    },
    {
      "key": "mx-cfdi-global-period",
      "name": {
        "en": "CFDI Global Period",
        "es": "CFDI Global Periodicidad"
      },
      "desc": {
        "en": "Period for when the sales were generated.",
        "es": "Campo requerido para registrar el período al que corresponde la información del comprobante global."
      },
      "values": [
        {
          "code": "01",
          "name": {
            "en": "Daily",
            "es": "Diario"
          }
        },
        {
          "code": "02",
          "name": {
            "en": "Weekly",
            "es": "Semanal"
          }
        },
        {
          "code": "03",
          "name": {
            "en": "Biweekly",
            "es": "Quincenal"
          }
        },
        {
          "code": "04",
          "name": {
            "en": "Monthly",
            "es": "Mensual"
          }
        },
        {
          "code": "05",
          "name": {
            "en": "Bimonthly",
            "es": "Bimestral"
          }
        }
      ]
    },
    {
      "key": "mx-cfdi-global-month",
      "name": {
        "en": "CFDI Global Month",
        "es": "CFDI Global Meses"
      },
      "desc": {
        "en": "Specific month or month range for the global invoice.",
        "es": "Se debe registrar la clave del mes o los meses al que corresponde la información de las operaciones celebradas con el público en general, las distintas claves vigentes se encuentran incluidas en el catálogo c_Meses."
      },
      "values": [
        {
          "code": "01",
          "name": {
            "en": "January",
            "es": "Enero"
          }
        },
        {
          "code": "02",
          "name": {
            "en": "February",
            "es": "Febrero"
          }
        },
        {
          "code": "03",
          "name": {
            "en": "March",
            "es": "Marzo"
          }
        },
        {
          "code": "04",
          "name": {
            "en": "April",
            "es": "Abril"
          }
        },
        {
          "code": "05",
          "name": {
            "en": "May",
            "es": "Mayo"
          }
        },
        {
          "code": "06",
          "name": {
            "en": "June",
            "es": "Junio"
          }
        },
        {
          "code": "07",
          "name": {
            "en": "July",
            "es": "Julio"
          }
        },
        {
          "code": "08",
          "name": {
            "en": "August",
            "es": "Agosto"
          }
        },
        {
          "code": "09",
          "name": {
            "en": "September",
            "es": "Septiembre"
          }
        },
        {
          "code": "10",
          "name": {
            "en": "October",
            "es": "Octubre"
          }
        },
        {
          "code": "11",
          "name": {
            "en": "November",
            "es": "Noviembre"
          }
        },
        {
          "code": "12",
          "name": {
            "en": "December",
            "es": "Diciembre"
          }
        },
        {
          "code": "13",
          "name": {
            "en": "January-February",
            "es": "Enero-Febrero"
          }
        },
        {
          "code": "14",
          "name": {
            "en": "March-April",
            "es": "Marzo-Abril"
          }
        },
        {
          "code": "15",
          "name": {
            "en": "May-June",
            "es": "Mayo-Junio"
          }
        },
        {
          "code": "16",
          "name": {
            "en": "July-August",
            "es": "Julio-Agosto"
          }
        },
        {
          "code": "17",
          "name": {
            "en": "September-October",
            "es": "Septiembre-Octubre"
          }
        },
        {
          "code": "18",
          "name": {
            "en": "November-December",
            "es": "Noviembre-Diciembre"
          }
        }
      ]
    },
    {
      "key": "mx-cfdi-global-year",
      "name": {
        "en": "CFDI Global Year",
        "es": "CFDI Global Año"
      },
      "desc": {
        "en": "",
        "es": "Se debe registrar el año al que corresponde la información del comprobante global."
      },
      "pattern": "\\d{4}"
    }
  ],
  "tags": [
    {
      "schema": "bill/invoice",
      "list": [
        {
          "key": "global",
          "name": {
            "en": "Global"
          },
          "desc": {
            "en": "Apply global CFDI rules used for B2C invoices.",
            "es": "Aplicar reglas CFDI globales utilizadas para facturas B2C."
          }
        }
      ]
    }
  ],
  "scenarios": [
    {
      "schema": "bill/invoice",
      "list": [
        {
          "type": [
            "standard"
          ],
          "ext": {
            "mx-cfdi-doc-type": "I"
          }
        },
        {
          "type": [
            "credit-note"
          ],
          "ext": {
            "mx-cfdi-doc-type": "E",
            "mx-cfdi-rel-type": "01"
          }
        },
        {
          "type": [
            "standard",
            "credit-note"
          ],
          "ext": {
            "mx-cfdi-payment-method": "PUE"
          }
        },
        {
          "type": [
            "standard",
            "credit-note"
          ],
          "ext": {
            "mx-cfdi-payment-method": "PPD"
          }
        }
      ]
    }
  ],
  "corrections": null
}