ES | EN

Ejemplos por país

➕ Crear documentos

Crear nuevos documentos

Colección de Postman

Para facilitar su integración, descargue nuestra colección de Postman aquí: https://github.com/koyweforest/api-billing-postman

IMPORTANTE: El SAT requiere que el nombre legal, la actividad, el código postal y el RFC coincidan exactamente

Al generar una factura, tiene la opción de utilizar el RFC genérico:

  • XAXX010101000 para personas nacionales que solo tienen CURP pero no RFC
  • XEXX010101000 para empresas o personas físicas extranjeras

Si utiliza un RFC diferente, deberá asegurarse de que el nombre legal, el código postal y la actividad (régimen fiscal) coincidan exactamente. Si alguno de estos datos no coincide exactamente, recibirá un mensaje en la respuesta con la validación del SAT y el documento no será emitido. (tenga en cuenta que los mensajes del SAT están en español)

Para facilitar las pruebas, puede utilizar la siguiente información al emitir documentos:

account_id RFC legal_name activity postalcode
11857 EKU9003173C9 ESCUELA KEMPER URGATE 601 42501

Los nombres legales NO deben incluir el tipo de organización (ejemplo: SAIC).

Puede validar los datos aquí: https://agsc.siat.sat.gob.mx/PTSC/ValidaRFC/index.jsf (funciona SOLO desde México, bloqueado por el SAT desde otros países).

product_service_identifier y measure_unit_code

México requiere que las líneas de detalle estén correctamente identificadas con fines fiscales. Si se omiten, se utilizarán valores predeterminados.

Lista de identificadores de productos/servicios: http://pys.sat.gob.mx/PyS/catPyS.aspx Lista de códigos de unidad de medida: http://pys.sat.gob.mx/PyS/catUnidades.aspx

Factura

Para crear una nueva factura mexicana, debe utilizar el endpoint /documents con los parámetros adecuados.

Las facturas mexicanas pueden ser de tipo I, E o T. Para definir cuál utilizar, consulte los valores correctos del campo document_type_id.

Header >> Additional >> mx_header >> receiver_cfdi_usage es un campo opcional que define el uso fiscal del receptor. Si no se incluye, se utilizará S01 (Sin efectos fiscales).

Header >> Additional >> mx_header >> reported_payment_code es un campo opcional que define el método de pago. Si no se incluye, se utilizará 01 (Efectivo).

Factura I (Factura de Ingreso)

{
  "header": {
    "account_id": 11857,
    "document_type_id": "76",
    "issue_date": "2025-01-07",
    "issuer_tax_id_code": "EKU9003173C9",
    "issuer_tax_id_type": "MX-RFC",
    "issuer_legal_name": "ESCUELA KEMPER URGATE",
    "issuer_address": "Calle roja 234",
    "issuer_city": "Ciudad de méxico",
    "issuer_country_id": "80",
    "issuer_phone": "2223334444",
    "issuer_activity": "601",
    "issuer_postalcode": "42501",
    "receiver_tax_id_code": "EKU9003173C9",
    "receiver_tax_id_type": "MX-RFC",
    "receiver_legal_name": "ESCUELA KEMPER URGATE",
    "receiver_address": "Calle naranja 123",
    "receiver_city": "Cancún",
    "receiver_country_id": "80",
    "receiver_phone": "2223334444",
    "receiver_activity": "601",
    "receiver_postalcode": "42501",
    "payment_conditions": "0",
    "currency_id": 31,
    "additional": {
      "mx_header":{
        "receiver_cfdi_usage": "G03",
        "reported_payment_code": "01"
      }
    }
  },
  "details": [
    {
      "quantity": 1,
      "sku": "aa111",
      "line_description": "Prueba Koywe",
      "unit_measure": "UN",
      "unit_price": 1500,
      "long_description": "Esta es una linea de prueba",
      "modifier_amount": -100,
      "total_taxes": 224,
      "modifier_percentage": 0,
      "total_amount_line": 1624,
      "taxes": [
        {
          "tax_type_id": "362",
          "tax_percentage": 16,
          "tax_amount": 224
        }
      ],
      "additional": {
        "mx_detail": {
          "product_service_identifier": "01010101",
          "measure_unit_code": "E48"
        }
      }
    }
  ],
  "totals": {
    "net_amount": 1400,
    "taxes_amount": 224,
    "total_amount": 1624
  }
}

