CFDI 4.0

Honorarios con retenciones

ISR e IVA retenidos y un impuesto local trasladado.
RetencionesImpuestos locales

Cuándo se usa

  • Cobras a una persona moral que te retiene ISR e IVA.
  • Un estado te cobra un impuesto local (hospedaje, cedular).

Lo que hay que cuidar

  • Las retenciones van en cada concepto y su suma por impuesto en Impuestos del comprobante.
  • El impuesto local va en ImpuestosLocales; el Total ya lo suma o lo resta.

La petición

El cuerpo completo, como se mandó. Guárdalo como retenciones-e-impuestos-locales.json y mándalo con el lenguaje que uses.

{
  "comprobante": {
    "Exportacion": "01",
    "LugarExpedicion": "94734",
    "MetodoPago": "PUE",
    "TipoDeComprobante": "I",
    "Total": "98.33",
    "Moneda": "MXN",
    "SubTotal": "100.00",
    "FormaPago": "03",
    "Fecha": "2026-10-29T21:19:08",
    "Folio": "1",
    "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": "84111506",
        "Cantidad": "1",
        "ClaveUnidad": "E48",
        "Descripcion": "Servicio de prueba",
        "ValorUnitario": "100.00",
        "Importe": "100.000000",
        "ObjetoImp": "02",
        "Impuestos": {
          "Traslados": [
            {
              "Base": "100.000000",
              "Impuesto": "002",
              "TipoFactor": "Tasa",
              "TasaOCuota": "0.160000",
              "Importe": "16.000000"
            }
          ],
          "Retenciones": [
            {
              "Base": "100.000000",
              "Impuesto": "001",
              "TipoFactor": "Tasa",
              "TasaOCuota": "0.100000",
              "Importe": "10.000000"
            },
            {
              "Base": "100.000000",
              "Impuesto": "002",
              "TipoFactor": "Tasa",
              "TasaOCuota": "0.106667",
              "Importe": "10.666700"
            }
          ]
        }
      }
    ],
    "Impuestos": {
      "Traslados": [
        {
          "Base": "100.00",
          "Impuesto": "002",
          "TipoFactor": "Tasa",
          "TasaOCuota": "0.160000",
          "Importe": "16.00"
        }
      ],
      "TotalImpuestosTrasladados": "16.00",
      "Retenciones": [
        {
          "Impuesto": "001",
          "Importe": "10.00"
        },
        {
          "Impuesto": "002",
          "Importe": "10.67"
        }
      ],
      "TotalImpuestosRetenidos": "20.67"
    },
    "ImpuestosLocales": {
      "version": "1.0",
      "TotaldeRetenciones": "0.00",
      "TotaldeTraslados": "3.00",
      "TrasladosLocales": [
        {
          "ImpLocTraslado": "ISH",
          "ImpLocTrasladado": "ISH",
          "TasadeTraslado": "3.00",
          "Importe": "3.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": "257B6DF2-5DEA-49BB-A80F-95D3DB4BD8C8",
  "XMLBase64": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxj…",
  "PDFBase64": null,
  "IdSeguimiento": "d0db15b7519bf8814935c78c41785a4c38c4f88032a2c05a3ad80a25f730be31"
}

El XML timbrado

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

257B6DF2-5DEA-49BB-A80F-95D3DB4BD8C8.xml
<?xml version='1.0' encoding='UTF-8'?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4" xmlns:implocal="http://www.sat.gob.mx/implocal" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="4.0" Serie="PRUEBA" Folio="1" Fecha="2026-10-29T21:19:08" Sello="bixqR1nwEAE2EZhGC4jJNyg4ix76…tFzg==" FormaPago="03" NoCertificado="30001000000500003416" Certificado="MIIFsDCCA5igAwIBAgIUMzAwMDEw…TW6BE=" SubTotal="100.00" Moneda="MXN" Total="98.33" 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 http://www.sat.gob.mx/implocal http://www.sat.gob.mx/sitio_internet/cfd/implocal/implocal.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="84111506" Cantidad="1" ClaveUnidad="E48" Descripcion="Servicio de prueba" 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:Retenciones>
          <cfdi:Retencion Base="100.000000" Impuesto="001" TipoFactor="Tasa" TasaOCuota="0.100000" Importe="10.000000"/>
          <cfdi:Retencion Base="100.000000" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.106667" Importe="10.666700"/>
        </cfdi:Retenciones>
      </cfdi:Impuestos>
    </cfdi:Concepto>
  </cfdi:Conceptos>
  <cfdi:Impuestos TotalImpuestosRetenidos="20.67" TotalImpuestosTrasladados="16.00">
    <cfdi:Retenciones>
      <cfdi:Retencion Impuesto="001" Importe="10.00"/>
      <cfdi:Retencion Impuesto="002" Importe="10.67"/>
    </cfdi:Retenciones>
    <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="257B6DF2-5DEA-49BB-A80F-95D3DB4BD8C8" FechaTimbrado="2026-10-29T21:24:09" RfcProvCertif="SPR190613I52" SelloCFD="bixqR1nwEAE2EZhGC4jJNyg4ix76…tFzg==" NoCertificadoSAT="30001000000500003456" SelloSAT="F5PYW8BZgGWb+A32Vzld9B2pxm/w…ZnEQ=="/>
    <implocal:ImpuestosLocales version="1.0" TotaldeRetenciones="0.00" TotaldeTraslados="3.00">
      <implocal:TrasladosLocales ImpLocTrasladado="ISH" TasadeTraslado="3.00" Importe="3.00"/>
    </implocal:ImpuestosLocales>
  </cfdi:Complemento>
</cfdi:Comprobante>

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