Comprobantes

Retener a un proveedor del exterior

Cómo emitir la liquidación de compra y el comprobante de retención cuando pagas a un proveedor extranjero, no residente en Ecuador, como Cloudflare o Google.

Un proveedor del exterior (un no residente: un servicio en la nube como Cloudflare, publicidad en Google, una licencia de software, un consultor extranjero) no tiene RUC ni te emite un comprobante del SRI. Para sustentar ese gasto emites dos documentos: la liquidación de compra, que hace las veces de su factura, y, una vez autorizada, su comprobante de retención, con un código de pago a no residentes. En la API, ese pago al exterior es foreign_payment (payment abroad).

1. La liquidación de compra

El proveedor va con identification_type exterior, su identificación tributaria de su país y su nombre. El correo es opcional: sin él, no enviamos el comprobante a nadie.

{
  "supplier": {
    "identification_type": "exterior",
    "identification": "46-0646123",
    "name": "CLOUDFLARE, INC.",
    "address": "101 Townsend St, San Francisco, Estados Unidos"
  },
  "lines": [
    {
      "code": "PRO",
      "description": "Plan Pro, septiembre de 2026",
      "quantity": "1",
      "unit_price": "25.00",
      "taxes": [{ "type": "iva", "rate": "iva_15" }]
    }
  ],
  "payments": [{ "method": "tarjeta_credito" }]
}

Se envía a POST /v1/ec/purchase-settlements. La liquidación da crédito tributario y sustenta el gasto solo cuando retienes todo el IVA y el porcentaje de renta (artículo 13 del Reglamento de comprobantes de venta): por eso le sigue la retención.

2. El comprobante de retención

La retención descansa en la liquidación autorizada (document_type liquidacion_compra, con su número y su clave de acceso) y lleva foreign_payment, que dice adónde va el pago:

{
  "supplier": {
    "identification_type": "exterior",
    "identification": "46-0646123",
    "name": "CLOUDFLARE, INC."
  },
  "supplier_type": "sociedad",
  "support_documents": [
    {
      "document_type": "liquidacion_compra",
      "number": "001-001-000000042",
      "issue_date": "2026-10-01",
      "authorization_number": "0110202603179214673900120010010000000421234567811",
      "tax_support": "01",
      "subtotal": "25.00",
      "total": "28.75",
      "taxes": [
        { "type": "iva", "rate": "iva_15", "base": "25.00", "value": "3.75" }
      ],
      "foreign_payment": {
        "regime": "general",
        "country": "US",
        "double_taxation_treaty": false,
        "subject_to_withholding": true,
        "preferential_regime_payment": false
      },
      "withholdings": [
        { "tax": "renta", "code": "501A", "base": "25.00", "percent": "25" },
        { "tax": "iva", "rate": "iva_100", "base": "3.75" }
      ],
      "payments": [{ "method": "tarjeta_credito" }]
    }
  ]
}

Se envía a POST /v1/ec/withholdings. Con un proveedor extranjero, supplier_type es obligatorio: sociedad o persona_natural.

Campo de foreign_paymentQué dice
countryEl país del pago: el código del SRI (110) o su código ISO de dos letras (US)
regimegeneral, paraiso_fiscal o regimen_fiscal_preferente
double_taxation_treatySi aplicas un convenio para evitar la doble tributación con ese país
subject_to_withholdingSi el pago está sujeto a retención según la norma legal; obligatorio cuando no aplicas un convenio
preferential_regime_paymentSi el pago va a un régimen fiscal preferente o de menor imposición

El país

El XML lleva el código de país del SRI (tabla 25 de la ficha técnica, la tabla 16 del catálogo del ATS). Puedes enviar ese código o el código ISO 3166-1 de dos letras (US, IE, DE), que convertimos al del SRI. GET /v1/ec/catalogs/countries lista los países, con el código ISO en key cuando el nombre del SRI coincide exactamente con el del país. Unos pocos no lo tienen, como los Países Bajos (215) o China (331): envíalos con el código del SRI.

Con regime paraiso_fiscal, el país es uno de los paraísos fiscales de la tabla 17 del ATS; la descripción de cada país en el catálogo lo dice.

El código y el porcentaje de renta

Los pagos a no residentes usan los códigos 500 a 525 del catálogo del ATS, y solo en un documento con foreign_payment: por ejemplo 501 servicios empresariales, 501A servicios técnicos, administrativos o de consultoría, 509 cánones, derechos de autor y licencias. Qué código corresponde depende de lo que compraste; si dudas, consúltalo con tu contador. GET /v1/ec/catalogs/renta_withholdings?q=no residentes los lista.

La mayoría no tiene un porcentaje único, así que indicas percent:

  • 25 % en general, la tarifa de sociedades (resolución NAC-DGERCGC26-00000009, artículo 4);
  • 37 % si quien cobra está en un paraíso fiscal, una jurisdicción de menor imposición o un régimen preferente;
  • la tarifa del convenio de doble tributación, cuando lo aplicas y double_taxation_treaty es true.

El porcentaje debe ser uno de los que el catálogo admite para ese código en la fecha de emisión. Si falta o no está entre ellos, la API responde 422 con los que acepta.

Desde un agente

Con el MCP de Fiscalbase, ec_catalog con la tabla countries da los códigos de país y con renta_withholdings y q «no residentes», los códigos con sus porcentajes. ec_suggest_withholding no sugiere retenciones a un proveedor del exterior: sin RUC, el SRI no tiene qué decir de él.

En esta página