Factura I Global (Factura de Ingreso Global)

Este documento se utiliza para reflejar un gran número de transacciones en un único documento fiscal. Los campos global_ deben utilizarse para reflejar el período que se está emitiendo. Consulte la tabla de códigos para más información.

{
  "header": {
    "account_id": 11857,
    "document_type_id": "76",
    "issue_date": "2025-08-22",
    "issuer_tax_id_code": "EKU9003173C9",
    "issuer_tax_id_type": "MX-RFC",
    "issuer_legal_name": "ESCUELA KEMPER URGATE",
    "issuer_address": "Calle roja 234",
    "issuer_city": "Ciudad de méxico",
    "issuer_country_id": "80",
    "issuer_phone": "2223334444",
    "issuer_activity": "601",
    "issuer_postalcode": "42501",
    "receiver_tax_id_code": "XAXX010101000",
    "receiver_tax_id_type": "MX-RFC",
    "receiver_legal_name": "PUBLICO EN GENERAL",
    "receiver_address": "",
    "receiver_city": "",
    "receiver_country_id": "80",
    "receiver_phone": "",
    "receiver_activity": "616",
    "receiver_postalcode": "42501",
    "payment_conditions": "0",
    "currency_id": 31,
    "additional": {
      "mx_header":{
        "receiver_cfdi_usage": "S01",
        "reported_payment_code": "01",
        "global_periodicity": "01",
        "global_month": "04",
        "global_year": "2025"
      }
    }
  },
  "details": [
    {
      "quantity": 1,
      "sku": "aa111",
      "line_description": "Prueba Koywe",
      "unit_measure": "UN",
      "unit_price": 1500,
      "long_description": "Esta es una linea de prueba",
      "modifier_amount": -100,
      "total_taxes": 224,
      "modifier_percentage": 0,
      "total_amount_line": 1624,
      "taxes": [
        {
          "tax_type_id": "362",
          "tax_percentage": 16,
          "tax_amount": 224
        }
      ],
      "additional": {
        "mx_detail": {
          "product_service_identifier": "01010101",
          "measure_unit_code": "E48"
        }
      }
    }
  ],
  "totals": {
    "net_amount": 1400,
    "taxes_amount": 224,
    "total_amount": 1624
  }
}

Factura E (Factura de Egreso)

{
  "header": {
    "account_id": 11857,
    "document_type_id": "77",
    "issue_date": "2025-01-07",
    "issuer_tax_id_code": "EKU9003173C9",
    "issuer_tax_id_type": "MX-RFC",
    "issuer_legal_name": "ESCUELA KEMPER URGATE",
    "issuer_address": "Calle roja 234",
    "issuer_city": "Ciudad de méxico",
    "issuer_country_id": "80",
    "issuer_phone": "2223334444",
    "issuer_activity": "601",
    "issuer_postalcode": "42501",
    "receiver_tax_id_code": "EKU9003173C9",
    "receiver_tax_id_type": "MX-RFC",
    "receiver_legal_name": "ESCUELA KEMPER URGATE",
    "receiver_address": "Calle naranja 123",
    "receiver_city": "Cancún",
    "receiver_country_id": "80",
    "receiver_phone": "2223334444",
    "receiver_activity": "601",
    "receiver_postalcode": "42501",
    "payment_conditions": "0",
    "currency_id": 31
  },
  "details": [
    {
      "quantity": 1,
      "sku": "aa111",
      "line_description": "Prueba Koywe",
      "unit_measure": "UN",
      "unit_price": 1500,
      "long_description": "Esta es una linea de prueba",
      "modifier_amount": -100,
      "total_taxes": 224,
      "modifier_percentage": 0,
      "total_amount_line": 1624,
      "taxes": [
        {
          "tax_type_id": "362",
          "tax_percentage": 16,
          "tax_amount": 224
        }
      ],
      "additional": {
        "mx_detail": {
          "product_service_identifier": "01010101",
          "measure_unit_code": "E48"
        }
      }
    }
  ],
  "totals": {
    "net_amount": 1400,
    "taxes_amount": 224,
    "total_amount": 1624
  }
}

