Skip to content

Comando emitir

Genera un nuevo comprobante de pago electrónico, ya sea factura, boleta, o sus notas correspondientes.

Parámetros generales

codigo_establecimiento

Opcional. Numérico. Código del establecimiento asignado por la SUNAT del establecimiento donde se está realizando la venta de bienes.

Si la venta se realiza en el domicilio fiscal, o si no puede determinarse el lugar de la venta, consignar "0".

Si se omite, se usará el código "0".

tipo

Requerido. 1 carácter. Define el tipo de comprobante a generar:

  • f: Factura
  • b: Boleta de venta
  • c: Nota de crédito
  • d: Nota de débito

tipo_operacion

Opcional. Numérico. Para facturas y boletas, código de la operación que realiza esta venta. Los valores pueden ser:

  • 101: Venta interna
  • 102: Exportación
  • 103: No domicilados
  • 104: Venta interna – anticipos
  • 105: Venta itinerante
  • 106: Factura guía
  • 107: Venta arroz pilado
  • 108: Factura comprobante de percepción
  • 110: Factura - guía remitente

Si se omite, se usará el código 101 (Venta interna)

serie

Requerido. 4 caracteres. Serie del documento. Debe empezar con F para facturas y sus notas, y con B para las boletas de venta y sus notas.

correlativo

Requerido. Numérico, hasta 8 dígitos. Número correlativo del documento. Los ceros a la izquierda serán removidos.

tipo_doc

Requerido. Un carácter. Tipo de documento del receptor del comprobante:

  • r: RUC
  • d: DNI
  • x: Carné de extranjería
  • p: Pasaporte
  • c: Cédula diplomática
  • n: No domiciliado sin RUC
  • -: No especificado, sólo usado en boletas que no requieran documento de identidad.

numero_doc

Requerido. Hasta 14 caracteres. Número del documento de identidad del receptor del comprobante. Para boletas que no requieran, se puede consignar un guión ("-").

razon_social

Requerido. Hasta 100 caracteres. Nombre completo o razón social del receptor del comprobante. Para boletas que no requieran, se puede consignar tres guiones ("---").

direccion

Opcional. Hasta 100 caracteres. Dirección fiscal del receptor del comprobante. Para boletas que no requieran, se puede consignar un guión ("-").

fecha

Requerido. Fecha de emisión del comprobante, en formato YYYY-MM-DD. Es recomendable no usar una fecha en el pasado. A pesar que la Resolución de Superintendencia 000003-2023/SUNAT da un plazo de 3 días siguientes a esta fecha para enviar el comprobante, pueden suceder eventos que retrasen este envío incluso por más de un día (e.g. los servidores de la SUNAT no responden).

hora

Opcional. Hora de emisión del comprobante. Debe consignarse en formato 24 horas, y puede omitirse los segundos (en tal caso, se usará 0 segundos). Se aceptan 3 formatos:

  • HH:MM - Sin segundos
  • HH:MM:SS - Con segundos
  • HH:MM:SS.SSSS - Con segundos y microsegundos

De omitirse, se usará la hora cuando el comprobante es recibido por la API.

fecha_vencimiento

Opcional. Fecha de vencimiento del comprobante, en formato YYYY-MM-DD.

orden_compra

Opcional, cadena de hasta 20 caracteres. Número de la orden de compra relacionada a este comprobante.

moneda

Requerido. 3 caracteres. Denominación ISO4217 de la moneda del comprobante. E.g. 'PEN' para Soles Peruanos, o 'USD' para Dólar Estadounidense.

observaciones

