CFDI 4.0

Conceptos con partes

Un producto armado con el detalle de sus componentes.
Parte

Cuándo se usa

  • Vendes un equipo armado y quieres detallar sus piezas.

Lo que hay que cuidar

  • Cada parte con su clave, cantidad e importe; el importe del concepto es el del producto completo.

La petición

El cuerpo completo, como se mandó. Guárdalo como partes.json y mándalo con el lenguaje que uses.

{
  "comprobante": {
    "Exportacion": "01",
    "LugarExpedicion": "94734",
    "MetodoPago": "PUE",
    "TipoDeComprobante": "I",
    "Total": "116.00",
    "Moneda": "MXN",
    "SubTotal": "100.00",
    "FormaPago": "03",
    "Fecha": "2026-10-29T21:19:16",
    "Folio": "PAR1",
    "Serie": "PRUEBA",
    "Emisor": {
      "Rfc": "EKU9003173C9",
      "Nombre": "ESCUELA KEMPER URGATE",
      "RegimenFiscal": "601"
    },
    "Receptor": {
      "Rfc": "EKU9003173C9",
      "Nombre": "ESCUELA KEMPER URGATE",
      "UsoCFDI": "G03",
      "RegimenFiscalReceptor": "601",
      "DomicilioFiscalReceptor": "94734"
    },
    "Conceptos": [
      {
        "ClaveProdServ": "43211500",
        "Cantidad": "1",
        "ClaveUnidad": "H87",
        "Descripcion": "Equipo de cómputo armado",
        "ValorUnitario": "100.00",
        "Importe": "100.000000",
        "ObjetoImp": "02",
        "Impuestos": {
          "Traslados": [
            {
              "Base": "100.000000",
              "Impuesto": "002",
              "TipoFactor": "Tasa",
              "TasaOCuota": "0.160000",
              "Importe": "16.000000"
            }
          ]
        },
        "Parte": [
          {
            "ClaveProdServ": "43201800",
            "Cantidad": "1",
            "Descripcion": "Disco duro",
            "ValorUnitario": "40.00",
            "Importe": "40.00"
          },
          {
            "ClaveProdServ": "43202000",
            "Cantidad": "2",
            "Descripcion": "Memoria",
            "ValorUnitario": "30.00",
            "Importe": "60.00"
          }
        ]
      }
    ],
    "Impuestos": {
      "Traslados": [
        {
          "Base": "100.00",
          "Impuesto": "002",
          "TipoFactor": "Tasa",
          "TasaOCuota": "0.160000",
          "Importe": "16.00"
        }
      ],
      "TotalImpuestosTrasladados": "16.00"
    }
  }
}

Antes de mandarlo

Cambia la Fecha por la de ahora: el SAT acepta hasta 72 horas atrás. Si mandas dos veces el mismo comprobante, la segunda responde 506 con el mismo UUID: es la protección contra timbres dobles.

La respuesta

Respuesta · HTTP 200
{
  "Codigo": "100",
  "Mensaje": "Comprobante timbrado exitosamente",
  "UUID": "0B72D902-F016-4288-938E-440B0E070F75",
  "XMLBase64": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxj…",
  "PDFBase64": null,
  "IdSeguimiento": "0e9bf21771ba31ca712f0988b82f4e27fdf0bae88d0e465034d20095bb21852b"
}

El XML timbrado

Lo que trae XMLBase64, ya decodificado. El sello y el certificado se ven recortados; al copiar va completo.

0B72D902-F016-4288-938E-440B0E070F75.xml
<?xml version='1.0' encoding='UTF-8'?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="4.0" Serie="PRUEBA" Folio="PAR1" Fecha="2026-10-29T21:19:16" Sello="h2k+jYrvEFno/MGXGGkcbbRrncOA…/sLg==" FormaPago="03" NoCertificado="30001000000500003416" Certificado="MIIFsDCCA5igAwIBAgIUMzAwMDEw…TW6BE=" SubTotal="100.00" Moneda="MXN" Total="116.00" TipoDeComprobante="I" Exportacion="01" MetodoPago="PUE" LugarExpedicion="94734" xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd">
  <cfdi:Emisor Rfc="EKU9003173C9" Nombre="ESCUELA KEMPER URGATE" RegimenFiscal="601"/>
  <cfdi:Receptor Rfc="EKU9003173C9" Nombre="ESCUELA KEMPER URGATE" DomicilioFiscalReceptor="94734" RegimenFiscalReceptor="601" UsoCFDI="G03"/>
  <cfdi:Conceptos>
    <cfdi:Concepto ClaveProdServ="43211500" Cantidad="1" ClaveUnidad="H87" Descripcion="Equipo de cómputo armado" ValorUnitario="100.00" Importe="100.000000" ObjetoImp="02">
      <cfdi:Impuestos>
        <cfdi:Traslados>
          <cfdi:Traslado Base="100.000000" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="16.000000"/>
        </cfdi:Traslados>
      </cfdi:Impuestos>
      <cfdi:Parte ClaveProdServ="43201800" Cantidad="1" Descripcion="Disco duro" ValorUnitario="40.00" Importe="40.00"/>
      <cfdi:Parte ClaveProdServ="43202000" Cantidad="2" Descripcion="Memoria" ValorUnitario="30.00" Importe="60.00"/>
    </cfdi:Concepto>
  </cfdi:Conceptos>
  <cfdi:Impuestos TotalImpuestosTrasladados="16.00">
    <cfdi:Traslados>
      <cfdi:Traslado Base="100.00" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="16.00"/>
    </cfdi:Traslados>
  </cfdi:Impuestos>
  <cfdi:Complemento>
    <tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd" Version="1.1" UUID="0B72D902-F016-4288-938E-440B0E070F75" FechaTimbrado="2026-10-29T21:24:17" RfcProvCertif="SPR190613I52" SelloCFD="h2k+jYrvEFno/MGXGGkcbbRrncOA…/sLg==" NoCertificadoSAT="30001000000500003456" SelloSAT="bIDRiwHMy7tdNBSyT++i8O97Gsq1…CWBA=="/>
  </cfdi:Complemento>
</cfdi:Comprobante>

Timbrado en el ambiente de pruebas el 29 de octubre de 2026.