Factura T (Factura de Traslado)

{
  "header": {
    "account_id": 11857,
    "document_type_id": "78",
    "issue_date": "2025-01-07",
    "issuer_tax_id_code": "EKU9003173C9",
    "issuer_tax_id_type": "MX-RFC",
    "issuer_legal_name": "ESCUELA KEMPER URGATE",
    "issuer_address": "Calle roja 234",
    "issuer_city": "Ciudad de méxico",
    "issuer_country_id": "80",
    "issuer_phone": "2223334444",
    "issuer_activity": "601",
    "issuer_postalcode": "42501",
    "receiver_tax_id_code": "EKU9003173C9",
    "receiver_tax_id_type": "MX-RFC",
    "receiver_legal_name": "ESCUELA KEMPER URGATE",
    "receiver_address": "Calle naranja 123",
    "receiver_city": "Cancún",
    "receiver_country_id": "80",
    "receiver_phone": "2223334444",
    "receiver_activity": "601",
    "receiver_postalcode": "42501",
    "payment_conditions": "0",
    "currency_id": 31
  },
  "details": [
    {
      "quantity": 1,
      "sku": "aa111",
      "line_description": "Prueba Koywe",
      "unit_measure": "UN",
      "unit_price": 1500,
      "long_description": "Esta es una linea de prueba",
      "modifier_amount": -100,
      "total_taxes": 224,
      "modifier_percentage": 0,
      "total_amount_line": 1624,
      "taxes": [
        {
          "tax_type_id": "362",
          "tax_percentage": 16,
          "tax_amount": 224
        }
      ],
      "additional": {
        "mx_detail": {
          "product_service_identifier": "01010101",
          "measure_unit_code": "E48"
        }
      }
    }
  ],
  "totals": {
    "net_amount": 1400,
    "taxes_amount": 224,
    "total_amount": 1624
  }
}

Factura T con Complemento de Carta Porte

Para crear una nueva factura mexicana con complemento de carta porte, debe utilizar el endpoint /documents con los parámetros adecuados.

{
  "header": {
    "account_id": 11857,
    "document_type_id": "78",
    "issue_date": "2025-01-07",
    "issuer_tax_id_code": "EKU9003173C9",
    "issuer_tax_id_type": "MX-RFC",
    "issuer_legal_name": "ESCUELA KEMPER URGATE",
    "issuer_address": "Calle roja 234",
    "issuer_city": "Ciudad de méxico",
    "issuer_country_id": "80",
    "issuer_phone": "2223334444",
    "issuer_activity": "601",
    "issuer_postalcode": "42501",
    "receiver_tax_id_code": "EKU9003173C9",
    "receiver_tax_id_type": "MX-RFC",
    "receiver_legal_name": "ESCUELA KEMPER URGATE",
    "receiver_address": "Calle naranja 123",
    "receiver_city": "Cancún",
    "receiver_country_id": "80",
    "receiver_phone": "2223334444",
    "receiver_activity": "601",
    "receiver_postalcode": "42501",
    "payment_conditions": "0",
    "currency_id": 31,
    "additional": {
        "mx_shipping": {
            "distance": "100",
            "transport_code": "01",
            "transport_method_name": "Autotransporte",
            "transport_tax_id_type": "MX-RFC",
            "transport_tax_id_code": "EKU9003173C9",
            "transport_license": "a234567890",
            "origin": {
                "tax_id_type" : "MX-RFC",
                "tax_id_code": "EKU9003173C9",
                "date_time": "2025-01-07T00:00:00",
                "address_state_id": "31",
                "address_country_id": "80",
                "address_postalcode": "13250"
            },
            "destination": {
                "tax_id_type" : "MX-RFC",
                "tax_id_code": "EKU9003173C9",
                "date_time": "2025-01-07T00:00:00",
                "address_state_id": "31",
                "address_country_id": "80",
                "address_postalcode": "13250"
            },
            "merchandise": {
                "total_weight": "10",
                "sct_permission_code": "TPAF01",
                "sct_permission_number": "222333444",
                "vehicle_configuration": "VL",
                "vehicle_weight": "1",
                "vehicle_license_plate": "AA22333",
                "vehicle_year":"2020",
                "insurance_company": "PRUEBA SEGUROS",
                "insurance_identifier": "123456",
                "details": [
                    {
                        "product_code": "11121900",
                        "description" : "Accesorios telefono",
                        "quantity" : "1",
                        "weight": "10"
                    }
                ]
            }
        }
      }
  },
  "details": [
    {
      "quantity": 1,
      "line_description": "Prueba Koywe",
      "unit_measure": "UN",
      "unit_price": 1500,
      "long_description": "Esta es una linea de prueba",
      "modifier_amount": -100,
      "total_taxes": 224,
      "modifier_percentage": 0,
      "total_amount_line": 1624,
      "taxes": [
        {
          "tax_type_id": "362",
          "tax_percentage": 16,
          "tax_amount": 224
        }
      ],
      "additional": {
        "mx_detail": {
          "product_service_identifier": "01010101",
          "measure_unit_code": "E48"
        }
      }
    }
  ],
  "totals": {
    "net_amount": 1400,
    "taxes_amount": 224,
    "total_amount": 1624
  }
}