Texto libre que será añadido en la representación impresa. Para separar líneas, debes usar el carácter pleca (“|")

tasa_igv

Opcional, entero. Tasa (porcentaje) del IGV que será consignado a todos los ítems de este comprobante. Si se omite, se usará el valor legal vigente (actualmente 18). Cada ítem puede cambiar su tasa del IGV individualmente usando el parámetro tasa_igv de la colección ítem.

leyenda

Opcional, colección. Para facturas o boletas, mensajes que deben formar parte del comprobante de pago, acorde con lo regulado por el Reglamento de comprobantes de pago u otras disposiciones, que buscan diferenciar operaciones y/o agregar información complementaria al documento.

También puedes usar el nombre leyendas para esta colección.

Mira la documentación de la colección de leyendas.

Descuento global

porcentaje_descuento_global

Opcional, entero. Porcentaje de descuento que será aplicado a los totales de la venta. Este parámetro tiene precedencia sobre los parámetros descuento_global y base_descuento_global, que serán sobrescritos con los valores calculados.

Para tener un control exacto de los totales con un descuento global, es mejor usar los otros dos parámetros.

descuento_global

Opcional, numérico. Descuento global que ha sido aplicado al total del comprobante. Este descuento es distinto al que pueda ser aplicado a cada ítem del mismo.

Los valores de total_gravado, total_inafecto, total_exonerado y total_igv ya deben reflejar este descuento global aplicado.

Notas de crédito o débito

Estos valores son requeridos solo cuando el valor de tipo es c o d.

tipo_nota

Requerido. Numérico. Motivo por el cual se está creando la nota:

Para notas de crédito:

  • 1: Anulación de la operación

  • 2: Anulación por error en el RUC

  • 3: Corrección por error en la descripción

  • 4: Descuento global

  • 5: Descuento por item

  • 6: Devolución total

  • 7: Devolución parcial

  • 8: Bonificación

  • 9: Disminución en el valor

  • 10: Otros conceptos

  • 11: Ajustes de operaciones de exportación

  • 12: Ajustes afectos al IVAP

  • 13: Corrección del monto neto pendiente de pago y/o la(s) fechas(s) de vencimiento del pago único o de las cuotas y/o los montos correspondientes a cada cuota, de ser el caso.

Para notas de débito:

  • 1: Intereses por mora
  • 2: Aumento de valor
  • 3: Penalidades / otros conceptos
  • 10: Ajustes de operación de exportación
  • 11: Ajustes afectos al IVAP

documento_modificado

Requerido. Máximo 13 caracteres. Serie y número correlativo (incluyendo el guión) de la factura o boleta afectada por la nota.

motivo_emision

Requerido. Cadena de caracteres. motivo o sustento de emisión de la nota, explicación que debe ser acorde con el tipo de nota emitida.

Forma de pago y cuotas

forma_pago

Opcional, 7 caracteres, sólo para facturas y sus notas. Forma cómo será abonado el total del comprobante. Puede tener dos valores: contado o credito (también se acepta crédito, con tilde).

Si se omite, se usará el valor contado.

monto_pendiente

Opcional, decimal. Para facturas y sus notas con el parámetro tipo_pago con valor credito, monto neto pendiente de pago, el cual será fraccionado en una o más cuotas.

cuota

Opcional, colección, sólo para facturas y sus notas. Información sobre cada cuota de pago del monto_pendiente. También puedes usar el nombre cuotas para este parámetro.

La documentación de cada cuota puedes revisarla en su documentación.

Detracción

porcentaje_detraccion

Opcional, entero. Porcentaje de detracción aplicado al total del comprobante.

monto_detraccion

Obligatorio si porcentaje_detraccion tiene un valor mayor a cero. Decimal. Monto total de la detracción.

codigo_detraccion

Obligatorio si porcentaje_detraccion tiene un valor mayor a cero. Entero. Código del bien o servicio afectado por la detracción, como detalla el Catálogo No. 54: Códigos de bienes y servicios sujetos a detracción.

forma_pago_detraccion

Opcional, entero. Código de la forma de pago de la detracción, según indica el Catálogo No. 59: Medios de Pago. De omitirse y porcentaje_detracción es mayor a cero, se usará el valor '001' ('Depósito en cuenta').

Totales

Si se omiten, los totales se calculan desde los ítems.

total_gravado

Opcional, numérico. Suma de los valores de los items gravados con el IGV. Incluye descuentos globales.

total_inafecto

Opcional, numérico. Suma de los valores de los items inafectos del IGV. Incluye descuentos globales.

total_exonerado

Opcional, numérico. Suma de los valores de los items exonerados del IGV. Incluye descuentos globales.

total_gratuito

Opcional, numérico. Suma de los precios de referencia de items gratuitos.

total_igv

Opcional. numérico. Total de la suma del impuesto general a las ventas de todos los items gravados.

Opciones de pos proceso

recibir_codigo_barras

Opcional, cadena de caracteres. Añade el valor de retorno codigo_barras a la respuesta de la API con una imágen PNG codificada en Base64 del código de barras 2D solicitado.

Al 9 de marzo del 2018, el único valor aceptado para este parámetro es qr. También se puede usar como valor la palabra legal, que devuelve el código de barras legalmente requerido a la fecha.

recibir_valor_firma

Opcional. booleano. Añade el valor de retorno valor_firma a la respuesta de la API. Solía usarse para generar el código de barras, pero ahora se usa el valor resumen.

recibir_enlaces

Opcional, booleano. Añade los valores de retorno xml, cdr y pdfa la respuesta de la API con los enlaces para descargar el XML, la constancia de recepción y el PDF con la representación impresa, respectivamente.

enviar_correo

Opcional, colección. Envía un correo electrónico con el comprobante a todas las direcciones especificadas en esta propiedad.

Mira la documentación de la colección de destinatarios de correo.

Definición de ítems (líneas) del CPE

item

Requerido. Colección de los ítems que componen este comprobante. También puedes usar el nombre items para esta colección.

La documentación de los ítems puedes revisarla en su documentación.

Variables de retorno

codigo_descarga

Código que será usado para formar la URI de descarga de los documentos. Puedes obtener más información en esta nota.

codigo_documento

Código del comprobante, en formato ruc-tipo-serie-numero. 'Tipo' es el tipo de documento según la SUNAT. E.g.: 01 es factura, 03 es boleta. El valor de esta variable puedes usarla para generar la URI de descarga de los documentos del CPE emitido.

valor_resumen

Cadena obtenida desde el elemento <ds:DigestValue> del XML del comprobante. Usado para generar el código de barras en la representación impresa.

xml

Sólo aparece si el parámetro recibir_enlaces está activa. URL de descarga del XML del CPE.

cdr

Sólo aparece si el parámetro recibir_enlaces está activa. URL de descarga del XML del comprobante de recepción.

pdf

Sólo aparece si el parámetro recibir_enlaces está activa. URL de descarga del PDF con la representación impresa del comprobante.

valor_firma

Sólo aparece si la propieda recibir_valor_firma está activa. Cadena obtenida desde el elemento <ds:SignatureValue> del XML del CPE. Solía ser usado para genera el código de barras en la representación impresa, pero ahora se usa el valor de valor_resumen.

codigo_barras

Sólo aparece si la propieda recibir_codigo_barras fue especificada. Contiene una imágen PNG codificada en Base64 con el código de barras solicitado.

Variables de retorno extra en modo de prueba

Estas variables de retorno son añadidas en modo prueba a la respuesta. No son incluidas en la respuesta en modo producción.

sunat_respuesta

Código de respuesta del servidor de pruebas de la SUNAT al recibir el CPE. Un valor 0 quiere decir que fue recibido sin problemas.

sunat_descripcion

Descripción textual del código de respuesta de la SUNAT.

sunat_observaciones

Colección de observaciones de la SUNAT sobre el CPE recibido, si es que existen.