Factura I con Complemento de Exportación

Para crear una nueva factura mexicana con complemento de comercio internacional, debe utilizar el endpoint /documents con los parámetros adecuados.

{
  "header": {
    "account_id": 11857,
    "document_type_id": "76",
    "issue_date": "2025-01-07",
    "issuer_tax_id_code": "EKU9003173C9",
    "issuer_tax_id_type": "MX-RFC",
    "issuer_legal_name": "ESCUELA KEMPER URGATE",
    "issuer_address": "Calle roja 234",
    "issuer_city": "Ciudad de méxico",
    "issuer_country_id": "80",
    "issuer_phone": "2223334444",
    "issuer_activity": "601",
    "issuer_postalcode": "42501",
    "receiver_tax_id_code": "EKU9003173C9",
    "receiver_tax_id_type": "MX-RFC",
    "receiver_legal_name": "ESCUELA KEMPER URGATE",
    "receiver_address": "Calle naranja 123",
    "receiver_city": "Cancún",
    "receiver_country_id": "80",
    "receiver_phone": "2223334444",
    "receiver_activity": "601",
    "receiver_postalcode": "42501",
    "payment_conditions": "0",
    "currency_id": 31,
    "additional": {
        "mx_exports": {
            "terms": "FOB",
            "exchange_rate": 20.6708,
            "total": 1624,
            "origin": {
                "address_street": "CALLE DEL PAPEL",
                "address_city_id": "01",
                "address_county_id": "1961",
                "address_state_id": "45",
                "address_country_id": "80",
                "address_postalcode": "76199"
            },
            "destination": {
                "tax_id_type" : "US-EIN",
                "tax_id_code": "222333444",
                "address_street": "2470 SW 19th",
                "address_state_id": "61",
                "address_country_id": "89",
                "address_postalcode": "00000"
            },
            "merchandise": {
                "details": [
                    {
                        "customs_code": "2402200100",
                        "customs_quantity" : "117.64",
                        "sku" : "aa111",
                        "customs_measure_unit": "01",
                        "customs_unit_value": "13.81",
                        "customs_total_value": "1624.00"
                    }
                ]
            }
        }
      }
  },
  "details": [
    {
      "quantity": 1,
      "sku": "aa111",
      "line_description": "Prueba Koywe",
      "unit_measure": "UN",
      "unit_price": 1500,
      "long_description": "Esta es una linea de prueba",
      "modifier_amount": -100,
      "total_taxes": 224,
      "modifier_percentage": 0,
      "total_amount_line": 1624,
      "taxes": [
        {
          "tax_type_id": "362",
          "tax_percentage": 16,
          "tax_amount": 224
        }
      ],
      "additional": {
        "mx_detail": {
          "product_service_identifier": "01010101",
          "measure_unit_code": "E48"
        }
      }
    }
  ],
  "totals": {
    "net_amount": 1400,
    "taxes_amount": 224,
    "total_amount": 1624
  }
}

Factura I de Extranjero sin RFC

{
  "header": {
    "account_id": 11857,
    "document_type_id": "76",
    "issue_date": "2025-05-27",
    "issuer_tax_id_code": "EKU9003173C9",
    "issuer_tax_id_type": "MX-RFC",
    "issuer_legal_name": "ESCUELA KEMPER URGATE",
    "issuer_address": "Calle roja 234",
    "issuer_city": "Ciudad de méxico",
    "issuer_country_id": "80",
    "issuer_phone": "2223334444",
    "issuer_activity": "601",
    "issuer_postalcode": "42501",
    "receiver_tax_id_code": "XEXX010101000",
    "receiver_tax_id_type": "US-EIN",
    "receiver_legal_name": "ESCUELA KEMPER URGATE",
    "receiver_address": "<string>",
    "receiver_district": "<string>",
    "receiver_city": "<string>",
    "receiver_country_id": "89",
    "receiver_phone": "<string>",
    "receiver_activity": "<string>",
    "payment_conditions": "0",
    "currency_id": 31
  },
  "details": [
    {
      "quantity": 1,
      "sku": "aa111",
      "line_description": "Prueba Koywe",
      "unit_measure": "UN",
      "unit_price": 1500,
      "long_description": "Esta es una linea de prueba",
      "modifier_amount": -100,
      "total_taxes": 224,
      "modifier_percentage": 0,
      "total_amount_line": 1624,
      "taxes": [
        {
          "tax_type_id": "362",
          "tax_percentage": 16,
          "tax_amount": 224
        }
      ],
      "additional": {
        "mx_detail": {
          "product_service_identifier": "01010101",
          "measure_unit_code": "E48"
        }
      }
    }
  ],
  "totals": {
    "net_amount": 1400,
    "taxes_amount": 224,
    "total_amount": 1624
  }
}

Factura I Nacional sin RFC

{
  "header": {
    "account_id": 11857,
    "document_type_id": "76",
    "issue_date": "2025-01-07",
    "issuer_tax_id_code": "EKU9003173C9",
    "issuer_tax_id_type": "MX-RFC",
    "issuer_legal_name": "ESCUELA KEMPER URGATE",
    "issuer_address": "Calle roja 234",
    "issuer_city": "Ciudad de méxico",
    "issuer_country_id": "80",
    "issuer_phone": "2223334444",
    "issuer_activity": "601",
    "issuer_postalcode": "42501",
    "receiver_tax_id_code": "XAXX010101000",
    "receiver_tax_id_type": "MX-RFC",
    "receiver_legal_name": "ESCUELA KEMPER URGATE",
    "receiver_address": "<string>",
    "receiver_district": "<string>",
    "receiver_city": "<string>",
    "receiver_country_id": "80",
    "receiver_phone": "<string>",
    "receiver_activity": "<string>",
    "payment_conditions": "0",
    "currency_id": 31
  },
  "details": [
    {
      "quantity": 1,
      "sku": "aa111",
      "line_description": "Prueba Koywe",
      "unit_measure": "UN",
      "unit_price": 1500,
      "long_description": "Esta es una linea de prueba",
      "modifier_amount": -100,
      "total_taxes": 224,
      "modifier_percentage": 0,
      "total_amount_line": 1624,
      "taxes": [
        {
          "tax_type_id": "362",
          "tax_percentage": 16,
          "tax_amount": 224
        }
      ],
      "additional": {
        "mx_detail": {
          "product_service_identifier": "01010101",
          "measure_unit_code": "E48"
        }
      }
    }
  ],
  "totals": {
    "net_amount": 1400,
    "taxes_amount": 224,
    "total_amount": 1624
  }
}

Factura I con IVA e IEPS

{
  "header": {
    "account_id": 11857,
    "document_type_id": "76",
    "issue_date": "2025-01-07",
    "issuer_tax_id_code": "EKU9003173C9",
    "issuer_tax_id_type": "MX-RFC",
    "issuer_legal_name": "ESCUELA KEMPER URGATE",
    "issuer_address": "Calle roja 234",
    "issuer_city": "Ciudad de méxico",
    "issuer_country_id": "80",
    "issuer_phone": "2223334444",
    "issuer_activity": "601",
    "issuer_postalcode": "42501",
    "receiver_tax_id_code": "EKU9003173C9",
    "receiver_tax_id_type": "MX-RFC",
    "receiver_legal_name": "ESCUELA KEMPER URGATE",
    "receiver_address": "<string>",
    "receiver_district": "<string>",
    "receiver_city": "<string>",
    "receiver_country_id": "80",
    "receiver_phone": "<string>",
    "receiver_activity": "<string>",
    "payment_conditions": "0",
    "currency_id": 31
  },
  "details": [
    {
      "quantity": 1,
      "sku": "aa111",
      "line_description": "Prueba Koywe",
      "unit_measure": "UN",
      "unit_price": 1500,
      "long_description": "Esta es una linea de prueba",
      "modifier_amount": -100,
      "total_taxes": 266,
      "modifier_percentage": 0,
      "total_amount_line": 1666,
      "taxes": [
        {
          "tax_type_id": "362",
          "tax_percentage": 16,
          "tax_amount": 224
        },
        {
          "tax_type_id": "368",
          "tax_percentage": 3,
          "tax_amount": 42
        }
      ],
      "additional": {
        "mx_detail": {
          "product_service_identifier": "01010101",
          "measure_unit_code": "E48"
        }
      }
    }
  ],
  "totals": {
    "net_amount": 1400,
    "taxes_amount": 266,
    "total_amount": 1666
  }
}

Estado de respuesta en el resultado de la API REST

status descripción
0 El borrador fue creado exitosamente, firmado y enviado al SAT exitosamente.
1 Existen errores en los datos de entrada, por lo que el borrador no fue generado ni enviado al SAT. Los detalles del error estarán en error_message.
2 El borrador fue creado exitosamente; sin embargo, hay otros problemas (por ejemplo, falta de folios) que impidieron su envío al SAT. Los detalles del error estarán en error_message.
{
   "document_id": 377,
   "header":    {
      "account_id": 14540,
      "document_type_id": 82,
      "document_type_taxbureau": "01",
      "document_number": 1040447,
      "received_issued_flag": 1,
      "taxbureau_validation_status": null,
      "issue_date": "2025-04-15",
      "issuer_tax_id_code": "860517022-2",
      "issuer_tax_id_type": "MX-RFC",
      "issuer_legal_name": "Demo Mexico",
      "issuer_address": "",
      "issuer_district": "",
      "issuer_city": "",
      "issuer_country_id": 253,
      "issuer_phone": "442020550",
      "issuer_activity": "",
      "receiver_tax_id_code": "1097491385-1",
      "receiver_tax_id_type": "MX-RFC",
      "receiver_legal_name": "ESCUELAa KEMPER URGATE",
      "receiver_address": "",
      "receiver_district": "",
      "receiver_city": "",
      "receiver_country_id": 66,
      "receiver_phone": "<string>",
      "receiver_activity": "<string>",
      "document_status": 1,
      "payment_conditions": "0",
      "currency_id": 28
   },
   "details": [
    {
          "quantity": "1.000000",
          "line_description": "Prueba Koywe",
          "long_description": "Esta es una linea de prueba",
          "unit_measure": "70",
          "unit_price": "3660.000000",
          "vat_status": "0",
          "additional": {
            "mx_detail": {
              "product_service_identifier": "01010101",
              "measure_unit_code": "E48"
            }
          }
       }
    ],
   "references": null,
   "global_modifiers": null,
   "totals":    {
      "net_amount": 3660,
      "taxes_amount": 695.4,
      "total_amount": "4355.40"
   },
   "electronic_document":    {
      "document_xml": "PD94bWwgdmVyc2lvbj0iMS4wIiB...",
      "document_pdf": "JVBERi0xLjMKMyAwIG9iago8PC9..."
   },
   "payment_link": null,
   "result":    {
      "status": 0,
      "error_message": ""
   },
   "_links": {"self": {"href": "https://api-billing.koywe.com/V1/documents"}}
}

Referencia de API POST /documents

Documentación detallada del endpoint